Вы находитесь на странице: 1из 3

Functional Specification Template

Like all templates, this document is intended to be customized for the needs of your particular specification. You should feel free to add and remove sections as necessary. Team Number: Team Name:

Overview
High-level overview (2-3 short paragraphs) of the new feature or system to be built. What is it and why do we need it? This section should contain a statement of the problem we are trying to solve and why it is important to solve it as justification for doing the work.

Goals and Non-Goals


Goals
List of outcomes that you are hoping to achieve by doing this work. Each goal should each be annotated with a priority so that it is clear to the reader which goals are most important. Use a 1-3 priority scale, where 1 is most important and 3 is least important. [P1] Goal with priority 1 [P1] Goal with priority 1 [P2] Goal with priority 2 [P3] Goal with priority 3

Non-Goals
Often it is useful to include a list of "Non-Goals" in this section as well. Non-goals help with scoping a feature or system, by explicitly specifying outcomes that we are not attempting to achieve with this feature. Please specify whether a non-goal is out of scope for now (but planned for future) or a non-goal for the feature in general. Non-goal 1

Non-goal 2

Scenarios
Scenarios are narrative descriptions that indicate how different users will interact with and use the new feature or system that we are creating. If you have multiple personae who will interact with the system, you will need at least one scenario involving each of them. Each scenario should be tied to a Goal from the section above.

:Bob has just gotten home and cant wait to show his young brother Jim a computerized form of Nkusibidde awo(Interceptor) game. Bob launches the game and a 4- diagonal square appears. Bob then lets his brother choose on which side he wants to play, given that Bob starts. After alternating turns Jim has his members lined up with one in the center. He is declared the winner and Bob in disbelief clicks to have another go.

Functional Design
The sub-sections that are required for this section of the document will vary widely with the type of feature/system being described. In general though, you should include things like: The database schemas you are using..no database Any client-server protocols such as the details of your HTTP GET and POST request/responses User Interface mockups User-facing control-flow/application workflows

There are a few sub-sections that should be thought through for most applications and are included below.

Security
Is this a security-sensitive feature, and if so, what are the particular security concerns?

What provisions are in place to mitigate the concerns?

Implementation Plan
If applicable, what are the different phases involved in the development of this new feature/system? This is especially important for complex features that will require more than a day or two to implement.

Deployment Plan
What needs to be done in order to deploy this new feature? Include any necessary steps involved around updating databases, deploying server components, and installing client components (if any). Indicate if there is a particular order in which deployment steps need to be followed.

Implementation Details
This section is intended to be completed by the developer, with further details about algorithms, data structures, and other implementation details of the design. Feel free to add any sub-sections you need.

Open Issues
List any open issues here. By the time the feature is complete, this section should be empty.

Вам также может понравиться