System Architecture Design

LessonPlan 2.0 system is built from different parts and components. As the size of the system will increase over time, these components should be separated from each other for more maintainability and scalability. When dealing with software architecture and design, it is very critical to get the architecture right in order to prevent system disaster. Also, when an engineer understand the software architecture and organization, he/she ca make correct choices between design alternatives [1].

After looking at different architecture choices and alternatives, Model-View-Architecture has been adopted for the proposed system.The reason for choosing this architecture/pattern for the software design is to separate the concerns. Also, since most of web development frameworks and languages offers mature implementation of MVC, it will be easier for developer to adopt it and build on it in future.

Model in module review system consists of entity classes which deals with the database. These models notify the view (web pages) when a change on the data has been made. The controller takes the request and process all the application logic.

The system might need to get some data from university student records database. This could be done using remote procedure calls from module review database to student records database. Module description pages will be fetched from university using RDF and XML.

Here is the abstract software architecture of module review system using MVC:

Social MVC Diagram——————

[1] Garlan, D., & Shaw, M. (1994). An introduction to software architecture. Carnegie Mellon University