Phân tích thiết kế hướng đối tượng: Bài 8. Biểu đồ kiến trúc vật lý và phát sinh mã trình - ThS. Lê Văn Hùng
lượt xem 23
download
Kiến trúc hệ thống là kế hoạch chi tiết của các bộ phận hình thành hệ thống. UML định nghĩa: Kiến trúc là cấu trúc tổ chức của hệ thống; Kiến trúc bao gồm các bộ phận tương tác thông qua giao diện. Theo Buschman: Kiến trúc phần mềm là mô tả các phân hệ , các thành phần của hệ thống phần mềm và các quan hệ giữa chúng.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Phân tích thiết kế hướng đối tượng: Bài 8. Biểu đồ kiến trúc vật lý và phát sinh mã trình - ThS. Lê Văn Hùng
- PHÂN TÍCH THI T K PHÂN HƯ NG ð I TƯ NG HƯ N G TƯ NG
- N i dung 1. Ti n trình phát tri n ph n m m theo hư ng đ i tư ng 2. Gi i thi u Ngôn ng mô hình hóa th ng nh t UML 3. Mô hình hóa nghi p v 4. Mô hình hóa trư ng h p s d ng 5. Mô hình hóa tương tác đ i tư ng 6. Bi u đ l p và gói 7. Bi u đ chuy n tr ng thái và bi u đ ho t đ ng Bi u đ ki n trúc v t lý và phát sinh mã trình 9. Mô hình hóa d li u 10. Bài h c th c nghi m ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 2/20
- Bài 8 Bi u ñ ki n trúc v t lý Bi ki tr và phát sinh mã trình
- Ki n trúc ph n m m? Ki n trúc h th ng là k ho ch chi ti t c a các b ph n hình thành h n th ng UML ñ nh nghĩa: n Ki n trúc là c u trúc t ch c c a h th ng n Ki n trúc bao g m các b ph n tương tác thông qua giao di n n Theo Buschman: n Ki n trúc ph n m m là mô t các phân h , các thành ph n c a h th ng n ph n m m và các quan h gi a chúng Hai lo i ki n trúc h th ng n Ki n trúc logíc n Ch ra các l p ñ i tư ng và các quan h gi a chúng ñ hình thành ch c năng n h th ng Nó ñư c th hi n b ng các bi u ñ UC, bi u ñ l p, tr ng thái, ho t ñ ng... n Ki n trúc v t lý n Là mô t t khía c nh ph n c ng và các moñun ph n m m trên ñó n Nó ñư c mô t b ng các bi u ñ cài ñ t: bi u ñ thành ph n và bi u ñ tri n n khai ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 4/20
- Các thành ph n Thành ph n? n Là mô ñun v t lý mã trình: thư vi n mã ngu n, mã kh th c. n Các lo i thành ph n n SubprogSpec SubprogBody Generic Component ð c t thành ph n b ng Stereotype ð c t và thân chương trình con T p h p các hàm MainSubprog Không ch a ñ nh nghĩa l p Chương trình chính Ch a ñ u vào chương trình ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 5/20
- Các thành ph n Các lo i thành ph n n TaskSpec TaskBody PackageSpec PackageBody ð c t và thân nhi m v ð c t và thân gói Là các thành ph n Run-time Gói là cài ñ t l p Bi u di n các gói có thread ñ c l p ð c t gói là t p header Database Bi u di n CSDL Ch a m t hay nhi u lư c ñ ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 6/20
- Bi u ñ thành ph n Credit Bi u ñ thành ph n là bi u ñ hi n n th các thành ph n trong h th ng và ph thu c gi a chúng Reservation Thành ph n A ph thu c vào Flight n thành ph n B khi vài l p trong A ph thu c vào vài l p trong B Bi u ñ cho bi t n Thư vi n nào ñư c s d ng, t p n FlightServer kh th c (.exe) nào ñư c t o ra khi d ch chương trình Các quan h gi a các thư vi n mã n trình Có kh năng t ch c các thành n ph n vào các gói ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 7/20
- Thí d Bi u ñ thành ph n MainProgram CartInterface CartMgr ProductMgr ProductCollection ProductItem CartItem CartCollection ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 8/20
- B sung chi ti t cho thành ph n Stereotype n L a ch n bi u tư ng ñ bi u di n thành ph n n Có th là: n , ActiveX, Applet, Subroutine Spec, dll... t ñ nh nghĩa n Language n Trong Rose có th gán ngôn ng cho thành ph n n Cho kh năng phat sinh các ngôn ng khác nhau cho m i thành ph n n Declaration n Gán các khai báo vào mã trình c a t ng thành ph n n Class n Gán l p vào thành ph n trư c khi phát sinh mã trình n Có th ánh x m t hay nhi u l p vào m t thành ph n n Dependency n Thành ph n ch có m t lo i quan h : quan h ph thu c n Tránh hình thành quan h vòng n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 9/20
- Bi u ñ tri n khai Bi u ñ tri n khai mô t ki n trúc ph n c ng (các nút) có n ph n m m ch y trên chúng, bao g m các b x lý, các ti n trình, các thi t b và các k t n i gi a chúng Mô t tôpô c a h th ng n Ch ra toàn b các nút trên m ng, k t n i gi a chúng và các ph n n m m ch y trên chúng Nút là ñ i tư ng v t lý có tài nguyên tính toán n Máy tính, máy in, thi t b ñ c th t và truy n tin n Gi a các nút là k t n i giao ti p, ki u k t n i ñư c th n hi n b ng stereotype ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 10/20
- Các ph n t c a bi u ñ tri n khai B x lý n Là máy x lý: máy ch , máy tr m n Processor B sung thu c tính: n Stereotype n Mô t v t lý c a b x lý: t c ñ , dung lư ng nh n L p l ch x lý: Preemptive, Non-preemptive, Cyclic, n Executive, Manual Thi t b n Là ph n c ng ch có m t m c ñích: máy in, scanner... n B sung thu c tính: n Device Stereotype n Mô t v t lý c a thi t b n K tn i n Là liên k t v t lý gi a các thi t b và b x lý n B sung stereotype và ñ c tính v t lý cho k t n i: T1 n B sung ti n trình cho b x lý n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 11/20
- Thí d bi u ñ tri n khai Database Server Oracle Server Application Server Printer Main Program Web Server Internet Client Information Server Workstation #1 Client Workstation #2 Web Browser Web Browser ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 12/20
- Phát sinh mã trình Sáu bư c cơ b n ñ phát sinh mã trình n Ki m tra mô hình n T o l p thành ph n n Ánh x l p vào thành ph n n Gán thu c tính phát sinh mã trình n Ch n l p, thành ph n hay gói ñ phát sinh mã n Phát sinh mã trình n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 13/20
- Phát sinh mã trình Bư c 1: Ki m tra mô hình n Rose có ch c năng ki m tra mô hình ñ c l p ngôn ng ñ ñ m n b o tính nh t quán trong mô hình Khi ki m tra có th phát hi n các l i sau n Ánh x không ñ y ñ : Các ñ i tư ng hay thông ñi p trong bi u ñ n trình t chưa ánh x vào thao tác hay l p trong bi u ñ l p Vi ph m xâm nh p: Thí d , hai l p trong hai gói có quan h nhưng v n thi u quan h gi a hai gói Ki m tra ph thu c ngôn ng : S phát hi n, thí d , nhi u l p cùng tên n khai báo public trong m t moñun chương trình Bư c 2: T o l p thành ph n n T o l p thành ph n ñ ch a l p n Trư c khi phát sinh mã trình ph i ánh x các l p vào thành ph n n tương ng B sung quan h thành ph n trên Bi u ñ thành ph n n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 14/20
- Phát sinh mã trình Bư c 3: Ánh x l p vào thành ph n n M i thành ph n mã ngu n bi u di n t p mã ngu n cho m t ho c n vài l p Thí d C++: M i l p ánh x ñ n hai thành ph n – Các t p Header và n Body Bư c này yêu c u ánh x l p vào thành ph n tương ng n Bư c 4: ð t ñ c tính cho phát sinh mã trình n Nhi u ñ c tính có th gán cho l p, thu c tính, thành ph n c a mô n hình ñ ñi u khi n mã ñư c phát sinh như th nào. Thí d C++: ð c tính GenerateGetOperation ñi u khi n vi c có phát n sinh hàm Get() hay không. Thí d khác: GenerateDefaultConstructor n ð t t p ñ c tính t m th i n Thay vì thay ñ i tr c ti p t p ñ c tính ta có th t o ra t p ñ c tính n t m th i ñ s d ng, không nh hư ng ñ n t p ñ c tính m c ñ nh H y b t p ñ c tính t m th i n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 15/20
- Phát sinh mã trình Bư c 5: Ch n l p, thành ph n hay gói n Có th ch n l p, thành ph n hay gói ñ phát sinh mã trình vào các n th i ñi m khác nhau Phát sinh mã t bi u ñ hay Browser n Có th phát sinh mã trình cho m t vài l p, thành ph n hay gói n ñ ng th i Bư c 6: Phát sinh mã trình n L a ch n ngôn ng theo yêu c u ñ phát sinh mã t mô hình n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 16/20
- Phát sinh mã trình Cái gì ñã ñư c phát sinh t mô hình? n Th c t n Không có công c mô hình hóa nào phát sinh mã trình ñ y ñ n Rose cũng ch phát sinh khung chương trình n Các ph n t ñư c phát sinh n L p: M i l p trong mô hình ñư c sinh mã n Thu c tính: Mã trình s ch a các thu c tính l p bao g m ph m vi, ki u n d li u và giá tr m c ñ nh, các hàm Get(), Set(). Signature: Các thao tác ñư c khai báo trong mã trình cùng v i danh n sách tham s , ki u d li u c a tham s và ki u giá tr cho l i c a thao tác Quan h : M t s quan h trong mô hình ñư c chuy n sang thu c tính n Thành ph n: M i thành ph n ñư c hi n th c trong t p tương ng n Tài li u: Tài li u trong mô hình ñư c chèn vào nơi thích ng trong mã n trình ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 17/20
- Phát sinh mã trình Nhi m v c a ngư i phát tri n sau khi Rose sinh mã trình n Thu th p các t p mã trình, vi t mã trình cho các thao tác l p n Thi t k giao di n ñ h a n Thí d ño n mã trình do Rose phát sinh n #include "stdafx.h" #include "Order.h" //##ModelId=3A77E3CD0280 Boolean Order::Create() { // TODO: Add your specialized code here. // NOTE: Requires a correct return value to compile. } //##ModelId=3A77E3E60316 Boolean Order::SetInfo(Integer OrderNum, String Customer, Date OrderDate, Date FillDate) { // TODO: Add your specialized code here. // NOTE: Requires a correct return value to compile. } //##ModelId=3A77E40E0230 String Order::GetInfo() { // TODO: Add your specialized code here. // NOTE: Requires a correct return value to compile. } ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 18/20
- Phát sinh mã trình class Order { public: //##ModelId=3A7F695F019A OrderItem* theOrderItem; //##ModelId=3A77E3CD0280 Boolean Create(); //##ModelId=3A77E3E60316 Boolean SetInfo(Integer OrderNum, String Customer, Date OrderDate, Date FillDate); //##ModelId=3A77E40E0230 String GetInfo(); private: //##ModelId=3A7E13F9038E Integer OrderNumber; //##ModelId=3A7E14260122 String CustomerName; //##ModelId=3A7E14470208 Date OrderDate; //##ModelId=3A7E145303D4 Date OrderFillDate; }; ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 19/20
- Tóm t t Bài này ñã xem xét các v n ñ sau n Ki n trúc v t lý c a h th ng n Xây d ng bi u ñ thành ph n n Các thành ph n ph n m m và quan h gi a chúng n Các ph n t ñ h a v bi u ñ thành ph n n Xây d ng bi u ñ tri n khai n Các ph n t ñ h a v bi u ñ tri n khai n Các bư c chuy n ñ i mô hình thành ph n m m n ehamingway@gmail.com Phân tích thi t k hư ng ñ i tư ng Bài 8 - 20/20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Phân tích thiết kế hướng đối tượng (phần 1)
19 p | 650 | 246
-
Phân tích thiết kế hướng đối tượng (phần 2)
2 p | 404 | 180
-
Phân tích thiết kế hướng đối tượng (phần 3)
4 p | 386 | 174
-
Phân tích thiết kế hướng đối tượng (phần 4)
7 p | 357 | 169
-
Đề thi học kỳ phụ Phân tích thiết kế hướng đối tượng - UML: Trường CĐ Kỹ thuật Cao Thắng
3 p | 234 | 19
-
Bài giảng Phân tích và thiết kế hướng đối tượng: Phân tích thiết kế hướng đối tượng - Đỗ Ngọc Như Loan
79 p | 85 | 10
-
Bài giảng Phân tích thiết kế hướng đối tượng - ThS. Lê Trung Hiếu
85 p | 89 | 9
-
Bài giảng OOAD - Chủ đề 1: Tổng quan về phân tích thiết kế hướng đối tượng
94 p | 209 | 9
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 1 - Nguyễn Ngọc Duy
11 p | 79 | 8
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 5 - Lê Thị Minh Nguyện
11 p | 101 | 8
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 4 - Nguyễn Ngọc Duy
27 p | 101 | 7
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 1 - Lê Thị Minh Nguyện
11 p | 80 | 7
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 2 - Nguyễn Ngọc Duy
7 p | 101 | 6
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 3 - Lê Thị Minh Nguyện
13 p | 67 | 6
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 4 - Lê Thị Minh Nguyện
14 p | 85 | 5
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 2 - Lê Thị Minh Nguyện
10 p | 63 | 4
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 0 - Nguyễn Ngọc Duy
4 p | 76 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 12 - Phân tích thiết kế hướng đối tượng và biểu đồ lớp
63 p | 15 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn