Software Process Model
WaterFall Model
SDLC ( Software Development life-cycle model)
- Require Analysis
- System Design
- Implementation
- System Testing
- System Deployment
- System Maintenence
Iterative Model
Agil
Ex : XP, TDD
- Rapid prototyping & Rapid Development
- Client(Customer) 가 개발과정에 참여
- Manifesto
- Individual : processes and tools
- Working software : documentation
- Customer Collaboration : contract negotiation
- Responding to change : following a plan
UP (Unified Process)
RUP ( Rational Unified Process)
Maintanace가 어렵고, 개발자가 너무 힘든 Agile... -> UP
- Iterative
- Risk-Driven, Client-driven, Architecture-centric
- 2가지 RISK : Architecture, Client
Client 관점에서 오는 Risk 양이 Arhitecture 관점보다 적음,
Client Risk 가 더 중요하다고는 할 수 없음
- Use-Case-driven
- 4 phase 9 disciplines
- Inception phase : 사업 타당성 / 비용산정/ 개발 목표/ 프로젝트 계획
- Elaboration phase : 분석 및 설계 작업 -> 코딩 -> 단위 테스트 = proto type
- Architecture 관점 Risk 를 check
Requement Workshop을 cycle(iteration) 간 진행함
- Requirement Engineering : Client 가 important 하게 생각하는 Risk를 Semi 구현 한다.
- Construction phase : 구현 / 단위 및 통합테스트 / 사용자 설명서 작성
- Transition phase : 완성된 제품을 사용자에게 넘겨주는 과정에서 수행
UP Development Case
- Sample Unified Process Artifacts and Timing
- 프로젝트의 Practices의 선택, UP Artifacts 문서화
Discipline | Artifact | Inception | Elaboration | Construction | Transition |
---|
Business Modeling | Domain Model | | s | | |
Requirements | Use-Case Model (FR) | s | r | | |
| Vision | s | r | | |
| Supplementary Specification (nFR,QA) | s | r | | |
| Glossary | s | r | | |
Design | Design Model | | s | r | |
| SW Architecture Document | | s | | |
| Data Model | | s | r | |
Implementation | Implementation Model(code,html,...) | | s | r | r |
- Requirements model
- Use Case Model
- System Sequence Diagram
- Design Model
- Class Diagram
- Interaction Diagram(Sequence Diagram)
- Statechart Diagram
- Activity Diagram
- Package Diagram
- Component Diagram
- Object Diagram
- Deployment Diagram