180 likes | 204 Views
Course builder web application Design description. Overview of presentation. Architecture Components Design Requirement Definition Site flow. The most general architecture. dll. Course Builder Classes. GUI. 1. 3. 2. Communication. AJAX. C#. ASP.NET. Data Base. 4. C#.
E N D
Overview of presentation • Architecture • Components • Design • Requirement Definition • Site flow
The most general architecture dll Course Builder Classes GUI 1 3 2 Communication AJAX C# ASP.NET Data Base 4 C# Postgre SQL The general architecture based on the Façade pattern IIS As web server
GUI Business Logic The course builder architecture The architecture is built upon layers: • The GUI is top layer, which in this case is the ASP.NET pages. • The second layer is the application. • The communication between layer 1 and 2 is done by an interface – usually called the FAÇADE. At the third and the bottom layer is the database. 1 FACADE 2 database
Motivation • The GUI (ASP.NET pages) are defined independent of the business logic such as all communication to that layer goes by the interface (FAÇADE) in form of system calls. • The FAÇADE represents the system of business logic in a way that is totally independent of the GUI. By that the definition of components are fulfilled. Such as both the GUI and the business logic can be refined, changed, written in any language or run on different machines/platforms. • The GUI can be replaced by any else GUI and the business logic can be changed to any else kind of internal architecture as long as it does what is defined by the interface.
Overview of presentation • Architecture • Components • Design • Requirement Definition • Site flow
Course builder architecture components: • GUI: The GUI will be represented by ASP.NET, and only consist of a visual dialog with the user and have none so ever business logic by its own. Only system calls is to be done from the “code behind” and of course it should also be dynamic by scripts, asp-web-components and so on. • FAÇADE: This is an interface in its pure form. It hides the system from the user (GUI) and just provides services. This by implementation means that it wraps the system. • Business logic: This should be designed by some or several patterns. It provides the FAÇADE with system calls. The business logic it self should be designed by singleton pattern manner so that only one instance per session are to be created. The logic it self will be defined by some suitable pattern that is found from the use-case analysis and it could consists of internal components as well. • Database: This will be designed by using an interface for connecting it, so the database itself could be extended or changed to any kind of database system.
Overview of presentation • Architecture • Components • Design • Requirement Definition • Site flow
Manage Courses (Create/Edit/Remove) Manage Activities <<include>> Manage Topics <<include>> <<include>> Manage Version Manage Workload <<include>> <<include>> Login <<include>> Course Designer Change password <<include>> <<include>> Manage Resources Get Reports
Add Users Delete User <<include>> <<include>> Login Administrator <<include>> Edit user info (roles, name, …)
Overview of presentation • Architecture • Components • Design • Requirement Definition • Site flow
Requirements definitions steps [IC1]who originated this requirement (see 4.2) [IC1]who originated this requirement (see 4.2) [IC2]who originated this requirement (see 4.2)
Overview of presentation • Architecture • Components • Design • Requirement Definition • Site flow