100 likes | 112 Views
Object-Oriented Analysis and Design. Lecture 1 Instructor: John Cole. What we will cover. Thinking in objects Design patterns The agile methodology Analysis: An investigation of the requirements and the problem domain objects Design: Conceptual solution that fulfills the requirements.
E N D
Object-Oriented Analysis and Design Lecture 1 Instructor: John Cole Object-Oriented Analysis and Design - Intro
What we will cover • Thinking in objects • Design patterns • The agile methodology • Analysis: An investigation of the requirements and the problem domain objects • Design: Conceptual solution that fulfills the requirements Object-Oriented Analysis and Design - Intro
What You Will Do • You will write use cases • You will create a domain model • You will create class diagrams • You will write programs Object-Oriented Analysis and Design - Intro
Most Important Learning Goal • Learn to skillfully assign responsibilities to software objects • This one thing influences the robustness, maintainability, and reusability of software components Object-Oriented Analysis and Design - Intro
Define Use Cases • A Use Case defines the way a system will be used. What does a specific actor do? What are the results of the action? • For example, a use case for a system I wrote recently is that the people in the mailroom get in about 500 checks every day. They must log these into a system and produce a report on how much money came in. This is one use case of about 30 for that system. Object-Oriented Analysis and Design - Intro
Define a Domain Model • The Clerk creates a Batch of 1 to 30 checks. • The Clerk keys in to a Check Record the check number, dollar amount, and sender of each check. • The Clerk prints a report showing the Checks in the Batch • The Supervisor prints a report of the daily total. Object-Oriented Analysis and Design - Intro
Assign Object Responsibilities • A Batch object contains multiple Check objects. Checks can be added or removed from a Batch. • The Batch object can be told to print its information. • A Check object can be modified. • Information about a Check can be requested. Object-Oriented Analysis and Design - Intro
UML • The Unified Modeling Language is a visual language for specifying, constructing, and documenting the artifacts of systems. • Do not use UML diagrams as a substitute for clear explanation. Explanatory text must always accompany UML diagrams. • UML is NOT a “silver bullet” that will solve all of your design problems. Object-Oriented Analysis and Design - Intro
UML Perspectives • Conceptual: diagrams describe things in the real world or domain of interest • Specification: diagrams describe software abstractions or components with specifications and interfaces, language-independent • Implementation: diagrams describe software implementations. Object-Oriented Analysis and Design - Intro
What is a Class? Object-Oriented Analysis and Design - Intro