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

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

Chia sẻ: Thien Phuc | Ngày: | Loại File: PDF | Số trang:20

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

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.

Chủ đề:
Lưu

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

  1. PHÂN TÍCH THI T K PHÂN HƯ NG ð I TƯ NG HƯ N G TƯ NG
  2. 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
  3. Bài 8 Bi u ñ ki n trúc v t lý Bi ki tr và phát sinh mã trình
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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