RAD (Rapid Application Development)
- 조직이 전략적으로 중요한시스템을 빠르게 개발하면서도 개발비용을 줄이고
품질을 유지할 수 있게 해주는 방법론.
- 제한된 범위의 단독시스템을 CASE를 사용하여 신속하게 개발하는 방법.
- CAST Tool을 이용해서 고객과 같이 개발
- 1~3개월 정도 소요
- 위험이 낮은 Project에 적합
- 단계 : JRP(분석) -> JAD(설계) -> 구축.운영
- 필수요건 : ① SWAT
② Database (Repository)
③ Timebox (요구사항 관리)
④ CASE ( 상위CASE - 요구사항 분석,설계
중위CASE - 설계
하위CASE - 소스코드)
정의/분석 | JRP (Joint Requirement Panning) | 현업관리자와 개발관리자간 공동요구정의 |
설계 | JAD (Joint Application Design) | 사용자참여 공동설계 |
구현 | CASE (Computer Aided Software Engineering) | |
이전 | Curover | Curover운영에 필요한 지침서를 작성하고 현업 부서로 이전 |
RUP (Rational Unified Process)
UML을 기반으로 한 객체지향 소프트웨어 프로세스 모델
- 예정된 일정과 예산에서 고객이 만족할 수 있는 소프트웨어 개발
- Jacobson의 UseCase Driven 방법을 도입한 방법론이다.
- 소프트웨어 개발의 전체 생명주기를 지원하는 프로젝트 FrameWork 이다.
- 각 단계를 반복하면서 위험요소를 줄일 수 있다.
- 반복을 하기 때문에 개발도중 요구사항 변경,환경변화등에 유연하게 대처가 가능
- UseCase기반 , 아키텍쳐 중심 , 반복 점진적 개발 프로세스
- 게발기간이 길고 대규모 시스템에 적합
단점 : 내용자체가 방대해서 처음 객체지향 방법론을 접하는 사람에게는 어렵다
단계 | 설명 | 비고 |
인식 (Inception/도입) | - 시스템의 최종 목표와 업무사례 규정 - 프로젝트 범위 정의 |
목표,착수,범위 |
구체 (elaboration/정련) | - 구체적인 계획 수립 - Architecture 설계 및 구현 - 요구사항 명세화 |
계획,위험분석 Arch검증, Pjt예측가능 |
구축(Construction) | - 시스템 구축 - 사용자 인도 준비 |
|
전이 (Transition) | - 운영으로 전환 (Cutover) - 사용자 교육 - 사용자의 사용후 발생한 문제점 수정 |
* 인식,정련,구축,전이 단계는 각각 반복을 할 수 있다.
workflows | 설명 |
Core Process Workflows | ㅍBusiness Modeling Requirements Analysis & Design Implementation Test Deployment |
Core Supporting Workflows | Configuration & Change Management Project Management Environment |
Clean Room Model
- 시스템의 가장 핵심이 되는 부분을 최초 Increment(실행 가능한 프로토타입)
로 개발하여 사용자에게 피드백을 하여 새로운 요구를 끄집어 내거나 개발
계획 자체를 다시 고쳐서 반복해서 증가분 소프트웨어를 개발시스템에
추가하여 가는 생각을 기초로 하고있다.
- 소트프웨어를 정형적으로 명세화하고 여러 증분 (Increment)으로 나누어
별도로 개발하고 검증하되 신뢰성을 결정하기 위해 통계적으로 테스트 한다.
특징 | - Bug가 있으면 안된다. - 개발된 증분을 엄격한 검사를 이용하여 정적으로 검사함으로써 시스템의 단위시험을 대체할 수 있다. - 정적 검증을 기반으로 한 소프트웨어 개발철학 - 반도체 공정에서 사용하는 용어 - 결함의 수정보다는 회피하는 것을 목표로 한다. |
'소프트웨어공학' 카테고리의 다른 글
정보시스템 감리기준 (행정안전부 고시 제2017-1호) (0) | 2019.10.28 |
---|---|
소프트웨어 개발 방법론 (3/3) (0) | 2019.10.24 |
소프트웨어 개발 방법론 (1/3) (0) | 2019.10.22 |
소프트웨어 안전성 분석 기법 - FTA , FMEA, HAZOP (0) | 2019.10.20 |
소프트웨어공학 - Refactoring (리펙토링) (0) | 2019.10.19 |