프로젝트 설명
RUP / Elaboration Iteration 2 - More Patterns
첫 번째 단계 (Inception Phase) 에서 정의한 품질 속성을 만족시키기 위해 두 번째 단계 (Part 3. Elaboration Iteration 1 - Basic) 에서 정의한 설계 내용에 품질 속성 만족을 위한 여러 GoF (Gang Of Four) Design Pattern 을 접목 시키는 단계이다.
POS System - Elaboration Iteration 2 - More Patterns
Quality Requirement
품질 요구사항 정리 (Non-functional Requirement)
변경 가능성
- POS 시스템의 결제 방법으로 신용카드, 체크카드, 포인트 카드, 현금 등 여러 가지 방법이 존재한다. 각 결제 방법은 서로 다른 방법을 가지고 결제가 되기 때문에 최소한의 변경 만으로 여러 결제 방법을 적용 할 수 있어야 한다.
- POS 시스템은 여러 가지 할인 방법을 가질 수 있다. VIP 회원인 경우의 할인, 특별한 나의 할인 등등 다양한 할인 방법이 존해하며, 이러한 할인 방법 들을 최소한의 변경 만으로 추가, 변경, 삭제 할 수 있어야 한다.
- POS 단말기 프로그램은 단말기 하드웨어 뿐만이 아닌 웹, 모바일 등등 다른 여러 가지 플랫폼에서 동작 할 수 있어야 한다.
- POS 시스템의 사용자가 많을 경우 여러 개의 서버를 가질 수 있다. 이 경우 여러 개의 서버를 사용할 수 있도록 확장이 가능해야 한다.
재사용성
- POS 시스템의 서버의 데이터베이스 구조는 데이터베이스를 필요로 하는 다른 프로그램에 쉽게 재사용이 가능해야 한다. 여러 종류의 데이터베이스 (MySQL, ORACLE 등) 에 적용이 가능해야 한다.
Realibility
- POS 시스템의 서버와 클라이언트 간의 데이터 무결성은 보장되어야 한다.
Architecture Analysis
POS 시스템의 Subsystem Type Categorization
- Boundary Module : 외부 시스템과의 인터페이스를 담당하는 모듈
- Controller Module : Boundary Module 을 통해 받은 요청을 컨트롤하는 모듈
- Data Module : Pos 시스템의 필요한 데이터들이 있는 모듈
POS System 의 High - Level 구조 정의
- Quality Requirement - 변경 가능성 만족을 위한 전략
- 단말기 프로그램 - Boundary Subsystem 과 Data Subsystem 변경 가능하도록 구성
- Quality Requirement - Reliability 만족을 위한 전략
- 단말기 프로그램 - Boundary Subsystem 을 세 개의 Sub-module 로 분리
- 서버 프로그램 - Boundary Subsystem 을 두 개의 서브 Sub-module 로 분리
- 단말기 프로그램 - Boundary Subsystem 을 세 개의 Sub-module 로 분리
- Quality Requirement - 재사용성을 만족을 위한 전략
- 서버 프로그램 - Data Subsystem 을 변경 가능하도록 구성
- 서버 프로그램 - Data Subsystem 을 변경 가능하도록 구성
Analysis Mechanism 매핑
Architecture Design
Elaboration 1 - Basic 에서 설계한 Initial Classdiagram 의 Design Elements 를 앞서 정의한 Subsystem 으로 분류
POS 시스템 - 단말기 S/W 의 Design Elements (Subsystem)
POS 시스템 - 서버 S/W 의 Design Elements (Subsystem)
POS 시스템의 Architecture Analysis 관련 Architecture Design 정의
Architecture Design 에 맞춰 단말기 프로그램 Subsystem 정제
Architecture Design 에 맞춰 서버 프로그램 Subsystem 정제
Pos 시스템의 Runtime architecture 정의
Component Design
Payment Subsystem Design
- 관련 Quality Requirement 정리 및 솔루션 정의
- Internal Design 정의 - Static Design (Class Diagram)
- Internal Design 정의 - Dynamic Design (Sequence Diagram)
Database Subsystem Design- 관련 Quality Requirement 정리 및 솔루션 정의
- Internal Design 정의 - Static Design (Class Diagram)
- Internal Design 정의 - Dynamic Design (Sequence Diagram)
- 관련 Quality Requirement 정리 및 솔루션 정의
최종 Class Diagram 설계
POS 시스템의 Elaboration Iteraction 2 - More Pattern 관련 상세 수행 결과는 아래 PDF 참조
'기타 > Toy Project' 카테고리의 다른 글
POS System - RUP / Elaboration Iteration 1 - Basic (0) | 2021.09.19 |
---|---|
POS System - RUP / Inception Phase (0) | 2021.09.18 |
영단어 교육 프로그램 - Static Analysis 대응 (0) | 2021.09.17 |
영단어 교육 프로그램 - 소프트웨어 검증 팀과의 협업 (0) | 2021.09.17 |
영단어 교육 프로그램 - OSP Stage 2040 - Design (0) | 2021.09.17 |