software development process - korean

68
Copyright All Right Reserved By Byungwook Cho 200 Software Development Process Javastudy network Byungwook Cho [email protected]

Upload: terry-cho

Post on 05-Dec-2014

2.282 views

Category:

Documents


3 download

DESCRIPTION

Describe software development process based on Craig Larman\'s methodology. It is practical and describes deliverables as well

TRANSCRIPT

Page 1: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Software Development Process

Javastudy networkByungwook Cho

[email protected]

Page 2: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Software Development Process

• Process– 누가 무엇을 언제 어떻게 할 것인지를 정의

• Software Development Process– 고품질의 소프트웨어를 개발하기 위한 효율적인 가이드라인을 제공– 현재까지의 경험을 기준으로 생성– 위험요소를 줄이고 , 개발에 대한 각종 예측을 가능하게 함

• 대상– 고객 : 고객의 요구사항 반영 , 최종 테스트– 개발자 : 개발의 이정표를 제시– 관리자 : 소프트웨어 개발에 관한 전반적인 관리 도구

Page 3: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Software Development Process

• Technologies– 기술적 바탕 위에서 프로세스를 정의

• Programming Language, OS, Computer system, network…

• Tools– 개발 프로세스를 위해 필요한 도구들을 사용

• DB 설계 , 소프트웨어 분석 /설계 , 소프트웨어 개발 , 테스트

• People– 현재 개발자들의 능력을 고려

• Organizational patterns– 전체 조직의 효율적인 관리가 필요

Page 4: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Rational Unified Process (RUP)

• Rational Unified Process– Use-Case-Driven Process

• Use-Case : 사용자의 요구사항을 정의• Use-Case model 이 분석과 설계를 이끌어 냄

– Architecture-Centric Process• 소프트웨어 시스템의 조직화• 시스템을 이루는 요소간의 구조적 연관성• elements/interfaces/collaborations/compositions

– Iterative and Incremental Process• 프로젝트를 소규모로 시작• 점진적으로 규모를 늘려감• 점진적으로 성능을 향상시킴

Page 5: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Rational Unified Process (RUP)

Page 6: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Rational Unified Process (RUP)

Page 7: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Our Process

• OSP (Object Space Process) + RUP– Work Flow : OSP– Analyze and Design Method : RUP

Plan & ElaborationPlan & Elaboration BuildBuild DeploymentDeployment

Stage 1000. Stage 2000. Stage 3000.

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Cycle 1Cycle 1

Activity 20XX

Cycle 2Cycle 2

Activity 21XX

Cycle NCycle N

Activity 2NXX…

Page 8: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Stage 1000.Plan & Eleboration

Stage 1000. Plan & EleborationActivity 1001. Define Draft Plan Activity 1002. Create Preliminary Investigation ReportActivity 1003. Define RequirementActivity 1004. Define Requirement ListActivity 1005. Record Term in GlossaryActivity 1006. Implement PrototypeActivity 1007. Define Use Case , Use Case DiagramActivity 1008. Define Draft Conceptual ModelActivity 1009. Define Draft System ArchitectureActivity 1010. Define Resource PlanActivity 1011. Revise Plan

 

 

Page 9: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Stage 2000. Build

Stage 2000. BuildActivity 2010 Revise PlanActivity 2020 Synchronize ArtifactsActivity 2030. Analyze

Activity 2031. Define Essential Use CasesActivity 2032. Refine Use Case DiagramActivity 2033. Define Activity Diagram (* optional)Activity 2034. Refine Glossary (*on going)Activity 2035. Refine Conceptual Model (* on going)Activity 2036. Define System Sequence DiagramActivity 2037. Define State Diagram (* optional )

Activity 2040. DesignActivity 2041. Define Real Use Cases (* optional)Activity 2042. Define UI,Story BoardActivity 2043. Refine System Architecture (* optional)Activity 2044. Define Interaction Diagram (Collaboration)Activity 2045. Define Design Class Diagram (* ongoing)Activity 2046. Define Database Scheme

Activity 2050. ImplementationActivity 2051. Implement Class & Interface Definition (*varied order)Activity 2052. Implement Methods (*varied order)Activity 2053. Implement UI (* varied order 2054)Activity 2054. Implement Data Related Class (* varied order 2053)Activity 2055. Integration

Activity 2060. TestActivity 2061. Unit Test (* ongoing with Activity 2050. Implementation)Activity 2062. Integration Test (* with Activity 2055. Integration)Activity 2063. Performance Test (* optional)Activity 2064. Acceptance Test

Page 10: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Stage 3000. Deployment

Stage 3000. DeploymentActivity 3001. Complete Technical DocumentActivity 3002. Complete User ManualActivity 3003. DeployActivity 3004. Acceptance Test (Client) Activity 3005. Document Test (Client)Activity 3006. TrainActivity 3007. Technical Support

Page 11: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Stage 1000. Plan & Elaboration

Plan & ElaborationPlan & Elaboration BuildBuild DeploymentDeployment

Stage 1000. Stage 2000. Stage 3000.

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Cycle 1Cycle 1

Activity 20XX

Cycle 2Cycle 2

Activity 21XX

Cycle NCycle N

Activity 2NXX…

Page 12: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1001. Define Draft Plan

• 대략적인 프로젝트 계획 수립– Project Objective 정의– 기본적인 Requirement 정의

• Functional• Non-Functional (response time,architecture)

– Resource Estimation 예측• Human Resource• Project Duration• Cost

– Basic Architecture

※ Output : 프로젝트 개요서

Page 13: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1002. Create Preliminary Investigation Report

• 실제 프로젝트 수행 준비 , 제안서 작업– Alternative Solution

• 라이브러리 등의 구입• Outsourcing• Other Options( 프리랜서 고용 )

– Project Justification (Business Demands)• Resource,Cost,Duration,Risk,Effect

– Risk Management• Find Risk Factor• Weight Risks• Risk Reduction Plan

– Market Analysis– Buying System and Software– Other Managerial Issues

※ Output : 프로젝트 수행 계획서 (or 제안서 )

※ Cost 및 Duration 측정 방법 : Data 기반 ,

Page 14: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1003. Define Requirement

• 요구 사항 정의– Requirement Card 작성 (※ On site customer)– Business Process 기능 중심 정의– 고객의 요구 사항을 서술형 ( 간단 명료한 문장 ) 으로 기술– 용어 통일

※ Output : Requirement Card

Page 15: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1004. Define Requirement List

• 요구사항을 분류– 기능별로 요구사항을 분류– 요구사항 분류 종류

• Functional Requirements• Performance Requirements• Operating Requirements• Interface Requirements• Other Requirements

– 테이블 형태로 기술– 요구사항별 번호 Indexing

※ 요구사항 리스트 문서 참고※ Output : Requirement List

Page 16: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1005. Record Term in Glossary

• 용어 사전 (* ongoing)– 용어의 통일– 가독성 및 Communication 의 혼선 방지– 구성

• Term : Things / Element 이름• Category : Use Case,Concept,Attribute,Class,Method etc• Remarks : 설명

※ Output : Glossary Term

Term Category Remarks

Page 17: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1006. Implement Prototype

• Prototype 구현 (* optional)– UI 중심의 Prototype– 시스템의 요구사항 및 설계에 기반 자료– 많은 비용과 시간이 소요– 고객과의 Communication 에 매우 유용

• Alternative Activity ( 개략적인 )– UI Design– Story Board※ Detail 한 UI Design 및 Story Board 는 Activity 2040 에서

전개

※ Output : Prototype System or UI Design, Story Board

Page 18: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1007. Define Use Case

• Use Case Diagram– Activity 1004. Requirement List 를 기반으로 작성– Cross Reference

• Use Case Description 에 Requirement # 맵핑• 요구사항 수용 , 진행 여부를 표시

