370 likes | 385 Views
The Eureka Story. Senior Design Software Engineering Deliverables. Demonstrate Evidence of Software Engineering through: Use Cases Models. Senior Design Software Engineering Deliverables. Product Drawings (showing externally visible objects) List of Use Cases
E N D
Senior Design Software Engineering Deliverables • Demonstrate Evidence of Software Engineering through: • Use Cases • Models
Senior 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)
Introducing the Use Case Describes User Interaction with your system in terms of externally visible objects
Externally Visible Objects Are Explicitly Included in Use Cases
Introducing the Information Model Relationships, Objects, and Attributes
Information Model • Consists of: • Objects • Attributes • Relationships • One-to-one • One-to-many • Many-to-many • Unconditional • Conditional
Object Definition • Set of real-world things with common characteristics • All instances of an object behave the same
Identifying 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
Identifying Objects • Object identification is: • an art refined by experience • an iterative process
Keys To the IM • Imagine you’re 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 • Don’t create an object unless you’re absolutely • convinced you’ve got to have it • Objects are work - more often than not, a lot of work
Senior Design Software Engineering Focus Object-Oriented Analysis
Object-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
Models 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
Object-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
FYI: Object-Oriented Development • What is Object-Oriented Development? • Performance specification • Template creation • Code generation
Senior 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)
Behavior Specification • Behavior specification using three • types of models: • Information • State • Process • (An Object Communication Model • results from Information, State, and • Process models)
OOA Motivation: Concise Behavior Communication and Code Generation
Object Communication Model • OOA Signaling Diagram
Where Most People Find Themselves On The OOA Learning Curve The Bottom Of The Paraboloid