Trang 1
goupee.vn TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI goupee.com KHOA ĐIỆN TỬ VIỄN THÔNG PHÂN TÍCH THIẾT KẾ HƢỚNG ĐỐI TƢỢNG CHƢƠNG 4. Thiết kế Bộ môn Điện tử tin học fb.com/goupee.vn04/2007 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI goupee.com KHOA ĐIỆN TỬ VIỄN THÔNG PHÂN TÍCH THIẾT KẾ HƢỚNG ĐỐI TƢỢNG CHƢƠNG 4. Thiết kế Bộ môn Điện tử tin học fb.com/goupee.vn04/2007 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Chƣơng 4. Thiết kế 4.1. Chuẩn bị thiết kế 4.2. Thiết kế lớp và phƣơng thức 4.3. Thiết kế lớp quản lý dữ liệu 4.4. Thiết kế giao diện giao tiếp ngƣời-máy 4.5. Thiết kế kiến trúc vật lý fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com 4.1. Moving on Design The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is to figure out how to provide it. The steps in both analysis and design phases are highly interrelated and may require much “going back and forth” fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com REVISITING THE OBJECT- ORIENTED APPROACH TO ANALYSIS AND DESIGN fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com OO Analysis and Design Foundation Use-case driven Architecture centric Iterative and incremental fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Combining Three Views of a System Functional View External behavior of the system From perspective of the user Static View Structure of the system Classes, attributes, methods, etc. Dynamic Internal behavior Message passing, state changes, etc. fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com A “Minimalist” Approach Planning Gathering requirements Perform a series of “builds” Analysis, Design, Implementation Use results of each build as feedback for design and implementation fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com EVOLVING THE ANALYSIS MODELS INTO DESIGN MODELS fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com What's Different? During Analysis Define functional Requirements Ignore non-functional requirements During Design Address both functional and non-functional requirements Refine the analysis by adding the system environment fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Avoid Classic Design Mistakes Reducing design time Use timeboxing Feature creep Only make vital changes, postpone others Make sure users know impact Silver bullet syndrome If a tool seem too good to be true… Switching tools in mid-project Just say "No" fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Factoring Creating modules that account for similarities and differences between units of interest New classes Generalization Aggregation fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Factoring Abstraction Create "higher" level idea from a set of ideas May lead to Abstract or Concrete Classes Refinement Opposite of abstraction Identify additional subclasses fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Partitions and Collaborations A partition is an Object Oriented equivalent of a subsystem Used to reduce the amount of detail that needs to be absorbed at one time Group units that collaborate into a partition Look at collaboration diagrams of Ch. 8 The more messages or Client / Server contracts between objects, the more likely they are in the same partition fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Purpose of Layers Model-view-controller (MVC) architecture Models implement application logic Views and controllers do user interfaces Separating application logic from user interface logic fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Layers Layers are a way to add the system environment information A Layer represents an element of the software architecture of the new system fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Layers There is a layer for each different element in the system environment System Architecture User Interface Data Management Layers separate application logic from user interface logic fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Layers Software architecture can be based on the following layers Foundation System Architecture Human-Computer Interaction Data Management Problem Domain fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Layers Foundation Layer Contains basic classes needed for any application Fundamental data types (integers, floating points, strings, Booleans, etc) Fundamental data structures (lists, stacks, sets, trees, etc.) Useful abstract classes (date, time, money, mathematics) fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Layers System Architecture Layer How the software will execute on specific computers and networks Communication between SW and OS Communication between SW and NW Classes to interact with middleware Need to address computer/network choices before implementing this layer fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Layers Human-Comp. Interaction Layer Separates UI from problem domain Buttons, windows, scroll bars, etc. Makes SW more portable Need to address UI consistency, user experience, help systems, types of input/output elements fb.com/goupee.vn October 20 OOD - DEI.FET.HUT 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hiển thị 20 trang đầu. Tải tài liệu để xem đầy đủ.
Chưa có bình luận nào. Hãy là người đầu tiên!
Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!