Docstoc

UML Introduction

Document Sample
UML Introduction Powered By Docstoc
					 UML
 UNIFIED MODELING LANGUAGE
 Hoang Huu Hanh (PhD), Hue University
 hanh-at-hueuni.edu.vn




based on online totorials and presentations
Định nghĩa
   Những năm đầu của thập kỷ 90 có rất nhiều phương pháp
    phân tích, thiết kế hệ thống hướng đối tượng và cùng với
    chúng là các ký hiệu riêng cho từng phương pháp
   Thời kỳ này còn được biết đến với tên gọi là cuộc chiến giữa
    các phương pháp
   Khoảng đầu năm 94, Booch đã cải tiến phương pháp của
    mình trong đó có ứng dụng những ưu điểm của các phương
    pháp của Rumbaugh và Jacobson
   Các phương pháp đã bắt đầu hợp nhất, nhưng các kí hiệu sử
    dụng ở các phương pháp vẫn còn nhiều điểm khác biệt
   UML - một ngôn ngữ mô hình hóa hợp nhất đã trở thành một
    quy trình chuẩn của tổ chức OMG (Object Management
    Group)




                                     Introduction to UML       2
UML History
                         Publication circa ´05      UML 2.0
                                                                    Industrialization
                                 Publication ´01    UML 1.4

            Publication of UML 1.1 September ´97
                                                   UML 1.1          Standardization

                       Publication of
                      UML 1.0, Jan ´97     UML 1.0
   public
feedback
            June ´96 & Oct ´96   UML 0.9 & 0.91                         Unification
                                                   UML Partners’
            OOPSLA ´95 Unified Method 0.8           Expertise


                        Booch ´93     OMT - 2
                                                                     Fragmentation
  Other methods Booch ´91                   OMT - 1       OOSE

                                                         Introduction to UML            3
UML là gì?
 Nó là một ngôn ngữ mô hình hóa, không phải là
  một phương pháp
 Một phương pháp thông thường bao gồm một tập
  các quy tắc, một ngôn ngữ mô hình hóa và một
  quy trình mô tả những công việc cần làm
 Một ngôn ngữ mô hình hóa bao gồm các ký hiệu
  và các cách thức sử dụng cho việc thiết kế
 Quy trình là những sự hướng dẫn các bước trong
  quá trình thiết kế
 Ngôn ngữ mô hình hóa là thành phần quan trọng
  nhất trong một phương pháp, là yếu tố kết nối giữa
  các thành phần
                              Introduction to UML   4
Tại sao lại sử dụng UML?
   Giúp cho việc phân tích và thiết kế
   Là công cụ giao tiếp (Communication)
   Sử dụng các ưu điểm của OO
   Tài liệu hóa (Documentation)

Như được đề cập trong The Unified Modeling
  Language User Guide;
Ngôn ngữ UML dùng để:
• Trực quan hóa (Visualizing)
• Đặc tả (Specifying)
• Xây dựng (Constructing)
• Cung cấp tài liệu (Documenting)

                             Introduction to UML   5
Trực quan hóa (Visualizing)
   Hiểu và giải quyết các vấn đề dễ dàng hơn
   Khi trở thành một chuẩn trong việc lập mô hình,
    mỗi kí hiệu mang một ý nghĩa rõ ràng và duy
    nhất=> một nhà phát triển có thể đọc được mô
    hình xây dựng bằng UML do một người khác viết.
   Một mô hình rõ ràng, sáng sủa làm tăng khả năng
    giao tiếp, trao đổi giữa các nhà phát triển




                              Introduction to UML   6
Đặc tả (Specifying)
 Xây dựng các mô hình một các tỉ mỉ,
  rõ ràng, đầy đủ ở các mức độ chi tiết
  khác nhau
 Tất cả các công đoạn từ phân tích,
  thiết kế cho đến triển khai đều có các
  biểu đồ UML biểu diễn.




                        Introduction to UML   7
