SlideShare a Scribd company logo
1 of 39
Download to read offline
Công cụ và môi trường phát triển phần mềm


                                     Giới thiệu
                              Rational Unified Process




Giới thiệu Rational Unified Process
                                                   1
Mục tiêu: Rational Unified Process

       w Mô tả Unified Modeling Language (UML)
       w Định nghĩa qui trình phát triển phần mềm
       w Mô tả Rational Unified Process (RUP)
       w Trình bày về 4 phase của RUP các cột mốc của chúng
       w Định nghĩa vòng lặp (iteration) và quan hệ của chúng với các
         phase
       w Diển tả quan hệ giữa:
          § Các model và các workflow
          § Các phase, iteration, và workflow
       w Định nghĩa artifact, worker, và activity
       w Nêu tầm quan trọng của sự hỗ trợ bởi các công cụ (tool) tự
         động

Giới thiệu Rational Unified Process
                                      2
Khi xây dựng PM, không chỉ cần ngôn ngữ




                                          Team-Based
                                          Development




                                      Modeling       Unified
                                      Language       Process


Giới thiệu Rational Unified Process
                                                 3
UML là gì?

       w Unified Modeling Language (UML) là ngôn ngữ giúp
             • đặc tả
             • trực quan hóa
             • xây dựng
             • làm sưu liệu
         các artifact của một hệ thống phần mềm




Giới thiệu Rational Unified Process
                                      4
Lịch sử của UML




Giới thiệu Rational Unified Process
                                      5
Đầu vào của UML

                                                    Booch
                                      Rumbaugh                    Jacobson
                                                                                          Fusion
                         Meyer
                                                                                   Operation descriptions,
                 Before and after
                                                                                   Message numbering
                    conditions

                                                                                            Embley
                     Harel
                                                                                        Singleton classes,
                State charts
                                                                                        High-level view

                          Gamma, et.al
                                                                                     Wirfs-Brock
                    Frameworks, patterns,
                                                                                     Responsibilities
                          notes           Shlaer - Mellor           Odell

                                          Object Lifecycles       Classification



Giới thiệu Rational Unified Process
                                                              6
UML cung cấp các lược đồ chuẩn

                                                                       State
                                                                        State
                                                                         State
                                                                          State
                                                                     Diagrams
                                                                          Class
                                                                     Diagrams
                                                                           Class
                                                                      Diagrams
                                                   Use-Case
                                                   Use-Case            Diagrams
                                                                        Diagrams
                                                    Use-Case
                                                     Use-Case
                                                   Diagrams              Diagrams           State
                                                                                             State
                          Use-Case                    Use-Case
                                                   Diagrams
                                                      Use-Case
                                                    Diagrams                                  State
                                                                                               State
                                                                                          Diagrams
                          Use-Case
                           Use-Case                  Diagrams                                  Object
                                                                                          Diagrams
                                                                                                Object
                            Use-Case
                          Diagrams
                              Activity                Diagrams
                                                      Diagrams                             Diagrams
                                                                                            Diagrams
                          Diagrams
                              Activity
                           Diagrams                                                          Diagrams
                                                                                              Diagrams
                            Diagrams
                             Diagrams
                             Diagrams


                 Scenario
                  Scenario                                                                  State
                                                                                             State
                   Scenario
                    Scenario
                 Diagrams                                                                     State
                                                                                               State
                                                                                          Diagrams
                    Sequence
                 Diagrams
                     Sequence
                  Diagrams                                                                      State
                                                                                          Diagrams
                                                                                                 State
                                                                                           Diagrams
                   Diagrams
                    Diagrams                                 Models                         Diagrams
                                                                                             Diagrams
                     Diagrams                                                                 Diagrams


                                 Scenario
                                  Scenario
                                                                               Component
                                                                                Component
                                                                                 Component
                                   Scenario
                                    Scenario
                                 Diagrams                                       Diagrams
                                                                                  Component
                                                                                 Component
                                                                                 Diagrams
                                  Collaboration
                                 Diagrams
                                   Collaboration
                                  Diagrams                  Deployment
                                                            Deployment            Component
                                                                                  Diagrams
                                                                                   Diagrams
                                   Diagrams
                                    Diagrams                 Diagrams               Diagrams
                                                                                    Diagrams
                                     Diagrams                Diagrams



Giới thiệu Rational Unified Process
                                                                 7
Ví dụ một lược đồ trong UML: Use-Case
                               Hệ thống Đăng Ký học phần ở một Trường ĐH


                                                Register for Courses
                                 Student



                                               Select Courses to Teach      Course Catalog

                               Professor




                                           Maintain Professor Information


                                           Maintain Student Information
                              Registrar

                                                Close Registration
                                                                            Billing System
Giới thiệu Rational Unified Process
                                                           8
Ví dụ một lược đồ trong UML: Class
                               Hệ thống Đăng Ký học phần ở một Trường ĐH
                                                                                                  <<boundary>>
                                      <<boundary>>                                            MaintainScheduleForm
                                        MainForm

                                                             1           0..1
                       // select maintain schedule()                             + // open()
                                                                                 + // select 4 primary and 2 alternate offerings()

                                                                                                             1

                                                                                                             1
                                                 <<boundary>>                                       <<control>>
                                                                         1           0..*
                                              CourseCatalogSystem                              RegistrationController

                                             // get course offerings()                      // add courses to schedule()
                                                                                            // get course offerings ()
                                                                                                      0..1


                                                                                                       1

                                                                                                     <<entity>>
                                                                                                      Schedule

                                                                                              // create with offerings()
Giới thiệu Rational Unified Process
                                                                             9
