|The outline for this document is adapted from Writing Effective Use Cases, pages 13-14.|
|1a.||What is the overall scope and goal? What is our mission statement?|
|1b.||Who are the Stakeholders? (Who cares if we build the system or not?)|
|1c.||What topics are within our scope? What topics are out of scope?|
Chapter 2. Terms Used / Glossary
Chapter 3. The Use Cases
|3a.||The primary actors and their general goals|
|3b.||The business use cases (operations concepts)|
|3c.||The system use cases (development concepts)|
|4a.||What technology requirements are there for this system?|
|4b.||With what systems will this system interface? What are the interface requirements?|
|Q1. Who are the project participants?|
|Q2. What values will be reflected? (Simple, soon, fast, or flexible?)|
|Q3. What feedback or project visibility do the users and sponsors expect?|
|Q4. What can we import? What must we build? What other systems have a similar scope?|
|Q5. Under what other process requirements does the project operate?|
|5d.||Operations, security, documentation|
|5e.||Use and usability|
|5f.||Maintenance and portability|
|5g.||Unresolved or deferred|
What is the overall scope and goal? What is our mission statement?
|Scope||MVC framework for professional web application developers and development teams.|
|Goal||Encourage developers to use a supplied set of base classes and tag libraries (thereby avoiding a potential tangle mess oafe page).|
|Mission Statement||Create a MVC framework that balances flexibility with uniformity.|
Who are the Stakeholders? (Who cares if we build the system or not?)
|Apache Software Foundation||...|
|Apache Struts PMC|
|Other Struts Committers|
|Other Struts contributors|
|Other Users and teams|
|Container, Extension, and IDE makers|
|Information Technology Managers|
|Other MVC frameworks|
|Web platform vendors (Sun)|
|In/Out of Scope||Topic|
|Utilizing HTTP and HTML implementations|
|Implementing or extending HTTP and HTML specifications|
|Naming the framework something else|
- MVC - ...
- Front Controller
- Page Controller
- Dependency Injection
- Inversion of Control
- domain object
- URL pattern
What technology requirements are there for this system?
- Java API 1.4
- Servlet API 2.3
- HTML 4.0
- HTTP ???
With what systems will this system interface? What are the interface requirements?
- Popular web browsers utilizing HTTP / HTML
- Data access libraries utilizing singletons or Dependency Injection
- Web application resources (server pages, servlets) utilizing Servlet API
- Java compilers and code formattings utilizing the source code
- Unit testing lbiraries utilizing the Java and Servlet APIs
- Electronic mail systems utilizing SMTP, POP3, or IMAP, usually via JavaMail
The Apache Struts PMC and other Struts committers, along with other volunteer contributors.
Simple and flexible.
The project is expected to be transparent. All development decisions are expected to take place on the public mailing list. The private PMC list is only to be used when discussing individuals (new committers) and a rapid response to a new security issue.
- Various Jakarta Commons and Open Symphony packages, including XWork
- Other packages under a compatible license
- Web Compatibility layer over XWork
- UI tags that utilize framework resources
The ASF Bylaws, other relevant resolutions of the ASF Board, and the Apache Struts Project Charter (in that order). See also How the ASF works.