관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

요구사항 확인 1 - Section 1 : 소프트웨어 생명 주기 본문

자격증 공부/정보처리기사 실기

요구사항 확인 1 - Section 1 : 소프트웨어 생명 주기

huenuri 2024. 9. 21. 09:27

어제 저녁부터 정보처리기사 실기시험 공부를 본격적으로 시작했다. 인사교에서는 자격증 한 개를 지원해 주는데 난 정보처리기사를 신청했었다. 그리고 필기와 실기로 나누어진 시험의 경우 필기를 합격했을 때 실기시험도 지원해 준다. 7월 말에 한 달 정도 준비하여 시험을 잘 치렀고 이제 실기 공부를 시작하려고 한다.

사실 공부할 게 많아서 실기는 나중에 딸까도 생각했지만 그렇게 되면 거의 안할 가능성이 많을 것 같아 지금 사람들과 함께 공부할 때 자격증을 따기로 했다.

 

필기를 일주일 공부해서 붙었다, 2주만에 합격했다 라고 말하는 사람들을 난 결코 신뢰하지 않는다. 그게 무슨 자랑인가 싶다. 그냥 벼락치기로 그 학문에 대한 깊이도 없이 달달 외워서 문제를 풀었다는 건데 그렇게 공부를 해서 남는 건 하나도 없고 시험 끝나면 다 잊어버리게 되어 있다.

난 최소한 한 달의 시간을 두고 매일 2~3시간은 공부를 해야 한다고 생각하는 사람이다. 정처기 필기 공부를 할 때는 벨로그 활동을 한참 할 때였는데 그때 매일 공부한 것들을 일지로 쓰며 많은 공부가 되었다. 7월 말부터 티스토리로 옮겨서 사용하니 얼마나 좋은지 모른다.

 

이제 실기시험도 필기 때처럼 정말 열심히 공부하면서 학습일지를 써보려고 한다.


 

 

 

섹션 1 - 소프트웨어 생명 주기

 

1. 소프트웨어 생명 주기란?

 

 

일반적으로 소프트웨어는 요구사항을 분석하여 설계하고 그에 맞게 개발한 후 소프트웨어의 품질이 항상 최상의 상태를 유지할 수 있도록 관리한다. 이러한 과정을 단계로 나눈 것을 소프트웨어 생명 주기라고 한다.

 

★ 시험 출제 예상

  • 소프트웨어 생명 주기가 무엇인지 서술형으로 쓰기
  • 다음의 설명에 맞는 모형 고르기

 

 

2. 소프트웨어 생명 주기의 종류

 

1) 폭포수 모형

 

폭포가 물에서 떨어지면 다시 돌아갈 수 없듯이. 폭포수 모형을 다른 말로 순차, 선형 모델이라고도 한다. 어떤 프로그램을 기획하면 순서대로, 순차적으로 개발해 간다. 중간에 개발 방법을 변경할 수 없다.

폭포수 모형은 한 단계가 완전히 끝나야만 다음 단계로 넘어가는 개발 방법론이다.


 

 

2) 프로토타입 모형

 

폭포수 모형은 이전 단계로 돌아가지 못하기에 많이 불편하다. 사용가 요구 사항을 수정할 것을 요구해도 이를 받아들일 수 없는 모델이다. 이 모델을 개선하여 한번 만들어본 후 프로그램을 개발할 수 있도록 만든 것을 프로토타입이라고 한다. 프로토타입은 떨어졌다가 다시 올라가는 형태와 같다.

아파트를 계약하기 전 모델 하우스를 보고 판단하고 계약하는 것과 비슷하다.

 

이 견본품은 인터페이스에 중점을 두어 개발한다. 이 인터페이스는 다른 것은 모두 무시하고 프로그램에 핵심적인 부분만 구현하여 사용자에게 먼저 보여주는 것이다. 그런 다음 사용자의 요구 사항을 받아들여 최종 결과물을 만들어간다.


 

 

3) 나선형 모형

계획 수립부터 고객 평가까지의 모든 과정을 거치는데, 고객의 요구사항이 추가되면 다시 계획 수립부터 시작한다. 이 과정을 계속해서 반복하면서 유지 보수 과정이 필요 없을 만큼 반복하는 모델이다. 즉, 고객의 마음에 들 때까지 계속하며 완벽한 프로그래밍을 만든다.

 

나선형 모형의 4가지 주요 활동을 순서대로 나열할 수 있어야 한다. 소프트웨어를 개발 할 때는 계획하고 분석한 후, 개발하고 평가한다고 기억해두라.

 

 

 

★ 시험 출제 예상

  • 나선형 모델의 특징을 나열한 후 어떤 모델인지 쓰기
  • 나선형 모델의 4가지 주요 활동에 대해 나열하기

 

 

4) 애자일 모형

 

이러한 개발 모형을 통칭해서 애자일 모형이라고 한다.

★ 애자일 개발 모형인 것과 아닌 것을 잘 구분하기 : 에자일 개발 모형의 종류 암기할 것

 

에자일과 폭포수 모형의 차이점

  • 애자일 모형 :주기마다 생성되는 결과물에 대해 고객의 평가와 요구를 적극 수용
  • 폭포수 모형 : 이전 단계로 돌아갈 수 없다는 것을 전제로 진행

 

★ 시험 출제 예상

  • 에자일 모형의 특징 나열한 후 어떤 모형인지 쓰기
  • 대표적인 개발 모형을 나열한 후 이 중에서 애자일 모형만을 고르기
  • 암기 방법 : 기스 XL칸 - 기스가 나는 것이 속상하면 XL 칸에 주차하라

 

 

이 네 가지 꼭 기억하고 암기하기


 

 

 

3. 소프트웨어 공학

 

 

컴퓨터는 하드웨어와 소프트웨어로 나뉜다. 컴퓨터는 있지만 윈도우가 뜨지 않으면 우리는 컴퓨터를 사용할 수 없다. 즉, 소프트웨어와 하드웨어가 함께 있어야 사용할 수 있는 것이다. 하드웨어에 비해 소프트웨어는 저작권 보호가 되지 않는다. 그러다 보니 소프트웨어를 개발하는 사람이 점차 줄어들어 이 둘의 개발 속도가 맞지 않게 된다.

이렇게 소프트웨어는 빨리 발전하는데 하드웨어는 상대적으로 느리게 발전하여 이 둘의 개발 속도가 맞지 않아 소프트웨어 위기가 발생한다. 

 

★ 소프트웨어 공학이 무엇인지 개념을 잡은 다음 소프트웨어 공학의 기본 원칙 3가지 잘 정리해 두기

 

실기 시험은 필답형이므로 대충 보고 넘어가지 말고, 앞에서부터 순서대로 차근차근 정리하면서 매일 읽어보면서 정리하라. 그러면 어느새 머릿속에 들어오고 암기가 된다.


 

 

학습을 마치고

어제 기출문제도 풀어보았는데 이 내용은 첨부하지 않을 생각이다. 전에 이런 식으로 해보았는데 시간이 정말 많이 걸렸다. 이번에는 최대한 간결하게 학습일지를 작성해 볼 것이다.

오늘은 섹션 8까지 7개의 단원을 학습할 목표를 세웠다. 실기는 총 3권의 책으로 되어 있는데 1, 2권은 개념서이니 11일 동안 한 권을 마치고 남은 일주일 동안은 기출문제를 풀면서 기출 관련 강의도 듣고 시험을 준비할 생각이다. 1권에서도 1단원은 다른 단원에 비해 조금 더 길게 잡았다. 워밍업을 할 시간이 필요할 테니 가볍게 몸을 풀고 공부 머리를 트이는 시기이다. 한번 다시 들으면서 내용을 추가해서 기록했다.