for the Small Enterprise
Systems Analysis and Design
section II Analysis
object-oriented methodology object models use case modeling unified modeling language the data dictionary the cornucopia case portfolio project
Chapter Objectives
When you complete this chapter you will be able to: Differentiate between object-oriented and traditional methodologies Identify objects and construct an elementary object model Identify the elements in a use case model Identify the elements in four of the most common UML models Define, construct, and maintain data dictionaries
Object-Oriented Methodology
Object-oriented systems analysis and design (OOSAD) evolved to accommodate the increasing popularity of object-oriented programming languages If you plan to implement your design with object-oriented development tools, you should seriously consider using OOSAD As the name implies, OOSAD revolves around objects
Object-Oriented Methodology
Information system objects derive their definition from our understanding of realworld objects Just as real-world objects are organized into classifications, enterprise objects are members of a class While a specific object is distinguished by its particulars, it inherits its general makeup from its class
Object-Oriented Methodology
By definition, a class embodies two important information processing concepts:
Data attributes Behaviors
After enterprise objects are created from their class blueprint, their data attributes are assigned values and their behaviors are tailored to fit their specific circumstance Objects interact with one another through a messaging system
Object-Oriented Methodology
The object-oriented methodology involves familiar phases: analysis, design, and implementation
Analysis: Identify the classes from which enterprise objects are created and the interactions between these classes
Design: Refine class definitions and interactions based on the requirements of the new information system Implementation: Create a working information system using object-oriented languages and tools
Object Models
In the OOSAD methodology, the object model serves the same purpose as do the DFD and ERD in the traditional SDLC methodology
The object model is focused on data and software, showing classes and class interactions
The Object Model and the Six CIS Components
Object People Procedures Data Hardware Software Networks Class Attributes Methods
Object Models
Object Identification: Use case modeling is the preferred technique for identifying enterprise objects
Another way to identify classes is to use the DFD and ERD models as a springboard, where each of the DFDs data stores and ERDs entities are potential classes
TECHNOTE 5-1
Anatomy of an Object
Class: a two-part abstraction (attributes and methods) of a real-world person, place, thing, or activity Instance: a specific object created from the class blueprint Encapsulation: describes the enveloping, membrane-like environment in which an object exists Messages: means by which objects communicate with each other Polymorphism: allows a method to behave differently when encapsulated in different classes Inheritance: imprints class definitions on new generations of the class Class relationships: describes the way classes interact with one another
10
Object Model Symbols
Reference Figure 5-2: Silhouette Sea Charters Object Model
11
Silhouette Sea Charters Object Model
This aggregate relationship allows for one or more customers to signup for the same charter
This specialization relationship indicates that there are two subsets of the Boat class
12
Comparing Silhouettes Object Model and Data Model
Object Model
Data Model
13
Use Case Modeling
Use case modeling provides a systematic way to identify objects
A use case is a detailed description of what happens when someone or something interacts with the information system The nouns used to title the use case scenarios provide a basis for object identification The interactions between use cases provide the basis for defining the relationship between the objects underlying class
14
Unified Modeling Language
The Unified Modeling Language (UML) has emerged as the generally accepted modeling standard for object-oriented methodologies and techniques Four of the numerous UML diagrams serve the same function as the traditional DFD, ERD, and walk-through models:
Use case diagram Class diagram Interaction diagrams Statechart diagrams
15
Nine UML Modeling Diagrams
Class Diagram Object Diagram
Use Case Diagram
Interactive (Sequence) Diagram Interactive Collaborative Diagram Statechart Diagram Activity Diagram
Component Diagram
Deployment Diagram
16
Silhouettes UML Use Case Diagram
17
Silhouettes UML Class Diagram
18
Silhouettes UML Interactive sequence Diagram
19
Silhouettes UML Statechart Diagram
20
ThinkingCritically
Inflatable Labor Charges
What action would you recommend if you discovered that your most talented analyst had consistently inflated the labor hours charged to a project?
21
The Data Dictionary
A data dictionary is an ordered catalog of data elements and their definitive characteristics
Form Symbols multiple entries permitted {}
optional entry
key field data structure composition attribute separator
[]
underline =
22
Illustrated Data Dictionary Form and Symbols
Element Name: customer
Type: data store Description: customer master file Contents: customer = custid+ name+ address+ phone Usage Cross-Reference: DFD, USD, ERD, system flowchart Storage reference: customer.dbf
23
THE CORNUCOPIA CASE
The analysts do not intend to use an objectoriented programming language to implement the new system. Even the objectlike features of 4Gl software do not require object identification or use case modeling.
Cornucopias object model is derived from the ERD.
24
Cornucopia Existing System Object Model
25
Chapter Summary (1/3)
The object model is an alternative to the traditional SAD methodology It is important to understand the object model, even if the analyst does not intend to use object-oriented development tools Objects are created from a class blueprint
26
Chapter Summary (2/3)
Objects are characterized by their attributes and behaviors Objects communicate with one another through messaging
27
Chapter Summary (3/3)
The Unified Modeling Language (UML) provides a collection of modeling tools for OOSAD
Use case diagram Class diagram Interaction diagrams Statechart diagram
The data dictionary provides a systematic procedure to keep track of the names, definitions, associates, and existing or proposed uses of data
28