Phân tích thiết kế hướng đối tượng - Chương 4.1 (HUST) GV.Phạm Ngọc Nam

LI
lienhejb
0 次下载
46
0

资料内容

第 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

第 2 页

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

第 3 页

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

第 4 页

goupee.vn goupee.com REVISITING THE OBJECT- ORIENTED APPROACH TO ANALYSIS AND DESIGN fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 5 页

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

第 6 页

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

第 7 页

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

第 8 页

goupee.vn goupee.com EVOLVING THE ANALYSIS MODELS INTO DESIGN MODELS fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

第 9 页

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

第 10 页

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

第 11 页

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

第 12 页

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

第 13 页

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

第 14 页

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

第 15 页

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

第 16 页

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

第 17 页

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

第 18 页

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

第 19 页

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

第 20 页

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

显示前 20 页。下载资料查看完整内容。

评论 (0)

登录 以加入讨论

暂无评论。快来抢沙发吧!