PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Key.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Chapter 7: Moving on to Design
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
System Design Chapter 8. Objectives  Understand the verification and validation of the analysis models.  Understand the transition from analysis to.
Introduction to Information System Development.
1 Prof. Dr. Nizamettin AYDIN
1 Introduction Chapter 1. 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization.
Moving into Design SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
Chapter 1: Introduction to Systems Analysis and Design
Systems Analysis and Design in a Changing World, 3rd Edition
Moving On To Design Chapter 9. Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is.
Systems Analysis and Design in a Changing World, Fourth Edition
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design.
1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 2: Design Issues and OO Design.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem.
1 Unified Modeling Language, Version 2.0 Chapter 2.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
1 Prof. Dr. Nizamettin AYDIN
Basic Characteristics of Object-Oriented Systems
Systems Analysis & Design David Walkiewicz March 31, 2012.
Systems Analysis and Design in a Changing World, Fifth Edition
Elaboration popo.
GRASP – Designing Objects with Responsibilities
TIM 58 Chapter 7: Moving on to Design
Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Fundamentals of Information Systems, Sixth Edition
TIM 58 More on Chapter 1: Introduction to Systems Analysis and Design
Business System Development
Fundamentals of Information Systems, Sixth Edition
Object-Oriented Analysis and Design
TIM 58: Systems Analysis and Design Winter Quarter 2017 Tuesday/Thursday 1:30 – 3:05 pm, Classroom Unit 1.
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2
Systems Analysis – ITEC 3155 Evaluating Alternatives for Requirements, Environment, and Implementation.
System Design Chapter 8 PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights.
Moving into Design Chapter 8.
Recall The Team Skills Analyzing the Problem (with 5 steps)
Object-Oriented Design
INFS 6225 Object-Oriented Systems Analysis & Design
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Systems analysis and design, 6th edition Dennis, wixom, and roth
University of Houston-Clear Lake
Systems analysis and design, 6th edition Dennis, wixom, and roth
Systems Analysis and Design
Object oriented analysis and design
Starting Design: Logical Architecture and UML Package Diagrams
Design and Implementation
An Introduction to Software Architecture
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Chapter 1: Introduction to Systems Analysis and Design
Systems Analysis and Design
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Chapter 6: Architectural Design
Chapter 1: Introduction to Systems Analysis and Design
Software Development Process Using UML Recap
From Use Cases to Implementation
Logical Architecture & UML Package Diagrams
Presentation transcript:

PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 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ế

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ý September 18 OOD - DEI.FET.HUT

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” September 18 OOD - DEI.FET.HUT

REVISITING THE OBJECT-ORIENTED APPROACH TO ANALYSIS AND DESIGN

OO Analysis and Design Foundation Use-case driven Architecture centric Iterative and incremental September 18 OOD - DEI.FET.HUT

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. September 18 OOD - DEI.FET.HUT

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 September 18 OOD - DEI.FET.HUT

MOOSAD Chapter Steps Deliverable 3 Identifying business value System request Analyze feasibility Feasibility Study 4 Develop workplan Work plan Staff the project Staff plan Control and direct project GANTT Chart 5 Requirements determination Information 6 Functional modeling Function Models 7 Structural modeling Structure Models 8 Behavioral modeling Dynamic Models 9 Moving on to design Factored Models September 18 OOD - DEI.FET.HUT

MOOSAD Chapter Steps Deliverable 10 Class and method design logic design 11 Data management layer design Database design 12 Human computer interaction layer design Interface design 13 Physical architecture layer design Architecture design 14 Construction and verification Completed syst 15 Installation Training plan Operations and support Support plan September 18 OOD - DEI.FET.HUT

EVOLVING THE ANALYSIS MODELS INTO DESIGN MODELS

What's Different? During Analysis During Design Define functional Requirements Ignore non-functional requirements During Design Address both functional and non-functional requirements Refine the analysis by adding the system environment September 18 OOD - DEI.FET.HUT

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" September 18 OOD - DEI.FET.HUT

Factoring Creating modules that account for similarities and differences between units of interest New classes Generalization Aggregation September 18 OOD - DEI.FET.HUT

Factoring Abstraction Refinement Create "higher" level idea from a set of ideas May lead to Abstract or Concrete Classes Refinement Opposite of abstraction Identify additional subclasses September 18 OOD - DEI.FET.HUT

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 September 18 OOD - DEI.FET.HUT

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 September 18 OOD - DEI.FET.HUT

Layers Layers are a way to add the system environment information A Layer represents an element of the software architecture of the new system September 18 OOD - DEI.FET.HUT

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 September 18 OOD - DEI.FET.HUT

Layers Software architecture can be based on the following layers Foundation System Architecture Human-Computer Interaction Data Management Problem Domain September 18 OOD - DEI.FET.HUT

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) September 18 OOD - DEI.FET.HUT

Layers System Architecture Layer How the software will execute on specific computers and networks Communication between SW and OS Communication between SW and HW Classes to interact with middleware Need to address computer/network choices before implementing this layer September 18 OOD - DEI.FET.HUT

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 September 18 OOD - DEI.FET.HUT

Layers Data Management Layer Separates storage from problem domain How objects are stored/retrieved Increases portability Addresses storage format (db, client/server, etc.) storage optimization (clustering, indexing) September 18 OOD - DEI.FET.HUT

Layers Problem Domain Layer What we have focused on so far in this class Previous layers deal with the environment This layer is our actual application September 18 OOD - DEI.FET.HUT

Layers September 18 OOD - DEI.FET.HUT

PACKAGES AND PACKAGE DIAGRAMS

