intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Phân tích thiết kế hướng đối tượng: Chương 2 - Lê Thị Minh Nguyện

Chia sẻ: Phong Phong | Ngày: | Loại File: PDF | Số trang:10

64
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Phân tích thiết kế hướng đối tượng: Chương 2 do Lê Thị Minh Nguyện biên soạn nhằm mục đích phục vụ cho việc giảng dạy. Nội dung bài giảng gồm Giới thiệu UML, Unified modeling language (uml), UML và các giai đoạn của chu trình phát triển phần mềm.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Phân tích thiết kế hướng đối tượng: Chương 2 - Lê Thị Minh Nguyện

8/30/2017<br /> <br /> Nội dung<br /> <br /> Chương 2.<br /> Ngôn ngữ mô hình hóa<br /> thống nhất (UML)<br /> <br /> 1. Giới thiệu UML<br /> 2. Unified modeling language (uml)<br /> 3. UML và các giai đoạn của chu trình phát triển phần mềm<br /> <br /> GV: Lê Thị Minh Nguyện<br /> Email: nguyenltm@huflit.edu.vn<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> 1<br /> <br /> Giới thiệu UML<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> 2<br /> <br /> 1.1. UML là gì?<br /> • “Three Amigos”: Ivar Jacobson, Grady Booch và Jim Rumbaugh đã hợp<br /> nhất các phương pháp OO và tạo ra ngôn ngữ mô hình hóa chuẩn UML<br /> • Là ngôn ngữ dùng để<br /> <br /> 1.1. UML là gì?<br /> 1.2. Sơ lược lịch sử phát triển của UML<br /> 1.3. Các khung nhìn của UML<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> • Trực quan hóa (Visualizing)<br /> • Xác định rõ (Đặc tả - Specifying)<br /> • Xây dựng (Constructing)<br /> • Tài liệu hóa (Documenting)<br /> Cho các kết quả (artifacts) của quá trình thực hiện phần mềm.<br /> <br /> 3<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> 4<br /> <br /> 1<br /> <br /> 8/30/2017<br /> <br /> UML là ngôn ngữ trực quan<br /> <br /> UML là ngôn ngữ để đặc tả<br /> <br />  UML là ngôn ngữ thống nhất trực quan<br /> giúp công việc được xử lý nhất quán, giảm<br /> thiểu lỗi xảy ra<br /> <br /> • UML xây dựng các mô hình chính xác, rõ ràng và đầy<br /> đủ.<br /> <br /> ◦ Có những thứ mà nếu không mô hình hóa thì<br /> không hoặc khó có thể hiểu được<br /> ◦ Mô hình trợ giúp hiệu quả trong việc liên lạc,<br /> trao đổi<br />  Trong tổ chức<br />  Bên ngoài tổ chức<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> UML là ngôn ngữ để xây dựng HT<br /> <br /> 6<br /> <br /> UML là ngôn ngữ để tài liệu hóa<br /> UML giúp tài liệu hóa về kiến trúc, yêu cầu, kiểm thử,<br /> lập kế hoạch dự án, và quản lý việc bàn giao phần mềm<br /> <br /> • Các mô hình UML có thể kết nối trực tiếp với rất nhiều ngôn<br /> ngữ lập trình.<br /> •<br /> •<br /> •<br /> •<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> 5<br /> <br /> Use Case Diagram<br /> <br /> Ánh xạ sang Java, C++, C#, Visual Basic…<br /> Các bảng trong RDBMS hoặc kho lưu trữ trong OODBMS<br /> Cho phép các kỹ nghệ xuôi (chuyển UML thành mã nguồn)<br /> Cho phép kỹ nghệ ngược (xây dựng mô hình hệ thống từ mã nguồn)<br /> <br /> Deployment Diagram<br /> ºÐ» ê ȯ °æÀÇÇϵå¿þ ¾î¹×³×Æ®¿÷À¸·ÎÀÇÁ¤º¸ ½Ã½ ºÅÛ ¿¬°á ¸ðµ¨<br /> - À©µµ¿ì 95 : Ŭ¶óÀ̾ ðÆ®<br /> - À©µµ¿ì NT: ÀÀ¿ë¼¹ö<br /> - À¯ ´Ð½ º ¸Ó½Å: ÀÀ¿ë ¼¹ö ¹×µ¥ÀÌŸ¼ ¹ö, Åë½Å ¼¹ö<br /> - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼¹ö, Åë ½Å¼¹ö<br /> <br /> Các biểu đồ khác<br /> nhau, các ghi chú,<br /> ràng buộc được đặc<br /> tả trong tài liệu<br /> <br /> Wi n d o ws9 5<br /> <br /> Wi n d o w95<br /> <br /> Wi n d o ws9 5<br /> <br /> Use Case 1<br /> ¹®¼ °ü ¸®<br /> Ŭ¶ ó À̾ð Æ®.EXE<br /> <br /> ¹®¼ °ü ¸® ¾ ÖÇø´<br /> <br /> Wi n d o ws<br /> NT<br /> <br /> Actor A<br /> <br /> Actor B<br /> <br /> Use Case 2<br /> <br /> So l a ri s<br /> <br /> ¹®¼ °ü ¸® ¿£ Áø.EXE<br /> <br /> Al p h a<br /> UNIX<br /> ÀÀ¿ë ¼ ¹ö .EXE<br /> Wi n d o ws<br /> NT<br /> <br /> IBM<br /> <br /> Use Case 3<br /> <br /> M a i n fram e<br /> <br /> µ¥ ÀÌŸº£ À̽º¼ ¹ö<br /> <br /> Do c u m en tL ist<br /> <br /> mainWnd<br /> <br /> fileMgr :<br /> <br /> document :<br /> <br /> gFile<br /> <br /> repository<br /> Do c u m en t<br /> Fi l e M g r<br /> <br /> FileMgr<br /> <br /> user<br /> <br /> Document<br /> add( )<br /> n a m e : i nt<br /> d e l e te( )<br /> <br /> fe tc h Doc ()<br /> <br /> d o c i d : in t<br /> <br /> s o rtBy Nam e()<br /> n u m Fi el d : i nt<br /> <br /> Ư Á¤ ¹®¼ ¿¡ ´ëÇÑ º¸±â¸¦<br /> » ç ¿ë ÀÚ°¡ ¿äûÇÑ´Ù.<br /> <br /> g e t( )<br /> <br /> 1 : Do c vi ew req ues t ()<br /> <br /> open( )<br /> c l o s e ()<br /> 2 : fe tch Doc( )<br /> <br /> re a d () fi l th e<br /> c o d e ..<br /> <br /> re a d ( )<br /> <br /> Fi l e L i st<br /> <br /> s o rtFi l eL is t( )<br /> fL i s t<br /> <br /> c re a te ()<br /> <br /> 3 : c re ate ( )<br /> <br /> fi l l Do c um ent()<br /> add( )<br /> d e l e te( )<br /> 1<br /> <br /> 4 : c re ate ( )<br /> <br /> 5 : re a dDo c ()<br /> <br /> ÈÀÏ°ü ¸®ÀÚ´Â Àо î¿ Â<br /> ¹®¼ ÀÇ Á¤ º¸¸¦ ÇØ´ç ¹®¼<br /> °´Ã¼ ¿¡ ¼ ³Á¤À» ¿ä ûÇÑ´Ù.<br /> <br /> 6 : fi l l Doc umen t ( )<br /> <br /> re p<br /> 7 : re a dFi le ( )<br /> Fi l e<br /> Re p o s i to ry<br /> <br /> 8 : fi l l Fil e ( )<br /> (fro m Pe rsi ste nce )<br /> re a d ( )<br /> È¸é °´Ã¼ ´ÂÀоîµéÀÎ<br /> °´Ã¼ µé ¿¡ ´ëÇØ À̸§º°·Î<br /> Á¤ ·ÄÀ» ½ÃÄÑ È¸é¿¡<br /> º¸¿©ÁØ´Ù.<br /> <br /> 9 : s o rtBy Name ( )<br /> <br /> Grp Fi l e<br /> <br /> n a m e : ch ar* = 0<br /> <br /> re a d ( )<br /> re a d Do c( )<br /> re a d Fi l e( )<br /> <br /> open( )<br /> c re a te ()<br /> fi l l Fi l e ()<br /> <br /> Sequence Diagram<br /> Phân tích thiết kế hướng đối tượng<br /> <br /> 7<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> Class Diagram<br /> 8<br /> <br /> 2<br /> <br /> 8/30/2017<br /> <br /> 3.2. Lịch sử phát triển của UML<br /> <br /> 3.2. Lịch sử phát triển của UML<br />  Vào 1994, có hơn 50 phương pháp mô hình hóa hướng đối<br /> tượng:<br /> <br /> • UML được 3 chuyên gia hướng đối<br /> tượng hợp nhất các kỹ thuật của họ<br /> vào năm 1994:<br /> <br /> ◦ Fusion, Shlaer-Mellor, ROOM, Class-Relation,Wirfs-Brock, CoadYourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis, COMMA,<br /> HOOD, Ooram, DOORS …<br /> <br /> • Booch91 (Grady Booch): Conception,<br /> Architecture<br /> • OOSE (Ivar Jacobson): Use cases<br /> • OMT (Jim Rumbaugh): Analysis<br /> <br />  “Meta-models” tương đồng với nhau<br />  Các ký pháp đồ họa khác nhau<br />  Quy trình khác nhau hoặc không rõ ràng<br />  Cần chuẩn hóa và thống nhất các phương pháp<br /> <br /> • Thiết lập một phương thức thống<br /> nhất để xây dựng và “vẽ” ra các yêu<br /> cầu và thiết kế hướng đối tượng<br /> trong quá trình PTTK phần mềm <br /> UML được công nhận là chuẩn chung<br /> vào năm 1997.<br /> Phân tích thiết kế hướng đối tượng<br /> <br /> 9<br /> <br /> 3.2. Lịch sử phát triển của UML<br /> <br /> 10<br /> <br /> 3.3. Khung nhìn của UML<br /> Khung nhìn của mô hình có ý nghĩa với những người tham gia nào đó<br /> 4 + 1 Architectural View<br /> <br /> UML 2.0<br /> (2004)<br /> <br /> UML 1.5<br /> (March, ‘03)<br /> <br /> UML 1.1<br /> <br /> UML<br /> Partners’<br /> Expertise<br /> <br /> Logical View<br /> <br /> (Sept. ‘97)<br /> <br /> Implementation View<br /> Analysts/Designers<br /> <br /> UML 1.0<br /> <br /> Software management<br /> <br /> UML 0.9 and UML 0.91<br /> (June ‘96)<br /> <br /> (OOPSLA ’95)<br /> <br /> Booch ’93<br /> <br /> Other<br /> Methods<br /> <br /> Use-Case View<br /> <br /> (Oct. ‘96)<br /> <br /> Unified Method 0.8<br /> <br /> OOSE<br /> <br /> Programmers<br /> <br /> Structure<br /> <br /> (Jan. ‘97)<br /> <br /> Booch ‘91<br /> <br /> End-user<br /> Functionality<br /> <br /> Public<br /> Feedback<br /> <br /> Process View<br /> System integrators<br /> <br /> OMT - 2<br /> <br /> Performance, scalability, throughput<br /> <br /> Deployment View<br /> System engineering<br /> System topology, delivery,<br /> installation, communication<br /> <br /> OMT - 1<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> 11<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> 12<br /> <br /> 3<br /> <br /> 8/30/2017<br /> <br /> Khung nhìn Use case<br /> <br /> Khung nhìn Logic<br />  Cấu phần chính là mô hình thiết kế<br /> <br /> • Nắm bắt các chức năng của hệ thống<br /> • Cần thiết cho các hoạt động phân tích, thiết kế và kiểm thử<br /> • Hợp đồng giữa khách hàng và người phát triển<br /> • Hành vi của hệ thống – các chức năng mà hệ thống cần cung<br /> cấp – được lưu trong một mô hình use case<br /> •<br /> •<br /> •<br /> •<br /> <br /> ◦ Cung cấp mô tả cụ thể về hành vi chức năng của hệ thống.<br /> ◦ Xuất phát từ mô hình phân tích<br />  Mô tả vắn tắt về hành vi của hệ thống dựa trên mô hình use case<br /> <br /> ◦ Tập hợp lớp, tổ chức vào các hệ thống con<br /> ◦ Bao gồm:<br /> <br /> Biểu đồ use case<br /> Luồng sự kiện use case<br /> Biểu đồ hoạt động<br /> Các tài liệu phụ trợ<br /> <br />  Biểu đồ lớp, biểu đồ tương tác, biểu đồ trạng thái<br />  Hệ thống con và giao diện của chúng<br /> <br /> 13<br /> <br /> Khung nhìn tiến trình (process)<br /> <br /> Khung nhìn thực thi (implementation)<br /> •<br /> <br /> Tổ chức các mô-đun phần mềm tĩnh (mã nguồn, tệp dữ liệu,<br /> <br />  Bao gồm các thread và các process tạo nên các cơ chế đồng<br /> thời và đồng bộ của hệ thống<br />  Giải quyết về các vấn đề:<br /> <br /> các thành phần thực thi, tài liệu…) trong môi trường dưới<br /> dạng:<br /> <br /> ◦<br /> ◦<br /> ◦<br /> ◦<br /> ◦<br /> <br /> - Chia thành các package và phân lớp (layer)<br /> - Quản lý cấu hình (quyền sở hữu, kế hoạch bàn giao…)<br /> •<br /> <br /> 14<br /> <br /> Đồng thời và song song (đồng bộ, deadlock…)<br /> Dung thứ lỗi (cô lập chức năng và lỗi, độ tin cậy)<br /> Khởi động và tắt hệ thống<br /> Phân phối đối tượng và dữ liệu<br /> Hiệu năng (thời gian đáp ứng, thông lượng) và tính co dãn<br /> <br />  Không cần thiết đối với môi trường xử lý đơn lẻ<br />  Mô hình hóa bằng biểu đồ lớp, biểu đồ tương tác và biểu đồ<br /> trạng thái<br /> <br /> Được mô hình hóa trong các biểu đồ thành phần<br /> <br /> 15<br /> <br /> 16<br /> <br /> 4<br /> <br /> 8/30/2017<br /> <br /> Khung nhìn triển khai (deployment)<br /> <br /> 3.UNIFIED MODELING LANGUAGE (UML)<br /> <br /> • Mô tả các nút vật lý khác nhau và các kết nối lẫn nhau giữa<br /> chúng cho các cấu hình nền tảng điển hình nhất<br /> • Giải quyết các vấn đề:<br /> <br /> UML defines 13 diagrams that describe 4+1 architectural views<br /> <br /> • Triển khai<br /> • Cài đặt<br /> • Bảo trì<br /> <br /> • Được mô hình hóa bằng biểu đồ triển khai<br /> <br /> 18<br /> Phân tích thiết kế hướng đối tượng<br /> <br /> 17<br /> <br /> UNIFIED MODELING LANGUAGE (UML)<br /> Structural Things<br /> <br /> Class, interface, collaboration,<br /> use case, components, nodes<br /> <br /> Behavior things<br /> <br /> Interaction, State machine<br /> <br /> Group things<br /> <br /> Package<br /> <br /> Annotation things<br /> <br /> Note<br /> <br /> Structural Diagram<br /> <br /> 18<br /> <br /> UNIFIED MODELING LANGUAGE (UML)<br /> Static<br /> Diagrams<br /> <br /> -Class diagram<br /> -Object diagram<br /> -Component diagram<br /> -Deployment diagram<br /> <br /> Sequence<br /> Diagrams<br /> <br /> Class<br /> Diagrams<br /> <br /> Use-Case<br /> Diagrams<br /> <br /> Object<br /> Diagrams<br /> <br /> Things<br /> Diagram<br /> <br /> Communication<br /> Diagrams<br /> <br /> Component<br /> Diagrams<br /> <br /> Models<br /> <br /> Relationship<br /> Structural Relationship<br /> <br /> Dependency, Aggregation,<br /> Association, Generalization<br /> <br /> Behavior Relationship<br /> <br /> Communication, Includes,<br /> Extends, Generalizes<br /> <br /> Behavioral Diagram<br /> <br /> Phân tích thiết kế hướng đối tượng<br /> <br /> Dynamic<br /> Diagrams<br /> <br /> - Use case diagram<br /> - Activity diagram<br /> - Interaction diagram<br /> - State machine diagram<br /> <br /> 19<br /> <br /> State Machine<br /> Diagrams<br /> <br /> Activity<br /> Diagrams<br /> <br /> Deployment<br /> Diagrams<br /> <br /> 20<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0