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

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

Đ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

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)

Phân tích thiết kế hướng đối tượng Đỗ Ngọc GV: Phan ThịNhư KimLoan Loan – Phân tích thiết kế hướng đối tượng 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 – Phân tích thiết kế hướng đối tượng Nội dung  Hệ thống hướng chức vs Hệ thống hướng đối tượng  Các đặc điểm 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 – Phân tích thiết kế hướng đối tượng Giới thiệu Lịch sử phát triển ngôn ngữ lập trình:  First Generation (1954 – 1958) • Fortran I  Second Generation (1959 – 1961) • Fortran II, Algol, Cobol  Third Generation (1962 – 1970) • PL/I, Pascal  Object Oriented Languages • Smalltalk, C++, Java – Phân tích thiết kế hướng đối tượng Lịch sử phát triển OOAD – Phân tích thiết kế hướng đối tượng Lịch sử UML UML 2.0 OMG Acceptance, Nov ‘97 Public & Feedback Final submission to OMG, Sep ’97 UML 1.3 First submission to OMG, Jan ‘97 UML Partners UML 1.0 Web – Jun ‘96 OOPSLA ‘95 Others method UML 1.1 UML 0.9 Unified method Booch method – Phân tích thiết kế hướng đối tượng OMT OOSE Giới thiệu Thiết kế cấu trúc thiết kế hướng đối tượng Đăng ký học phần Nhập học Đóng học phí Student Account Thi cử v v… Thiết kế cấu trúc – Phân tích thiết kế hướng đối tượng Giới thiệu Thiết kế cấu trúc thiết kế hướng đối tượng Messege Messege Messege Student Account Messege v v… Thiết kế hướng đối tượng – Phân tích thiết kế hướng đối tượng Nguyên tắc 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 – Phân tích thiết kế hướng đối tượng Trừu tượng hoá – Abstraction  Quản lý độ phức tạp Người bán hàng Sản phẩm Khách hàng – Phân tích thiết kế hướng đối tượng 10 Đặc điểm OOAD  Use-case driven  Architecture Centric • Cấu trúc phần mềm định việc mô tả, xây dựng viết tài liệu hệ thống • dạng cấu trúc hệ thống: • Chức (functional view): chức bên hệ thống từ góc nhìn 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 bên hệ thống: biểu đồ máy trạng thái chức  Iterative and Incremental – Phân tích thiết kế hướng đối tượng 65 Ưu điểm OOAD  Việc chia nhỏ hệ thống lớn thành module giúp cho việc giải vấn đề dễ dàng hơn, dễ chia sẻ thành viên dự án dễ dàng trao đổi với người dùng yêu cầu hệ thống  Dễ dàng sử dụng lại module dự án khác  Tư suy nghĩ đối tượng gần gũi với thực tế – Phân tích thiết kế hướng đối tượng 66 Ưu điểm Một mô hình chung Có tính dễ dùng lại Mô hình phản ánh xác giơi thực  Mô tả xác tập liệu xử lý  Được phân rã dựa phân chia tự nhiên  Dễ hiểu dễ bảo trì Tính ổn định  Một thay đổi nhỏ yêu cầu không gây thay đổi lớn hệ thống phát triển – Phân tích thiết kế hướng đối tượng 67 Ưu điểm OOAD – Phân tích thiết kế hướng đối tượng 68 The Unified process  Unified process phương pháp phát triển hệ thống quy định sử dụng kỹ thuật UML sử dụng chúng trình phân tích 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 quy trình phát triển phần mềm hoàn thiện • Không xét đến vấn đề phân bổ nhân lực, ngân quỹ, quản lý hợp đồng • Không quy định hoạt động bảo trì hay hỗ trợ khách hàng • Không xét đến vấn đề tương tác dự án – Phân tích thiết kế hướng đối tượng 69 The Unified process – Phân tích thiết kế hướng đối tượng 70 The Unified process  Pha khởi tạo (Inception): giống pha lập kế hoạch  Các bước liên quan: • Mô hình hoá giá trị kinh doanh hệ thống (business modeling) * • Xác định yêu cầu (requirements)* • Phân tích (analysis)* • Thiết kế (design) • Thực (implementation) • Kiểm tra (test) • Môi trường phát triển (environment)*  Kết quả: • Phạm vi dự án • Các yêu cầu ràng buộc quan trọng • Kế hoạch dự án bước đầu • Miêu tả tính khả thi rủi ro dự án • Lựa chọn môi trường cần thiết để phát triển hệ thống – Phân tích thiết kế hướng đối tượng 71 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 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 (implementation) • Kiểm tra (test) • Triển khai (deployment) • Quản lý cấu hình thay đổi (configuration and change management)  Kết quả: • Biểu đồ cấu trúc chức UML • Phiên hoạt động hệ thống – Phân tích thiết kế hướng đối tượng 72 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 (implementation)* • Kiểm tra (test) • Triển khai (deployment) • Quản lý cấu hình thay đổi (configuration and change management)*  Kết quả: • Phiên beta hệ thống – Phân tích thiết kế hướng đối tượng 73 The Unified process  Pha chuyển tiếp (transition): tập trung chủ yếu vào kiểm tra 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 (implementation) • Kiểm tra (test)* • Triển khai (deployment)* • Quản lý cấu hình thay đổi (configuration and change management)*  Kết quả: • Phiên cuối (release) hệ thống • Hướng dẫn sử dụng • Kế hoạch hỗ trợ khách hàng, kế hoạch nâng cấp hệ thống – Phân tích thiết kế hướng đối tượng 74 The Unified process  Các bước kỹ thuật (Engineering workflows) Mô hình hoá giá trị kinh doanh (business modeling) • Diễn chủ yếu pha khởi tạo • Phát vấn đề xác định dự án tiềm • Xác định giá trị kinh doanh mà dự án đem lại • Thu thập liệu mô hình hoá ca sử dụng sử dụng Xác định yêu cầu (requirements) • Xác định yêu cầu chức không chức • Yêu cầu thu thập từ người sử dụng, người quản lý người sử dụng, khách hàng Phân tích • Xây dựng biểu đồ cấu trúc chức sử dụng UML • Xác định lớp sử dụng lại • Bước phân tích sử dụng lại lúc chu trình phát triển hệ thống – Phân tích thiết kế hướng đối tượng 75  The Unified process Các bước kỹ thuật (Engineering workflows) 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, sở liệu, cấu trúc vật lý hệ thống, thiết kế chi tiết lớp Thực (implementation) • Lập trình: viết lớp, chương trình sử dụng lớp thư viện • Tích hợp module Kiểm tra (Test) • Kiểm tra tích hợp hệ thống, chức năng, kiểm tra khả chấp nhận người sử dụng … • Việc kiểm tra đuợc tiến hành suốt trình phát triển HT Triển khai (deployment) Đóng gói phần mềm, phân phối, cài đặt beta testing – Phân tích thiết kế hướng đối tượng 76 The Unified process  Các bước hỗ trợ (Supporting workflows) Quản lý dự án (project management) • Diễn suốt trình phát triển hệ thống • Xác định quản lý rủi ro • Quản lý phạm vi dự án • Quản lý thời gian, chi phí… Quản lý cấu hình thay đổi (configuration and change management ) • Theo dõi quản lý trạng thái phiên hệ thống • Quản lý việc thay đổi phiên (người thay đổi, thời gian thay đổi…) Quản lý môi trường phát triển (environment) • Quản lý công cụ môi trường phát triển cần thiết cho dự án • Ví du: Rational Rose, Microsoft project, Microsoft Visual C++ – Phân tích thiết kế hướng đối tượng 77 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 đề tài OOAD  Đăng ký nhóm đăng ký đồ án  Đọc sách UML – Phân tích thiết kế hướng đối tượng 78 Bài tập  Cho ví dụ 10 Class: Attribute, Operation  Cho ví dụ 10 Object => đề tài đăng ký – Phân tích thiết kế hướng đối tượng 79 [...]... Relationship 2 – Phân tích thiết kế hướng đối tượng 14 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 Thực thể Khái niệm Thực thể vật lý Truck Thực thể Phần mềm Chemical Process Linked-list 2 – Phân tích thiết kế hướng đối tượng 15 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... tên Object Tên Class và tên Object 2 – Phân tích thiết kế hướng đối tượng 17 Class - Example Class Course Properties Behavior Tên Thêm một sinh viên Địa điểm A x B = 10 Thời gian Số tín chỉ Huỷ một sinh viên Lấy danh sách giáo sư Profressor John … Giờ bắt đầu Giờ kết thúc 2 – Phân tích thiết kế hướng đối tượng 18 Class & Object 2 – Phân tích thiết kế hướng đối tượng 19 Method & Message  Phương thức...  Procedure call from one object to the next 2 – Phân tích thiết kế hướng đối tượng 20 Phương thức và message 2 – Phân tích thiết kế hướng đối tượng 21 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 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 22 Polymorphism – Interface  Interface là... – Phân tích thiết kế hướng đối tượng 26 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ế Design Model Component name Component Interface 2 – Phân tích thiết kế hướng đối tượng Implementation Model Component name Component Interface 27 Relationships  Association (Kết... thể - bộ phận giữa một thực thể và các bộ phận của nó Whole Part Aggregation 2 – Phân tích thiết kế hướng đối tượng 30 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ể Whole Part Aggregation 2 – Phân tích thiết kế hướng đối tượng 31 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ể... 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á) 2 – Phân tích thiết kế hướng đối tượng 28 Association  Mô hình hoá một liên kết ngữ nghĩa giữ các class Tên association Association class 2 – Phân tích thiết kế hướng đối tượng Tên role 29 Aggregation... 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ệ 2 – Phân tích thiết kế hướng đối tượng 32 Association: Bản số Không xác định Chỉ một 1 Không hoặc nhiều 0 * Một hoặc nhiều 1 * Không hoặc một 0 1 Khoảng được chỉ định 2 4 Các khoảng không liên tục 2,4,6 2 – Phân tích thiết kế hướng đối tượng 33 Bản số và. .. 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ì 2 – Phân tích thiết kế hướng đối tượng 16 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 : Profressor A x B = 10 Chỉ có tên Class ProfressorJohn ProfressorJohn: Professor Profressor John Chỉ có tên Object Tên Class và tên... thống xử lý mua bán hàng hoá 2 – Phân tích thiết kế hướng đối tượng 12 Tính phân cấp – Hierarchy Giảm mức độ trừu tượng Tài sản Tài khoản ngân hàng Tăng mức độ trừu tượng Tài khoản Tiết kiệm Chứng khoán Tài khoản Cổ phiếu Thanh toán Bất động sản Trái phiếu  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 13 Các khái niệm cơ bản của HĐT  Objects &... Quan hệ Realizzation 2 – Phân tích thiết kế hướng đối tượng 23 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 Source File Name Executable name 2 – Phân tích thiết kế hướng đối tượng Component

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