Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
93,31 KB
Nội dung
Trường Đại Học Bách Khoa Tp. Hồ Chí Minh Khoa Công Nghệ Thông Tin -Trang 138- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển Chương 6 CƠSỞCỦATHIẾTKẾPHẦNMỀMVÀPHƯƠNGPHÁPTHIẾTKẾCỔĐIỂN ✦ ✦✦ ✦ Trừu tượng hoá, tinh chế, kiến trúc ✦ ✦✦ ✦ Phân chia module hiệu quả ✦ ✦✦ ✦ Thiếtkế dữ liệu, kiến trúc, thủ tục, giao diện NỘI DUNG 6.1. Các cơsởcủathiếtkếphầnmềm 6.1.1. Trừu tượng hoá (abstraction) 6.1.2. Tinh chế (refirement) 6.1.3. Phân chia module (modularity) 6.1.4. Kiến trúc phầnmềm 6.1.5. Cấu trúc dữ liệu 6.1.6. Thủ tục 6.1.7. Che dấu thông tin -Trang 139- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển NỘI DUNG (t.t) 6.2. Phân chia module hiệu quả 6.2.1. Độ kết dính (cohesion) 6.2.2. Sự liên kết (coupling) 6.2.3. Các heuristics cho phân chia module 6.3. Thiếtkế dữ liệu 6.4. Thiếtkế kiến trúc 6.4.1. Dòng transform và dòng transaction 6.4.2. nh xạ dòng transform 6.4.3. nh xạ dòng transaction 6.5. Thiếtkế giao diện người dùng 6.6. Thiếtkế thủ tục -Trang 140- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển GIỚI THIỆU Thiếtkếphầnmềm là công việc đầu tiên của giai đoạn phát triển Thiếtkế tạo ra các biểu diễnvà dữ kiện của hệ thống phầnmềm cần xây dựng từ kết quả phân tích yêu cầu để có thể dễ dàng hiện thực sau đó Là lónh vực tương đối mới mẻ và đang phát triển với nhiều phươngpháp khác nhau -Trang 141- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển TRỪU TƯNG HOÁ Quá trình thiếtkế trải qua nhiều mức trừu tượng hoá khác nhau Mức cao nhất: vấn đề cần thiếtkế được mô tả một cách tổng quát sử dụng thuật ngữ hướng vấn đề Các mức thấp hơn: hướng đến thủ tục xử lý chi tiết; kết hợp các thuật ngữ hướng đến hiện thực Mức thấp nhất: vấn đề được mô tả theo cách có thể hiện thực trực tiếp Phân loại trừu tượng hoá: thủ tục và dữ liệu -Trang 142- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển TRỪU TƯNG HOÁ (t.t) Trừu tượng hoá thủ tục Là chuỗi các lệnh liên tiếp thực hiện chức năng nào đó. Ví dụ: mở cửa (bao gồm đi đến cửa, cầm lấy tay nắm, xoay tay nắm, kéo cánh cửa, đi vào…); thêm một phần tử vào danh sách có thứ tự (xác đònh vò trí, chèn phần tử mới) Trừu tượng hoá dữ liệu Là tổ hợp dữ liệu mô tả một đối tượng dữ liệu (liên hệ tới đối tượng thực thể trong UML). Ví dụ: hàng, chồng, cánh cửa . Một số ngôn ngữ lập trình hỗ trợ kiểu ADT và template -Trang 143- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển TINH CHẾ Tinh chế là quá trình làm rõ vấn đề Tinh chế và trừu tượng hoá là hai khái niệm bù trừ nhau: càng tinh chế thì càng hạ thấp mức trừu tượng hoá -Trang 144- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: CơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiểnPHÂN CHIA MODULE Khái niệm module đã xuất hiện khoảng 4 thập niên trờ lại đây Phầnmềm được xây dựng bằng cách phân chia thành nhiều module, sau đó sẽ được tích hợp lại Phân chia module làm cho việc quản lý phầnmềm khoa học hơn Giả sử C(x): độ phức tạp của x, E(x): công sức để thực hiện x. Rõ ràng: nếu C(p1) > C(p2) thì E(p1) > E(p2). Nếu phân chia p = p1 + p2 ta thấy (một cách trực quan): C(p1 + p2) > C(p1) + C(p2) E(p1 + p2) > E(p1) + E(p2) -Trang 145- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: CơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiểnPHÂN CHIA MODULE (t.t) Số lượng module phụ thuộc vào độ phức tạp của hệ thống phầnmềm cần xây dựng quá ít hoặc quá nhiều module đều không tốt Số lượng module Công sức bỏ ra Công sức từng module Công sức tích hợp Tổng công sức Vùng tối ưu -Trang 146- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển KIẾN TRÚC PHẦNMỀM Kiến trúc phầnmềm mô tả các thành phần (component) kiến tạo nên hệ thống phầnmềmvà sự giao tiếp giữa các thành phần đó Thành phầncó thể là Các module mã nguồn Các file thực thi (*.dll, *.exe, *.class .) Các thành phầncủa kiến trúc hệ thống: ActiveX control, bean . Các trang HTML, *.asp, *.jsp . -Trang 147- Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm - Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển [...]... Nghệ PhầnMềm Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển SỰ LIÊN KẾT Sự liên kết dùng để đo đạc quá trình giao tiếp giữa các module: giao tiếp của module chứa nhiều tác vụ và nhiều thông số gọi thì sự liên kết càng cao Thiếtkế kiến trúc phần mềm: cố gắng giảm sự liên kết - Trang 155 Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm Chương 6: Cơsởcủathiếtkếphầnmềmvà phương. .. PhầnMềm Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển DÒNG TRANSFORM VÀ TRANSACTION Dòng đi ra Dòng đi vào Dòng xử lý Dòng transform bao gồm 3 phần: dòng đi vào, dòng xử lý và dòng đi ra - Trang 161 Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển DÒNG TRANSFORM VÀ TRANSACTION (t.t) Dòng đi vào Dòng transaction... Nghệ PhầnMềm Chương 6: CơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiểnTHIẾTKẾ DỮ LIỆU Tìm kiếm biểu diễn luận lý cho các phần tử dữ liệu đã được nhận diện trong giai đoạn phân tích yêu cầu Thiếtkế các cấu trúc dữ liệu của chương trình vàcơsở dữ liệu Thực hiện tinh chế từng bước - Trang 158 Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm Chương 6: Cơsởcủathiếtkếphầnmềmvà phương. .. Công Nghệ PhầnMềm Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển TỔNG KẾT Các cơsởcủathiếtkếphần mềm: trừu tượng hoá, tính chế từng bước, phân chia module, cấu trúc dữ liệu, chương trình con, che dấu thông tin Phân chia module hiệu quả: tăng độ kết dính và giảm sự liên kết Thiếtkếcổđiển bao gồm 4 công đoạn: t/k dữ liệu, t/k kiến trúc, t/k giao diện người máy và t/k thủ... đi vào, Tcenter và các đường xử T-center lý đầu ra T-center: Chỉ có một đường ra được kích hoạt tại một thời điểm - Trang 162 Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển ÁNH XẠ DÒNG TRANSFORM Tự đọc [1], trang 377 - Trang 163 Khoa Công Nghệ Thông Tin - Môn Công Nghệ PhầnMềm Chương 6: Cơsởcủathiếtkế phần mềm và phương pháp. .. vàphươngphápthiếtkếcổđiển ÁNH XẠ DÒNG TRANSACTION Tự đọc [1], trang 387 - Trang 164 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm Chương 6: Cơsởcủathiếtkế phần mềm và phươngphápthiếtkếcổđiểnTHIẾTKẾ GIAO DIỆN NGƯỜI DÙNG Phần mềm cần có giao diện thân thiện với người sử dụng Một số tiêu chuẩn giao diện Thời gian đáp ứng của hệ thống: giá trò trung bình và độ lệch Phương tiện trợ... lỗi và cách khắc phục Đặt tên nhãn: ngắn gọn và gợi nhớ - Trang 165 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm Chương 6: CơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiểnTHIẾTKẾ GIAO DIỆN NGƯỜI DÙNG (t.t) Công cụ thiếtkế giao diện nên có những tính năng sau Quản lý thiết bò nhập (bàn phím, chuột) Hiệu chỉnh thông tin input Kiểm soát lỗi và hiển thò thông báo lỗi Cung cấp trợ giúp và. .. Tin - Môn Công Nghệ PhầnMềm Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển NGÔN NGỮ PDL Ngôn ngữ PDL vay mượn từ vựng của ngôn ngữ tự nhiên và cú phápcủa ngôn ngữ lập trình có cấu trúc Nó có các tính chất sau: Cú pháp chặt chẽ của các từ khoá hỗ trợ đặc tả cấu trúc, khai báo dữ liệu, phân chia module Cú pháp tự do của ngôn ngữ tự nhiên giúp miêu tả xử lý Phương tiện mô tả dữ... Nghệ PhầnMềm Chương 6: CơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiểnTHIẾTKẾ KIẾN TRÚC Mục tiêu là xây dựng sơ đồ phân cấp module từ DFD Đặt nền móng để thiếtkế chi tiết thủ tục và dữ liệu Phân biệt dòng transform và dòng transaction trong DFD Thực hiện ánh xạ cho từng vùng của DFD tuỳ theo nó là dòng transform hay transaction - Trang 160 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm. .. Nghệ Thông Tin - Môn Công Nghệ PhầnMềm Chương 6: Cơsởcủathiếtkếphầnmềmvàphươngphápthiếtkếcổđiển CÁC HEURISTICS cho PHÂN CHIA MODULE Sửa lại thiếtkế ban đầu để tăng độ kết dính và giảm sự liên kết Khi chiều sâu tăng, hạn chế fan-out trong khi sử dụng fan-in Giữ cho tầm ảnh hưởng của một module nằm bên trong tầm điều khiển của nó Loại bỏ dư thừa trong giao tiếp của các module Ưu tiên các module . Nghệ Phần Mềm - Chương 6: Cơ sở của thiết kế phần mềm và phương pháp thiết kế cổ điển Chương 6 CƠ SỞ CỦA THIẾT KẾ PHẦN MỀM VÀ PHƯƠNG PHÁP THIẾT KẾ CỔ ĐIỂN. Công Nghệ Phần Mềm - Chương 6: Cơ sở của thiết kế phần mềm và phương pháp thiết kế cổ điển KIẾN TRÚC PHẦN MỀM Kiến trúc phần mềm mô tả các thành phần (component)