1. Trang chủ
  2. » Công Nghệ Thông Tin

Phân tích và thiết kế hướng đối tượng

79 523 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phân tích và thiết kế hướng đối tượng Tiến trình phát triển hệ thống Các phương pháp phát triển hệ thống Hướng đối tượng – ObjectOriented  Trừu tượng hoá – Abstraction  Tính đóng gói – Encapsulation  Tính đơn thể Modularity  Tính phân cấp – Hierarch Phân chia nhỏ 1 vấn đề phức tạp thành nhiều phần nhỏ, đơn giản hơn để có thể quản lý được độ phức tạp 12 Hệ thống xử lý mua bán hàng hoá Nhận đơn đặt hàng Thực hiện đơn đặt hàng Thanh toán đơn đặt hàng Lập hoá đơn bán hàng Thanh toán hoá đơn Xuất hoá đơn …Các đơn thể quản lý tồn kho 2 – Phân tích thiết kế hướng đối tượng Tính phân cấp – Hierarchy 13 Bất động sản Chứng khoán Tài khoản ngân hàng Tài sản Cổ phiếu Trái phiếu Tài khoản Tiết kiệm Tài khoản Thanh toán Tăng mức độ trừu tượng Giảm mức độ trừu tượng  Các phần tử trên cùng một mức phải có cùng mức độ trừu tượng 2 – Phân tích thiết kế hướng đối tượng Các khái niệm cơ bản của HĐT  Objects Class  Attributes (Properties) Operation (Behavior)  Method Message  Interface (Polymorphism)  Component  Package  Subsystem  Relationship 14 2 – Phân tích thiết kế hướng đối tượng Object  Một cách không hình thức, một đối tượng biểu diễn một thực thể, dạng vật lý, khái niệm hoặc phần mềm 15 Thực thể vật lý Thực thể Khái niệm Thực thể Phần mềm Chemical Process Truck Linkedlist 2 – Phân tích thiết kế hướng đối tượng Objects Class  Một đối tượng là một đối tượng trừu tượng, hoặc một vật với giới hạn rõ ràng và có ý nghĩa với một ứng dụng cụ thể  Lớp (Class) – khuôn mẫu cho các thể hiện của object  Đối tượng (Object) – Thể hiện của một class  Thuộc tính (Attributes)  Hành vi (Behaviors) – chi tiết đối tượng có thể làm gì 16 2 – Phân tích thiết kế hướng đối tượng Biểu diễn đối tượng  Một đối tượng được biểu diễn bởi một hình chữ nhật với tên được gạch dưới 17 : Profressor ProfressorJohn ProfressorJohn: Professor A x B = 10 Profressor John Chỉ có tên Object Tên Class và tên Object Chỉ có tên Class 2 – Phân tích thiết kế hướng đối tượng Class Example Class Course 18 A x B = 10 Profressor John Properties Tên Địa điểm Thời gian Số tín chỉ Giờ bắt đầu Giờ kết thúc Behavior Thêm một sinh viên Huỷ một sinh viên Lấy danh sách giáo sư … 2 – Phân tích thiết kế hướng đối tượng Class Object 19 2 – Phân tích thiết kế hướng đối tượng Method Message  Phương thức (Methods) implement an object’s behavior  Messages are sent to trigger methods  Procedure call from one object to the next 20 2 – Phân tích thiết kế hướng đối tượng Phương thức và message 21 2 – Phân tích thiết kế hướng đối tượng Polymorphism Khả năng che dấu nhiều cài đặt khác nhau bên dưới một giao diện (interface) duy nhất  Nguyên tắc OO đóng gói 22 Nhà sản xuất A Nhà sản xuất B Nhà sản xuất C 2 – Phân tích thiết kế hướng đối tượng Polymorphism – Interface 23  Interface là hình thức hoá polymorphism  Interface hỗ trợ kiến trúc “plug play” Shape Draw Move Scale Rotate Tube Pyramid Cube Quan hệ Realizzation 2 – Phân tích thiết kế hướng đối tượng Component  Một phần không tầm thường của hệ thống, gần như độc lập và có thể thay thế được, giữ một chức năng rõ ràng trong hệ thống  Một component có thể là  Một source code component  Một run time components hoặc  Một executable component 24 Source File Name Executable name Component name 2 – Phân tích thiết kế hướng đối tượng Package  Một package là một cơ chế để tổ chức các phần tử vào thành các nhóm  Một phần tử trong mô hình có thể chứa các phần tử khác  Dùng để  Tổ chức mô hình đang phát triển  Một đơn vị trong quản trị cấu hình 25 Package Name Nguyên tắc OO Tính đơn thể 2 – Phân tích thiết kế hướng đối tượng Subsystem  Tổ hợp của một package (có thể chứa các phần tử khác trong mô hình) và một class(có hành vi)  Hiện thực hoá một hoặc nhiều interface định nghĩa cho hành vi của nó 26 Subsystem Name Subsystem Relization Interface 2 – Phân tích thiết kế hướng đối tượng Subsystem Component  Component là thể hiện ở mức vật lý của một khái niệm trừu tượng trong thiết kế  Subsystem có thể dùng để biểu diễn các component trong thiết kế 27 Component name Component name Design Model Implementation Model Component Interface Component Interface 2 – Phân tích thiết kế hướng đối tượng Relationships  Association (Kết hợp) – Bản số và chiều  Aggregation (Thu nạp): toàn thể và bộ phận  Composition (Cấu thành)  Dependency (Phụ thuộc)  Generalization (Tổng quát hóa) ĐơnĐa kế thừa  Realization (Hiện thực hoá) 28 2 – Phân tích thiết kế hướng đối tượng Association  Mô hình hoá một liên kết ngữ nghĩa giữ các class 29 class Tên role Association Tên association 2 – Phân tích thiết kế hướng đối tượng Aggregation  Một dạng đặc biệt của association – mô hình hoá mối quan hệ toàn thể bộ phận giữa một thực thể và các bộ phận của nó 30 Whole Part Aggregation 2 – Phân tích thiết kế hướng đối tượng Composition  Một dạng aggregation có tính sở hữu cao và cùng chu kỳ sống  Các bộ phận không thể sống lâu hơn thực thể 31 Whole Part Aggregation 2 – Phân tích thiết kế hướng đối tượng Association: Bản số và chiều  Bản số xác định số đối tượng tham gia vào một mối quan hệ  Số các thể hiện của một class quan hệ với MỘT thể hiện của một class khác  Được chỉ ra ở mỗi đầu của quan hệ association  Association và aggregation mặc định là hai chiều, nhưng người ta thường giới hạn theo một chiều  Mũi tên được thêm vào để chỉ chiều của mối quan hệ 32 2 – Phân tích thiết kế hướng đối tượng Association: Bản số  Không xác định  Chỉ một  Không hoặc nhiều  Một hoặc nhiều  Không hoặc một  Khoảng được chỉ định  Các khoảng không liên tục 33 1 0 .. 1.. 0..1 2..4 2,4,6 2 – Phân tích thiết kế hướng đối tượng Bản số và chiều 34 1 0.. Navigation Multiplicity 2 – Phân tích thiết kế hướng đối tượng Mối quan hệ: Dependency  Quan hệ giữa hai phần tử trong mô hình mà thay đổi ở phần tử này có thể gây ra thay đổi ở phần tử kia  Quan hệ “sử dụng”, không cấu trúc 35 Dependency relationship Dependency relationship Class Component Package 2 – Phân tích thiết kế hướng đối tượng Generalization  Quan hệ giữa các class trong đó một lớp chia sẻ cấu trúc vàhoặc hành vi của một hoặc nhiều class khác  Xác định một sự phân cấp các mức độ trừu tượng trong đó một subclass kế thừa từ một hoặc nhiều superclass  Đơn kế thừa  Đa kế thừa  Generalization là quan hệ « là một dạng của » 36 2 – Phân tích thiết kế hướng đối tượng Đơn kế thừa  Một class kế thừa từ một class khác 37 Tổ tiên Hậu duệ Hậu duệ Generalization Relationship Super Class (cha) Sub Classes 2 – Phân tích thiết kế hướng đối tượng Chỉ sử dụng đa kế thừa khi thật cần, và luôn phải cẩn thận 38 Đa kế thừa Đa kế thừa 2 – Phân tích thiết kế hướng đối tượng Cái gì được kế thừa  Một subclass kế thừa các thuộc tính, hành vi và các mối quan hệ từ cha nó Một subclass có thể:  Bổ sung thuộc tính, hành vi và các mối quan hệ  Định nghĩa lại các hành vi (nên cẩn thận)  Các thuộc tính, hành vi và các mối quan hệ chung được đặt ở mức cao nhất có thể trong cấu trúc phân cấp 39 2 – Phân tích thiết kế hướng đối tượng Realization  Một lớp thực thi hành vi được đặc tả bởi 1 lớp khác (thường là 1 interface) 40 2 – Phân tích thiết kế hướng đối tượng 41 2 – Phân tích thiết kế hướng đối tượng Giới thiệu về UML UML chỉ đơn thuần là ngôn ngữ đồ hoạ để mô hình hoá chứ không phải là phương pháp để phát triển hệ thống 42 2 – Phân tích thiết kế hướng đối tượng Giới thiệu về UML UML 2.0 cung cấp 14 biểu đồ để mô hình hoá cấu trúc và chức năng của hệ thống, chia làm 2 nhóm:  Biểu đồ mô hình cấu trúc  Biểu đồ mô hình chức năng 43 2 – Phân tích thiết kế hướng đối tượng Biểu đồ cấu trúc 6 loại biểu đồ cấu trúc:  Biểu đồ lớp (Class)  Biểu đồ đối tượng (Object)  Biểu đồ gói (package)  Biểu đồ triển khai (Deployment)  Biểu đồ thành phần (Component)  Biểu đồ cấu trúc phức hợp (Composite structure diagrams) 44 2 – Phân tích thiết kế hướng đối tượng Biểu đồ cấu trúc  Biểu đồ lớp (class diagram)  Biểu diễn mối quan hệ giữa các lớp 45 2 – Phân tích thiết kế hướng đối tượng Biểu đồ cấu trúc  Biểu đồ đối tượng (object diagram)  Biểu diễn mối quan hệ giữa các đối tượng 46 2 – Phân tích thiết kế hướng đối tượng Biểu đồ cấu trúc  Biểu đồ gói (package diagram)  Biểu đồ gói gộp các thành phần khác nhau của UML (ví dụ: lớp) để tạo thành thành phần lớn hơn 47 2 – Phân tích thiết kế hướng đối tượng Biểu đồ cấu trúc  Biểu đồ triển khai (deployment diagram)  Biểu diễn cấu trúc phần cứng và các thành phần phần mềm của hệ thống 48 Printer 123 Le Loi Str Regional ATM Server Banking Datab... 345 Nguyen Hue Str. Oracle Server ATMServer.exe ATMClient.exe ATMClient.exe 2 – Phân tích thiết kế hướng đối tượng Biểu đồ cấu trúc  Biểu đồ thành phần (component diagram)  Biểu diễn quan hệ giữa các thành phần của hệ thống 49 2 – Phân tích thiết kế hướng đối tượng Biểu đồ cấu trúc  Biểu đồ cấu trúc phức hợp (composite structure diagram)  Minh hoạ chi tiết cấu trúc bên trong của một lớp 50 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng  8 loại biểu đồ chức năng  Biểu đồ hoạt động (activity diagram)  Biểu đồ tương tác (interaction diagrams) • Biểu đồ chuỗi tuần tự (sequence diagram) • Biểu đồ cộng tác (communicationcollaboration diagram) • Biểu đồ khát quát tương tác (interaction overview diagram) • Biểu đồ thời gian (timing diagram)  Biểu đồ máy trạng thái (state machines) • Máy trạng thái chức năng (behavior state machines) • Máy trạng thái giao thức (protocol state machines)  Biểu đồ ca sử dụng (use case diagram) 51 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng  Biểu đồ hoạt động (activity diagram)  Được dùng để mô tả luồng công việc của hệ thống hoặc luồng hoạt động trong một ca sử dụng hoặc mô tả thiết kế chi tiết của một phương thức (method) 52 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng  Biểu đồ chuỗi tuần tự (sequence diagram)  Mô tả các hoạt động của các đối tượng trong một ca sử dụng dựa vào thứ tự xuất hiện theo thời gian 53 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng  Biểu đồ cộng tác (collaboration diagram)  Là cách biểu diễn khác của biểu đồ chuỗi tuần tự nhưng tập trung vào mối quan hệ và giao tiếp giữa các đối tượng 54 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng  Biểu đồ khát quát tương tác (interaction overview diagram)  Được dùng để mô tả tương tác giữa các đối tượng trong các ca sử dụng phức tạp  Ít được sử dụng  Biểu đồ thời gian (timing diagram)  Được dùng để mô tả tương tác giữa các đối tượng theo thời gian. Chủ yếu được dùng để mô tả sự thay đối trạng thái của đối tượng khi có tác động của một sự kiện theo thời gian.  Được dùng để phát triển các hệ thống thời gian thực và hệ thống nhúng 55 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng  Biểu đồ máy trạng thái chức năng (behavior state machines)  Được dùng để mô tả các trạng thái khác nhau mà các đối tượng của một lớp có thể có trong thời gian tồn tại của chúng. 56 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng  Biểu đồ máy trạng thái giao thức (protocol state machines)  Được dùng để mô tả giao thức giữa các lớp  Ví dụ: open database > Query or update 57 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng 58 Biểu đồ ca sử dụng (use case diagram) Được dùng để mô tả tương tác giữa một hệ thống với người sử dụng hoặc với các hệ thống khác có tương tác với nó. Là công cụ để mô tả các yêu cầu của hệ thống Là một trong những công cụ quan trọng nhất trong phân tích và thiết kế hướng đối tượng 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng 59 2 – Phân tích thiết kế hướng đối tượng Biểu đồ chức năng 60 2 – Phân tích thiết kế hướng đối tượng Các Ràng buộc  Ràng buộc (constraints)  Dùng để biểu diễn ràng buộc và các quan hệ mà không thể biểu diễn được bằng UML  Ràng buộc được đặt trong ngoặc { } 61 2 – Phân tích thiết kế hướng đối tượng Các giá trị đính  Nhãn:giá trị (tagged values)  Là một cặp chuỗi ký tự: nhãn (tag) và giá trị (value) được dùng để bổ sung thông tin cho một phần tử nào đó (lớp, đối tượng, quan hệ …)  Nhãn và giá trị được đặt trong ngoặc { } 62 2 – Phân tích thiết kế hướng đối tượng Các khuôn mẫu  Khuôn mẫu (stereotype)  Cho phép mở rộng UML bằng cách sử dụng các phần tử mô hình hoá đã có sẵn trong UML  Khuôn mẫu có thể sử dụng ràng buộc và tagged values  Khuôn mẫu được đặt trong dấu > 63 2 – Phân tích thiết kế hướng đối tượng Các ghi chú  Note: Có thể đặt ghi chú cho mọi phần tử UML  Ghi chú dùng để thêm thông tin cho các lược đồ  Nó là hình chữ nhật bị bẻ góc  Ghi chú có thể móc nối với một phần tử bằng một đường đứt nét 64 2 – Phân tích thiết kế hướng đối tượng Đặc điểm cơ bản của OOAD  Usecase driven  Architecture Centric • Cấu trúc phần mềm quyết định việc mô tả, xây dựng và viết tài liệu hệ thống • 3 dạng cấu trúc của một hệ thống: • Chức năng (functional view): chức năng bên ngoài của hệ thống từ góc nhìn của người sử dụng : biểu đồ ca sử dụng, biểu đồ hoạt động • Cấu trúc tĩnh (static view): lớp, thuộc tính, phương thức, quan hệ • Cấu trúc động (dynamic view): chức năng bên trong của hệ thống: biểu đồ máy trạng thái chức năng  Iterative and Incremental 65 2 – Phân tích thiết kế hướng đối tượng Ưu điểm của OOAD  Việc chia nhỏ một hệ thống lớn thành các module sẽ giúp cho việc giải quyết vấn đề dễ dàng hơn, dễ chia sẻ giữa các thành viên của dự án và dễ dàng trao đổi với người dùng về các yêu cầu của hệ thống  Dễ dàng sử dụng lại các module trong các dự án khác  Tư duy suy nghĩ về đối tượng gần gũi với thực tế 66 2 – Phân tích thiết kế hướng đối tượng Ưu điểm  Một mô hình chung  Có tính dễ dùng lại  Mô hình phản ánh chính xác thế giơi thực  Mô tả chính xác hơn các tập dữ liệu và các xử lý  Được phân rã dựa trên các phân chia tự nhiên  Dễ hiểu và dễ bảo trì  Tính ổn định  Một thay đổi nhỏ trong yêu cầu không gây ra sự thay đổi lớn trong hệ thống đang phát triển 67 2 – Phân tích thiết kế hướng đối tượng Ưu điểm của OOAD 68 2 – Phân tích thiết kế hướng đối tượng The Unified process  Unified process là một phương pháp phát triển hệ thống trong đó quy định khi nào thì sử dụng các kỹ thuật UML và sử dụng chúng như thế nào trong quá trình phân tích và thiết kế hệ thống.  Tác giả: Booch, Jacobsen, Rumbaugh  Là phương pháp hướng đối tượng  Không phải là một quy trình phát triển phần mềm hoàn thiện • Không xét đến các vấn đề về phân bổ nhân lực, ngân quỹ, quản lý hợp đồng • Không quy định về các hoạt động bảo trì hay hỗ trợ khách hàng • Không xét đến các vấn đề tương tác giữa các dự án 69 2 – Phân tích thiết kế hướng đối tượng The Unified process 70 2 – Phân tích thiết kế hướng đối tượng The Unified process  Pha khởi tạo (Inception): giống như pha lập kế hoạch  Các bước liên quan: • Mô hình hoá giá trị kinh doanh của hệ thống (business modeling) • Xác định yêu cầu (requirements) • Phân tích (analysis) • Thiết kế (design) • Thực hiện (implementation) • Kiểm tra (test) • Môi trường phát triển (environment)  Kết quả: • Phạm vi của dự án • Các yêu cầu và ràng buộc quan trọng • Kế hoạch dự án bước đầu • Miêu tả tính khả thi và rủi ro của dự án • Lựa chọn môi trường cần thiết để phát triển hệ thống 71 2 – Phân tích thiết kế hướng đối tượng The Unified process  Pha phát triển (elaboration): hoàn thiện mô hình kinh doanh, đánh giá lại rủi ro và hoàn thiện kế hoạch dự án  Các bước liên quan: • Thu thập yêu cầu (requirements) • Phân tích (analysis) • Thiết kế (design) • Thực hiện (implementation) • Kiểm tra (test) • Triển khai (deployment) • Quản lý cấu hình và thay đổi (configuration and change management)  Kết quả: • Biểu đồ cấu trúc và chức năng UML • Phiên bản hoạt động đầu tiên của hệ thống 72 2 – Phân tích thiết kế hướng đối tượng The Unified process  Pha xây dựng (construction): tập trung chủ yếu vào lập trình  Các bước liên quan: • Thu thập yêu cầu (requirements) • Phân tích (analysis) • Thiết kế (design) • Thực hiện (implementation) • Kiểm tra (test) • Triển khai (deployment) • Quản lý cấu hình và thay đổi (configuration and change management)  Kết quả: • Phiên bản beta của hệ thống 73 2 – Phân tích thiết kế hướng đối tượng The Unified process  Pha chuyển tiếp (transition): tập trung chủ yếu vào kiểm tra và triển khai  Các bước liên quan: • Thu thập yêu cầu (requirements) • Phân tích (analysis) • Thiết kế (design) • Thực hiện (implementation) • Kiểm tra (test) • Triển khai (deployment) • Quản lý cấu hình và thay đổi (configuration and change management)

