관리 메뉴

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

요구사항 확인 3 - Session 4~6 : 개발 기술 환경 파악 및 요구 사항 정의 본문

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

요구사항 확인 3 - Session 4~6 : 개발 기술 환경 파악 및 요구 사항 정의

huenuri 2024. 9. 23. 08:10

세 번째로 공부할 단원은 개발 기술 환경 파악이다. 강의 영상이 좀 길지만 차근차근 학습해 볼 것이다. 그리고 두 번째로 학습을 하며 다시 듣고 정리하는 중이다


 

 

 

세션 4 - 개발 기술 환경 파악

 

1. 개발 기술 환경 파악의 개요

 

운영체제, 데이터베이스관리 시스템, 웹 애플리케이션 서버, 그리고 오픈소스의 개념과 각각에 대한 요구사항 식별 시 고려사항 기억해 두기

 

미들웨어는 운영체제와 해당 운영체제에 의해 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에 추가적인 서비스를 제공하는 소프트웨어이다.


 

 

2. 운영 체제(OS)

 

운영체제는 윈도우만 있는 것이 아니고 유닉스, 안드로이드, 리눅스, ISO 등 다양하게 있다. 사람이 컴퓨터라는 기계를 좀 더 편리하게 사용할 수 있는 환경을 제공하는 소프트웨어이다.

가용성은 현재 하고 싶은 작업을 진행할 수 있는 여부이다. 기술 지원은 개발에 필요한 매뉴얼을 제공하고, 문제가 있을 때 해결 가능한 루트가 얼마나 풍부한지 여부이다.


 

 

 

3. 데이터베이스 관리 시스템(DBMS)

 

종속성을 예로 들면 다음과 같다. 학번으로 이름을 찾을 수 있지만, 이름만 가지고 학번을 찾을 수 없다. 이 경우 이름은 학번에 종속되다고 말한다.

상호 호완성은 서버와 클라이언트 사이에 서버 호환성이 있는지, 서버 이중화가 가능한지를 판단하는 것이다.


 

 

 

4. 웹 애플리케이션 서버(WAS)

 

클라이언트의 웹 브라우저에서 특정 웹 사이트에 접속하면 웹 서버는 데이터베이스에 접속하여 해당 사이트에 포함된 각종 콘텐츠를 보여준다. 이러한 콘텐츠에는 텍스트나 이미지와 같이 정적인 지료도 있지만, 주식 시세 정보나 날씨 위성 정보와 같이 실시간으로 변하는 동적인 자료도 있다.

실시간으로 변하는 동적인 자료는 웹 서버에서 직접 처리할 수 없으므로 동적인 자료 처리를 웹 애플리케이션 서버에 요청한다. 웹 애플리케이션 서버가 JSP나 서블릿과 같은 프로그램을 구동하여 동적인 자료를 처리한 후 해당 정보를 웹 서버로 보내면, 웹 서버는 이를 클라이언트로 보내는 것이다.


 

 

5. 오픈 소스

 

오픈 소스 요구사항에서 가장 중요한 것은 기술의 지속 가능성 여부이다. 계속해서 업데이트가 되고 있는지 파악해야 한다.

 

★ 기출 유형 분석

  • 개발 유형별 정의 파악하기
  • 관련 요구사항 식별 시 고려사항

 

 

 

 

세션 5 - 요구사항 정의

 

1. 요구사항이란?

요구사항이란 어떠한 문제를 해결하기 위해 필요한 조건이나 제약사항을 요구하는 것이며, 소프트웨어는 사용자의 요구사항을 충족시키기 위해 설계되고 개발된다.

소프트웨어 설계 및 개발 과정 전반에 걸쳐 요구사항을 다루게 되므로 요구사항의 개념 잘 알아두기


 

 

 

2. 기능 요구사항

 

이해 관계자는 소프트웨어 개발자와 사용자를 말한다. 요구사항을 가장 크게 나누면 기능과 비기능으로 나눌 수 있다. 기능 요구사항은 "사용자는 회원 ID와 비밀번호를 입력하여 로그인할 수 있다"와 같이 기능에 관한 요구사항이고, 비기능 요구사항은 "시스템은 1년 365일, 하루 24시간 운용이 가능해야 한다."와 같이 대부분 품질이나 제약사항과 관련이 있다.


 

 

 

3. 비기능 요구사항


 

 

4. 사용자 및 시스템 요구사항

 

★ 기출 유형 분석

  • 기능 요구사항 잘 정리하기

 

 

 

 

세션 6 - 요구사항 개발 프로세스

 

1. 요구사항 개발 프로세스

 

★ 기출 유형 분석

  • 개발 프로세스 순서도 잘 기억하기

요구사항 개발은 도출 → 분석 → 명세 → 확인 과정을 거치는데, 각 단계의 명칭을 보면 해당 단계에서 무엇을 수행하는지 대략적인 윤곽을 잡을 수 있다.

★ 요구사항 개발 순서를 나열할 수 있어야 한다. 요구사항 개발 프로세스는 도, 분, 세, 인을 기억해 두기

 


 

 

 

2. 요구사항 도출

 

브레인스토밍은 3명 이상이 자유롭게 의견을 교환하면서 독창적인 아이디어를 도출해 내는 방법이다. 프로토타이핑은 프로토타입을 통해 효과적으로 요구 분석을 수행하면서 명세서를 산출하는 작업이다. 가장 단순한 형태는 설명을 위해 종이에 다략적인 순서나 형태를 그려 보여주는 것이다.

유스케이스는 사용자의 요구사항을 기능 단위로 표현한 것이다.


 

 

 

3. 요구사항 분석

 

많은 요구사항을 도출했으면 특정 기준에 따라 분류하여 우선순위를 매긴다. 여기서 특정 기준은 기능, 비기능에 따라 분류하는 것이다. 분리된 요구사항을 단순화하고, 이 단순화된 것을 개체들 간에 분석하는 작업을 모델링을 이라고 한다.

요구사항 분석은 타당성을 확보하는 것이다.


 

 

4. 요구사항 명세

 

 

 

5. 요구사항 확인

 

형상 관리는 소프트웨어 개발 단계의 각 과정에서 만들어지는 프로그램, 프로그램을 설명하는 문서, 데이터 등을 통칭하는 것이다. 형상 관리는 소프트웨어의 개발 과정에서 만들어지는 형상들의 변경 사항을 관리하는 일련의 활동을 말한다.

형상 관리는 요구사항 확인 단계에서부터 시작해서 확실하게 해 나간다.


 

 

6. 요구공학

 

요구공학은 요구사항 개발의 한 요소이다.


 

 

 

 

7. 요구사항 명세 기법

 

요구사항 명세 기법은 수학처럼 공식화되어 있는 것이다. 비정형 명세 기법은 특정한 규칙이 없이 작성하는 것이다. 정형은 작성법이 어렵지만 표준화되어 있는 것이고, 비정형은 개개인마다 주관적으로 작성되는 명세 기법이다.

이름이 비슷하므로 잘 구별해야 할 것 같다. 요구사항 도출, 요구사항 분석, 요구사항 명세, 요구사항 확인, 요구공학까지 다들 비슷하지만 조금씩 다르다.

 

★ 기출 유형 분석

  • 정형 명세 기법과 비정형 명세 기법의 특징 잘 구분하기

 

 

 

학습을 마치고

문제도 잘 풀었고 강의도 정말 잘 들었다. 아침에 이제 다른 할 일이 있어서 실기 공부는 이것으로 마친다. 아침 공부 시간에 이어서 하려고 한다. 오늘과 내일은 정처기에만 집중할 생각이다. 가능하면 이틀 동안 1권을 거의 마칠 생각인데 가능하게 만들어볼 것이다.

그리고 내일모레부터는 머신러닝과 딥러닝을 깊이 있게 공부해보려고 한다.