소프트웨어 생명 주기
- 소프트웨어를 개발하기 위한 과정
- 소프트웨어 생명 주기 모형 : 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형
- 폭포수 모형
-> 폭포처럼 이전으로 돌아갈 수 없음을 의미하며 각 단계를 확실히 끝내고 다음 단계를 진행하는 모형
-> 가장 오래되고 폭넓게 사용된 소프트웨어 생명 주기 모형
- 프로토타입 모형
-> 실제 개발될 소프트웨어를 시제품(프로토타입)을 만들어 최종 결과물을 예측하는 모형
- 나선형 모형
-> 나선을 돌듯이 여러번의 과정을 돌며 개발을 완료해가는 모형
-> 폭포수 모형과 프로토타입 모형의 장점을 합침
- 애자힐 모형
-> 요구사항에 유연하게 대처가능한 모형으로 일정 주기를 반복하면서 개발하는 모형
-> 애자힐 모형 : 스크럼, XP, 칸반, Lean 등
- 소프트웨어 공학 : 여러 방법론과 모형을 통해 소프트웨어의 품질과 생산성 향상을 위해 연구된 학문
스크럼
- 팀이 중심이 되어 개발의 효율성을 높이는 기법
- 팀 구성
-> 제품 책임자 : 요구사항이 담긴 백로그를 작성하고 전체적으로 제품에 대해 이해도가 높고 책임질 수 있거나 결정할 위치에 있는 사람이 담당
-> 스크럼 마스터 : 팀이 잘 수행될 수 있게 가이드 역할을 담당
-> 개발팀 : 제품 책임자와 스크럼 마스터를 제외한 모든 팀원
- 개발 프로세스 : 스프린트 계획 회의 -> 스프린트 -> 일일 스크럼 회의 -> 스프린트 검토 회의 -> 스프린트 회고
- 제품 백로그 : 제품 개발에 필요한 모든요구사항을 우선 순위에 따라 나열한 목록
XP(eXtreme Programming)
- 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법론
- XP의 핵심 가치 : 의사소통, 단순성, 용기, 존중, 피드백
- 개발 프로세스
- XP의 주요 실천 방법 : 짝 프로그래밍, 공동 코드 소유, 테스트 주도 개발, 전체 팀, 계속적인 통합, 리팩토링, 소규모 릴리즈
개발 기술 환경 파악
- 개발하고자하는 환경, 운영체제 등을 선정할 때 고려해야 할 사항
- 운영체제
-> 컴퓨터 시스템의 자원을 관리하고 편리하고 효율적으로 사용할 수 있게 도와주는 소프트웨어
- DBMS
-> 데이터베이스 관리 시스템
-> 사용자와 데이터베이스 사이에서 사용자의 요구를 들어주고 데이터베이스를 관리하는 소프트웨어
- WAS
-> 웹 애플리케이션 서버
-> 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어로써 주로 데이터베이스 서버와 연동해 사용
-> 데이터 접근, 세션 및 트랜잭션 관리를 라이브러리 형태로 제공
- 오픈소스
-> 누구나 제한없이 사용할 수 있도록 공개되어 있는 소스코드 및 소프트웨어
-> 오픈소스 사용 시 라이선스를 고려해야 함
요구사항 정의
- 요구사항 : 소프트웨어가 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 운영에 필요한 조건
- 개발 과정에서 필요한 기준과 근거를 제시
- 요구사항의 유형
-> 기능 요구사항 : 기능이나 수행에 관련된 요구사항
-> 비기능 요구사항 : 품질이나 제약사항과 관련된 요구사항
-> 사용자 요구사항 : 사용자 관점에서 시스템이 제공해야 할 요구사항
-> 시스템 요구사항 : 개발자 관점에서 시스템이 제공해야 할 요구사항
요구사항 개발 프로세스
- 개발 대상에 대한 요구사항을 위한 일련의 과정
- 타당성 조사 -> 도출 -> 분석 -> 명세 -> 확인
- 요구사항 도출
-> 시스템 개발에 필요한 요구사항을 어떻게 할지 등에 대해 얘기하고 관계가 이루어지는 단계
-> 요구사항을 도출하기 위해서 아래의 기법을 사용
* 인터뷰, 설문, 워크샵
* 브레인 스토밍 : 3인 이상이 자유롭게 의견을 나누는 방법
* 프로토타이핑 : 설명을 위해 단순하게 순서나 형태를 그려 설명
* 유스케이스 : 사용자의 요구사항을 기능 단위로 표현
- 요구사항 분석
-> 도출한 요구사항 중에 모호하거나 이해되지 않는 부분을 수정, 삭제하는 과정
- 요구사항 명세
-> 분석된 요구사항으로 모델을 작성하고 문서를 작성
- 요구사항 확인(검증)
-> 명세된 요구사항이 제대로 작성되었는지를 검토
-> 이해관계자들이 실제 개발을 요구사항에 할당하기 전에 시작
요구사항 분석
- 개발하고자 하는 대상에 필요한 사용자의 요구사항을 이해하고 문서화하는 활동
- 위 과정을 위해 구조적 분석 기법을 사용
- 구조적 분석 기법 : 자료의 흐름과 처리를 중심으로 요구사항을 분석
- 구조적 분석 기법을 위해 아래 도구를 사용
-> 자료 흐름도 : 자료의 흐름 및 과정을 도형으로 기술하는 방법, 버블 차트라고도 함
-> 자료 사전 : 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록. 데이터의 데이터, 메타 데이터라고 불림
-> 소단위 명세서, 개체 관계도, 상태 전이도 등
요구사항 분석 CASE, HIPO
- 요구사항 분석 CASE : 요구사항을 자동으로 분석하고 분석 명세서를 기술하도록 개발된 도구
- 분석 CASE의 종류
-> SADT : SoftTech 사에서 개발한 구조적 요구 분석을 위해 블록 다이어그램을 채택한 자동화 도구
-> SREM = RSL/REVS : TRW 사에서 개발한 개발한 자동화 도구
-> PSL/PSA : 미시간 대학에서 개발
-> TAGS : 시스템 공학 방법 응용에 대한 자동접근 방법
- HIPO
-> 시스템의 입력, 처리, 출력의 기능을 표현한 것
-> 기호, 도표를 사용하여 하향식 소프트웨어 개발을 문서화하는 도구
-> HIPO Chart의 종류 : 가시적 도표, 총체적 도표, 세부적 도표
실기 정리
'2020(개정) 이후 정보처리기사 > 1장 : 요구사항 확인' 카테고리의 다른 글
2021 정보처리기사 실기 - 1. 요구사항 확인(3) (0) | 2021.09.25 |
---|---|
2021 정보처리기사 실기 - 1. 요구사항 확인(2) (0) | 2021.09.24 |