OO Objectives
We want a development method which:
Is able to guide us through analysis, design, and
implementation using one consistent paradigm throughout those phases Is less likely to generate errors Contains checks to help eliminate errors Facilitates reuse of designs and code
than a solution.
E.g. Requirements analysis and OO analysis.
Design
It emphasizes a conceptual solution that fulfills the
requirements.
E.g. Database design or OO design
Implementation expresses the true and complete
realized design
physical as well as static and dynamic models of the system. (Booch 1995) Emphasis is on defining software objects, and how they collaborate to fulfill system requirements
Examples- Library IS
OO Analysis - in the case of the library information systems, one would find concepts like book, library, patron OO Design - emphasis on defining the software objects; ultimately these objects are implemented in some programming
Example - contd.
Book domain concept title visualization of domain concept
public class Book { private String title; public Chapter getChapter(int) {...} }
Flight IS
public class Plane { private String tailNumber; public List getFlightHistory() {...} }
books. In OO terms - requirements analysis; represent the business processes in textual narration (Use Cases).
as use cases is not actually an object oriented activity; though a necessary first step.
involved in the business processes In OO terms - domain analysis Examples - customer, library assistant, programmer, navigator, sensor, etc.
In Summary...
Business Analogy OO Analysis and Design Associated Documents Use cases
What are the Requirements business analysis processes? What are Domain analysis employee roles? Who is responsible for what? Responsibility assignment;
Short Example
Dice game
A software simulates a player rolling two dice. If
structured prose format They are stories or scenarios of how people use the system
Description: Player requests to roll the dice. System presents results: If the dice face value totals seven, player wins; otherwise, player loses.
includes
identification of objects, attributes, associations
Conceptual model is not a description of the software components; it represents concepts in the real world problem domain
collaborations
objects and illustrating how they interact with other objects Expressed as interaction diagrams
Sequence Diagrams Communication Diagrams
complex
example) Design model - models related to the solution (class diagrams qualifies as an example)
QUESTIONS?