Index: openacs-4/packages/acs-core-docs/www/requirements-template.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/requirements-template.html,v diff -u -r1.42 -r1.43 --- openacs-4/packages/acs-core-docs/www/requirements-template.html 17 Jul 2006 05:38:32 -0000 1.42 +++ openacs-4/packages/acs-core-docs/www/requirements-template.html 7 Jun 2008 20:28:51 -0000 1.43 @@ -1,7 +1,8 @@ -System/Application Requirements Template

System/Application Requirements Template

By You

+ +System/Application Requirements Template

System/Application Requirements Template

By You

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

Introduction

+

Introduction

Briefly explain to the reader what this document is for, whether it records the requirements for a new system, a client application, a toolkit subsystem, etc. Remember your audience: fellow programmers, @@ -10,50 +11,50 @@ everywhere, write clearly and precisely; for requirements documentation, write at a level that any intelligent layperson can understand. -

Vision Statement

+

Vision Statement

Very broadly, describe how the system meets a need of a business, group, the OpenACS as a whole, etc. Make sure that technical and non-technical readers alike would understand what the system would do and why it's useful. Whenever applicable, you should explicitly state what the business value of the system is. -

System/Application Overview

+

System/Application Overview

Discuss the high-level breakdown of the components that make up the system. You can go by functional areas, by the main transactions the system allows, etc.

You should also state the context and dependencies of the system here, e.g. if it's an application-level package for OpenACS 4, briefly describe how it uses kernel services, like permissions or subsites. -

Use-cases and User-scenarios

+

Use-cases and User-scenarios

Determine the types or classes of users who would use the system, and what their experience would be like at a high-level. Sketch what their experience would be like and what actions they would take, and how the system would support them. -

Optional: Competitive Analysis

+

Optional: Competitive Analysis

Describe other systems or services that are comparable to what you're building. If applicable, say why your implementation will be superior, where it will match the competition, and where/why it will lack existing best-of-breed capabilities. This section is also in the Design doc, so write about it where you deem most appropriate. -

Related Links

Include all pertinent links to supporting and related material, - such as:

  • System/Package "coversheet" - where all documentation for this software is linked off of

  • Design document

  • Developer's guide

  • User's guide

  • Other-cool-system-related-to-this-one document

  • Test plan

  • Competitive system(s)

Requirements

+

Related Links

Include all pertinent links to supporting and related material, + such as:

  • System/Package "coversheet" - where all documentation for this software is linked off of

  • Design document

  • Developer's guide

  • User's guide

  • Other-cool-system-related-to-this-one document

  • Test plan

  • Competitive system(s)

Requirements

The main course of the document, requirements. Break up the requirements sections (A, B, C, etc.) as needed. Within each section, create a list denominated with unique identifiers that reflect any functional hierarchy present, e.g. 20.5.13. - for the first number, leave generous gaps on the first writing of requirements (e.g. 1, 10, 20, 30, 40, etc.) because you'll want to leave room for any missing key requirements that may arise. -

  • 10.0 A Common Solution

    +

    • 10.0 A Common Solution

      Programmers and designers should only have to learn a single system that serves as a UI substrate for all the functionally specific modules in the toolkit. -

      10.0.1

      +

      10.0.1

      The system should not make any assumptions about how pages should look or function. -

      10.0.5

      +

      10.0.5

      Publishers should be able to change the default presentation of any module using a single methodology with minimal exposure to code. @@ -73,11 +74,11 @@ suited to handle combinations of inputs.

    • Flowcharts - easy to draw and understand, suited for event and decision driven systems. UML is the industry standard here.

    • Entity-Relationship diagrams - a necessary part of Design documents, sometimes a high-level ER diagram is useful for - requirements as well.

Optional: Implementation Notes

+ requirements as well.

Optional: Implementation Notes

Although in theory coding comes after design, which comes after requirements, we do not, and perhaps should not, always follow such a rigid process (a.k.a. the waterfall lifecyle). Often, there is a pre-existing system or prototype first, and thus you may want to write some thoughts on implementation, for aiding and guiding yourself or other programmers. -

Revision History

Document Revision #Action Taken, NotesWhen?By Whom?
0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
0.2Edited8/22/2000Kai Wu
0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
($Id$)
View comments on this page at openacs.org
+

Revision History

Document Revision #Action Taken, NotesWhen?By Whom?
0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
0.2Edited8/22/2000Kai Wu
0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
($Id$)
View comments on this page at openacs.org