소프트웨어 프로세스. 1 내용  소프트웨어 프로세스  생명주기의 의미  생명주기 모델 –Waterfall Model –prototyping model –Spiral Model –Iteration Model.

Slides:



Advertisements
Similar presentations
Product Lifecycle Management © 2003 IBM Corporation PLM Definition Product Lifecycle Management.
Advertisements

SW Testing Foundation 교육 1 일 기술 2G 배경호. Test in Life Cycle Request STATIC DYNAMIC Design Code Compo nent Integra tion System Accept ance.
Business Model. CopyrightⓒSunRiver leehyekang.blog.me Business Model 01 BM이란?02 BM 구성요소03 BM 분석04 성공적인 BM의 조건05 모바일 BM.
전정환 ( 주 ) 다음커뮤니케이션 CTO 본부 UI Engineering 팀.
PMglobal 1 PM 의 기본 개념. PMglobal 2 PMI 및 PMBOK u PMI è Project Management Institute( 미국 소재 ) è 프로젝트 관리분야 범 세계적 산, 학, 연 협동추진 è u.
MDD The Pragmatics of Model-Driven Development Bran Selic, IBM Rational Software 서강대 정보통신대학원 소프트웨어공학 차우람 (A50014) 조용성 (A49012) 최종 수정.
Bring efficiency and empowerment to your business
Master Thesis Progress
Capstone Design - Concept & Management
Cisco Systems의 리더십과 조직문화
Ⅰ 원가회계의 개념.
목 차 목적 및 수행개요 SLA Index 개괄 - 1. SLA Index Labor Relations
Chapter 2 정보시스템 아키텍처 (IS Architecture)
Core Skills: 프로젝트 프로세스 Project Process Learning & Development Team
OSGi 번들 서비스 의존성 해결을 위한 Residential Gateway 소프트웨어 구조 설계
고객 가치혁신의 시대 중소기업의 기술개발과 성장전략 삼성종합기술원 손 욱 원장
e-Transformation Strategy
교육과정개발.
6σ 연계 TPM 추진 안내서 TPM컨설턴트/공학박사/품질기술사 권오운 6σ 연계 TPM 추진 안내서 전체편 6 σ T P M
ERP(Enterprise Resource Planning)
1. 활동 목적의 비교 Six Sigma의 목적은 산포를 줄여 제품 및 서비스의 결과가 완벽하게 고객의 요구에 부응하는 것임
원가절감을 위한 구매전략 July 구매기획팀.
4. ITIL 개요 * ICT : Information & Communication Technology
건축물의 Life Cycle Cost 목원대학교 건축도시공학부 박 태 근.
1. 회사소개 사업분야 Solution 부문 제조산업부문 MES(Manufacturing Execution System)
Dr. Mike Eisenberg 교수가 개발한 21세기 문제해결법: Big 6
알기쉬운 DMAIC/DFSS Concept 6.
12. 데이터베이스 설계.
소프트웨어 공학 (Software Engineering)
연구소의 R&D 관리 - 과제 선정/개발/상품화 -
Shin, SooJung Based on Ron’s book
TL 9000 이해 INNO-SYSTEM연구소.
기술경영 Management of Technology (MOT) - Concepts -
CRM에서의 Data Quality Management
ISO 9001:2000 프로세스 접근방법의 이해와 적용 베스트경영컨설팅(BMC).
Program Management - Program and Project Definition -
생산/재고관리 기본 목 차 생산관리 재고관리.
- Make Processes Manageable -
B S C Balanced Scorecard System 구축 사례
BPR 추진전략 및 사례 1.
IT CookBook, 창의적 공학설계 : Creative ideas
Answer-First Workplanning 2005년 11월 29일
시스템 분석 및 설계.
CM 제도 및 활용 방안 이 유 섭 (Ph.D. 수석연구원) 한 국 건 설 기 술 연 구 원.
제5장 사회복지정책의 분석.
발표자 : 홍익대학교 소프트웨어 공학 연구실 변은영 지도교수 : 김영철
소프트웨어 소프트웨어란? 소프트웨어의 특성 프로그램과 프로그램의 개발, 운용, 유지보수에 필요한 관련 정보 일체
프로젝트 관리 Project Management
그림으로 배우는 컴퓨터구조 전찬주 / 엄재민, 황지순, 정나래, 신정윤, 이하나.
『디지털 기업을 위한 경영정보시스템』 홍일유 著 ⓒ 2005 Ilyoo B. Hong. All Rights Reserved
강의 소개, 자료구조의 개념, SW 개발과 자료구조
소프트웨어 공학 (Software Engineering)
ERP 시스템의 구축 ERP 시스템의 구축 기업이 ERP 시스템의 도입을 검토하는 단계에서부터 실제 업무에 적용하고 사후관리에 들어가는 단계에 이르기까지 시스템을 효과적으로 사용하기 위해 필요한 모든 활동.
고품질 소프트웨어를 위한 군인력 자원관리 개발 프로세스 가시화 구축 사례
1. 원가절감의 필요성 1) 의의 2) 원가절감 인식 무한 경쟁시대를 맞이하고 있습니다.
Introduction to Computers
소프트웨어 종합설계 (Software Capstone Design)
소프트웨어와 소프트웨어 개발 - Software Engineering -.
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
13.1 정보시스템의 개요 13.2 정보시스템의 개발 13.3 시스템 검사 13.4 시스템 문서화
Outsourcing도입전략방식의 연구
㈜ 직무분석을 통한 조직설계 및 신인사제도 수립을 위한 제안서
성공적인 웹사이트 구축 (2) 변화 발전하는 Site의 미래를 예측 반영해야 함.
CM 및 VE제도의 효율적 활용방안 동 아 대 학 교 건 축 학 부 교 수 이 학 기.
시스템 분석 및 디자인 SDLC 시스템 조사 시스템 분석 시스템 설계.
소프트웨어 종합설계 (Software Capstone Design)
품질개선활동 본 강의 자료는 2003학년도 교육인적자원부·한국교육학술정보원의 지원에 의하여 개발된 것임.
Life Cycle Cost Analysis Process 충북대학교 구조시스템공학과 시스템공학연구실
제2장 시스템 공학의 절차.
기업경영과 생산관리 교재 : 강의 홈 김태웅 지음, 생산, 운영관리의 이해 (제3판), 신영사
Presentation transcript:

