요구사항
어떤 문제를 해결하기 위해 필요한 조건, 제약사항을 요구
SW 개발/유지 보수 과정에 필요한 기준과 근거를 제공
- 요구사항의 유형
- 기능적 요구사항
- 비기능적 요구사항: 성능, 보안, 품질, 안정성 등 기능의 부가적인 것
- 요구사항 개발 프로세스
- 도출/추출 : 이해관계자 간 요구사항을 정의 (식별 및 이해)
- 인터뷰, 설문, 브레인스토밍, 청취, 프로토타이핑, 유스케이스
- 분석: 사용자 요구사항에 타당성 조사 및 비용 및 일정에 대한 제약 설정
- 관찰, 개념 모델링, 정형 분석, 요구사항 정의 문서화
- 명세: 요구사항을 체계적으로 분석 후 '승인가능하도록 문서화'
- 확인/검증 : 명세서를 검토
- 도출/추출 : 이해관계자 간 요구사항을 정의 (식별 및 이해)
- 요구사항 분석 도구
- 요구사항 분석 CASE(Computer Aided SW Engineering)
- SADT : 구조적 분석 및 설계 분석, 블록 다이어 그램
- SREM : 실시간 처리 시스템에서 요구사항을 명확하게 기술
- PSL/PSA : 문제 기술언어/요구사항 분석 보고서 출력
- TAGS: 시스템 공학 방법 응용에 대한 자동 접근, 개발 주기 전 과정에 이용 가능
- 요구사항 분석 CASE(Computer Aided SW Engineering)
구조적 분석 모델
- 데이터/자료 흐름도 (DFD, Data Flow Diagram)
- 원 - 프로세스
- 화살표 - 흐름
- 평행선 - 자료 저장소 (DB, Memory)
- 단말 - Terminator (done)
- 시간 흐름을 명확하게 표현할 수 없음 버블 차트라고도 부른다.
+-----------------+ +-----------------+
| External Entity |-->--| Process |-->--[Data Store]
+-----------------+ +-----------------+
^
|
+-----------------+
| Data Flow |
+-----------------+
- 자료 사전 (DD, Data Dictionary)
- 자료 흐름도의 내용을 상세 정의/상세 설명
- [] : 선택
- () : 생략
- {} : 반복
- + : 구성
- = : 정의
- ** : 주석
- DFD의 소단위 명세서이며 ERD와 STD와 같이 사용된다.
External Entity: 고객(Customer)
Process: 주문 처리(Order Processing)
Data Store: 주문 데이터베이스(Order Database)
Data Flow: 주문 요청(Order Request)
- ERD
+----------------+ +----------------+
| Customer |-----| Order |
|----------------| 1 |----------------|
| CustomerID | | OrderID |
| Name | | CustomerID |
| Address | | OrderDate |
+----------------+ +----------------+
- STD
+-------------+ +-------------+ +-------------+
| 상태: 대기 |----| 이벤트: 주문 |----| 상태: 처리 중 |
+-------------+ +-------------+ +-------------+
|
+-------------+
| 이벤트: 취소 |
+-------------+
|
+-------------+
| 상태: 취소됨 |
+-------------+
객체지향 분석 모델
- Booch(부치) : 미시적, 거시적 개발 프로세스를 모두 사용해서 클래스 분석 및 식별 거시적
거시적
+---------------------------+
| 온라인 도서 판매 시스템 |
+---------------------------+
| 사용자 인터페이스 |
| 주문 처리 시스템 |
| 결제 시스템 |
| 데이터베이스 |
+---------------------------+
미시적
Class: User
Attributes: userID, name, email, password
Methods: register(), login(), updateProfile()
Class: Book
Attributes: bookID, title, author, price
Methods: addBook(), updateBook(), deleteBook()
Class: Order
Attributes: orderID, userID, bookID, orderDate, status
Methods: createOrder(), updateOrder(), cancelOrder()
- Jacobson(제이콥슨): Use Case를 사용 (사용자와 외부 시스템이 시스템과 상호 작용)
사용자 기능 명세
+---------------------------+
| 온라인 도서 판매 시스템 |
+---------------------------+
| 1. 책 검색 |
| 2. 책 주문 |
| 3. 결제 처리 |
| 4. 주문 확인 |
+---------------------------+
유스케이스
+------------+
| 사용자 |
+------------+
|
v
+---------------------------+
| 온라인 도서 판매 시스템 |
+---------------------------+
| 1. 책 검색 |
| 2. 책 주문 |
| 3. 결제 처리 |
| 4. 주문 확인 |
+---------------------------+
- Coad-Yourdon : E-R 다이어그램, 객체의 행위
E-R 다이어그램
+------------+ +------------+ +------------+
| User | | Book | | Order |
+------------+ +------------+ +------------+
| userID | <--------- | bookID | <--------| orderID |
| name | 1 : M | title | N : M | userID |
| email | | author | | bookID |
| password | | price | | orderDate |
+------------+ +------------+ | status |
+------------+
- Wirfs-Brock : 분석, 설계 간 구분이 없다. 고객 명세서 평가 후 설계 작업까지 수행
+---------------------------+
| 고객 명세서 평가 후 설계 |
+---------------------------+
| - 책 검색 기능 |
| - 책 주문 기능 |
| - 결제 처리 기능 |
| - 주문 확인 기능 |
+---------------------------+
- Rumbaugh (럼바우) : 가장 일반적으로 사용한다. 객체/동적/기능 모델
- 객체 모델링 -> Object Diagram 객체 간의 관계
- 동적 모델링 -> Dynamic, 상태 다이어그램 / 시스템의 동적인 행위
- 기능 모델링 -> 자료 흐름도 DFD / 다수의 프로세스 처리 과정
객체 모델링
+------------+ +------------+ +------------+
| User | | Book | | Order |
+------------+ +------------+ +------------+
| userID | <--------- | bookID | <--------- | orderID |
| name | 1 : N | title | N : M | userID |
| email | | author | | bookID |
| password | | price | | orderDate |
+------------+ +------------+ | status |
+------------+
동적 모델링
[Order Created] --> [Order Confirmed] --> [Order Shipped] --> [Order Delivered]
| | | |
v v v v
[Order Cancelled] [Payment Failed] [Order Returned] [Order Completed]
기능 모델링
+-----------------+
| Search Books |
+-----------------+
|
v
+-----------------+ +-----------------+
| Select Book | <---> | Add to Cart |
+-----------------+ +-----------------+
|
v
+-----------------+ +-----------------+
| Create Order | <---> | Payment Process |
+-----------------+ +-----------------+
|
v
+-----------------+
| Confirm Order | ---> [ Data Stroe ]
+-----------------+
- 요구사항 명세
- 정형 명세
- 수학적 원리
- 정확하고 간결한 요구사항이 표현 됨
- 대신 어려워서 사용자가 이해하기 어려움
- 비정형 명세
- 자연어랑 그림 중심
- 의사소통은 용이하나 일관성이 없음
- 정형 명세
'자격증 > 정보처리기사' 카테고리의 다른 글
[실기] 정보처리기사 23년 1회 기출 오답노트 (1) | 2024.07.26 |
---|---|
[실기] 소프트웨어 구축 - 소프트웨어 설계 (0) | 2024.07.25 |
[실기] 소프트웨어 구축 - 프로젝트 계획 (0) | 2024.07.25 |
[실기] 소프트웨어 구축 - SW 설계 (0) | 2024.07.25 |
정보처리기사 필기 합격 (0) | 2024.02.22 |