Essentials of Systems Analysis and Design Fourth Edition Joseph S Valacich Joey F George Jeffrey A Hoffer Appendix A ObjectOriented Analysis and Design A1 Learning Objectives Key terms ID: 753282
Download Presentation The PPT/PDF document "Copyright © 2009 Pearson Education, Inc..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
Essentials ofSystems Analysis and DesignFourth EditionJoseph S. ValacichJoey F. GeorgeJeffrey A. Hoffer
Appendix AObject-Oriented Analysis and Design
A.1Slide2
Learning Objectives
Key termsAssociationClass diagramEvent
ObjectObject classOperationSequence diagram
State
State transition
Unified Modeling Language (UML)Use case
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.2Slide3
Learning Objectives (continued)
Discuss the concepts and principles underlying the object-oriented approachLearn to develop requirements models using use-case diagramsLearn to use class diagrams to develop object models of the problem domain
Learn to develop requirements models using state and sequence diagramsCopyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
3Slide4
The Object-Oriented Modeling Approach
BenefitsThe ability to tackle more challenging problem domainsImproved communication among users, analysts, designers, and programmers
Reusability of analysis, design, and programming resultsIncreased consistency among the models developed during object-oriented analysis, design, and programming
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
4Slide5
Key difference with Procedural Systems Analysis
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
Structured programmingfunction Open () lines of
codes;
function lock () lines of codes; function Close () lines of codes;
Procedure: Door Knob
Call
function Open ()
Call function lock ()
Call function Close ()
Procedure: Car Knob
Call
function Open ()
Call function lock ()
Call function Close ()
Object oriented programming
Class Knobs
Object: Door Knobs
Function Door. Open()
Lines of Codes; Function Door. Lock() Lines of Codes; Function Door. Close() Lines of Codes; Object: Car Knobs Function Car. Open() Lines of Codes; Function Car. Lock() Lines of Codes; Function Car. Close() Lines of Codes;
Object Oriented
:
Better modeling of reality
How?
At what Cost ?
Advantages?Slide6
The Object-Oriented Modeling Approach (continued)
Object-Oriented Systems Development Life CycleProcess of progressively developing representation of a system component (or object) through the phases of analysis, design, and implementationThe model is abstract in the early stages
As the model evolves, it becomes more and more detailedCopyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
6Slide7
The Object-Oriented Systems Development Life Cycle
Analysis PhaseModel of the real-world application is developed showing its important propertiesModel specifies the functional behavior of the system independent of implementation detailsDesign PhaseAnalysis model is refined and adapted to the environment
Implementation PhaseDesign is implemented using a programming language or database management systemCopyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
7Slide8
The Object-Oriented Systems Development Life Cycle (continued)
Unified Modeling Language (UML)A notation that allows the modeler to specify, visualize and construct the artifacts of software systems, as well as business modelsTechniques and notationsUse casesClass diagramsState diagramsSequence diagrams
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
8Slide9
Use-Case Modeling
Applied to analyze functional requirements of the systemPerformed during the analysis phase to help developers understand functional requirements of the system without regard for implementation detailsUse CaseA complete sequence of related actions initiated by an actorActor
An external entity that interacts with the systemVery Similar to DFDs. Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
9Slide10
Use-Case Modeling
Use cases represent complete functionality of the systemUse cases may participate in relationships with other use casesUse cases may also use other use casesCopyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
10Slide11
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.11
Similar to DFDsSlide12
Object Modeling:
Class DiagramsObjectAn entity that has a well-defined role in the application domain, and has state, behavior, and identity. Objects are instantiations of class.StateA condition that encompasses an object’s properties and the values those properties have
BehaviorA manner that represents how an object acts and reactsObject ClassA set of objects that share a common structure and a common behavior
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
12Slide13
Object Modeling:
Class Diagrams (continued)Class DiagramClass is represented as a rectangle with three compartmentsObjects can participate in relationships with objects of the same class
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
13Slide14
Object
Modeling:Object DiagramsObject DiagramA graph of instances that are compatible with a given class diagram; also called an instance diagramObject is represented as a rectangle with two compartmentsOperation
A function or service that is provided by all the instances of a classEncapsulationThe technique of hiding the internal implementation details of an object from its external view
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
14Slide15
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.15
Object Diagram with instances of classes
Class Diagram with two classesSlide16
Representing Associations
AssociationA relationship between object classesDegree may be unary, binary, ternary or higherJust like your ERDs.
Depicted as a solid line between participating classesAssociation RoleThe end of an association where it connects to a
class
Each role has multiplicity, which indicates how many objects participate in a given association relationship
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
16Slide17
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.17
Binary
Unary
Ternary Slide18
Representing Generalization
GeneralizationAbstraction of common features among multiple classes, as well as their relationships, into a more general classSubclassA class that has been generalizedSuperclass
A class that is composed of several generalized subclasses. Consultants and managers are grouped as employees. Graduate and Undergraduate students are grouped as students. Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
18Slide19
Representing Generalization (continued)
DiscriminatorShows which property of an object class is being abstracted by a generalization relationshipInheritanceA property that a subclass inherits the features from its
super-classAbstract ClassA class that has no direct instances but whose descendents may have direct instances. Employees
Regular and Hourly. Students Grad and undergrads/
Concrete
ClassA class that can have direct instances. Employees
CEO
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
19Slide20
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.20
Abstract patient Class with two concrete classes
Employee Super class and three subclasses Slide21
Representing Aggregation
AggregationA part-of relationship between a component object and an aggregate objectExample: Personal computerComposed of CPU, Monitor, Keyboard, etc.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
21Slide22
Dynamic Modeling:State Diagrams
StateA condition during the life of an object during which it satisfies some conditions, performs some actions or waits for some eventsShown as a rectangle with rounded cornersState Transition
The changes in the attributes of an object or in the links an object has with other objectsShown as a solid arrowDiagrammed with a guard condition and action
Event
Something that takes place at a certain point in time
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
22Slide23
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
23State Transition DiagramSlide24
Dynamic Modeling:Sequence Diagrams
Sequence DiagramA depiction of the interaction among objects during certain periods of timeActivationThe time period during which an object performs an operationMessagesMeans by which objects communicate with each other
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice HallA.
24Slide25
Dynamic Modeling:
Sequence Diagrams (continued)Synchronous MessageA type of message in which the caller has to wait for the receiving object to finish executing the called operation before it can resume execution itselfSimple MessageA message that transfers control from the sender to the recipient without describing the details of the communication
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
25Slide26
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.26Slide27
Moving to Design
Start with existing set of analysis modelProgressively add technical detailsDesign model must be more detailed than analysis modelComponent DiagramA diagram that shows the software components or modules and their dependencies
Deployment DiagramA diagram that shows how the software components, processes and objects are deployed into the physical architecture of the systemCopyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.
27Slide28
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall
A.28Slide29
Summary
Object-Oriented Modeling ApproachBenefitsUnified Modeling LanguageUse casesClass diagramsState diagramsSequence diagramsUse Case Modeling
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice HallA.
29Slide30
Summary (continued)
Object Modeling: Class DiagramsAssociationsGeneralizationsAggregationDynamic Modeling: State DiagramsDynamic Modeling: Sequence DiagramsMoving to Design
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice HallA.
30