Giáo trình phân tích thiết kế hệ thống hướng đối tượng với UML

29 532 0
Giáo trình phân tích thiết kế hệ thống hướng đối tượng với UML

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

UML được sử dụng trong quá trình mô tả, phân tích và thiết kế các hệ thống .... cho tất cả những ai biết về UML đều có thể dễ dàng giao tiếp được với nhau................................................................

Mục lục Khái niệm I.1 UML gì? I.2 ý niệm UML I.3 Thuận lợi bất lợi UML II Mô hình cấu trúc (Structural Modeling) II.1 Use-Case II.2 Biểu đồ đối tượng(object) biểu đồ lớp(class) II.3 Biểu đồ thành phần ( component ) biểu đồ triển khai ( deployment ) 14 III Mô hình tương tác (Behavioural Modeling) 18 III.1 Biểu đồ (sequence) biểu đồ cộng tác (collaboration) 18 III.2 Biểu đồ hoạt động(Activity) 23 III.3 Biểu đồ trạng thái(State) 29 I UML I Khái niệm I.1 UML gì? UML: viết tắt cho chữ “Unified Modeling Language” UML ngôn ngữ “đồ hình” mà sử dụng tập ký hiệu đồ họa để mô hình truyền đạt hệ thống thông qua sơ đồ (diagram) text UML sử dụng trình mô tả, phân tích thiết kế hệ thống phần mềm, đặc biệt hệ thống phần mềm xây dựng tảng công nghệ hướng đối tượng (Object - Oriented) UML gồm phần có quan hệ mật thiết với sau: - Ký hiệu (Notation): tập ký hiệu, biểu tượng dùng mô hình - Ngữ nghĩa (Semantics): Cho biết ý nghĩa biểu tượng, chúng hiểu nằm không nằm ngữ cảnh biểu tượng khác - Cú pháp (Syntax): Cho biết hình dạng biểu tượng cách sử dụng chúng - Văn phong thực tế (Pragmatic): Định ý nghĩa biểu tượng để cho mục đích mô hình thể người hiểu I.2 ý niệm UML Tính ngôn ngữ (Language): Ngôn ngữ cho phép giao tiếp, truyền đạt thông điệp vấn đề, chủ đề Trong trình phát triển hệ thống chủ đề, vấn đề bao gồm yêu cầu, phương pháp thành phần, yếu tố tạo xây dựng lên hệ thống Tính mô hình (Modeling): Mô hình thể vấn đề, chủ đề Counting Arithmetic Số biểu diễn ngôn ngữ số học khó cho học sinh học hiểu ý nghĩa số, với chấm tròn hay que tính hẳn đếm hiểu ý nghĩa số Tính hợp nhất, thống (Unified): Tạo ngôn ngữ thống nhất, giúp cho tất biết UML dễ dàng giao tiếp với Nếu ngôn ngữ chung, thống khó cho thành viên nhóm nhanh chóng bắt tay vào sản xuất đóng góp lực vào trình phát triển hệ thống I.3 Thuận lợi bất lợi UML Thuận lợi: - Mô hình hóa nhiều loại hệ thống khác - Thiết lập kết nối thẳng từ nhận thức người đến kiện cần mô hình hóa - Giải vấn đề sử dụng lại (thừa kế) hệ thống phức tạp, có nhiều ràng buộc khác - Tạo ngôn ngữ mô hình hóa hiểu người máy Bất lợi: II Mô hình cấu trúc (Structural Modeling) II.1 Use-Case Element Actor - Là người sử dụng hệ thống Người sử dụng hệ thống người, máy, hệ thống khác hệ thống mô hình Bất tương tác từ bên hay bên hệ thống gọi Actor - Tương tác actor với use case thể kịch use- case chi tiết chức hệ thống phải thỏa mãn yêu cầu Actor người dùng Use case - Use case chức hệ thống UseCase - Use case kỹ thuật thu thập yêu cầu chức hệ thống - Use case hoạt động dựa việc mô tả tương tác đặc trưng người sử dụng hệ thống hệ thống (scenario) System Boundary System - Là ranh giới hệ thống bên Boundary UseCase - Phải cẩn thận với system boundary có nhiều hệ thống nằm bên hệ thống khác Connector: - Use: Một actor usecase yêu cầu actor UseCase usecase khác thực vài tương tác Quan hệ use loại nhỏ quan hệ Actor phục thuộc UseCase - Association: Thể quan hệ thành phần mô hình Actor - Generalization: Thể tính kế thừa, tính sử dụng lại actor Actor B Actor A - Actor B thừa kế thuộc tính vai trò actor A - Inclusion: Thể UseCase2 bao gồm UseCase2 UseCase1 chức UseCase1 UseCase2 UseCase1 - Extension: UseCase2 mở rộng tác động, hành vi Usecase1 UseCase2 UseCase1 - Realization: UseCase2 thực thực hóa UseCase1 UseCase2 UseCase1 - Dependency: UseCase2 phụ thuộc vào UseCase1 UseCase Diagram: Một biểu đồ UseCase thể tương tác actor usecase Nó thể yêu cầu chức hệ thống, thể tương tác tác nhân bên bên hệ thống với hệ thống Quản lý người sử dụng Đăng nhập Tạo tài khoản Xem nhật ký Xem chi tiết tài khoản Người sử dụng Xem hóa đơn Đóng tài khoản Xóa tài khoản Người quản trị Use Case Diagram Kịch UseCase: Tên Use Case: Đăng nhập Actor Chính: Người sử dụng Mô tả: Mức độ khó: Actor Phụ: Điều kiện bắt đầu (Pre-Condition): Điều kiện sau dùng (Post Condition): Trình tự thực hiện: Các yêu cầu phi chức năng: Thời gian hồi đáp chức phải nhanh Các lưu đồ mô tả khác: Không có II.2 Biểu đồ đối tượng(object) biểu đồ lớp(class) Object: Object Object : Class - Trong giới thực đối tượng như: Người, Xe, Cây, Bàn, Nhà… - Trong lập trình đối tượng thực chất mô hình hóa đối tượng giới thực ngôn ngữ lập trình hay mô hình khác Chúng ta thấy đối tượng định nghĩa sẵn số ngôn ngữ lập trình Number, TextField, String, File, Windows, tiến trình, collection… - Đối tượng kiểu liệu trừu tượng, đối tượng thể class thực Ví dụ xe có biển kiểm soát “29A-1736” thể lớp “xe hơi” với thuộc tính biển kiểm soát - Một Object có thuộc tính phương thức Thuộc tính mà object có sở hữu, kiến thức mà thân object có Phương thức, services mà object có khả làm - Cú pháp chung để xác định giá trị thuộc tính: - Ví dụ: – address[1] : String = “Hà nội, Việt nam” - Ký hiệu “-” thể thuộc tính address private - [1] thể giá trị đầu address.Vì address có 2-3 giá trị khác - String thể address sâu ký tự (Kiểu String) - “Hà nội, Việt nam” giá trị thuộc tính Cú pháp: visibility name [index] : type = value - Phương thức (methods, operation, services): Vì phương thức chia sẻ, sử dụng tất đối tượng Class Object.s Class: Tên lớp -thuộc tính #thuộc tính +thuộc tính +Phương thức 1() #Phương thức 2() -Phương thức 3() Parameter Class - Lớp đại diện cho tập đối tượng có chung thuộc tính, phương thức - Template Class (Parameterized Class) cho phép chức sử dụng lại lớp biên - Class kế thừa đặc điểm (thuộc tính, hành vi) từ Class cha uỷ nhiệm (delegate) service cho class khác thực - Class có thuộc tính (dữ liệu) phương thức (dịch vụ, hành vi) - Cú pháp chung thuộc tính: Cú pháp: Visibility name [multiplicity ordering] : type = initial_value Ví dụ: - EmailAddress [1 unordered] : String = "No email address" - Cú pháp chung phương thức: Cú pháp: Ví dụ: Visibility operation_name (parameter_list) : return_type + addEmailAddress (in theEmailAddress : String = "") : Boolean Connector: Class1 -End1 * -End2 Class2 - Association: Thể mối quan hệ lớp đối tượng (Link ) * - Trong UML, kết hợp định nghĩa quan hệ gồm tập mối liên Class4 -End1 * -End2 Class3 kết, liên kết liên kết ngữ nghĩa hai đối tượng hay mối quan * hệ hai lớp - Có kiểu quan hệ kết hợp phía Class5 -End1 * -End2 * Class6 (uni-direction) hai phía (bi-direction) ••••• ••••• ••••• Class2 ••••• End2 End1 Class3 lớp đối tượng (nhiều 2) End3 ••••• ••••• - Association Class: Lớp kết hợp Class1 lớp bình thường, có thuộc tính, phương thức ••••• ••••• - N-ary association: mối quan hệ quan hệ kết hợp khác Lớp kết hợp Class5 * * -End1 Class4 dùng để cộng thêm thông tin -End2 đặc biệt vào liên kết Mỗi mối liên ••••• kết kết hợp đối tượng ••••• AssociationClass1 lớp kết hợp ••••• ••••• -End2 Class1 từ lớp vào gọi kết ••••• hợp đệ quy Thực chất kết hợp * ••••• * ••••• ••••• ••••• ••••• ••••• ••••• đệ quy biểu diện kết nối ngữ - Qualified association: Quan hệ kết hợp hạn chế cd Class M odel dùng với qualifier (yếu tố hạn định, khóa) để ••••• ••••• -End1 nghĩa đối tượng lớp ••••• ••••• - Recursive association: Sự kết hợp nối Nhân v iên - tên: Stri ng tuoi : i nt xác định tập hợp đối tượng lấy từ nhiều điểm cuối quan hệ kết hợp * - Thông thường với quan hệ - nhiều quan hệ nhiều - nhiều người ta thường chia đối tượng T uoi Doanh nghiêp lớp thành nhóm đối tượng sở giá trị thuộc tính lớp - Or-association: ràng buộc Cong ty bao hiem hai hay nhiều quan hệ kết hợp, để xác định đối tượng * lớp tham gia vào quan hệ kết hợp thời điểm Hop dong bao hiem * * * * Khach hang Doanh nghiep {OR} Class1 - Aggregation: trường hợp đặc biệt quan hệ kết hợp dùng để biểu diễn “Tổng thể - Thành phần”, điều có nghĩa lớp bao gồm nhiều lớp khác -End1 * -End2 Class2 - Với quan hệ tập hợp Class1 bao gồm Class2 không sở hữu Class2 tồn cách độc lập, Class1 Class2 không bị - Quan hệ aggregation coi quan hệ có môt(has - a) - Composition: Mạnh aggregation chỗ Class4 bao gồm Class4 Class3 lại sở hữu Class3 Class3 không tồn bên Class4 Class4 đị Class3 -End1 * -End2 - Với quan hệ tập hợp Class tạo thành đi(Class1) Class tạo thành không bị đi(Class2) Class3 - Quan hệ aggregation coi quan hệ có môt(has - a) Node Package Component Dependency Interface III Mô hình tương tác (Behavioural Modeling) III.1 Biểu đồ (sequence) biểu đồ cộng tác (collaboration) Biểu đồ thể chuỗi kiện, hành vi đối tượng theo trình tự thời gian Nó sử dụng để mô tả dòng thông điệp gửi và đối tượng phối hợp nhận xử lý để trả kết mà theo yêu cầu mà thông điệp gửi đến Biểu đồ thông thường sử dụng mô hình giải thích cho kịch usecase Biểu đồ thể rõ đối tượng tương tác với đối tượng thông điệp Khi đọc biểu đồ ta đọc từ trái qua phải từ xuống Các ký hiệu quy tắc sử dụng:  Thành phần tham gia vào biểu đồ Actor, Object số thành phần sau:  Boundary (View): Là khuôn lớp để hình vài danh giới hệ thống, điển hình ta thấy Boundary giao diện chương trình Nó thể tương tác người dùng với hệ thống múc độ giao diện hình Nó thường sử dụng biểu đồ nhìn nhận mô hinh MVC  Entity (Model): Là kho (Store) để thu thập thông tin knowledge hệ thống áp dụng MVC  Controller: Là khuôn lớp để thể control, quản lý thực thể Control tổ chức schedule cho tương tác khác với thành phần khác :Object  Lifelines: Thể tồn đối tượng theo thời gian (thời gian sống đối tượng) Trong UML biểu diễn đường nét rời đứng  Activations: Thể thời gian, chu trình sống đối tượng thực service (thời gian mà service tồn tại) Trong UML biểu diễn hình chữ nhật hẹp, đứng  Message: Một object gửi thông điệp đến Message object khác nhờ thực service mà Message(Call) Khi gửi message có tham số kèm theo knowledge (data) object gửi Self Message  Message (Call, Procedure): gọi phương thức cụ thể object đích Return Message  Self message: Self message tự gọi phương thức lớp Return Message  Return message: Là message kết trả sau thực message gửi Destroy  Destroy: Kết thúc chu trình sống đối tượng ta phải huỷ đối tượng Biểu đồ sequence(diagrams): III.2 Biểu đồ hoạt động(Activity) Các ký hiệu quy tắc sử dụng: - Thể dòng công việc (workflow) hệ thống - Mỗi activity state thực action - Biểu đồ activity mô tả trạng thái activity mà activty thực - Biểu đồ activity biểu diễn activity mà có rẽ nhánh (branch) activity mà xảy đồng thời thời điểm (parallel activity) - Activity diagram thể rõ usecase mô tả hành động (action) cần đặt vào chúng xảy - Ta sử dụng activity diagram cần mô tả thuật toán tuyến tính phức tạp số mô hình ứng dụng với tiến trình xử lý song song - Activity diagram không cho ta thấy đối tượng ứng xử cộng tác với đối tượng khác - Khi đọc activity diagram ta đọc từ xuống Transition InitialState, Start Fork Transition State Join Transition Action State End, Final Decision, Conrol Flow Biểu đồ (Activity diagram): III.3 Biểu đồ trạng thái(State) Các ký hiệu quy tắc sử dụng: Biểu đồ (Activity diagram): [...]... chuỗi các sự kiện, hành vi của đối tượng theo một trình tự thời gian Nó được sử dụng để mô tả dòng thông điệp được gửi đi và và các đối tượng phối hợp nhận và xử lý để trả về kết quả mà theo yêu cầu mà thông điệp gửi đến Biểu đồ tuần tự thông thường được sử dụng như một mô hình giải thích cho kịch bản usecase Biểu đồ tuần tự thể hiện rất rõ đối tượng nào tương tác với đối tượng nào và thông điệp là gì... schedule cho các tương tác khác nhau với các thành phần khác nhau :Object  Lifelines: Thể hiện sự tồn tại của đối tượng theo thời gian (thời gian sống của đối tượng) Trong UML nó được biểu diễn bởi được đường nét rời đứng  Activations: Thể hiện thời gian, chu trình sống của đối tượng khi thực hiện một service nào đó (thời gian mà service đó còn tồn tại) Trong UML nó được biểu diễn bằng một hình chữ... tại trong lớp đó Return Message  Return message: Là message kết quả trả về sau khi đã thực hiện một message gửi Destroy  Destroy: Kết thúc chu trình sống của đối tượng thì ta phải huỷ đối tượng 2 Biểu đồ sequence(diagrams): III.2 Biểu đồ hoạt động(Activity) 1 Các ký hiệu và quy tắc sử dụng: - Thể hiện dòng công việc (workflow) trong hệ thống - Mỗi activity là một state thực hiện một action nào đó... Là một khuôn lớp để một hình một vài danh giới hệ thống, điển hình ta có thể thấy Boundary là giao diện chương trình Nó thể hiện các tương tác giữa người dùng với hệ thống ở múc độ giao diện màn hình Nó thường được sử dụng trong biểu đồ tuần tự và nhìn nhận dưới mô hinh MVC  Entity (Model): Là một kho (Store) để thu thập thông tin và knowledge trong hệ thống và được áp dụng trong MVC  Controller:... thành phần được thực hiện bởi một hoặc nhiều class hay object khi thực hiện (runtime) - Thông thường biểu đồ thành phần được áp dụng trong quá trình thiết kế để xác định các activities sẽ thực hiện xây dựng hệ thống như thế nào, xác định các thành phần của hệ thống mà các activities sẽ tập trung vào đó Node Package Component Dependency Interface 1 Element:  Component:  Package:  2 Connector: 3 Component... đó và chúng xảy ra khi nào - Ta có thể sử dụng activity diagram khi cần mô tả những thuật toán tuyến tính phức tạp và một số mô hình ứng dụng với các tiến trình xử lý song song - Activity diagram không cho ta thấy được các đối tượng ứng xử và cộng tác với đối tượng khác như thế nào - Khi đọc activity diagram ta đọc từ trên xuống dưới Transition InitialState, Start Fork Transition State Join Transition... (Scope): Thể hiện phạm vi truy cập đối với thuộc tính hay phương thức của Class…  Stereotype: Tạm dịch là gia nghĩa, có nghĩa là làm gia tăng thêm ý nghĩa của một Class Nội dung được đặt trong , ở đây abc chỉ mang tính chất giải thích rõ nghĩa thêm mà không có ảnh hưởng gì tới Class  Cardinality (Multiplicity): Xác định số đối tượng của mỗi lớp có thể liên kết với nhau Và nó có thể là: *, 0,... Interface và Class8 là một lớp thực hiện Interface Class8 Class1 - Dependency: Là một liên kết giữa 2 lớp trong đó một lớp độc lập(Class1) và một lớp phụ thuộc(Class2) Những thay đổi trong lớp độc lập sẽ ảnh hưởng đến lớp phụ thuộc - Class2 sử dụng tham số là một đối tượng của Class1 - Class2 có thuộc tính là đối tượng kiểu Class1 Class2 Parameter Class - Class2 gọi một hàm của Class1 - Template: Khuôn... Jupiter : Xe máy có 6 Class Diagram: Đại lý * 0 * 0 * Xe máy Sản phẩm -Màu : string -Phân khối : double 1 Hãng Nước có II.3 Biểu đồ thành phần ( component ) và biểu đồ triển khai ( deployment ) - Biểu đồ thành phần (component diagram) mô hình hóa các thành phần của hệ thống - Biểu đồ thành phần là một biểu đồ trừu tượng ở mức cao hơn biểu đồ lớp - Thông thường các thành phần được thực hiện bởi một...Class5 - Generalization: Là quan hệ giữa một lớp tổng quát (Class5) và một lớp đặc biệt (Class6) - Class5 được gọi là lớp cha và Class6 được gọi là lớp con - Lớp con được kế thừa toàn bộ thuộc tính và phương thức mà Class6 Class7 lớp cha có - Realization: Class8 hiện thực hóa Class7 Class8 là lớp hiện ... text UML sử dụng trình mô tả, phân tích thiết kế hệ thống phần mềm, đặc biệt hệ thống phần mềm xây dựng tảng công nghệ hướng đối tượng (Object - Oriented) UML gồm phần có quan hệ mật thiết với. .. mối quan hệ lớp đối tượng (Link ) * - Trong UML, kết hợp định nghĩa quan hệ gồm tập mối liên Class4 -End1 * -End2 Class3 kết, liên kết liên kết ngữ nghĩa hai đối tượng hay mối quan * hệ hai lớp... Người sử dụng hệ thống người, máy, hệ thống khác hệ thống mô hình Bất tương tác từ bên hay bên hệ thống gọi Actor - Tương tác actor với use case thể kịch use- case chi tiết chức hệ thống phải thỏa

Ngày đăng: 04/11/2015, 21:15

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan