SYST39409-Object Oriented Methodologies 1Jerry Kotuba
Object Oriented Methodologies
Week04
SYST39409-Object Oriented Methodologies 2Jerry Kotuba
Agenda Schedule Review Solution for ICE-02
Notation (start/end) Orthogonal Lines File type pdf or docx only
Recap last class Use Cases
Discovery Narratives Activity Diagrams Packages
Class Diagrams
SYST39409-Object Oriented Methodologies 3Jerry Kotuba
Events and Use Cases
Use case Activity the system carries out Entry point into the modeling process
Discovery Techniques Event decomposition User goal CRUD
Elementary business processes (EBPs) Basic unit of analysis Initiated by event occurring at specific time and place Discrete system response that adds business value
SYST39409-Object Oriented Methodologies 4
Use Cases - Analysis
Identify User goals Event tables CRUD
Summarize Use Case Diagram
Describe Narratives Activity Diagram(workflow)
Jerry Kotuba
SYST39409-Object Oriented Methodologies 5
Final Word on Use Cases
Large software projects usually organized into packages.
Package is a placeholder Each package contains a set of use cases for
handling a certain type of business activity. E.g. Supply Chain Management System
Warehouse & Shipping Order Processing Accounting Inventory Management
Jerry Kotuba
Methods & Applications 6
Customers
Suppliers
Methods & Applications 7
E-business
Supply Chain Management
E-commerce
Customer Relationship Management
Legacy Applications
NewApplications
PackagedApplication
ExternalServices3rd Party
Inter- Intra Company
Jerry Kotuba
Jerry Kotuba
Example without Package Notation
Jerry Kotuba
Example using Package Notation
SYST39409-Object Oriented Methodologies 11Jerry Kotuba
Class Diagrams- Objectives Identify and analyze the objects and object-classes needed in
a system
Learn how to identify and represent relationships between object classes.
Learn how to identify and create super/subclass relationships
SYST39409-Object Oriented Methodologies 12Jerry Kotuba
Problem Domain Classes Problem domain
Abstraction”Real World” to “Data world” Set of work-related “things” in system component
Things have data representation within system Examples: products, orders, invoices, customers
OO approach to things in problem domain Objects that interact in the system
Identify and understand things in problem domain Key initial steps in defining requirements
SYST39409-Object Oriented Methodologies 13Jerry Kotuba
Types of Things
Things can be identified with methodology
Separate the tangible from the intangible
Include information from all types of users
Ask important questions about nature of event “What actions upon things should be
acknowledged and recorded by the system?”
SYST39409-Object Oriented Methodologies 14Jerry Kotuba
SYST39409-Object Oriented Methodologies 15Jerry Kotuba
Procedure for Developing an Initial List of Things
Perform Textual Analysis
List nouns users mention when discussing system
Event table as source of potential things
Use cases, external agents, triggers, response
Select nouns with questions concerning relevance
Further research may be needed
SYST39409-Object Oriented Methodologies 16Jerry Kotuba
Pharmacy System Example
SYST39409-Object Oriented Methodologies 17Jerry Kotuba
Associations among Things
Analyst document entity associations ( relationships) Example: “Is placed by” and “works in”
Associations apply in two directions Customer places an order An order is placed by a customer
Multiplicity: the number of associations One to one or one to many
The associations between types of things Unary (recursive), binary, n-ary
SYST39409-Object Oriented Methodologies 18Jerry Kotuba
Associations Naturally Occur between Things
SYST39409-Object Oriented Methodologies 19Jerry Kotuba
Multiplicity of Relationships
SYST39409-Object Oriented Methodologies 20Jerry Kotuba
Attributes of Things
Specific details of things are called attributes
Analyst should identify attributes of things
Identifier (key): attribute uniquely identifying thing
Examples: Social Security number, vehicle ID number, or product ID number
Compound attribute is a set of related attributes
Example: multiple names for the same customer
SYST39409-Object Oriented Methodologies 21Jerry Kotuba
SYST39409-Object Oriented Methodologies 22Jerry Kotuba
Classes and Objects Domain model class diagram as UML class
OOA applies domain model class diagram to things
Problem domain objects have attributes Software objects encapsulate attributes and
behaviors Behavior: action that the object processes itself
Software objects communicate with messages Information system is a set of interacting objects
SYST39409-Object Oriented Methodologies 23Jerry Kotuba
SYST39409-Object Oriented Methodologies 24Jerry Kotuba
SYST39409-Object Oriented Methodologies 25Jerry Kotuba
SYST39409-Object Oriented Methodologies 26
Exercises No 1 to No 3
To be done in class for illustration and practice
Jerry Kotuba
SYST39409-Object Oriented Methodologies 27Jerry Kotuba
Your Turn…ICE-03
See SLATE
Class Diagrams
Document the static structure of the system
They define what classes there are and how they are related
The symbol on the right defines the data and behaviour encapsulated by a class.
Objects “know things and know how to do things!”
Jerry Kotuba
28
SYST39409 - Object Oriented Methodologies