Professional Documents
Culture Documents
Table of Contents
1.0. Introduction................................................................................................................................................1
1.1. Purpose..................................................................................................................................................1
1.2. Scope of Project.....................................................................................................................................1
1.3. Glossary.................................................................................................................................................2
2.0. Overall Description....................................................................................................................................3
2.1 System Environment...............................................................................................................................3
2.2 Functional Requirements Specification..................................................................................................4
2.2.1 Login Use Case................................................................................................................................4
Use case: Login.....................................................................................................................................4
2.2.2System Management Use Case........................................................................................................5
Use case: System Management Resource.............................................................................................5
2.2.3Enter Information/Data Use Case.....................................................................................................6
Use case: Enter Information/Data.........................................................................................................6
Use case: Enter Details of a Program...................................................................................................7
Use case: Calculating & Proposing a Schedule of a Course................................................................8
Use case: Presentation of Scheduled Course........................................................................................9
Diagram:...............................................................................................................................................9
Use case: Enter & Define Details of a Course....................................................................................10
Diagram:.............................................................................................................................................10
2.3 User Characteristics..............................................................................................................................11
2.4 Non-Functional Requirements..............................................................................................................11
3.0. Requirements Specification.....................................................................................................................12
3.1 External Interface Requirements..........................................................................................................12
3.2 Functional Requirements......................................................................................................................12
3.2.1 Login..............................................................................................................................................12
3.2.2 System Management.....................................................................................................................13
3.2.3 Enter Information/Data..................................................................................................................14
3.2.4 Enter Details of a Program............................................................................................................15
3.2.5 Calculating & Proposing a Schedule of a Course.........................................................................16
3.2.6 Presentation of Scheduled Course.................................................................................................17
3.2.7 Enter & Define Details of a Course...............................................................................................18
3.3 Detailed Non-Functional Requirements...............................................................................................19
3.3.1 Logical Structure of the Data........................................................................................................19
3.3.2 Security..........................................................................................................................................42
ii
List of Figures
Figure 1 - System Environment........................................................................................................................3
iii
1.0. Introduction
1.1. Purpose
The program MyCourses provides as optimal as possible a plan for scheduling
courses. Every university is faced each year with the same problem: How to schedule a
large number of courses in an optimal way while fulfilling a number of constraints, such
as available lecture rooms, limited availability of lecturers, students selections of the
courses, and similar.
The purpose to develop this system is to provide an interactive course scheduling web
based program that will produce the optimal schedule of the classes or course in lesser
time. The program will help in saving time, money and efforts of the university.
1.3. Glossary
Term
Program Administrator
Program Manager
Main Lecturer
Student
Database
Field
Software Requirements
Specification
Stakeholder
User
Definition
Takes care of the system and maintaining the database
Structure.
Is the user who will enter the all data about program,
course, faculty etc.
Is the examiner and defines the course structure (decide the
content of the courses, Selection of Faculty etc).
Is the User who has limited access to system i.e. View &
Printout of the Time table.
Collection of all the information and data monitored by this
system.
A cell within a form.
A document that completely describes all of the functions
of a proposed system and the constraints under which it
must operate. For example, this document.
Any person with an interest in the project who is not a
developer.
Students or Teachers or Administrator or Program Manager.
2.0.Overall Description
2.1
System Environment
MyCourses
Login
<<exclude>>
Program
Administrator
System Management
Enter Information/Data
Program Manager
<<exclude>>
Varify Schedule
Modify Schedule
Main Lecturer
Presentation of scheduled course
<<exclude>>
Student
<<exclude>>
Print Schedule
The MyCourses System has four active actors and one cooperating system.
All the four actors can access the system through the internet. Program Administrator
manages the program at the university and defines program. He/she also provides access
control to the Program manager and main lecturer. Student need not to have a login Id in
order to access the schedule time table. He/she can take printout of the scheduled
timetable according to the course. The Administrator accesses the entire system directly.
2.2
2.2.1
Program Manager
Program
Administrator
Login
Main Lecturer
Brief Description
The Program Administrator, Program Manager and Main Lecturer login to the
MyCourses Systems Website, in order to access different services provided.
2.2.2
<<exclude>>
Program Administrator
System management
Brief Description
The Program Administrator who is responsible for management of the programs at the
university defines programs. He / She identifies the program, its running period (starting
and ending year), and a program manager who will have the overall responsibility for the
program. The Program Administrator can enable /disable any user account if needed.
Initial Step-By-Step Description
Before this use case can be initiated, the Program Administrator has already accessed the
MyCourses Website.
1. The Program Administrator enters his/her respected User ID and password.
2. If the User ID and password is correct he/she can login to his/her accounts and he/she
can access services.
3. The Program Administrator can identify the program, its running period (starting and
ending year).
4. The Program Administrator can add new program manager by enabling new user
account. Program Administrator can also disable any user account.
Xref: Section 3.2.2, System Management;
2.2.3
Program
Administrator
Enter Information/Data
Brief Description
The program administrator enters data about different resources: The available lecture
rooms and laboratories in which the courses (or particular elements) will take place, and
some other elements such as data about number of available places, or availability of the
room is entered.
Initial Step-By-Step Description
Before this use case can be initiated, the Program Administrator has already accessed the
MyCourses Website.
1. The Program Administrator enters his/her respected User ID and password.
2. If the User ID and password is correct he/she can login to his/her accounts and he/she
can access services.
3. The Program Administrator will select the option to add resource information and a new
form will appear.
4. The program administrator will enter information in the respected fields and press
Save button to save the information in the database.
Xref: Section 3.2.3, Enter Information/Data;
2.2.4
Program Manager
Brief Description
A Program Manager, when enabled, can enter all details about the program: Which
courses it includes, which of these courses are obligatory and which optional, etc. The
courses may already exist, and in that case he/she creates a new course instance with a
given period of its execution, who is the main lecturer (examiner), and some additional
general information about the course. If the course is new, then the program manager
creates it first, and then creates a new instance of it.
Initial Step-By-Step Description
Before this use case can be initiated, the Program Manager has already accessed the
MyCourses Website.
1. The Program Manager enters his/her respected User ID and password.
2. If the User ID and password is correct he/she can login to his/her accounts and he/she
can access services.
3. The Program Manager will select the option to add details of an existing program or to
create a new course instance.
4. If he/she selects to create a new course instance then a new form will appear to create a
new course instance and he/she will enter the data about the course in it and click on
Save button to save information to the database.
5. If he/she selects to enter details of an existing course then a new form will appear to
enter or edit details of an existing course and he/she will enter the data about the course
in it and click on Save button to save information to the database..
Xref: Section 3.2.4, Enter Details of a Program;
2.2.5
Program Manager
Varify Schedule
<<exclude>>
Modify schedule
Brief Description
On the bases of the information entered in the database by Program Administrator and
Program manager, the program manager will generate a proposed schedule of the
courses. The program manager will verify the proposed schedule and if he/she need to
edit it he/she can do so.
Initial Step-By-Step Description
Before this use case can be initiated, the Program Manager has already accessed the
MyCourses Website.
1. The Program Manager enters his/her respected User ID and password.
2. If the User ID and password is correct he/she can login to his/her accounts and he/she
can access services.
3. The Program Manager will select the option to generate schedule of a course.
4. On the bases of the course entered by the program manager and corresponding
information retrieved from the database, the system will propose a schedule of the
course.
5. The system will ask to verify the proposed schedule of the course.
6. The program manager will check the proposed schedule of the course .If he/she need to
edit it he/she can do so by modifying schedule and the save it.
7. The verified schedule will be saved in the database and will be displaced on the web site
of the university.
Xref: Section 3.2.5, Calculating & Proposing a Schedule of a Course;
2.2.6
Program Manager
<<exclude>>
<<exclude>>
<<exclude>>
<<exclude>>
Print Schedule
Student
Main Lecturer
Brief Description
Several users can run a (semi)automatic scheduling process that provides a schedule
proposal for a course or a set of courses (e.g. the entire program, or selected courses): the
days and time, and places should be scheduled.
Initial Step-By-Step Description
Before this use case can be initiated, the Program Manager, Main Lecturer and student
has already accessed the MyCourses Website.
1. The Program Manager and Main Lecturer enter his/her respected User ID and password
at the web site. Students need not to have any User Id or password to view scheduled
course.
2. If the User ID and password is correct he/she can login to his/her accounts and he/she
can access services.
3. The Program Manager and Main Lecturer will select the option to view schedule
according to course or faculty members name.
4. A pop-up window will appear to enter name of the course or faculty member.
5. The system will present the schedule accordingly.
6. User can save or take print out of the schedule by choosing appropriate option.
7. Student can only view schedule according to the course name.
Xref: Section 3.2.6, Presentation of Scheduled Course;
2.2.7
Main Lecturer
Brief Description
The main lecturer defines the details about the course instance he is assigned for: Which
are other people from the teaching staff involved in the course, which are the course
elements (lectures, tutorials, labs, projects), the way of possible course execution (a
number of lectures and other elements per week, preferred days, expected number of
students, and similar). He may wish to (smart) copy all data from a previous instance of
the course.
Initial Step-By-Step Description
Before this use case can be initiated, the Main Lecturer has already accessed the
MyCourses Website.
1. The Main Lecturer enters his/her respected User ID and password.
2. If the User ID and password is correct he/she can login to his/her accounts and he/she
can access his/her account services.
3. The Main Lecturer will select the option to Enter Details of a course or to use the
previous instance of the course.
4. On the bases of the option selected a new form will appear to enter details of a course.
5. He/she will enter the details of the course and save it to the database by clicking on the
Save button.
Xref: Section 3.2.7, Enter & Define Details of a Course;
10
2.3
User Characteristics
The user is expected to be Internet literate and be able to use a website. The
2.4
Non-Functional Requirements
The MyCourse System will be on a server preferably FLOSS (Free/Libre and
Open Source Software) which is already in use at the university. The physical machine to
be used will be determined by the university person i.e. Program Administrator. The
software developed here assumes the use of a tool such as Tomcat for connection
between the Web pages and the database. The speed of the users connection will depend
on the hardware used rather than characteristics of this system.
The Information Manager will run on the Administrators PC and will contain an
FLOSS database. FLOSS database is already installed on this computer and is a Windows
operating system.
11
3.0.Requirements Specification
3.1
3.2
Functional Requirements
The Logical Structure of the Data is contained in Section 3.3.1.
3.2.1 Login
Use Case Name
XRef
Trigger
Precondition
Basic Path
Alternative Paths
Post condition
Exception Paths
Other
Login
Section 2.2.1, Login.
The user selects to login to the user account at MyCourses
Systems Website.
The user has a valid User ID and password at the MyCourses
Systems Website.
1. The user selects the login button to login his/her account at
MyCourses Systems website home page.
2. The user enters the valid User ID and password at the login
page.
3. The system validates the User ID and Password with the
database and will move to users account main page if user
ID and password is correct.
In step 3. If the User ID and Password is not correct the system
will present to the login page again.
The user has logged into his/her account.
The user may abandon the operation at any time.
None.
12
Alternative Paths
Post condition
Exception Paths
Other
System Management
Section 2.2.2, System Management
The Program Administrator accesses the MyCourses Systems
Website
The user should have the program administrator privilege and
should log on to his/her account.
1. The user selects the login button to login his/her account at
MyCourses Systems website home page.
2. The Program Administrator enters his/her respected User ID
and password
3. The system validates the User ID and Password with the
database and will move to users account main page if user
ID and password is correct.
4. The Program Administrator click on enable/disable user
account button.
5. The system will present a searchable list of users in a grid. .
6. The program administrator selects a user and clicks on enable
or disable button to enable or disable user.
In step 4, the program administrator can click on add new user
button to add a new user to the system.
5. The system will present a new form to fill in the user
information.
6. The system will check the form after filling the form and
click on save button. If all information is correctly filled
then the information is saved to the database.
In step 4, the program administrator can click on identify the
program button to enter information about the program.
5. The system will present a new form to fill in the
programs information.
6. The system will check the form after filling the form and
click on save button. If all information is correctly filled
then the information is saved to the database.
The information has been saved to the systems database.
The user may abandon the process at any time.
Typically when defining a new program, the same program from
the previous year would be copied, with some data changed
afterwards.
13
Alternative Paths
Post condition
Exception Paths
OtherNone.
Enter Information/Data
Section 2.2.3, Enter Information/Data.
The Program Administrator accesses the MyCourses Systems
Website.
The user should have the program administrator privilege and
should log on to his/her account.
1. The user selects the login button to login his/her account at
MyCourses Systems website home page.
2. The Program Administrator enters his/her respected User ID
and password
3. The system validates the User ID and Password with the
database and will move to users account main page if user
ID and password is correct.
4. The program administrator selects the add resource button to
submit an items information (e.g., available lecture room &
laboratories etc.) to the systems database.
7. The system will present a new form to fill in the resource
information.
6. The system will check the form after filling the form and
click on save button. If all information is correctly filled then
the information is saved to the database.
In step 4, the program administrator can click on edit resource
information button to modify resource information.
5. The system will present a new form to select a resource
type.
6. After selecting the resource type the system will present
the corresponding information from the database.
7. The program administrator will edit the information.
8. The system will check the form after filling the form and
click on save button. If all information is correctly filled
then the information is saved to the database.
The information has been is saved to the systems database.
The user may abandon the operation at any time.
14
Alternative Paths
Post condition
Exception Paths
Other
15
XRef
Trigger
Precondition
Basic Path
Alternative Paths
Post condition
Exception Paths
Other
Precondition
Basic Path
Alternative Paths
Post condition
Exception Paths
OtherUsers can
also take print out
of the schedule by
clicking on print
button.
17
XRef
Trigger
Precondition
Basic Path
Alternative Paths
Post condition
Exception Paths
Other
3.3
3.3.1
18
Graph dictionary
Object
Course
Degree
Type of Object
Entity
Entity
19
Documentation
Department
Faculty
Login
Resource
Semester
Subject
Code
Code
Code
Code
Code
Code
Code
Code
Cradit Hour
Cradits
Department Code
Department code
Description
Description
Designation
Enable/Disable
End Date
Faculty's Name
labs/week
Lecture Hours/week
Login time
Main Lecturer
Name
Name
Name
Name
Name
Name
Name
Number of students
Obligatory/Optional
Password
Preferred days
Projects
Start Date
Subject
Subject Name
Tutorials/week
Type
Entity
Entity
Entity
Entity
Entity
Entity
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
ERAttribute
20
User ID
Allocated for
Allocated to
Belongs to
Consists
Consists of
Contains
Contains
Has
ERAttribute
Relationship
Relationship
Relationship
Relationship
Relationship
Relationship
Relationship
Relationship
Offers
Relationship
Course (Entity)
Properties:
Entity name
Documentation
Course relationships:
In role
Entity part
Entity part
Entity part
Owner part
Owner part
Owner part
Owner part
Course
In relationship
In relationship
In relationship
In relationship
Attribute of
Attribute of
Attribute of
Attribute of
Course links:
Link type
Decomposition
Explosions
Degree (Entity)
Properties:
Entity name
Documentation
Degree relationships:
In role
Entity part
Entity part
Owner part
Owner part
Owner part
Owner part
With objects(s)
Consists
Contains
Allocated to
Code
Name
Description
Subject Name
In role
Relationship role
Relationship role
Relationship role
Attribute part
Attribute part
Attribute part
Attribute part
Graph's name
none
none
Degree
In relationship
In relationship
In relationship
Attribute of
Attribute of
Attribute of
Attribute of
With objects(s)
Offers
Consists
Cradit Hour
Department Code
Name
Code
21
In role
Relationship role
Relationship role
Attribute part
Attribute part
Attribute part
Attribute part
Degree links:
Link type
Decomposition
Explosions
Department (Entity)
Properties:
Entity name
Documentation
Graph's name
none
none
Department
Department relationships:
In role
In relationship
Entity part
In relationship
Entity part
In relationship
Entity part
In relationship
Owner part
Attribute of
Owner part
Attribute of
Owner part
Attribute of
Department links:
Link type
Decomposition
Explosions
Faculty (Entity)
Properties:
Entity name
Documentation
Faculty relationships:
In role
Entity part
Entity part
Owner part
Owner part
Owner part
Owner part
Owner part
Faculty links:
Link type
Decomposition
Explosions
With objects(s)
Belongs to
Offers
Contains
Code
Name
Faculty's Name
In role
Relationship role
Relationship role
Relationship role
Attribute part
Attribute part
Attribute part
Graph's name
none
none
Faculty
In relationship
In relationship
In relationship
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
With objects(s)
Has
Belongs to
Code
Name
Designation
Subject
Description
Graph's name
none
none
22
In role
Relationship role
Relationship role
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
Login (Entity)
Properties:
Entity name
Documentation
Login relationships:
In role
Entity part
Owner part
Owner part
Owner part
Owner part
Owner part
Owner part
Login
In relationship
In relationship
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
Login links:
Link type
Decomposition
Explosions
Resource (Entity)
Properties:
Entity name
Documentation
With objects(s)
Has
User ID
Password
Code
Name
Login time
Enable/Disable
Graph's name
none
none
Resource
Resource relationships:
In role
In relationship
Entity part
In relationship
Entity part
In relationship
Entity part
In relationship
Owner part
Attribute of
Owner part
Attribute of
Owner part
Attribute of
Owner part
Attribute of
Resource links:
Link type
Decomposition
Explosions
Semester (Entity)
Properties:
Entity name
Documentation
In role
Relationship role
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
With objects(s)
Contains
Allocated for
Allocated to
Code
Type
Name
Department code
Graph's name
none
none
Semester
23
In role
Relationship role
Relationship role
Relationship role
Attribute part
Attribute part
Attribute part
Attribute part
Semester relationships:
In role
In relationship
Entity part
In relationship
Entity part
In relationship
Entity part
In relationship
Owner part
Attribute of
Owner part
Attribute of
Owner part
Attribute of
Semester links:
Link type
Decomposition
Explosions
Subject (Entity)
Properties:
Entity name
Documentation
Subject relationships:
In role
Entity part
Owner part
Owner part
Owner part
Owner part
Owner part
Owner part
Owner part
Owner part
Owner part
Owner part
Owner part
Subject links:
Link type
Decomposition
Explosions
Code (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
With objects(s)
Contains
Consists of
Allocated for
Code
Start Date
End Date
In role
Relationship role
Relationship role
Relationship role
Attribute part
Attribute part
Attribute part
Graph's name
none
none
Subject
In relationship
In relationship
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
Attribute of
With objects(s)
Consists of
Code
Name
Lecture Hours/week
Cradits
Main Lecturer
Obligatory/Optional
Tutorials/week
labs/week
Projects
Number of students
Preferred days
Graph's name
none
none
Code
CHAR
NOT NULL
24
In role
Relationship role
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
Attribute part
Code relationships:
In role
Attribute part
In relationship
Attribute of
Code links:
Link type
Decomposition
Explosions
Code (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Code relationships:
In role
Attribute part
Code relationships:
In role
Attribute part
Code
CHAR
NOT NULL PRIMARY KEY
In relationship
Attribute of
With objects(s)
Resource
In role
Owner part
Graph's name
none
none
Code
CHAR
NOT NULL PRIMARY KEY
In relationship
Attribute of
Code links:
Link type
Decomposition
Explosions
Code (ERAttribute)
Properties:
Attribute name
In role
Owner part
Graph's name
none
none
Code links:
Link type
Decomposition
Explosions
Code (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
With objects(s)
Login
With objects(s)
Semester
Graph's name
none
none
Code
25
In role
Owner part
Type of data
Constraint
Documentation
Code relationships:
In role
Attribute part
Code links:
Link type
Decomposition
Explosions
Code (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Code relationships:
In role
Attribute part
Code links:
Link type
Decomposition
Explosions
Code (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Code relationships:
In role
Attribute part
Code links:
Link type
Decomposition
Explosions
CHAR
NOT NULL PRIMARY KEY
In relationship
Attribute of
With objects(s)
Department
In role
Owner part
Graph's name
none
none
Code
CHAR
NOT NULL PRIMARY KEY
In relationship
Attribute of
With objects(s)
Course
In role
Owner part
Graph's name
none
none
Code
CHAR
NOT NULL PRIMARY KEY
In relationship
Attribute of
With objects(s)
Degree
Graph's name
none
none
26
In role
Owner part
Code (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Code relationships:
In role
Attribute part
Code links:
Link type
Decomposition
Explosions
Code (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Code relationships:
In role
Attribute part
Code links:
Link type
Decomposition
Explosions
Code
CHAR
NOT NULL PRIMARY KEY
In relationship
Attribute of
With objects(s)
Subject
In role
Owner part
Graph's name
none
none
Code
CHAR
NOT NULL PRIMARY KEY
In relationship
Attribute of
With objects(s)
Faculty
In role
Owner part
Graph's name
none
none
With objects(s)
Degree
Graph's name
27
In role
Owner part
Decomposition
Explosions
Cradits (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
none
none
Cradits
INTEGER
NOT NULL
Cradits relationships:
In role
In relationship
Attribute part
Attribute of
Cradits links:
Link type
Decomposition
Explosions
With objects(s)
Subject
In role
Owner part
Graph's name
none
none
With objects(s)
Degree
In role
Owner part
Graph's name
none
none
With objects(s)
Resource
28
In role
Owner part
Graph's name
none
none
Description (ERAttribute)
Properties:
Attribute name
Description
Type of data
CHAR
Constraint
Documentation
Description relationships:
In role
In relationship
Attribute part
Attribute of
Description links:
Link type
Decomposition
Explosions
With objects(s)
Course
In role
Owner part
Graph's name
none
none
Description (ERAttribute)
Properties:
Attribute name
Description
Type of data
CHAR
Constraint
Documentation
Description relationships:
In role
In relationship
Attribute part
Attribute of
Description links:
Link type
Decomposition
Explosions
With objects(s)
Faculty
Graph's name
none
none
Designation (ERAttribute)
Properties:
Attribute name
Designation
Type of data
CHAR
Constraint
NOT NULL
Documentation
29
In role
Owner part
Designation relationships:
In role
In relationship
Attribute part
Attribute of
Designation links:
Link type
Decomposition
Explosions
With objects(s)
Faculty
In role
Owner part
Graph's name
none
none
Enable/Disable (ERAttribute)
Properties:
Attribute name
Enable/Disable
Type of data
CHAR
Constraint
NOT NULL
Documentation
Enable/Disable relationships:
In role
In relationship
Attribute part
Attribute of
Enable/Disable links:
Link type
Decomposition
Explosions
With objects(s)
Login
In role
Owner part
Graph's name
none
none
With objects(s)
Semester
Graph's name
none
none
30
In role
Owner part
Constraint
Documentation
NOT NULL
With objects(s)
Department
In role
Owner part
Graph's name
none
none
labs/week (ERAttribute)
Properties:
Attribute name
labs/week
Type of data
INTEGER
Constraint
NOT NULL
Documentation
labs/week relationships:
In role
In relationship
Attribute part
Attribute of
labs/week links:
Link type
Decomposition
Explosions
With objects(s)
Subject
In role
Owner part
Graph's name
none
none
With objects(s)
Subject
Graph's name
none
none
31
In role
Owner part
Properties:
Attribute name
Type of data
Constraint
Documentation
Login time
TIME
NOT NULL
With objects(s)
Login
In role
Owner part
Graph's name
none
none
With objects(s)
Subject
In role
Owner part
Graph's name
none
none
Name
CHAR
NOT NULL
In relationship
Attribute of
With objects(s)
Login
Graph's name
none
32
In role
Owner part
Explosions
Name (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Name relationships:
In role
Attribute part
Name links:
Link type
Decomposition
Explosions
Name (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Name relationships:
In role
Attribute part
Name links:
Link type
Decomposition
Explosions
Name (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Name relationships:
In role
Attribute part
none
Name
CHAR
NOT NULL
In relationship
Attribute of
With objects(s)
Resource
In role
Owner part
Graph's name
none
none
Name
CHAR
NOT NULL
In relationship
Attribute of
With objects(s)
Department
In role
Owner part
Graph's name
none
none
Name
CHAR
NOT NULL
In relationship
Attribute of
With objects(s)
Course
33
In role
Owner part
Name links:
Link type
Decomposition
Explosions
Name (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Name relationships:
In role
Attribute part
Name links:
Link type
Decomposition
Explosions
Name (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Name relationships:
In role
Attribute part
Name links:
Link type
Decomposition
Explosions
Name (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Graph's name
none
none
Name
CHAR
NOT NULL
In relationship
Attribute of
With objects(s)
Degree
In role
Owner part
Graph's name
none
none
Name
CHAR
NOT NULL
In relationship
Attribute of
With objects(s)
Subject
Graph's name
none
none
Name
CHAR
NOT NULL
Name relationships:
34
In role
Owner part
In role
Attribute part
In relationship
Attribute of
Name links:
Link type
Decomposition
Explosions
With objects(s)
Faculty
In role
Owner part
Graph's name
none
none
With objects(s)
Subject
In role
Owner part
Graph's name
none
none
Obligatory/Optional (ERAttribute)
Properties:
Attribute name
Obligatory/Optional
Type of data
CHAR
Constraint
NOT NULL
Documentation
Obligatory/Optional relationships:
In role
In relationship
Attribute part
Attribute of
Obligatory/Optional links:
Link type
Decomposition
Explosions
With objects(s)
Subject
Graph's name
none
none
Password (ERAttribute)
Properties:
Attribute name
Password
Type of data
CHAR
Constraint
NOT NULL
35
In role
Owner part
Documentation
Password relationships:
In role
In relationship
Attribute part
Attribute of
Password links:
Link type
Decomposition
Explosions
With objects(s)
Login
In role
Owner part
Graph's name
none
none
With objects(s)
Subject
Graph's name
none
none
Projects
INTEGER
NOT NULL
Projects relationships:
In role
In relationship
Attribute part
Attribute of
Projects links:
Link type
Decomposition
Explosions
In role
Owner part
With objects(s)
Subject
Graph's name
none
none
36
In role
Owner part
Attribute name
Type of data
Constraint
Documentation
Start Date
DATE
NOT NULL
With objects(s)
Semester
Graph's name
none
none
Subject
CHAR
NOT NULL
Subject relationships:
In role
In relationship
Attribute part
Attribute of
Subject links:
Link type
Decomposition
Explosions
In role
Owner part
With objects(s)
Faculty
In role
Owner part
Graph's name
none
none
With objects(s)
Course
Graph's name
none
none
37
In role
Owner part
Tutorials/week (ERAttribute)
Properties:
Attribute name
Tutorials/week
Type of data
INTEGER
Constraint
NOT NULL
Documentation
Tutorials/week relationships:
In role
In relationship
Attribute part
Attribute of
Tutorials/week links:
Link type
Decomposition
Explosions
In role
Owner part
Graph's name
none
none
Type (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
Type relationships:
In role
Attribute part
With objects(s)
Subject
Type
CHAR
NOT NULL
In relationship
Attribute of
Type links:
Link type
Decomposition
Explosions
User ID (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation
With objects(s)
Resource
In role
Owner part
Graph's name
none
none
User ID
CHAR
NOT NULL PRIMARY KEY
User ID relationships:
In role
In relationship
Attribute part
Attribute of
With objects(s)
Login
User ID links:
38
In role
Owner part
Link type
Decomposition
Explosions
Graph's name
none
none
With objects(s)
Resource
Semester
In role
Entity part
Entity part
Graph's name
none
none
Allocated to (Relationship)
Properties:
Relationship name
Allocated to
Documentation
Resources allocated to course.
Allocated to relationships:
In role
In relationship
Relationship role
In relationship
Relationship role
In relationship
Allocated to links:
Link type
Decomposition
Explosions
With objects(s)
Resource
Course
In role
Entity part
Entity part
Graph's name
none
none
Belongs to (Relationship)
Properties:
Relationship name
Belongs to
Documentation
Faculty Belongs to department.
Belongs to relationships:
In role
In relationship
Relationship role
In relationship
Relationship role
In relationship
With objects(s)
Department
Faculty
Belongs to links:
39
In role
Entity part
Entity part
Link type
Decomposition
Explosions
Consists (Relationship)
Properties:
Relationship name
Documentation
Graph's name
none
none
Consists
Degree consists of courses.
Consists relationships:
In role
In relationship
Relationship role
In relationship
Relationship role
In relationship
Consists links:
Link type
Decomposition
Explosions
With objects(s)
Course
Degree
In role
Entity part
Entity part
Graph's name
none
none
Consists of (Relationship)
Properties:
Relationship name
Consists of
Documentation
Semester consists of subjects.
Consists of relationships:
In role
In relationship
Relationship role
In relationship
Relationship role
In relationship
Consists of links:
Link type
Decomposition
Explosions
With objects(s)
Semester
Subject
In role
Entity part
Entity part
Graph's name
none
none
Contains (Relationship)
Properties:
Relationship name
Contains
Documentation
Department contains resourses.
Contains relationships:
In role
In relationship
Relationship role
In relationship
Relationship role
In relationship
With objects(s)
Department
Resource
Contains links:
40
In role
Entity part
Entity part
Link type
Decomposition
Explosions
Graph's name
none
none
Contains (Relationship)
Properties:
Relationship name
Contains
Documentation
Courses contains semester.
Contains relationships:
In role
In relationship
Relationship role
In relationship
Relationship role
In relationship
Contains links:
Link type
Decomposition
Explosions
Has (Relationship)
Properties:
Relationship name
Documentation
Has relationships:
In role
Relationship role
Relationship role
Has links:
Link type
Decomposition
Explosions
Offers (Relationship)
Properties:
Relationship name
Documentation
With objects(s)
Course
Semester
In role
Entity part
Entity part
Graph's name
none
none
Has
Faculty has login ID in order to login into the system.
In relationship
In relationship
In relationship
With objects(s)
Login
Faculty
In role
Entity part
Entity part
Graph's name
none
none
Offers
Department offers degree.
Offers relationships:
In role
In relationship
Relationship role
In relationship
Relationship role
In relationship
With objects(s)
Department
Degree
Offers links:
41
In role
Entity part
Entity part
Link type
Decomposition
Explosions
Graph's name
none
none
3.3.2 Security
The server on which the MyCourses System resides will have its own security to
prevent unauthorized write/delete access. The PC on which the Information Manager
resides will have its own security. Only the Administrator will have physical access to the
machine and the program on it.
42