Project Methodology

Here is an outline of the development methodology for this project. As With everything, we expect it to change over time. Here is the basic outline of the development stages we will use.

1. Requirements Analysis
Determine the application requirements
Create GUI prototype
Create Speech Prototype
2. Project Website management
site content
project news and turning points
sourceforge forum facilities
subversion repository for developing components in parallel
sourceforge file release system
sourceforge tracking
mailing list for all developers
3. Component Architecture Design
Break the system into usable components

Create a user/system requirements document
Determine requirements for each component and draw up a Requirements document for each one.
4. Component Development
Design the component with uml diagrams and a specification document.
Author the source code and unit tests for the component
5. Test the component
Test the component with stress tests, integration tests, failure tests
If the component is deemed ready, it can be used in the Assembly.
Otherwise, back to design and/or development.
6. Assemble the Components
Assemble the component.
7. Test the application
Log bugs in bug tracker

Also, here are some of the tools we have standardized upon.

Argo UML Modelling Tool
ArgoUML
NUnit testing framework
NUnit
Microsoft C# Express IDE
(or Sharpdevelop)
MSBuild
In theory, any IDE or text editor can be used to create the pproject, just so long as there is a .project build file in the main project directory.
Subversion code repository (SVN)


Here is the formal document. When conflicts occur between this page and the document, use the document.


Methodology Document