Kiến tạo(Constructing)
   UML là một ngôn ngữ chuẩn với tập quy tắc về
    cú pháp riêng.
   Chúng ta có thể xây dựng các công cụ để
    chuyển đổi các mô hình
   Các mô hình của UML có thể kết nối với nhiều
    ngôn ngữ lập trình. Tức là có thể ánh xạ các
    mô hình UML về một ngôn ngữ lập trình như
    C++, Java...
   Việc chuyển các mô hình trong UML thành
    Code trong ngôn ngữ lập trình  Forward
    engineering (Ex: Rational Rose)
                            Introduction to UML   8
Tạo lập tài liệu (Documenting)
   Giúp xây dựng tài liệu đặc tả - requirements
   Tài liệu kiến trúc (architecture)
   Tài liệu thiết kế
   Source code
   Tài liệu để kiểm thử - Test
   Tài liệu mẫu - Prototype
   Tài liệu triển khai – Deployment

                               Introduction to UML   9
Cách sử dụng (Usages)
   Định nghĩa các giới hạn của hệ thống và các chức năng
    chính của nó
    ◦ Trường hợp sử dụng (Use cases) và các tác nhân (actor)
   Minh họa các UC
    ◦ Biểu đồ tương tác (interaction diagram)
   Định nghĩa cấu trúc tĩnh của hệ thống
    ◦ Biểu đồ lớp (class diagrams )
   Mô hình hóa các hành vi của đối tượng
    ◦ Biểu đồ chuyển trạng thái (state transition diagrams)
   Mô tả kiến trúc vật lý(phần cứng và phần mềm) của hệ
    thống
    ◦ Biểu đồ thành phần và biểu đồ triển khai (component &
      deployment diagrams)
   Mở rộng
    ◦ Các khuôn mẫu (stereotypes)

                                      Introduction to UML      10
Cơ bản về UML
 Mô hình và các hướng nhìn (Views)
 Các biểu đồ chính
 Các thành phần cơ bản




                     Introduction to UML   11
                                  Model

                                  Views


     Class Diagrams                                    Class Diagrams
   Sequence Diagrams                                     (Packages)




                       Individual Diagrams

                           «utility»
«interface»                utility1
                                                                   UseCase1
Interface3



              Class3
                                                                   UseCase2
                                               Actor1




                   Fundamental Elements
                           Interface2                    «uses»


                                       *   -End1
                                                   *     -End2


                  Actor2
                              UseCase3             {}




                                                                  Introduction to UML   12
Mô hình và hướng nhìn
 Hướng nhìn chỉ ra những khía cạnh khác nhau của
  hệ thống cần phải được mô hình hóa
 Một hướng nhìn không phải là một bản vẽ, mà là
  một sự trừu tượng hóa bao gồm một loạt các biểu
  đồ khác nhau
 Chỉ qua việc định nghĩa của một loạt các hướng
  nhìn khác nhau, mỗi hướng nhìn chỉ ra một khía
  cạnh riêng biệt của hệ thống, người ta mới có thể
  tạo dựng nên một bức tranh hoàn thiện về hệ
  thống.



                             Introduction to UML   13
Core Elements
Construct Description                                Syntax
class     a description of a set of objects
          that share the same attributes,
          operations, methods, relationships
          and semantics.
interface a named set of operations that
                                                         «interface»
          characterize the behavior of an
          element.
component a modular, replaceable and
          significant part of a system that
          packages implementation and
          exposes a set of interfaces.
node      a run-time physical object that
          represents a computational
          resource.

                                   Introduction to UML                 14
Core Elements (cont’d)
Construct Description                                            Syntax
constraint¹      a semantic condition or restriction.
                                                                      {constraint}




¹ An extension mechanism useful for specifying structural elements.




                                                Introduction to UML                  15
Biểu đồ
   Các biểu đồ góp phần chi tiết hóa hệ thống
   Mỗi biểu đồ là sự kết hợp của các thành phần
    cơ bản
   Dựa và các biểu đồ, các nhà phát triển có thể
    giao tiếp với nhau và giải quyết các vấn đề
    phức tạp của hệ thống
   Biểu đồ lớp là loại biểu đồ thông dụng nhất,
    dùng đề mô tả mối quan hệ giữa các lớp, giúp
    cho nhà phát triển có thể hiểu cấu trúc lớp của
    hệ thống



                              Introduction to UML   17
Hướng nhìn (View)
   Mô hình hóa một hệ thống phức tạp là một việc làm khó khăn
   Khi xem xét một hệ thống, chúng ta cần xây dựng các mô
    hình từ những khía cạnh khác nhau, xuất phát từ thực tế là
    những người làm việc với hệ thống với những vai trò khác
    nhau sẽ nhìn hệ thống từ những khía cạnh khác nhau
   Vì vậy một hệ thống thường được miêu tả trong một loạt các
    hướng nhìn khác nhau
   Mỗi hướng nhìn sẽ thể hiện một bức ảnh ánh xạ của toàn bộ
    hệ thống và chỉ ra một khía cạnh riêng của hệ thống.
   Mỗi một hướng nhìn được miêu tả trong một loạt các biểu đồ,
    chứa đựng các thông tin nêu bật khía cạnh đặc biệt đó của
    hệ thống.




                                     Introduction to UML      18
Hướng nhìn (View)
   UML có tất cả các hướng nhìn sau:
    ◦ Hướng nhìn UC
    ◦ Hướng nhìn thiết kế (Design)
    ◦ Hướng nhìn triển khai (Development)
    ◦ Hướng nhìn tiến trình (Process)
    ◦ Hướng nhìn vật lý (Physical)




   Các hướng nhìn phải phù hợp với nhau vì cùng mô tả về một
    hệ thống
   Có thể được sử dụng để kiểm tra tính hợp lệ giữa các hướng

                                        Introduction to UML   19
Hướng nhìn Use Case
   Mô tả ứng xử của hệ thống theo cách nhìn nhận của người
    dùng, người phân tích hệ thống.
   Các thuật ngữ sử dụng trong hướng nhìn mang ý nghĩa rõ
    ràng về một lĩnh vực nào đó
   người dùng có thể kiểm tra xem các yêu cầu của mình đã
    được đáp ứng đầy đủ hay chưa hoặc có chức năng nào của
    hệ thống là không cần thiết.
   Được miêu tả qua các biểu đồ Use case (use case diagram)
    và thỉnh thoảng cũng bao gồm cả các biểu đồ hoạt động
    (activity diagram). .
   Hướng nhìn Use case mang tính trung tâm, bởi nó đặt ra nội
    dung thúc đẩy sự phát triển các hướng nhìn khác




                                    Introduction to UML      20
Hướng nhìn thiết kế (Design View)
 Hướng nhìn thiết miêu tả phương thức mà các
  chức năng của hệ thống sẽ được cung cấp
 Chủ yếu nó được sử dụng cho các nhà thiết kế và
  nhà phát triển.
 Biểu đồ thường được sử dụng là biểu đồ lớp và
  biểu đồ tương tác




                            Introduction to UML   21
Hướng nhìn triển khai
(Development View)
 Là một lời miêu tả của việc thực thi các
  modul cũng như sự phụ thuộc giữa chúng
  với nhau
 Nó thường được sử dụng cho nhà phát
  triển và thường bao gồm nhiều biểu đồ
  thành phần
 Hướng nhìn này mang tính tùy chọn




                        Introduction to UML   22
Hướng nhìn tiến trình (Process View)
 Chia hệ thống thành các tiến trình(process) và
  luồng(thread), mô tả việc đồng bộ hóa và các xử lý
  đồng thời.
 Các tiến trình và luồng thường được xác định dựa
  vào biểu đồ lớp thông qua các lớp động (active
  class)
 Bên cạnh việc chia hệ thống thành các tiểu trình có
  thể được thực thi song song, hướng nhìn này cũng
  phải quan tâm đến vấn đề giao tiếp và đồng bộ
  hóa các tiểu trình đó
 Bao gồm các biểu đồ động (trạng thái, trình tự,
  tương tác và hoạt động) cùng các biểu đồ thực thi
  (biểu đồ thành phần và biểu đồ triển khai)
                              Introduction to UML   23
Hướng nhìn vật lý (Physical View)
 Chỉ cho chúng ta sơ đồ triển khai về mặt
  vật lý của hệ thống
 Hướng nhìn triển khai giành cho các nhà
  phát triển, người tích hợp cũng như người
  thử nghiệm hệ thống và được thể hiện
  bằng các biểu đồ triển khai
 Ánh xạ các thành phần của hệ thống vào
  cấu trúc vật lý



                        Introduction to UML   24
