Struts Classic Use Cases
- Use cases tell coherent stories about the how the story will behave in use.
- Use cases are requirements, but not all of the requirements.
- Use cases capture contracts between the stakeholders of a system about its behavior.
- Use Cases describe how actors achieve goals.
- For more see, Writing Effective Use Cases
by Cockburn.
Use Case Development Lifecycle
- Actors and Goals
- Use Case Briefs (stories)
- Priority
- Usage Narrative
- Main Success Scenario
- Failure Conditions
- Failure Handling
Guidelines
- Use simple grammar.
- Show clearly "who has the ball".
- Write from the bird's eye view.
- Show the process moving forward.
- Show the Actor's intent, not the movements.
- Include a "reasonable" set of actions
- "Validate", don't "Check whether".
- Optionally, mention the timing.
- Idiom: "User has System A kick System B".
- Idiom: "Do Steps x-y until condition."
Defaults
- If an extension simply returns to the next step, then "Return to MSS" can be omitted.
- Extensions can be nested one level deep.
- Extension steps can be numbered using the newer "dot" convention.
- The "System Under Design" can be referred to in the third person.
- If System is going to display the expected screen as the next step, and there are no extensions, a "System presents (expected) screen" step can be omitted.
References
Vision Statement
- Encourage application architectures based on the "Model 2" approach, a variation of the classic Model-View-Controller (MVC) design paradigm.
Design Scope UML Drawing
TODO ...
Design Scope Topics (In/Out)
| Topic | In | Out | |
|---|---|---|---|
| Business Logic | |||
| Data Access Logic | |||
| Request Processing | |||
| Command Mapping | |||
| Server-side Validation | |||
| Client-side Validation | |||
| HTML 4.1 Markup | |||
| HTML 4.1 Extensions | As to existing Taglib subproject | ||
| Page Composition | |||
| Secure (SSL) mode | |||
| JAAS Authorization | |||
| Custom Authorization |
Stakeholders
| Stakeholder | Interests |
|---|---|
Actors
| Actor | Behavior |
|---|---|
Core Use Cases
| Priority | Actor | Goal | Story or Brief |
|---|---|---|---|
Taglib Use Cases
| Priority | Actor | Goal | Story or Brief |
|---|---|---|---|
EL Use Cases
| Priority | Actor | Goal | Story or Brief |
|---|---|---|---|
Validator Use Cases
| Priority | Actor | Goal | Story or Brief |
|---|---|---|---|
Tiles Use Cases
| Priority | Actor | Goal | Story or Brief |
|---|---|---|---|
