Introduction
During the System Level Integration Project, I worked on three main parts of the overall system: designing the underlying communications architecture and deciding on the links between each internal component, designing and implementing a web service so that external clients could connect to and manipulate the system, and designing and implementing multiple clients for users to connect to the system.
In this report I will examine each of these components, detail their importance in the project, and explain any design and implementation choices made during the course of the project.
By designing the underlying architecture, and deciding on the internal mechanisms used to communicate between each component, early in the project the basis for the entire system was formed – this allowed interfaces between components to be implemented, as well as clear boundaries for data and computation to be defined.
The design and implementation of an external mechanism for manipulation of the system was essential in configuring and maintaining the system. The external API for accessing data allowed the creation and modification of devices, sensors, effectors, users, rules, and reports. The implementation of the external API was realised in a iterative fashion, whereby each internal function was implemented and tested before adding additional functionality – this ensured a stable platform to work with at all stages of the project.
Using the external mechanism for manipulation of the system I was able to create two clients to manage the system. These clients were created to demonstrate the possibility of heterogeneous clients managing the system, as well as providing examples of the many different uses of the system: from simple monitoring, to full autonomous environmental control. Throughout the entire project, these clients were gradually used to test the internal workings of the system and to monitor the wireless network as a whole.
» On to Requirements Capture.
Pages
Chris Conway
- Introduction
- Requirements
- Specification
- Approaches Considered
- Design
- Implementation
- Screenshots
- Testing
- Reusability
- Analysis and Evaluation
- Possible Extensions
- Conclusion