Trang 1

2 – Phân tích thiết kế hướng đối tượng

GV: Phan Thị Kim Loan

Phân tích thiết kế hướng đối tượng

Đỗ Ngọc Như Loan

Trang 2

Nội dung trước

 Giới thiệu

 Tiến trình phát triển hệ thống

 Các phương pháp phát triển hệ thống

Trang 3

2 – Phân tích thiết kế hướng đối tượng

Nội dung

3

 Hệ thống hướng chức năng vs Hệ thống hướng đối tượng

 Các đặc điểm cơ bản của hệ thống hướng đối tượng

 Giới thiệu UML – UML 2.0

 Phân tích thiết kế hướng đối tượng với UML 2.0

Trang 5

2 – Phân tích thiết kế hướng đối tượng

Lịch sử phát triển OOAD

5

Trang 6

OMG Acceptance, Nov ‘97

Final submission to OMG, Sep ’97

First submission to OMG, Jan ‘97

Trang 7

2 – Phân tích thiết kế hướng đối tượng

Giới thiệu

 Thiết kế cấu trúc và thiết kế hướng đối tượng

7

Student Account

Đăng ký học phần

Trang 8

Giới thiệu

 Thiết kế cấu trúc và thiết kế hướng đối tượng

Student Account

Trang 9

