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

Chương 5: Thiết kế kiến trúc Architecture Design

Chia sẻ: Trần Công Chính | Ngày: | Loại File: PPT | Số trang:93

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

SRS cho biết hệ thống làm gì (what) và trở thành đầu vào cho quá trình thiết kế. Thiết kế dùng để chỉ ra hệ thống sẽ làm như thế nào (how), các yêu cầu sẽ được hiện thực hóa (realize) ra sao? Điều quan trọng nhất trong thiết kế là quality Kết quả của quá trình thiết kế là Software Design Document (SDD).

Chủ đề:
Lưu

Nội dung Text: Chương 5: Thiết kế kiến trúc Architecture Design

  1. Chương 5: Thiết kế kiến trúc Architecture Design 1 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  2. Nội dung • Một số khái niệm • Thiết kế kiến trúc – Lược đồ ngữ cảnh kiến trúc (ACD) – Ánh xạ DFD thành kiến trúc phần mềm 2 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  3. Chuyên đôi từ mô hinh phân tich sang ̉ ̉ ̀ ́ thiêt kế ́ 3 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  4. Thiết kế là gì? • SRS cho biết hệ thống làm gì (what) và trở thành đầu vào cho quá trình thiết kế. • Thiết kế dùng để chỉ ra hệ thống sẽ làm như thế nào (how), các yêu cầu sẽ được hiện thực hóa (realize) ra sao? • Điêu quan trong nhât trong thiêt kế là quality ̀ ̣ ́ ́ • Kết quả của quá trình thiết kế là Software Design Document (SDD). 4 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  5. Thiết kế phần mềm • Thiết kế phần mềm là quá trình lặp thông qua đó các yêu cầu hệ thống sẽ được chuyển đổi thành “blueprint” (bản thiết kế chi tiết) của phần mềm. • Thiết kế bao gồm hai phần: – Thiết kế ý niệm (conceptual design) nhằm nói cho khách hàng biết chính xác hệ thống sẽ làm gì – Thiết kế kỹ thuật (technical design) cho phép các nhà xây dựng hệ thống biết cách vận dụng phần cứng và phần mềm như thế nào để giải quyết bài toán của khách hàng. • Cả hai thiêt kế đêu mô tả cung 1 hệ thông nhưng theo những ́ ̀ ̀ ́ ́ ́ cach khac nhau. 5 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  6. Thiêt kế ý niêm ́ ̣ (Conceptual Design) • Mô tả hệ thông băng ngôn ngữ mà khach hang có thể hiêu ́ ̀ ́ ̀ ̉ • Trả lời cho cac câu hoi sau: ́ ̉ 1. Where will the data come from? 2. What will happen to the data in the system? 3. How willl the system look to users? 4. What choices will be offered to users? 5. What is the timing of events? 6. How will the reports and screens look like? 6 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  7. Các mô hình thiết kế ý niêm ̣ • Bốn mô hình thiết kế: – Thiết kế dữ liệu (Data design) – Thiết kế kiến trúc (Achitectural Design) – Thiết kế giao diện (Interface Design) – Thiết kế thành phần (Component Design) 7 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  8. Thiêt kế kỹ thuât ́ ̣ (Technical Design) • Mô tả câu hinh phân cứng, nhu câu phân mêm, giao diên, ngõ ́ ̀ ̀ ̀ ̀ ̀ ̣ vao và ra cua hệ thông, kiên truc mang. ̀ ̉ ́ ́ ́ ̣ 8 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  9. Yêu câu cua thiêt kế ̀ ̉ ́ • The design must implement all of the explicit requirements contained in the analysis model, and it must accommodate all of the implicit requirements desired by the customer. • The design must be a readable, understandable guide for those who generate code and for those who test and subsequently support the software. • The design should provide a complete picture of the software, addressing the data, functional, and behavioral domains from an implementation perspective. 9 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  10. Nguyên tăc thiêt kế ́ ́ • Thiêt kế phai thể hiên được kiên truc (architectural structure) ́ ̉ ̣ ́ ́ mà kiên truc nay: ́ ́ ̀ – Được tao ra băng cach sử dung cac mâu thiêt kế (design ̣ ̀ ́ ̣ ́ ̃ ́ pattern) đã được công nhân ̣ – Gôm nhiêu thanh phân (components) kêt hợp nhau ̀ ̀ ̀ ̀ ́ – Có thể được thực thi theo cach có thể cai tiên được, thuân ́ ̉ ́ ̣ tiên trong thực thi và kiêm thử ̣ ̉ 10 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  11. Nguyên tăc thiêt kế ́ ́ 1. The design process should not suffer from “tunnel vision.” 2. The design should be traceable to the analysis model. Because a single element of the design model often traces to multiple requirements, it is necessary to have a means for tracking how requirements have been satisfied by the design model. 3. The design should not reinvent the wheel. 4. The design should “minimize the intellectual distance” between the software and the problem as it exists in the real world. 11 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  12. Nguyên tăc thiêt kế ́ ́ 5. The design should exhibit uniformity and integration. 6. The design should be structured to accommodate change. 7. The design should be structured to degrade gently, even when aberrant data, events, or operating conditions are encountered. 8. Design is not coding, coding is not design. 9. The design should be assessed for quality as it is being created, not after the fact. 10. The design should be reviewed to minimize conceptual (semantic) errors. 12 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  13. Cac khai niêm thiêt kế ́ ́ ̣ ́ • Abstraction • Refinement • Information hiding • Assignment 10 13 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  14. Modular system • Modularity dung để chỉ viêc 1 hệ thông có thể được phân nhỏ ̀ ̣ ́ thanh cac thanh phân khac riêng biêt, và khi tich hợp lai thì đap ̀ ́ ̀ ̀ ́ ̣ ́ ̣ ́ ứng được cac yêu câu cua hệ thông. ́ ̀ ̉ ́ • Cac thanh phân nay được goi là module ́ ̀ ̀ ̀ ̣ • Phân mêm là 1 tâp cac module tương tac lân nhau. ̀ ̀ ̣ ́ ́̃ 14 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  15. Đôc lâp chức năng ̣̣ (Functional Independence) • Đôc lâp chức năng là kêt quả tât yêu cua viêc module hoa kêt ̣̣ ́ ́́ ̉ ̣ ́ ́ hợp với cac khai niêm abstraction và information hiding. ́ ́ ̣ • Được thực thi băng cach phat triên cac modules với chức năng ̀ ́ ́ ̉ ́ "single-minded“ (môt muc tiêu) và "aversion" (không thich) ̣ ̣ ́ tương tac quá mức với cac module khac. ́ ́ ́ 15 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  16. Ưu điêm cua module đôc lâp ̉ ̉ ̣̣ • Dễ phat triên hơn, vì chức năng có thể phân chia nhỏ hơn và ́ ̉ giao diên đơn gian hơn. ̣ ̉ • Dễ bao trì và kiêm thử hơn, tranh được cac hiêu quả thứ câp ̉ ̉ ́ ́ ̣ ́ do chinh sửa mã hay thiêt kê. ̉ ́́ • Functional independence is a key to good design, and design is the key to software quality. • Đôc lâp được đo lường băng 2 tiêu chuân đinh tinh: cohesion ̣̣ ̀ ̉ ̣ ́ và coupling. 16 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  17. Coupling là gì? • Coupling (or dependency) is the degree to which each program module relies on each one of the other modules. • Low coupling is often a sign of a well-structured computer system and a good design. • Một phần tử có coupling thấp (low coupling) nghĩa là nó không phụ thuộc nhiêu vào các phần tử khác. ̀ ABC BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 17
  18. Coupling là gì? • Một lớp có coupling cao sẽ phụ thuộc vào nhiều lớp khác. • Các lớp này là không nên dùng vì: – Những thay đổi trong các lớp có liên quan sẽ làm cho lớp nay cũng bị thay đổi theo ̀ – Khó hiểu khi chúng bị cô lập – Khó dùng lại vì nó đòi hỏi sự hiện diện cua 1 số lớp mà nó ̉ phụ thuộc vào ABC BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 18
  19. Coupling giữa cac module ́ • Hai module có coupling cao khi có môi quan hệ chăt với nhau ́ ̣ • Hai module có coupling thâp khi không phụ thuôc vao nhau. ́ ̣ ̀ Uncoupled Loosely coupled Highly coupled 19 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
  20. Tight and Loose Coupling Tight coupling Loose coupling Edit Student Edit Student record record Name Student Student Student ID Record Student ID Record Address EOF EOF Course Retrieve Retrieve Student record Student record 20 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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