You are on page 1of 45

SRS FOR FP-3.

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.2. Scope of Project


The course scheduling program MyCourses will be a web based distributed
system. The system will enable entering data, such as courses, the faculty members, the
available facilities and some constraints related to the course scheduling. The system will
calculate and proposes a scheduling for courses and if needed to modify make it possible
to manually update the proposed schedule, but keeping track of the consistent scheduling.
Finally the system will provide a presentation of the scheduled course that can be printed
out if needed.

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

Enable/Disable User Account

Enter Information/Data

Program Manager

Enter Details of a program


<<include>>
Calculating & proposing a
schedule for course

<<exclude>>

Varify Schedule
Modify Schedule

According to particular course


<<exclude>>
<<exclude>>

Main Lecturer
Presentation of scheduled course

<<exclude>>

Student

<<exclude>>
Print Schedule

According to particular faculty

Enter & define details of a course

Figure 1 - System Environment

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

Functional Requirements Specification


This section outlines the use cases for each of the active actors separately.

2.2.1

Login Use Case

Use case: Login


Diagram:

Program Manager

Program
Administrator

Login

Main Lecturer

Figure 2 Login Use Case

Brief Description
The Program Administrator, Program Manager and Main Lecturer login to the
MyCourses Systems Website, in order to access different services provided.

Initial Step-By-Step Description


Before this use case can be initiated, the Program Administrator, Program Manager and
Main Lecturer have already accessed the MyCourses Website.
1. The Program Administrator, Program Manager and Main Lecturer enter their respected
User ID and password.
2. If the User ID and password is correct the user can login to their accounts and they can
access services according to the privilege granted.
Xref: Section 3.2.1, Login;

2.2.2

System Management Use Case

Use case: System Management Resource


Diagram:

<<exclude>>

Program Administrator

System management

Enable/Disable User Account

Figure 3 System Management Use Case

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

Enter Information/Data Use Case

Use case: Enter Information/Data


Diagram:

Program
Administrator

Enter Information/Data

Figure 4 Enter Information/Data Use Case

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

Enter Details of a Program Use Case

Use case: Enter Details of a Program


Diagram:

Program Manager

Enter Details of a Program

Figure 5 Enter Details of a Program Use Case

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

Calculating & Proposing a Schedule of a Course Use Case

Use case: Calculating & Proposing a Schedule of a Course


Diagram:
<<include>>

Program Manager

Calculating & Proposing a


schedule of a course

Varify Schedule

<<exclude>>

Modify schedule

Figure 6 Calculating & Proposing a Schedule of a Course Use Case

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

Presentation of Scheduled Course Use Case

Use case: Presentation of Scheduled Course


Diagram:

Program Manager
<<exclude>>

Presentation of scheduled course

According to particular faculty

<<exclude>>

<<exclude>>

<<exclude>>

Print Schedule
Student

According to particular course

Main Lecturer

Figure 7 Presentation of Scheduled Course Use Case

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

Enter & Define Details of a Course Use Case

Use case: Enter & Define Details of a Course


Diagram:

Enter & Define details of a course

Main Lecturer

Figure 8 Enter & Define Details of a Course Use Case

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

Program administrator needs to be a skilled IT professional and have a good knowledge


of database system. Also he is expected to be Windows literate and to be able to use
buttons, pull-down menus, and similar tools

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

External Interface Requirements


The only link to an external system is the link to the MyCourses System Database

to verify the membership of a Program Administrator/Program Manager/Main Lecturer.


The Administrator believes that a member is much more likely to be an effective user and
has imposed a membership requirement for a user except students.

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

3.2.2 System Management


Use Case Name
XRef
Trigger
Precondition
Basic Path

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

3.2.3 Enter Information/Data


Use Case Name
XRef
Trigger
Precondition
Basic Path

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

3.2.4 Enter Details of a Program


Use Case Name
XRef
Trigger
Precondition
Basic Path

