Basic Process Steps
1. Feasibility study
2. Requirements engineering
3. Design
4. Implementation
5. Verification and validation
6. Operation, maintenance, and evolution
Feasibility Study
프로젝트를 시작할 지 결정하기 위한 타당성 조사 단계.
1. 이윤이 발생하는가?
2. 담당할 범위는 어디까지인가?
3. 기술적으로 타당한가?
4. 비용이 얼마나 들어가는가?
Requirements Analysis and Definition
프로젝트가 제공하는 서비스, 제약사항, 목표를 설정.
1. 요구사항 도출/분석
2. 요구사항 구체/명세화
3. 요구사항 검증(고객이 원하는 것을 잘 명세하였는지)
Design and Implementation
요구사항 명세를 실행가능한 시스템으로 변환/구현하는 과정
Verification and Validation
만든 프로그램/시스템이 명세, 요구사항을 잘 충족하였는가를 검증/검사하는 단계
Operation, Maintenance and Evolution
실제 구동, 유지보수, 업데이트/업그레이드, 소멸
Waterfall Model

장점: 이해하기 쉽고 간단하다. 관리하기 용이하다.
단점: 이전 단계로 돌아가서 수정하기 어렵다. 요구사항이 중간에 자주 변경될 프로젝트에 적합하지 않다. 동작하는 소프트웨어가 늦게 개발된다.
Modified Waterfall Model

Iterative and Incremental Development


Increment: 프로세스를 한 사이클 돌 때마다 나오는 결과물
장점: 동작하는 소프트웨어를 빠르게 개발 가능. 실패를 발생시킬 수 있는 리스크를 조기에 잡을 수 있음. 팀의 규모가 작을 때 유리. 요구사항을 충족시키기 유리.
단점: 계획한 대로 프로젝트를 수행하는 것과 자원 투입이 어렵다. 소프트웨어 구조와 디자인이 다소 엉성할 수 있다.
Spiral Development

소프트웨어의 성공에 대한 가장 큰 위협을 Risk로 보는 기법.
매 Iteration마다 리스크를 분석한다.
V Model

Waterfall model의 변형.
과정 절반을 테스트에 투자하여, 신뢰성과 안정성이 높은 소프트웨어 개발 시 유용하다.
개발 전에 테스트 케이스를 미리 만들어 놓아야 한다.
테스팅의 목적: 최대한 많은 버그/에러를 찾아내기 위함. 최대한 결함 없는 완벽한 소프트웨어 개발을 위한 것.
'Computer Science > Software Engineering' 카테고리의 다른 글
| [Software Engineering] UML(Unified Modeling Language) : Structural Diagram (0) | 2025.01.27 |
|---|---|
| [Software Engineering] System Models (0) | 2025.01.21 |
| [Software Engineering] Requirement Engineering (0) | 2025.01.12 |
| [Software Engineering] Software Requirements (0) | 2025.01.09 |
| [Software Engineering] Feasibility Study (0) | 2025.01.06 |