본문 바로가기

전체 글96

소프트웨어 공학 - V 모델, 진화적 프로세스 모델(Prototype Model) 저번에 이어 소프트웨어 개발 프로세스들에 대해 알아볼 것이다. 이번에는 V 모델과 진화적 프로세스 모델에 대해 알아보겠다. V 모델 폭포수 모델의 변형버전이다. 폭포수 모델에 테스트 단계를 추가 확장시켰다. 각 개발 단계를 검증하는데 초점을 맞추었다. (폭포수 모델은 결과 중심) 그림을 보면 왜 이름이 V 모델인지 알 수 있다. V 모델을 폭포수 모델에 테스트 단계를 추가한 것이니, 테스트 단계만 살펴보자. 만약 폭포수 모델이 뭔지 모른다면, 전 글을 보고 오자. 1) 단위 테스트 우선 단위 테스트(unit test)에는 모듈 검증을 하는데 이 모듈이 뭔지부터 알아보자. 모듈이란 함수, 서브 시스템을 구현하는데 필요한 기능들을 말한다. 그리고 이 테스트의 목표는 이 모듈을 개별적으로 다 검증하는 것이다... 2022. 4. 8.
소프트웨어 공학 - 주먹구구식 모델, 폭포수(선형 순차적) 모델 이번에 알아볼 것은 소프트웨어 개발 프로세스 모델들인데 그중에서도 맨 처음 배운 2가지를 가지고 와봤다. 바로 본론으로 들어가자. 먼저 소프트웨어 개발 프로세스에 대해 알아보자. 소프트웨어 개발 프로세스 소프트웨어 개발 프로세스는 Software Development Life cycle 줄여서 SDLC라고도 불린다. 1) 프로세스 : 여기서 프로세스는 일을 처리하는 과정 또는 순서이다. 프로세스의 목적으로는 주어진 일 해결이 있고, 순서가 정해져 수행되는 일련의 절차이기도 하다. 2) 소프트웨어 개발 프로세스 : 소프트웨어 개발 프로세스의 좁은 의미는 사용자의 요구사항을 SW 시스템으로 구현하기 위한 일련의 활동이다. 넓은 의미로는 절차나 과정 + 도구, 장비 + 참여자 즉, 소프트웨어 개발 목적을 이루.. 2022. 4. 7.
[JAVA] 자바 세번째 수업 웹 수업과 마찬가지로 코로나로 인해 1주일 동안 빠졌기 때문에 자바도 한 수업이 밀렸다. 이번에 배울 것은 접근제어자와 연산자이다. 접근제어자 먼저 자바에는 접근제어자가 4가지가 있다. public private protected default 이 접근제어자들은 각각 다른 성질을 가지고 있다. 일단 이 친구들을 같은 클래스 내에서는 모두 사용이 가능하다. 이게 뭔 소리냐, 위 사진같이 아무 접근제어자나 붙여도 하나의 class안에서는 다 접근이 가능하다는 소리이다. 그리고 클래스를 나눌 건데 이때 다른 패키지에 class가 있다면 import를 해줘야 한다. import는 파일이 어느 위치에 있는지를 알려주는 것이다. 이런 식으로 클래스 간의 패키지가 다르다면 import를 해주지 않으면 AccessMo.. 2022. 4. 6.
[웹프로그래밍] 웹프로그래밍 - 4번째 수업 일단 들어가기 전에 3번째 수업이 없는 이유가 궁금할 텐데 코로나에 걸려서 학교를 1주일 동안 쉬어서 3번째 수업이 사라졌다. 소스 코드는 따로 맨 밑에 있다. 오늘은(2022-04-05) 메뉴바 같은걸 만들어 본다. 대충 이런 거 전에 사용한 코드를 사용한다는데 물론 난 없으니까 옆에 친구에게 받았다. 일단 index.jsp와 nav.jsp를 만들어 준다. 그리고 include를 통해 index가 nav를 포함하게 만들어 준다. @빠지면 에러 난다. (나는 이거 빼먹어서 10분 날림) 그다음 nav에 코드를 저번에 사용한(난 없는) 코드를 붙여 넣는다. 그리고 index에도 붙여 넣어 준다. 이렇게 작성하면 이런 메뉴바가 만들어진다. 이제 insert와 select와 update와 delete를 jsp.. 2022. 4. 5.
[안드로이드/Kotlin] MVVM응용 - 번호 뽑기 만들기 내가 MVVM을 연습하면서 번호 뽑기 앱을 만들어 보았다. 이걸 만들고 나니 MVVM을 생각보다 쉽게 사용하게 된 것 같다. 일단 먼저 폴더를 나누어 주었다. 그다음 gradle을 정의해 주었다. 이건 저번에 사용한 라이브 데이터와 데이터 바인딩과 같다. android { ... dataBinding { enabled = true } } dependencies { ... def lifecycle_version = "2.2.0" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1" implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.4.1" implementation "androidx.a.. 2022. 3. 18.