By Nguyen Minh Quy - UTEHY

Slides:



Advertisements
Similar presentations
GV: Nguyễn Thị Thúy Hiền PHÒNG GD&ĐT PHÚ VANG TRƯỜNG THCS PHÚ THƯỢNG.
Advertisements

5.
AI CŨNG PHẢI HỌC LÀM NGƯỜI
CHƯƠNG III: NGÂN HÀNG VÀ CÁC NGHIỆP VỤ NGÂN HÀNG.
Cài đặt Moodle Cài đặt Moodle trên môi trường Windows Cục CNTT-Bộ GD&ĐT.
LOGO JOOMLA & PHP See How easy it is! Trung tâm đào tạo lập trình viên quốc tế Aprotrain -Aptech Làm web trong 10 phút Diễn giả : Đặng Tuấn Tú.
Kỹ năng Trích dẫn và Lập danh mục tài liệu tham khảo
Các kĩ thuật dạy học mang tính hợp tác Phần II. 2 Các lí do áp dụng k ĩ thuật dạy học mang tính hợp tác  Kích thích, thúc đẩy sự tham gia tích cực 
Rèn luyện nghiệp vụ sư phạm 3
Trường THPT Long Châu Sa
Orientation Các vấn đề về IT.
Giáo viên: Nguyễn Ngọc Thúy Hằng Đơn vị: Trường THPT Lê Quý Đôn
L/O/G/O NGUYÊN LÝ KẾ TOÁN Nguyễn Hữu Quy (MBA,CPA,APC)
SO¹N GI¶NG GI¸O ¸N ĐIÖN Tö e-LEARNING
CƠ CHẾ QUẢN LÝ KINH TẾ TRƯỚC THỜI KÌ ĐỔI MỚI (1975 – 1986)
1 BÀI 6 BẤM CÁP VÀ CHIA SẺ DỮ LIỆU MẠNG. 2 Nội Dung  Bấm cáp xoắn đôi đúng chuẩn Phương pháp bấm cáp chuẩn A Phương pháp bấm cáp chuẩn B  Kết nối máy.
TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C/C++
Thị trường mới ThS. Nguyễn Văn Thoan
Chương 1: mạng máy tính và Internet
Kính Chào Cô và Các b ạ n thân m ế n !!!!!. HÌNH THỨC CHÍNH THỂ CỦA NHÀ NƯỚC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM VÀ MỘT SỐ NƯỚC TRÊN THẾ GIỚI. Thuyết trình.
Tác tử thông minh.
Internet & E-Commerce
Ngôn ngữ lập trình C/C++
Đầu tiên chỉ là 1 giao thức đơn giản
CHƯƠNG 9 PHẦN MỀM POWERPOINT
BÀI 4 CÔNG NGHỆ THÔNG TIN VÀ CHUỖI CUNG ỨNG
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
© 2007 Thomson South-Western
Hướng dẫn viết đề cương nghiên cứu
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C++
KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
THIẾT KẾ HỆ THỐNG THÔNG TIN Chương 5.
Chương 2 Mô hình hóa yêu cầu của bài toán sử dụng use case diagram
NHẬP MÔN VỀ KỸ THUẬT.
OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0
Ràng buộc toàn vẹn (Integrity Constraint)
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA VẬT LÝ
Dược Thảo Lợi Hại Ra Sao Kính thưa quí bạn, slide show nầy nói về những điều cần lưu ý khi tìm đọc các thông tin về các loại thuốc phụ trợ hoặc bổ sung,
CÔNG NGHỆ THƯƠNG MẠI ĐIỆN TỬ
Chương 1: Khái quát về dự án đầu tư.
VNUNi® Sales & Inventory Control
Ra quyết định kinh doanh
TIẾP CẬN CÁC CHƯƠNG TRÌNH KHOA HỌC VÀ CÔNG NGHỆ HỖ TRỢ NGÀNH DƯỢC
Policy Analysis Tools of the Trade NMDUC 2009.
PLAN
Cấu hình đơn giản cho Router
Bài giảng môn Tin ứng dụng
Ring ? Bus ? ? Mesh ? Start ?. Ring ? Bus ? ? Mesh ? Start ?
Môn: Lập trình Hướng đối tượng (Object Oriented Programming)
Chương 6 Các chiến lược tiếp thị
TÀI LIỆU GIẢNG DẠY IC3 GS4 SPARK
HỆ ĐIỀU HÀNH MẠNG.
ỨNG DỤNG HIV INFO 3.0 QUẢN LÝ SỐ LIỆU NGƯỜI NHIỄM HIV/AIDS
GVHD: TS Lê Vũ Tuấn Hùng HV: Trịnh Thị Quỳnh Như
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
BÀI 29: LỌC DỮ LIỆU TỪ DANH SÁCH DỮ LIỆU
Chương 4 - CÁC MÔ ĐUN ĐiỀU KHIỂN TRONG HỆ THỐNG CƠ ĐiỆN TỬ
Tổng quan về Hệ điều hành
Phương pháp Nghiên cứu khoa học (SCIENTIFIC RESEARCH METHODOLOGY)
Lớp DH05LN GIÁO VIÊN PHỤ TRÁCH ThS. NGUYỄN QUỐC BÌNH
KỸ NĂNG LUYỆN TRÍ NHỚ ThS. Huỳnh Phạm Ngọc Lâm.
Please click through slides at your leisure
Chương 3. Lập trình trong SQL Server TRIGGER
AUDIO DROPBOX - TUTORIALS
2D Transformations Các phép biến đổi 2D
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐIỆN BIÊN TRƯỜNG THPT MÙN CHUNG
Company LOGO CĂN BẢN VỀ MẠNG NGUYEN TAN THANH Xem lại bài học tại
Quản trị rủi ro Những vấn đề căn bản Nguyễn Hưng Quang 07/11/2015 NHẬT HOA IC&T.
TRƯỜNG ĐẠI HỌC NGOẠI THƯƠNG CƠ SỞ II TẠI TP. HỒ CHÍ MINH HỘI NGHỊ KHOA HỌC CƠ SỞ II “BÁO CÁO HOẠT ĐỘNG ĐI THỰC TẾ CỦA GIẢNG VIÊN CSII, NĂM HỌC ”
Nghiên cứuLập kế hoạch Thực thi giao tiếp Đánh giá.
Presentation transcript:

