100 likes | 112 Views
Explore thinking in objects, design patterns, and agile methodology. Learn to assign responsibilities to software objects skillfully for robustness, maintainability, and reusability. Create use cases, domain models, and class diagrams. Utilize UML for visual modeling.
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