Download presentation
Presentation is loading. Please wait.
1
Object Oriented Analysis and Design
Chapter 1 Applying UML and Patterns Craig Larman
2
Applying UML and Patterns in OOA/OOD
What is a good object design?
3
Applying UML UML is just a standard diagramming notation. It is just a tool, not a skill that is valuable in itself. Knowing UML helps you communicate with others in creating software, but the real work in this course is learning Object-Oriented Analysis and Design, not how to draw diagrams.
4
Assigning Responsibilities
The most important skill in Object-Oriented Analysis and Design is assigning responsibilities to objects. That determines how objects interact and what classes should perform what operations.
5
Design Patterns Certain tried-and-true solutions to design problems have been expressed as principles of best practice, often in the form of Design Patterns. A Design Pattern is a named problem solution formula that apply excellent design principles.
6
Requirements Analysis
All Software Analysis and Design is preceded by the analysis of requirements. One of the basic principles of good design is to defer decisions as long as possible. The more you know before you make a design decision, the more likely it will be that the decision is a good one. TFCL: Think First, Code Later!
7
Use Cases Writing Use Cases is not a specifically Object Oriented practice. But it is a best practice for elaborating and understanding requirements. So we will study Use Cases.
8
The Unified Process A standardized approach to analysis and design helps to ensure that all necessary tasks are understood and completed in software development. This text, and the course, will focus on the Unified Process developed at Rational Software by Ivar Jacobsen, Grady Boch, Jim Rumbaugh, and others.
9
Other Necessary Skills
Requirements Analysis, Object-Oriented Analysis and Object-Oriented Design are not a complete toolkit for a software developer. There are many other skills necessary in Software development, including programming. This course only covers a subset of the necessary skills.
10
Assigning Responsibilities
The “Desert Island Skill” in OOD is assigning responsibilities to objects. Nine fundamental principles for doing this will be presented as the GRASP patterns. GRASP is an acronym for General Responsibility Assignment Patterns.
11
(Class-answer the question)
What is Analysis? (Class-answer the question)
12
Analysis Analysis is a broad term. In Software development, we are primarily concerned with two forms of analysis. Requirements Analysis is discovering the requirements that a system must meet in order to be successful. Object Analysis is investigating the object in a domain to discover information important to meet the requirements.
13
(Class-answer the question)
What is Design? (Class-answer the question)
14
Design Design emphasizes a conceptual solution that fulfills the requirements. A design is not an implementation, although a good design can be implemented when it is complete. There are subsets of design, including architectural design, object design, and database design.
15
Analysis and Design Analysis Design do the right thing
Do the thing right
16
What is Object Oriented Analysis?
The emphasis is on finding and describing the objects (or concepts) in the problem domain. In a Library Information System, some of the concepts include Book, Library, and Patron.
17
What is Object Oriented Design?
The emphasis is defining software objects and how they collaborate to fulfill the requirements. In a Library Information System, a Book software object may have a title attribute and a getChapter method.
18
Implementation During Implementation, or Object-Oriented Programming, design objects are implemented, such as a book class in Java. Implementation is also known as Coding or Construction.
19
Example Tasks Define Use Cases Define a Domain Model
Define Interaction Diagrams Define Design Class Diagrams
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.