Các lược đồ là các Artifact then chốt

                                           Use-Case
                                                                                                                                                                                                                                              Class Diagram                                                                                                                                 State Diagram
                                           Diagram                                                                                                                                                                                                              FileMgr
                                                                                                                                                                                                                                                                                                               DocumentList
                                                                                                                                                                                                                                                                                                                                                     Document
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                add file




                                                                                                                                                                                                                                                                                                            add( )                            name : int
                                                                                                                                                                                                                                                           fetchDoc( )                                      delete( )
                                                                                                                                                                                                                                                                                                                                              docid : int
                                                                                                                                                                                                                                                           sortByName( )                                                                      numField : int
                                                                                                                                                                                                                                                                                                                                                                                                                                          add file [ numberOffile==MAX ] /                      Writing
                                                                                                                                                                                                                                                                                                                                              get( )                                                                                                  flag OFF
                                                                                                                                                                                                                                                                                                                                              open( )                read() fill the
                                                                                                                                                                                                                                                                                                                                              close( )               code..
                                                                                                                                                                                                                                                                                                 FileList                                     read( )
                                                                                                                                                                                                                                                                                                                                              sortFileList( )                                                     Openning
                                                               Use-Case 1                                                                                                                                                                                                                                        fList                        create( )
                                                                                                                                                                                                                                                                                                                                              fillDocument( )
                                                                                                                                                                                                                                                                                             add( )
                                                                                                                                                                                                                                                                                             delete( )
                                                                                                                                                                                                                                                                                                                 1                                                                                                                                                                     close file
                                 Actor A                                                                                                                                                                Actor B
                                                                                                                                                                                                                                                                                                                                                                                                                                                      close file
                                                                                                                                                                                                                                                                                                                                                                                                                                                                             Closing
                                                                                                                                                                                                                                                                                                                                                                                                                                Reading

                                                                                                                                                                                                                                                                       rep
                                                               Use-Case 2                                                                                                                                                                                                                         File

                                                                                                                                                                                                                                                                                                                                                                                                <<entity>>
                                                                                                                                                                                                                                                               Repository

                                                                                                                                                                                                                                                         (from Persistence)

                                                                                                                                                                                                                                                         name : char * = 0
                                                                                                                                                                                                                                                                                             read( )
                                                                                                                                                                                                                                                                                                                              GrpFile
                                                                                                                                                                                                                                                                                                                                                                                                Customer
                                                                                                                                                                                                                                                                                                                              read( )                                                          name
         Domain
                                                                                                                                                                                                                                                         readDoc( )
                                                                                                                                                                                                                                                         readFile( )                                                          open( )
                                                                                                                                                                                                                                                                                                                              create( )
                                                                                                                                                                                                                                                                                                                                                                                               addr
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           Deployment
                                                                                                                                                                                                                                                                                                                              fillFile( )

                                                                                                                                                                                                                                                                                                                                                                                              receive()
                                                               Use-Case 3                                                                                                                                                                                                                                                                                                                     withdraw()
         Expert                                                                                                                                                                                                                                                                                                                                                                               fetch()
                                                                                                                                                                                                                                                                                                                                                                                              send()
                                                                                                                                                                                                                                                                                       UI




                                                                                                                                                                                                                                                                                                                                                       MFC                                                Class                                                                                            Diagram
                                                                                                                                                                                                                                                                              DocumentApp

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ®
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 - À©µµ¿ì NT: ÀÀ¿ë¼-¹ö
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö




                                                                                                                                                                                                                                                                                                                                                         RogueWave
                                                                                                                                                                                                                                                                                                                                                                                                                             Repository                                  DocumentList                                       Window95                                        Windows95
                                                                                                                                                             9: sortByName ( )                                                                                                 Persistence                                                                                                                                                                                                                                                                                                                          Windows95




                                                                                                                                                                                                                                                                                                                                            global

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ¹®¼-°ü¸®

                                                                                                                                                                                                                                                                                                                                                                                                 FileManager                                                                                                           Ŭ¶óÀ̾ðÆ®.EXE
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ¹®¼-°ü¸® ¾ÖÇø´


                                                                                                                                         mainWnd : MainWnd                                                                                                                                                                                                                                                                                                                                                                                               Windows
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           NT

                                                                                    1: Doc view request ( )




                                                                                                                                                                                                                                                                                                                               Package
                                                                                                                                                L




                                                                                                                                                                                                                                                                                                                                                                                                                             Document                                                                                                                                                                 Solaris


                                                                                                                                                                      2: fetchDoc( )
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ¹®¼-°ü¸® ¿£Áø.EXE
                                                                                                                                                                                                                4: create ( )                 gFile : GrpFile
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Alpha
                                                                                                                                                                                                                8: fillFile ( )                                                                                                                                                                                                                                                                                                                                                                                                   UNIX
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ÀÀ¿ë¼-¹ö.EXE

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       Windows




                                                                                                                                                                                                                                                                                                                               Diagram
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NT

                                                                         user : »ç¿ëÀÚ                                                                                                                                                                                                                                                                                                      GraphicFile

User Interface                                                                                                                        fileMgr : FileMgr
                                                                                                                                                                                                                            3: create ( )

                                                                                                                                                                                                                        6: fillDocument ( )
                                                                                                                                                                                                                                                                                                                                                                                                               File                                                FileList
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     IBM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Mainf rame




                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              µ¥ÀÌŸº£À̽º¼-¹ö




Definition                                                                                             repository : Repository
                                                                                                                                                          7: readFile ( )

                                                                                                                                                         5: readDoc ( )
                                                                                                                                                                                                                                     document : Document




                                                                                                                                                                                                                                                                                                                                                                                                                             Forward Engineering(Code Generation)
                                                              Collaboration Diagram                                                                                                                                                                                                                                                                                     Component                                                       and
                                                                                                  mainWnd                         fileMgr :                 document :                                  gFile        repository
                                                                                                                                                                                                                                                                                                                                                                        Diagram                                                      Reverse Engineering
                                                                      user                                                         FileMgr                   Document


                                            ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦           1: Doc view request ( )




                                                                                                                                                                                                                                                                                                                                                                                                                  Source Code edit, compile, debug, link
                                            »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.


                                                                                                                     2: fetchDoc( )



                                                                                                                                                 3: create ( )




                                                                                                                                                                    4: create ( )




                                                                                                                                                                                      5: readDoc ( )




                                            È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â                                                                               6: fillDocument ( )
                                            ¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼-
                                            °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.


                                                                                                                                                                                      7: readFile ( )




                                                                                                                                                                    8: fillFile ( )



                                             È-¸é °´Ã¼´Â ÀоîµéÀÎ                                        9: sortByName ( )
                                             °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
                                             Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡
                                             º¸¿©ÁØ´Ù.




                                       Sequence Diagram

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Executable System

Giới thiệu Rational Unified Process
                                                                                                                                                                                                                                                                                                                                                                                       10
Qui trình là gì?


                 Một qui trình xác định Ai làm Gì, Khi nào và Như thế nào để
                 đạt được mục đích cuối cùng. Trong Công nghệ phần mềm
                 đích là xây dựng một sản phẩm phần mềm hoặc nâng cấp một
                 sản phẩm có sẵn




                    Các yêu cầu       Software Engineering   Hệ thống
                    mới/thay đổi            Process          mới/thay đổi




Giới thiệu Rational Unified Process
                                               11
Một qui trình hiệu quả ...

       w Cung cấp các chỉ dẫn để phát triển một cách hiệu quả một
         phần mềm có chất lượng
       w Giảm thiểu rủi ro tăng khả năng tiền định
       w Nắm giữ và thể hiện các kinh nghiệm tốt
          § Học từ các kinh nghiệm khác
          § Nắm vững các kiến thức nền tảng
          § Mở rộng các tài liệu huấn luyện (Extension of training
            material)
       w Nâng cao năng lực và tầm nhìn trong phát triển phần mềm
       w Cung cấp hướng dẫn về cách dùng các công cụ ứng dụng
       w Chuyển tải thông tin trực tuyến, chỉ dẫn chi tiết


Giới thiệu Rational Unified Process
                                      12
RUP chuyển tải các kinh nghiệm quí


                      RUP mô tả cách ứng dụng hiệu quả 6 kinh nghiệm quí dành
                                 cho quá trình phát triển phần mềm


                                                    Phát triển theo vòng lặp


                                                   Sử dụng
                                 Quản trị          kiến trúc        Mô hình hóa       Kiểm định
                                các yêu cầu                          trực quan        chất lượng
                                                  Component



                                              Kiểm soát các thay đổi trong hệ thống




Giới thiệu Rational Unified Process
                                                               13
RUP được định hướng bởi các Use-Case


                                                           Một actor là một người
                                                             hoặc một cái gì đó bên
  Customer
                                      Check Balance          ngoài hệ thống tương
                                                             tác với hệ thống
                                                           Một Use-Case là một chuỗi
                                                             các hành động mà hệ
                                                             thống thực hiện mang
                          Withdraw Money                     lại một kết quả quan sát
                                                             được đối với một actor.
             Các Use-Case của một Cash Machine




Giới thiệu Rational Unified Process
                                                      14
Use-Case chứa luồng các sự kiện

       Luồng các sự kiện (Flow of events) của Use-Case rút tiền
       (Withdraw Money):
           1. Use-Case bắt đầu khi khách hàng đưa thẻ tín dụng vào. Hệ
             thống đọc và thẩm tra thông tin của thẻ.
           2. Hệ thông nhắc nhập số PIN. Hệ thống kiểm tra số PIN.
           3. Hệ thống hỏi tác vụ nào khách hàng muốn thực hiện.
             Khách hàng chọn “Rút tiền.”
           4. Hệ thống hỏi số lượng. Khách hàng nhập số lượng.
           5. Hệ thống yêu cầu nhập kiểu tài khoản. Khách hàng chọn
             checking hoặc savings.
           6. Hệ thống liên lạc với ATM network . . .



Giới thiệu Rational Unified Process
                                      15
Lợi ích của quá trình định hướng bởi Use-Case

       w Use-Case ngắn gọn, đơn giản và, dễ hiểu đối với
          § End users, developers, … hiểu các yêu cầu chức năng của
            hệ thống
       w Use-Case định hướng nhiều hoạt động trong qui trình:
          § Tạo và thẩm định mô hình thiết kế (design model)
          § Định nghĩa các test case và các thủ tục của test model
          § Qui hoạch các vòng lặp
          § Tạo sưu liệu cho người dùng
          § Triển khai hệ thống
       w Use-Case giúp đồng bộ hóa nội dung các mô hình (model)
         khác nhau


Giới thiệu Rational Unified Process
                                      16
RUP là qui trình Architecture-Centric

       w Kiến trúc là trọng tâm của các vòng lặp đầu tiên
          § Xây dựng, thẩm tra, và xđ giới hạn của kiến trúc tạo thành
            mục tiêu chính của giai đoạn triển khai (elaboration)
       w Prototype của kiến trúc xác nhận tính hợp lệ của kiến trúc và
         đóng vai trò baseline cho phần còn lại của qui trình phát triển
       w Sưu liệu về kiến trúc phần mềm là artifact chính mô tả kiến
         trúc được chọn
       w Các artifact khác kế thứa từ kiến trúc:
          § Design guidelines bao gồm cách sử dụng pattern và idiom
          § Cấu trúc sản phẩm
          § Cấu trúc của đội ngũ phát triển phần mềm



Giới thiệu Rational Unified Process
                                       17
Biểu diễn kiến trúc : Mô hình 4+1 View


                                      Logical View            Implementation
                                                                   View

                    Analysts/
                                         End-user                            Programmers
                    Designers
                    Structure            Functionality               Software management
                                                         Use-Case
                                                           View
                                      Process View            Deployment
                                                                 View
                    System Integrators                                System Engineering
                    Performance                                          System topology
                    Scalability                                       Delivery, installation
                    Throughput                                             communication




Giới thiệu Rational Unified Process
                                                         18
Lợi ích của một qui trình Architecture-Centric

       w Giúp đạt và giữ vững sự kiểm soát tốt dự án, quản lý độ phức
         tạp của nó, và duy trì sự tích hợp của hệ thống
       w Cung cấp khả năng tái sử dụng hiệu quả ở nhiều mức độ khác
         nhau
       w Cung cấp nền tảng cho quản lý dự án
       w Giúp dễ dàng phát triển theo hướng component-based
          § Một component đảm trách một chức năng rõ ràng trong
            khuôn khổ một kiến trúc được định nghĩa tốt
          § Một component thích ứng và cung cấp mọt hiện thực hóa
            vật lý của một tập các giao diện (interface)
          § Các component tồn tại tương ứng với một kiến trúc cụ thể



Giới thiệu Rational Unified Process
                                      19
Các Phase trong chu kỳ sống

                          Inception   Elaboration        Construction   Transition


             time


     RUP có 4 phase:
        § Inception - Định nghĩa phạm vi của dự án
        § Elaboration - Lập kế hoạch dự án, mô tả các đặc tính, định
          ranh giới kiến trúc
        § Construction – Xây dựng sản phẩm
        § Transition - Chuyển giao sản phẩm cho người dùng




Giới thiệu Rational Unified Process
                                                    20
Các mốc chính đặt tại ranh giới các Phase



                          Inception           Elaboration        Construction         Transition

             time

                                      Lifecycle        Lifecycle       Initial Operational         Product
                                      Objective       Architecture          Capability             Release
                                      Milestone        Milestone            Milestone




Giới thiệu Rational Unified Process
                                                            21
Các Iteration và Phase


                   Inception              Elaboration                  Construction                     Transition

                  Preliminary         Architect. Architect. Devel.           Devel.      Devel.     Transition Transition
                   Iteration          Iteration  Iteration Iteration        Iteration   Iteration    Iteration  Iteration




                                             Minor Milestones: Releases


             Một iteration là một chuỗi các hoạt động với một kế hoạch
             lập sẵn và một tiêu chuẩn lượng giá, có kết quả là một
             phiên bản release (internal hay external)
Giới thiệu Rational Unified Process
                                                                       22
Các Workflow chính tạo ra các mô hình

              Business
              Modeling                  Business       Business Object
                                      Use-Case Model        Model      automated by


         Requirements
                                                 Use-Case        realized by
                                                  Model
              Analysis &
               Design                                                 Design   implemented by
                                                                      Model

        Implementation
                                                                               Implementation   verified by
                                                                                   Model

                    Test
                                                                                                  Test
                                                                                                  Model

Giới thiệu Rational Unified Process
                                                            23
Đặt chúng cùng với nhau: Mô hình tích hợp



                                            Trong một
                                            iteration, bạn
                                            đi qua tất cả
                                            các workflow




Các Workflow
nhóm các công
việc một cách
logic


Giới thiệu Rational Unified Process
                                      24
Các ký hiệu dùng trong qui trình                                                             Một đơn vị công
                                                                                             việc mà worker
                                         Một vai trò (role) do                               được y/c thực
                                         một người hay một                                   hiện
                                         nhóm đảm trách trong
                                         tổ chức                           Activity


                          Worker
                                                                            Describe a
                                             Use-Case                       Use-Case
                                              Specifier

                                            responsible for
                                                                                         Một phần thông tin
                                                                         Artifact        được sản sinh ra, hiệu
                                                                                         chỉnh, hoặc dùng bởi
                                                                                         một process
                                      Use-Case           Use-Case
                                                          Package

