bài số 8 thiết kế lớp

49 499 0
bài số 8 thiết kế lớp

Đ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

  OBJECT-ORIENTED ANALYSIS OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0 AND DESIGN WITH UML 2.0   Bé m«n C«ng nghÖ phÇn mÒm Bé m«n C«ng nghÖ phÇn mÒm KHOA CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI            !"#$% !&  !"#$% !&   '()"$!& '()"$!&   *"+,,! !& *"+,,! !& - -  . /"+%0$&  . /"+%0$& 1 1 2 . "3$$$4& 2 . "3$$$4& 5 5 678 "9$$% : !& 678 "9$$% : !& - - ;<=>%!0?@'( ;<=>%!0?@'(  !A   !A     !  ! BC ,,+ B$%D!%EF$,!,04"&B%$, BC ,, C ,, + $%D!%EF$,!,04"&B%$, 1 1 *GEH ! *GEH ! =!% * !/I =!% * !/I  H7H H7H  JK28A L'I"M& JK28A L'I"M&  N7O  N7O  OPA  ! OPA  !  operationName([direction]parameter : class, ) : returnType operationName([direction]parameter : class, ) : returnType 3%$!B 3%$!B in in "EQ&R "EQ&R out out !Q !Q inout inout   S' % EHTMR0 !@EPU A NH S' % EHTMR0 !@EPU A NH  E,L  E,L 5 5 V'WOP ! V'WOP ! XOPA  !RY<$E<Z> XOPA  !RY<$E<Z>  E,L8B  E,L8B  S'I%4[$! E% 4 E0 S'I%4[$! E% 4 E0  C80 460\ ! 4 C80 460\ ! 4  C8]4M C8]4M  ^%EQ ^%EQ  C!H E,LI> C!H E,LI> C/ E,LRL C/ E,LRL %4[L'I 4G!=O %4[L'I 4G!=O > > _ _ Public operation s Protected operations Private operations `=EG%4^A  ! `=EG%4^A  ! "#$% !a,04& "#$% !a,04& `=EG%4^'I,K2?b> `=EG%4^'I,K2?b> Hc88 Hc88 C8?0R%!$$R!Q%G $ C8?0R%!$$R!Q%G $   `=EG%4^'I0?d `=EG%4^'I0?d '!e '!e CP>, 'I,K2B CP>, 'I,K2B    f f `0 $,, `0 $,,    g g `%!$$ $,, `%!$$ $,,    h h `%G $ $,, `%G $ $,, C ,, - %G $+%0$ f0+%0$ g%!$$+%0$ h%G $#$% !"& f0#`$% !"& g%!$$#$% !"& i i `=EG"J!$& `=EG"J!$& ,L'I?>A /j ! ,L'I?>A /j ! B B  k, $B?>!El?>A El k, $B?>!El?>A El  C ,,D$%B?>!NH?>A  C ,,D$%B?>!NH?>A  `=EGC ,,D$%'IP>0m= `=EGC ,,D$%'IP>0m= '*/j ! '*/j ! C ,, h ,,D$%J!$+% h, $J!$+% f ,,D$%J!$#"& f, $J!$#"& n n a/2BJ!$ a/2BJ!$ J$ h E$ h %$,, h$<+G k3B f J$$"op$J$$BJ$$RopD!%J$E$,$%BJ$E$,$%& f$J$$"opD!%J$E$,$%BJ$E$,$%&BJ$$ f ,`%$%$7,$,"opD!%C!%,$#DD$%BC!%,$#DD$%&B0!!$  g ,,$"op$C!%,$#DD$%BC!%,$#DD$%&B0!!$  f$$<+G k3"&B h,$k3 [...]... () + // mark as enrolled in () + // mark as committed () 25 Thiết kế bội số quan hệ Multiplicity = 1, hoặc Multiplicity = 0 1   Có thể được thực hiện trực tiếp bằng một giá trị đơn hoặc con trỏ Không cần thiết kế thêm LecturerInfo 0 1 0 1 CourseInfo + Instructor Multiplicity > 1   Không thể sử dụng giá trị đơn hoặc con trỏ Cần thiết kế thêm nữa Cần một cho CourseInfo LecturerInfo 0 1 0 * CourseInfo... Schedule[] 28 Chương 5 Thiết kế lớp 1 2 3 4 5 6 Xác định các thao tác (Operation) Xác định phương thức (Method) Xác định các liên kết (Association) Xác định các thuôôc tính (Attribute) Xác định phụ thuôôc (Dependency) Xác định tổng quát hóa (Generalization) 29 4 Xác định các thuô c tính ô Xem xét các mô tả phương thức Xem xét các trạng thái Xem xét bất kỳ thông tin nào mà lớp đó... (Navigability) là gì? Điều hướng từ một lớp kết hợp đến lớp đích sử dụng association CourseRegistrationController CourseInfo 22 Navigability: Hướng nào thực sự cần? Xem xét các biểu đồ tương tác Thậm chí khi cả hai hướng đều có vẻ cần nhưng một hướng lại vẫn hoạt động tốt   Navigability theo 1 hướng ít xảy ra Số lượng thể hiện của một lớp là nhỏ Schedule + primaryCourses 0 *... tham số sẽ được thực thi và sử dụng Các mối quan hêô sẽ được thực thi và sử dụng 14 Nội dung 1 2 3 4 5 6 Xác định các thao tác (Operation) Xác định phương thức (Method) Xác định các liên kết (Association) Xác định các thuôôc tính (Attribute) Xác định phụ thuôôc (Dependency) Xác định tổng quát hóa (Generalization) 15 3 Xác định các liên kết Mục đích  Tinh chỉnh các kết... is non-shared aggregation 18 Aggregation hay Composition? Xem xét vòng đời của Class1 và Class2 Class1 Class2 Aggregation Class1 Class2 Composition 19 Ví dụ: Composition CourseInfo 1 Schedule 0 * CourseRegistrationForm 1 CourseRegistrationController 1 20 Attributes và Composition Sử dụng composition khi:      Các đặc tính (property) cần định danh độc lập Nhiều lớp có cùng các đặc tính... Client Supplier Mục đích  Xác định khi các mối quan hệ cấu trúc (association hoặc aggregation) không cần đến Cần xem xét:  Cái gì làm cho supplier có thể được nhìn thấy client? 36 Liên kết và Phụ thuộc Kết hợp là mối quan hệ cấu trúc Phụ thuộc là mối quan hệ phicấu trúc Để các đối tượng có thể “biết lẫn nhau”, chúng phải được nhìn thấy     Local variable reference Parameter reference... = Default Tuân theo quy ước đặt tên của ngôn ngữ cài đặt và của dự án Kiểu (type) nên là kiểu dữ liệu cơ bản trong ngôn ngữ thực thi  Kiểu dữ liệu có sẵn, kiểu dữ liệu người dùng định nghĩa, hoặc lớp tự định nghĩa Xác định phạm vi truy cập  Public: +  Private:  Protected: # 31 Các thuộc tính dẫn xuất (derived) Thuộc tính dẫn xuất là gì?  Là thuộc tính có giá trị có thể được tính... historyNo: int result: int subjectID: String subjectName: String numberOfCredit: int 0 4 34 Nội dung 1 2 3 4 5 6 Xác định các thao tác (Operation) Xác định phương thức (Method) Xác định các liên kết (Association) Xác định các thuôôc tính (Attribute) Xác định phụ thuôôc (Dependency) Xác định tổng quát hóa (Generalization) 35 5 Xác định phụ thuô ôc (Dependency) Một phụ thuộc là gì?...12 Nội dung 1 2 3 4 5 6 Xác định các thao tác (Operation) Xác định phương thức (Method) Xác định các liên kết (Association) Xác định các thuôôc tính (Attribute) Xác định phụ thuôôc (Dependency) Xác định tổng quát hóa (Generalization) 13 2 Xác định phương thức Phương thức (method) là gì?  Mô . !a,04& `=EG%4^'I,K2?b> `=EG%4^'I,K2?b> Hc 8  8 Hc 8  8 C8?0R%!$$R!Q%G $ C8?0R%!$$R!Q%G $   `=EG%4^'I0?d `=EG%4^'I0?d '!e '!e CP>,. E,L8B  E,L8B  S'I%4[$! E% 4 E0 S'I%4[$! E% 4 E0  C80 460 ! 4 C80 460 ! 4  C8]4M C8]4M  ^%EQ ^%EQ  C!H. ^ CQ/"%!$%4&Y ^  [ 8 ]Q/ [ 8 ]Q/  CQ/ 8 EN%z)=GQ CQ/ 8 EN%z)=GQ /A

Ngày đăng: 23/10/2014, 17:49

Từ khóa liên quan

Mục lục

  • OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0

  • Mô hình thiết kế

  • Nội dung

  • 1. Xác định các thao tác

  • Tên và mô tả thao tác

  • Hướng dẫn thiết kế chữ ký thao tác

  • Phạm vi truy cập của thao tác (Operation Visibility)

  • Phạm vi truy cập được biểu diễn như thế nào?

  • Phạm vi (Scope)

  • Ví dụ: Scope

  • PowerPoint Presentation

  • Slide 13

  • 2. Xác định phương thức

  • Slide 15

  • 3. Xác định các liên kết

  • Composition là gì?

  • Aggregation: Shared vs. Non-shared

  • Aggregation hay Composition?

  • Ví dụ: Composition

  • Attributes và Composition

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

Tài liệu liên quan