By Nguyen Minh Quy - UTEHY UML Fundamental By Nguyen Minh Quy - UTEHY

Nội dung 1 Giới thiệu tổng quan về UML 2 Một số Case tool hỗ trợ UML 3 Một số biểu đồ UML cơ bản 4 Cài đặt (ánh xạ) biểu đồ 5 Giới thiệu Visual Paradigm

1. Tổng quan về UML UML (Unified Model Language) là một ngôn ngữ dùng cho phân tích thiết kế hướng đối tượng (OOAD – Object Oriented Analys and Design) Được duy trì và phát triển bởi OMG (Object Management Group), do Jacobson, Booch, Rumbaugh sáng lập. Ngoài ra còn có hàng trăm các tập đoàn lớn khác bảo trợ phát triển. UML 2.0 có 13 loại biểu đồ để thể hiện các khung nhìn khác nhau (View) về hệ thống. Các biểu đồ UML cho ta cái nhìn rõ hơn về hệ thống (cả cái nhìn tĩnh và động) UML khởi động từ tháng 10, năm 1994. Tháng 1 năm 1997, UML 1.0 ra đời.

1. Tổng quan về UML.... Hiện nay UML được sử dụng rất phổ biến trong các dự án phần mềm. UML thể hiện phương pháp phân tích hướng đối tượng nên không lệ thuộc ngôn ngữ LT. Có rất nhiều công cụ phần mềm hỗ trợ phân tích thiết kế dùng UML. Nhiều công cụ có thể sinh ra mã từ UML và ngược lại (từ mã thành UML-Reverse Eng) UML không phải là ngôn ngữ lập trình !. Phiên bản mới nhất của UML là 2.1.2 (omg.org)

UML là một ngôn ngữ dùng để: UML dùng để làm gì ? UML là một ngôn ngữ dùng để: Trực quan hóa (Visualizing) Đặc tả (Specifying) Xây dựng (Constructing) Viết tài liệu (Documenting)

Trực quan hóa-Visualizing Dùng tập các ký hiệu đồ họa phong phú để biểu diễn hệ thống đang được nghiên cứu. Hệ thống ký hiệu đều có ngữ nghĩa chặt chẽ, có thể hiểu bởi nhiều công cụ khác nhau. Giúp cho các nhà thiết kế, nhà lập trình khác biệt về ngôn ngữ đều có thể hiểu được.

UML là ngôn ngữ cho đặc tả - specifying UML giúp xây dựng các mô hình chính xác, đầy đủ và không nhập nhằng. Tất cả các công đoạn từ phân tích, thiết kế cho đến triển khai đều có các biểu đồ UML biểu diễn. Use case (dùng cho phân tích); Class, Sequence, Activity... (cho thiết kế); Component, Deployment (cho triển khai).

Xây dựng - Constructing Các mô hình của UML có thể kết nối với nhiều ngôn ngữ lập trình. Tức là có thể ánh xạ các mô hình UML về một ngôn ngữ lập trình như C++, Java... Việc chuyển các mô hình trong UML thành Code trong ngôn ngữ lập trình  Forward engineering Việc chuyển ngược trở lại code trong một ngôn ngữ lập trình thành UML  Reverse Engineering. Cần công cụ để chuyển đổi “xuôi” & “ngược”

UML là ngôn ngữ giúp viết tài liệu Giúp xây dựng tài liệu đặc tả - requirements Tài liệu kiến trúc (architecture) Tài liệu thiết kế Source code Tài liệu để kiểm thử - Test Tài liệu mẫu - Prototype Tài liệu triển khai – Deployment ............

2. Một số Case tool (Công cụ) hỗ trợ UML Rational Rose (của hãng Rational) http://www-128.ibm.com/developerworks/downloads/r/rsd/? Visual Paradiagm http://www.visual-paradigm.com Microsoft Visio www.microsoft.com Power designer http://www.sybase.com Visual Case http://www.visualcase.com Pacestar UML Diagrammer www.peacestar.com ..................................

3. Một số biểu đồ UML cơ bản Chiều cao    View 1

3. Một số biểu đồ UML cơ bản Chiều cao phía sau  View 2

3. Một số biểu đồ UML cơ bản View 3

3. Một số biểu đồ UML cơ bản 4 Biểu đồ Hoạt động Activity Diagram 3 Tuần tự Sequence Diagram 2 Biểu đồ Lớp Class Diagram 1 Biểu đồ ca sử dụng Use Case Diagram Component Deployment Communication/ Collaboration Timming Interaction State

3. Một số biểu đồ UML cơ bản Mô tả các chức năng của hệ thống dựa trên quan điểm người sử dụng. Mô tả sự tương tác giữa người dùng và hệ thống. Cho biết hệ thống được sử dụng như thế nào ? 1 Biểu đồ ca sử dụng Use Case Diagram 1 Biểu đồ ca sử dụng Use Case Diagram 2 Biểu đồ Lớp Class Diagram 3 Biểu đồ Tuần tự Sequence Diagram 4 Biểu đồ Hoạt động Activity Diagram Component Deployment Communication Collaboration Timing State

Use case Include System Actor Extend Generalization

