1. 요구사항의 개념 및 특징
- 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건
- 개발 및 유지보수 과정에서 필요한 기준과 근거 제공
- 서비스에 전반적인 내용을 확인할 수 있어, 개발자와 사용자 들 간의 의사소통을 원활
2. 요구사항의 유형
- 기술내용
- 기능 요구사항 (Functional requirements)
- 비기능 요구사항 (Non-functional requirements)
- 기술관점과 대상
- 시스템 요구사항 (System requirements)
- 사용자 요구사항 (User requirements)
1) 기능 요구사항 (Functional requirements)
- 시스템이 무엇을 하는지, 어떤 기능을 하는지
- 시스템의 입·출력 정보 / 데이터 정보
2) 비기능 요구사항 (Non-functional requirements)
- 시스템 장비 구성 요구사항
- 성능 요구사항
- 인터페이스 요구사항
- 데이터 요구사항
- 테스트 요구사항
- 보안 요구사항
- 품질 요구사항
- 제약사항
- 프로젝트 관리 요구사항
- 프로젝트 지원 요구사항
3) 사용자 요구사항 (User requirements)
- 사용자 관점에서 본 시스템이 제공해야할 요구사항
- 친숙한 표현으로 이해하기 쉽게 작성
4) 시스템 요구사항 (System requirements) = 소프트웨어 요구사항
- 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항
- 전문적이고 기술적인 용어로 표현
3. ⭐ 요구사항 개발 프로세스
> 도출(Elicitation) → 분석(Analysis) → 명세(Specification) → 확인(Validation)
1) 요구사항 도출 (Requirement Elicitation, 요구사항 수집) = 청취, 인터뷰 등 질문
- 효율적인 의사소통 중요
- 소프트웨어 개발 생명 주기 동안 지속적으로 반복
- 청취, 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스 등
2) 요구사항 분석 (Requirement Analysis) - 분석 및 중재
- 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 걸러내기 위한 과정
- 타당성을 조사하고 비용과 일정에 대한 제약 설정
- 중복되거나 하나로 통합되어야 하는 등 서로 상충되는 요구사항 중재
- 자료 흐름도(DFD), 자료사전(DD) 등 도구가 사용
3) 요구사항 명세 (Requirement Specification) = 관찰 및 모델 작성
- 분석된 요구사항을 바탕으로 모델을 작성하고 문서화 하는 것
- 기능 요구사항은 빠짐없이 완전하고 명확하게 기술
- 비기능 요구사항은 필요한 것만 명확하게 기술
- 사용자가 이해하기 쉬우며, 개발자가 효과적으로 설계할 수 있도록 작성
- 구체적 명세를 위해 소단위 명세서가 사용될 수 있음
💡 요구사항 명세 기법
구분 | 폭포수 모형 | 애자일 모형 |
기법 | 수학적 원기 기반, 모델 기반 | 상태 / 기능 / 객체 중심 |
작성방법 | 수학적 기호, 정형화된 표기법 | 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성 |
특징 | - 정확하고 간결하게 표현 - 일관성 있으므로 완전성 검증이 가능함 - 표기법이 어려워 사용자가 이해하기 어려움 |
- 자연어 사용으로 일관성이 떨어지고 해석이 달라질 수 있음 - 내용의 이해가 쉬어 의사소통 용이 |
종류 | VDM, Z, Petri-net, CSP 등 | FSM, Decision Table, ER모델링, State Chart(SADT) 등 |
4) 요구사항 확인 (Requirement Validation, 요구사항 검증)
- 요구사항 명세서가 정확하고 완전하게 작성되었는지 검토
- 실제 요구를 반영하는지, 서로 상충되는 요구사항은 없는지 등 점검
- 내용이 이해하기 쉬운지, 일관성 있는지, 회사 기준에 맞는지, 누락된 기능은 없는지 검증
📖 Reference
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
[1과목 소프트웨어 설계] 요구사항 확인 - 008. 요구사항 분석 CASE와 HIPO (0) | 2024.05.07 |
---|---|
[1과목 소프트웨어 설계] 요구사항 확인 - 007. 요구사항 분석 (0) | 2024.05.06 |
[1과목 소프트웨어 설계] 요구사항 확인 - 005. 개발 기술 환경 파악 (1) | 2024.05.06 |
[1과목 소프트웨어 설계] 요구사항 확인 - 004. 현행 시스템 파악 (0) | 2024.05.06 |
[1과목 소프트웨어 설계] 요구사항 확인 - 003. XP (eXtreme Programming) 기법 (0) | 2024.05.06 |