Giới thiệu Rational Unified Process
                                                                    25
Phân công công việc

               Resource               Worker                Activities

               Paul                   Designer              Define Operations
               Mary                   Use-Case Specifier    Detail a Use-Case
               Joe                    System Analyst        Find Actors and Use-Cases
               Sylvia                 Implementer           Perform Unit Tests
               Stefan                 Architect             Identify Design Mechanisms



                                       Mỗi cá nhân trong
                                       dự án được giao vai
                                       trò của 1 hay nhiều
                                       worker

Giới thiệu Rational Unified Process
                                                       26
Workflow mô hình hóa nghiệp vụ



                                       Capture a                                        Structure the
                                        Common            Find Business Actors       Business Use-Case
                Business-Process       Vocabulary            and Use Cases                  Model        Business Model
                     Analyst                                                                                Reviewer




                                            Detail a                                                       Review the
                                      Business Use Case                                                     Business
                                                                                                         Use-Case Model
                      Business                                                        Detail a
                      Designer                                                   Business Worker
                                                     Find Business Workers
                                                           and Entities
                                                                                                           Review the
                                                                                                            Business
                                                                                      Detail a
                                                                                                          Object Model
                                                                                  Business Entity




Giới thiệu Rational Unified Process
                                                                        27
Workflow xác định yêu cầu đối với hệ thống PM

                                        Develop   Elicit Stakeholder
                                         Vision          Needs
                                                                         Find Actors
                                                                       and Use Cases

                                                     Capture a                          Structure the
                                        Manage
                                                      Common                           Use-Case Model           Requirements
                                      Dependencies
                                                     Vocabulary                                                   Reviewer




                                                                                          Detail a                 Review
                 Use-Case
                 Specifier                                                               Use Case               Requirements




                                                                             User-Interface    User-Interface
                User-Interface                                                 Modeling         Prototyping
                  Designer




                                                               Prioritize
                 Architect                                    Use Cases

Giới thiệu Rational Unified Process
                                                                            28
Workflow phân tích và thiết kế


                                      Architectural
                                        Analysis


                                                       Architectural Describe       Describe      Review the Architecture
                        Architect                        Design     Concurrency    Distribution   Architecture Reviewer




                                           Use-Case        SubsystemDesign
                                            Analysis
                                                                                  Use-Case          Review the
                                                                                   Design           Design        Design
                        Designer                                                                                 Reviewer

                                                                Class
                                                                Design




                                                                   Database
                        Database                                    Design
                        Designer
Giới thiệu Rational Unified Process
                                                                     29
Workflow cài đặt


                                           Structure the
                 Architect            Implementation Model




                                                Plan System                                                           Integrate
              System Integrator                  Integration                                                           System




                                                         Plan Subsystem                                   Integrate
                                                            Integration        Implement                 Subsystem
                                                                                Classes
                 Implementer
                                                                                           Perform
                                                                                           Unit Test
                                                                           Fix a Defect




             Code Reviewer                                                                 Review Code


Giới thiệu Rational Unified Process
                                                                          30
Workflow kiểm chứng

                                             PlanTest                 ImplementTest
                                                                                                                     Evaluate
                             Test Designer              Design Test                                                    Test




                                                                             Execute Integration
                               Integration                                          Test
                                  Tester




                                                                                                   Execute System
                             System Tester                                                              Test




                                                                                                     Execute Performance
                              Performance
                                                                                                             Test
                                 Tester



                                                                      Design Test Classes
                                Designer                                and Packages




                                                                                      Implement Test Components
                              Implementer                                                   and Subsystems



Giới thiệu Rational Unified Process
                                                                              31
Workflow quản trị dự án




                                                                                       Execute
                                                                                       Iteration
                             Develop                                                      Plan
                             Business
                              Case
                                           Identify
                                            Risks
                                                                          Develop                         Evaluate
                                                                          Iteration                       Iteration
                                                      Develop                Plan
                                                      Project
                                                       Plan

                                                                 Staff
                                                                Project
                                       Project
                                      Manager
                                                                                      Revisit Risk List




Giới thiệu Rational Unified Process
                                                                           32
Workflow quản trị cấu hình & các thay đổi

                                              Establish Product    Define Status Reporting
                                  Project     Change Process      & Baselining Requirements
                                 Manager




                                                 Structure
                                              Implementation
                                 Architect        Model



                                                             Setup     Define Workspaces
                                                 Write  Implementation   & Build Areas
                                   CM           CM Plan     Model
                                                                                          Report              Baseline     Release
                                 Manager                                                Defect Data         the Product   Subsystems




                                                       Create Private    Check-In/Out      Promote
                                                        Workspaces         Artifacts  Configuration Items
                               Any Worker




                                                                                      Create Integration            Build
                                  System                                                 workspaces                Product
                                 Integrator

Giới thiệu Rational Unified Process
                                                                                33
Workflow quản trị môi trường

       w         Cấu hình quá trình PTPM
       w         Nâng cao chất lượng quá trình PTPM
       w         Chọn và thu thập các công cụ
       w         Tinh chỉnh, bổ sung các công cụ
       w         Hỗ trợ quá trình phát triển
       w         Huấn luyện




Giới thiệu Rational Unified Process
                                           34
Khái niệm Guideline, Mentor, và Template

       w Guidelines là các luật, gợi ý, và heuristics hỗ trợ cho các hoạt
         động
          § Ví dụ, modeling và programming guidelines
       w Tool mentors diễn tả các dùng một công cụ cụ thể để thực
         hiện một hoạt động hoặc các bước trong 1 HĐ
          § Ví dụ, xây dựng 1 design model dùng Rational Rose
       w Templates là các artifact định nghĩa sẵn
          § Ví dụ, một Rational SoDA template cho 1 Use-Case Report
       w Guidelines, tool mentors và templates giúp dễ dàng ứng dụng
         qui trình đúng đắn và nhất quán




Giới thiệu Rational Unified Process
                                       35
Các tool hỗ trợ toàn bộ chu kỳ sống của PM

      Process Workflows
                Business Modeling                      Requisite Pro, Rose, SoDA
                           Requirements                Requisite Pro, Rose, SoDA
             Analysis and Design                           Rose, SoDA, Apex
                        Implementation               Rose, Apex, SoDA, Purify, ...
                                      Test   SQA TeamTest, Quantify, PerformanceStudio,...
                                Deployment                 SoDA, ClearCase, ...
 Supporting Workflows
    Config. & Change Mgmt.                                 ClearCase, ClearQuest
             Project Management                    Unified Process, Microsoft® Project, ...
                              Environment           Unified Process, Rational Tools




Giới thiệu Rational Unified Process
                                                      36
