1. 요구사항
소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 운영되는데 필요한 제약조건
요구사항 유형
- 기능 요구사항(Functional requirements)
- 비기능 요구사항(Non-functional requirements)
- 사용자 요구사항(User requirements)
- 시스템 요구사항(System requirements)
2. 기능 요구사항(Functional requirements)
기능이나 수행에 관련된 요구사항
- 시스템 입/출력으로 무엇이 포함되는지
- 시스템이 어떤 데이터를 저장하거나 연산을 수행해야하는지
- 시스템이 반드시 수행해야 하는 기능
- 사용자가 시스템을 통해 제공받기를 원하는 기능
3. 비기능 요구사항(Non-functional requirements)
품질이나 제약사항과 관련된 요구사항
- 시스템 장비 구성 요구사항
- 성능 요구사항
- 인터페이스 요구사항
- 데이터 구축 위한 요구사항
- 테스트 요구사항
- 보안 요구사항
- 품질 요구사항: 가용성, 정합성, 상호 호환성, 대응성, 이식성, 확장성, 보안성 등
- 제약사항
- 프로젝트 관리 요구사항
- 프로젝트 자원 요구사항
4. 사용자 요구사항(User requirements)
사용자 관점에서 본 시스템이 제공해야 할 요구사항
5. 시스템 요구사항(System requirements)
개발자 관점에서 본 시스템 전체가 제공해야 할 요구사항
소프트웨어 요구사항이라고도 부름.
6. 요구사항 개발 프로세스
요구사항을 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 활동
순서: 도출(Elicitation), 분석(Analysis), 명세(Specification), 확인(Validation)
- 요구사항 도출(Elicitation, 요구사항 수집)
- 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지 식별하고 이해하는 과정
- 주요 기법: 청취&인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스
- 요구사항 분석(Requirement Analysis)
- 요구사항 중 이해되지 않는 부분을 걸러내기 위한 과정
- 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화하는 활동
- 사용 도구: 자료흐름도(DFD), 자료 사전(DD) => 구조적 분석 기법(자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법)
- 자료흐름도(DFD; Data Flow Diagram): 자료의 흐름 및 변환과정과 기능을 도형 중심으로 기술하는 방법
- 자료 사전(DD; Data Dictionary): 자료 흐롬도에 잇는 자료를 정의하고 기록한 것(=메타데이터)
- 요구사항 명세(Requirement Specification)
- 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것
- 기능 요구사항 전체, 비기능은 필요한 것만 기술
- 요구사항 명세 기법
구분 | 정형 명세 기법 | 비정형 명세 기법 |
기법 | 수학적 원리 기반, 모델 기반 | 상태/기능/객체 중심 |
작성 방법 | 수학적 기호, 정형화된 표기법 | 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성 |
특징 | - 요구사항을 정확하고 간결하게 표현 가능 -요구사항에 대한 결과가 작성자에 관계없이 일관성이 있으므로 완전성 검증 가능 - 표기법이 어려워 사용자가 이해하기 어려움 |
-자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고, 해석이 달라질 수 있음 - 내용의 이해가 쉬워 의사소통이 용이함 |
종류 | VDM, Z, Petri-net, CSP 등 | FSM, Decision Table, ER모델링, State Chart(SADT) 등 |
- 요구사항 확인(Requirement Validation, 요구사항 검증)
- 요구사항 명세서가 정확하고 완전하게 작성되었는지를 검토하는 활동
7. 요구사항 분석 CASE, HIPO
1. 요구사항 분석용 CASE(자동화 도구)
요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 도구
SADT | - 시스템 정의, 소프트웨어 요구사항 분석, 시스템/소프트웨어 설계를 위한 도구 - SoftTech 사에서 개발 -구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구 |
SREM = RSL/REVS | - TRW 사가 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 도구 - RSL과 REVS를 사용하는 자동화 도구 |
PSL/PSA | - PSL과 PSA를 사용하는 자동화도구 - 미시간 대학에서 개발 |
TAGS | - 시스템 공학 방법 응용에 대한 자동 접근 방법 - 개발 주기의 전 과정에 이용할 수 있는 통합 자동화 도구 |
2. HIPO(Hierarchy Input Process Output)
시스템 실행 과정인 입력, 처리, 출력의 기능을 표현한 것
- 하향식 소프트웨어 개발을 위한 문서화 도구
- 시스템의 기능을 여러 개의 고유 모듈로 분할하여 이들 간의 인터페이스를 계층 구조로 표현한 것: HIPO Chart
- HIPO Chart 종류:
- 가시적 도표(Visual Table of Contents, 도식 목차)
- 총체적 도표(Overview Diagram, 총괄 도표, 개요 도표)
- 세부적 도표(Detail Diagram, 상세 도표)
'정보처리기사 > 요구사항 확인' 카테고리의 다른 글
[정처기] UML(Unified Modeling Language) (0) | 2022.07.04 |
---|---|
[정처기] 소프트웨어 생명 주기 (0) | 2022.05.10 |