Object-Oriented Analysis and Design

Object-Oriented Analysis and
Design
ธนวัฒน์ แซ่เอียบ
What Will You Learn? Is it Useful?
• for
– the creation of well-designed
– robust
– maintainable software using OO technologies
and languages such as Java or C#.
• Many Other Skills Are Important!
– usability engineering, user interface design,
and database design
What is Analysis and Design?
• Analysis
– Investigation of the problem and
requirements.
– rather than a solution.
• Design
– a conceptual solution(in software and
hardware) that fulfills the requirements
– rather than its implementation.
What is Object-Oriented Analysis
and Design?
• object-oriented analysis
– investigation of the domain objects
– finding and describing the objectsor concepts
in the problem domain
• object-oriented design
– Defining software objects and how they
collaborate to fulfill the requirements
the flight information system
dice game
• a bird's-eye view of a few key steps and
diagrams
• software simulates a player rolling two
dice. If the total is seven, they win
otherwise, they lose.
Define Use Cases
• Requirements analysis may include stories
or scenarios of how people use the
application.
• simply written stories.
• popular tool in requirements analysis.
• Play a Dice Game:Player requests to roll
the dice. System presents results: If the
dice face value totals seven, player wins;
otherwise, player loses.
Define a Domain Model
• description of the domain from the
perspective of objects
• an identification of the concepts, attributes,
and associations
• a domain model is not a description of software
objects.
• a visualization of theconcepts or mental models
of a real-world domain.
• also been called a conceptual object model.
Assign Object Responsibilities and
Draw Interaction Diagrams
• defining software objects their
responsibilities and collaborations
• the sequence diagram
– messages between software objects, and
thus the invocation of methods.
• by sending messages to instances of the
DiceGame and Dieclasses
• by sketching on a whiteboard.
Define Design Class Diagrams
• a static view of the class definitions
• is not the same as the domain model.
ที่มา
• Applying uml and patterns : Craig Larman