2 – Phân tích thiết kế hướng đối tượng

Nguyên tắc cơ bản của OO

 Hướng đối tượng – Object-Oriented

 Trừu tượng hoá – Abstraction

 Tính đóng gói – Encapsulation

 Tính đơn thể - Modularity

 Tính phân cấp – Hierarchy

9

Trang 10

Trừu tượng hoá – Abstraction

 Quản lý độ phức tạp

Người bán hàng

Sản phẩm

Trang 11

2 – Phân tích thiết kế hướng đối tượng

Tính đóng gói – Encapsulation

 Che dấu cài đặt bên trong với clients

 Clients phụ thuộc vào interface

11

Trang 12

Tính đơn thể - Modularity

 Phân chia nhỏ 1 vấn đề phức tạp thành nhiều

phần nhỏ, đơn giản hơn để có thể quản lý được

Thanh toán hoá đơn

Xuất hoá đơn

…Các đơn thể quản lý tồn kho

Trang 13

2 – Phân tích thiết kế hướng đối tượng

Tính phân cấp – Hierarchy

13

Bất động sản Chứng khoán

Tài khoản ngân hàng

Tài sản

Cổ phiếu Trái phiếu

Tài khoản Tiết kiệm Tài khoản Thanh toán

Trang 14

Các khái niệm cơ bản của HĐT

 Objects & Class

 Attributes (Properties) & Operation (Behavior)

 Method & Message