Alternative Paths

Post condition
Exception Paths
Other

Enter Details of a Program


Section 2.2.4, Enter Details of a Program.
The Program Manager accesses the MyCourses Systems
Website.
The user should have the at least program manager 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 manager selects the add details button to submit
information about the program to the systems database.
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.
In step 4, the program administrator can click on edit details
button in order to modify programs information.
5. The system will present a new form to select a program.
6. After selecting the program 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 database has been updated.
The user may abandon the operation at any time.
None.

3.2.5 Calculating & Proposing a Schedule of a Course


Use Case Name

Calculating & Proposing a Schedule of a Course

15

XRef
Trigger
Precondition
Basic Path

Alternative Paths

Post condition
Exception Paths
Other

Section 2.2.5, Calculating & Proposing a Schedule of a Course


The Program Manager accesses the MyCourses Systems
Website.
The user should have the at least program manager 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 manager selects the generate schedule button to
generate a proposed schedule of a course.
5. The system will calculate and present the proposed schedule
for approval.
6. If the proposed schedule satisfies all constraints the program
manager verify it by clicking on save button.
7. The schedule is saved to the database and a copy of it will be
made available to the website.
7. If in step 6, the proposed schedule does not satisfy all the
constraints then the program manage can modify it by
clicking on the edit button.The system will present another
page to edit the information.
8. The program manager will save the modified information
to the database by clicking on the save button.
9. The schedule is saved to the database and a copy of it
will be made available to the website.
The schedule is saved to the database and a copy of it will be
made available to the website.
The user may abandon the operation at any time.
None.

3.2.6 Presentation of Scheduled Course


Use Case Name
XRef
Trigger

Presentation of Scheduled Course


Section 2.2.6, Presentation of Scheduled Course
The user accesses the MyCourses Systems Website.
16

Precondition
Basic Path

Alternative Paths
Post condition
Exception Paths

The program manager & main lecturer have logged on to his/her


account. Students need not to have a user ID to view a schedule.
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 manager or main lecturer selects the present
schedule button.
5. The system will present option to select if user wants to view
schedule according to course or faculty members name.
6. The system will present the schedule according to the users
choice.
None.
The schedule will be presented.
i. Students need not to have a user Id to view schedule.
ii.
The program manager & main lecturer can also view the
schedule as a normal user(i.e., Student).

OtherUsers can
also take print out
of the schedule by
clicking on print
button.

3.2.7 Enter & Define Details of a Course


Use Case Name

Enter & Define Details of a Course Feedback

17

XRef
Trigger
Precondition
Basic Path

Alternative Paths

Post condition
Exception Paths
Other

3.3
3.3.1

Section 2.2.7, Enter & Define Details of a Course.


The user accesses the MyCourses Systems Website.
The user should have the main lecturer 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 main lecturer 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 main lecturer selects the define the details button to
submit information about the course structure to the systems
database.
5. The system will present a new form to fill in the courses
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 main lecturer can click on edit details button in
order to modify courses information.
5. The system will present a new form to select a course.
6. After selecting the course the system will present the
corresponding information from the database.
7. The main lecturer 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.
None.

Detailed Non-Functional Requirements


Logical Structure of the Data

18

The logical structure of the data to be stored in the internal MyCourses A


Course Scheduling System database is given here.

Figure 8 - Logical Structure of the MyCourses System Data

The data descriptions of each of these data entities are as follows:

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

Resources allocated for semester.


Resources allocated to course.
Faculty Belongs to department.
Degree consists of courses.
Semester consists of subjects.
Department contains resourses.
Courses contains semester.
Faculty has login ID in order to login into the
system.
Department offers degree.

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

Cradit Hour (ERAttribute)


Properties:
Attribute name
Cradit Hour
Type of data
INTEGER
Constraint
NOT NULL
Documentation
Cradit Hour relationships:
In role
In relationship
Attribute part
Attribute of
Cradit Hour links:
Link type

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