Packages Logical grouping of UML elements Simplifies UML diagrams Groups related elements into a single higher-level element Dependency relationships Shows a dependency between packages September 18 OOD - DEI.FET.HUT

Package A general construct that groups units together A package can contain Collaborations Partitions Layers Used to reduce complexity of models September 18 OOD - DEI.FET.HUT

Package Diagrams A package diagram shows packages only Like a class diagram but shows only packages Packages can have different relationships, depending on what's in them (i.e. classes) September 18 OOD - DEI.FET.HUT

Package Diagrams Also, define a new relationship called a "dependency relationship" September 18 OOD - DEI.FET.HUT

Syntax for Package Diagram A PACKAGE Package A DEPENDENCY RELATIONSHIP September 18 OOD - DEI.FET.HUT

Modification Dependency A change in one package requires a change in another package. Example: A change in one method  Causes a change in the interface for all objects of the class.  Causes change in all classes that send messages to the changed class. September 18 OOD - DEI.FET.HUT

Package Diagram of Dependency Relationships Among Layers September 18 OOD - DEI.FET.HUT

Package Diagram of Appointment System September 18 OOD - DEI.FET.HUT

Steps for Identifying Packages and Building Package Diagrams Set the context Cluster classes together Based on shared relationships Generalization, aggregation, associations, messages sent Model clustered classes as a package Place clusters into partitions and model them as packages Identify dependency relationships among packages Place dependency relationships between packages September 18 OOD - DEI.FET.HUT

Step 1: Set the context VD: mô hình hóa một partition hoặc một Layer. Đối với appointments system chúng ta có thể chọn: context = problem domain (PD) layer September 18 OOD - DEI.FET.HUT

using relationships (generalization, aggregation, kinds of association Step 2: Cluster classes together based on shared relationships, i.e. form partitions using relationships (generalization, aggregation, kinds of association and message passing between objects) shared by classes Examine analysis models Sequence Diagram(s) Class Diagram Classes in a generalization hierarchy put in a single partition Communication Diagram(s) September 18 OOD - DEI.FET.HUT

Step 3: Place clustered classes in partition and model clustered classes as a package, i.e. model partitions as packages September 18 OOD - DEI.FET.HUT

a) association relationship between Person Pkg and Appt. Pkg via Step 4: Identify dependency relationships between packages, i.e. relationships that cross boundaries of packages = potential dependencies a) association relationship between Person Pkg and Appt. Pkg via Association between Doctor class and Appt. class and Patient Pkg contained in Person Pkg b) Appt. pkg via association between Patient and Appt classes and Treatment Pkg via association between Patient and Symptom classes September 18 OOD - DEI.FET.HUT

Step 5: Place dependency relationships between packages, i. e Step 5: Place dependency relationships between packages, i.e. between Person Package and Appt. Package, Person Package and Treatment Package PD Layer Person Package Appt. Package Patient Package Treatment Package September 18 OOD - DEI.FET.HUT

DESIGN STRATEGIES

Design Strategies We have assumed that the project team would actually build the new system This isn't necessarily the case There are three options: Develop custom application in-house Buy a package off the shelf and customize it if necessary Outsource development to external vendor September 18 OOD - DEI.FET.HUT

Custom Development Gives project team complete control Allows for meeting highly specialized requirements Allows flexibility and creativity in solving problems Easier to change components Builds personnel skills May tax firm’s resources May add significant risk September 18 OOD - DEI.FET.HUT

Packaged Software Software already written May be more efficient May be more thoroughly tested and proven May range from components to tools to whole enterprise systems Must accept functionality provided May require change in how the firm does business (technology drives the business!) May require significant “customization” or “workarounds” September 18 OOD - DEI.FET.HUT

System Integration Combining packages, legacy systems, and new software Key challenge is integrating data Write data in the same format Revise existing data formats Develop “object wrappers” September 18 OOD - DEI.FET.HUT

Outsourcing Requires little in-house experience Gives you access to greater resources and experience May reduce development duration Could compromise sensitive info Understand the requirements. Never outsource what you don’t understand September 18 OOD - DEI.FET.HUT

Outsourcing Carefully choose vendor Prepare contract and payment style carefully Time and Materials Fixed Price Value Added September 18 OOD - DEI.FET.HUT

Selecting a Design Strategy Business need In-house experience Project skills Project management Time frame September 18 OOD - DEI.FET.HUT

Selecting a Design Strategy Custom Development Packaged System Outsourcing Business Need Business need is unique Business need is common Business is not core In-house experience Functional and tech experience exists Functional exp exists Neither Functional nor tech. exp exists Project Skills Want to build in-house skills Skills not strategic Strategic decision to outsource Project Mgmt Skilled mgr w/ methodology Mgr to coordinate vendors Mgr at same level as vendor Time Frame Flexible Short Short or Flexible September 18 OOD - DEI.FET.HUT

DEVELOPING THE ACTUAL DESIGN

The Alternative matrix Combines several feasibility analyses into one grid Revisits technical, economic, and organizational feasibility September 18 OOD - DEI.FET.HUT

Request for Proposals Description of the system you propose to be built Vendors, developers, service providers respond with proposals including how they will address needs as well as stating cost and time requirements. September 18 OOD - DEI.FET.HUT

Summary When evolving analysis into design models, it is important to review the analysis models then add system environment information. Packages and package diagrams help provide structure and less complex views of the new system. Custom building, packages, and outsourcing are alternative ways of creating the new system. The alternative matrix can help with the selection of a design strategy. September 18 OOD - DEI.FET.HUT