Trang 15

2 – Phân tích thiết kế hướng đối tượng

Thực thể

Truck

Linked-list

Trang 16

Objects & Class

 Một đối tượng là một đối tượng trừu tượng, hoặc một vật với giới hạn rõ ràng và có ý nghĩa với một ứng dụng cụ thể

 Lớp (Class) – khuôn mẫu cho các thể hiện của object

 Đối tượng (Object) – Thể hiện của một class

 Thuộc tính (Attributes)

 Hành vi (Behaviors) – chi tiết đối tượng có thể làm gì

Trang 17

2 – Phân tích thiết kế hướng đối tượng

Biểu diễn đối tượng

nhật với tên được gạch dưới

Trang 18

Class - Example

Class Course

Trang 19

2 – Phân tích thiết kế hướng đối tượng

Class & Object

19

Trang 20

Method & Message

 Phương thức (Methods) implement an object’s behavior

 Messages are sent to trigger methods

 Procedure call from one object to the next

Trang 21

2 – Phân tích thiết kế hướng đối tượng

Phương thức và message

21

Trang 23

2 – Phân tích thiết kế hướng đối tượng

Polymorphism – Interface

23

 Interface là hình thức hoá polymorphism

 Interface hỗ trợ kiến trúc “plug & play”

<<interface>>

Shape

Draw Move Scale Rotate

Tube

Pyramid

Cube

Quan hệ Realizzation

Trang 24

 Một source code component

 Một run time components hoặc

 Một executable component

Source File <<EXE>> <<DLL>>

Component name

Trang 25

2 – Phân tích thiết kế hướng đối tượng

 Tổ chức mô hình đang phát triển

 Một đơn vị trong quản trị cấu hình

25

Package Name

Nguyên tắc OO Tính đơn thể

Trang 27

2 – Phân tích thiết kế hướng đối tượng

Subsystem & Component

 Component là thể hiện ở mức vật lý của một khái niệm

trừu tượng trong thiết kế

 Subsystem có thể dùng để biểu diễn các component

Design Model Implementation Model

Component Interface Component Interface

Trang 28

 Generalization (Tổng quát hóa) Đơn/Đa kế thừa

 Realization (Hiện thực hoá)

Trang 29

2 – Phân tích thiết kế hướng đối tượng

Trang 30

Aggregation

 Một dạng đặc biệt của association – mô hình hoá mối quan hệ toàn thể - bộ phận giữa một thực thể và các bộ phận của nó

Aggregation

Trang 31

2 – Phân tích thiết kế hướng đối tượng

Trang 32

 Được chỉ ra ở mỗi đầu của quan hệ association

 Association và aggregation mặc định là hai chiều, nhưng người ta thường giới hạn theo một chiều

 Mũi tên được thêm vào để chỉ chiều của mối quan hệ