Department Code (ERAttribute)


Properties:
Attribute name
Department Code
Type of data
CHAR
Constraint
NOT NULL
Documentation
Department Code relationships:
In role
In relationship
Attribute part
Attribute of
Department Code links:
Link type
Decomposition
Explosions

With objects(s)
Degree

In role
Owner part

Graph's name
none
none

Department code (ERAttribute)


Properties:
Attribute name
Department code
Type of data
CHAR
Constraint
NOT NULL
Documentation
Department code relationships:
In role
In relationship
Attribute part
Attribute of

With objects(s)
Resource

28

In role
Owner part

Department code links:


Link type
Decomposition
Explosions

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

End Date (ERAttribute)


Properties:
Attribute name
End Date
Type of data
DATE
Constraint
NOT NULL
Documentation
End Date relationships:
In role
In relationship
Attribute part
Attribute of
End Date links:
Link type
Decomposition
Explosions

With objects(s)
Semester

Graph's name
none
none

Faculty's Name (ERAttribute)


Properties:
Attribute name
Faculty's Name
Type of data
CHAR

30

In role
Owner part

Constraint
Documentation

NOT NULL

Faculty's Name relationships:


In role
In relationship
Attribute part
Attribute of
Faculty's Name links:
Link type
Decomposition
Explosions

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

Lecture Hours/week (ERAttribute)


Properties:
Attribute name
Lecture Hours/week
Type of data
INTEGER
Constraint
NOT NULL
Documentation
Lecture Hours/week relationships:
In role
In relationship
Attribute part
Attribute of
Lecture Hours/week links:
Link type
Decomposition
Explosions

With objects(s)
Subject

Graph's name
none
none

Login time (ERAttribute)

31

In role
Owner part

Properties:
Attribute name
Type of data
Constraint
Documentation

Login time
TIME
NOT NULL

Login time relationships:


In role
In relationship
Attribute part
Attribute of
Login time links:
Link type
Decomposition
Explosions

With objects(s)
Login

In role
Owner part

Graph's name
none
none

Main Lecturer (ERAttribute)


Properties:
Attribute name
Main Lecturer
Type of data
CHAR
Constraint
NOT NULL
Documentation
Main Lecturer relationships:
In role
In relationship
Attribute part
Attribute of
Main Lecturer 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

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

Number of students (ERAttribute)


Properties:
Attribute name
Number of students
Type of data
INTEGER
Constraint
NOT NULL
Documentation
Number of students relationships:
In role
In relationship
Attribute part
Attribute of
Number of students links:
Link type
Decomposition
Explosions

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

Preferred days (ERAttribute)


Properties:
Attribute name
Preferred days
Type of data
CHAR
Constraint
NOT NULL
Documentation
Preferred days relationships:
In role
In relationship
Attribute part
Attribute of
Preferred days links:
Link type
Decomposition
Explosions
Projects (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation

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

Start Date (ERAttribute)


Properties:

36

In role
Owner part

Attribute name
Type of data
Constraint
Documentation

Start Date
DATE
NOT NULL

Start Date relationships:


In role
In relationship
Attribute part
Attribute of
Start Date links:
Link type
Decomposition
Explosions
Subject (ERAttribute)
Properties:
Attribute name
Type of data
Constraint
Documentation

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

Subject Name (ERAttribute)


Properties:
Attribute name
Subject Name
Type of data
CHAR
Constraint
NOT NULL
Documentation
Subject Name relationships:
In role
In relationship
Attribute part
Attribute of
Subject Name links:
Link type
Decomposition
Explosions

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

Allocated for (Relationship)


Properties:
Relationship name
Allocated for
Documentation
Resources allocated for semester.
Allocated for relationships:
In role
In relationship
Relationship role
In relationship
Relationship role
In relationship
Allocated for links:
Link type
Decomposition
Explosions

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

You might also like