Hướng nhìn
 Danh sách các hướng nhìn là không giới
  hạn
 Phụ thuộc vào cách nhìn nhận hệ thống, ta
  có thể tạo ra một hướng nhìn mới
    ◦ Ví dụ: hướng nhìn về Security




                               Introduction to UML   25
Các phần tử mô hình
   Phần tử cấu trúc (Structural elements)
    ◦ class, interface, collaboration, use case, active
      class, component, node
   Phần tử hành vi(Behavioral elements)
    ◦ interaction, state machine
   Nhóm (grouping elements)
    ◦ package, subsystem
   Các thành phần khác
    ◦ note


                                   Introduction to UML    26
Các loại biểu đồ
   Biểu đồ Use Case
    ◦ Mô tả các yêu cầu
   Biểu đồ hoạt động (Activity Diagrams)
    ◦ Nó chỉ ra các bước thực hiện, các hành động, các nút quyết định và
      điều kiện rẽ nhánh để điều khiển luồng thực hiện của hệ thống
   Biểu đồ tương tác (Interaction Diagrams)
    ◦ Biểu đồ cộng tác (tập trung vào đối tượng) – Collaboration Diagrams
    ◦ Biểu đồ tuần tự (mang yếu tố thời gian) – Sequence Diagrams
   Biều đồ cấu trúc tĩnh (Static Structure Diagrams)
    ◦ Objects/Classes/Packages
   Biểu đồ trạng thái
    ◦ Mô tả trạng thái của đối tượng ứng với từng thời điểm trong vòng đời
      của nó
   Biểu đồ thực thi (Implementation Diagrams)
    ◦ Biểu đồ thành phần (Component Diagrams)
    ◦ Biểu đồ triển khai( Deployment Diagrams)


                                           Introduction to UML              27
Biểu đồ
 Các biểu đồ kết nối lại
  với nhau tạo nên một
  cái nhìn tổng quát về
  hệ thống
 Mỗi biểu đồ mô tả một
  khía cạnh khác nhau
  của hệ thống.
 Có thể chia thành hai
  loại: biểu đồ hành vì và
  biểu đồ cấu
 Biểu đồ UC, tuần tự và
  biểu đồ lớp thường
  được sử dụng nhất




                             Introduction to UML   28
Biểu đồ hành vi
   Biểu đồ hành vi đưa ra một cách nhìn động về hệ thống.
    Nó thường được sử dụng để đặc tả sự cộng tác giữa các
    thành phần nhằm đáp ứng lại các yêu cầu về hành vi của
    hệ thống
   Có thể chia ra 5 loại biểu đồ:
    ◦ Use case
    ◦ Hoạt động
    ◦ Trạng thái
    ◦ Tuần tự
    ◦ Cộng tác
   Biều đồ UC, tuần tự, cộng tác hay được sử dụng
   Biểu đồ hoạt động, trạng thái thường được sử dụng để mô
    tả các yêu cầu cơ bản
   Biểu đồ hoạt đông mô tả một cách trực quan các hành vi
    được lấy ra từ các UC
   Biểu đồ trạng thái nhằm minh họa các giao tác hành vi
    (transition) phức tạp trong các lớp đơn

                                  Introduction to UML     29
  Các kiểu quan hệ
Construct       Description                                     Syntax
association    a relationship between two or more
               classifiers that involves connections
               among their instances.
aggregation    A special form of association that
               specifies a whole-part relationship
               between the aggregate (whole) and
               the component part.
generalization a taxonomic relationship between a
               more general and a more specific
               element.
dependency     a relationship between two modeling
               elements, in which a change to one
               modeling element (the independent
               element) will affect the other modeling
               element (the dependent element).

                                          Introduction to UML            30
  Các kiểu quan hệ
Construct     Description                                  Syntax
realization   a relationship between a specification
              and its implementation.




                                          Introduction to UML       31
   Mối quan hệ
                                                                     ScheduleAlgorithm
