Software Requirements Specification For Scheduling System
Software Requirements Specification For Scheduling System
Version 1.0
Prepared by
Yohannes Lemma 0661/09
Abselam Nigatu 501/08
Haimanot Getu 0647/09
Abenezer Alemu 0637/09
Dawit Zenebe 0657/09
Abera Germama 0665/09
Scheduling System
Contents
1. Introduction .............................................................................................................................................. 1
1.1 Purpose ............................................................................................................................................... 1
1.2 Scope................................................................................................................................................... 1
1.3 Overview............................................................................................................................................. 2
1.4 Reference Material............................................................................................................................. 3
1.5 Definitions and Acronyms .................................................................................................................. 3
2. SYSTEM OVERVIEW .................................................................................................................................. 4
3. SYSTEM ARCHITECTURE ........................................................................................................................... 7
3.1 Architectural Design ........................................................................................................................... 7
3.1.1 Component Description ...................................................................................................... 7
3.1.2 Logical View ........................................................................................................................ 8
3.1.3 Process view ......................................................................................................................... 9
3.1.4 Deployment view ............................................................................................................... 10
3.1.5 Development view ............................................................................................................. 10
3.1.6 Scenario .............................................................................................................................. 10
3.2 Decomposition Description ............................................................................................................. 11
3.1.7 Account Manager .............................................................................................................. 11
3.1.8 Create Department ........................................................................................................... 13
3.1.9 Registration Manager ....................................................................................................... 13
3.1.10 Schedule Generator........................................................................................................... 15
3.1.11 Control Schedule ............................................................................................................... 16
3.2 Design Rationale............................................................................................................................... 17
4.DATA DESIGN........................................................................................................................................... 18
4.1 Data Description ............................................................................................................................... 18
4.2 Data Dictionary................................................................................................................................. 18
5.COMPONENT DESIGN.............................................................................................................................. 21
5.1 Class Diagram ................................................................................................................................... 21
5.2 Object Diagram................................................................................................................................. 22
5.3 Activity Diagram ............................................................................................................................... 23
5.4 Sequence Diagram............................................................................................................................ 26
6. HUMAN INTERFACE DESIGN .................................................................................................................. 31
6.1 Overview of User Interface ............................................................................................................ 31
Scheduling System
List of Figures
1. Introduction
1.1 Purpose
This document is provided to explain about software requirements specification of scheduling
system and is the first version. The document describes about overview of the system being
developed, scope of the project, objectives and goals of the project, functional and non-
functional requirements of the system, references used in this document and other necessary
things are included.
For system developers there is use case diagram that help them to understand the system
functionality using standard UML diagram. The sections are divided based on the IEEE template
and there is a table that use to illustrate the meaning of the use case so, you can see that for better
understanding of the use case or about the system functionality. Because there is information in
the document that are relevant for validation and verification of the system, which is the job of
tester, so the testers can also be benefited from this document.
1.2 Scope
Haramaya University has more than nine colleges and under these colleges there are many
departments. All departments have their own class schedule based on the resource they have like
classrooms and human power. The scope of our project to automate the scheduling system for all
colleges in Haramaya University.
Goal
For an organization to be successful in its activities the need for well-structured system and placing
the right schedule in the right time is necessary. So, doing this manually, it makes difficult to
accomplish tasks easily and effectively. So, we have identified the existing system and got the
main problems which exist in the colleges. The main problem of this college is lack of an
automated scheduling system. Our main goal is to make an automated scheduling system and to
overcome this problem.
1|Page
Scheduling System
Objectives
General Objective
The general objective of our project is to develop an automated scheduling system for all
Departments in Haramaya University.
Specific objective
➢ To generate class schedule: - specifically our system develops automated schedule.
➢ To update and delete course, instructor, information: - this done by Department Head.
➢ To secure data of the Department: -this system gives some privileges for authorized users to get it.
➢ To manage the information in database: -all information like admin, available room and time table
in database can be added, updated, deleted and printed.
Benefits
- It will minimize the time wasted on scheduling.
- There wouldn’t be any overlapping schedules.
- all users of the program can participate and interact with the system.
- The users can also get the information simply.
The project has many Benefits for us and for the users of the systems. The team members will get
the knowledge and experience on how to develop and design a new system. The students will get
automate scheduling system online and others can use the new system for future automation of
other colleges of the university.
1.3 Overview
The remaining of this document is organized as follows;
2|Page
Scheduling System
Section 8 : Add any important document in your design which you feel the design template has
not allowed you to put it in place.
Acronyms Definition
HTTP Hypertext Transfer Protocol
HU Haramaya University
IEEE Institute of Electrical and Electronics
Engineering
RESTful Representational State Transfer
SDLC Software Development Life Cycle
SRS Software Requirements Specification
UC Use Case
UML Unified Modelling Language
3|Page
Scheduling System
2. SYSTEM OVERVIEW
For an organization to be successful in its activities the need for well-structured system and placing
the right schedule in the right time is necessary. So doing this manually, it makes difficult to
accomplish tasks easily and effectively. So, we have identified the existing system and got the
main problems which exist in the college of computing and informatics.
The main problem of this college is lack of an automated scheduling system. This leads to the
following problems:
- Time consuming: - wasting time occurs when scheduler arrange timetable using manual
system. They be careful in arrange the time table to decrease the mistake probability, so
they need a lot of time to arrange the time table.
- Lack of Information distribution method: - The information distribution method is very
slow. Since information transformation is paper based. The prepared schedule didn’t reach
at right time to the student as well as to the Instructor, also they didn’t gate everywhere
they want. Also, the distributed information is inefficient.
- It is difficult to update: -to update only one entry of the table you must change schedule
that you print before. This needs to replace the original paper by the new updated one this
consume additional resource and assign additional work for the person who post the
schedule on the board and give for the instructors.
- There are clash of class schedule: - there are class overlapping problem.
We are building a system that can automate the manual way of arranging schedules here in
Haramaya university. The system will have input from the college dean and department head and
will take care of all the arranging of the schedules by itself.
Functionality of the system: -
• 1. All text contained in this document is 12pt Times New Roman font.
• The system provides scheduling system to all Colleges in HU.
• The system shows the schedule for all students and Staffs (Collage Dean, Registrar
Officer, Department Head etc.)
• The system provides scheduling for class .
4|Page
Scheduling System
known as a networking computing model or client/server network because all the requests and
services are delivered over a network.
5|Page
Scheduling System
The spiral model is a risk-driven software development process model. Based on the unique risk
patterns of a given project, the spiral model guides a team to adopt elements of one or more
process models, such as incremental, waterfall, or evolutionary prototyping.
These early papers use the term "process model" to refer to the spiral model as well as to
incremental, waterfall, prototyping, and other approaches. However, the spiral model's
characteristic risk-driven blending of other process models' features is already present:
Risk-driven sub setting of the spiral model steps allows the model to accommodate any
appropriate mixture of a specification-oriented, prototype-oriented, simulation-oriented,
automatic transformation-oriented, or other approach to software development.
Advantages of Spiral model:
- High amount of risk analysis hence, avoidance of Risk is enhanced.
- Good for large and mission-critical projects.
- Strong approval and documentation control.
- Additional Functionality can be added at a later date.
- Software is produced early in the software life cycle.
.
Figure 2 3Architecture of Spiral model
6|Page
Scheduling System
3. SYSTEM ARCHITECTURE
In this section the brief explanation of Scheduling System is described and presented within the
architectural diagram and brief explanation of design rationale.
The following components are the main building blocks of the system.
• Account Manager
• Create Department
• Registration Manager
• Schedule Generator
• Control Schedule
• Account Manager: - this component is responsible for creating account for the
Department Head and for the Instructors and manages their profiles.
• Create Department: - this component is responsible for creating department by explicitly
defining the name of the Department and the ID of the Head.
• Registration Manager: - this component is responsible for registering all the necessary
data for the scheduling algorithm in order to generate the schedule. (i.e. Room, Batch,
Instructor and Course).
• Schedule Generator: - this component is responsible for generating the schedule by
requesting all the necessary data from the database which is added through the
registration manager.
• Control Schedule: - this component is responsible for editing the generated schedule
through the algorithm incase there is TBA and if there is reported issue from the
instructors.
7|Page
Scheduling System
The above diagram represents the overall diagram of the proposed system. Furthermore, the
architecture of the proposed system will be broken down using the 4+1Architectural Model.
8|Page
Scheduling System
9|Page
Scheduling System
This is a view of a system’s architecture that encompasses the components used to assemble
and release a physical system. This view focuses on configuration management and actual
software module organization in the development environment. The software is actually
packaged into components that can be developed and tested by the development team.
3.1.6 Scenario
We try to take as scenario registration manager component from the components. When the
Admin want to create account for the Department Head and create the department or when
Department Head wants to manage registration of information’s needed for the schedule
activity like Room information, Instructor information, Course Information and Batch
information the registration manager component displays automatically the action that has
been performed.
10 | P a g e
Scheduling System
Type Module
11 | P a g e
Scheduling System
Type Module
12 | P a g e
Scheduling System
Type Module
Type Module
13 | P a g e
Scheduling System
14 | P a g e
Scheduling System
Type Module
Dependencies In order to start generating the schedule all the necessary data
should be stored on the database. This means that is the
should be the last thing to do after inserting a lot of data.
Processing This component will fetch all the data from the database
and generates schedule
Data This component will use all the necessary data from the DB
like rooms, instructors, batches and courses.
15 | P a g e
Scheduling System
Type Module
16 | P a g e
Scheduling System
17 | P a g e
Scheduling System
4.DATA DESIGN
In this section we are going to describe Data Design, Data design is the first design activity,
which results in less complex, modular and efficient program structure.
The information domain model developed during analysis phase is transformed into data
structures needed for implementing the software.
During the data design process, data types are specified along with the integrity rules required for
the data. For specifying and designing efficient data structures, some principles should be
followed.
1. User
2. Batch
3. Course
4. Department
5. Room
6. Teacher
7. Semester
8. Schedule
18 | P a g e
Scheduling System
19 | P a g e
Scheduling System
20 | P a g e
Scheduling System
5.COMPONENT DESIGN
5.1 Class Diagram
21 | P a g e
Scheduling System
22 | P a g e
Scheduling System
Admin
23 | P a g e
Scheduling System
Room management
24 | P a g e
Scheduling System
Batch management
25 | P a g e
Scheduling System
Admin
26 | P a g e
Scheduling System
27 | P a g e
Scheduling System
28 | P a g e
Scheduling System
29 | P a g e
Scheduling System
Instructor
30 | P a g e
Scheduling System
To view the generated schedule the user clicks on view schedule button presented on the
home page, then he/she will be provided to chose department, which will lead us to the last
step choosing batch, then the system will automatically display the schedule requested.
User can login according to his specific rolls. An Admin, Department Head or Instructor.
After logging in to his account, an admin can add users by creating accounts for department
heads and can edit profiles and add departments by using the form provided. The
Department heads added by the admin perform most of the tasks. Department Heads
perform CRUD operations creating and managing account for instructors, adding and
managing rooms, courses, and batches. Department Heads can edit the generated schedule
when necessary. Instructor accounts can report when they encounter a problem by clicking
the report problem button.
31 | P a g e
Scheduling System
Admin Page
32 | P a g e
Scheduling System
33 | P a g e
Scheduling System
34 | P a g e
Scheduling System
35 | P a g e
Scheduling System
• Buttons - Clickable boxes that allow data manipulation and screen changes.
• Text Boxes - Allows user to input any Alphas-numeric characters in order to search for
items and change information.
• Radio Buttons - Circular buttons that allow a single item in a group to be selected.
• Spinner - Generated drop down list of defined items that allow one to be selected.
36 | P a g e
Scheduling System
7 REQUIREMENTS MATRIX
This provides short descriptions about system components and their functional requirements.
The following components are the main building blocks of our system.
• Account Manager
• Create Department
• Registration Manager
• Schedule Generator
• Control Schedule
37 | P a g e
Scheduling System
38 | P a g e