Bài 7 Thiết kế hướng đối tượng

54 165 0
Bài 7 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

Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN Email: vynv@coltech.vnu.vn K ngh phn mm Software Engeneering B môn Công ngh phn mm – HCN 2 NguynVnV Ni dung Bài 7: Thit k hng đi tng ̈ VÊn ®Ò tån t¹i trong h−íng kiÕn tróc ̈ Kh¸i niÖm liªn quan ®Õn ®èi t−îng ̈ Ng«n ng÷ UML ̈ Ph©n tÝch h−íng ®èi t−îng ̈ ThiÕt kÕ h−íng ®èi t−îng ̈ Sö dông mÉu thiÕt kÕ B môn Công ngh phn mm – HCN 3 NguynVnV TÀI LiU THAM KHO 1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn mm. Nhà xut bn i hc Quc gia Hà ni, 2008 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi. Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà Ni. B môn Công ngh phn mm – HCN 4 NguynVnV KiÕn tróc phÇn mÒm truyÒn thèng B mụn Cụng ngh phn mm HCN 5 NguynVnV Vấn đề của thiết kế hớng thủ tục Dữ liệu l chung cho cả hệ thống Mọi thủ tục thao tác trên CSDL chung, đặc trng cho trạng thái ton hệ thống Thao tác sai của 1 thủ tục lên dữ liệu gây sai lan truyền sang phần khác sử dụng dụng dữ liệu ny Sửa đổi 1 thủ tục có nguy cơ ảnh hởng tới phần khác liên quan Thay đổi cấu trúc dữ liệu dẫn đến thay đổi tổng thể hệ thống ồ dữ liệu cần tổ chức tốt Hệ thống lớn, phức tạp: bảo trì khó khăn B mụn Cụng ngh phn mm HCN 6 NguynVnV Thiết kế hớng đối tợng- OOD Hiện đang trở nên phổ biến L một cách tiếp cận khác, nhìn nhận hệ thống theo các quan điểm: tập các đối tợng có tơng tác với nhau mỗi đối tợng bao gói cả dữ liệu v các xử lý trên chúng Tơng tác giữa các đối tờng bằng truyền thông báo Các đối tợng có thể kế thừa nhau B môn Công ngh phn mm – HCN 7 NguynVnV VÝ dô kiÕn tróc h−íng ®èi t−îng issue () sendReminder () acceptPayment () sendReceipt () invoice# date amount customer Invoice invoice# date amount customer# Receipt invoice# date amount customer# Payment customer# name address credit period Customer B mụn Cụng ngh phn mm HCN 8 NguynVnV Ưu điểm của OOD Dễ bảo trì: các đối tợng đợc hiểu nh các thực thể hoạt động độc lập Bao gói thông tin liên kết lỏng lẻo (trao đổi bằng truyền thông báo) Dễ tái sử dụng: độ độc lập cao có khả năng kế thừa Dễ hiểu: một vi hệ thống, có sự ánh xạ tờng minh giữa thực thể thực thế giới thực v đối tợng hệ thống B mụn Cụng ngh phn mm HCN 9 NguynVnV Nội dung của OOD Xác định các tập đối tợng (gọi l lớp) v các đặc trng của chúng Phân định vai trò v trách nhiệm của chúng trong hệ thống Thiết lập đợc sự tơng tác của chúng để thực hiện chức năng của hệ thống phần mềm đặt ra B mụn Cụng ngh phn mm HCN 10 NguynVnV Các khái niệm của OOD d1. Đối tơng L các trừu tợng hóa thực thể của thế giới thực hoặc của một hệ thống Bao gồm: định danh, các thuộc tính v các phơng thức thao tác trên các dữ liệu thuộc tính của nó Độc lập v đóng gói trạng thái thể hiện bằng giá trị các thuộc tính của nó ở một thời điểm Cung cấo dịch vụ cho đối tợng khác hay yêu cầu các đối tợng khác thực hiện một dịch vụ [...]... Mô hình thiết kế Mô hình cấu trúc gói Mô hình cộng tác Mô hình lớp đặc tả lớp, giao diện 33 Tiến trình phân tích -thiết kế DT Nguy nV nV Phân tích 1 gói ca sử dụng Thiết kế hệ thống Thiết kế lớp Lập mô hình ca sử dụng Phân gói các lớp phân tích Lập biểu đồ công tác 1 gói phân tích Thiết kế CSDL Lập mô hình kiến trúc-gói ca sử dụng Xây dựng các giao diện Lập biểu đồ lớp thiết kế Thiết kế giao diện... sự kém hiệu quả B mụn Cụng ngh ph n m m HCN 21 Kế thừa v OOD Nguy nV nV Có hai quan niệm 1 Kế thừa l yếu tố cơ bản của OOD v đ ợc c i đặt thông qua các ngôn ngữ h ớng đối t ợng 2 Kế thừa sử dụng cơ chế đặc biệt để tái sử dụng thuộc tính v ph ơng thức Thiết kế kế thừa sẽ tạo ra các r ng buộc cho c i đặt Kế thừa không dễ hiểu v do đó nên tránh, nhất l đối với các hệ thống đặc biệt quan trọng B mụn...Lớp đối t ợng Nguy nV nV Lớp đối t ợng l khuôn mẫu để tạo ra tập đối t ợng có các đặc tr ng chung Lớp đối t ợng có thể kế thừa thuộc tính v dịch vụ từ lớp đối t ợng khác Lớp đ ợc xác định bằng: Sinh vien Tên Bộ các thuộc tính Các ph ơng thúc B mụn Cụng ngh ph n m m HCN maSV hotenSV diachi lop Tao( ) Capnhat( ) Xoa( ) 11 Trừu t ợng hóa Nguy nV nV Trừu t ợng hóa cung cấp cái nhìn đơn giản đối. .. tính chất chúng ta quan tâm che giấu các thông tin không cần thiết Đ ợc c i đặt nh l : kiểu dữ liệu trừu t ợng, lớp đối t ợng các kiểu dữ liệu cơ sở có sẵn: int, double B mụn Cụng ngh ph n m m HCN 12 Bao gói v che giấu thông tin Nguy nV nV L khái niệm cơ sở của thiết kế/ lập trình h ớng đối t ợng Che giấu thông tin để đối t ợng không cần thiết không thể sử dụng Chỉ cung cấp chức năng, dịch vụ cần... ngh ph n m m HCN 15 Tổng quát hóa v kế thừa Nguy nV nV Một lớp có thể l lớp con của 1 lớp các đối t ợng tổng quá hơn, v gọi l kế thừa của lớp tổng quát trên cây kế thừa, lớp cha (super class) có thể l tổng quát hóa của 1 số các lớp con (sub-class) Lớp con kế thừa các thuộc tính v ph ơng thức của lớp cha v có thể thêm/thay đổi ph ơng thức, thuộc tính Sử dụng kế thừa giúp ta mô tả lớp con chỉ gồm... Lập mô hình kiến trúc-gói ca sử dụng Xây dựng các giao diện Lập biểu đồ lớp thiết kế Thiết kế giao diện sử dụng Mô tả nghiệp vụ Nghiệp vụ Phân tích Thiết kế Tiến trình phân tích v thiết kế h ớng đối t ợng B mụn Cụng ngh ph n m m HCN 34 Phân tích h ớng đối t ợng Nguy nV nV 1 Mô tả nghiệp vụ Bằng lời Bằng biểu đồ hoạt đông 2 Xây dựng mô hình nghiệp vụ Mô hình miền lĩnh vực Mô hình ca sử dụng 3 Phân... mụn Cụng ngh ph n m m HCN 16 Ví dụ cây kế thừa Nguy nV nV Employee Manager Programmer budgetsControlled dateAppointed project progLanguage Project Manager projects B mụn Cụng ngh ph n m m Dept Manager dept HCN Strategic Manager responsibilities 17 Ưu điểm của kế thừa Nguy nV nV L cơ chế trừu t ợng để phân loại các lớp (thực thể) Tái sử dụng cả ở mức thiết kế v mức lập trình tái sử dụng cấu trúc... Sales name=Exin Biểu đồ đối t ợng HCN 30 Ngôn ngữ mô hình hóa thống nhất Nguy nV nV C Các biểu đồ :message :OutgoingQueue :TranAgent create ad dMessage RemoveMessage Biểu đồ tuần tự B mụn Cụng ngh ph n m m HCN 31 Ngôn ngữ mô hình hóa thống nhất Nguy nV nV C Các biểu đồ waiting GettingToken GettingBody Biểu đồ trạng thái B mụn Cụng ngh ph n m m HCN 32 Phân tích /thiết kế h ớng đối t ợng Nguy nV nV Mô... thực hiện dịch vụ Các loại đối t ợng actor: chỉ gửi thông báo agent: gửi v nhận thông báo server: chỉ nhận thông báo Thực tế, thông báo đ ợc c i đặt bằng lời gọi h m Tên = tên h m Thông tin = danh sách tham số B mụn Cụng ngh ph n m m HCN 20 Một số vấn đề dùng kế thừa Nguy nV nV Đối t ợng không tự chứa, không thể hiểu nếu không tham chiếu đến lớp cha Lạm dụng các sơ đồ kế thừa trong b ớc phân... diện c i đặt (mã) Biểu đồ kế thừa l nguồn thông tin mang tính tổ chức về b i toán B mụn Cụng ngh ph n m m HCN 18 T ơng tác giữa các đối t ợng Nguy nV nV o1: C1 state o1 ops1() o3:C3 state o3 ops3 () o4: C4 o2: C3 o6: C1 o5:C5 state o2 ops3 () state o6 ops1 () B mụn Cụng ngh ph n m m HCN state o4 ops4 () state o5 ops5 () 19 T ơng tác giữa các đối t ợng Nguy nV nV Các đối t ợng giao tiếp bằng trao

Ngày đăng: 12/05/2014, 11:11

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan