App/소프트웨어공학
[소프트웨어공학] 04 요구분석
건망망고
2024. 4. 21. 11:58
04 요구분석
01 요구사항
사용자와 개발자가 합의한 범위 내에서 사용자가 필요로 하는 기능, 시스템이 제공하는 기능요구와 품질과 같은 비기능 요구
요구사항이 정확히 무엇인지 파악하는 작업 - 요구분석 단계에서 이루어짐
02 요구분석의 이해
- 요구분석의 정의와 목적
- 요구분석 - 소프트 웨어 개발의 생명주기의 첫 단계로 현재 상태를 파악하고 사용자가 잠재적 또는 명시적으로 원하는 요구를 파악한 후 소프트웨어에 반영할 사용자 요구를 결정하는 것
- 요구분석의 어려움
- 문제 영역에 대한 분석가의 이해력 부족
- 사용자와 분석가의 의사소통 문제
- 사용자의 계속되는 요구사항 추가
- 사용자의 모호한 요구사항
- 다양한 사용자의 다양한 요구
- 요구사항 수집
- 자료수집
- 인터뷰 : 먼저 자료 수집한 이후 인터뷰
- 설문조사
03 요구분석 절차와 요구사항 종류
- 요구분석 절차와 요구사항 분류
- 자료 수집 → 요구사항 도출 → 문서화 → 검증
- 기능 요구사항 : 사용자가 원하는 기능(소프트웨어)
- 비기능 요구사항 : 수행 가능한 환경, 품질, 제약 사항
- 제약사항 : 개발 소프트웨어가 수행될 환경에 의한 조건
- 품질 : 소프트웨어 품질
- 신뢰성 : 소프트웨어를 믿고 사용할 수 있는 것
- 소프트웨어를 고장 없이 사용할 수 있는 것
- 가용성 : 총 운용시간 동안 얼마나 고장 없이 가동되었는지
04 요구사항의 표현
- 표현과 모델의 이해
- 모델의 정의와 필요성
- 소프트웨어 개발 모델단점) 과도한 문서 작업으로 일정 지연, 형식적인 산출물로 전락할 가능성
- 장점) 이해도 향상, 유지보수 용이
- 모델링 : 앞서 설명한 모델을 제작하는 과정 또는 작업
- 자연어를 사용한 표현
- 형식언어를 사용한 표현
- UML 다이어그램을 사용한 표현
- 모델링언어
- 구조적 방법의 표현 도구 : DFD
- 자료흐름도 : 들어온 자료를 처리한 후 결과를 내보내는 과정핵심은 처리 부분, 처리가 기능이고 기능을 먼저 생각하는 것이 구조적 분석 방법
- 처리 표현 → 입력과 출력 자료 표현 → 자료 저장소 표현 → 자료 출원지의 목적지 표현
- 데이터가 어떻게 흘러가는 지!
- 자료 사전 : 자료 흐름도에 존재하는 데이터에 대한 설명을 기록
- 소단위명세서
- 정보공학방법의 표현 도구 : E-R 다이어그램
- 객체지향 방법의 표현 도구 : 유스케이스 다이어그램
- 유스케이스 다이어그램 작성하기 : 각자 필요한 기능 나열
- 후보 유스케이스 도출
- 후보 유스케이스 검토홀로 존재하는 유스케이스는 없음
- 기능을 묶어서 굳이 모두 접근 가능하게 만들필요 없다
- 유스케이스 정련
- 유스케이스 명세서 작성하기
- 개요 : 제공하는 기능 무엇
- 관련 액터 : 누가 사용
- 우선순위 : 개발할때 순서 상중하
- 선행조건 : 미리 만족해야하는 상태
- 후행조건 : 수행 후 만족해야하는 상태
- 이벤트 흐름
- 비기능 요구사항 : 기능 외의 요구사항
- 유스케이스 다이어그램 작성하기 : 각자 필요한 기능 나열
05 요구사항의 문서화
- 요구분석명세서의 이해
- 요구분석명세서 작성 시 주의사항
- 사용자가 쉽게 읽고 이해할 수 있도록 작성
- 개발자가 설계와 코딩에 효과적으로 사용할 수 있도록 작성
- 테스트 기준으로 사용할 수 있도록 정량적으로 작성
- 품질에 대한 우선순위 명시
- 잘 만든 요구분석명세서의 특성
- 완전성 : 빠진 부분없이 모두 잇다. 기능 요구사항 뿐 아니라 성눙, 제약 사항 등 의 비기능 요구사항이 빠지지않고 모두 서술되어야 완전
- 일관성 : 모순 없게
- 명확성 : 명확하게
- 추적 가능성 : 어디에서 발생했는 지 추적 가능하게
- 변경 용이성 : 요구사항 변경하기 쉽게 작성
- 검증 가능성 :요구사항을 만족하는 지를 체계적으로 검사할 수 있게 요구분석명세서 작성
- 요구 명세 기법
- 비정형 명세 기법 : 자연서 기반 서술 or 작업 흐름도 같은 거 이용
- 정형 명세 기법 : 수학적 원리와 표기법으로 사용
- 요구사항 검증 : 여러방법을 통해 추출하고 정리한 사용자의 요구분석명세서가 정확하고 완전하게 서술되었는지 검토하는 활동