RegistrationForm

                      RegistrationManager
                     addStudent(Course, StudentInfo)
                                                                                    Course
                                                                          name
                                                                          numberCredits
                            Student                                       open()
                           name                                           addStudent(StudentInfo)
                           major




       Professor
      name                                                  CourseOffering
      tenureStatus
                                                          location

                                                          open()
                                                          addStudent(StudentInfo)




                                                       Introduction to UML                          35
Quan hệ nối kết
                  Job     
   Company 
           employer employee                 Person



                     Job        boss
                  salary
                                    0..1
                   worker 

                               Manages



                                           Person

                           {X or}
     Account
                                       Corporation



                                           Introduction to UML   36
Các đầu liên kết

                      +vertex
          1               3..
              Contains
Polygon                             Point
                    {ordered}
  1
                                  GraphicsBundle
                         1
                    -bundle      color
                                 texture
                                 density




                                 Introduction to UML   37
Quan hệ hợp thành (Composition)
                      Window

                  scrollbar [2]: Slider
                  title: Header
                  body: Panel



                          Window
                                         1
                      1       1


    scrollbar     2        title     1         body         1

         Slider                    Header                Panel




                                             Introduction to UML   39
Quan hệ khái quát hóa
(Generalization)
              Shape

                                                 Separate Target Style




    Polygon   Ellipse   Spline            . ..




               Shape
                                                  Shared Target Style




                                           ...
    Polygon   Ellipse   Spline



                                 Introduction to UML                     41
   Quan hệ khái quát hóa
                         Vehicle

                power                              venue
                         power     venue
{overlapping}                                                         {overlapping}

    WindPowered         MotorPowered          Land                Water
    Vehicle             Vehicle               Vehicle             Vehicle




                Truck              Sailboat




                                                Introduction to UML                   42
Quan hệ phụ thuộc (Dependencies)

ClassA                        ClassB                     ClassD
         «friend»
                                       «friend»
                                                         operationZ()
                    «instantiate»


          «call»              ClassC


                          «refine»
                                             ClassC combines
                                              two logical classes




           ClassD                            ClassE




                                              Introduction to UML       43
Quan hệ phụ thuộc

                               Controller
                        «access»
  «access»
             «access»     Diagram
                          Elements
                                             «access»
                        «access»


       Domain                  Graphics
       Elements                Core




                                     Introduction to UML   44
Derived Attributes and Associations
                                                   Person
                                                  birthdate
{age = currentDate - birthdate}                   /age




                            1
                Company                 Department
                            employer
                  1                         1   department
                      employer
                                                 WorksForDepartment
                                            
                                          Person
             /WorksForCompany
          { Person.employer=Person.department.employer }




                                            Introduction to UML       45
Nối kết (Links)
                         officer
                                          Jill:Person

                           member
            treasurer
                         member         Joe:Person
 downhillSkiClub:Club

          president
                           member
                                         Chris:Person
                        officer




                              Introduction to UML       46
  Các ràng buộc và lời chú thích
           Member-of 
 Person         {subset}       Committee           Represents
                                                   an incorporated entity.
          1     Chair-of   




                  employee      employer
                                   0..1
       Person                               Company
  0..1
boss

                           {Person.employer =
                           Person.boss.employer}




                                            Introduction to UML              47
Tác nhân (Actors)
 Một tác nhân là một người hoặc một vật
  nào đó tương tác với hệ thống, sử dụng hệ
  thống
 External Forces
    ◦ Tương tác giữa người (Human interaction)
    ◦ Các hệ thống tự động (Automated System)

                                                 Traffic Control
                Driver                              System
                          Keyboard
    User                  Operator


      <<Backup System>>
        <<toll booth>>
                                     Introduction to UML           48
Use Cases
   Một UC là một mô tả về một hành vi của hệ thống
    ◦ Là một chuỗi các giao tác (transaction) có quan hệ với
      nhau được thực hiện bởi một tác nhân trong hệ thống
    ◦ Chi tiết những gì hệ thống cần cung cấp cho tác nhân khi
      một UC được thực thi
   A flow of events document is created for each use case
    ◦ Xuất phát từ quan điểm của tác nhân
    ◦ Các tác nhân sẽ được phỏng vấn để xác định cách thức
      mà họ tương tác với hệ thống
       Phân tách các hành vi đến mức chi tiết nhất
   Các nội dung chủ yếu:
    ◦ Một UC bắt đầu và kết thúc như thế nào?How the use case
      starts and ends
    ◦ Các dòng sự kiện thông thường (Normal flow of events)
    ◦ Các dòng sự kiện tùy chọn (Alternate flow of events)
    ◦ Các dòng sự kiện ngoại lệ (Exceptional flow of events)


                                          Introduction to UML   49
