반응형
개요!!
- 7.1 요구사항 개요
- 7.2 요구사항 분석의 중요성과 어려움
- 7.3 요구사항 분석 프로세스
- 7.4 요구사항 명세
- 7.5 요구사항 검증
- 7.6 기타
✅ CH 7.소프트웨어 요구사항 분석 (1)
🔷 7.1 요구사항 개요
7.1.1 요구사항의 정의
- 문제 해결 또는 목적 달성을 위해 시스템이 갖추어야 할 서비스 또는 제약사항
- 고객이 요구한 사항뿐 아니라 명시되지 않았더라도 반드시 제공되어야 할 사항 포함
7.1.2 요구사항의 분류
- 기능적 요구사항 (Functional Requirements)
- 소프트웨어가 가져야 할 기능
- 예: 파일 저장, 편집, 보기 기능 등
- 비기능적 요구사항 (Non-Functional Requirements)
- 성능, 사용성, 보안, 안정성 등 품질 관련 속성
- 예: 응답 시간, 처리량, 보안성 등
🔷 7.2 요구사항 분석의 중요성과 어려움
7.2.1 분석의 중요성
- 요구사항 분석이 정확해야 의사소통 시간 절약
- 상세한 요구사항이 있어야 규모 산정과 계획 수립 가능
- "시스템은 두 번 만들어진다 – 요구사항과 구현"
→ 첫 단추를 잘 끼우는 것이 핵심
7.2.2 분석의 어려움
- 문제 영역에 대한 이해 부족
- 전문성 부족, 필수 요구 누락 가능성
- 의사소통 문제
- 견본이 없어 설명이 어려움, 요구사항 일관성 부족
- 변화하는 요구사항
- 환경 변화, 사용자 지식 변화로 요구 변경
- 애매모호한 요구사항
- 명확하지 않아 모순되거나 불완전한 요구 도출
🔷 7.3 요구사항 분석 프로세스
7.3.1 개요
- 고객/발주자로부터 요구사항을 도출하고,
개발자가 이해 가능한 형식으로 분석 및 문서화
7.3.2 분석 단계
요구사항 수집 → 요구사항 분석 → 요구사항 명세 → 요구사항 검증 → 요구사항 관리
7.3.3 요구사항 추출
- 의미: 고객의 요구를 수집하고 시스템 기능/제약을 식별
- 중요성: 초기 요구는 추상적 → 명확한 파악 필수
- 기법:
- 인터뷰/설문조사: 직접 질문하여 정보 획득
- 시나리오: 사용자-시스템 상호작용을 기반으로 작성
- 관찰: 사용자의 실제 작업 관찰 → 인터뷰 보완
7.3.4 요구사항 분석
- 정의: 추출된 요구를 식별/이해 가능한 명확한 요구로 정제
- 중요성: 이후 단계 설계 및 구현에 직접 영향
분석 방법론:
- 구조적 분석
- 기능 중심, DFD 활용 (데이터 흐름 중심 프로세스 분석)
- 객체지향 분석
- 사용자 시나리오 중심, 유스케이스 모델 사용
- 정보공학 분석
- 데이터 중심 분석, ER 다이어그램 활용
🔷 7.4 요구사항 명세
7.4.1 정의 및 목적
- 분석된 요구사항을 명확하고 완전하게 기록
- 소프트웨어의 모든 기능, 제약조건, 품질사항 기술
- 최종 산출물: 요구사항 명세서 (SRS: Software Requirements Specification)
7.4.2 SRS의 역할
- “무엇”을 수행할 것인지 기술
(“어떻게” 수행하는지는 기술하지 않음) - 사용자/개발자/테스터 모두에게 공통 목표 제시
7.4.3 작성 시 유의사항
- 시스템 기능과 제약 조건을 빠짐없이 기술
- 간결하고 명확하게, 고객도 이해할 수 있도록 작성
- 모든 요구사항은 검증 가능해야 하며, 그 방법/기준 명시
- 특정 알고리즘/구조 언급은 피함, 외부 동작만 기술
- 계층 구조, 고유 식별자 부여, 우선순위 명시
7.4.4 명세 기법
- 비정형 명세 기법
- 자연어/다이어그램 사용
- 장점: 이해 용이, 작성 간단
- 단점: 모호성, 불완전성 가능
- 정형 명세 기법
- 수학적 표기 기반
- 장점: 정확성, 검증 용이
- 단점: 학습/이해 필요
🔷 7.5 요구사항 검증
7.5.1 정의 및 내용
- 사용자 요구가 명세서에 올바르게 반영되었는지 검토
7.5.2 검증 항목
항목 설명
무결성 / 완전성 | 에러 없이 요구를 완전히 반영 |
일관성 | 서로 간 모순 없음 |
명확성 | 누구나 동일하게 해석 가능 |
기능성 | 무엇을 중심으로 기술되었는가 |
검증 가능성 | 요구사항 만족 여부를 검증 가능해야 함 |
추적 가능성 | 요구사항 ↔ 설계문서 간 연결 가능해야 함 |
🔷 7.6 기타
- 요구공학:
소프트웨어 요구사항을 정의, 분석, 명세, 검증, 관리하는 전반적인 학문 - IEEE-Std-830:
요구사항 명세서(SRS) 작성의 표준 형식 제공
'학교 CS > 소프트웨어공학 (3-1학기)' 카테고리의 다른 글
CH 9 소프트웨어 구조 설계 (2) | 2025.06.17 |
---|---|
CH 8 소프트웨어 요구사항 분석 (2) (1) | 2025.06.15 |
CH6 소프트웨어 프로젝트 계획 (3) (0) | 2025.04.28 |
CH5 소프트웨어 프로젝트 계획(2) (1) | 2025.04.28 |
CH4 소프트웨어 프로젝트 계획(1) (1) | 2025.04.27 |