Chú ý: A B Khi nào thì vẽ quan hệ <Include> (bao hàm)  Use case A được gọi là Include B nếu trong xử lý của A có gọi đến B ít nhất 1 lần ! Minh họa thông qua Code Class B { public void X () { .... } } Class A { Pubic void Y () { B objB = new B(); objB.X (); ... } A Include B

Chú ý: A B Khi nào thì vẽ quan hệ <Extend> (mở rộng)  Use case B được gọi là Exntend A nếu use case B được gọi bởi A nếu thỏa mãn điều kiện nào đó. Minh họa thông qua Code Class B { public void InẤn () { .... } } Class A { Pubic void XemDSSV () { ... If (Click_Nút_InẤn) { B objB = new B(); objB.InẤn(); ...}.... } A Extend B

Một số hình vẽ đúng

Một số hình vẽ đúng

Một số hình vẽ sai

Vẽ quan hệ tổng quát hóa (thừa kế) Khi nào thì vẽ quan hệ <Generalization> (tổng quát hóa)  Use case A được gọi là Generalization B nếu B là một trường hợp riêng của A ! Nếu A Generalization B thì code có dạng như thế nào Class A { .................... } Class B : A { .................. A Thanh toán C T/t bằng Séc B T/t bằng Credit

3. Một số biểu đồ UML cơ bản Là biểu đồ quan trọng nhất Mô tả các đối tượng và mối quan hệ của chúng trong hệ thống. Mô tả các thuộc tính và các hành vi (Behavior) của đối tượng. Có biểu đồ lớp mức phân tích và mức cài đặt. 1 Biểu đồ ca sử dụng Use Case Diagram 2 Biểu đồ Lớp Class Diagram 2 Biểu đồ Lớp Class Diagram 3 Biểu đồ Tuần tự Sequence Diagram 4 Biểu đồ Hoạt động Activity Diagram Component Deployment Communication Collaboration Timing State

Hai dạng lớp: phân tích và thiết kế Bỏ qua các chi tiết không cần thiết Phải đầy đủ & chi tiết các thành phần

Các quan hệ trong biểu đồ lớp Quan hệ Generalization: Thể hiện rằng một lớp A kế thừa từ một lớp B (Hay A là trường hợp riêng của B; B là tổng quát của A) Gọi là quan hệ Là một (Is a) Thể hiện:

Các quan hệ trong biểu đồ lớp (2) Quan hệ Aggregation: Thể hiện rằng một lớp A nào đó bao gồm lớp B. Lớp B này có thể tồn tại độc lập mà không cần lớp A. Còn gọi là mối quan hệ: Có một (Has a) Thể hiện:

Các quan hệ trong biểu đồ lớp (3) Quan hệ Composition: thể hiện rằng một lớp A bao hàm lớp B. Nhưng lớp B không thể tồn tại độc lập (Tức không thuộc lớp nào). Tức là, nếu có B thì phải suy ra được A. Thể hiện:

Một phần tử lớp A có 1 phần tử lớp B Ứng số (Multiplicity) Thể hiện rằng ứng với mỗi lớp A thì có (chứa, dạy, có, mua, đặt,...) bao nhiêu phần tử lớp B? A B 1 1 Một phần tử lớp A có 1 phần tử lớp B

A Khách hàng Ứng số (Multiplicity) Thể hiện rằng ứng với mỗi lớp A thì có (chứa, dạy, có, mua, đặt,...) bao nhiêu phần tử lớp B? B Tài khoản A Khách hàng 1 0..3 Một phần tử lớp A có tối đa 3 phần tử lớp B Mỗi phần tử lớp B có đúng 1 phần tử lớp A

A Khách hàng Ứng số (Multiplicity) Thể hiện rằng ứng với mỗi lớp A thì có (chứa, dạy, có, mua, đặt,...) bao nhiêu phần tử lớp B? B Đơn hàng A Khách hàng 1 * Một phần tử lớp A có nhiều phần tử lớp B Mỗi phần tử lớp B có đúng 1 phần tử lớp A

A Sinh viên Ứng số (Multiplicity) Thể hiện rằng ứng với mỗi lớp A thì có (chứa, dạy, có, mua, đặt,...) bao nhiêu phần tử lớp B? B Khóa học A Sinh viên 0..* 1..* Mỗi sinh viên tham gia ít nhất 1 khóa học Mỗi khóa học có thể có 0 hoặc nhiều sv tham gia

3. Một số biểu đồ UML cơ bản 1 Biểu đồ ca sử dụng Use Case Diagram 2 Biểu đồ Lớp Class Diagram 3 Biểu đồ Tuần tự Sequence Diagram 3 Biểu đồ Tuần tự Sequence Diagram 4 Biểu đồ Hoạt động Activity Diagram Mô tả sự tương tác của các đối tượng theo trình tự về thời gian. Có sự liên kết chặt chẽ với biểu đồ lớp. Mỗi biểu đồ tuần tự mô tả một tình huống xử lý. Component Deployment Communication Collaboration Timing State

Object Message Return Lifetime Local message

Vẽ biểu đồ tuần tự Chú ý: có thể vẽ một trong 2 dạng

Ví dụ vẽ sai !

3. Một số biểu đồ UML cơ bản 4 Biểu đồ Hoạt động Activity Diagram 1 Biểu đồ ca sử dụng Use Case Diagram 2 Biểu đồ Lớp Class Diagram 3 Biểu đồ Tuần tự Sequence Diagram 4 Biểu đồ Hoạt động Activity Diagram Mô tả các luồng công việc, qui trình nghiệp vụ. Tương tự như sơ đồ khối (Flowchart). Hỗ trợ việc mô tả các xử lý song song. Component Deployment Communication Collaboration Timing State

Biểu đồ truyền thông: Communication diagram* Một số biểu đồ khác Biểu đồ truyền thông: Communication diagram* Biểu đồ tương tác: Interaction Diagram Biểu đồ thời gian – Timming diagram* Biểu đồ trạng thái – State Diagram Biểu đồ đối tượng – Object Diagram Bểu đồ gói - Package Diagram Biểu đồ cấu trúc kết hợp – Composite Structured* Biểu đồ thành phần – Component Diagram Biểu đồ triển khai – Deployment Diagram * Mới thêm vào UML 2.0

Ánh xạ biểu đồ sang Code

Ánh xạ biểu đồ sang Code (2)

Ánh xạ khách hàng- đơn hàng

Ánh xạ biểu đồ tuần tự sang Code Class B { public int Login(string UID, Pass) { ............... } MainApp { .... Nhập User name, password .... B objB = new B (); bool Result = objB.Login(UID, Password) if (Result == true) ....

Contact me quynm@utehy.edu.vn/ nminhquy@yahoo.com Thank You ! Contact me quynm@utehy.edu.vn/ nminhquy@yahoo.com Aptech Computer Education