SoftwarePractice.org: Home | Courseware | Wiki | Archive

T3: Implementation Architecture v2

From SoftwarePractice.org

4.2 Implementation Architecture Design

Image:Implementation Architecture.jpg

External sources include
  • Electrical inputs of field equipment such as microphones and cameras (to monitor their health).
  • Signals from field equipment (e.g. high frequency noise, video footage, GPS feed).

Intersection Module

  • Incident Analysis:

Analyses information received from external sources and processes them into meaningful data before ensuring the data is sent to the appropriate module. E.g. If there is high frequency noise matching to tyres screeching, send an incident tag to the User Interface and Database modules.

  • Error Diagnostics:

Monitors general system health and notifies other modules of incidents.

  • C/Assembly packages

Because this is an embedded system, lower level programming languages and appropriate off-the shelf packages written in C/assembly is the most suitable infrastructure.

Database Module

  • Reporting System:

Provides a means of writing to and storing reports. Returns information when queried by the User Interface Module.

  • SQL

Widely used in the industry, SQL is the most suitable infrastructure not only for its powerful database management capabilities but will also save on training employees as most database engineers know SQL.

User Interface Module

  • Provides a user interface in which, users can access information in a user friendly environment.
  • Depending on the client's requirements, high level programming packages in Java/.Net will be used.

Comms Package Is an infrastructure built in-house to handle communication using sockets. The package is used whenever communication is needed to be established remotely.

4.3 Behavior

Sequence Diagrams

Car Accident

Enlarge

This Sequence Diagram shows what the system does when an car accident occurs.

  • The Microphone picks up the sound of a car accident.
  • The sound is then given to the A/V Processing unit.
  • This is then sent to the Incident Analysis System which labels it as an accident and notifies the central Monitoring Point. This Is also then Sent to the reports System For storage.
  • The Report is stored.




Car Drives By

Enlarge

This Sequence Diagram shows what the system does when a car drives through the intersection.

  • The Camera videos a car driving by.
  • The video is then sent to the A/V Processing unit.
  • This is then sent to the Incident Analysis System which labels it as a car driving by and notifies the Central Monitoring Point. This Is also then Sent to the reports System For storage.
  • The Report is stored.




Query

Enlarge

This Sequence Diagram shows what the system does when the Central Monitoring Point Requests a Report from the Reports System.

  • The Central Monitoring Point requests the reports.
  • The Reports System receives the request and gets the relevant reports.
  • The reports are then sent to the Central Monitoring Point.




Red Light Violation

Enlarge

This Sequence Diagram shows what the system does when a car drives through then intersection and the traffic light is red.

  • The Camera videos a car driving by.
  • The video is then sent to the A/V Processing unit.
  • The Traffic Lights Notify the Incident Analysis of its light status (red light).
  • This is then sent to the Incident Analysis System which labels it as a red light Violation and notifies the Central Monitoring Point. This Is also then Sent to the reports System For storage.
  • The Report is stored.

4.4 Architecture Prototyping

Executable prototypes are used intensively in any engineering process to ensure that all requirements are met. This is able to prove that a system is partially working if all requirements are met.

Our prototype is based on the data model and the architecture components that we have selected. Our "working" prototype demonstrated was able to meet the requirements. These requirements consisted of the ones enumerated in previous sections.

Personal tools