Trang 33

2 – Phân tích thiết kế hướng đối tượng

Trang 34

Bản số và chiều

1 0 *

Navigation

Multiplicity

Trang 35

2 – Phân tích thiết kế hướng đối tượng

Mối quan hệ: Dependency

 Quan hệ giữa hai phần tử trong mô hình mà thay đổi ở phần tử này có thể gây ra thay đổi ở phần tử kia

 Quan hệ “sử dụng”, không cấu trúc

Trang 37

2 – Phân tích thiết kế hướng đối tượng

Trang 38

Chỉ sử dụng đa kế thừa khi thật cần, và luôn

phải cẩn thận !

Đa kế thừa

Đa kế thừa

Trang 39

2 – Phân tích thiết kế hướng đối tượng

Cái gì được kế thừa

 Một subclass kế thừa các thuộc tính, hành vi và các mối quan hệ từ cha nó

Một subclass có thể:

 Bổ sung thuộc tính, hành vi và các mối quan hệ

 Định nghĩa lại các hành vi (nên cẩn thận!)

được đặt ở mức cao nhất có thể trong cấu trúc phân cấp

39

Trang 40

Realization

 Một lớp thực thi hành vi được đặc tả bởi 1 lớp khác (thường là 1 interface)

Trang 41

2 – Phân tích thiết kế hướng đối tượng 41

Trang 42

Giới thiệu về UML

UML chỉ đơn thuần là ngôn ngữ đồ hoạ để mô hình hoá chứ

không phải là phương pháp để phát triển hệ thống

Trang 43

2 – Phân tích thiết kế hướng đối tượng

Giới thiệu về UML

UML 2.0 cung cấp 14 biểu đồ để mô hình hoá cấu trúc và chức năng của hệ thống, chia làm 2 nhóm:

 Biểu đồ mô hình cấu trúc

43

Trang 44

Biểu đồ cấu trúc

6 loại biểu đồ cấu trúc:

 Biểu đồ lớp (Class)

 Biểu đồ đối tượng (Object)

 Biểu đồ gói (package)

 Biểu đồ triển khai (Deployment)

diagrams)

Trang 45

2 – Phân tích thiết kế hướng đối tượng

Biểu đồ cấu trúc

 Biểu đồ lớp (class diagram)

 Biểu diễn mối quan hệ giữa các lớp

45

Trang 46

Biểu đồ cấu trúc

 Biểu diễn mối quan hệ giữa các đối tượng

Trang 47

2 – Phân tích thiết kế hướng đối tượng

47

Trang 48

345 Nguyen Hue Str.

Oracle Server

ATMServer.exe

<<Private Network>> <<Private Network>>

<<LAN>>

Trang 49

2 – Phân tích thiết kế hướng đối tượng

Biểu đồ cấu trúc

 Biểu diễn quan hệ giữa các thành phần của hệ thống

49

Trang 51

2 – Phân tích thiết kế hướng đối tượng

Biểu đồ chức năng

 8 loại biểu đồ chức năng

 Biểu đồ hoạt động (activity diagram)

 Biểu đồ tương tác (interaction diagrams)

• Biểu đồ chuỗi tuần tự (sequence diagram)

• Biểu đồ cộng tác (communication/collaboration diagram)

• Biểu đồ khát quát tương tác (interaction overview diagram)

• Biểu đồ thời gian (timing diagram)

 Biểu đồ máy trạng thái (state machines)

• Máy trạng thái chức năng (behavior state machines)

• Máy trạng thái giao thức (protocol state machines)

 Biểu đồ ca sử dụng (use case diagram)

51

Trang 53

2 – Phân tích thiết kế hướng đối tượng

Biểu đồ chức năng

 Mô tả các hoạt động của các đối tượng trong một ca sử

dụng dựa vào thứ tự xuất hiện theo thời gian

53

Trang 54

Biểu đồ chức năng

 Biểu đồ cộng tác (collaboration diagram)

 Là cách biểu diễn khác của biểu đồ chuỗi tuần tự

nhưng tập trung vào mối quan hệ và giao tiếp giữa

các đối tượng

Trang 55

2 – Phân tích thiết kế hướng đối tượng

Biểu đồ chức năng

 Biểu đồ khát quát tương tác (interaction overview diagram)

 Được dùng để mô tả tương tác giữa các đối tượng trong các

ca sử dụng phức tạp

 Ít được sử dụng

 Biểu đồ thời gian (timing diagram)

 Được dùng để mô tả tương tác giữa các đối tượng theo thời

gian Chủ yếu được dùng để mô tả sự thay đối trạng thái của

đối tượng khi có tác động của một sự kiện theo thời gian

 Được dùng để phát triển các hệ thống thời gian thực và hệ

thống nhúng

55

Trang 56

Biểu đồ chức năng

state machines)

 Được dùng để mô tả các trạng thái khác nhau mà các

đối tượng của một lớp có thể có trong thời gian tồn tại

của chúng

Trang 57

2 – Phân tích thiết kế hướng đối tượng

Biểu đồ chức năng

 Biểu đồ máy trạng thái giao thức (protocol state

machines)

 Được dùng để mô tả giao thức giữa các lớp

 Ví dụ: open database -> Query or update

57

Trang 58

Biểu đồ chức năng

Biểu đồ ca sử dụng (use case diagram)

Được dùng để mô tả tương tác giữa một hệ thống với người sử dụng hoặc với các hệ thống khác có tương tác với nó

Là công cụ để mô tả các yêu cầu của hệ thống

Là một trong những công cụ quan trọng nhất trong phân tích và thiết kế hướng đối tượng

Trang 59

2 – Phân tích thiết kế hướng đối tượng

Biểu đồ chức năng

59

Trang 60

Biểu đồ chức năng

Trang 61

2 – Phân tích thiết kế hướng đối tượng

 Ràng buộc

được đặt trong ngoặc { }

61

Trang 62

Các giá trị đính

 Nhãn:giá trị (tagged values)

 Là một cặp chuỗi ký tự: nhãn (tag) và giá trị (value)

được dùng để bổ sung thông tin cho một phần tử nào

đó (lớp, đối tượng, quan hệ …)

 Nhãn và giá trị được đặt trong ngoặc { }

Trang 63

2 – Phân tích thiết kế hướng đối tượng

Các khuôn mẫu

 Cho phép mở rộng UML bằng cách sử dụng các phần tử

mô hình hoá đã có sẵn trong UML

 Khuôn mẫu có thể sử dụng ràng buộc và tagged values

 Khuôn mẫu được đặt trong dấu << >>

63

Trang 64

Các ghi chú

 Note: Có thể đặt ghi chú cho mọi phần tử UML

 Ghi chú dùng để thêm thông tin cho các lược đồ

 Nó là hình chữ nhật bị bẻ góc

 Ghi chú có thể móc nối với một phần tử bằng một đường đứt nét

Trang 65

2 – Phân tích thiết kế hướng đối tượng

Đặc điểm cơ bản của OOAD

• Cấu trúc tĩnh (static view): lớp, thuộc tính, phương thức, quan hệ

• Cấu trúc động (dynamic view): chức năng bên trong của hệ thống: biểu đồ máy trạng thái chức năng

 Iterative and Incremental

65

Trang 66

Ưu điểm của OOAD

 Việc chia nhỏ một hệ thống lớn thành các module sẽ

giúp cho việc giải quyết vấn đề dễ dàng hơn, dễ chia sẻ

giữa các thành viên của dự án và dễ dàng trao đổi với

người dùng về các yêu cầu của hệ thống

 Dễ dàng sử dụng lại các module trong các dự án khác

 Tư duy suy nghĩ về đối tượng gần gũi với thực tế

Trang 67

2 – Phân tích thiết kế hướng đối tượng

Ưu điểm

 Có tính dễ dùng lại

 Mô hình phản ánh chính xác thế giơi thực

 Mô tả chính xác hơn các tập dữ liệu và các xử lý

 Được phân rã dựa trên các phân chia tự nhiên

 Dễ hiểu và dễ bảo trì

 Tính ổn định

 Một thay đổi nhỏ trong yêu cầu không gây ra sự thay

đổi lớn trong hệ thống đang phát triển

67

Trang 68

Ưu điểm của OOAD

Trang 69

2 – Phân tích thiết kế hướng đối tượng

The Unified process

 Unified process là một phương pháp phát triển hệ thống trong đó quy

định khi nào thì sử dụng các kỹ thuật UML và sử dụng chúng như thế

nào trong quá trình phân tích và thiết kế hệ thống

 Tác giả: Booch, Jacobsen, Rumbaugh

 Là phương pháp hướng đối tượng

 Không phải là một quy trình phát triển phần mềm hoàn thiện

• Không xét đến các vấn đề về phân bổ nhân lực, ngân quỹ, quản

lý hợp đồng

• Không quy định về các hoạt động bảo trì hay hỗ trợ khách hàng

• Không xét đến các vấn đề tương tác giữa các dự án

69

Trang 70

The Unified process

Trang 71

2 – Phân tích thiết kế hướng đối tượng

