요구사항을 도출하고 그 요구사항을 통해 최종 시스템을 개발하는 것
소프트웨어 개발은 지속적인 모델링 활동
요구사항을 최종 시스템으로 도출하기 까지의 중간 과정
모델링이란 정형화된 모델을 만드는 것모델링의 3가지 요소
- 기술
- 모델
- 도구
소프트웨어 개발 생명 주기 ( Software Development Life Cycle) - SDLC
Idea -> Planning -> Analysis -> Design -> Implementation -> System SuccessPlanning Phase
- 비지니스 가치 찾기
- 실현 가능성 분석
- 개발 계획 수립
- 프로젝트에 필요한 인원 모집
- 프로젝트 착수 (Control and direct project)
Analysis Phase
- 요구사항 수집 및 분석
- 분석 : 브레인 스토밍
- 모델링 진행
- 데이터 모델링
Design Phase
- 구조적 디자인
- 인터페이스 디자인 ( 사람 - 소프트웨어 인터페이스 / 컴포넌트 - 컴포넌트 인터페이스)
- 데이터베이스 & 파일 디자인
- 프로그램 디자인
Implementation Phase
- Construction ( 구현 + 테스트)
- Installation ( 설치 + 교육)
1. Structured Development (구조적 개발 방법론)
- 앞의 단계가 끝나야 다음 단계로 진행
- 일반적으로, 하나의 스텝이 끝나야 다음 스텝을 진행
대표 모델
- Waterfall model ( 요구사항의 변화가 적은 경우 사용 )
- V-model
- Parallel development model (큰 설계가 갖춰지면 병렬로 개발할 수 있는 부분을 나눔)
2. Rapid Application Development (고속 응용 개발)
- 빠른 개발을 돕는 핵심 요소
- CASE tools
- JAD sessions (많은 사람들이 모여 같이 설계)
- Fourth generation / visualization porgramming languages
- Code generators- 대표 모델
- Incremental development model(Phased development) : a series of versions
- Prototyping : system prototyping
- Throwaway prototyping : design prototyping
3. Agile Development
- 간단한고 반복적인 개발 방법
- 대표 모델
- Extreme programming approach
- Scrum approach
Methodology(방법론)
- 정형화된 기술들을 사용해서 어떻게 소프트웨어를 만들 것인가
대표 방법론
- Structured Analysis and Structured Design(SASD)
- Information Engineering
- Object-Oriented Analysis and Design
- Component-Based Software Development
- Product-Line Engineering