sw프로세스 Flashcards
SDLC
[정의] SW의 생성에서 소멸까지 과정 및 주요 활동 Milestone 제시, 단계별 공정을 체계화한 모델
[필요성] (공관품)
1.공학적 측면 : SW 엔지니어가 수행할 기술적 업무 순서에 대한 지침,활동,표준산출물 제시
2.관리 측면 : 비용,자원,품질,진척 등 관리방법 제공
3.품질 측면 : 예산,자원,개발 환경 등 다양한 접근방법 설정해 품질 우수 SW 개발
[단계] 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수(릴리즈)
[모델] (폭프나RA증진) 폭포수, 프로토타이핑, 나선형, RAD, 반복형(증분,진화)
폭포수 모델
[정의] 고전적 SW개발 프로세스로 분석,설계,개발,테스트,운영,유지보수의 순차적 개발 프로세스 모델
[프로세스] (계요설구시운)
1.개발계획 : 프로젝트 계획서
2.요구분석 : 요구사항정의서, 요구사항 추적표
3.설계 : ERD, UI정의서, 프로그램목록, 프로그램사양서
4.구현 : 개발소스, 단위테스트 결과서
5.시험 : 통합테스트 결과서, 시스템테스트 결과서, 인수테스트 결과서
6.운영 및 유지보수 : 매뉴얼
[장/단]
- (장) 이해용이, 문서관리 용이, 체계적 관리, 산출물 가시성, 레퍼런스 다수, 단계별 검증 용이
- (단) 초기 요구정의 어려움, 재사용/반복불가, 대규모 관리복잡, 요구 이슈 후반 변경/Feedback 제한적
프로토타이핑
[리드] 시제품 통한 확인
[정의] 요구사항 분석 목적 주요기능 초기 운영모델 개발/평가 후 점진적 개발 방법
[특징] 핵심요구사항에 대한 모형개발 → 초기검증 및 개선보완, 폭포수 단점보완
[유형] (진실)
1.진화 모델 : 프로토타입 지속발전→최종모델 완성
2.실험 모델 : 복잡한 일부분만 모델개발
[프로세스] (요프검상설)
1.요구분석 2.Prototype 개발/개선 3.검토 평가(Feedback/프로젝트 취소) 4.상세개발 5.설치 운영
[장/단점]
- (장) 요구도출용이, 시스템 이해/의사소통 향상
- (단) 폐기시 비용, 최종결과 오용, 일회용
나선형 모델
[리드] 위험 최소화 위한 점진적 개발모델
[정의] 시스템 개발시 위험최소화, 점진적으로 통합시스템 개발 모델
[특징] 폭포수모델 + 프로토타이핑 모델 + 위험분석 추가모델
[프로세스] (계위개평) 1.계획 및 정의 2.위험분석 3.개발 4.고객평가
[장/단점]
- (장) 정확한 요구사항파악, 위험부담감소, 품질확보, 테스트용이
- (단) 관리복잡, 장시간, 검증미흡
[차별화] 위험관리 강화 적용방안
- 위험식별 : 델파이, 브레인스토밍, 문서검토, 체크리스트 (인문확 전체가 B(T)S델)
- 위험분석 : 정성적(PI 매트릭스), 정량적(민감도 분석, 의사결정 트리, Simulation 등)
RAD
[정의] 2~3개월의 짧은 개발 주기로 사용자가 적극 참여와 도구 활용을 통해 신속히 개발하는 모델
[특징] 사용자 참여 (Prototyping사용, 요구사항 정의 등 적극 참여), 도구 활용 (CASE Tool, RDB, 재사용 Library등 도구 활용), 단기적 합성 (Time Boxing, 핵심요구사항 만족)
[프로세스]
1. JRP(Joint Requirement Planning) : 비지니스/데이터/프로세스 모델링 (1~2주) / 공동 요구 정리
2. JAD(Joint Application Development) : 프로토타입 개발/수정/보완 반복 (3~5주) / 사용자 참여, 공동설계
3. Cutover : 운영에 필요한 지침서를 작성하고 현업부서로 인계 / 구축 및 운영
[장/단점]
- (장) 신속한 구축 가능, Feedback 원활
- (단) 기술적 위험이 높으면 부적합, 시간 제약, 책임감 있는 팀원 부재시 위험
[RAD 모델 기반의 Agile 대표 개발방법론] XP, SCRUM, RUP, Crystal, Lean
JAD
[리드] 반복적 협동 응용 개발
[정의] 사용자,관리자,분석가들이 Time-Box내 시스템 요구사항을 규정하기 위해 집중적 회의 진행 개발 프로세스
[9가지 핵심 단계] 1.프로젝트 목표 및 제한사항 확인 2.CFS확인 3.프로젝트 인도물 정의 4.워크솝 활동 일정 정의 5.참석자 선정 6.워크숍도구 준비 7.워크숍 활동 구성 8.워크숍 참석자 사전 준비 9.워크숍 물품 지정
[참여자] 세션 리더, 분석가, 이해관계자
[수행절차] JAD 프로젝트 정의(JAP Plan) → 사용자 요구조사 → JAD Session 준비 → JAD Session 종료 → 종료(Wrap-up, 최종 문서 작성)
반복적 모델
[정의] SW 요구사항을 일부 또는 핵심 사항부터 증분/진화 형태로 반복적으로 개발 완성해가는 SDLC 모델
[유형] (증진)
1. 증분형(Incremental)
- 전체를 분할, 시스템의 일부를 개발 후 단계적으로 통합/확장해가면서 개발하는 모델
- 폭포수모델 기반
- (장) 증분된 업무 병행개발, 기능별 서브시스템 Release 가능
- (단) 증분많고, 병행 빈번시 관리난해, 조율필요
2. 진화형(Evolutional)
- 전체적인 핵심 요구사항을 개발하고 단계별로 기능을 더욱 발전해 가는 모델
- 프로토타입모델 기반
- (장) Req 반영 용이/피드백 빠름, 요구사항 불분명할 경우 유용
- (단) Req 변화 자주발생시 구조화 힘듦, 빠른 개발의 신뢰성 약화, 프로젝트 비용/일정 증가
V모델
[정의] SW SDLC에서 지정된 기능이 정확히 수행되는지 Verification하고 고객의 요구사항을 만족하는지 Validatioin하는 활동
1. Verification(검증) (검수확고)
- 수행팀 관점 검토작업, SW 구현 보장, 정적분석(리뷰,인스펙션,동료검토), 단위/통합/시스템 테스트
- 제품을 올바르게 만들고 있는가?
2. Validation(확인)
- 고객 관점 검토작업, 인수/사용성 테스트, 요구사항 충족 여부
- 올바른 제품을 만들고 있는가?
[구성]
- 설계(상구요시사) : 코딩→상세설계→구조설계→요구분석→시스템 요구사항→사용자 요구사항
- 테스트(단통시인설) : 코딩→단위테스트→통합테스트→시스템테스트→인수테스트→설치테스트
* V&V는 IEEE 1012와 ISO/IEC 12207 표준에 기반하여 단계별 검증,확인 수행
[V&V 기법]
- 정형 기법 검토, 코드 인스펙션, 워크 스루, 동료 검토