Biểu đồ Use case
   Nắm bắt các chức năng của hệ thống
    theo cách nhìn bởi người sử dụng
   Built in early stages of development
   Mục đích
    ◦ Xác định rõ các ngữ cảnh của hệ thống
    ◦ Nắm bắt các yêu cầu của hệ thống
    ◦ Xác định tính hợp lệ kiến trúc hệ thống
    ◦ Hướng dẫn thực thi và kiểm tra tính đầy đủ
      chức năng
    ◦ Được xây dựng bởi các nhà phân tích và các
      chuyên gia
                            Introduction to UML   51
     Biểu đồ Use case
         Biểu đồ Use case nhằm trực quan
          hóa các mối quan hệ giữa tác nhân và
          Use case
                                               Pay toll

                                                                                Driver
 Passager

                     Lost Luggage




Customer Service Agent
                                                              Ramp Maintenance

                                    Mechanic



                                                          Introduction to UML            52
Biểu đồ Use case
   Nắm bắt các yêu cầu của hệ thống
    theo cách nhìn của người sử dụng




                       Introduction to UML   53
Biểu đồ cộng tác
 Là một dạng của biểu đồ tương tác mô tả
  cách thức tổ chức các đối tượng gửi và
  nhận các thông điệp
 Xét về mặt ngữ nghĩa gần giống như biểu
  đồ trình tự
 Khác với biểu đồ trình tự là ở đây tập trung
  vào ngữ cảnh và không gian thực hiện
  công việc



                          Introduction to UML   54
Biểu đồ cộng tác
   Biểu đồ cộng tác mô tả cách tổ chức các
    tương tác của đối tượng và sự kết nối của
    chúng với đối tượng khác
                                           course form :
                    1: set course info     CourseForm
                       2: process




      : Registrar                                    3: add course




                                           theManager :
     aCourse :                           CurriculumManager
      Course
                        4: new course
                                           Introduction to UML       55
Biểu đồ trình tự
   Tương đương với biểu đồ cộng tác.

   Mô tả trật tự thời gian của các thông điệp
    được gởi giữa các đối tượng

   Được sử dụng trong hầu hết các quy trình
    phát triển phần mềm




                             Introduction to UML   56
     Biểu đồ trình tự
           Mô tả sự tương tác giữa các đối
            tượng theo một trật tự thời gian

Passenger            Counter              Ticket                 Gate              Plane
                     Agent                                       Agent
      1: Give Info

      2: Questions

       3: Answer
                               4: Print
      5: Safeguard
                                                   6:Present
                                                                      7: Board
                                                                         8: Overbook
                                                    9: Return



                                                           Introduction to UML             57
Trạng thái của đối tượng
   Biểu đồ trạng thái mô tả:
    ◦ Quá trình sống của một lớp
    ◦ Các sự kiện nào gây ra sự thay đổi từ trạng thái
      này đến trạng thái khác
    ◦ Các hành động là kết quả của sự thay đổi trạng
      thái
   Biểu đồ dịch chuyển trạng thái được tạo
    cho các đối tượng có hành vi không cố định




                                Introduction to UML   58
Biểu đồ dịch chuyển trạng thái
 Mô tả các trạng thái bên trong liên quan
  đến các hành vi của đối tượng
 Việc dịch chuyển giữa các trạng thái giúp
  cho việc xác định, xác thực các hành vi
  phức tạp
 Mỗi lớp có ít nhất một biểu đồ trạng thái




                        Introduction to UML   59
Biểu đồ dịch chuyển trạng thái

                                                               Add student[ count < 10 ]
                                         Add Student /
 Initialization                          Set count = 0
                                                                              Open
