Nature of the Tao-object-oriented Practice Guide
- Demand Analysis: pursuing perfection vs. Tolerating Defects
- Case Analysis: bottom story vs. Walking in the cloud
- UML
- tool
- express design ideas
- communication
- sword in my heart
- point to end
- fully express design intent
- Facilitate correct communication and communication among team members
- go astray
- too much emphasis on the use of UML
- it takes a lot of effort to maintain a complete and meticulous UML version.
- Case Model
- User case)
- Elements
- Only describe a single task
- Similar to: it is best to assume only one responsibility for a class.
- Describe the user's complete intent
- Including a series of consistent steps
- For example, a series of steps to achieve successful scenarios
- For example, a series of steps to achieve failure scenarios
- Feedback meaningful results
- Participants interacting with the system
- End User
- Peripheral System
- Reflect functional requirements of software
-
- Scenario
- Result of a single series of actions in the use case
- Meaning
- Accurately express software requirements to reduce ambiguity arising from communication and communication
- Facilitates rational division of software development cycles
- Determine the priority of the use case
- Determine the number of use cases for each iteration cycle
- Driving Continuous software refinement Analysis & Design
- Improve system design based on continuous improvement of Use Cases
- Guide code Reconstruction
- Provide clear test objects for test cases
- Case Modeling
-
- Determine system boundaries
-
- Confirm participants
-
- List all use cases
- determine the level of each use case
- high-level use cases
- User target-level use cases
- describes the functions you want to implement
- business logic layer
- exclude the interface layer
- contract between project team and developers
- sub-function cases
- extended and refined target-level use cases
- details
- polymorphism-like: different classes implement various operations on abstract classes
- extended
- call another use case for extended processing in special scenarios
- use case description
- rigorous language
- example
- high-level use cases
- Use Case name: Borrow Books
system scope: Library
Description: The Reader submits the borrow credential & Title: the system confirms that the book exists and has not been lent out. You can go through the lending procedure
- User target-level use cases
- Draw a sequence chart with the entire system as the object
- Draw a sequence chart for the main use case
- Online operation process from the user perspective
- The entire system is regarded as a black box and does not care about how to implement it.
- Observe the order and process of all system information
-
- Prodigal Son's post-reading experience
- Use Case (User case) to reflect the functional requirements of the entire system
- Describe the actual operating process of the system through the sequence diagram
Figure: