Software Development Process - Korean

1,536 views

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,536
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
65
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Software Development Process - Korean

  1. 1. Software Development Process Javastudy network Byungwook Cho [email_address]
  2. 2. Software Development Process <ul><li>Process </li></ul><ul><ul><li>누가 무엇을 언제 어떻게 할 것인지를 정의 </li></ul></ul><ul><li>Software Development Process </li></ul><ul><ul><li>고품질의 소프트웨어를 개발하기 위한 효율적인 가이드라인을 제공 </li></ul></ul><ul><ul><li>현재까지의 경험을 기준으로 생성 </li></ul></ul><ul><ul><li>위험요소를 줄이고 , 개발에 대한 각종 예측을 가능하게 함 </li></ul></ul><ul><li>대상 </li></ul><ul><ul><li>고객 : 고객의 요구사항 반영 , 최종 테스트 </li></ul></ul><ul><ul><li>개발자 : 개발의 이정표를 제시 </li></ul></ul><ul><ul><li>관리자 : 소프트웨어 개발에 관한 전반적인 관리 도구 </li></ul></ul>
  3. 3. Software Development Process <ul><li>Technologies </li></ul><ul><ul><li>기술적 바탕 위에서 프로세스를 정의 </li></ul></ul><ul><ul><ul><li>Programming Language, OS, Computer system, network … </li></ul></ul></ul><ul><li>Tools </li></ul><ul><ul><li>개발 프로세스를 위해 필요한 도구들을 사용 </li></ul></ul><ul><ul><ul><li>DB 설계 , 소프트웨어 분석 / 설계 , 소프트웨어 개발 , 테스트 </li></ul></ul></ul><ul><li>People </li></ul><ul><ul><li>현재 개발자들의 능력을 고려 </li></ul></ul><ul><li>Organizational patterns </li></ul><ul><ul><li>전체 조직의 효율적인 관리가 필요 </li></ul></ul>
  4. 4. Rational Unified Process (RUP) <ul><li>Rational Unified Process </li></ul><ul><ul><li>Use-Case-Driven Process </li></ul></ul><ul><ul><ul><li>Use-Case : 사용자의 요구사항을 정의 </li></ul></ul></ul><ul><ul><ul><li>Use-Case model 이 분석과 설계를 이끌어 냄 </li></ul></ul></ul><ul><ul><li>Architecture-Centric Process </li></ul></ul><ul><ul><ul><li>소프트웨어 시스템의 조직화 </li></ul></ul></ul><ul><ul><ul><li>시스템을 이루는 요소간의 구조적 연관성 </li></ul></ul></ul><ul><ul><ul><li>elements/interfaces/collaborations/compositions </li></ul></ul></ul><ul><ul><li>Iterative and Incremental Process </li></ul></ul><ul><ul><ul><li>프로젝트를 소규모로 시작 </li></ul></ul></ul><ul><ul><ul><li>점진적으로 규모를 늘려감 </li></ul></ul></ul><ul><ul><ul><li>점진적으로 성능을 향상시킴 </li></ul></ul></ul>
  5. 5. Rational Unified Process (RUP)
  6. 6. Rational Unified Process (RUP)
  7. 7. Our Process <ul><li>OSP (Object Space Process) + RUP </li></ul><ul><ul><li>Work Flow : OSP </li></ul></ul><ul><ul><li>Analyze and Design Method : RUP </li></ul></ul>Plan & Elaboration Build Deployment Stage 1000. Stage 2000. Stage 3000. Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060 Cycle 1 Activity 20XX Cycle 2 Activity 21XX Cycle N Activity 2NXX …
  8. 8. Stage 1000.Plan & Eleboration <ul><li>Stage 1000. Plan & Eleboration </li></ul><ul><ul><li>Activity 1001. Define Draft Plan </li></ul></ul><ul><ul><li>Activity 1002. Create Preliminary Investigation Report </li></ul></ul><ul><ul><li>Activity 1003. Define Requirement </li></ul></ul><ul><ul><li>Activity 1004. Define Requirement List </li></ul></ul><ul><ul><li>Activity 1005. Record Term in Glossary </li></ul></ul><ul><ul><li>Activity 1006. Implement Prototype </li></ul></ul><ul><ul><li>Activity 1007. Define Use Case , Use Case Diagram </li></ul></ul><ul><ul><li>Activity 1008. Define Draft Conceptual Model </li></ul></ul><ul><ul><li>Activity 1009. Define Draft System Architecture </li></ul></ul><ul><ul><li>Activity 1010. Define Resource Plan </li></ul></ul><ul><ul><li>Activity 1011. Revise Plan </li></ul></ul><ul><li>  </li></ul><ul><li>  </li></ul>
  9. 9. Stage 2000. Build <ul><li>Stage 2000. Build </li></ul><ul><ul><li>Activity 2010 Revise Plan </li></ul></ul><ul><ul><li>Activity 2020 Synchronize Artifacts </li></ul></ul><ul><ul><li>Activity 2030. Analyze </li></ul></ul><ul><ul><ul><li>Activity 2031. Define Essential Use Cases </li></ul></ul></ul><ul><ul><ul><li>Activity 2032. Refine Use Case Diagram </li></ul></ul></ul><ul><ul><ul><li>Activity 2033. Define Activity Diagram (* optional) </li></ul></ul></ul><ul><ul><ul><li>Activity 2034. Refine Glossary (*on going) </li></ul></ul></ul><ul><ul><ul><li>Activity 2035. Refine Conceptual Model (* on going) </li></ul></ul></ul><ul><ul><ul><li>Activity 2036. Define System Sequence Diagram </li></ul></ul></ul><ul><ul><ul><li>Activity 2037. Define State Diagram (* optional ) </li></ul></ul></ul><ul><ul><li>Activity 2040. Design </li></ul></ul><ul><ul><ul><li>Activity 2041. Define Real Use Cases (* optional) </li></ul></ul></ul><ul><ul><ul><li>Activity 2042. Define UI,Story Board </li></ul></ul></ul><ul><ul><ul><li>Activity 2043. Refine System Architecture (* optional) </li></ul></ul></ul><ul><ul><ul><li>Activity 2044. Define Interaction Diagram (Collaboration) </li></ul></ul></ul><ul><ul><ul><li>Activity 2045. Define Design Class Diagram (* ongoing) </li></ul></ul></ul><ul><ul><ul><li>Activity 2046. Define Database Scheme </li></ul></ul></ul><ul><ul><li>Activity 2050. Implementation </li></ul></ul><ul><ul><ul><li>Activity 2051. Implement Class & Interface Definition (*varied order) </li></ul></ul></ul><ul><ul><ul><li>Activity 2052. Implement Methods (*varied order) </li></ul></ul></ul><ul><ul><ul><li>Activity 2053. Implement UI (* varied order 2054) </li></ul></ul></ul><ul><ul><ul><li>Activity 2054. Implement Data Related Class (* varied order 2053) </li></ul></ul></ul><ul><ul><ul><li>Activity 2055. Integration </li></ul></ul></ul><ul><ul><li>Activity 2060. Test </li></ul></ul><ul><ul><ul><li>Activity 2061. Unit Test (* ongoing with Activity 2050. Implementation) </li></ul></ul></ul><ul><ul><ul><li>Activity 2062. Integration Test (* with Activity 2055. Integration) </li></ul></ul></ul><ul><ul><ul><li>Activity 2063. Performance Test (* optional) </li></ul></ul></ul><ul><ul><ul><li>Activity 2064. Acceptance Test </li></ul></ul></ul>
  10. 10. Stage 3000. Deployment <ul><li>Stage 3000. Deployment </li></ul><ul><ul><li>Activity 3001. Complete Technical Document </li></ul></ul><ul><ul><li>Activity 3002. Complete User Manual </li></ul></ul><ul><ul><li>Activity 3003. Deploy </li></ul></ul><ul><ul><li>Activity 3004. Acceptance Test (Client) </li></ul></ul><ul><ul><li>Activity 3005. Document Test (Client) </li></ul></ul><ul><ul><li>Activity 3006. Train </li></ul></ul><ul><ul><li>Activity 3007. Technical Support </li></ul></ul>
  11. 11. Stage 1000. Plan & Elaboration Plan & Elaboration Build Deployment Stage 1000. Stage 2000. Stage 3000. Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060 Cycle 1 Activity 20XX Cycle 2 Activity 21XX Cycle N Activity 2NXX …
  12. 12. Activity 1001. Define Draft Plan <ul><li>대략적인 프로젝트 계획 수립 </li></ul><ul><ul><li>Project Objective 정의 </li></ul></ul><ul><ul><li>기본적인 Requirement 정의 </li></ul></ul><ul><ul><ul><li>Functional </li></ul></ul></ul><ul><ul><ul><li>Non-Functional (response time,architecture) </li></ul></ul></ul><ul><ul><li>Resource Estimation 예측 </li></ul></ul><ul><ul><ul><li>Human Resource </li></ul></ul></ul><ul><ul><ul><li>Project Duration </li></ul></ul></ul><ul><ul><ul><li>Cost </li></ul></ul></ul><ul><ul><li>Basic Architecture </li></ul></ul>※ Output : 프로젝트 개요서
  13. 13. Activity 1002. Create Preliminary Investigation Report <ul><li>실제 프로젝트 수행 준비 , 제안서 작업 </li></ul><ul><ul><li>Alternative Solution </li></ul></ul><ul><ul><ul><li>라이브러리 등의 구입 </li></ul></ul></ul><ul><ul><ul><li>Outsourcing </li></ul></ul></ul><ul><ul><ul><li>Other Options( 프리랜서 고용 ) </li></ul></ul></ul><ul><ul><li>Project Justification (Business Demands) </li></ul></ul><ul><ul><ul><li>Resource,Cost,Duration,Risk,Effect </li></ul></ul></ul><ul><ul><li>Risk Management </li></ul></ul><ul><ul><ul><li>Find Risk Factor </li></ul></ul></ul><ul><ul><ul><li>Weight Risks </li></ul></ul></ul><ul><ul><ul><li>Risk Reduction Plan </li></ul></ul></ul><ul><ul><li>Market Analysis </li></ul></ul><ul><ul><li>Buying System and Software </li></ul></ul><ul><ul><li>Other Managerial Issues </li></ul></ul>※ Output : 프로젝트 수행 계획서 (or 제안서 ) ※ Cost 및 Duration 측정 방법 : Data 기반 ,
  14. 14. Activity 1003. Define Requirement <ul><li>요구 사항 정의 </li></ul><ul><ul><li>Requirement Card 작성 (※ On site customer) </li></ul></ul><ul><ul><li>Business Process 기능 중심 정의 </li></ul></ul><ul><ul><li>고객의 요구 사항을 서술형 ( 간단 명료한 문장 ) 으로 기술 </li></ul></ul><ul><ul><li>용어 통일 </li></ul></ul>※ Output : Requirement Card
  15. 15. Activity 1004. Define Requirement List <ul><li>요구사항을 분류 </li></ul><ul><ul><li>기능별로 요구사항을 분류 </li></ul></ul><ul><ul><li>요구사항 분류 종류 </li></ul></ul><ul><ul><ul><li>Functional Requirements </li></ul></ul></ul><ul><ul><ul><li>Performance Requirements </li></ul></ul></ul><ul><ul><ul><li>Operating Requirements </li></ul></ul></ul><ul><ul><ul><li>Interface Requirements </li></ul></ul></ul><ul><ul><ul><li>Other Requirements </li></ul></ul></ul><ul><ul><li>테이블 형태로 기술 </li></ul></ul><ul><ul><li>요구사항별 번호 Indexing </li></ul></ul>※ 요구사항 리스트 문서 참고 ※ Output : Requirement List
  16. 16. Activity 1005. Record Term in Glossary <ul><li>용어 사전 (* ongoing) </li></ul><ul><ul><li>용어의 통일 </li></ul></ul><ul><ul><li>가독성 및 Communication 의 혼선 방지 </li></ul></ul><ul><ul><li>구성 </li></ul></ul><ul><ul><ul><li>Term : Things / Element 이름 </li></ul></ul></ul><ul><ul><ul><li>Category : Use Case,Concept,Attribute,Class,Method etc </li></ul></ul></ul><ul><ul><ul><li>Remarks : 설명 </li></ul></ul></ul>※ Output : Glossary Term Term Category Remarks
  17. 17. Activity 1006. Implement Prototype <ul><li>Prototype 구현 (* optional) </li></ul><ul><ul><li>UI 중심의 Prototype </li></ul></ul><ul><ul><li>시스템의 요구사항 및 설계에 기반 자료 </li></ul></ul><ul><ul><li>많은 비용과 시간이 소요 </li></ul></ul><ul><ul><li>고객과의 Communication 에 매우 유용 </li></ul></ul><ul><li>Alternative Activity ( 개략적인 ) </li></ul><ul><ul><li>UI Design </li></ul></ul><ul><ul><li>Story Board </li></ul></ul><ul><ul><li>※ Detail 한 UI Design 및 Story Board 는 Activity 2040 에서 전개 </li></ul></ul>※ Output : Prototype System or UI Design, Story Board
  18. 18. Activity 1007. Define Use Case <ul><li>Use Case Diagram </li></ul><ul><ul><li>Activity 1004. Requirement List 를 기반으로 작성 </li></ul></ul><ul><ul><li>Cross Reference </li></ul></ul><ul><ul><ul><li>Use Case Description 에 Requirement # 맵핑 </li></ul></ul></ul><ul><ul><ul><li>요구사항 수용 , 진행 여부를 표시 </li></ul></ul></ul><ul><ul><li>Rank Use Case </li></ul></ul><ul><ul><li>개념적이고 , 매우 범위가 큰 Use Case </li></ul></ul><ul><ul><ul><li>주요한 기능 중심으로 정의 </li></ul></ul></ul><ul><ul><ul><li>예 ) 포탈 사이트 : 게시판 , 검색엔진 , 동호회 , 채팅 , 회원관리 etc. </li></ul></ul></ul><ul><ul><ul><li>상세 Use Case 는 Stage 2000 에서 정의 </li></ul></ul></ul><ul><ul><li>Purpose 및 Overview 까지 정의 </li></ul></ul>※ Output : Use Case Diagram, Use Case Description , Activity Diagram (optional)
  19. 19. Activity 1007. Define Use Case <ul><li>Use Case Diagram </li></ul>▷ 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 <ul><li>○ Actor Action </li></ul><ul><li>… </li></ul><ul><li>… </li></ul><ul><li>4. … </li></ul>○ System Response 3. … 시작조건 <Actor> <Event> Do not implement!! (Implement in Stage 2000)
  20. 20. Activity 1008. Define Draft Conceptual Model <ul><li>Conceptual Model </li></ul><ul><ul><li>시스템을 도메인을 분석 및 이해하기 위한 Model </li></ul></ul><ul><ul><ul><li>Class Diagram 에서 Class 만 추출 </li></ul></ul></ul><ul><ul><ul><li>Class Diagram – Entity,Control,Boundary 위주로 추출 </li></ul></ul></ul><ul><ul><li>순서 </li></ul></ul><ul><ul><ul><li>Class 식별 </li></ul></ul></ul>※ Output : Class Diagram, Sequence Diagram (or Collaboration Diagram) Concept Domain Class
  21. 21. Activity 1009. Define Draft System Architecture <ul><li>System Architecture 설계 </li></ul><ul><ul><li>Software Process 배치 구조 </li></ul></ul><ul><ul><li>Hardware 배치 구조 </li></ul></ul><ul><ul><li>사용 Protocol 정의 </li></ul></ul><ul><ul><li>사용 기술 정의 </li></ul></ul>※ Output : Architecture 요약서 or Component/Deployment Diagram (Activity Diagram-optional) Architecture 요약서
  22. 22. Activity 1010. Define Resource Plan <ul><li>Resource Plan </li></ul><ul><ul><li>세부 스케쥴 정의 </li></ul></ul><ul><ul><li>인원 투여 계획 정의 </li></ul></ul><ul><ul><li>팀원간 작업 분담 </li></ul></ul><ul><li>※ Scheduling </li></ul><ul><ul><li>Gant Chart (MS Project) </li></ul></ul><ul><ul><li>Table </li></ul></ul><ul><ul><li>‘ ◆ ’ Mile Stone </li></ul></ul>※ Output : Schedule Table(MS-WORD) or Gant Chart(MS-Project)
  23. 23. Activity 1011. Revise Plan <ul><li>Revise Plan </li></ul><ul><ul><li>Project Scope </li></ul></ul><ul><ul><ul><li>What was automated ? </li></ul></ul></ul><ul><ul><ul><li>Coverage of System. </li></ul></ul></ul><ul><ul><li>Project Objective </li></ul></ul><ul><ul><li>Review Requirement </li></ul></ul><ul><ul><li>Review Use Case Diagram (sync with requirement) </li></ul></ul><ul><ul><li>Review Resource </li></ul></ul><ul><ul><li>Review Schedule </li></ul></ul>
  24. 24. Stage 2000. Build Plan & Elaboration Build Deployment Stage 1000. Stage 2000. Stage 3000. Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060 Cycle 1 Activity 20XX Cycle 2 Activity 21XX Cycle N Activity 2NXX …
  25. 25. Activity 2010 Revise Plan <ul><li>Revise Plan </li></ul><ul><ul><li>2010 에서는 생략 2110,2210,2*10 에서만 수행 </li></ul></ul><ul><ul><li>(※ 2010-1011 에서 수행 : 중복 ) </li></ul></ul><ul><ul><li>Requirement 중심으로 점검 </li></ul></ul><ul><ul><ul><li>Use Case, Use Case Description 수정 </li></ul></ul></ul>Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060
  26. 26. Activity 2020 Synchronize Artifacts <ul><li>Synchronize Artifacts </li></ul><ul><ul><li>모든 Output 을 찾아서 정리 </li></ul></ul><ul><ul><ul><li>All Document(Spec,Diagram,Source Code,Binary etc.) </li></ul></ul></ul><ul><ul><li>지금까지의 작업과 진행 상황을 정리 </li></ul></ul><ul><ul><ul><li>Version Control, Configuration Management </li></ul></ul></ul>Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060
  27. 27. Activity 2030. Analyze <ul><li>Activity 2030. Analyze </li></ul><ul><ul><li>구축할 목표 시스템에 대한 분석 </li></ul></ul><ul><ul><li>※ 분석결과와 설계 결과를 분리해서 저장해야 할 경우 (Rose 사용시 ) </li></ul></ul><ul><ul><li>case 1) 별도의 File 로 전개 가능 </li></ul></ul><ul><ul><li>case 2) Use Case View 에 Diagramming </li></ul></ul>Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060
  28. 28. Activity 2030. Analyze <ul><li>Activity 2031. Define Essential Use Cases </li></ul><ul><ul><li>Activity 1007. 의 각 Use Case 를 상세한 Description 으로 전개 </li></ul></ul><ul><ul><li>필요에 따라 Sub Diagram 으로 표현 / 전개 가능 </li></ul></ul><ul><ul><li>Main Flow,Detailed Flow,Alternative Flow,Exception 정의 </li></ul></ul>※ Output : Use Case Description Update
  29. 29. Activity 2030. Analyze <ul><li>Activity 2032. Refine Use Case Diagram </li></ul><ul><ul><li>1007. Use Case Diagram Refine </li></ul></ul><ul><ul><li>Mistake 수정 및 Diagram Update </li></ul></ul>※ Output : Use Case Diagram Update
  30. 30. Activity 2030. Analyze <ul><li>Activity 2033. Define Activity Diagram (* optional) </li></ul><ul><ul><li>Activity 2032 의 각각의 Use Case 마다 , Activity Diagram 추가 </li></ul></ul><ul><ul><li>복잡한 상태를 표현하는 Use Case 에 적용 </li></ul></ul>※ Output : Activity Diagram
  31. 31. Activity 2030. Analyze <ul><li>Activity 2034. Refine Glossary (*on going) </li></ul>
  32. 32. Activity 2030. Analyze <ul><li>Activity 2035. Refine Conceptual Model (* on going) </li></ul><ul><ul><li>최종 산출물 </li></ul></ul><ul><ul><ul><li>Class Diagram </li></ul></ul></ul><ul><ul><ul><ul><li>Class </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Association : Name, Direction, Role, Multiplicity </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Attribute </li></ul></ul></ul></ul><ul><ul><ul><ul><li>※ Method 는 Design 단계에서 추가 </li></ul></ul></ul></ul>※ Output : Concept Category List ,Class Diagram (method 정의 없음 )
  33. 33. Activity 2030. Analyze <ul><li>Activity 2035. Refine Conceptual Model (* on going) </li></ul><ul><li>▶ Class 추출 : Use Case 참고 </li></ul><ul><ul><li>step 1. List concepts(domain class) from use cases </li></ul></ul><ul><ul><ul><li>클래스로 추출 가능한 명사 리스트 추출 </li></ul></ul></ul><ul><ul><ul><ul><li>Using Concept Category List </li></ul></ul></ul></ul><ul><ul><ul><li>Use Case Diagram 과 Use Case Spec 이용 </li></ul></ul></ul><ul><ul><li>step 2. step1 에서 나온 concept 을 클래스로 정의 </li></ul></ul><ul><ul><ul><li>클래스 추출 </li></ul></ul></ul><ul><ul><ul><li>Class Diagram 에 표시 </li></ul></ul></ul>Activity 2036. Sequence Diagram 으로 전개
  34. 34. Activity 2030. Analyze <ul><li>Activity 2035. Refine Conceptual Model (* on going) </li></ul><ul><li>▶ Class 추출 : Use Case 참고 </li></ul><ul><ul><ul><li>step 1 output : Using Concept Category List (* optional) </li></ul></ul></ul>< Using Concept Category List> Concept Category Domain Class Physical Object 수강신청 카드 , 학생 목록 , 목록 Places 학교 , 강의실 Container 수강신청 접수 목록 , 강의별 수강신청 목록 , 강의 목록 Transaction 수강신청 Role of people 학생 , 교수 , 조교 , 교무과 직원
  35. 35. Activity 2030. Analyze <ul><li>Activity 2035. Refine Conceptual Model (* on going) </li></ul><ul><li> ▶ Association 정의 : Sequence Diagram, Use Case 참고 </li></ul><ul><ul><li>step 3. Association 추가 </li></ul></ul><ul><ul><ul><li>Association </li></ul></ul></ul><ul><ul><ul><li>Direction </li></ul></ul></ul><ul><ul><li>step 4. Association Name 추가 </li></ul></ul><ul><ul><li>step 5. Association Role and Multiplicity 추가 </li></ul></ul>Activity 2036. Sequence Diagram 이후 전개
  36. 36. Activity 2030. Analyze <ul><li>Activity 2035. Refine Conceptual Model (* on going) </li></ul><ul><li> ▶ Attribute 추가 : Use Case , Sequence Diagram 참고 </li></ul><ul><ul><li>step 6. Attribute 추가 </li></ul></ul><ul><ul><li>※ method 는 분석 단계에서 추가하지 않는다 . </li></ul></ul>
  37. 37. Activity 2030. Analyze <ul><li>Activity 2036. Define System Sequence Diagram </li></ul><ul><ul><li>Use case Diagram 참고 </li></ul></ul><ul><ul><ul><li>Real Use Case 로 구체화 </li></ul></ul></ul><ul><ul><ul><li>Real Use Case 별 시나리오 전개 </li></ul></ul></ul><ul><ul><li>분석 위주의 Sequence Diagram 전개 </li></ul></ul><ul><ul><li>Activity 2035 Class Identification 이후 전개 , 종료 후 2035 로 전개 </li></ul></ul>※ Output : Sequence Diagram
  38. 38. Activity 2030. Analyze <ul><li>Activity 2037. Define State Diagram (* optional ) </li></ul><ul><ul><li>Class State Diagram </li></ul></ul><ul><ul><ul><li>복잡한 State 를 나타내는 클래스 </li></ul></ul></ul><ul><ul><ul><li>예 ) 수강신청이 된 학생 , 수강 신청이 안된 학생 </li></ul></ul></ul><ul><ul><li>System State Diagram </li></ul></ul><ul><ul><ul><li>전체 시스템의 상태 </li></ul></ul></ul><ul><ul><ul><li>예 ) 수강 신청 준비 , 수강 신청 , 수강 신청 확인 , 수강 신청 종료 </li></ul></ul></ul>※ Output : Activity Diagram (State 전개 위주 )
  39. 39. Activity 2040. Design <ul><li>Activity 2041. Define Real Use Cases (* optional) </li></ul><ul><ul><li>Design 단계에서 , UI, 구현 요소에 대한 Use Case 구현 가능 </li></ul></ul><ul><ul><li>Realize 된 Use Case 의 Sub Use Case, Sub Use Case Diagram 으로 표현 가능 </li></ul></ul><ul><ul><li>시스템에 대한 이해가 어렵지 않는 경우 생략 가능 </li></ul></ul><ul><ul><li>※ 과도한 문서화는 원활한 프로젝트 진행의 방해요소로 작용 </li></ul></ul>※ Output : Real Use Case Diagram Update Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060
  40. 40. Activity 2040. Design <ul><li>Activity 2042. Define UI,Story Board </li></ul><ul><ul><li>UI : 각각의 Use Case 별로 필요한 UI 정의 </li></ul></ul><ul><ul><li>Story Board : 각 UI 디자인별로 전개되는 순서 ( 상태 전이 ) </li></ul></ul>※ Output : UI Design (Power Point), Story Board(Power Point)
  41. 41. Activity 2042. UI Design Sample 컨텐츠 관리 워크플로우 시스템 통계 홈 컨텐츠 관리 > Category Navigation (Site Management System) > 카테고리 생성 / 수정 / 삭제 STEP 1. 조병욱님 어서오십시요 LogOut 카테고리 제목 카테고리 소제목 카테고리 요약 정보 등록 취소 카테고리 생성 카테고리 정보 수정은 카테고리 생성과 UI 가 동일 하며 , 카테고리 제목과 소제목 , 요약정보만 변경할 수 있다 . Message 상자를 통해서 , 진짜로 삭제할지 여부를 확인받는다 . 카테고리 생성창은 프로그래밍 결과에 따라 팝업 또는 우측 프레임을 이용하도록 하고 , 원칙적으로는 팝업 윈도우로 프로그래밍하도록 한다 . 카테고리 생성 카테고리 삭제 카테고리 정보 수정 ------------------- 템플릿 지정 ------------------- 권한 지정 ------------------- 헤드라인 페이지 지정 ------------------- 컨텐츠 타입 기본 타입 부동산정보타입
  42. 42. Activity 2042. UI Design Sample
  43. 43. Activity 2042. UI Design Sample
  44. 44. Activity 2042. UI Design Sample 컨텐츠 관리 워크플로우 시스템 통계 홈 조병욱님 어서오십시요 LogOut 필드명 데이터 타입 사이즈 Input Type Size Height 추가 버튼을 누르면 아래 테이블에 추가된다 . 순서 추가시에는 디폴트로 가장 끝 번호로 세팅되고 , 수정시에는 원래 번호로 세팅된다 . 디폴트 컨텐츠 타입명 등록 [XML 로 보기 ] 레이어를 띄워서 컨텐츠 타입의 저장 Schema 를 XML 형식으로 변환하여 보여준다 . 추가 수정 컨텐츠 타입 + 만화 인터넷 서비스 - 만화 템플릿 - 만화용 무선인터넷 템플릿 + 부동산 정보 - 아파트 템플릿 - 원룸 템플릿 + 쇼핑몰 컨텐츠 관리 > 컨텐츠 타입 관리 > 새 컨텐츠 타입 등록 #2 순서 필드명 데이터 타입 사이즈 Input 타입 Size Height 비고 1 [ 삭제 ] 2 [ 삭제 ] 3 [ 삭제 ]
  45. 45. Activity 2040. Design <ul><li>Activity 2043. Refine System Architecture (* optional) </li></ul><ul><ul><li>다음단계에서 부터 설계할 시스템에 대해서 , System Architecture 점검 </li></ul></ul><ul><ul><li>라이브러리 및 각종 상용 패키지 도입 재 검토 </li></ul></ul>
  46. 46. Activity 2040. Design <ul><li>Activity 2044. Define Interaction Diagram (Collaboration) </li></ul><ul><ul><li>구현 위주의 Collaboration Diagram 작성 </li></ul></ul><ul><ul><ul><li>Entity,Control,UI 클래스 중심으로 전개 </li></ul></ul></ul><ul><ul><ul><li>구현 위주로 전개 ( 실제로 코드화 될 스타일로 ) </li></ul></ul></ul><ul><ul><ul><li>UI Class 추출 </li></ul></ul></ul><ul><ul><li>구현 Class Diagram 의 근거 </li></ul></ul>※ Output : Collaboration Diagram
  47. 47. Activity 2040. Design <ul><li>Activity 2045. Define Design Class Diagram (* ongoing) </li></ul><ul><ul><li>Activity 2035. Class Diagram 을 기반으로 추가 </li></ul></ul><ul><ul><li>Activity 2044. Collaboration Diagram 을 통해서 구체적 구술 </li></ul></ul><ul><ul><li>※ Method 추가 </li></ul></ul>※ Output : Class Diagram (method 추가 ) ※ Implementation Class
  48. 48. Activity 2040. Design <ul><li>Activity 2046. Define Database Scheme </li></ul><ul><ul><li>구성 </li></ul></ul><ul><ul><ul><li>ERD : 데이터 베이스 개체간의 관계도 </li></ul></ul></ul><ul><ul><ul><li>Scheme : Data Base Scheme ( 테이블 구조 ) </li></ul></ul></ul><ul><ul><ul><li>DDL : Table Creation SQL Statement </li></ul></ul></ul><ul><ul><li>정규화 </li></ul></ul><ul><ul><ul><li>1NF,2NF,3NF </li></ul></ul></ul><ul><ul><ul><li>프로그래밍 가능한 융통성 있는 정규화 </li></ul></ul></ul>※ Output : ERD (ER-WIN),Scheme (MS-WORD), DDL (SQL TEXT FILE)
  49. 49. Activity 2050. Implementation <ul><li>Implementation </li></ul><ul><ul><li>Unit Test 와 병행 </li></ul></ul><ul><ul><li>Naming rule 정의 </li></ul></ul><ul><ul><li>Comment rule 정의 (JavaDoc Recommended) </li></ul></ul><ul><ul><li>* Varied Order </li></ul></ul>※ Output : Naming Rule Definition, Comment Rule Definition, Source Code JavaDoc (* optional, recommend)-only reusable class Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060
  50. 50. Activity 2050. Implementation <ul><li>Activity 2051. Implement Class & Interface Definition (*varied order) </li></ul><ul><ul><li>Business Class 중심 (Entity,Control,Boundary) </li></ul></ul>
  51. 51. Activity 2050. Implementation <ul><li>Activity 2052. Implement Methods (*varied order) </li></ul>
  52. 52. Activity 2050. Implementation <ul><li>Activity 2053. Implement UI (* varied order 2054) </li></ul><ul><ul><li>UI 위주의 Class </li></ul></ul><ul><ul><li>◆ 기능별 중간 UI 중간 Release </li></ul></ul>※ Output : UI Related Class
  53. 53. Activity 2050. Implementation <ul><li>Activity 2054. Implement Data Related Class (* varied order 2053) </li></ul>※ Output : Data Related
  54. 54. Activity 2050. Implementation <ul><li>Activity 2055. Integration </li></ul><ul><ul><li>각 클래스를 기능별로 Integration </li></ul></ul><ul><ul><li>Frequent Release </li></ul></ul>
  55. 55. Activity 2060. Test <ul><li>Activity 2061. Unit Test (* ongoing with Activity 2050. Implementation) </li></ul>Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060
  56. 56. Activity 2060. Test <ul><li>Activity 2062. Integration Test (* with Activity 2055. Integration) </li></ul>
  57. 57. Activity 2060. Test <ul><li>Activity 2063. Performance Test (* optional) </li></ul><ul><ul><li>Stress Test </li></ul></ul><ul><ul><li>Response Time Test </li></ul></ul>Java Class Profiling ○ java – prof HelloWorld -> java.prof ○ java – Xrunhprof HelloWorld ○ java-Xrunhprof:cpu=times HelloWorld ※ jProbe ※ Output : Performance Data Table
  58. 58. Activity 2060. Test <ul><li>Activity 2064. Acceptance Test </li></ul><ul><ul><li>Activity 1007. Use Case Diagram 에 명시된 기능 구현 여부 체크 </li></ul></ul><ul><ul><li>Story Board Check (Test Story 용 사용 가능 ) </li></ul></ul><ul><ul><li>Test Story 제작 </li></ul></ul>
  59. 59. Stage 3000. Deployment Plan & Elaboration Build Deployment Stage 1000. Stage 2000. Stage 3000. Revise Plan Activity 2010 Synchronize Artifacts Activity 2020 Analyze Activity 2030 Design Activity 2040 Implementation Activity 2050 Test Activity 2060 Cycle 1 Activity 20XX Cycle 2 Activity 21XX Cycle N Activity 2NXX …
  60. 60. Stage 3000. Deployment <ul><li>내용 </li></ul><ul><ul><li>개발 시스템 납품 / 설치 </li></ul></ul><ul><ul><li>감수 / 감리 </li></ul></ul><ul><ul><li>교육 </li></ul></ul><ul><ul><li>사후 지원 </li></ul></ul><ul><li>※ Stage 3000 은 상황에 따라 , 순서에 상관없이 전개 가능 </li></ul><ul><li>※ Stage 3000 은 상황에 따라 동시에 진행 가능 </li></ul>
  61. 61. Activity 3001. Complete Technical Document <ul><li>Client 와 Supplier 양쪽에서 함께 진행 </li></ul><ul><li>Document Quality 체크 </li></ul><ul><li>고객이 요구한 Document 종류 체크 </li></ul><ul><li>Document Format 체크 </li></ul>
  62. 62. Activity 3002. Complete User Manual <ul><li>사용자 매뉴얼 작성 </li></ul><ul><ul><li>인스톨 메뉴얼 </li></ul></ul><ul><ul><li>운영 매뉴얼 </li></ul></ul><ul><ul><li>오류 복구 메뉴얼 </li></ul></ul>※ Output : 인스톨 매뉴얼 , 운영 매뉴얼 , 오류 복구 메뉴얼
  63. 63. Activity 3003. Deploy <ul><li>설치 </li></ul><ul><ul><li>고객의 시스템에 설치 </li></ul></ul><ul><ul><li>Crash 에 대한 대비 필요 : 백업 , 백업 장비 </li></ul></ul>
  64. 64. Activity 3004. Acceptance Test (Client) <ul><li>Client 입장에서 요구사항이 충족되었는지 테스트 </li></ul><ul><li>UI,Response Time 기타 요구사항에 대한 체크 </li></ul>※ Output : 테스트 확인서
  65. 65. Activity 3005. Document Test (Client) <ul><li>요구된 문서가 모두 전달되었는지 체크 </li></ul><ul><li>Document 의 내용 체크 </li></ul>※ Output : 테스트 확인서
  66. 66. Activity 3006. Train <ul><li>시스템 운영 및 사용 교육 </li></ul>
  67. 67. Activity 3007. Technical Support <ul><li>추후 기술 지원 </li></ul>
  68. 68. Other Topics XP <ul><li>On-Site Customer </li></ul><ul><li>User Story </li></ul><ul><li>Story Estimation </li></ul><ul><li>Small Releases </li></ul><ul><li>Customer Defines Release </li></ul><ul><li>Iteration Planning </li></ul><ul><li>Quick Design Session </li></ul><ul><li>Programming </li></ul><ul><li>Test </li></ul><ul><li>Releasing </li></ul>

×