소프트웨어 프로세스

1 내용  소프트웨어 프로세스  생명주기의 의미  생명주기 모델 –Waterfall Model –prototyping model –Spiral Model –Iteration Model

2 소프트웨어 개발이란 ? Requirements Problem Space Solution [Question]  Problem 이 무엇인가 ?  Solution 은 무엇인가 ?  Solution 구현을 위한 mechanism 은 무엇인가 ?  어떻게 구현할 것인가 ?  해결되어야 할 문제가 무엇인가 ?  고객이 구현된 산출물을 사용할 수 있는가 ?  보완할 필요가 있는가 ?  개발기간동안 발행되는 변화 / 변경을 어떻게 control 할 것인가 ? [Question]  Problem 이 무엇인가 ?  Solution 은 무엇인가 ?  Solution 구현을 위한 mechanism 은 무엇인가 ?  어떻게 구현할 것인가 ?  해결되어야 할 문제가 무엇인가 ?  고객이 구현된 산출물을 사용할 수 있는가 ?  보완할 필요가 있는가 ?  개발기간동안 발행되는 변화 / 변경을 어떻게 control 할 것인가 ?

3 개발단계 정의 (Definition) 개발 (Development) 유지보수 (Maintenance) 무엇어떻게변경 보호활동 (Umbrella Activities)

4 소프트웨어 개발 시 발생되는 이슈  지속적인 요구사항의 변경 – 변경에 따른 관리의 어려움 – 계획의 점검 시점, 비용의 estimation 이 어려움  여러 소프트웨어 시스템의 결합 – 새로운 시스템은 기존에 존재하는 시스템 (legacy system) 과 함께 결합되는 경우 – 이미 이관된 시스템과 개발중인 시스템의 개발팀이 상이한 경우 – 하나의 시스템을 위한 여러 개의 하위 소프트웨어 시스템을 여러 개발팀 / 조직에서 개발하는 경우  소프트웨어 프로세스를 통해 해결 가능

5 소프트웨어 프로세스  고품질의 소프트웨어를 구축하는 데에 요구되는 태스크 (Task) 에 대한 프레임워크 (Framework)  소프트웨어 개발활동에 필요한 다양한 태스크와 이에 대한 산출물  소프트웨어 프로세스 모델 – 소프트웨어의 생명주기와 관련된 모델 – 프로세스의 관리 및 개선에 관한 모델

