systems analysis and design with uml version 2.0, second ...miftakulamin.polsri.ac.id/adbo/ch09...

Post on 02-May-2020

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Systems Analysis and Systems Analysis and Systems Analysis and Systems Analysis and Design with UML Version Design with UML Version 2.0, Second Edition2.0, Second Edition

Alan Dennis, Barbara Wixom, and David Tegardenega de

Chapter 9: Moving on to Design

John Wiley & Sons, Inc.Copyright 2005Slide 1

Copyright 2005

Copyright © 2005J h Wil & S IJohn Wiley & Sons, Inc.

All rights reserved. Reproduction or translation of this All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without the express written permission of the copyright owner is unlawful. p py gRequest for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own The purchaser may make back up copies for his/her own use only and not for redistribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages, caused by the use of these omissions, or damages, caused by the use of these programs or from the use of the information contained herein.

Slide 2

Moving On To Design

Chapter 9

Slide 3

K IdKey Ideas

The purpose of the analysis phase is The purpose of the analysis phase is to figure out what the business needs The purpose of the design needs. The purpose of the design phase is to figure out how to provide itprovide it.The steps in both analysis and d i h hi hl design phases are highly interrelated and may require much “ i b k d f th”Slide 4

“going back and forth”

Obj tiObjectives■ Understand the transition from ■ Understand the transition from

analysis to design.■ Understand the use of factoring, g,

partitions, and layers.■ Be able to create package diagrams.■ Be familiar with the custom,

packaged, and outsource design alternativesalternatives.

■ Be able to create an alternative matrix.Slide 5

matrix.

REVISITING THE OBJECT-ORIENTED APPROACH TO ORIENTED APPROACH TO ANALYSIS AND DESIGN

Slide 6

OO Analysis and Design F d tiFoundation

Use case drivenUse-case drivenArchitecture centricIterative and incremental

Slide 7

C bi i Th ViCombining Three Views

FunctionalFunctionalStaticDynamic

Slide 8

A “Mi i li t” A hA “Minimalist” Approach

PlanningPlanningGathering requirementsPerform a series of “builds”Use results of each build as Use results of each build as feedback for design and implementation

Slide 9

EVOLVING THE ANALYSIS MODELS INTO DESIGN MODELS INTO DESIGN MODELS

Slide 10

Avoid Classic Design Mi t kMistakes

Reducing design timeReducing design timeFeature creepSilver bullet syndromeSwitching tools in mid projectSwitching tools in mid-project

Slide 11

F t iFactoring

Creating modules that account for Creating modules that account for similarities and differences between units of interestunits of interestNew classes

GeneralizationAggregationgg g

AbstractingRefinementSlide 12

Refinement

P i i d C ll b iPartitions and Collaborations

Creating “subsystems” or larger Creating subsystems or larger unitsG i it th t ll b tGrouping units that collaborateMay have collaboration among units or partitionsThe more messages or contracts gbetween objects, the more likely they are in the same partition

Slide 13

y p

P f LPurpose of Layers

Model view controller (MVC) Model-view-controller (MVC) architecture

Models implement application logicViews and controllers do user interfaces

Separating application logic from Separating application logic from user interface logic

Slide 14

LLayers

Slide 15

PACKAGES AND PACKAGE PACKAGES AND PACKAGE DIAGRAMS

Slide 16

P k Packages

Logical grouping of UML elementsLogical grouping of UML elementsSimplifies UML diagrams

Groups related elements into a single higher-level elementsingle higher level element

Dependency relationshipsSh d d b t Shows a dependency between packages

Slide 17

Syntax for Package DiDiagram

A PACKAGE Package

A DEPENDENCY RELATIONSHIPA DEPENDENCY RELATIONSHIP

Slide 18

Package Diagram of Dependency Relationships Among Layers

Slide 19

M difi ti D dModification Dependency

Indicates that a change in one package Indicates that a change in one package could cause a change to be required in another package.p gExample:

A change in one method will cause the A change in one method will cause the interface for all objects of this class to change. Therefore, all classes that have objects that send messages to the instances of the modified class

ld h t b difi dSlide 20

could have to be modified.

Package Diagram of A i SAppointment System

Slide 21

Steps for Identifying Packages and Building Package Diagrams

Set the contextSet the contextCluster classes together based on shared relationshipsrelationshipsModel clustered classes as a packageIdentify dependency relationships among Identify dependency relationships among packagesPlace dependency relationships between Place dependency relationships between packages

Slide 22

Package Diagram of the PD Layer for the Appointment System

Slide 23

Slide 24

Slide 25

DESIGN STRATEGIES

Slide 26

C t D l tCustom Development

Allows for meeting highly Allows for meeting highly specialized requirementsAll fl ibilit d ti it i Allows flexibility and creativity in solving problemsEasier to change componentsBuilds personnel skillspMay tax firm’s resourcesMay add significant riskSlide 27

May add significant risk

P k d S ftPackaged SoftwareSoftware already writtenSoftware already writtenMay be more efficientMay be more thoroughly tested and proveny g y pMay range from components to tools to whole enterprise systems

f l d dMust accept functionality providedMay require change in how the firm does businessbusinessMay require significant “customization” or “workarounds”

Slide 28

S t I t tiSystem Integration

The process of combining packages The process of combining packages, legacy systems, and new softwareK h ll i i t ti d tKey challenge is integrating dataWrite data in the same formatRevise existing data formatsDevelop “object wrappers”Develop object wrappers

Slide 29

O t iOutsourcing

Hire external firm to create systemHire external firm to create systemMay have more skillsMay extend existing resourcesNever outsource what you don’t yunderstandCarefully choose vendorCarefully choose vendorPrepare contract and payment style carefullySlide 30

carefully

O t i G id liOutsourcing GuidelinesKeep lines of communication open with Keep lines of communication open with outsourcerDefine and stabilize requirements before signing a contractsigning a contractView outsourcing relationship as partnershipSelect outsource vender carefullyAssign person to manage relationshipDon’t outsource what you don’t understandEmphasize flexible requirements long-term Emphasize flexible requirements, long term relationships, and short-term contracts

Slide 31

Selecting a Design St tStrategy

Business needBusiness needIn-house experienceProject skillsProject managementProject managementTime frame

Slide 32

Y TYour Turn

Suppose that your university is Suppose that your university is interested in creating a new course registration system that can support registration system that can support Web-based registration?Wh t h ld th i it id What should the university consider when determining whether to invest i t k d in a custom, packaged, or outsourcing system solution?

Slide 33

DEVELOPING THE ACTUAL DEVELOPING THE ACTUAL DESIGN

Slide 34

Th Alt ti t iThe Alternative matrix

Combines several feasibility Combines several feasibility analyses into one gridRevisits technical, economic, and organizational feasibilityand organizational feasibility

Slide 35

R t f P lRequest for Proposals

Description of the system you Description of the system you propose to be builtVendors, developers, service providers respond with providers respond with proposals including how they will address needs as well as will address needs as well as stating cost and time eq i ements

Slide 36

requirements.

Slide 37

SSummaryWhen evolving analysis into design When evolving analysis into design models, it is important to review the analysis models then add system environment informationenvironment information.Packages and package diagrams help provide structure and less complex views f th tof the new system.

Custom building, packages, and outsourcing are alternative ways of outsou c g a e a te at e ays ocreating the new system.The alternative matrix can help with the selection of a design strategySlide 38

selection of a design strategy.

E di th D iExpanding the Domain

Smalltalk is an object oriented Smalltalk is an object-oriented programming language with

l l dhmany very loyal adherents. For more information check the site at:http://www smalltalk org/mainhttp://www.smalltalk.org/main.html

Slide 39

top related