do: Initialize course
                                                                      entry: Register student
                                                                       exit: Increment count

                 Cancel

                                                    Cancel                   [ count = 10 ]

                 Canceled
        do: Notify registered students
                                                                 Closed
                                               Cancel        do: Finalize course




                                                             Introduction to UML                60
Biểu đồ hoạt động
   Mô hình hóa các dòng hoạt động giữa các
    quy trình

   Rất hữu ích trong việc chi tiết hóa các hành
    vi của UC

   Biểu đồ hoạt động không chỉ ra sự cộng tác
    giữa các đối tượng



                            Introduction to UML   61
Biểu đồ cấu trúc
 Các loại biểu đồ dạng này thường tập trung phân tích vào
  khía cạnh tĩnh của hệ thống
 Biểu đồ lớp là loại biểu đồ thường được sử dụng
 Khi chuyển sáng phân tích thiết kế bằng UML, hầu hết các
  tổ chức có xu hướng sử dụng biểu đồ lớp trước tiên vì:
     Giúp cho việc giao tiếp giữa các nhà phát triển thuận lợi và dễ dàng
     Là công cụ để giải quyết các vấn đề nảy sinh
   Biểu đồ lớp thường có hai dạng
     Dạng thứ nhất thường được sử dụng, bao gồm các lớp đối tượng
      cấu tạo nên hệ thống và cấu trúc của nó
     Dạng thứ hai ít được sử dụng nhưng có tầm quan trọng không kém,
      đặc biệt rất hữu ích trong việc phát triển hệ thống từ mức cao
   Biểu đồ gói (package diagram), một dạng của biểu đồ lớp,
    thường được mô tả dưới dạng các gói của ngôn ngữ Java
    và mối quan hệ giữa chúng



                                            Introduction to UML              62
Biểu đồ lớp
 Mô tả tập các lớp, gói và mối quan hệ
  giữa chúng theo một hướng nhìn cụ
  thể về hệ thống
 Thường được sử dụng trong việc mô
  hình hóa hệ thống




                      Introduction to UML   63
Class Diagrams
 Biểu đồ lớp đưa ra các lớp tồn tại và mỗi quan hệ giữa chúng
  theo hướng nhìn logic về hệ thống
 Các phần tử mô hình hóa UML trong biểu đồ lớp
    ◦   Lớp, cấu trúc lớp và hành vi
    ◦   Các quan hệ nối kết, kết tập, phụ thuộc , kế thừa
    ◦   Chỉ số quan hệ và hướng của quan hệ
    ◦   Các quy tắc đặt tên
   Thuộc tính
    ◦ Thuộc tính cho biết cấu trúc của lớp
    ◦ Thuộc tính có thể được xác định thông qua địnhg nghĩa lớp, các yêu
      cầu và các tri thức về lĩnh vực phân tích
   Phương thức
    ◦ Hành vi của lớp được thể hiện thông qua các phương thức
    ◦ Các phương thức có thể xác định thông qua sự tương tác giữa các
      biểu đồ


                                              Introduction to UML      64
Class Diagram
   Xác định các từ vựng của hệ thống




                               Introduction to UML   65
Bộ số quan hệ và hướng quan hệ
   Bộ số quan hệ định nghĩa số lượng đối tượng
    tham gia vào quan hệ
    ◦ Cho biết số lượng thể hiện của một lớp quan hệ với
      một thể hiện của lớp khác
    ◦ Với mỗi quan hệ nối kết hay kết tập, có hai dạng bộ
      số quan hệ cần phải xác: one for each end of the
      relationship
   Mặc dù các quan hệ nối kết và kết tập là các
    quan hệ hai chiều nhưng chúng thường được
    giới hạn lại thành quan hệ một chiều
   Khi hướng quan hệ được xác định, đầu mũi
    tên sẽ được thêm vào nhằm thông báo chiều
    của quan hệ
                                 Introduction to UML    68
Bội số quan hệ và hướng quan hệ
                                                                             ScheduleAlgorithm
