Introduction to the Qoole-AID Development Documentation and Guidelines

Development project standards, guidelines, and documentation can be extremely crucial to any software project - even those that are Open-Source. This section will attempt to outline the documentation related to Qoole-AID that can be found on this site. Because this project is still in it's early stages (11/06/2001), much of the documentation is incomplete. Over the next few weeks this will be rectified and the majority of the documentation, architecture designs, and guidelines will be finished.

You may be asking yourself why so much effort is being put into documentation instead of just doing the code. For starters, it is sometimes difficult to get from point A to point B without knowing how to get there or what not to do along the way. It also becomes much easier for additional developers to enter in the middle of the development process. In short, because of the amount of power we wish to include in this application, having it mapped out ahead of time allows for a shorter development cycle; that means you get the application faster.

Document briefs

Coding Style Guidelines

Due to the project being object oriented as well as written in C++, this document plays a strong role in ensuring that the development and coding of the application is consistent. This document covers type declarations, type safe styles, naming conventions, advantages, and pitfalls to avoid. It also provides a roadmap as to how the code should look (indents, alignment, and the oh-so religious placement of code block braces). This will allow new Qoole-AID project developers, and those who wish to extend the application of their own devices to quickly navigate and distinguish the various coding methodologies.

Design Documents

Design documents for Qoole-AID will come in two flavors; Functional Design Specifications and System Architecture Designs. While each flavor may have it's own variations (detailed vs. complimentary) both play a very important role in describing how the application will be built.

Function Specifications play the role of describing how the functionality of a specific code collection or GUI component should operate. This allows the developers to analyze and collect the exact requirements needed or expected in order to implement the topic of the specification.

System Architecture Designs allow the developers to visually see the components, their relations and inheritance models, and the entire structure of the application from a highly technical perspective. These designs are used for implementing, knowing the full interface model, and extending the functionality of object classes used within the application.

Application Development Standards

Although the exact extend of what this category will contain is still being discussed, some topics have been initially agreed upon.  The following topics will exist under this category:

Terminology and Definitions.
Application Usage (tools used for design and development).
Plug-in SDK documentation.
Class documentation (may move to Design Documents).

Hopefully these documents will be finished in the very near future.