Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
137,5 KB
Nội dung
VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM VIỆN CÔNG NGHỆ THÔNG TIN PHÂNTÍCHTHIẾTKẾHƯỚNGĐỐITƯỢNG PGS.TS Đặng Văn Đức Email: dvduc@ioit.ac.vn Nội dung Tiến trình phát triển phần mềm theo hướngđốitượng Giới thiệu Ngôn ngữ mô hình hóa thống UML Mô hình hóa nghiệp vụ Mô hình hóa trường hợp sử dụng Mô hình hóa tương tác đốitượng Biểu đồ lớp gói Biểu đồ chuyển trạng thái biểu đồ hoạt động Biểu đồ kiến trúc vật lý phát sinh mã trình Mô hình hóa liệu 10 Bài học thực nghiệm Bài - 2/20 Bài trúc vật Biểu đồ kiến lý phát sinh mã trình Kiến trúc phần mềm? Kiến trúc hệ thống kế hoạch chi tiết phận hình thành hệ thống UML định nghĩa: Theo Buschman: Kiến trúc cấu trúc tổ chức hệ thống Kiến trúc bao gồm phậntương tác thông qua giao diện Kiến trúc phần mềm mô tả phân hệ, thành phần hệ thống phần mềm quan hệ chúng Hai loại kiến trúc hệ thống Kiến trúc logíc Chỉ lớp đốitượng quan hệ chúng để hình thành chức hệ thống Nó thể biểu đồ UC, biểu đồ lớp, trạng thái, hoạt động Kiến trúc vật lý Là mô tả từ khía cạnh phần cứng mođun phần mềm Nó mô tả biểu đồ cài đặt: biểu đồ thành phần biểu đồ triển khai Bài - 4/20 Các thành phần Thành phần? Là mô đun vật lý mã trình: thư viện mã nguồn, mã khả thực Các loại thành phần SubprogSpec SubprogBody Generic Component Đặc tả thành phần Stereotype MainSubprog Chương trình Chứa đầu vào chương trình Đặc tả thân chương trình Tập hợp hàm Không chứa định nghĩa lớp Bài - 5/20 Các thành phần Các loại thành phần PackageSpec TaskSpec PackageBody TaskBody Đặc tả thân nhiệm vụ Là thành phần Run-time Biểu diễn gói có thread độc lập Đặc tả thân gói Gói cài đặt lớp Đặc tả gói tệp header Database Biểu diễn CSDL Chứa hay nhiều lược đồ Bài - 6/20 Biểu đồ thành phần Biểu đồ thành phần biểu đồ hiển thị thành phần hệ thống phụ thuộc chúng Credit Reservation Flight Thành phần A phụ thuộc vào thành phần B vài lớp A phụ thuộc vào vài lớp B Biểu đồ cho biết Thư viện sử dụng, tệp khả thực (.exe) tạo dịch chương trình Các quan hệ thư viện mã trình FlightServer Có khả tổ chức thành phần vào gói Bài - 7/20 Thí dụ Biểu đồ thành phần MainProgram CartMgr CartInterface ProductMgr CartCollection ProductCollection ProductItem CartItem Bài - 8/20 Bổ sung chi tiết cho thành phần Stereotype Lựa chọn biểu tượng để biểu diễn thành phần Có thể là: Language Gán khai báo vào mã trình thành phần Class Trong Rose gán ngôn ngữ cho thành phần Cho khả phat sinh ngôn ngữ khác cho thành phần Declaration , ActiveX, Applet, Subroutine Spec, dll tự định nghĩa Gán lớp vào thành phần trước phát sinh mã trình Có thể ánh xạ hay nhiều lớp vào thành phần Dependency Thành phần có loại quan hệ: quan hệ phụ thuộc Tránh hình thành quan hệ vòng Bài - 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ó phần mềm chạy chúng, bao gồm xử lý, tiến trình, thiết bị kết nối chúng Mô tả tôpô hệ thống Chỉ toàn nút mạng, kết nối chúng phần mềm chạy chúng Nút đốitượng vật lý có tài nguyên tính toán Máy tính, máy in, thiết bị đọc thẻ từ truyền tin Giữa nút kết nối giao tiếp, kiểu kết nối thể stereotype Bài - 10 Các phần tử biểu đồ triển khai Bộ xử lý Là máy xử lý: máy chủ, máy trạm Bổ sung thuộc tính: Là phần cứng có mục đích: máy in, scanner Bổ sung thuộc tính: Stereotype Mô tả vật lý thiết bị Device Kết nối Stereotype Mô tả vật lý xử lý: tốc độ, dung lượng nhớ Lập lịch xử lý: Preemptive, Non-preemptive, Cyclic, Executive, Manual Thiết bị Processor Là liên kết vật lý thiết bị xử lý Bổ sung stereotype đặc tính vật lý cho kết nối: T1 Bổ sung tiến trình cho xử lý Bài - 11/20 Thí dụ biểu đồ triển khai Database Server Application Server Oracle Server Printer Main Program Web Server Internet Information Server Client Workstation #2 Client Workstation #1 Web Browser Web Browser Bài - 12 Phát sinh mã trình Sáu bước để phát sinh mã trình Kiếm tra mô hình Tạo lập thành phần Ánh xạ lớp vào thành phần Gán thuộc tính phát sinh mã trình Chọn lớp, thành phần hay gói để phát sinh mã Phát sinh mã trình Bài - 13 Phát sinh mã trình Bước 1: Kiểm tra mô hình Rose có chức kiểm tra mô hình độc lập ngôn ngữ để đảm bảo tính quán mô hình Khi kiểm tra phát lỗi sau Ánh xạ không đầy đủ: Các đốitượng hay thông điệp biểu đồ trình tự chưa ánh xạ vào thao tác hay lớp biểu đồ lớp Vi phạm xâm nhập: Thí dụ, hai lớp hai gói có quan hệ vẽ thiếu quan hệ hai gói Kiểm tra phụ thuộc ngôn ngữ: Sẽ phát hiện, thí dụ, nhiều lớp tên khai báo public mođun chương trình Bước 2: Tạo lập thành phần Tạo lập thành phần để chứa lớp Trước phát sinh mã trình phải ánh xạ lớp vào thành phầntương ứng Bổ sung quan hệ thành phần Biểu đồ thành phần Bài - 14 Phát sinh mã trình Bước 3: Ánh xạ lớp vào thành phần Mỗi thành phần mã nguồn biểu diễn tệp mã nguồn cho vài lớp Thí dụ C++: Mỗi lớp ánh xạ đến hai thành phần – Các tệp Header Body Bước yêu cầu ánh xạ lớp vào thành phầntương ứng Bước 4: Đặt đặc tính cho phát sinh mã trình Nhiều đặc tính gán cho lớp, thuộc tính, thành phần mô hình để điều khiển mã phát sinh Đặt tập đặc tính tạm thời Thí dụ C++: Đặc tính GenerateGetOperation điều khiển việc có phát sinh hàm Get() hay không Thí dụ khác: GenerateDefaultConstructor Thay thay đổi trực tiếp tập đặc tính ta tạo tập đặc tính 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 Bài - 15 Phát sinh mã trình Bước 5: Chọn lớp, thành phần hay gói Có thể chọn lớp, thành phần hay gói để phát sinh mã trình vào thời điểm khác Phát sinh mã từ biểu đồ hay Browser Có thể phát sinh mã trình cho vài lớp, thành phần hay gói đồng thời Bước 6: Phát sinh mã trình Lựa chọn ngôn ngữ theo yêu cầu để phát sinh mã từ mô hình Bài - 16 Phát sinh mã trình Cái phát sinh từ mô hình? Thực tế Không có công cụ mô hình hóa phát sinh mã trình đầy đủ Rose phát sinh khung chương trình Các phần tử phát sinh Lớp: Mọi lớp mô hình sinh mã Thuộc tính: Mã trình chứa thuộc tính lớp bao gồm phạm vi, kiểu liệu giá trị mặc định, hàm Get(), Set() Signature: Các thao tác khai báo mã trình với danh sách tham số, kiểu liệu tham số kiểu giá trị cho lại thao tác Quan hệ: Một số quan hệ mô hình chuyển sang thuộc tính Thành phần: Mỗi thành phần thực tệp tương ứng Tài liệu: Tài liệu mô hình chèn vào nơi thích ứng mã trình Bài - 17 Phát sinh mã trình Nhiệm vụ người phát triển sau Rose sinh mã trình Thu thập tệp mã trình, viết mã trình cho thao tác lớp Thiếtkếgiao diện đồ họa Thí dụ đoạn mã trình Rose phát sinh #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 } Bài - 18 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; }; Bài - 19 Tóm tắt Bài xem xét vấn đề sau Kiến trúc vật lý hệ thống Xây dựng biểu đồ thành phần Xây dựng biểu đồ triển khai Các thành phầnphần mềm quan hệ chúng Các phần tử đồ họa vẽ biểu đồ thành phần Các phần tử đồ họa vẽ biểu đồ triển khai Các bước chuyển đổi mô hình thành phần mềm Bài - 20 ... mã trình Bài - 17 Phát sinh mã trình Nhiệm vụ người phát triển sau Rose sinh mã trình Thu thập tệp mã trình, viết mã trình cho thao tác lớp Thiết kế giao diện đồ họa Thí dụ đoạn mã trình. .. lý, tiến trình, thiết bị kết nối chúng Mô tả tôpô hệ thống Chỉ toàn nút mạng, kết nối chúng phần mềm chạy chúng Nút đối tượng vật lý có tài nguyên tính toán Máy tính, máy in, thiết bị...Nội dung Tiến trình phát triển phần mềm theo hướng đối tượng Giới thiệu Ngôn ngữ mô hình hóa thống UML Mô hình hóa nghiệp vụ Mô hình hóa trường hợp sử dụng Mô hình hóa tương tác đối tượng Biểu đồ