Thích nghi hóa một qui trình
               w Việc thích nghi một qui trình bao gồm cấu hình và cài đặt
                 qui trình
               w Khi cấu hình qui trình, process framework được làm cho
                 thỏa mãn các yêu cầu và ràng buộc của tổ chức tiếp
                 nhận
                  § Kết quả được ghi nhận trong “Development Case”
               w Khi cài đặt qui trình, thực tế của tổ chức được thay đổi
                 để dùng hiệu quả qui trình




Giới thiệu Rational Unified Process
                                            37
Tổng kết: Rational Unified Process

            w Unified Modeling Language (UML) là ngôn ngữ dùng để
              đặc tả, trực quan hóa, xây dựng, và làm sưu liệu về các
              artifact của một hệ thống phần mềm
            w Một qui trình phát triển phần mềm định nghĩa Ai làm Gì,
              Khi nào và Như thế nào để xây dựng một sản phẩm phần
              mềm
            w RUP có 4 phase: Inception, Elaboration, Construction
              và Transition
            w Mỗi phase chấm dứt tại các mốc chính và gồm 1 hay nhiều
              iteration
            w Một iteration là một chuỗi các hoạt động với một kế hoạch
              lập sẵn và một tiêu chuẩn lượng giá, có kết quả là một
              phiên bản release


Giới thiệu Rational Unified Process
                                         38
Tổng kết (tt.): Rational Unified Process

       w Một workflow nhóm các hoạt động liên quan với nhau
       w Mỗi workflow được thực hiện trong 1 iteration và cho kết quả
         là một model được sản sinh theo từng bước
       w Một artifact là một phần thông tin được sản sinh ra, hiệu
         chỉnh, hoặc dùng bởi một process
       w Một worker là một vai trò do một các nhân hay 1 nhóm đảm
         trách trong 1 tổ chức phát triển phần mềm.
       w Một activity là một đơn vị công việc có thể được yêu cầu thực
         hiện




Giới thiệu Rational Unified Process
                                      39

More Related Content

What's hot

Lý thuyet hien dai ve thuong mai quoc te
Lý thuyet hien dai ve thuong mai quoc teLý thuyet hien dai ve thuong mai quoc te
Lý thuyet hien dai ve thuong mai quoc teVanba Le
 
Vien tham - 8 tien xu ly anh
Vien tham - 8 tien xu ly anhVien tham - 8 tien xu ly anh
Vien tham - 8 tien xu ly anhttungbmt
 
Chuong7 linh
Chuong7 linhChuong7 linh
Chuong7 linhẢo Ảo
 
Quanly tour
Quanly tourQuanly tour
Quanly tourDuy Phan
 
Tài liệu mô tả dự án echodientu
Tài liệu mô tả dự án echodientuTài liệu mô tả dự án echodientu
Tài liệu mô tả dự án echodientuĐổi Thay
 
Triet ly kinh doanh fpt
Triet ly kinh doanh fptTriet ly kinh doanh fpt
Triet ly kinh doanh fptTrinh Rose
 
Hướng dẫn chọn biến tần Fuji (Tiếng Việt)
Hướng dẫn chọn biến tần Fuji (Tiếng Việt)Hướng dẫn chọn biến tần Fuji (Tiếng Việt)
Hướng dẫn chọn biến tần Fuji (Tiếng Việt)Beeteco
 
Tam ly hoc qtkd (ns lam)
Tam ly hoc qtkd (ns lam)Tam ly hoc qtkd (ns lam)
Tam ly hoc qtkd (ns lam)marlsn
 
Đồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchĐồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchwem81315
 
Lap trinh-huong-doi-tuong-bang-c#
Lap trinh-huong-doi-tuong-bang-c#Lap trinh-huong-doi-tuong-bang-c#
Lap trinh-huong-doi-tuong-bang-c#Thanhlanh nguyen
 
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencvLuận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencvDịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNGChương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNGLe Nguyen Truong Giang
 
Nhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmNhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmTrần Gia Bảo
 
Đề tài: Phân tích chuỗi giá trị và đề xuất giải pháp phát triển bền vững trái...
Đề tài: Phân tích chuỗi giá trị và đề xuất giải pháp phát triển bền vững trái...Đề tài: Phân tích chuỗi giá trị và đề xuất giải pháp phát triển bền vững trái...
Đề tài: Phân tích chuỗi giá trị và đề xuất giải pháp phát triển bền vững trái...Viết thuê trọn gói ZALO 0934573149
 
Giao trinh oracle
Giao trinh oracleGiao trinh oracle
Giao trinh oracletrung077
 
Danh gia chat luong san pham mem
Danh gia chat luong san pham memDanh gia chat luong san pham mem
Danh gia chat luong san pham memUDCNTT
 
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di độngTrung Hiếu Trần
 

What's hot (20)

Lý thuyet hien dai ve thuong mai quoc te
Lý thuyet hien dai ve thuong mai quoc teLý thuyet hien dai ve thuong mai quoc te
Lý thuyet hien dai ve thuong mai quoc te
 
Vien tham - 8 tien xu ly anh
Vien tham - 8 tien xu ly anhVien tham - 8 tien xu ly anh
Vien tham - 8 tien xu ly anh
 
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAYLuận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
 
Chuong7 linh
Chuong7 linhChuong7 linh
Chuong7 linh
 
Quanly tour
Quanly tourQuanly tour
Quanly tour
 
Tài liệu mô tả dự án echodientu
Tài liệu mô tả dự án echodientuTài liệu mô tả dự án echodientu
Tài liệu mô tả dự án echodientu
 
Triet ly kinh doanh fpt
Triet ly kinh doanh fptTriet ly kinh doanh fpt
Triet ly kinh doanh fpt
 
Hướng dẫn chọn biến tần Fuji (Tiếng Việt)
Hướng dẫn chọn biến tần Fuji (Tiếng Việt)Hướng dẫn chọn biến tần Fuji (Tiếng Việt)
Hướng dẫn chọn biến tần Fuji (Tiếng Việt)
 
Cách làm báo cáo thực tập đại học sư phạm kỹ thuật điểm cao
Cách làm báo cáo thực tập đại học sư phạm kỹ thuật điểm caoCách làm báo cáo thực tập đại học sư phạm kỹ thuật điểm cao
Cách làm báo cáo thực tập đại học sư phạm kỹ thuật điểm cao
 
Tam ly hoc qtkd (ns lam)
Tam ly hoc qtkd (ns lam)Tam ly hoc qtkd (ns lam)
Tam ly hoc qtkd (ns lam)
 
Đồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchĐồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịch
 
DTTT1.ppt
DTTT1.pptDTTT1.ppt
DTTT1.ppt
 
Lap trinh-huong-doi-tuong-bang-c#
Lap trinh-huong-doi-tuong-bang-c#Lap trinh-huong-doi-tuong-bang-c#
Lap trinh-huong-doi-tuong-bang-c#
 
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencvLuận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
 
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNGChương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
 
Nhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmNhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềm
 
Đề tài: Phân tích chuỗi giá trị và đề xuất giải pháp phát triển bền vững trái...
Đề tài: Phân tích chuỗi giá trị và đề xuất giải pháp phát triển bền vững trái...Đề tài: Phân tích chuỗi giá trị và đề xuất giải pháp phát triển bền vững trái...
Đề tài: Phân tích chuỗi giá trị và đề xuất giải pháp phát triển bền vững trái...
 
Giao trinh oracle
Giao trinh oracleGiao trinh oracle
Giao trinh oracle
 
Danh gia chat luong san pham mem
Danh gia chat luong san pham memDanh gia chat luong san pham mem
Danh gia chat luong san pham mem
 
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
 

More from Nguyen Tran (20)

Se 06
Se 06Se 06
Se 06
 
12report
12report12report
12report
 
11script
11script11script
11script
 
10team
10team10team
10team
 
09componentdeployment
09componentdeployment09componentdeployment
09componentdeployment
 
08activity
08activity08activity
08activity
 
07state
07state07state
07state
 
06collaboration
06collaboration06collaboration
06collaboration
 
05sequence
05sequence05sequence
05sequence
 
04class
04class04class
04class
 
03usecase
03usecase03usecase
03usecase
 
02intro
02intro02intro
02intro
 
01about
01about01about
01about
 
Clear case
Clear caseClear case
Clear case
 
Business process excution language
Business process excution languageBusiness process excution language
Business process excution language
 
Vs doc man
Vs doc manVs doc man
Vs doc man
 
Cm mi
Cm miCm mi
Cm mi
 
Sql packager
Sql packagerSql packager
Sql packager
 
Snag it
Snag itSnag it
Snag it
 
Record mydesktop
Record mydesktopRecord mydesktop
Record mydesktop
 

