1 / 72

Comprehensive Introduction to UML Modeling Language

Learn the history, definition, and applications of UML as a standardized modeling language. Explore how UML aids in visualization, specification, construction, and documentation within system design. Discover various UML diagrams and their uses.

cady
Download Presentation

Comprehensive Introduction to UML Modeling Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UMLUnified Modeling Language Hoang Huu Hanh (PhD), Hue University hanh-at-hueuni.edu.vn based on online totorials and presentations

  2. Địnhnghĩa • Những năm đầu của thập kỷ 90 có rất nhiều phương pháp phân tích, thiết kế hệ thống hướng đối tượng và cùng với chúng là các ký hiệu riêng cho từng phương pháp • Thời kỳ này còn được biết đến với tên gọi là cuộc chiến giữa các phương pháp • Khoảng đầu năm 94, Booch đã cải tiến phương pháp của mình trong đó có ứng dụng những ưu điểm của các phương pháp của Rumbaugh và Jacobson • Các phương pháp đã bắt đầu hợp nhất, nhưng các kí hiệu sử dụng ở các phương pháp vẫn còn nhiều điểm khác biệt • UML - một ngôn ngữ mô hình hóa hợp nhấtđãtrởthànhmộtquytrìnhchuẩncủatổchức OMG (Object Management Group) Introduction to UML

  3. UML History Introduction to UML

  4. UML làgì? • Nólàmộtngônngữmôhìnhhóa, khôngphảilàmộtphươngpháp • Mộtphươngphápthôngthườngbaogồmmộttậpcácquytắc, mộtngônngữmôhìnhhóavàmộtquytrìnhmôtảnhữngcôngviệccầnlàm • Mộtngônngữmôhìnhhóabaogồmcáckýhiệuvàcáccáchthứcsửdụngchoviệcthiếtkế • Quytrìnhlànhữngsựhướngdẫncácbướctrongquátrìnhthiếtkế • Ngônngữmôhìnhhóalàthànhphầnquantrọngnhấttrongmộtphươngpháp, làyếutốkếtnốigiữacácthànhphần Introduction to UML

  5. Tạisaolạisửdụng UML? • Giúpchoviệcphântíchvàthiếtkế • Làcôngcụgiaotiếp (Communication) • Sửdụngcácưuđiểmcủa OO • Tàiliệuhóa (Documentation) NhưđượcđềcậptrongThe Unified Modeling Language User Guide; Ngônngữ UML dùngđể: • Trựcquanhóa (Visualizing) • Đặctả (Specifying) • Xâydựng (Constructing) • Cungcấptàiliệu (Documenting) Introduction to UML

  6. Trựcquanhóa (Visualizing) • Hiểuvàgiảiquyếtcácvấnđềdễdànghơn • Khi trở thành một chuẩn trong việc lập mô hình, mỗi kí hiệu mang một ý nghĩa rõ ràng và duy nhất=> một nhà phát triển có thể đọc được mô hình xây dựng bằng UML do một người khác viết. • Một mô hình rõ ràng, sáng sủa làm tăng khả năng giao tiếp, trao đổi giữa các nhà phát triển Introduction to UML

  7. Đặctả (Specifying) • Xây dựng các mô hình một các tỉ mỉ, rõ ràng, đầy đủ ở các mức độ chi tiết khác nhau • Tấtcảcáccôngđoạntừphântích, thiếtkếchođếntriểnkhaiđềucócácbiểuđồ UML biểudiễn. Introduction to UML

  8. Kiếntạo(Constructing) • UML làmộtngônngữchuẩnvớitậpquytắcvềcúphápriêng. • Chúngtacóthểxâydựngcáccôngcụđểchuyểnđổicácmôhình • Cácmôhìnhcủa UML cóthểkếtnốivớinhiềungônngữlậptrình. Tứclàcóthểánhxạcácmôhình UML vềmộtngônngữlậptrìnhnhư C++, Java... • Việcchuyểncácmôhìnhtrong UML thành Code trongngônngữlậptrình Forward engineering (Ex: Rational Rose) Introduction to UML

  9. Tạolậptàiliệu (Documenting) • Giúpxâydựngtàiliệuđặctả - requirements • Tàiliệukiếntrúc (architecture) • Tàiliệuthiếtkế • Source code • Tàiliệuđểkiểmthử - Test • Tàiliệumẫu - Prototype • Tàiliệutriểnkhai – Deployment Introduction to UML

  10. Cáchsửdụng (Usages) • Địnhnghĩacácgiớihạncủahệthốngvàcácchứcnăngchínhcủanó • Trườnghợpsửdụng (Use cases) vàcáctácnhân (actor) • Minh họacác UC • Biểuđồtươngtác (interaction diagram) • Địnhnghĩacấutrúctĩnhcủahệthống • Biểuđồlớp (class diagrams ) • Môhìnhhóacáchành vi củađốitượng • Biểuđồchuyểntrạngthái (state transition diagrams) • Môtảkiếntrúcvậtlý(phầncứngvàphầnmềm) củahệthống • Biểuđồthànhphầnvàbiểuđồtriểnkhai (component & deployment diagrams) • Mởrộng • Cáckhuônmẫu (stereotypes) Introduction to UML

  11. Cơbảnvề UML • Môhìnhvàcáchướngnhìn (Views) • Cácbiểuđồchính • Cácthànhphầncơbản Introduction to UML

  12. Introduction to UML

  13. Môhìnhvàhướngnhìn • Hướng nhìn chỉ ra những khía cạnh khác nhau của hệ thống cần phải được mô hình hóa • Một hướng nhìn không phải là một bản vẽ, mà là một sự trừu tượng hóa bao gồm một loạt các biểu đồ khác nhau • Chỉ qua việc định nghĩa của một loạt các hướng nhìn khác nhau, mỗi hướng nhìn chỉ ra một khía cạnh riêng biệt của hệ thống, người ta mới có thể tạo dựng nên một bức tranh hoàn thiện về hệ thống. Introduction to UML

  14. Core Elements Introduction to UML

  15. Core Elements (cont’d) ¹ An extension mechanism useful for specifying structural elements. Introduction to UML

  16. Biểuđồ • Cácbiểuđồgópphần chi tiếthóahệthống • Mỗibiểuđồlàsựkếthợpcủacácthànhphầncơbản • Dựavàcácbiểuđồ, cácnhàpháttriểncóthểgiaotiếpvớinhauvàgiảiquyếtcácvấnđềphứctạpcủahệthống • Biểuđồlớplàloạibiểuđồthôngdụngnhất, dùngđềmôtảmốiquanhệgiữacáclớp, giúpchonhàpháttriểncóthểhiểucấutrúclớpcủahệthống Introduction to UML

  17. Hướngnhìn (View) • Mô hình hóa một hệ thống phức tạp là một việc làm khó khăn • Khi xem xét một hệ thống, chúng ta cần xây dựng các mô hình từ những khía cạnh khác nhau, xuất phát từ thực tế là những người làm việc với hệ thống với những vai trò khác nhau sẽ nhìn hệ thống từ những khía cạnh khác nhau • Vì vậy một hệ thống thường được miêu tả trong một loạt các hướng nhìn khác nhau • Mỗi hướng nhìn sẽ thể hiện một bức ảnh ánh xạ của toàn bộ hệ thống và chỉ ra một khía cạnh riêng của hệ thống. • Mỗi một hướng nhìn được miêu tả trong một loạt các biểu đồ, chứa đựng các thông tin nêu bật khía cạnh đặc biệt đó của hệ thống. Introduction to UML

  18. Hướngnhìn (View) • UML cótấtcảcáchướngnhìnsau: • Hướngnhìn UC • Hướngnhìnthiếtkế (Design) • Hướngnhìntriểnkhai (Development) • Hướngnhìntiếntrình (Process) • Hướngnhìnvậtlý (Physical) • Cáchướngnhìnphảiphùhợpvớinhauvìcùngmôtảvềmộthệthống • Cóthểđượcsửdụngđểkiểmtratínhhợplệgiữacáchướng Introduction to UML

  19. Hướngnhìn Use Case • Mô tả ứng xử của hệ thống theo cách nhìn nhận của người dùng, người phân tích hệ thống. • Cácthuậtngữsửdụngtronghướngnhìnmang ý nghĩarõràngvềmộtlĩnhvựcnàođó • người dùng có thể kiểm tra xem các yêu cầu của mình đã được đáp ứng đầy đủ hay chưa hoặc có chức năng nào của hệ thống là không cần thiết. • Được miêu tả qua các biểu đồ Use case (use case diagram) và thỉnh thoảng cũng bao gồm cả các biểu đồ hoạt động (activity diagram). . • Hướng nhìn Use case mang tính trung tâm, bởi nó đặt ra nội dung thúc đẩy sự phát triển các hướng nhìn khác Introduction to UML

  20. Hướngnhìnthiếtkế (Design View) • Hướng nhìn thiết miêu tả phương thức mà các chức năng của hệ thống sẽ được cung cấp • Chủ yếu nó được sử dụng cho các nhà thiết kế và nhà phát triển. • Biểu đồ thường được sử dụng là biểu đồ lớp và biểu đồ tương tác Introduction to UML

  21. Hướngnhìntriểnkhai (Development View) • Là một lời miêu tả của việc thực thi các modul cũng như sự phụ thuộc giữa chúng với nhau • Nó thường được sử dụng cho nhà phát triển và thường bao gồm nhiều biểu đồ thành phần • Hướng nhìn này mang tính tùy chọn Introduction to UML

  22. Hướngnhìntiếntrình (Process View) • Chia hệ thống thành các tiến trình(process) và luồng(thread), mô tả việc đồng bộ hóa và các xử lý đồng thời. • Cáctiếntrìnhvàluồngthườngđượcxácđịnhdựavàobiểuđồlớpthông qua cáclớpđộng (active class) • Bên cạnh việc chia hệ thống thành các tiểu trình có thể được thực thi song song, hướng nhìn này cũng phải quan tâm đến vấn đề giao tiếp và đồng bộ hóa các tiểu trình đó • Bao gồm các biểu đồ động (trạng thái, trình tự, tương tác và hoạt động) cùng các biểu đồ thực thi (biểu đồ thành phần và biểu đồ triển khai) Introduction to UML

  23. Hướngnhìnvậtlý (Physical View) • Chỉ cho chúng ta sơ đồ triển khai về mặt vật lý của hệ thống • Hướng nhìn triển khai giành cho các nhà phát triển, người tích hợp cũng như người thử nghiệm hệ thống và được thể hiện bằng các biểu đồ triển khai • Ánh xạ các thành phần của hệ thống vào cấu trúc vật lý Introduction to UML

  24. Hướngnhìn • Danhsáchcáchướngnhìnlàkhônggiớihạn • Phụthuộcvàocáchnhìnnhậnhệthống, tacóthểtạoramộthướngnhìnmới • Vídụ: hướngnhìnvề Security Introduction to UML

  25. Cácphầntửmôhình • Phầntửcấutrúc (Structural elements) • class, interface, collaboration, use case, active class, component, node • Phầntửhành vi(Behavioral elements) • interaction, state machine • Nhóm (grouping elements) • package, subsystem • Cácthànhphầnkhác • note Introduction to UML

  26. Cácloạibiểuđồ • Biểuđồ Use Case • Môtảcácyêucầu • Biểuđồhoạtđộng (Activity Diagrams) • Nóchỉracácbướcthựchiện, cáchànhđộng, cácnútquyếtđịnhvàđiềukiệnrẽnhánhđểđiềukhiểnluồngthựchiệncủahệthống • Biểuđồtươngtác (Interaction Diagrams) • Biểuđồcộngtác (tậptrungvàođốitượng) – Collaboration Diagrams • Biểuđồtuầntự (mangyếutốthờigian) – Sequence Diagrams • Biềuđồcấutrúctĩnh (Static Structure Diagrams) • Objects/Classes/Packages • Biểuđồtrạngthái • Môtảtrạngtháicủađốitượngứngvớitừngthờiđiểmtrongvòngđờicủanó • Biểuđồthựcthi (Implementation Diagrams) • Biểuđồthànhphần (Component Diagrams) • Biểuđồtriểnkhai( Deployment Diagrams) Introduction to UML

  27. Biểuđồ • Cácbiểuđồkếtnốilạivớinhautạonênmộtcáinhìntổngquátvềhệthống • Mỗibiểuđồmôtảmộtkhíacạnhkhácnhaucủahệthống. • Cóthểchiathànhhailoại: biểuđồhànhvìvàbiểuđồcấu • Biểuđồ UC, tuầntựvàbiểuđồlớpthườngđượcsửdụngnhất Introduction to UML

  28. Biểu đồ hành vi • Biểuđồhành vi đưaramộtcáchnhìnđộngvềhệthống. Nóthườngđượcsửdụngđểđặctảsựcộngtácgiữacácthànhphầnnhằmđápứnglạicácyêucầuvềhành vi củahệthống • Cóthểchiara 5 loạibiểuđồ: • Use case • Hoạtđộng • Trạngthái • Tuầntự • Cộngtác • Biềuđồ UC, tuầntự, cộngtác hay đượcsửdụng • Biểuđồhoạtđộng, trạngtháithườngđượcsửdụngđểmôtảcácyêucầucơbản • Biểuđồhoạtđôngmôtảmộtcáchtrựcquancáchành vi đượclấyratừcác UC • Biểuđồtrạngtháinhằm minh họacácgiaotáchành vi (transition) phứctạptrongcáclớpđơn Introduction to UML

  29. Cáckiểuquanhệ Introduction to UML

  30. Cáckiểuquanhệ Introduction to UML

  31. ScheduleAlgorithm RegistrationForm RegistrationManager addStudent(Course, StudentInfo) Course name numberCredits Student open() name addStudent(StudentInfo) major Professor CourseOffering name tenureStatus location open() addStudent(StudentInfo) Mối quan hệ Introduction to UML

  32. Quan hệ nối kết Introduction to UML

  33. Cácđầuliênkết Introduction to UML

  34. Quan hệ hợp thành (Composition) Introduction to UML

  35. Quan hệ khái quát hóa (Generalization) Introduction to UML

  36. Quan hệ khái quát hóa Introduction to UML

  37. Quan hệ phụ thuộc (Dependencies) Introduction to UML

  38. Quan hệ phụ thuộc Introduction to UML

  39. Derived Attributes and Associations Introduction to UML

  40. Nối kết (Links) Introduction to UML

  41. Các ràng buộc và lời chú thích Introduction to UML

  42. Tác nhân (Actors) • Một tác nhân là một người hoặc một vật nào đó tương tác với hệ thống, sử dụng hệ thống • External Forces • Tươngtácgiữangười (Human interaction) • Cáchệthốngtựđộng (Automated System) Traffic Control System Driver Keyboard Operator User <<Backup System>> <<toll booth>> Introduction to UML

  43. Use Cases • Một UC làmộtmôtảvềmộthành vi củahệthống • Làmộtchuỗicácgiaotác (transaction) cóquanhệvớinhauđượcthựchiệnbởimộttácnhântronghệthống • Chi tiếtnhữnggìhệthốngcầncungcấpchotácnhânkhimột UC đượcthựcthi • A flow of events document is created for each use case • Xuấtpháttừquanđiểmcủatácnhân • Cáctácnhânsẽđượcphỏngvấnđểxácđịnhcáchthứcmàhọtươngtácvớihệthống • Phântáchcáchành vi đếnmức chi tiếtnhất • Cácnội dung chủyếu: • Một UC bắtđầuvàkếtthúcnhưthếnào?How the use case starts and ends • Cácdòngsựkiệnthôngthường (Normal flow of events) • Cácdòngsựkiệntùychọn (Alternate flow of events) • Cácdòngsựkiệnngoạilệ (Exceptional flow of events) Introduction to UML

  44. Biểuđồ Use case • Nắmbắtcácchứcnăngcủahệthốngtheocáchnhìnbởingườisửdụng • Built in early stages of development • Mụcđích • Xácđịnhrõcácngữcảnhcủahệthống • Nắmbắtcácyêucầucủahệthống • Xácđịnhtínhhợplệkiếntrúchệthống • Hướngdẫnthựcthivàkiểmtratínhđầyđủchứcnăng • Đượcxâydựngbởicácnhàphântíchvàcácchuyêngia Introduction to UML

  45. Biểuđồ Use case • Biểuđồ Use case nhằmtrựcquanhóacácmốiquanhệgiữatácnhânvà Use case Pay toll Driver Passager Lost Luggage Customer Service Agent Ramp Maintenance Mechanic Introduction to UML

  46. Biểuđồ Use case • Nắmbắtcácyêucầucủahệthốngtheocáchnhìncủangườisửdụng Introduction to UML

  47. Biểuđồcộngtác • Làmộtdạngcủabiểuđồtươngtácmôtảcáchthứctổchứccácđốitượnggửivànhậncácthôngđiệp • Xétvềmặtngữnghĩagầngiốngnhưbiểuđồtrìnhtự • Khácvớibiểuđồtrìnhtựlà ở đâytậptrungvàongữcảnhvàkhônggianthựchiệncôngviệc Introduction to UML

  48. Biểuđồcộngtác • Biểuđồcộngtácmôtảcáchtổchứccáctươngtáccủađốitượngvàsựkếtnốicủachúngvớiđốitượngkhác course form : 1: set course info CourseForm 2: process 3: add course : Registrar theManager : aCourse : CurriculumManager Course Introduction to UML 4: new course

  49. Biểuđồtrìnhtự • Tươngđươngvớibiểuđồcộngtác. • Môtảtrậttựthờigiancủacácthôngđiệpđượcgởigiữacácđốitượng • Đượcsửdụngtronghầuhếtcácquytrìnhpháttriểnphầnmềm Introduction to UML

  50. 3: Answer Biểuđồtrìnhtự • Môtảsựtươngtácgiữacácđốitượngtheomộttrậttựthờigian Counter Agent Ticket Gate Agent Plane Passenger 1: Give Info 2: Questions 4: Print 5: Safeguard 6:Present 7: Board 8: Overbook 9: Return Introduction to UML

More Related