Title: Motivation: Concise System Behavior Communication plus Code Generation
1Motivation Concise System Behavior Communication
plus Code Generation
2Todays Focus Information Model
3First SE Deliverable Pictures or Labeled Line
Drawings of your Externally Visible Objects
4First SE Deliverable Labeled Line Drawings or
Pictures of your Externally Visible Objects
Picture or Labeled Line Drawing
5Second SE Deliverable List of Use Case Scenarios
6Second SE Deliverable 2 Use Cases - the road
most often traveled and one rainy day
7Meet the Models
8Vending Machine State and Process Model
9Vending Machine Object Communication Model
10Introducing the Information Model
- Relationships, Objects, and Attributes
11Vending Machine Information Model (1st cut)
12Information Model (2nd pass)
13Information Model
- Consists of
- Objects
- Attributes
- Relationships
- One-to-one
- One-to-many
- Many-to-many
- Unconditional
- Conditional
14Object Definition
- Set of real-world things with common
characteristics - All instances of an object behave the same
15Identifying Objects
- Tangible things that make up the problem
- Roles played by people or organizations
- Incidents, e.g. accidents, system crashes,
service calls - Interactions with a transaction or contract
quality, e.g. - purchase related to buyer, seller, and thing
purchased - Table Specifications, e.g. definition of a
things attributes
16Identifying Objects
- Object identification is
- an art refined by experience
- an iterative process
17Keys To the IM
- Imagine youre a specific instance of an object
- when evaluating relationships e.g. one-to-one,
- one-to-many, etc.
- Answer questions about relationships
- from the mindset of an object instance
- Understand that relationships represent
information - exchange agreements between objects
- Dont create an object unless youre absolutely
- convinced youve got to have it
- Objects are work - more often than not, a lot of
work
18Todays Focus Information Model
19The Eureka Story
20Senior Design Software Engineering Deliverables
- Demonstrate Evidence of Software Engineering
through - Use Cases
- Models
21Senior Design Software Engineering Deliverables
- Product Drawings (showing externally visible
objects) - List of Use Cases
- Two Use Cases (often traveled sunny and rainy
day) - Information Model (externally visible objects)
- One State Model (behavior of your most
interesting object) - One Process Model (describing activity in every
state) - Object Communication Model
- Revised Information Model (externally visible
plus internal objects)
22Vending Machine Use Case Scenarios
23Correct Change Vending Machine Use Case
24Introducing the Use Case
- Describes User Interaction with your system in
terms of externally visible objects
25Externally Visible Vending Machine Objects
26Correct Change Vending Machine Use Case
27Senior Design Software Engineering Focus
28Object-Oriented Analysis
- A different way to see, discover, and describe
the same old problems - Describe the solution in terms of the problem
- OOA Models represent a higher layer of
abstraction - When used in product development, the goal is to
maintain the models, not the code
Object-oriented Development produces the code
Object-oriented Analysis describes the problem
using coupled graphical equations information,
state, and process models
29Models Are Coupled Graphical Equations
- If you change one model, you change them all
- The Information Model is coupled to its
- State and Process Models
- PM is coupled to IM and SM
- SM is coupled to IM and PM
- OCM is derived from IM, SM, and PM
30Object-Oriented Systems Analysis
- What is Object-Oriented Analysis?
- Behavior specification using models
- Models reflect the things in the problem
(objects) - Behavior simulation by walking through (or
executing) the models
31FYI Object-Oriented Development
- What is Object-Oriented Development?
- Performance specification
- Template creation
- Code generation
32Senior Design Focus On the Models
- Behavior specification (required)
- Types of models IM, SM, PM, plus OCM
- Behavior simulation (model walk-through is
required) - (Compiling and executing models is not required)
33Behavior Specification
- Behavior specification using three
- types of models
- Information
- State
- Process
- (An Object Communication Model
- results from Information, State, and
- Process models)
34Backup Story A Tale of More Models
35Information Model
36State And Process Model - Room
37State and Process Model - Person
38Object Communication Model
39Object Communication Model - OCM
40Where Most People Find Themselves On The OOA
Learning Curve
The Bottom Of The Paraboloid