6 내용  소프트웨어 프로세스  생명주기의 의미  생명주기 모델 –Waterfall Model –prototyping model –Spiral Model –Iteration Model

7 소프트웨어 생명주기 (Software Life Cycle )  Software is like humans.  It has a life cycle.  Software in a system is conceptualized first.  It becomes obsolescent at the end.  The period in between is called the software life cycle.

8 내용  소프트웨어 프로세스  생명주기의 의미  생명주기 모델 –Waterfall Model –prototyping model –Spiral Model –Iteration Model

9 소프트웨어 생명주기 모델 (Software Life Cycle Model)  소프트웨어 생명주기 모델 이란 ? –Attempt to generalize the development process into specified steps with associated activities and artifacts – 프로젝트 특성 ( 기간, 사용기술, 도메인 ) 에 따라 결정하여 적용한다.  왜 생명주기 모델을 사용하는가 ? – 개발 과정을 나눔으로써 관리하기가 쉽다 중요한 활동 식별, milestone 정의, 진척도 측정의 용이

10 소프트웨어 생명주기 모델 (Software Life Cycle Model)  대표적인 생명주기 모델 –Build and Fix Model –Waterfall Model –prototyping model –Spiral Model –Iteration Model  소프트웨어 개발의 두 가지 접근법 –“Big bang” 접근 제품이 한번에 전달 된다 Waterfall Model –Cyclical 접근 / iterative 한 접근방법 제품이 단계마다 개발되고 전달 된다 Spiral Model Iteration Model

11 Built-and-Fix Model  Unfortunately, many s/w products are developed with built-and-fix model.  Without specification or any attempt in design, just build a product, and reworked as many times needed to satisfy the customer.

12 Waterfall model (1/3)  Classic Lifecycle, 순차모델  소프트웨어 개발 각 단계들을 정의, 순차적으로 접근하는 방법 요구사항 분석 설계 구현 테스트 유지보수

13 Waterfall model (2/3)  특징 – 각 단계의 활동들이 선형적으로 수행 ( 각 단계 종료 후 다음 단계로 진행 )  장점 – 일정 개발 및 관리가 용이하며, 전체 과정의 이해가 용이 – 기술적인 위험이 적고, 응용분야를 잘 알고 있는 경우에 적합한 모델  단점 – 소프트웨어의 요구사항이 초기에 명확하게 정의되기 어려움 – 소프트웨어가 개발의 후반부에서 구체화되므로 중요한 문제점들이 뒤늦게 발견 됨 – 실제로 작동하는 프로그램은 개발 주기가 끝날 때야 확인할 수 있음 – 실제 프로젝트에서는 각 단계에서 제안하는 선형적인 흐름을 따르지 않는다

14 Waterfall model (3/3)  피드백을 적용한 순차 모델  분석, 설계, 구현, 테스트, 유지보수라는 틀을 제시, 소프트웨어 시스템을 개발하기 위한 전형으로서 남아 있음 요구사항 분석 설계 구현 테스트 유지보수

15 Prototype Model (1/3)  개발하려는 시스템의 주요 기능을 초기에 실제 운영할 모델로 개발하는 방법 요구사항 분석 프로토타입 개발 / 개선 프로토타입 고객 평가 프로토타입 고객 평가 구현 인수 및 설치

16 Prototype Model (2/3)  특징 – 요구사항이 불분명한 경우 유용한 모델 – 고객과 개발자간의 원활한 의사소통 가능  단점 – 프로토타입을 실제 제품으로 오해할 수 있음 – 비기능적 요구사항 및 품질 대한 부분은 확인하기 어려움 – 시제품은 작동여부를 확인하기 위한 것으로 적절하지 못한 프로그래밍 언어 및 비효율적인 알고리즘이 사용되는 경우가 있음

17 Prototype Model (3/3) 고객의 의견 수렴 시제품 개발 및 수정 고객의 시제품 테스트 Stop Start Engineer product Requirements gathering and refinement Quick design Refining prototype Customer evaluation of prototype Building prototype

