01. 요구사항 확인
Chapter 02. 현행 시스템 분석
2. 요구사항 ⭐⭐⭐
(1) 요구사항 개요
[1] 요구공학 (Requirements Engineering)의 개요
✅ 요구공학은 사용자 요구가 반영된 시스템 개발을 위해 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동
[2] 요구공학의 목적
- 이해관계자 사이 효과적 의사소통 수단을 제공하고 시스템 개발 요구사항에 대한 공통된 이해를 설정
- 요구사항 누락 방지 및 이해 오류로 인한 불필요 비용 절감 및 요구사항 변경 추적
- 초기 요구사항 관리로 개발 비용과 시간 절약, 효과적 의사소통 수단 제공
[3] 요구사항의 분류 - 2021년 1회
- 요구사항 파악의 기본은 시스템 요구사항에 대한 파악
- 요구사항은 기능적 요구사항과 비기능적 요구사항으로 분류
- 기능적 요구사항
✅ 시스템이 제공하는 기능, 서비스에 대한 요구사항
- 특정 입력에 대해 시스템이 어떻게 반응해야 하는지 기술
- 특정 상황에 대해 시스템이 어떻게 동작해야 하는지 기술
▶ 기능성, 완전성, 일관성
ex.
- 온라인 홈페이지에서는 쇼핑카트에 주문하고자 하는 품목을 저장할 수 있는 장바구니 기능을 제공해야 함
- 상품 결제수단은 신용카드, 무통장 입금, 포인트 결제가 가능해야 함
- 비기능적 요구사항
✅ 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항
- 품질 속성과 관련하여 시스템이 갖춰야 할 사항에 관한 기술
- 시스템이 준수해야 할 제한 조건에 관한 기술
▶ 신뢰성, 사용성, 효율성, 유지보수성, 이식성, 보안성 및 품질 관련 요구사항, 제약사항
ex.
- 특정 함수 호출시간은 3초를 넘지 않아야 함
- 시스템은 하루 24시간 가동되어야 하며 가동률 99.5%를 만족해야 함
- 시스템은 운영되는 중에 패치 및 업그레이드를 할 수 있어야 함
※ 기능적 요구사항과 비기능적 요구사항은 사례 위주 학습 필요
특성은 암기할 것 !!
(2) 요구공학 프로세스
- 요구공학 프로세스는 요구사항 개발 단계와 요구사항 관리 단계로 구성
[1] 요구사항 개발 단계 구성 (CMM Level 3 프로세스 영역)
① 도출 (Elicitation)
- 요구사항 소스
- 도출 기법
② 분석 (Analysis)
- 요구사항 분류
- 개념 모델링
- 기술 구조 설계 및 요구사항 할당
- 요구사항 협상
③ 명세 (Specification)
- 시스템 정의서
- 시스템 요구사항 명세서
- 소프트웨어 요구사항 명세서
④ 확인 (Validation)
- 검토
- 프로토타이핑
- 모델 검증
- 인수 테스트
📌 요구사항 개발 프로세스
※ 도분명확 : 요구사항 도출 / 요구사항 분석 / 요구사항 명세 / 요구사항 확인 및 검증
→ 도둑의 분노는 명확해졌다.
1. 요구사항 도출 단계
- 소프트웨어가 해결해야 할 문제 이해
- 고객으로부터 제시되는 추상적 요구에 대한 관련 정보 식별 및 요구사항 수집 방법 결정
- 수집된 요구사항 구체적으로 표현
➕ 요구사항 도출 단계 주요 기법
⑴ 인터뷰 (Interview)
- 이해관계자와 직접 대화로 필요 정보를 얻는 공식적, 비공식적 정보 수집 방법
⑵ 브레인스토밍 (Brainstorming)
- 말을 꺼내기 쉬운 분위기로 만들어 회의 참석자들이 내놓은 아이디어들을 비판 없이 수용할 수 있도록 하는 회의
⑶ 델파이 기법 (Delphi Method)
- 전문가의 경험적 지식을 통한 문제 해결 및 미래예측을 위한 방법
⑷ 롤 플레잉 (Role Playing)
- 현실에 일어나는 장면 설정하고 여러 사람이 각자 맡은 역을 연기함으로써 요구사항 분석하고 수집하는 방법
⑸ 워크숍 (Workshop)
- 단기간의 집중적 노력을 통해 다양하고 전문적인 정보를 획득하고 공유하는 방법
- 프로젝트에 참여하는 모든 핵심 인물의 참여가 필요
- 참석자들은 해당 전문 영역별로 팀 협력이 필요하며 사전 준비가 요구
⑹ 설문 조사 (Survey)
- 설문지 또는 여론조사 등을 이용 간접적으로 정보를 수집하는 방법
- 개발될 시스템 사용자가 다수일 때 의견 수렴에 용이
2. 요구사항 분석 단계
- 추출된 요구사항에 대해 충돌, 중복, 누락 등의 분석을 통해 완전성과 일관성을 확보하는 단계
➕ 요구사항 분석 단계 기법
⑴ 데이터 흐름도 (DFD; Data Flow Diagram)
- 데이터가 각 프로세스 따라 흐르면서 변환되는 모습을 나타낸 그림
- 시스템 분석과 설계에서 매우 유용하게 사용되는 다이어그램
⑵ 자료 사전 (DD; Data Dictionary)
- 자료 요소, 자료 요소 집합, 자료 흐름, 자료 저장소의 의미와 그들 간 관계, 관계 값, 범위, 단위들을 구체적으로 명시하는 사전
⑶ UML (Unified Modeling Language)
- 객체 지향 소프트웨어 개발 과정에서 산출물 명세화, 시각화, 문서화할 시 사용되는 모델링 기술과 방법론을 통합해 만든 표준화된 범용 모델링 언어
3. 요구사항 명세 단계
- 체계적으로 검토, 평가, 승인될 수 있는 문서 작성하는 단계
- 요구사항 명세 단계는 산출물로 요구사항 명세서가 있음
🔎 요구사항 명세서 (Requirement Specification ; 요구사항 정의서)
- 소프트웨어 개발 프로세스의 시작인 소프트웨어 요구사항을 분석하고 정의하는 단계에서 작성되는 최종 산출물
➕ 요구사항 명세 단계 주요 기법
⑴ 비정형 명세 기법
- 사용자 요구 표현에 자연어를 기반으로 서술하는 기법
- 사용자와 개발자 이해 용이
- 명확성 및 검증에 문제
⑵ 정형 명세 기법
- 사용자 요구 표현을 수학적 원리와 표기법으로 서술하는 기법
- 정형 명세 언어인 Z-스키마, Petri Nets, 상태차트 활용
- 표현이 간결, 명확성 및 검증 용이
- 기법 이해가 어려움
4. 요구사항 확인 및 검증 단계
- 요구사항 확인 및 검증은 요구사항 명세서에 사용자 요구가 올바르게 기술되었는지 검토, 베이스라인을 설정하는 활동
- 프로젝트 참여자들이 요구사항 이해했는지 확인(Validation)
- 요구사항 문서가 회사 표준에 적합한지, 일관성 만족하는지, 완전한지 검증(Verfication)
➕ 요구사항 확인 및 검증 단계 주요 기법
⑴ 동료 검토 (Peer Review)
- 2~3명이 진행하는 리뷰
- 요구사항 명세서 작성자가 요구사항 명세서 설명 > 이해관계자들이 설명 들으며 결함 발견하는 형태로 진행
⑵ 워크 스루 (Walk Through)
- 오류 조기 검출에 목적이 있는 검토 방법
- 검토 자료를 회의 전 배포하여 사전 검토 후, 짧은 시간 동안 회의 진행하는 형태
- 리뷰를 통해 오류를 검출하고 문서화하는 비공식적 검토 방법
⑶ 인스펙션 (Inspection)
- 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외 다른 전문가 또는 팀이 검사하여 오류 찾는 공식적 검토 방법
- 인스펙션 절차는 계획 > 사전 교육 > 준비 > 인스펙션 회의 > 수정 > 후속 조치 순서로 진행
※ 요구사항 개발 프로세스 - 요구사항 확인 및 검증
확인(Validation) : 프로젝트 참여자들이 요구사항을 이해했는지 확인
검증(Verification) : 요구사항 문서가 회사 표준에 적합하고 일관성 있고, 완전한지 검증
반면, 요구사항 관리 프로세스에서의 요구사항 확인 및 검증은 요구사항 개발 이후,
프로그램 설계, 개발, 테스트 단계를 거치는 동안 요구사항이 기대에 부합하는지 확인하는 단계
[2] 요구사항 관리 단계 (CMM Level 2 프로세스 영역)
✅ 프로젝트 진행 과정에서 요구사항 변경에 대해 일치성과 무결성을 제공하기 위해 변경 제어와 추적 등 일련의 관리를 수행하는 활동
▶ 주요 산출물로는 요구사항 변경요청서, 요구사항 변경승인서, 요구사항 추적표가 있다.
- 요구사항 관리 단계 절차
1. 요구사항 협상
- 가용 자원과 수용 가능 위험 수준에서 구현 가능한 기능을 협상하기 위한 기법
▶ 기법/산출물 : 우선 순위 설정, 시뮬레이션
2. 요구사항 기준선 설정
- 공식적으로 검토하고 합의된 요구사항 명세서를 통해 기준선을 설정하기 위한 방법
▶ 기법/산출물 : 공식 회의, 형상 관리
3. 요구사항 변경 관리
- 요구사항 기준선을 기반으로 모든 변경을 공식적으로 통제하기 위한 기법
▶ 기법/산출물 : 형상통제 위원회, 영향도 분석
4. 요구사항 확인 및 검증
- 구축된 시스템이 이해관계자가 기대한 요구사항에 부합하는지 확인하기 위한 방법
▶ 기법/산출물 : 확인 및 검증
🔎 형상 관리
- 소프트웨어 생명주기 동안 발생하는 변경 사항을 체계적으로 관리하여 소프트웨어 품질보증을 향상시키는 관리적 활동
🔎 형상통제위원회 (CCB; Configuration Control Board)
- 형상 관리에 대한 주요 방침을 정하고 산출물을 검토하며, 단계별 의사결정을 수행하는 조직
'WorkOut > 정보처리기사' 카테고리의 다른 글
요구사항 확인 | 현행 시스템 분석 (0) | 2024.04.22 |
---|---|
요구사항 확인 | 소프트웨어 개발 방법론 _ 프로젝트 관리 (0) | 2024.04.19 |
요구사항 확인 | 소프트웨어 개발 방법론 (1) | 2024.04.19 |
서버 프로그램 구현 | 배치 프로그램 (0) | 2024.04.18 |
서버 프로그램 구현 | 모듈 구현 및 테스트 (0) | 2024.04.18 |