Larman Chapter 1
Larman Chapter 1
Larman Chapter 1
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.
Assigning Responsibilities
The most important skill in ObjectOriented Analysis and Design is assigning responsibilities to objects. That determines how objects interact and what classes should perform what operations.
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!
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.
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.
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.
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.
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 get Chapter method.
Implementation
During Implementation, or ObjectOriented Programming, design objects are implemented, such as a book class in Java. Implementation is also known as Coding or Construction.
Example Tasks
Define Use Cases Define a Domain Model Define Interaction Diagrams Define Design Class Diagrams