18 Spiral Model (1/2)  폭포수 모델과 원형 패러다임의 장점에 위험 분석 (risk analysis) 을 추가  시스템을 개발하면서 생기는 위험을 관리하고 최소화 하려는 것이 목적  A simplified spiral model is as a waterfall model with each phase preceded by risk analysis. –Before commencing each phase, an attempt is made to control (resolve) the risks. If it is impossible to resolve all the significant risks at a stage, then the project is immediately terminated.

19 Spiral Model (2/2)  특징 – 대규모 시스템 및 위험 부담이 큰 시스템의 경우 적합  단점 – 모델이 복잡하여 프로젝트 관리에 어려움이 있음 – 위험 평가는 매우 중요하며, 전문적 지식이 필요함

20 계획 목표, 대안, 제 약사항 결정 고객 평가 평가결과와 다음 반복을 위한 계획 개발 개발과 다음 단계 작업 산출물의 검증 고객의 feedback 을 반영한 계획 고객 평가 초기 위험 분석 고객의 반응에 따른 위험 분석 추진여부 결정 Toward a completed system 첫 번째 prototype 다음 단계의 prototype 시스템 개발Cost Time 위험 분석 각 대안의 위험 분석 및 접근방법 선택 초기 요구사항 분석과 계획 수립

21

22 Iteration Model (1/3)  특징 –Waterfall model 의 순차개념과 prototype model 의 반복성 개념을 결합시킨 형태 – 소프트웨어 기능을 점진적으로 개발하는 것이다 – Prototype 과는 달리 실제 작동하는 핵심적인 기능들을 구현 – 반복마다 실행 가능한 릴리즈가 산출되고 이는 반복이 거듭될수록 향상되어 결국 최종 시스템으로 발전  유형 –Incremental Model ( 점증적 모델 ) –Evolutionary Model ( 진화적 모델 )

23 Incremental Model  Divide project into builds  Operational quality portion of product within weeks  Smaller capital outlay, rapid return on investment

24 Incremental Model  요구사항이 개발 초기 정의되었을 경우 적용 ( 무엇을 만들어야 되는지 확실하게 아는 경우 ) Analysis Design Code Test Design Code Test Design Code Test Delivery of 1 st Iteration Delivery of 2 nd Iteration Delivery of 3 rd Iteration Iteration/Increment 1 Iteration/Increment 2 Iteration/Increment 3

25 Evolutionary Model  요구사항이 개발 초기 정의되지 않았을 경우 적용 ( 무엇을 만들어야 하는지 확실하게 모르는 경우 ) Analysis Design Code Test Iteration 1 Iteration 2 Iteration 3 Analysis Design Code Test Analysis Design Code Test Delivery of 1 st Iteration Delivery of 2 nd Iteration Delivery of 3 rd Iteration

26 Unified Software Development Process

27 V 모델  특징 – 개발 단계별 테스트 활동에 focusing 한 모델 Test Specification Test Specification Test Specification Customer Requirements Technical Requirements High Level Design implementation Unit Test Integration Test System Test Acceptance Test Detailed Design

28 V 모델  예 - 2 Customer Requirements System Requirements System Architectural Design Acceptance Test System Test Integration Test SW Tech Reqs High Level Design Detailed Design System Test Unit Test Integration Test Implementation SYSTEM LEVEL COMPONEN T LEVEL Software Component Life Cycle Reqs Spec

29 팀 구성  5 명 이하의 팀원으로 구성  팀장 선출  팀명 – 팀장이 충분한 리더쉽을 발휘할 수 있는가 ? – 적절한 업무 분담이 가능한가 ? – 개발이 가능한 사람이 있는가 ? – 적극적으로 프로젝트에 참여하고 타인의 의견을 존중할 준비가 되어 있는가 ?

30 팀 프로젝트 시작  요구사항 – 개발할 응용소프트웨어 : 개별적으로 선택한다. – 단, 온라인으로 접속 가능한 응용소프트웨어다. – 데이터베이스의 생성 및 추가, 삭제, 변경 등의 작업이 들어간다. – 사용자인터페이스는 윈도우 기반에서 작동되는 GUI 다.  요령 – 이미 개발되어 예제로 나와있는 것을 참조한다. – 참조할 자료는 수업 중에 숙지하고 변경 가능한 것을 선택한다. – 팀의 능력을 파악하고 적절한 것을 선택한다. – 차후에 발전시켜서 사용할 수 있는 것으로 선택한다.