Analysis and Design
The beginning is a very delicate time. During this period the foundations of every IT system are designed and it is extremely important to make them as solid as possible. Do it poorly and the cost of expanding your system in the future will sky rocket. You may even be forced to rewrite the whole software package.
The most general phase of the analysis in which we:
- Identify the stakeholders in the project – people that know what your company requires from the system and will do acceptance tests after it is developed.
- Interview the stakeholders and document their requirements for the new IT system.
- Check if we have conflicting requirements from various stakeholders that will have to be consolidated with them.
The product of this phase is a document which describes the general goals which the system either:
- must accomplish – strong requirements,
- should accomplish if they are not to expensive – week requirements.
This type of analysis is done if the new IT system will have to impact already existing business or manufacturing process in your company. The analytic will document their current state in the form of use case stories and flow charts to fully understand how they work. New more detailed requirements usually arise during this phase and they will extend the requirements analysis. Further more the functional design will reference the process analysis document when ether it enhances or alters a currently existing process.
The functional design is a detailed description of how the system will work from the end users perspective. To do this accurately it will contain:
- use case stories – which will document how process will be supported by the system,
- GUI mockups – sketches which will show how the systems user interface will look like and behave.
The design document will give the stakeholders detailed view on how their company will work with the system and how will it accomplish their requirements.
The technical design is a general description of how the systems internal structures will look like. It will consist of:
- general architecture described via a UML deployment diagrams,
- other UML diagrams of the most crucial parts of the system like:
- foundations of the data model,
- division of system services and their programmers interfaces.
- a list of technologies that will be used to implement and run the system.