– Rank Use Case – 개념적이고 , 매우 범위가 큰 Use Case

• 주요한 기능 중심으로 정의 • 예 ) 포탈 사이트 : 게시판 , 검색엔진 , 동호회 , 채팅 , 회원관리 etc.• 상세 Use Case 는 Stage 2000 에서 정의

– Purpose 및 Overview 까지 정의

※ Output : Use Case Diagram, Use Case Description , Activity Diagram (optional)

Page 19: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1007. Define Use Case

▷ Use case: Use case 이름▷ Actor: 이 Use case 를 사용하는 Actor▷ Cross Reference : 요구사항 리스트의 요구사항 기능 #▷ Purpose: Use case 의 목적▷ Overview: Use case 의 간략한 설명▷ Type: Primary,Secondary, or Optional▷ Main Flow

▷ Detailed Flow▷ Alternative Flow▷ Exception

○ Actor Action1. …2. …

4. …

○ System Response

3. …시작조건<Actor> <Event> Do not implement!!

(Implement in Stage 2000)

• Use Case Diagram

Page 20: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1008. Define Draft Conceptual Model

• Conceptual Model– 시스템을 도메인을 분석 및 이해하기 위한 Model

• Class Diagram 에서 Class 만 추출• Class Diagram – Entity,Control,Boundary 위주로 추출

– 순서• Class 식별

※ Output : Class Diagram, Sequence Diagram (or Collaboration Diagram)

ConceptDomain Class

Page 21: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1009. Define Draft System Architecture

• System Architecture 설계– Software Process 배치 구조– Hardware 배치 구조– 사용 Protocol 정의– 사용 기술 정의

※ Output : Architecture 요약서 or Component/Deployment Diagram (Activity Diagram-optional)

Architecture 요약서

Page 22: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1010. Define Resource Plan

• Resource Plan– 세부 스케쥴 정의– 인원 투여 계획 정의– 팀원간 작업 분담

※ Scheduling– Gant Chart (MS Project)– Table‘◆’ Mile Stone

※ Output : Schedule Table(MS-WORD) or Gant Chart(MS-Project)

Page 23: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 1011. Revise Plan

• Revise Plan– Project Scope

• What was automated ? • Coverage of System.

– Project Objective– Review Requirement– Review Use Case Diagram (sync with requirement)– Review Resource– Review Schedule

Page 24: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Stage 2000. Build

Plan & ElaborationPlan & Elaboration BuildBuild DeploymentDeployment

Stage 1000. Stage 2000. Stage 3000.

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Cycle 1Cycle 1

Activity 20XX

Cycle 2Cycle 2

Activity 21XX

Cycle NCycle N

Activity 2NXX…

Page 25: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2010 Revise Plan

• Revise Plan– 2010 에서는 생략 2110,2210,2*10 에서만 수행

(※ 2010-1011 에서 수행 : 중복 )– Requirement 중심으로 점검

• Use Case, Use Case Description 수정

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Page 26: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2020 Synchronize Artifacts

• Synchronize Artifacts– 모든 Output 을 찾아서 정리

• All Document(Spec,Diagram,Source Code,Binary etc.)

– 지금까지의 작업과 진행 상황을 정리• Version Control, Configuration Management

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Page 27: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2030. Analyze– 구축할 목표 시스템에 대한 분석

※ 분석결과와 설계 결과를 분리해서 저장해야 할 경우 (Rose 사용시 )case 1) 별도의 File 로 전개 가능case 2) Use Case View 에 Diagramming

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Page 28: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2031. Define Essential Use Cases– Activity 1007. 의 각 Use Case 를 상세한 Description 으로

전개– 필요에 따라 Sub Diagram 으로 표현 /전개 가능– Main Flow,Detailed Flow,Alternative Flow,Exception 정의

※ Output : Use Case Description Update

Page 29: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2032. Refine Use Case Diagram– 1007. Use Case Diagram Refine– Mistake 수정 및 Diagram Update

