design desctiption - the final presentation [363 KiB]

Download Report

Transcript design desctiption - the final presentation [363 KiB]

Course builder web application
Design description
2016-05-24
1
Overview of presentation
• Architecture
•
•
•
•
Components
Design
Requirement Definition
Site flow
2016-05-24
2
The most general architecture
dll
Course Builder Classes
1 GUI
3
ASP.NET
Communication
AJAX
C#
2
C#
Data Base
4
Postgre SQL
IIS As webbased
serveron the Façade pattern
The general architecture
2016-05-24
3
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
GUI
FACADE
2
Business Logic
database
2016-05-24
4
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.
2016-05-24
5
Overview of presentation
• Architecture
• Components
• Design
• Requirement Definition
• Site flow
2016-05-24
6
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, aspweb-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.
2016-05-24
7
Overview of presentation
• Architecture
• Components
• Design
• Requirement Definition
• Site flow
2016-05-24
8
Manage Courses
(Create/Edit/Remove)
<<include>>
Manage Activities
Manage Topics
<<include>>
<<include>>
Manage Version
Manage
Workload
<<include>>
<<include>>
Login
<<include>>
Course
Designer
Change password
<<include>>
Manage
Resources
2016-05-24
<<include>>
Get Reports
9
Add Users
<<include>>
Delete User
<<include>>
Login
Administrator
<<include>>
Edit user info
(roles, name, …)
2016-05-24
10
Overview of presentation
• Architecture
• Components
• Design
• Requirement Definition
• Site flow
2016-05-24
11
Requirement Group Definitions
Identification
Requirement Group
CC
Create the Course
DC
Designing the Course
VM
Version Management
UM
User Management
WM
Workload Management
RT
Report
UO
Users’ Options
AC
Application Core
RM
Resources Management
2016-05-24
12
Requirements definitions steps
Identity
Status
Priority
Description
Creating the Course
CC-1
I
1
Defining type management (Each Course can have one type)
CC-2
I
1
Objective Management (Each course have multiple objective)
Designing the Course
DC-1
I
1
Topics Management (Adding Topics, Deleting topics, Editing Topics, etc.)
DC-2
I
1
Activities Management (Adding Activities, Deleting Activities, Editing Activities,
etc.)
Version Management
VM-1
I
1
Freezing Course
VM-2
I
2
Freezing Topics
User Management
UM-1
I
1
User roles
UM-2
I
2
Adding / Deleting / Enable / Disable user; Modifying User Information
[IC1]who
2016-05-24
originated this requirement (see 4.2)
13
Identity
Status
Priority
Description
Workload Management
WM-1
I
2
Workload analysis based on (number of students in course, number of teacher
staff, etc)
Report
RT-1
I
1
Creating customized reports (select optional rows and columns)
Users’ Options
UO-1
I
1
Change personal data
UO-2
I
2
Choose Language (Change Language according to user priority)
Application Core
AC-1
I
1
Database Abstraction
AC-2
I
1
Modularity Support
AC-3
I
2
Handling errors
AC-4
I
2
Multi-language support
Resources Management
RM-1
I
2016-05-24
1
Provide overview of resources and their modification / removal
14
Overview of presentation
•
•
•
•
Architecture
Components
Design
Requirement Definition
• Site flow
2016-05-24
15
Site flow
2016-05-24
16
Site flow
2016-05-24
17
2016-05-24
18