Ccmtptpm 02 gioithieurup

  • 1. Công cụ và môi trường phát triển phần mềm Giới thiệu Rational Unified Process Giới thiệu Rational Unified Process 1
  • 2. Mục tiêu: Rational Unified Process w Mô tả Unified Modeling Language (UML) w Định nghĩa qui trình phát triển phần mềm w Mô tả Rational Unified Process (RUP) w Trình bày về 4 phase của RUP các cột mốc của chúng w Định nghĩa vòng lặp (iteration) và quan hệ của chúng với các phase w Diển tả quan hệ giữa: § Các model và các workflow § Các phase, iteration, và workflow w Định nghĩa artifact, worker, và activity w Nêu tầm quan trọng của sự hỗ trợ bởi các công cụ (tool) tự động Giới thiệu Rational Unified Process 2
  • 3. Khi xây dựng PM, không chỉ cần ngôn ngữ Team-Based Development Modeling Unified Language Process Giới thiệu Rational Unified Process 3
  • 4. UML là gì? w Unified Modeling Language (UML) là ngôn ngữ giúp • đặc tả • trực quan hóa • xây dựng • làm sưu liệu các artifact của một hệ thống phần mềm Giới thiệu Rational Unified Process 4
  • 5. Lịch sử của UML Giới thiệu Rational Unified Process 5
  • 6. Đầu vào của UML Booch Rumbaugh Jacobson Fusion Meyer Operation descriptions, Before and after Message numbering conditions Embley Harel Singleton classes, State charts High-level view Gamma, et.al Wirfs-Brock Frameworks, patterns, Responsibilities notes Shlaer - Mellor Odell Object Lifecycles Classification Giới thiệu Rational Unified Process 6
  • 7. UML cung cấp các lược đồ chuẩn State State State State Diagrams Class Diagrams Class Diagrams Use-Case Use-Case Diagrams Diagrams Use-Case Use-Case Diagrams Diagrams State State Use-Case Use-Case Diagrams Use-Case Diagrams State State Diagrams Use-Case Use-Case Diagrams Object Diagrams Object Use-Case Diagrams Activity Diagrams Diagrams Diagrams Diagrams Diagrams Activity Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Scenario Scenario State State Scenario Scenario Diagrams State State Diagrams Sequence Diagrams Sequence Diagrams State Diagrams State Diagrams Diagrams Diagrams Models Diagrams Diagrams Diagrams Diagrams Scenario Scenario Component Component Component Scenario Scenario Diagrams Diagrams Component Component Diagrams Collaboration Diagrams Collaboration Diagrams Deployment Deployment Component Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Giới thiệu Rational Unified Process 7
  • 8. Ví dụ một lược đồ trong UML: Use-Case Hệ thống Đăng Ký học phần ở một Trường ĐH Register for Courses Student Select Courses to Teach Course Catalog Professor Maintain Professor Information Maintain Student Information Registrar Close Registration Billing System Giới thiệu Rational Unified Process 8
  • 9. Ví dụ một lược đồ trong UML: Class Hệ thống Đăng Ký học phần ở một Trường ĐH <<boundary>> <<boundary>> MaintainScheduleForm MainForm 1 0..1 // select maintain schedule() + // open() + // select 4 primary and 2 alternate offerings() 1 1 <<boundary>> <<control>> 1 0..* CourseCatalogSystem RegistrationController // get course offerings() // add courses to schedule() // get course offerings () 0..1 1 <<entity>> Schedule // create with offerings() Giới thiệu Rational Unified Process 9
  • 10. Các lược đồ là các Artifact then chốt Use-Case Class Diagram State Diagram Diagram FileMgr DocumentList Document add file add( ) name : int fetchDoc( ) delete( ) docid : int sortByName( ) numField : int add file [ numberOffile==MAX ] / Writing get( ) flag OFF open( ) read() fill the close( ) code.. FileList read( ) sortFileList( ) Openning Use-Case 1 fList create( ) fillDocument( ) add( ) delete( ) 1 close file Actor A Actor B close file Closing Reading rep Use-Case 2 File <<entity>> Repository (from Persistence) name : char * = 0 read( ) GrpFile Customer read( ) name Domain readDoc( ) readFile( ) open( ) create( ) addr Deployment fillFile( ) receive() Use-Case 3 withdraw() Expert fetch() send() UI MFC Class Diagram DocumentApp ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼-¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö RogueWave Repository DocumentList Window95 Windows95 9: sortByName ( ) Persistence Windows95 global ¹®¼-°ü¸® FileManager Ŭ¶óÀ̾ðÆ®.EXE ¹®¼-°ü¸® ¾ÖÇø´ mainWnd : MainWnd Windows NT 1: Doc view request ( ) Package L Document Solaris 2: fetchDoc( ) ¹®¼-°ü¸® ¿£Áø.EXE 4: create ( ) gFile : GrpFile Alpha 8: fillFile ( ) UNIX ÀÀ¿ë¼-¹ö.EXE Windows Diagram NT user : »ç¿ëÀÚ GraphicFile User Interface fileMgr : FileMgr 3: create ( ) 6: fillDocument ( ) File FileList IBM Mainf rame µ¥ÀÌŸº£À̽º¼-¹ö Definition repository : Repository 7: readFile ( ) 5: readDoc ( ) document : Document Forward Engineering(Code Generation) Collaboration Diagram Component and mainWnd fileMgr : document : gFile repository Diagram Reverse Engineering user FileMgr Document ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦ 1: Doc view request ( ) Source Code edit, compile, debug, link »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillDocument ( ) ¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼- °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. 7: readFile ( ) 8: fillFile ( ) È-¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( ) °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡ º¸¿©ÁØ´Ù. Sequence Diagram Executable System Giới thiệu Rational Unified Process 10
  • 11. Qui trình là gì? Một qui trình xác định Ai làm Gì, Khi nào và Như thế nào để đạt được mục đích cuối cùng. Trong Công nghệ phần mềm đích là xây dựng một sản phẩm phần mềm hoặc nâng cấp một sản phẩm có sẵn Các yêu cầu Software Engineering Hệ thống mới/thay đổi Process mới/thay đổi Giới thiệu Rational Unified Process 11
  • 12. Một qui trình hiệu quả ... w Cung cấp các chỉ dẫn để phát triển một cách hiệu quả một phần mềm có chất lượng w Giảm thiểu rủi ro tăng khả năng tiền định w Nắm giữ và thể hiện các kinh nghiệm tốt § Học từ các kinh nghiệm khác § Nắm vững các kiến thức nền tảng § Mở rộng các tài liệu huấn luyện (Extension of training material) w Nâng cao năng lực và tầm nhìn trong phát triển phần mềm w Cung cấp hướng dẫn về cách dùng các công cụ ứng dụng w Chuyển tải thông tin trực tuyến, chỉ dẫn chi tiết Giới thiệu Rational Unified Process 12
  • 13. RUP chuyển tải các kinh nghiệm quí RUP mô tả cách ứng dụng hiệu quả 6 kinh nghiệm quí dành cho quá trình phát triển phần mềm Phát triển theo vòng lặp Sử dụng Quản trị kiến trúc Mô hình hóa Kiểm định các yêu cầu trực quan chất lượng Component Kiểm soát các thay đổi trong hệ thống Giới thiệu Rational Unified Process 13
  • 14. RUP được định hướng bởi các Use-Case Một actor là một người hoặc một cái gì đó bên Customer Check Balance ngoài hệ thống tương tác với hệ thống Một Use-Case là một chuỗi các hành động mà hệ thống thực hiện mang Withdraw Money lại một kết quả quan sát được đối với một actor. Các Use-Case của một Cash Machine Giới thiệu Rational Unified Process 14
  • 15. Use-Case chứa luồng các sự kiện Luồng các sự kiện (Flow of events) của Use-Case rút tiền (Withdraw Money): 1. Use-Case bắt đầu khi khách hàng đưa thẻ tín dụng vào. Hệ thống đọc và thẩm tra thông tin của thẻ. 2. Hệ thông nhắc nhập số PIN. Hệ thống kiểm tra số PIN. 3. Hệ thống hỏi tác vụ nào khách hàng muốn thực hiện. Khách hàng chọn “Rút tiền.” 4. Hệ thống hỏi số lượng. Khách hàng nhập số lượng. 5. Hệ thống yêu cầu nhập kiểu tài khoản. Khách hàng chọn checking hoặc savings. 6. Hệ thống liên lạc với ATM network . . . Giới thiệu Rational Unified Process 15
  • 16. Lợi ích của quá trình định hướng bởi Use-Case w Use-Case ngắn gọn, đơn giản và, dễ hiểu đối với § End users, developers, … hiểu các yêu cầu chức năng của hệ thống w Use-Case định hướng nhiều hoạt động trong qui trình: § Tạo và thẩm định mô hình thiết kế (design model) § Định nghĩa các test case và các thủ tục của test model § Qui hoạch các vòng lặp § Tạo sưu liệu cho người dùng § Triển khai hệ thống w Use-Case giúp đồng bộ hóa nội dung các mô hình (model) khác nhau Giới thiệu Rational Unified Process 16
  • 17. RUP là qui trình Architecture-Centric w Kiến trúc là trọng tâm của các vòng lặp đầu tiên § Xây dựng, thẩm tra, và xđ giới hạn của kiến trúc tạo thành mục tiêu chính của giai đoạn triển khai (elaboration) w Prototype của kiến trúc xác nhận tính hợp lệ của kiến trúc và đóng vai trò baseline cho phần còn lại của qui trình phát triển w Sưu liệu về kiến trúc phần mềm là artifact chính mô tả kiến trúc được chọn w Các artifact khác kế thứa từ kiến trúc: § Design guidelines bao gồm cách sử dụng pattern và idiom § Cấu trúc sản phẩm § Cấu trúc của đội ngũ phát triển phần mềm Giới thiệu Rational Unified Process 17
  • 18. Biểu diễn kiến trúc : Mô hình 4+1 View Logical View Implementation View Analysts/ End-user Programmers Designers Structure Functionality Software management Use-Case View Process View Deployment View System Integrators System Engineering Performance System topology Scalability Delivery, installation Throughput communication Giới thiệu Rational Unified Process 18
  • 19. Lợi ích của một qui trình Architecture-Centric w Giúp đạt và giữ vững sự kiểm soát tốt dự án, quản lý độ phức tạp của nó, và duy trì sự tích hợp của hệ thống w Cung cấp khả năng tái sử dụng hiệu quả ở nhiều mức độ khác nhau w Cung cấp nền tảng cho quản lý dự án w Giúp dễ dàng phát triển theo hướng component-based § Một component đảm trách một chức năng rõ ràng trong khuôn khổ một kiến trúc được định nghĩa tốt § Một component thích ứng và cung cấp mọt hiện thực hóa vật lý của một tập các giao diện (interface) § Các component tồn tại tương ứng với một kiến trúc cụ thể Giới thiệu Rational Unified Process 19
  • 20. Các Phase trong chu kỳ sống Inception Elaboration Construction Transition time RUP có 4 phase: § Inception - Định nghĩa phạm vi của dự án § Elaboration - Lập kế hoạch dự án, mô tả các đặc tính, định ranh giới kiến trúc § Construction – Xây dựng sản phẩm § Transition - Chuyển giao sản phẩm cho người dùng Giới thiệu Rational Unified Process 20
  • 21. Các mốc chính đặt tại ranh giới các Phase Inception Elaboration Construction Transition time Lifecycle Lifecycle Initial Operational Product Objective Architecture Capability Release Milestone Milestone Milestone Giới thiệu Rational Unified Process 21
  • 22. Các Iteration và Phase Inception Elaboration Construction Transition Preliminary Architect. Architect. Devel. Devel. Devel. Transition Transition Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Minor Milestones: Releases Một iteration là một chuỗi các hoạt động với một kế hoạch lập sẵn và một tiêu chuẩn lượng giá, có kết quả là một phiên bản release (internal hay external) Giới thiệu Rational Unified Process 22
  • 23. Các Workflow chính tạo ra các mô hình Business Modeling Business Business Object Use-Case Model Model automated by Requirements Use-Case realized by Model Analysis & Design Design implemented by Model Implementation Implementation verified by Model Test Test Model Giới thiệu Rational Unified Process 23
  • 24. Đặt chúng cùng với nhau: Mô hình tích hợp Trong một iteration, bạn đi qua tất cả các workflow Các Workflow nhóm các công việc một cách logic Giới thiệu Rational Unified Process 24
  • 25. Các ký hiệu dùng trong qui trình Một đơn vị công việc mà worker Một vai trò (role) do được y/c thực một người hay một hiện nhóm đảm trách trong tổ chức Activity Worker Describe a Use-Case Use-Case Specifier responsible for Một phần thông tin Artifact được sản sinh ra, hiệu chỉnh, hoặc dùng bởi một process Use-Case Use-Case Package Giới thiệu Rational Unified Process 25
  • 26. Phân công công việc Resource Worker Activities Paul Designer Define Operations Mary Use-Case Specifier Detail a Use-Case Joe System Analyst Find Actors and Use-Cases Sylvia Implementer Perform Unit Tests Stefan Architect Identify Design Mechanisms Mỗi cá nhân trong dự án được giao vai trò của 1 hay nhiều worker Giới thiệu Rational Unified Process 26
  • 27. Workflow mô hình hóa nghiệp vụ Capture a Structure the Common Find Business Actors Business Use-Case Business-Process Vocabulary and Use Cases Model Business Model Analyst Reviewer Detail a Review the Business Use Case Business Use-Case Model Business Detail a Designer Business Worker Find Business Workers and Entities Review the Business Detail a Object Model Business Entity Giới thiệu Rational Unified Process 27
  • 28. Workflow xác định yêu cầu đối với hệ thống PM Develop Elicit Stakeholder Vision Needs Find Actors and Use Cases Capture a Structure the Manage Common Use-Case Model Requirements Dependencies Vocabulary Reviewer Detail a Review Use-Case Specifier Use Case Requirements User-Interface User-Interface User-Interface Modeling Prototyping Designer Prioritize Architect Use Cases Giới thiệu Rational Unified Process 28
  • 29. Workflow phân tích và thiết kế Architectural Analysis Architectural Describe Describe Review the Architecture Architect Design Concurrency Distribution Architecture Reviewer Use-Case SubsystemDesign Analysis Use-Case Review the Design Design Design Designer Reviewer Class Design Database Database Design Designer Giới thiệu Rational Unified Process 29
  • 30. Workflow cài đặt Structure the Architect Implementation Model Plan System Integrate System Integrator Integration System Plan Subsystem Integrate Integration Implement Subsystem Classes Implementer Perform Unit Test Fix a Defect Code Reviewer Review Code Giới thiệu Rational Unified Process 30
  • 31. Workflow kiểm chứng PlanTest ImplementTest Evaluate Test Designer Design Test Test Execute Integration Integration Test Tester Execute System System Tester Test Execute Performance Performance Test Tester Design Test Classes Designer and Packages Implement Test Components Implementer and Subsystems Giới thiệu Rational Unified Process 31
  • 32. Workflow quản trị dự án Execute Iteration Develop Plan Business Case Identify Risks Develop Evaluate Iteration Iteration Develop Plan Project Plan Staff Project Project Manager Revisit Risk List Giới thiệu Rational Unified Process 32
  • 33. Workflow quản trị cấu hình & các thay đổi Establish Product Define Status Reporting Project Change Process & Baselining Requirements Manager Structure Implementation Architect Model Setup Define Workspaces Write Implementation & Build Areas CM CM Plan Model Report Baseline Release Manager Defect Data the Product Subsystems Create Private Check-In/Out Promote Workspaces Artifacts Configuration Items Any Worker Create Integration Build System workspaces Product Integrator Giới thiệu Rational Unified Process 33
  • 34. Workflow quản trị môi trường w Cấu hình quá trình PTPM w Nâng cao chất lượng quá trình PTPM w Chọn và thu thập các công cụ w Tinh chỉnh, bổ sung các công cụ w Hỗ trợ quá trình phát triển w Huấn luyện Giới thiệu Rational Unified Process 34
  • 35. Khái niệm Guideline, Mentor, và Template w Guidelines là các luật, gợi ý, và heuristics hỗ trợ cho các hoạt động § Ví dụ, modeling và programming guidelines w Tool mentors diễn tả các dùng một công cụ cụ thể để thực hiện một hoạt động hoặc các bước trong 1 HĐ § Ví dụ, xây dựng 1 design model dùng Rational Rose w Templates là các artifact định nghĩa sẵn § Ví dụ, một Rational SoDA template cho 1 Use-Case Report w Guidelines, tool mentors và templates giúp dễ dàng ứng dụng qui trình đúng đắn và nhất quán Giới thiệu Rational Unified Process 35
  • 36. Các tool hỗ trợ toàn bộ chu kỳ sống của PM Process Workflows Business Modeling Requisite Pro, Rose, SoDA Requirements Requisite Pro, Rose, SoDA Analysis and Design Rose, SoDA, Apex Implementation Rose, Apex, SoDA, Purify, ... Test SQA TeamTest, Quantify, PerformanceStudio,... Deployment SoDA, ClearCase, ... Supporting Workflows Config. & Change Mgmt. ClearCase, ClearQuest Project Management Unified Process, Microsoft® Project, ... Environment Unified Process, Rational Tools Giới thiệu Rational Unified Process 36
  • 37. Thích nghi hóa một qui trình w Việc thích nghi một qui trình bao gồm cấu hình và cài đặt qui trình w Khi cấu hình qui trình, process framework được làm cho thỏa mãn các yêu cầu và ràng buộc của tổ chức tiếp nhận § Kết quả được ghi nhận trong “Development Case” w Khi cài đặt qui trình, thực tế của tổ chức được thay đổi để dùng hiệu quả qui trình Giới thiệu Rational Unified Process 37
  • 38. Tổng kết: Rational Unified Process w Unified Modeling Language (UML) là ngôn ngữ dùng để đặc tả, trực quan hóa, xây dựng, và làm sưu liệu về các artifact của một hệ thống phần mềm w Một qui trình phát triển phần mềm định nghĩa Ai làm Gì, Khi nào và Như thế nào để xây dựng một sản phẩm phần mềm w RUP có 4 phase: Inception, Elaboration, Construction và Transition w Mỗi phase chấm dứt tại các mốc chính và gồm 1 hay nhiều iteration w Một iteration là một chuỗi các hoạt động với một kế hoạch lập sẵn và một tiêu chuẩn lượng giá, có kết quả là một phiên bản release Giới thiệu Rational Unified Process 38
  • 39. Tổng kết (tt.): Rational Unified Process w Một workflow nhóm các hoạt động liên quan với nhau w Mỗi workflow được thực hiện trong 1 iteration và cho kết quả là một model được sản sinh theo từng bước w Một artifact là một phần thông tin được sản sinh ra, hiệu chỉnh, hoặc dùng bởi một process w Một worker là một vai trò do một các nhân hay 1 nhóm đảm trách trong 1 tổ chức phát triển phần mềm. w Một activity là một đơn vị công việc có thể được yêu cầu thực hiện Giới thiệu Rational Unified Process 39