RegistrationForm

                    0..*
                           1 RegistrationManager
                            addStudent(Course, StudentInfo)
                                                              1                           Course
                                                                                    name
                                                                             0..*   numberCredits
                                  Student                                           open()
                                                                                    addStudent(StudentInfo)
                                  major

                                                                                         1
                                             3..10
      Professor                                                              1..*
                                                              4    CourseOffering
     tenureStatus
                                                                  location
                      1
                                                          0..4    open()
                                                                  addStudent(StudentInfo)




                                                              Introduction to UML                             69
Kế thừa
 Quan hệ kế thừa là quan hệ giữa lớp cha
  và các lớp con của nó
 Có hai phương để xác định mối quan hệ kế
  thừa:
    ◦ Khái quát hóa
    ◦ Chuyên biệt hóa
   Với các thuộc tính, phương thức hay các
    mối quan hệ tồn tại chung thường được đặt
    ở mức cao nhất của cây phân cấp


                           Introduction to UML   70
Kế thừa
                                                                     ScheduleAlgorithm
RegistrationForm

                       RegistrationManager
                      addStudent(Course, StudentInfo)
                                                                                Course
                                                                         name
   RegistrationUser                                                      numberCredits
  name                      Student                                      open()
                                                                         addStudent(StudentInfo)
                            major




         Professor
                                                           CourseOffering
     tenureStatus
                                                          location

                                                          open()
                                                          addStudent(StudentInfo)




                                                        Introduction to UML                        71
Các yếu tố vật lý
 Biểu đồ thành phần chỉ ra cấu trúc và
  sự phụ thuộc giữa các phần của phần
  mềm
 Một thành phần có thể là:
    ◦ Thành phần mã nguồn
    ◦ Thành phần mã nhị phân
    ◦ Thành phần thực thi



                          Introduction to UML   72
Biểu đồ thành phần
   Nhấn mạnh các mối quan hệ tĩnh giữa các
    thành phần phần mềm thực thi

   Đó có thể là các loại file .exe, .dll, .ocx, jar
    files, hay là Enterprise JavaBeans.

   Có thể được sử dụng để chỉ ra các phần
    mềm bên trong ứng dụng

   Các thành phần không phải là các lớp

                               Introduction to UML   73
Biểu đồ thành phần
   Mô tả cấu trúc vật lý của quá trình
    thực thi




                          Introduction to UML   74
Triển khai hệ thống
   Biểu đồ triển khai chỉ ra cấu hình các phần tử xử lý
    lúc chương trình chạy, các nút trên mạng và các
    tiến trình phần mềm thực hiện trên những phần tử
    đó

   Nó chỉ ra mối quan hệ giữa các phần cứng và
    phần mềm của hệ thống

   Trực quan hóa các thành phần riêng biệt của ứng
    dụng



                                 Introduction to UML   75
Biểu đồ triển khai
   Mô tả mối quan hệ của hệ thống phần cứng




                          Introduction to UML   76
Biểu đồ trển khai
   Mô tả cấu trúc vật lý của hệ thống
   Biểu đồ triển khai chỉ ra toàn bộ các nút
    trên mạng, kết nối giữa chúng và các tiến
    trình chạy trên chúng
   Rất hữu ích đối với các hệ thống có môi
    trường cấu hình phức tạp
   Đối với các ứng dụng triển khai trên nhiều
    server và vùng lãnh thổ, việc sử dụng biểu đồ
    trển khai là cần thiết



                              Introduction to UML   77
Mở rộng UML
 Khuông mẫu (Stereotype)
 Giá trị đính kèm (Tagged value)
 Hạn chế (Constraint)




                       Introduction to UML   78
Mở rộng UML
 Khuôn mẫu có thể được sử dụng để mở
  rộng các phần tử ký hiệu của UML
 Phân loại các quan hệ mở rộng như nối kết,
  kế thừa, lớp và thành phần
 Ví dụ:
    ◦ Các khuôn mẫu lớp: biên, điều khiển, thực thể,
      tiện ích, ngoại lệ
    ◦ Khuôn mẫu kế thừa: sử dụng(uses) và mở
      rộng(extends)
    ◦ Khuôn mẫu thành phần: hệ thống con


                              Introduction to UML   79
Q &A
… time to ask questions




                          Introduction to UML   80
Thank you!
… take a break




                 Introduction to UML   81

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:25
posted:1/5/2013
language:Unknown
pages:72