※ Output : Use Case Diagram Update

Page 30: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2033. Define Activity Diagram (* optional)– Activity 2032 의 각각의 Use Case 마다 , Activity Diagram

추가– 복잡한 상태를 표현하는 Use Case 에 적용

※ Output : Activity Diagram

Page 31: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2034. Refine Glossary (*on going)

Page 32: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2035. Refine Conceptual Model (* on going)– 최종 산출물

• Class Diagram– Class – Association : Name, Direction, Role, Multiplicity– Attribute※ Method 는 Design 단계에서 추가

※ Output : Concept Category List ,Class Diagram (method 정의 없음 )

Page 33: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2035. Refine Conceptual Model (* on going)▶ Class 추출 : Use Case 참고– step 1. List concepts(domain class) from use cases

• 클래스로 추출 가능한 명사 리스트 추출 – Using Concept Category List

• Use Case Diagram 과 Use Case Spec 이용– step 2. step1 에서 나온 concept 을 클래스로 정의

• 클래스 추출• Class Diagram 에 표시

Activity 2036. Sequence Diagram 으로 전개

Page 34: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2035. Refine Conceptual Model (* on going)▶ Class 추출 : Use Case 참고

• step 1 output : Using Concept Category List (* optional)

Concept Category Domain Class

Physical Object 수강신청 카드 , 학생 목록 , 목록

Places 학교 , 강의실

Container 수강신청 접수 목록 , 강의별 수강신청 목록 , 강의 목록

Transaction 수강신청

Role of people 학생 , 교수 , 조교 , 교무과 직원

< Using Concept Category List>

Page 35: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2035. Refine Conceptual Model (* on going) ▶ Association 정의 : Sequence Diagram, Use Case 참고– step 3. Association 추가

• Association• Direction

– step 4. Association Name 추가– step 5. Association Role and Multiplicity 추가

Activity 2036. Sequence Diagram 이후 전개

Page 36: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2035. Refine Conceptual Model (* on going) ▶ Attribute 추가 : Use Case , Sequence Diagram 참고– step 6. Attribute 추가

※ method 는 분석 단계에서 추가하지 않는다 .

Page 37: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2036. Define System Sequence Diagram– Use case Diagram 참고

• Real Use Case 로 구체화• Real Use Case 별 시나리오 전개

– 분석 위주의 Sequence Diagram 전개– Activity 2035 Class Identification 이후 전개 , 종료 후 2035 로

전개

※ Output : Sequence Diagram

Page 38: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2030. Analyze

• Activity 2037. Define State Diagram (* optional )– Class State Diagram

• 복잡한 State 를 나타내는 클래스• 예 ) 수강신청이 된 학생 , 수강 신청이 안된 학생

– System State Diagram• 전체 시스템의 상태• 예 ) 수강 신청 준비 , 수강 신청 , 수강 신청 확인 , 수강 신청 종료

※ Output : Activity Diagram (State 전개 위주 )

Page 39: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2040. Design

• Activity 2041. Define Real Use Cases (* optional)– Design 단계에서 , UI, 구현 요소에 대한 Use Case 구현 가능– Realize 된 Use Case 의 Sub Use Case, Sub Use Case

Diagram 으로 표현 가능– 시스템에 대한 이해가 어렵지 않는 경우 생략 가능

※ 과도한 문서화는 원활한 프로젝트 진행의 방해요소로 작용

※ Output : Real Use Case Diagram Update

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Page 40: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2040. Design

• Activity 2042. Define UI,Story Board– UI : 각각의 Use Case 별로 필요한 UI 정의– Story Board : 각 UI 디자인별로 전개되는 순서 ( 상태 전이 )

※ Output : UI Design (Power Point), Story Board(Power Point)

Page 41: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2042. UI Design Sample

컨텐츠 관리 워크플로우 시스템 통계홈

컨텐츠 관리 > Category Navigation (Site Management System) > 카테고리 생성 /수정 /삭제 STEP 1.

조병욱님 어서오십시요LogOut

카테고리 제목

카테고리 소제목

카테고리 요약 정보

등록 취소

카테고리 생성

카테고리 정보 수정은 카테고리 생성과 UI 가 동일하며 , 카테고리 제목과 소제목 , 요약정보만 변경할수 있다 .

Message 상자를 통해서 , 진짜로 삭제할지 여부를 확인받는다 .

카테고리 생성창은 프로그래밍 결과에 따라 팝업 또는 우측 프레임을 이용하도록 하고 ,원칙적으로는 팝업 윈도우로 프로그래밍하도록 한다 .

카테고리 생성카테고리 삭제카테고리 정보 수정-------------------템플릿 지정-------------------권한 지정-------------------헤드라인 페이지 지정-------------------

카테고리 생성카테고리 삭제카테고리 정보 수정-------------------템플릿 지정-------------------권한 지정-------------------헤드라인 페이지 지정------------------- 컨텐츠 타입

기본 타입부동산정보타입

Page 42: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2042. UI Design Sample

Page 43: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2042. UI Design Sample

Page 44: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

컨텐츠 관리 워크플로우 시스템 통계홈 조병욱님 어서오십시요LogOut

순서 필드명 데이터 타입 사이즈 Input 타입 Size Height 비고

1 [ 삭제 ]

2 [ 삭제 ]

3 [ 삭제 ]

필드명

데이터 타입 사이즈

Input Type Size Height

추가 버튼을 누르면 아래 테이블에 추가된다 .

순서 추가시에는 디폴트로 가장 끝 번호로 세팅되고 , 수정시에는 원래 번호로 세팅된다 .

디폴트

컨텐츠 타입명

등록 [XML 로 보기 ]

레이어를 띄워서 컨텐츠 타입의 저장 Schema 를 XML 형식으로 변환하여 보여준다 .

추가 수정

컨텐츠 타입 + 만화 인터넷 서비스 - 만화 템플릿 - 만화용 무선인터넷 템플릿 + 부동산 정보 - 아파트 템플릿 - 원룸 템플릿 + 쇼핑몰

Activity 2042. UI Design Sample

컨텐츠 관리 > 컨텐츠 타입 관리 > 새 컨텐츠 타입 등록 #2

Page 45: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2040. Design

• Activity 2043. Refine System Architecture (* optional)– 다음단계에서 부터 설계할 시스템에 대해서 , System

Architecture 점검– 라이브러리 및 각종 상용 패키지 도입 재 검토

Page 46: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2040. Design

• Activity 2044. Define Interaction Diagram (Collaboration)– 구현 위주의 Collaboration Diagram 작성

• Entity,Control,UI 클래스 중심으로 전개• 구현 위주로 전개 ( 실제로 코드화 될 스타일로 )• UI Class 추출

– 구현 Class Diagram 의 근거

※ Output : Collaboration Diagram

Page 47: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2040. Design

• Activity 2045. Define Design Class Diagram (* ongoing)– Activity 2035. Class Diagram 을 기반으로 추가– Activity 2044. Collaboration Diagram 을 통해서 구체적 구술※ Method 추가

※ Output : Class Diagram (method 추가 ) ※ Implementation Class

Page 48: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2040. Design

• Activity 2046. Define Database Scheme– 구성

• ERD : 데이터 베이스 개체간의 관계도• Scheme : Data Base Scheme ( 테이블 구조 )• DDL : Table Creation SQL Statement

– 정규화• 1NF,2NF,3NF• 프로그래밍 가능한 융통성 있는 정규화

※ Output : ERD (ER-WIN),Scheme (MS-WORD), DDL (SQL TEXT FILE)

Page 49: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2050. Implementation

• Implementation– Unit Test 와 병행– Naming rule 정의– Comment rule 정의 (JavaDoc Recommended)– * Varied Order

※ Output : Naming Rule Definition, Comment Rule Definition, Source Code JavaDoc (* optional, recommend)-only reusable class

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Page 50: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2050. Implementation

• Activity 2051. Implement Class & Interface Definition (*varied order)

– Business Class 중심 (Entity,Control,Boundary)

Page 51: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2050. Implementation

• Activity 2052. Implement Methods (*varied order)

Page 52: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2050. Implementation

• Activity 2053. Implement UI (* varied order 2054)– UI 위주의 Class◆ 기능별 중간 UI 중간 Release

※ Output : UI Related Class

Page 53: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2050. Implementation

• Activity 2054. Implement Data Related Class (* varied order 2053)

※ Output : Data Related

Page 54: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2050. Implementation

• Activity 2055. Integration– 각 클래스를 기능별로 Integration– Frequent Release

Page 55: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2060. Test

• Activity 2061. Unit Test (* ongoing with Activity 2050. Implementation)

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Page 56: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2060. Test

• Activity 2062. Integration Test (* with Activity 2055. Integration)

Page 57: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2060. Test

• Activity 2063. Performance Test (* optional)– Stress Test– Response Time Test

Java Class Profiling

○ java –prof HelloWorld -> java.prof○ java –Xrunhprof HelloWorld○ java-Xrunhprof:cpu=times HelloWorld※ jProbe

※ Output : Performance Data Table

Page 58: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 2060. Test

• Activity 2064. Acceptance Test– Activity 1007. Use Case Diagram 에 명시된 기능 구현 여부

체크– Story Board Check (Test Story 용 사용 가능 )– Test Story 제작

Page 59: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Stage 3000. Deployment

Plan & ElaborationPlan & Elaboration BuildBuild DeploymentDeployment

Stage 1000. Stage 2000. Stage 3000.

Revise PlanRevise Plan

Activity 2010

Synchronize ArtifactsSynchronize Artifacts

Activity 2020

AnalyzeAnalyze

Activity 2030

DesignDesign

Activity 2040

ImplementationImplementation

Activity 2050

TestTest

Activity 2060

Cycle 1Cycle 1

Activity 20XX

Cycle 2Cycle 2

Activity 21XX

Cycle NCycle N

Activity 2NXX…

Page 60: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Stage 3000. Deployment

• 내용– 개발 시스템 납품 /설치– 감수 /감리– 교육– 사후 지원

※ Stage 3000 은 상황에 따라 , 순서에 상관없이 전개 가능※ Stage 3000 은 상황에 따라 동시에 진행 가능

Page 61: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 3001. Complete Technical Document

• Client 와 Supplier 양쪽에서 함께 진행• Document Quality 체크• 고객이 요구한 Document 종류 체크• Document Format 체크

Page 62: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 3002. Complete User Manual

• 사용자 매뉴얼 작성– 인스톨 메뉴얼– 운영 매뉴얼– 오류 복구 메뉴얼

※ Output : 인스톨 매뉴얼 , 운영 매뉴얼 , 오류 복구 메뉴얼

Page 63: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 3003. Deploy

• 설치– 고객의 시스템에 설치– Crash 에 대한 대비 필요 : 백업 , 백업 장비

Page 64: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 3004. Acceptance Test (Client)

• Client 입장에서 요구사항이 충족되었는지 테스트• UI,Response Time 기타 요구사항에 대한 체크

※ Output : 테스트 확인서

Page 65: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 3005. Document Test (Client)

• 요구된 문서가 모두 전달되었는지 체크• Document 의 내용 체크

※ Output : 테스트 확인서

Page 66: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 3006. Train

• 시스템 운영 및 사용 교육

Page 67: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Activity 3007. Technical Support

• 추후 기술 지원

Page 68: Software Development Process - Korean

Copyright All Right Reserved By Byungwook Cho 2002.

Other Topics XP

• On-Site Customer• User Story• Story Estimation• Small Releases• Customer Defines Release• Iteration Planning• Quick Design Session• Programming• Test• Releasing