The Unified process

 Pha khởi tạo (Inception): giống như pha lập kế hoạch

 Các bước liên quan:

• Mô hình hoá giá trị kinh doanh của hệ thống (business modeling) *

• Xác định yêu cầu (requirements)*

• Phân tích (analysis)*

• Thiết kế (design)

• Thực hiện (implementation)

• Kiểm tra (test)

• Môi trường phát triển (environment)*

 Kết quả:

• Phạm vi của dự án

• Các yêu cầu và ràng buộc quan trọng

• Kế hoạch dự án bước đầu

• Miêu tả tính khả thi và rủi ro của dự án

• Lựa chọn môi trường cần thiết để phát triển hệ thống

71

Trang 72

The Unified process

 Pha phát triển (elaboration): hoàn thiện mô hình kinh doanh, đánh

giá lại rủi ro và hoàn thiện kế hoạch dự án

 Các bước liên quan:

• Thu thập yêu cầu (requirements)

• Phân tích (analysis)*

• Thiết kế (design)*

• Thực hiện (implementation)

• Kiểm tra (test)

• Triển khai (deployment)

• Quản lý cấu hình và thay đổi (configuration and change management)

 Kết quả:

• Biểu đồ cấu trúc và chức năng UML

Trang 73

2 – Phân tích thiết kế hướng đối tượng

The Unified process

 Pha xây dựng (construction): tập trung chủ yếu vào lập trình

 Các bước liên quan:

• Thu thập yêu cầu (requirements)

• Phân tích (analysis)

• Thiết kế (design)

• Thực hiện (implementation)*

• Kiểm tra (test)

• Triển khai (deployment)

• Quản lý cấu hình và thay đổi (configuration and change management)*

 Kết quả:

• Phiên bản beta của hệ thống

73

Trang 74

The Unified process

 Pha chuyển tiếp (transition): tập trung chủ yếu vào kiểm tra và triển khai

 Các bước liên quan:

• Thu thập yêu cầu (requirements)

• Phân tích (analysis)

• Thiết kế (design)

• Thực hiện (implementation)

• Kiểm tra (test)*

• Triển khai (deployment)*

• Quản lý cấu hình và thay đổi (configuration and change management)*

 Kết quả:

• Phiên bản cuối cùng (release) của hệ thống

Trang 75

2 – Phân tích thiết kế hướng đối tượng

The Unified process

 Các bước kỹ thuật (Engineering workflows)

1 Mô hình hoá giá trị kinh doanh (business modeling)

• Diễn ra chủ yếu trong pha khởi tạo

• Phát hiện vấn đề và xác định các dự án tiềm năng

• Xác định giá trị kinh doanh mà dự án đem lại

• Thu thập dữ liệu và mô hình hoá ca sử dụng có thể được sử dụng

2 Xác định yêu cầu (requirements)

• Xác định yêu cầu về chức năng và cả không chức năng

• Yêu cầu được thu thập từ người sử dụng, người quản lý người sử dụng, khách hàng

Trang 76

The Unified process

 Các bước kỹ thuật (Engineering workflows)

4 Thiết kế

• Chuyển từ mô hình phân tích sang mô hình thiết kế

• Thiết kế giao diện, cơ sở dữ liệu, cấu trúc vật lý của hệ thống, thiết kế chi tiết các lớp

5 Thực hiện (implementation)

• Lập trình: viết các lớp, chương trình và sử dụng các lớp trong thư viện

• Tích hợp các module

6 Kiểm tra (Test)

• Kiểm tra tích hợp hệ thống, chức năng, kiểm tra khả năng chấp nhận của người sử dụng …

• Việc kiểm tra đuợc tiến hành trong suốt quá trình phát triển của HT

7 Triển khai (deployment) Đóng gói phần mềm, phân phối, cài đặt và beta

Trang 77

2 – Phân tích thiết kế hướng đối tượng

The Unified process

 Các bước hỗ trợ (Supporting workflows)

1 Quản lý dự án (project management)

• Diễn ra trong suốt quá trình phát triển hệ thống

• Xác định và quản lý rủi ro

• Quản lý phạm vi dự án

• Quản lý về thời gian, chi phí…

2 Quản lý cấu hình và thay đổi (configuration and change management )

• Theo dõi và quản lý trạng thái và các phiên bản của hệ thống

• Quản lý việc thay đổi các phiên bản (người thay đổi, thời gian thay đổi…)

3 Quản lý môi trường phát triển (environment)

• Quản lý các công cụ và môi trường phát triển cần thiết cho dự án

• Ví du: Rational Rose, Microsoft project, Microsoft Visual C++

77

Trang 78

Thực hành

 Làm quen với công cụ Rational Rose

 Case Study – Quản lý đăng ký học phần

 Tìm hiểu về các đề tài OOAD

 Đăng ký nhóm và đăng ký đồ án

 Đọc sách UML

Trang 79

2 – Phân tích thiết kế hướng đối tượng

Ngày đăng: 09/06/2016, 02:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w