You are on page 1of 108

Mini PROJECT

Module

Prepared By:
Melkamu D. (M.Sc.)

Mizan Tepi University


School of Computing and Informatics
Department of Software Engineering

Tepi, Ethiopia
Feb, 2016 E.C.
Mizan Tepi University
School of Computing and Informatics
Department of Software Engineering

Module
Mini PROJECT

Prepared By:
Mr. Melkamu D. (M.Sc.)
1.Module Description

This course involves identifying a problem, studying the problem, gathering data and relevant
materials and an open presentation of the development of the project work.

2.Module Goals or Learning Outcomes


At the end of the module, the students will be able to do the following:

 Understand the basic principle of final year project.


 Formulate project problem or prove conjecture.
 Do independent literature reading.
 Write project proposal.
 Doing requirement analysis and modeling.
 Present project documentation (RAD & SDD).

3. Syllabus
Chapter 1: - Introduction

Chapter 2: - Description of the Existing System

Chapter 3: - System Analysis (Modeling of the Existing and Proposed System using the chosen
methodology)

Chapter 4: - System Design

Chapter 5: - Implementation and Testing

Chapter 6: - Conclusions and Recommandation


MIZAN TEPI UNIVERSITY

School of Computing and Informatics

Department of Software Engineering

Guideline for Mini Project

Real-life project is an essential part of the university curriculum for the students of B.Sc. Software
Engineering to give them the sole entity of the technology. The following guidelines are designed for the
students of Software Engineering for their mini-project work. It will serve for uniformity and
consistency in project proposals and main project writing by the target students.

1. Format or writing style in Final Year “ Senior Project”

Paper size and margins


- Use A-4 paper (8 1/2 x 11”) and 2.5 cm for all margins of the manuscripts
Line and paragraph spacing
- Use 1.5 spacing for the body of the text, except for tables and references, where you need to use
single-line spacing. Do not indent paragraphs but use block typing and no need for background
effects. Alignment of the text is essential.
Font type and font size
- Capitalize only the first letter of each word, excluding common words in the title and make its
font 16 and Bold. The common words are prepositions, conjunctions or connectives (such as: of,
in, a, and, or, etc.)
Example 1: Title & Font size

Your Title of The Project (write the title here)


- Capitalize only the first letter of the main heading and make its font size 16 and bold as above.
Example 2: Subheading and Font size

Chapter One

Introduction

- Capitalize only the first letter of the subheading and make its font size 14 and bold as above.
Example 3: Sub-subheading

Network Security
- If there is a sub-subheading, capitalize only the first letter and make it italic with a font size of 12
without bolding as above.
2. References or Bibliography, Webliography
Use the following format (APA citation style)
Author(s) (date & year), Title of Book, Title of Article, Title of Periodical, Volume, Pages, Place of
Publication, Publisher and Other Information.

Example:

References:

James, N. E. (1988). Two sides of paradise: The Eden myth according to Kirk and Spock.

In D. Palumbo (Ed.), Spectrum of the Fantastic (pp. 219-223). Westport, CT: Greenwood.

Lynch, T. (1996). DS9 trials and tribble actions review. Retrieved March 08, 2010, from
Psi Phi: Bradley’s Science Fiction Club

Webliography:
MIZAN TEPI UNIVERSITY

[1] www.bradley.edu/campusorg/psiphi/DS9/ep/503r.html
SCHOOL OF COMPUTING AND INFORMATICS
[2] ------
DEPARTMENT OF Software Engineering

3. Format for title/Cover page for Senior Project

“Title BOLD”

Group members name and Id no.

Advisor’s name

A Mini project (proposal)


4. Contents of Mini project proposal

Mini Project Proposal


Since some parts of this proposal will be included in your final project document, you are expected to do
your best. The project proposal shall have the following sections:

1. Title page (see its format)


2. Abstract (approximately 200 to 400 words with keywords)
Provide a brief summary of your project. A few sentences should suffice since you will provide details in
other sections.

3. Table of content
4. List of tables (if any)
5. Background of Institute/University
6. Background of the Project
Provide information essential to understanding your project. This includes, but is not limited to, the
following:

 Descriptions (Provide a brief description of the institute/university, details of your project, why
you selected the topic? Major goals of the project, and why this topic is of interest)
 Prior work done by others (if any)
 Prior work done by you (if any)
7. Team Composition
Project Title Full name of the project title (short name)

Prepared By S.No. Name ID. No. Email/Mobile Responsibility

Date …… March, 2022

Advisor

8. Tasks and Schedule (List the start date, stop date, and estimated number of hours to completion.
Your schedule shall include submitting the requirements specification as a milestone. Be sure to
consider holidays and other events that may impact your schedule. Be realistic!)
9. Problem statement
10. Detailed Objectives of the Project
1.

2.

3.

These objectives will be achieved by following the implementation through successive activities:

 Problem identification and definition


 Requirement Gathering
 System analysis
 System design
 Software development/Customization
 Testing
 Pre-implementation
 Rectification of desired parameters
 Post-implementation
 Documentation
11. Scope of the Project

12. Feasibility
 Technical Feasibility
 Operational Feasibility
 Political/Behavioral Feasibility
 Schedule Feasibility

13. Methodology
 Data Source
 Fact-finding Techniques
 Analysis and Design Approach
 Overview of Project Phases
 Artifacts to Produce
I. Inception phase
II. Elaboration Phase (SRS-System Requirement Specifications)
III. Construction Phase
IV. Transition Phase

 Development Tools (sample is given below)


Activities Tools/ Programs

Client side coding HTML/DHTML/XML

Client side scripting JavaScript

Platform MS Windows or Linux

Database server Mysql

Web server Apache

Server-side scripting Php

Browsers IE 5.5/6.0/7.0, Mozilla Firefox 3.0.

Editors Macromedia Dreamweaver, MS Excel,

Documentation MS Word, MS Excel

User Training MS PowerPoint, Video Player

Varied technologies As per the technical requirement in future

 Required Resources with Costs (List (and describe, as appropriate) resources needed to
complete your project. This includes but is not limited to, hardware, software, and
reference material. Clearly specify if you expect the university to supply any of those
resources (e.g., lab computers). Specify the estimated cost for each resource.

 Testing Procedure (Optional)


 Installation and Configuration (Optional)
 Implementation (Optional)

14. Limitation of the Project


15. References (Provide a bibliography of reference material).
16. Webliography (List of websites/portals)
5. Final Report Layout of Mini project

Preliminary pages

I. Title page (See its format)


II. Approval sheet
III. Dedication (optional)
IV. Acknowledgements
V. Table of contents
VI. List of Figures
VII. List of Tables
VIII. Abstract
IX. Abbreviations
X. Patents Information (optional)
Chapter One: Introduction
1 Introduction

1.1 Background information of the Organization


1.1.1 Vision of MTU
1.1.2 Mission of MTU
1.2 Background of the project

1.3 Team composition

1.4 Statement of the problem

1.5 Objective of the project

1.5.1 General Objective


1.5.2 Specific objective
1.6 Feasibility Analysis
1.6.1 Operational feasibility
1.6.2 Technical feasibility
1.6.3 Economic feasibility
1.6.4 Behavioral/Political feasibility
1.6.5 Schedule feasibility
 Cost Benefit Analysis
 Cost of the project
 Cost break down
o Recurrent Cost
o One time Cost
1.7 Scope and significance of the project
1.8 Target beneficiaries of the system
1.9 Methodology for the project

1.9.1 Data Source

1.9.2 Fact Finding Techniques


 Interview
 Practical Observation
 Document Analysis
1.9.3 Systems Analysis and Design

1.9.4 Development Tools

1.9.5 Testing procedures

1.9.6 Implementation (Parallel/Partial/Direct)

1.9.7 Limitations of the project

1.9.8 Risks (What if Analysis?), Assumptions and Constraints (optional)

Chapter Two: Description of the Existing System

2.1 Introduction of Existing System

2.2 Players in the existing system

2.3 Major functions/activities in the existing system like inputs, processes & outputs

2.4 Business Rules

2.5 Report generated in the existing system

2.6 Forms and other documents of the existing systems

2.7 Bottlenecks of the existing system (using for example PIECES frame Work).

2.7.1 Performance (Response time)

2.7.2 Input (Inaccurate/redundant/flexible) and Output (Inaccurate)

2.7.3 Security and Controls

2.7.4 Efficiency

2.7.5 …. If Any

2.8 Practices to be preserved

2.9 Proposed solution for the new system that addresses problems of the existing system (As
an alternative)

2.10. Requirements of the Proposed System

2.10.1 Functional requirements

 Performance requirements
 Process requirements
 Input-related requirements
 Output-related requirements
 Storage related requirements
2.10.2 Nonfunctional requirements

 Performance
 User Interface
 Security and Access permissions
 Backup and Recovery
Chapter Three: System Analysis (Modeling of the Existing and Proposed System using the
chosen methodology)

3.1 Introduction

3.2 System Requirement Specifications (SRS)

3.2.1 Use case diagrams

3.2.2 Use case documentation (for each use case identified)

 Security Login
 Registration
3.2.3 Sequence diagram

3.2.4 Activity Diagram

3.2.5 Analysis level class diagram (conceptual modeling)

3.2.6 User Interface Prototyping

3.2.7 Supplementary specifications

Chapter Four: System Design


4.1 Introduction

4.2 Class type architecture

 User interface layer


 Controller/process layer
 Business/Domain layer
 Persistence layer
 System layer
4.3 Class modeling
4.4 State chart modeling
4.5 Collaboration Modeling
4.6 Component Modeling
4.7 Deployment modeling
4.8 Persistence modeling
4.9 User Interface design
Chapter Five: Implementation and Testing
5.1
Introduction
5.2
Final Testing of the system
5.3
Hardware software acquisitions
5.4
User manual preparation
5.5
Training
5.6
Installation Process
5.7
Start-up strategy
Chapter Six : Conclusions and Recommandation
6.1 Conclusions
6.2 Recommandations
 Appendix
 Références

Final deliverables :

 Documentation, both in hard copy and softcopy


 Software (on CD)
6. Project Presentation & Demonstration

As part of the assessment, students will be required to make a presentation and demonstration of their
project to their assessment team/examiners.

Each presentation will be timetabled for between 30 and 40 minutes (to be announced) including
questions and answers. The second marker will be part of the team but you should bear in mind that the
majority of the panel would not be familiar with your project; you should consider this when planning
your presentation. Your advisors will help you to structure your talk and will be willing to go through it
with you beforehand. The presentation and demonstration are assessed separately and are compulsory
components of the project. The assessment team will not allocate a mark for a project unless there has
been a formal presentation and demonstration based on the schedule for each. The objective of the
presentation is to find out exactly what you have done and to ensure that you get an accurate mark that is
consistent with other projects - it is not designed as an opportunity to shoot you down!

N.B: - Based on the above information (Guideline) here is a sample project below done at
AMU(AMiT), based on the given sample project you will do your own Mini project.
ARBAMINCH UNIVERSITY

ARBAMINCH INSTITUTE OF TECHNOLOGY (AMiT)

“eduTime – Time Table Management System for AMiT”


Group Members:

Name ID_NO

1. Fekadu Duna RNS/356/04


2. Geremew Haile RNS/410/04
3. Feyissa Megersa RNS/367/04
4. Yeshihareg Ketema RNC/1027/03
5. Enchalew Alemayehu RNS/331/04

Advisor’s Name

Mrs. Pravicha M. T

A Senior Project
Submitted to Department of Computer Science and IT, Arba Minch Institute of Technology,
AMIT, Arba Minch University in partial fulfillment for the requirement of the Degree of
Bachelor Science in Computer Science.

Arba Minch, Ethiopia


1st June, 2022
Arba Minch University

Arba Minch Institute of Technology (AMiT)

Approval Sheet

----------------------------------------------------------------------------------------------------

This is to certify that the senior project titled “eduTime-Timetable Management System for
AMiT” submitted by

Fekadu Duna RNS/356/04


Geremew Haile RNS/410/04
Feyissa Megersa RNS/367/04
Yeshihareg Ketema RNC/1027/03
Enchalew Alemayehu RNS/331/04

To the department of Computer Science and Information Technology, Arbaminch for the partial
fulfillment of the requirement of the Degree of Bachelor Science in Computer Science and IT, is
a bona fide record of the project done by them under my supervision. The contents of this
document in full, or in parts, have not been submitted to any other institute or university for the
award of any degree or diploma.

Mrs.Pravicha.M. T

(Advisor)

Date: 01st June 2022

Arbaminch

Final Year Project I


It is approved that this project has been written in compliance with the formatting rules laid
down by the school.

Examiners

------------------- ------------------- -------------

Examiner-1 Signature Date

------------------- ------------------- -------------

Examiner-2 Signature Date

------------------- ------------------- --------------

Examiner-3 Signature Date

Chairman

------------------- ------------------- --------------

Chairman Signature Date

Final Year Project II


Declaration
The Project is our own and has not been presented for a degree in any other university and all the
sources of material used for the project have been duly acknowledged.

Group member

Name ---------------------------Signature ------------------------Date -------------------

Name ---------------------------Signature ------------------------Date -------------------

Name ---------------------------Signature ------------------------Date -------------------

Name ---------------------------Signature ------------------------Date -------------------

Name ---------------------------Signature ------------------------Date -------------------

Name ---------------------------Signature ------------------------Date -------------------

To: Computer science department


Subject: Industrial Project Submission
This is to certify that the industrial project entitled -----------------------------------------
------------------------------------------------” submitted in partial fulfillment of the requirements for
the degree of Bachelor of Science in computer science, has been carried out by the group
members under my supervision. Therefore, I recommend that the students has fulfilled the
requirements and hence hereby they can submit the project to the department.

------------------------ ------------------------ ------------------------


Name of advisor Signature Date

Final Year Project III


Acknowledgement
First of all we would like to thank GOD keeping us healthy. Lots of problems have overcome
with the assistance of GOD. Without his will nothing could be done. We the team members has
given our complete effort in this project. However, it would not have been possible without the
kind support and help of many individuals. We would like to extend my sincere thanks to all of
them. We are highly indebted to Mrs. Pravicha.M. T for her guidance and constant supervision
as well as for providing necessary information regarding the project & also for the support in
completing the project. Next our gratitude goes to our Examiners Ato Addisu Mulugeta and Mr
Ashoke for his great invaluable suggestions. The blessing, help and guidance given by her time
to time shall carry us a long way in the journey of life on which we are about to embark. We
would like to express my gratitude towards members of Registrar office especially
Ato.Mohammed Abebe for the kind co-operation and encouragement which help us in
completion of this project. Our thanks and appreciations also go to our class mates in developing
the project and people who have willingly helped us out with their abilities. Also have to
appreciate the guidance given by the panels especially in the project presentations that has
improved our presentation skills thanks to their comment and advices. We take this opportunity
to express my profound gratitude and deep regards to all our teachers throughout (G1-G4) for
their exemplary guidance, monitoring and constant encouragement. Last but not the least, we
thank our parents, brother, sisters and friends for their constant encouragement without which
this assignment would not be possible.

Final Year Project IV


Abstract
A timetable is explained as, essentially, a schedule with constraints placed upon it. Class &
Exam timetabling can be defined as the assignment of a set of courses to different time slots and
classrooms for/to a set of instructors while satisfying certain requirements. The production of a
timetable for classes and exams in an academic institution is a periodic activity, the frequency of
which depends on the institution: yearly, semi-annually, or quarterly. A timetable must satisfy all
the hard constraints and as many soft constraints as possible. It is a very complex activity, and
the use of software helps carrying it out easy and fast.
For every University, setting up the timetable has been a perpetual burden to the lecturer and a
distraction to his core responsibility of teaching. A Timetable Management system will alleviate
the lecturer from this burden. The purpose of this project work is to provide a review of the
current manual timetable system and to develop automated timetable system. As our observation
in the 4 years of stay in Arbaminch University, the existence of large number of students and
courses makes it difficult to schedule class and exams manually. Most often due to different
clashes we are unable to follow it. “eduTime – Time Table Management System for AMiT” is a
comprehensive educational scheduling system proposed by our team to support developing
course and exam timetable and managing changes to these timetables for Arbaminch Institute of
Technology. “eduTime” – Stands for Educational Timetabling. It is a web-based system that
allows university and departmental schedule managers to build and modify a schedule of classes
and/or exams that meets their organizational needs. The system is being proposed to provide a
comfortable usage to get correct information about Class schedules as well as Examination
schedule’s for AMiT student’s, instructor’s and whoever concerned.

Final Year Project V


Table of Content
Acknowledgement ........................................................................................................................................ II
Abstract ......................................................................................................................................................... V
List of Table ................................................................................................................................................. IX
List of Figure................................................................................................................................................. X
Chapter 1 Introduction .................................................................................................................................. 1
1.1 Background of the University ........................................................................................................... 1
1.2 Background of the Project................................................................................................................. 2
1.3 Team composition ............................................................................................................................. 2
1.4 Statement of the Problem .................................................................................................................. 2
1.5Objective of the Project ........................................................................................................................... 3
1.5.1 General Objective ......................................................................................................... 3
1.5.2 Specific Objective......................................................................................................... 3
1.6 Scope of the Project .......................................................................................................................... 4
1.7 Feasibility Study ............................................................................................................................... 5
1.7.1Operational Feasibility ........................................................................................................ 5
1.7.2 Technical Feasibility ........................................................................................................ 5
1.7.3 Behavioral/Legal Feasibility ............................................................................................ 5
1.7.4 Economic Feasibility ........................................................................................................ 5
1.7.5Schedule Feasibility ............................................................................................................ 7
1.8 Significance of the Project ................................................................................................................ 8
1.9 Target Beneficiaries of the System ................................................................................................... 8
1.10 Methodology for the Project ............................................................................................................. 8
1.10.1 Data Source .................................................................................................................. 8
1.10.2 Fact Finding Techniques .............................................................................................. 8
1.11 Analysis and Design Approach ......................................................................................................... 9
1.12 Overview of Project Phases .............................................................................................................. 9
Analysis phase:- .................................................................................................................................... 9
Design phase:- ...................................................................................................................................... 9
Implementation phase:-....................................................................................................................... 10
1.13 Deliverable of the Project & Phases ........................................................................................... 10
1.14 Development Tools ..................................................................................................................... 10

Final Year Project VI


1.15 Testing Procedure ........................................................................................................................... 11
1.16 Risk Assumptions and Contingency ............................................................................................... 11
Chapter 2 Introduction to the Existing System ........................................................................................... 12
2.1 Players of the Existing System ............................................................................................ 12
2.2 Major Functions/Activities in the Existing System like Inputs, Processes and Outputs..... 12
2.3 Business Rules in the Current System................................................................................. 13
2.4Report Generated in the Existing System ............................................................................ 13
2.5Bottlenecks of the Existing System ...................................................................................... 14
2.6 Practices to be preserved ..................................................................................................... 15
2.7 Proposed Solution for the New System that Address Problems of the Existing System .... 15
2.8 Requirement of the Proposed System ................................................................................. 16
2.8.1 Functional Requirements ........................................................................................................... 16
2.8.2 Non Functional Requirement ..................................................................................................... 16
Chapter 3 Introduction of System Analysis ................................................................................................ 18
3.1 System Requirement Specification (SRS)........................................................................... 18
3.1.1: Use Case Diagram.................................................................................................................... 18
3.1.2 Use Case Documentation (for each use case documentation) ................................................... 20
3.1.3 Sequence Diagram ..................................................................................................................... 31
3.1.4 Activity Diagram ........................................................................................................................ 37
3.1.5 Analysis Level Class Diagram ................................................................................................... 45
3.1.6 User Interface Prototype ............................................................................................................ 46
CHAPTER 4 System Design ...................................................................................................................... 47
4.1 Class Type Architecture ...................................................................................................... 47
4.2 Class Modeling.................................................................................................................... 49
4.3 State Chart Modeling .......................................................................................................... 50
4.4 Collaboration Diagram ....................................................................................................... 56
4.5 Component Modeling .......................................................................................................... 62
4.6 Deployment Modeling ......................................................................................................... 63
4.7 Persistence Modeling .......................................................................................................... 64
4.8 User Interface Design ......................................................................................................... 65
Chapter 5 Implementation & Testing.......................................................................................................... 68

Final Year Project VII


Code for Database Connection, Password Encryption and Decryption ..................................................... 73
5.1 Testing of the System ........................................................................................................... 78
5.1.1 Unit Testing ............................................................................................................................... 78
5.1.2 Integration Testing ..................................................................................................................... 78
5.1.3 System Testing ........................................................................................................................... 78
5.1.4 Acceptance Testing .................................................................................................................... 78
5.2 Hardware and Software Acquisitions ................................................................................. 79
5.3 Hardware & Software Configuration .................................................................................. 80
Chapter 6 Conclusions and Recommendations ........................................................................................... 81
6.1 Conclusion........................................................................................................................... 81
6.2 Recommendations ............................................................................................................... 82
Bibliography ................................................................................................................................ 1

Final Year Project VIII


List of Table
Table 1: Team Composition .......................................................................................................................... 2
Table 2 : Hardware Cost .............................................................................................................................. 6
Table 3 : Software Cost................................................................................................................................. 6
Table 4 : Manpower Cost ............................................................................................................................. 6
Table 5 : Total Cost ...................................................................................................................................... 7
Table6 : Schedule Feasibility........................................................................................................................ 7
Table 7 : Target Beneficiaries ...................................................................................................................... 8
Table 8 : Deliverable of the Project and Phases ........................................................................................ 10
Table 9 : Development Tools ...................................................................................................................... 10
Table 10 : Use Case Documentation .......................................................................................................... 19
Table 11: Use Case Documentation for login ............................................................................................ 20
Table 12: Use Case Documentation for Create New Account .................................................................... 21
Table 13: Use Case Documentation for Manage Classroom Information ................................................. 22
Table 14 : Use Case Documentation for Generating Exam Timetable....................................................... 23
Table 15 : Use Case Documentation for Managing Teachers Profile........................................................ 24
Table 16 : Use Case Documentation for Managing Course Profile ........................................................... 25
Table 17 : Use Case Documentation for Managing Class/Section Profile................................................. 26
Table 18:Use Case Documentation for Generating Class Timetable ......................................................... 28
Table 19: Class Type Architecture.............................................................................................................. 48
Table 20: Table Log in Test case specification........................................................................................... 78
Table 21: Table User Test Case Specification ............................................................................................ 79

Final Year Project IX


List of Figure
Figure 1 : Use Case Diagram .................................................................................................................... 18
Figure 2: Sequence Diagram for Login ...................................................................................................... 31
Figure 3 : Sequence Diagram for Creating New User Account ................................................................ 32
Figure 4: Sequence Diagram for Managing Class Room Information....................................................... 32
Figure 5 : Sequence Diagram for Managing (insert/update/delete) Course Profile .................................. 33
Figure 6 : Sequence Diagram for Course Offering .................................................................................... 33
Figure 7 : Sequence Diagram for Teacher’s Profile .................................................................................. 34
Figure 8 : Sequence Diagram for Class/Section/Batch Profile .................................................................. 34
Figure 9 : Sequence Diagram for Generating Class Timetable ................................................................ 35
Figure 10 : Sequence Diagram for Generating Exam Timetable ............................................................... 35
Figure 11 : Sequence Diagram for Viewing Class Timetable .................................................................... 36
Figure 12 : Sequence Diagram for Viewing Class Timetable .................................................................... 36
Figure 13 : Activity Diagram for Login ...................................................................................................... 37
Figure 14 : Activity Diagram for Creating New Account ........................................................................... 37
Figure 15 : Activity Diagram for Managing Class Room Information....................................................... 38
Figure 16 : Activity Diagram for Managing Course Profile ..................................................................... 39
Figure 17 : Activity Diagram for Teacher’s Profile ................................................................................... 40
Figure 18 : Activity Diagram for Course Offering ..................................................................................... 41
Figure 19 : Activity Diagram for Class/Section Profile ............................................................................. 41
Figure 20 : Activity Diagram for Generating Class Timetable .................................................................. 42
Figure 21 : Activity Diagram for Generating Exam Timetable .................................................................. 43
Figure 22 : Activity Diagram View Class Timetable .................................................................................. 43
Figure 23 : Activity Diagram for Viewing Exam Timetable ....................................................................... 44
Figure 24 : User Interface Prototype ......................................................................................................... 46
Figure 25: Class Type Architecture ............................................................................................................ 47
Figure 26: Class Modeling ......................................................................................................................... 49
Figure 27: State Chart Diagram for Create new Account .......................................................................... 50
Figure 28: State Chart Diagram for Manage Class Room Information ..................................................... 51
Figure 29: State Chart Diagram for Manage Course Offering .................................................................. 52
Figure 30: State Chart Diagram for Manage Course Profile .................................................................... 53
Figure 31: State Chart Diagram for Manage Teacher Profile ................................................................... 54
Figure 32: State Chart Diagram for Manage Batch Information............................................................... 55
Figure 33: Collaboration Diagram for Create Account ............................................................................. 56
Figure 34: Collaboration Diagram for Manage Account........................................................................... 56
Figure 35: Collaboration Diagram for Manage Course Offering.............................................................. 57
Figure 36: Collaboration Diagram for Manage Course Profile ................................................................ 57
Figure 37: Collaboration Diagram for Manage Classroom Information .................................................. 58
Figure 38: Collaboration Diagram for Manage Batch Information .......................................................... 58
Figure 39: Collaboration Diagram for Manage Teacher Profile .............................................................. 59
Figure 40: Collaboration Diagram for Class Timetable ............................................................................ 59
Figure 41: Collaboration Diagram for Generating Exam Timetable ........................................................ 60

Final Year Project X


Figure 42: Collaboration Diagram for View Class time table ................................................................... 61
Figure 43: Collaboration Diagram for View Class time table ................................................................... 61
Figure 44: Component Modeling Diagram ................................................................................................ 62
Figure 45: Deployment Modeling ............................................................................................................... 63
Figure 46: Persistence Modeling Diagram ................................................................................................ 64
Figure 47: User Interface Design for Home Page ..................................................................................... 65
Figure 48: User Interface for Login ........................................................................................................... 65
Figure 49: User Interface for Manage Course Offering ............................................................................ 66
Figure 50: User Interface for Manage Teachers Profile ............................................................................ 66
Figure 51: User interface for Manage Batch Information ......................................................................... 67
Figure 52: User Interface for Manage Course Profile ............................................................................... 67

Final Year Project XI


Chapter 1 Introduction
Timetable Management Software’s makes the tedious task of creating and regenerating
timetable easy and fast. Helping in utilizing resources optimally, makes it simple for us to plan
availability of human resources, physical resources and rules applicable to each class. Course
timetabling is to place each course at a time (or set of times) which does not conflict with the
time(s) assigned to any other course required by the students attending it and with the time slot
given for the instructor giving the course as well as with the class rooms. It becomes
considerably more difficult as the combinations of courses requiring different time placements
increases. The availability of faculty, rooms, and a variety of other constraints, further
complicate the problem. Student conflicts are weighted with faculty time and room preferences
and other desired relationships between classes to produce a solution. Exam timetabling or
schedule will concentrate to minimize the number of conflicting exam placements for all
students. Through the project “eduTime – Time Table Management System for AMiT” we aim to capture
all parameters needed in creating a timetable and automatically creates one with its timetable
generation tool to serve the University community. Moreover, changes can be easily made in the
timetable as and when necessary, depending on the availability of teachers, substitutes, students,
technicians, classrooms and lessons.
1.1 Background of the University
Along with the country wide revision and subsequent restructuring of engineering and
technology education the technology faculty and the water technology institute in a Arbaminch
University were merged to establish the Arbaminch Institute of Technology [AMiT] in 2003
before that it called as Arbaminch Water Technology Institute [AWTI].Arbaminch University
aspires to be leading university in Ethiopia, center of excellence in the field of water resources in
Africa and competitive in the world by 2020.Arbaminch University has a mission offering
relevant and Quality education and training conducting demand driven research and rendering
accessible community services. Computer Science and IT is one of the departments among eight
departments available in this institute. Industrial project helps the student to implement the
conceptual as well as theoretical Knowledge they persuade in the four years of studies. Partial
fulfillment of the requirement of the Degree of Bachelor Degree of computer Science and IT also
take the student to cross this phase.

Final Year Project 1


1.2 Background of the Project
The current system in our university used to generate course & exams timetable manually till
today. The exam scheduling is done by registrars manually (sometimes faculty manages it) and
course scheduling is done by the respective departments (sometime faculty manages it). The
teaching staff usually spends a lot of time in timetable generation and timetable management. It
starts by printing out all subjects in the university and then distributes these subjects randomly on
given dates and times without following any reasonable order for distribution and then checks
out for conflicts in students schedules which in fact causes enormous conflicts and mistakes and
requires registrars to repeat this process over and over again till the optimal schedule occurs by
coincidence. In some cases after all this huge effort and working, you can notice a number of
conflicts in some unlucky students schedules which is sometimes explained as an: “unexpected
mistake”. Due to those drawbacks and to line up with the technology we propose the project to
initiate AMiT to change the system and get a more accessible timetable.
Technology makes lifestyle easier by providing better support to different systems, better accuracy, better
security options, and easier maintenance.
1.3 Team composition
Table 1: Team Composition
Project EduTime – Time Table Management System for AMU
Title
Prepare S.No. Name ID. No. Email/Mobile Responsibility
d By 1 Fekadu Duna RNS/356/04 fekadu.duna@gmail.com Project Leader,
Designer&Programmer
2 Geremew Haile RNS/410/04 geremewhaile2@gmail.com Assistant Project
Leader&Programmer
3 Feyissa Megersa RNS/367/04 feyissamegersa@gmail.com Analyst And Tester

4 Yeshihareg Ketema RNC//03 herank66@gmail.com Designer And Tester

5 EnchalewAlemayehu RNS/331/04 enchalew.alemayehu123@gmail.co Analyst And Tester


m

Date June 2015


Adviso Mrs. Pravicha M. T
1.4 Statement of the Problem
The matter of creating exams schedule for a university is an exhausting tiring process. The
manual system of preparing time table in colleges with large number of students is very time
consuming and usually ends up with various classes clashing either at same room or with same
teachers having more than one class at a time. These are just due to common human errors which

Final Year Project 2


are very difficult to prevent in processes such as these. To overcome these problems people
usually taking the previous year’s timetable and modifying it but still it is a tedious job to
incorporate changes. The way this process is done by is primitive, using paperwork and human
efforts, which is causing wastage in time, papers and effort. Repetitive conflicts in student's
exams schedules constantly is losing the students trust in the university system and causing more
issues as time goes on. Therefore, the importance of generating a computerized exams schedule
system showed up.
The major problems associated with the current systems can be listed as: -
 Wastage of time & effort.
 In department and registrar offices information exchange and service control is processed
in manual way which makes the communication of the working environment difficult to
manage and control.
 Repetitive conflicts in student's exams schedules.
 Instructor/Lab/Class room clashes during course scheduling.
 Many drafts prepared often create confusion among the users.
 Delayed display of the final schedules creates problem in student’s study plan.
1.5Objective of the Project
1.5.1 General Objective
The general objective of this project is to develop& implement a simple, easily understandable,
efficient, feasible web-based application “eduTime – Time Table Management System for AMiT” ,
which could automatically generate good quality time tables within seconds for Arbaminch
Institute of Technology (AMiT).

1.5.2 Specific Objective


To achieve the general objective, the following specific objectives are identified.
 Review, analyze and study how existing class and exam schedules take place in AMiT.
 To design user friendly interface for the new system.
 To design a database for the new system for efficient data retrieval.
 Design a system which is robust and produce a feasible solution.
 Collecting data required to develop the system.
 Identify functional and non-functional requirement for new proposed system.
 Design, Implement and Test the proposed system.

Final Year Project 3


1.6 Scope of the Project
The scope of this system is to develop “EduTime - Timetable Management System”, which can
improve the current manual system that AMiT is using. In order to achieve the objectives, due to
the time constraints, the scope of the timetable system covers the following features and
functions (InScope): -
 Simple wizard type user interface.
 Login authentication with MySQL login details.
 Message dialogs for user assistance.
 Mouse or/and keyboard for inputs, keyboard shortcuts are available.
 Separate database maintaining basic information’s, courses, teachers, batches and their
associations and other details.
An administrative section includes the following: -
 Manage the user accounts.
 Manage class room details.
 View Exam timetable.
A registrar section includes the following: -
 Creation & Updating of Master Timetable for Exam.
 View Exam timetable.
Department section includes the following: -
 Manage lecturers’ profile.
 Manage batch/section profile.
 Manage course profile & course offering.
 Creation of Master Timetable for Course.
 View class and exam timetable.
A lecturer& student section includes the following: -
 View and print their own class timetable.
 View and print exam timetable & class timetable.

Final Year Project 4


Out Scope:

In a lecturers’ Section: -
 Query on the class availability.
 Booking the class
 Invigilation duty list.
Students’ Section: -
 Manage students’ profiles
1.7 Feasibility Study
1.7.1Operational Feasibility
The proposed system can be used effectively after it has been developed. Users will not have any
difficulty with the new system, producing the expected benefits. System will be developed based
on the policies and rules of the University.
1.7.2 Technical Feasibility
The system can be technically feasible because the technical resources need to develop, install
and to operate is available in the present infrastructure. The system will be developed by
following the Rapid Application Development approach, and the team is technically skilled to
develop this system.
1.7.3 Behavioral/Legal Feasibility
Different concerned bodies of the association have good approach, view towards this project and
they wish to play an important role on this system by giving good ideas to produce better and
efficient result.
1.7.4 Economic Feasibility
The system is economically feasible and the benefit is outweighing the cost. Some of the tangible
and intangible benefits that the system brings are listed below:
Tangible benefits: -
 Reduces unnecessary wastage of materials like paper.
 Reduced time consumption
Intangible benefit: -
 Get better and effective service.
 More reliable.
 Timely processing.

Final Year Project 5


One Time Cost
It refers to a cost associated with project initiation and development and startup of the system.
This cost typically include the activities such as System Development Cost, Hardware &
Software Cost, Training Cost, Deployment cost (one time cost), recurring cost.
Hardware Cost
Item Unit Quantity *Unit Price (ETB) Total Price (ETB)
Computer Number 2 9000.00 9,000.00
Laptop Number 1 14000.00 14000.00
Printer Number 1 3000.00 3,000.00
Paper Pack 1 150.00 150.00
Pen Pack 1 200.00 200.00
UPS Number 1 2500.00 2500.00
Total Cost 29,350.00
Table 2 : Hardware Cost

Software Cost
Item * Price (ETB)
Windows 8 3050.00
Microsoft office 2010 1330.00
MS SQL Server 8000.00
Edraw Free
Visual Studio 6000.00
Adobe Photoshop Free Trail
Macromedia Fireworks Free Trail
Total cost 18380.00
Table 3 : Software Cost

Man Power Cost


Task Type of Number Units No of Price Per Total
Staff of staff units Unit
(ETB)
Managing Manager 1 Month 5 2000.00 10000.00
Analysis Analyst 1 Month 1 1500.00 1500.00
Typing Typist 1 Month 1 500.00 500.00
Design Designer 1 Month 1 1500.00 1500.00
Implementation Implementer 1 Month 1 3000.00 3000.00
Guiding Consultant 1 Month 5 3000.00 15000.00
Total Cost=31,500.00
Table 4 : Manpower Cost

Final Year Project 6


Total Cost

Cost Type Amount


Hardware Cost 29,350.00
Software Cost 4380.00
Man Power Cost 31,500.00
Contingency 9784.50
(15%)
Total Development Cost =75014.00
Table 5 : Total Cost
 ‘*’ indicates price shown are the present market rate, but not purchased by us.
Present infrastructure of AMiT doesn’t imply any one-time cost as well as recurring cost. Also as
the benefits outweighs the cost, as the project can be done with given constraints, as this is the
minimal cost to attain a certain system, the system can be seen as economically feasible one.

1.7.5Schedule Feasibility
The proposed system can be implemented in an acceptable timeframe give below. Project
manager is responsible for monitoring and controlling the project development based on the
schedule shown below.

Table6 : Schedule Feasibility

Gantt Chart Project Schedule

S.No Phases 1st 2nd 3rd 4th 5th 6th


Quarter Quarter Quarter Quarter Quarter Quarter
12 Dec- 13thJan-
th
10thMar- 16thApr- 1stJune-
12thJan 5thMar 15thApr 30thMay 10thJune June 15th
1 Project proposal

2 Requirement
Analysis

3 Design
4 Coding
&Implementation
5 Installation &
Testing

6 Project Closure

-to show the start date. -to show the working time - to show end date

Final Year Project 7


1.8 Significance of the Project
 Greater convenience.
 Reduced costs & time savings.
 Speedy processing.
 Have timely and well-informed scheduling system.
 Avoiding data loss because of improper data storage.
 Reduce manpower.
 Avoid improper resource consumption.
 Avoiding the redundancies or repetitions in schedules.
1.9 Target Beneficiaries of the System
There are different bodies that can be benefited from the system.

Target group Benefit

ArbaMinch Institute of Technology Reduce the work load of whoever concerned


(Registrar, faculty, department) in exam scheduling
and course time table scheduling.
Various Department’s Reduce the work load of the instructor in charge of
timetable processing.
Student Timely and Accurate Information available which
helps in planning their studies.
Instructor Timely and Accurate Information available will
help in performing their duties efficiently &
effectively.
Table 7 : Target Beneficiaries

1.10 Methodology for the Project


1.10.1 Data Source
Data collection is one of the important tasks in determining and analyzing the existing system.
The data that need to develop the new system are obtained from Registrar, Department Head and
Instructors.
1.10.2 Fact Finding Techniques
To gather data from the different users and administrator of the existing system the team used the
following techniques.

Final Year Project 8


Interview: - To obtain basic information and background information about the existing system,
the team will interview aforementioned within the University.
Questionnaires:-To find more information about the system the team has planned to prepare
questionnaires for the system users. It builds the awareness for the team to develop the new
system.
1.11 Analysis and Design Approach
Among the different methodologies available we are using object oriented methodology to for
the analysis and design of the system. Object oriented methodology enables us to represent
complex relations among different objects and represent data and process with consistent
notation throughout the system. Important features such as Inheritance, Polymorphism, Data
Hiding, Encapsulation suits the design very well. This greatly improves the communication
among customers, analyzers, designers and programmers. It increases consistency among
analyzer, designer implementation and testing. It also allows the reusability of the code which
helps to enhance the project in the future.
1.12 Overview of Project Phases
Analysis phase:-
We use object oriented approach in this phase because of:-
 To develop a conceptual model that can be used to complete the task.
 The task to be addressed will be divided into several subtasks, each representing a
different business, technological, or other areas of interest.
 Each subtask would be analyzed separately. Implementation constraints (e.g.
concurrency, distribution, persistence, or how the system is to be built) are not considered
during the analysis phase.
Design phase:-
We use object oriented approach in this phase because of:-
 Re-use of development modules and components
 Identify the classes
 Identify the responsibilities of these classes
 Identify the relationships among these classes
 Remove Vague Classes
 Add new classes that arise

Final Year Project 9


 Refine the Classes
 Inheritance of the classes
Implementation phase:-
We use object oriented approach in this phase because of:-
 It support all object oriented features, support reusability and encapsulation
1.13 Deliverable of the Project & Phases
The team members after finishing each phase deliver the following phase output.
Phases For whom What will deliver When will deliver
Analysis To Designer Document of the analysis 5th March
Design To Programmer Design model and document 15th April
Implementation To Tester Coding 30th May
Testing To AMiT Software 15th June
Table 8 : Deliverable of the Project and Phases
After finishing the project we will deliver the following out puts to the university
 Documentation of the project.
 The developed system.
 User guide.
1.14 Development Tools
We are using various hardware and software in order to develop the system. Some of these are:
Activities Tools/Programs
Platform MS Windows Version 8
Database server MS SQL Server
Coding language C#, ASP.Net
IDE Visual Studio 2010
Documentation MS Word
User Training and Presentation MS PowerPoint
Modeling and scheduling Edraw
Graphics’ Design Tools Adobe Photoshop CS, Macromedia
FireWorks MX
Table 9 : Development Tools

Final Year Project 10


1.15 Testing Procedure
The class and examination scheduling system will be tested using the following system testing
procedures.
Unit Testing: - Each module will be test separately and often performed by the coder himself
simultaneously along with the coding of the module. The purpose is to exercise the different
parts of the module’s code to detect coding errors.
Integration Testing: -The modules will be gradually integrated into subsystems, which are then
integrated to eventually to the entire system. Integration testing will be done to detect design
errors by focusing on testing the interconnection between modules.
System Testing: - After the system is put together, it will be performed. The system will be
tested against the system requirement to see whether the entire requirements meet and whether
the system performs as specified by the requirement.
Acceptance Testing: - will be carried out by the customer (registrar/instructors) to ensure that
the delivered product meets the requirement and works as the customer expected. It includes
Alpha testing – conducted by users to ensure they accept the system with sample data.
Beta testing – conducted by users with real data, not test data.
1.16 Risk Assumptions and Contingency
During the development of the project there may be different problems that are expected.
Risk
Virus attacks the system used for development.
If a team member leave the project or faces an issues.
Contingency
The team use different back up techniques through our daily activity in the project the
other group members cover that part.

Final Year Project 11


Chapter 2 Introduction to the Existing System
Arba Minch Institute of Technology uses the manual system to prepare the schedule of class and
examination for their students. The Registrar and Department offices has the full responsibility
over addressing and reporting about each typical exam and class scheduling system respectively
which undergoes scheduling process and organizes information. The head of the department and
registrar office has a crucial role and responsibility to control and coordinate the overall process
generated in the class scheduling system and exam scheduling system respectively. The working
system however literally faces different problems while managing and controlling distributed
data. The currently working manual system is making use of the different data given by the
department and memos. Unorganized data in the operation creates complicated file handling
which also not help to quickly respond to different queries that comes in.
2.1 Players of the Existing System
The actors in the current system are:
 Registrar office/Faculty: Responsible for preparing and managing of the exam time table
for each department. Collects the required data from the departments and prepare the
exam schedule. The Scheduling is typically accomplished by typing information of
college and course on the Microsoft Office Excel.
 Various Departments of AMiT: Responsible for managing all information of the entire
course delivered by the department on semester basis and add student’s information. Also
prepare course offering for the instructors. Considering these data department authorized
committee will prepare the class schedule. At the same time provide the necessary
information to the registrar for preparing the exam schedule.
 Instructors: Make use of the exam and class schedule to put them into effect.
 Students: Make use of the exam and class schedule.
2.2 Major Functions/Activities in the Existing System like Inputs, Processes
and Outputs
Class Time Table Generation by each Department
Input:
Course offering list, Student’s Batch & Allocated Room information.
Process:

Final Year Project 12


Department authorized committee will prepare the class schedule.
Output:
Post the class schedule for teachers as well as students.
Exam Time Table Generation by Registrar office
Input: Semester, Course for each department section wise, Available rooms, Exam Period time
and date.
Process:
The Department office gives all information like Courses delivered by them for the
semester, Number of batches for each class and adds students to the Registrar office. After taking
that information they make the examination time table for each department manually in
Microsoft Excel sheet. Send tentative Schedule as draft 1, 2 etc. To all respective departments to
find any clashes for add students. Also tentative schedule are posted as notice for students as
draft 1, 2 etc.To report any issues /clashes.
Output: Once department and students didn’t report any clashes, registrar comes up with the
final version of the exam timetable.
2.3 Business Rules in the Current System
Exam scheduling:
 Departments should provide all the input required for exam scheduling on time.
 Common courses should be conducted on the same time period for all batches.
 Tries to give exams on alternate days. If required to avoid clashes continuous exam is
also possible.
 One exam on one day policy is recommended, but to avoid clashes sometime 2 exams are
also conducted.
Class Scheduling:
 Course offering list is provided by the concerned committee to the department.
 Class Rooms for each department is done by the AMiT office.
 Based on this Class timetabling is done for each batch.

2.4Report Generated in the Existing System


 In the beginning of every semester course offering is done by the department and post
to the teachers along with their load.

Final Year Project 13


 For each batch class timetable is generated by the department.
 Exam timetable for AMiT is generated by the registrar office.

2.5Bottlenecks of the Existing System


The PIECES framework developed by James Wetherbe is used here as a means to classify
problems. PIECES stand for Performance Information Economics Control Efficiency Service.
Performance: Existing/manual system is not as satisfactory because it is time consuming, energy
consuming. Timetables status is not available in “anywhere-anytime” fashion. In maximum cases
it delays other systems in their duties.
Information:
 Outputs
o Sometimes lack necessary and relevant information.
o Sometimes Information is not in a useful format.
o Information is not timely to its subsequent use.
 Inputs
o Data is not captured in time to be useful. (For e.g.: added students information)
o Data is not accurately captured – contains errors
o Data is captured redundantly – same data is captured more than once
 Stored Data
o Data is stored redundantly in multiple files.
o Stored data is not accurate.
o Data is not secure from accident or vandalism
o Data is not well organized.
o Data is not flexible – not easy to meet new information needs from stored data.
o Data is not accessible easily.
Economics:
 Costs (Budget of the office……)
o Stationary cost is increasing.
Control (and Security):
 Too little security or control
o Input data is not adequately edited.

Final Year Project 14


o Redundantly stored data is inconsistent in different files.
o Processing errors are occurring by people.
o Decision- making errors are occurring.
Efficiency:
 Waste of time
o Data is redundantly input or copied.
o Information is redundantly generated.
o Unavailability of staff’s on time.
 Waste of materials and suppliers
o Effort required for tasks is excessive.
o Materials required for tasks are excessive.
Service:
 The existing system doesn’t provide comfort and easiness in coordination.
2.6 Practices to be preserved
 The offices and the officials involved in the scheduling process will be preserved.
 The main business rules will be preserved as it is.
2.7 Proposed Solution for the New System that Address Problems of the
Existing System
In comparison with the manual system, the proposed “eduTime-Time Table Management
System for AMiT” is an automated system that simplifies the activities of the manual system
with better integration and updates of the manual systems activities to a computer based
technology by providing well organized and effective way. Three basic stages are involved in
analyzing and delivering a good scheduling system, namely:-
 A thorough analysis of the system. A problem understood is half solved.
 Development of an effective automated “EduTime-Time Table Management System” to
meet requirement in an effective and efficient way.
 Developing, Installation, testing of the component, training, management, monitoring and
delivering the system in to production yields to successful construction and
implementation of the system in the user’s environment.

Final Year Project 15


2.8 Requirement of the Proposed System
2.8.1 Functional Requirements
Functional requirements drive the application architecture of a system. It determines what the
system can do, as well as input and output of the system. A requirement specifies a function that
a system or component must be able to perform. Functional requirements specify specific
behavior or functions. The functional requirements of the proposed system are listed as follows:
 Authenticate and authorize users according to the assigned users' right.
 Provides user friendly graphical interfaces.
 The system should check all the supplied user input - field validation.
 Provides an appropriate error message, if any.
 Enables administrator to manage the users.
 The system should give the facility to view detail information, add, edit, and delete
required data for the users such as administrator, registrar, department heads.
 The system should give the facility to view class and exam timetable.
 Data redundancy is avoided, through the proper design of the database.
 System generates the class time table by applying appropriate algorithm based on the
input given. Assigns class rooms, course and instructor for each class and section without
conflict.
2.8.2 Non Functional Requirement
Nonfunctional requirements describe user-visible aspects of the system that are not directly
related with the functional behavior of the system that are listed above. A non-functional
requirement is a statement of how a system must behave; it is a constraint upon the systems
behavior. They specify criteria that judge the operation of a system, rather than specific behavior.
Nonfunctional requirements of the proposed systems are listed as follows:
2.8.2.1 Accessibility: The degree to which the system shall be available to as many people as
possible is by 24/7.
2.8.2.2Performance: The system shall perform its operations within a minimum amount of time.
The system shall be interactive and the user gets the expected result within few seconds. The
system will be accessed by many users inside/outside the university. For better response and
throughput it should be given more emphasis for the faster access to the system across the

Final Year Project 16


network. Constraints can be user’s computer low RAM, Network or connectivity failure, and
others.
2.8.2.3Security and Access permissions: Administration part of the system is accessible only for
the authorized Administration staff according to their assigned right. An Unauthorized user
should not access the administration page by any means. Some of the resources and activity shall
be restricted and allowed only for authorized users. Therefore the system shall have user
identification method and it should grant or deny access to users as per the privilege of the
prospective user.
2.8.2.4Deployment: Final system shall be deployed in a web server (Apache) part of AMU.
2.8.2.5Documentation: The activities and outputs of each system development stage in the
project work flow will be properly documented for the successful completion of the project.
These documents produced at the end of each stage shall be organized and compiled together at
the end of the project for future reference, system maintenance, and system support.
2.8.2.6Open Source (source code shall be available to the general public for use and/or
modification from its original design.)
2.8.2.7Backup: There shall be a frequent and full back up mechanism to avoid any information
loss and inconsistency.
2.8.2.8Training: After the completion of this system, training shall be conducted for system
administrator on how to use the system effectively and efficiently.
2.8.2.9User interface and Human factors: The user interface of the system shall be user friendly
and easy enough to work with. This may include graphical user interface (GUI) standards, screen
layout constraints, standard buttons and functions that will appear on every screen, error message
display standards, and so on. System provides web interfaces that are compatible with browsers
like Internet explorer, Mozilla Firefox, Google chrome, etc.
2.8.2.10Communication Interface: The “EduTime – Timetable Management System” will be connected
to the wide area network of AMU.

Final Year Project 17


Chapter 3 Introduction of System Analysis
This chapter covers the functional aspects of analysis that is Functional Modeling. The set of
functional requirements that have to be analyzed is done in an object-oriented way. UML
(Unified Modeling Language) an object-oriented, graphic language, is unified for all the aspects
of the requirement analysis. The functional model consists of use cases modeling to show the
system functionality from user point of view, use case description, activity diagram to describe
the details of internal system functioning and sequence diagram.
3.1 System Requirement Specification (SRS)
A structured collection of information that embodies the requirements of a system is depicted
here.
3.1.1: Use Case Diagram

Figure 1 : Use Case Diagram

Final Year Project 18


3.1.1.1: Use Case Documentation

Use Case Use Case Name Description


ID
UC_01 Log In It describes the process of authenticating the user name &
password before granting access to his/her “eduTime” account
UC_02 Create It describes the process of creating/updating/deleting account for
New Accounts the authorized users of the system like Department /Exam
(Manage User Accounts) coordinate office.
UC_03 Manage Classroom It describes the process by which administrator/AMiT manages
Information the details of the Classrooms & it’s scheduling to various
departments.
UC_04 Generate It describes the process by which registrar create the exam
Exam Timetable timetable for each semester.
UC_06 Manage It describes the process by which department manages the staff
Teacher Profile details.
UC_07 Manage It describes the process by which department manages course
Course Profile details such as the Course code, Course name, Credit hour.
[Semester wise course details]
UC_08 Manage Class/ It describes the process by which department manages the
Section Profile Program, Batch, Section details. [Like Computer Science, G4-G1,
A-B-C].
UC_9 Manage Course Offering It describes the process of managing offering of the Course to be
Teachers.
UC_10 Generate It describes the process by which department create the class
Class Timetable schedule for each of the department.
UC_11 Manage Department It describes the process of creating, updating , viewing and
deleting the department information.
UC_12 View Class Timetable It describes the process by which teachers and students can view
the Class Timetable generated by the department for each
semester.
UC_13 View Exam Timetable It describes the process by which teachers and students and
students can View the Exam Timetable for the semester
Table 10 : Use Case Documentation

Final Year Project 19


3.1.2 Use Case Documentation (for each use case documentation)

3.1.2.1 Use case documentation for log in


Use Case ID UC_01
Use Case Name Log in
Primarily Actor Administrator, Registrar, Department
Description It describes the process of authenticating the User Name & Password before
granting access to main Page.
Trigger Administrator, Registrar, Department need to login his/her accounts to use this
system.
Pre-condition Administrator, Registrar, Department with username and password tries to login.
Normal action Actor’s action System Response
Step1: Administrator, Registrar, or Step2: The system displays the log in
Department initiate to Log in page.
Step3: Administrator, Registrar and Step 4: System checks the authentication
or Department enter valid user name of username and password.
& password. Step 5: System displays the home page of
“eduTime” management system
respective to the user.

Post action Administrator, Registrar and Department can do different activity depending on
their role or permission provided to them.
Alternative Step 4: If the username and password is not valid, system displays error message
action and go to step 2.
Table 11: Use Case Documentation for login

Final Year Project 20


3.1.2.2 Use case documentation for Create New Account
Use Case ID UC_02
Use case Name Create New Account
Primarily Actor Administrator
Description It describes the process of creating new user accounts based on their role &
manage user accounts.
Trigger Administrator needs to create user account for the users of the system based
and define their role..
Pre-condition Administrator uses the main page of “eduTime”.
Normal action Actor’s action System Response
Step 2: The System displays Login page.
Step1: The Administrator Step4: System checks the authentication of
initiates to Create New User Name and password.
Account to users. Step5: If the administrator information is
Step3: Administrator enters valid, display admin’s home page.
User Name and Password. Step7: System displays create new account
Step6: The administrator click form.
on the “Create Account” Step9: The System checks the information
control. for validity.
Step8: The administrator fills Step10: If the information is valid new
the necessary information and account is created for the user and
click submit button. confirmation message is displayed.

Post condition The administrator creates user account that is ready to use.
Alternative Step4: If User Name and Password is not valid the System displays error
Action message and go to step 2.
Step9: If the new user account cannot be accepted the System displays error
message and go to step7.
Table 12: Use Case Documentation for Create New Account

Final Year Project 21


3.1.2.3 Use case documentation for Manage Classroom information
Use Case ID UC_03
Use case Name Manage Classroom information
Actor Administrator
Description It describes the process of Managing Classroom information.
Trigger Administrator need to create a new entry of class room or manage the existing
one or to allocate the Classroom’s for different departments.
Pre-Condition Administrator uses the main page of “eduTime”.

Normal action Actor’s Action System Response


Step1: The administrator initiates to manage Step 2: The System displays
classroom information. login page.
Step 3: Administrator enters User Name and Step 4: System checks the
Password. authentication of user name
Step 6: The administrator clicks Manage and password.
Classroom information link. Step 5: System displays
Step 8: The administrator edits the Admin’s home page.
classroom information. Step 7: System displays the
Classroom information page.
Step9: The system stores the
information.
Post condition Classroom information is up to date for other needs.
Alternative Step 4: If the administrator enter User Name and Password that is not valid,
Action the System displays error message and go to step 2.
Table 13: Use Case Documentation for Manage Classroom Information

Final Year Project 22


3.1.2.4 Use case documentation for generate exam Timetable
Use Case ID UC_04
Use case Name Generate exam timetable
Actor Registrar/Exam coordinator
Description It describes the process of creating exam schedule.
Trigger Registrar/exam coordinator wants to create the exam schedule.
Pre-Condition Registrar uses the main page of “eduTime”.
Normal action Actor’s Action System Response
Step 1: Registrar/exam coordinator Step2: System displays the login
initiates for create exam schedule. page.
Step 3: Registrar/exam coordinator enters Step4: System checks the
User Name and Password. authentication of User Name and
Step 6: Registrar/exam coordinator clicks password.
on create exam schedule information link. Step5: System displays the
Step 8:Registrar select classroom, select registrar’s main page.
course code, time etc. and then click create Step7: System displays the exam
exam schedule Schedule information page.
Step 10: Registrar approves the exam Step 9:System generates exam
schedule generated. schedule and makes it available for
the registrar to view it.
Step 11: System stores approved
exam schedule.
Post condition Approved exam timetable will be available for all users.
Alternative Step4: If the Registrar/exam coordinator enters the Username and password is
Action not valid, the System display error message and go to Step2.
Table 14 : Use Case Documentation for Generating Exam Timetable

Final Year Project 23


3.1.2.6 Use case documentation for Manage Teacher Profile

Use Case ID UC_06


Use case Name Manage Teacher Profile
Actor Departments
Description It describes the process of managing teacher’s up to date academic profile.
Trigger Department wants to create a new entry of a teacher or update the existing one.
Pre-Condition Department uses the main page of “eduTime”.
Normal action Actor’s Action System Response
Step1: Department initiates for Manage Step 2: The System displays login
Teacher Profile. page.
Step3: Department enters User Name and Step 4: System checks the
Password. authentication of User Name and
Step6: Department clicks on Manage the password.
Teacher Profile information link. Step5: System displays the
Step 8: Department edits teachers profile Department’s main page.
information. Step7: System displays Edit
teachers profile page.
Step9: system stores updated
information.
Post condition Teacher Profile can be used mainly for course offering of the department.
Alternative Step 4: If the department enter the User Name and Password that is not valid, the
Action System display error message and go to Step2.
Table 15 : Use Case Documentation for Managing Teachers Profile

Final Year Project 24


3.1.2.7 Use case documentation for Manage Course Profile
Use Case ID UC_07
Use case Name Manage Course Profile
Actor Departments
Description It describes the process of managing course details delivered by the department
in different semester for each batch.
Trigger Departments need to create /update/delete the information regarding the course
delivered.
Pre-Condition Department uses the main page of “eduTime”.
Normal action Actor’s Action System Response
Step1: Department initiates for Manage Step2: System displays the login
Course Profile. page.
Step 3: Department enters User Name and Step4: System checks the
Password. authentication of User Name and
Step 6: Department clicks on Manage Password.
Course Profile link. Step5: The system displays the
Step 8: Department edits course details as department’s main page.
per the present status. Step7: The system displays the
course profile page.
Step 9: System stores updated
course details.
Post condition Course details can be used mainly for course offering of the department.
Alternative Step 4: If the department enters the username and password that is not valid, the
Action System display error message and go to Step2.
Table 16 : Use Case Documentation for Managing Course Profile

Final Year Project 25


3.1.2.8 Use case documentation for Manage Class/Section Profile
Use Case ID UC_08
Use case Name Manage Class/Section Profile
Actor Departments
Description It describes the process by which department manages the Program, Batch,
Section details. [Like Computer Science, G4-G1, A-B-C].
Trigger Departments need to create /update/delete the information regarding the class,
batch and section.
Pre-Condition Department uses the main page of “eduTime”.
Normal action Actor’s Action System Response
Step1: Department initiates for Manage Step2: System displays the login
Class/Section Profile page.
Step 3: Department enters User Name and Step4: System checks the
Password. authentication of User Name and
Step 6: Department click on Manage password.
Class/Section Profile link. Step5: System displays the
Step 8: Department edits class/section department’s home page.
information. Step 7: System displays the edit
class/section information page.
Step 9: System stores updated
class/section information.
Post condition Batch information can be used mainly for class timetable generation &
examination schedule.
Alternative Step4: If the HOD enters the Username and password that is not valid, the
Action System display error message and go to Step2.
Table 17 : Use Case Documentation for Managing Class/Section Profile

Final Year Project 26


3.1.2.9 Use case documentation for Manage Course Offering
Use Case ID UC09
Use case Name Manage Course Offering
Actor Department
Description It describes the process of posting course offering.
Trigger Department’s needs to post the course offering made for a semester for all the
batches.
Pre-Condition Department uses the main page of “eduTime”.
Normal action Actor’s Action System Response
Step1: Department initiates for posting Step2: System displays the login
Course Offering. page.
Step3: Department enters User Name and Step4: System checks the
Password. authentication of User Name and
Step6: Department clicks on Manage password.
Course offering link. Step5: The system displays the
Step8: Department edits, posts or updates main page designed for the
Course Offering Information. departments.
Step7: The system displays the
post course offering page.
Step9: System stores the updated
Course Offering information.
Post condition Course offering can be used mainly for class timetable generation of the
department.
Alternative Step4: If the department enters the Username and password that is not valid, the
Action System display error message and go to Step2.
Table 19: Use Case Documentation for Managing Course Offering

Final Year Project 27


3.1.2.10 Use case documentation for Generating Class Timetable
Use Case ID UC_10
Use case Name Generate class timetable
Actor Departments
Description It describes the process of generating class schedule.
Trigger Departments want to generate the Class Timetable for the semester.
Pre-Condition Department uses the main page of “eduTime”.
Normal action Actor’s Action System Response
Step1: Department initiates for Manage Step 2: System displays the login
add student information. page.
Step 3: Department enters User Name and Step 4: System checks the
Password. authentication of user name and
Step 6: Department clicks on Create Class password.
Schedule information link. Step 5: System displays the
Step 8: Department enters necessary department’s main page.
information required for generating the Step 7: System displays the Create
class schedule. Class Schedule information page.
Step 10: Department views the generated Step 9: System generates the
timetable and approves it. timetable and make it available for
the client to view.
Step 11: System stores the
approved class timetable.
Post condition Approved class timetable will be available for teachers and students.
Alternative Step4: If the HOD enters the Username and password is not valid, the System
Action display error message and go to Step2.
Table 18:Use Case Documentation for Generating Class Timetable

Final Year Project 28


3.1.2.12Use case documentation for view exam timetable
Use Case ID UC_12
Use case Name View exam timetable
Actor Teachers and Students

Description It describes the process to view approved exam timetable.


Trigger Teachers and students needs to view exam timetable.
Pre-Condition User’s uses the main page of “eduTime”.
Normal action Actor’s Action System Response
Step1: Teachers/students initiate to view Step 2: System displays the main
exam timetable. page.
Step 3: Teachers/students click on Step 4: System displays the View
Teacher’s & Student’s User link. Page.
Step 5: User clicks View exam Timetable Step6: System displays the
and then selects the year and semester. approved exam timetable.

Post condition User views the information and can download or print it.

Alternative
Action
Table 22 : Use case documentation for Viewing Exam Timetable

Final Year Project 29


3.1.2.13Use case documentation for view class timetable
Use Case ID UC_13

Use case Name View class timetable

Actor Teachers and Students

Description It describes the process to view approved class timetable.

Trigger Teachers and students needs to view class timetable.

Pre-Condition User’s uses the main page of “eduTime”.

Normal action Actor’s Action System Response


Step1: Teachers/students initiate to view Step 2: System displays the main
class timetable. page.
Step3: Teachers/students click on Step 4:System displays the View
Teacher’s & Student’s User link. Page.
Step 5: User clicks View Class Timetable Step 6:System displays the
and then selects the class and batch. approved class timetable.

Post condition User views the information and can download or print it.
Alternative
Action

Table 23 : Use Case Documentation for Viewing Class Timetable

Final Year Project 30


3.1.3 Sequence Diagram
Sequence diagrams are used to formalize the behavior of the system and to visualize the
interaction among objects. They are used to identifying additional objectives that participate in
use case. We call objects involved in the use case participating objects. It represents the
interaction among these objects.

3.1.3.1 Sequence diagram for login

Figure 2: Sequence Diagram for Login

Final Year Project 31


3.1.3.2 Sequence Diagram for Creating New User Account.

Figure 3 : Sequence Diagram for Creating New User Account


3.1.3.3 Sequence Diagram for Managing Class Room Information.

Figure 4: Sequence Diagram for Managing Class Room Information

Final Year Project 32


3.1.3.4 Sequence Diagram for Managing (insert/update/delete) Course profile

Figure 5 : Sequence Diagram for Managing (insert/update/delete) Course Profile


3.1.3.5 Sequence Diagram for Course Offering

Figure 6 : Sequence Diagram for Course Offering

Final Year Project 33


3.1.3.6 Sequence Diagram for Teacher’s Profile

Figure 7 : Sequence Diagram for Teacher’s Profile


3.1.3.7 Sequence Diagram for Class/Section/Batch Profile

Figure 8 : Sequence Diagram for Class/Section/Batch Profile

Final Year Project 34


3.1.3.18 Sequence Diagram for Generating Class Timetable

Figure 9 : Sequence Diagram for Generating Class Timetable


3.1.3.19 Sequence Diagram for Generating Exam Timetable

Figure 10 : Sequence Diagram for Generating Exam Timetable

Final Year Project 35


3.1.3.12 Sequence Diagram for Viewing Class Timetable

Figure 11 : Sequence Diagram for Viewing Class Timetable


3.1.3.13 Sequence Diagram for Viewing Class Timetable

Figure 12 : Sequence Diagram for Viewing Class Timetable

Final Year Project 36


3.1.4 Activity Diagram

3.1.4.1 Activity Diagram for Login

Figure 13 : Activity Diagram for Login


3.1.4.2 Activity Diagram for Creating New Account

Figure 14 : Activity Diagram for Creating New Account

Final Year Project 37


3.1.4.3 Activity Diagram for Managing Class Room Information

Figure 15 : Activity Diagram for Managing Class Room Information

Final Year Project 38


3.1.4.4 Activity Diagram for Managing Course Profile

Figure 16 : Activity Diagram for Managing Course Profile

Final Year Project 39


3.1.4.5 Activity Diagram for Teacher’s profile

Figure 17 : Activity Diagram for Teacher’s Profile

Final Year Project 40


3.1.4.6 Activity Diagram for Course Offering

Figure 18 : Activity Diagram for Course Offering


3.1.4.7 Activity Diagram for Class/section profile

Figure 19 : Activity Diagram for Class/Section Profile

Final Year Project 41


3.1.4.8 Activity Diagram for Generating Class Timetable

Figure 20 : Activity Diagram for Generating Class Timetable

Final Year Project 42


3.1.4.9 Activity Diagram for Generating Exam Timetable

Figure 21 : Activity Diagram for Generating Exam Timetable


3.1.4.12 Activity Diagram for Viewing Class Timetable

Figure 22 : Activity Diagram View Class Timetable

Final Year Project 43


3.1.4.13 Activity Diagram Viewing Exam Timetable

Figure 23 : Activity Diagram for Viewing Exam Timetable


3.1.4.14 Activity Diagram for Logout

Figure 30: Activity Diagram for Logout

Final Year Project 44


3.1.5 Analysis Level Class Diagram

Figure 31: Analysis Level Class Diagram

Final Year Project 45


3.1.6 User Interface Prototype

Figure 24 : User Interface Prototype

Final Year Project 46


CHAPTER 4 System Design
4. System Design
System design is the transformation of the analysis model into a system design model. During
System design, developers define the design goals of the project and decompose the system in to
smaller subsystems that can be realized by individual teams. The result of system design is a
model that includes a clear description of each of these strategies, subsystem decomposition, and
a UML deployment diagram representing the hardware/software mapping of the system.
The following section provides the class type architecture package modeling, collaboration
modeling, component modeling, deployment diagrams and user interface of the system. This will
help us to design the system and describe how its interface looks like.

4.1 Class Type Architecture


The class type architecture describes how the system works and interacts with the user by
dividing work into different layers. A layered approach is used to design the system. These
layers are interface layer, control layer, domain layer, persistent layer and system layer.

Figure 25: Class Type Architecture

Final Year Project 47


Layer Description

This layer wraps access to the logic of our system. There are two categories
of interface class – user interface (UI) classes that provide people access to
User interface
our system and system interface (SI) classes that provide access to internal
systems to our system like database.
Domain/Business This layer implements the concepts relevant to our business domain.

Controller/Process The process layer implements business logic that involves collaborating with
or Application several domain classes or even other process classes.

Persistence layers encapsulate the capability to store, retrieve, and delete


Persistence objects/data permanently without revealing details of the underlying storage
technology in the system. Administrator has to update and delete database.
System classes provide operating-system-specific functionality for our
System applications.
Table 19: Class Type Architecture

Final Year Project 48


4.2 Class Modeling
Class modeling used to describe the structure of this system. Classes are abstractions that specify
the common structure and behavior of a set of objects in the new system. In this modeling the
team’s members have design the system in terms of objects, classes, attributes, operations and their
association. Of course the model depicted here is a sample.
4.2. Class Modeling

Figure 26: Class Modeling

Final Year Project 49


4.3 State Chart Modeling
In this part the team used to model the behaviors of the objects by drawing the state diagram. The
state diagram depicts the state of objects as their attributes change from one state to the other state.
State chart modeling is used to show the sequence of states that an object goes through, the events
that cause the transition from one state to the other and the actions that result from a state change.
The following figure shows the state of the objects of the corresponding use cases. Some of them
are:-
4.3.1 State Chart Diagram for Create new Account

Figure 27: State Chart Diagram for Create new Account

Final Year Project 50


4.3.2 State Chart Diagram for Manage Class Room Information

Figure 28: State Chart Diagram for Manage Class Room Information

Final Year Project 51


4.3.3 State Chart Diagram for Manage Course Offering

Figure 29: State Chart Diagram for Manage Course Offering

Final Year Project 52


4.3.4 State Chart Diagram for Manage Course Profile

Figure 30: State Chart Diagram for Manage Course Profile

Final Year Project 53


4.3.5 State Chart Diagram for Manage Teacher Profile

Figure 31: State Chart Diagram for Manage Teacher Profile

Final Year Project 54


4.3.6 State Chart Diagram for Manage Batch Information

Figure 32: State Chart Diagram for Manage Batch Information

Final Year Project 55


4.4 Collaboration Diagram
This is used to show some data flows between objects and the interaction caused between them.
Some of the data flows among objects were explained below.
4.4.1 Collaboration Diagram for Create Account

Figure 33: Collaboration Diagram for Create Account


4.4.2 Collaboration Diagram for Manage Account

Figure 34: Collaboration Diagram for Manage Account

Final Year Project 56


4.4.3 Collaboration Diagram for Manage Course Offering

Figure 35: Collaboration Diagram for Manage Course Offering

4.4.4 Collaboration Diagram for Manage Course Profile

Figure 36: Collaboration Diagram for Manage Course Profile

Final Year Project 57


4.4.5 Collaboration Diagram for Manage Classroom Information

Figure 37: Collaboration Diagram for Manage Classroom Information

4.4.6 Collaboration Diagram for Manage Batch Information

Figure 38: Collaboration


4.4.7 Collaboration Diagram
Diagram for Manage
for Manage Batch
Teacher Information
Profile

Final Year Project 58


4.4.7 Collaboration Diagram for Manage Teacher Profile

4.4.8 Collaboration
Figure Diagram
39: Collaboration for Generate
Diagram Class Teacher
for Manage Timetable
Profile
4.4.8 Collaboration Diagram for Class Timetable

Figure 40: Collaboration Diagram for Class Timetable

Final Year Project 59


4.4.9 Collaboration Diagram for Generating Exam Timetable

Figure 41: Collaboration Diagram for Generating Exam Timetable

Final Year Project 60


4.4.10 Collaboration Diagram for View Class time table

Figure 42: Collaboration Diagram for View Class time table

4.4.11 Collaboration Diagram for View Class time table

Figure 43: Collaboration Diagram for View Class time table

Final Year Project 61


4.5 Component Modeling
In this modeling components of the system will be wired showing that there is relation among
components, this in some extent shows which components or objects will be accessed by whom.
The diagram is simulated below.
4.5.1 Component Modeling Diagram

Figure 44: Component Modeling Diagram

Final Year Project 62


4.6 Deployment Modeling
Deployment modeling used to show the hardware of the system, the software that is installed in the
hardware and also the middleware that is used to connect the disparate machines to one and other.
It also shows how the software and the hardware components work together.
4.6.1 Deployment Modeling

Figure 45: Deployment Modeling

Final Year Project 63


4.7 Persistence Modeling
Persistence modeling is used to communicate the design of the database, usually the data base to
both the users and the developers. It is also used to describe the persistence data aspect of the
system. The following diagram indicate the persistence diagram of the system
4.7.1 Persistence Modeling Diagram

Figure 46: Persistence Modeling Diagram

Final Year Project 64


4.8 User Interface Design
4.8.1 User Interface Design for Home Page

Figure 47: User Interface Design for Home Page

4.8.2 User Interface for Login

Figure 48: User Interface for Login

Final Year Project 65


4.8.4 User Interface for Manage Course Offering

Figure 49: User Interface for Manage Course Offering


4.8.5 User Interface for Manage Teachers Profile

Figure 50: User Interface for Manage Teachers Profile

Final Year Project 66


4.8.6 User interface for Manage Batch Information

Figure 51: User interface for Manage Batch Information


4.8.7 User Interface for Manage Course Profile

Figure 52: User Interface for Manage Course Profile

Final Year Project 67


Chapter 5 Implementation & Testing
In implementation and testing, object oriented implementation include the following: developing
algorithm, coding, installation and make test by unit testing ,integration testing, system testing,
volume testing and acceptance testing and also hard ware specification as well as software
specification, user preparation, startup technique and at last summary of implementation and
report. The chapter here describes about the final testing system, hardware and software
acquisitions, and installation process. The functional system from the design phase above is the
key input to the implementation phase. The deliverable of the implementation phase (the project) is
the operational system that will enter the operation and support stage of the system’s life cycle.
Here is the sample code for each module.
Coding for Login
DataSet ds = new DataSet();
String st = "data source=.; database=edutimetableDB; integrated
security=SSPI";
SqlConnection conn = new SqlConnection(st);

conn.Open();
// HashAlgorithm myHasher = new SHA1CryptoServiceProvider();
string checkuser = "select count(*) from AccountTable where User_ID='" +
TextBoxUserID.Text + "'";
SqlCommand com = new SqlCommand(checkuser, conn);
int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
conn.Close();
if (temp == 1)
{
Session["Value"] = TextBoxUserID.Text;
conn.Open();
string chpassword = "select Password from AccountTable where User_ID='" +
TextBoxUserID.Text + "'";
SqlCommand passcomm = new SqlCommand(chpassword, conn);
Object pass = passcomm.ExecuteScalar();
string dec = Convert.ToString(pass);
string password = Decrypt(dec);

conn.Close();

if (password == TextBoxPassword.Text)
{
conn.Open();
string Role = "select Role from AccountTable where User_ID='" +
TextBoxUserID.Text + "'";
SqlCommand role = new SqlCommand(Role, conn);
Object rol = role.ExecuteScalar();
string r = Convert.ToString(rol);
conn.Close();

if (r == "Administrator" && DropDownListRole.Text ==

Final Year Project 68


"Administrator")
{
Response.Redirect("~/Administrator1.aspx");

else if (r == "Department" && DropDownListRole.Text ==


"Department")
{

Response.Redirect("~/Department.aspx");
}

else if (r == "Registrar" && DropDownListRole.Text ==


"Registrar")
{
Response.Redirect("~/Registrar.aspx");
}

else if (r == "User")
{
Response.Redirect("~/Home.aspx");
}
else
{
lbl.ForeColor = Color.Red;
lbl.Text = "You tried to login as " + DropDownListRole.Text +
".Please try to log in with your role";
DropDownListRole.Focus();

}
}

else
{

lbl.ForeColor = Color.Red;
lbl.Text = "Please Enter the Correct Password";
TextBoxPassword.Focus();
}
}

else
{
lbl.Text = "Please Enter a Valid User Name";
TextBoxUserID.Focus();
}
}

Final Year Project 69


Code for Teacher Profile
if (deptname.Equals("DEPT_CSIT"))
dname = "Computer Science";
else if (deptname.Equals("DEPT_MECH"))
dname = "Mechanical";
else if (deptname.Equals("DEPT_CIVIL"))
dname = "CIVIL";
else if (deptname.Equals("DEPT_ECE"))
dname = "Electrical";
else if (deptname.Equals("DEPT_ARCH"))
dname = "Architecture";
else if (deptname.Equals("DEPT_HYDRAULIC"))
dname = "Hydraulics";
else if (deptname.Equals("DEPT_ENVIRONMENTAL"))
dname = "Environmental";
else if (deptname.Equals("DEPT_IRRIGATION"))
dname = "Irrigation";

protected void ButtonSave_Click(object sender, EventArgs e)


{
try
{
string st = "data source=.; database=edutimetableDB; integrated
security=SSPI";
SqlConnection conn = new SqlConnection(st);
SqlCommand comm = new SqlCommand("insert into
TeacherProfileTable(FirstName,LastName,Qualification,Sex,Phone_No,Email,Designation,Departm
entName)
values(@FirstName,@LastName,@Qualification,@Sex,@Phone_No,@Email,@Designation,@dname)",
conn);
SqlCommand comm1 = new SqlCommand("select MAX(Teacher_ID) from
TeacherProfileTable;",conn);
conn.Open();
comm.CommandType = CommandType.Text;
comm.Parameters.AddWithValue("@FirstName", TextBoxFirstName.Text);
comm.Parameters.AddWithValue("@LastName", TextBoxLastName.Text);
comm.Parameters.AddWithValue("@Qualification", TextBoxQualfication.Text);
comm.Parameters.AddWithValue("@Sex", DropDownListSex.SelectedValue);
comm.Parameters.AddWithValue("@Phone_No", TextBoxPhoneNumber.Text);
comm.Parameters.AddWithValue("@Designation", TextBoxdesignation.Text);
comm.Parameters.AddWithValue("@Email", TextBoxEmail.Text);
comm.Parameters.AddWithValue("@dname", dname);
int increase = 0;
Object tid =null;

increase = comm.ExecuteNonQuery();
if (increase == 1)
{
tid=comm1.ExecuteScalar();
}
Label1.ForeColor = Color.Green;

Label1.Text = "Data Successfully Saved. New Teacher Id is : " +


Convert.ToString(tid);

Final Year Project 70


conn.Close();
}
catch (Exception ex)
{
Label1.ForeColor = Color.Red;
Label1.Text = "Your data is not successfully saved";
Label1.Text += ex.Message;
}
}

protected void ButtonReset_Click(object sender, EventArgs e)


{
TextBoxFirstName.Text = "";
TextBoxLastName.Text = "";
TextBoxQualfication.Text = "";
TextBoxdesignation.Text = "";
TextBoxPhoneNumber.Text = "";
TextBoxEmail.Text = "";

Code for Teacher Profile


try
{
string st = "data source=.; database=edutimetableDB; integrated
security=SSPI";
SqlConnection conn = new SqlConnection(st);
SqlCommand comm = new SqlCommand("insert into
CourseProfileTable(Course_Code,CourseName,DepartmentName,ProgramName,CourseType,Semester,Co
urseCredit,Carriculum_ID)
values(@Course_Code,@CourseName,@dname,'IT',@CourseType,@Semester,@Course_Credit,@Carricula
m_ID)", conn);
conn.Open();
comm.CommandType = CommandType.Text;
comm.Parameters.AddWithValue("@Course_Code", TextBoxCourseCode.Text);
comm.Parameters.AddWithValue("@CourseName", TextBoxCourseName.Text);
comm.Parameters.AddWithValue("@Program Name", DropDownList2.SelectedValue);
comm.Parameters.AddWithValue("@dname",dname);

comm.Parameters.AddWithValue("@CourseType",DropDownListcoursetype.SelectedValue);
comm.Parameters.AddWithValue("@Semester",
DropDownListSemester.SelectedValue);
comm.Parameters.AddWithValue("@Course_Credit", TextBoxCreditHour.Text);
comm.Parameters.AddWithValue("@Carriculam_ID", TextBoxCarriculam_ID.Text);
int increase = 0;
increase = comm.ExecuteNonQuery();
lbl.ForeColor = Color.Green;
lbl.Text = increase.ToString() + "Data is Successfully Saved";

conn.Close();
}
catch (Exception ex)
{

Final Year Project 71


lbl.ForeColor = Color.Red;
lbl.Text = "Data is not saved";

lbl.Text += ex.Message;
}
}

protected void ButtonReset_Click(object sender, EventArgs e)


{
TextBoxCourseCode.Text = "";
TextBoxCourseName.Text = "";
TextBoxCreditHour.Text = "";
TextBoxCarriculam_ID.Text = "";

Code for batch information


protected void Button1_Click(object sender, EventArgs e)
{
try
{
string st = "data source=.; database=edutimetableDB; integrated
security=SSPI";
SqlConnection conn = new SqlConnection(st);
SqlCommand comm = new SqlCommand("insert into
BatchProfileTable(AcadamicYear,ProgramName,Section,Semester,BatchName)
values(@AcadamicYear,@ProgramName,@Section,@Semester,@BatchName)", conn);
SqlCommand comm1 = new SqlCommand("select MAX(Batch_ID) from
BatchProfileTable;", conn);
conn.Open();
comm.CommandType = CommandType.Text;

comm.Parameters.AddWithValue("@ProgramName",
DropDownList1.SelectedValue);
comm.Parameters.AddWithValue("@AcadamicYear", TextBoxAyear.Text);
comm.Parameters.AddWithValue("@Section",
DropDownListSection.SelectedValue);
comm.Parameters.AddWithValue("@Semester",
DropDownListSemester.SelectedValue);
comm.Parameters.AddWithValue("@BatchName",
DropDownListBatch.SelectedValue);
int increase = 0;
Object bid = null;
increase = comm.ExecuteNonQuery();
if (increase == 1)
{
bid=comm1.ExecuteScalar();
}
lbl.ForeColor = Color.Green;

lbl.Text = "Data Successfully Saved. New Batch_ID is : " +


Convert.ToString(bid);
conn.Close();
}
catch (Exception ex)

Final Year Project 72


{
lbl.ForeColor = Color.Red;
lbl.Text = "your data is not successfully saved";
lbl.Text += ex.Message;
}
}

protected void Button2_Click(object sender, EventArgs e)


{

TextBoxAyear.Text = "";
}

Code for Database Connection, Password Encryption and Decryption


public string Encrypt(string clearText)
{
string Encryption Key = "MAKV2SPBNI99212";
byte[] clear Bytes = Encoding.Unicode.GetBytes(clearText);
using (Aes encryptor = Aes.Create())
{
Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[]
{ 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
encryptor.Key = pdb.GetBytes(32);
encryptor.IV = pdb.GetBytes(16);
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms,
encryptor.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(clearBytes, 0, clearBytes.Length);
cs.Close();
}
clearText = Convert.ToBase64String(ms.ToArray());
}
}
return clearText;
}

public string Decrypt(string cipherText)


{
string EncryptionKey = "MAKV2SPBNI99212";
byte[] cipherBytes = Convert.FromBase64String(cipherText);

using (Aes encryptor = Aes.Create())


{
Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[]
{ 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
encryptor.Key = pdb.GetBytes(32);
encryptor.IV = pdb.GetBytes(16);
using (MemoryStream ms = new MemoryStream())
{

Final Year Project 73


using (CryptoStream cs = new CryptoStream(ms,
encryptor.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(cipherBytes, 0, cipherBytes.Length);
cs.Close();
}
cipherText = Encoding.Unicode.GetString(ms.ToArray());
}
}
return cipherText;
}
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Value"] == null)
{
//Response.Redirect("~/login1.aspx");
}
else
{
Label1.Text = "Logged IN " + Session["Value"].ToString();
}
Response.ClearHeaders();
Response.AddHeader("Cache-Control", "no-cache, no-store, max-age=0, must-
revalidate");
Response.AddHeader("Pragma", "no-cache");
Page.Response.AppendHeader("Cache-Control", "no-store, no-cache, must-
revalidate, post-check=0, pre-check=0");

Generate Class timetable


public void CourseName()
{
string[] CourseCode = new string[20];
int[] CourseCredit = new int[20];
string[] teacherid = new string[20];

string st = "data source=.; database=edutimetableDB; integrated


security=SSPI";

SqlConnection conn1 = new SqlConnection(st);


SqlCommand course = new SqlCommand("Select
O.Course_Code,O.Teacher_ID,C.CourseCredit from edutimetableDB.dbo.CourseprofileTable as
C,edutimetableDB.dbo.CourseOfferTable as O where O.Course_Code=C.Course_Code and
O.Semester = 'I' and C.DepartmentName = 'Computer Science' and C.ProgramName = 'IT' and
C.Carriculum_ID = 'I'and O.Batch_ID IN (select Batch_ID from
edutimetableDB.dbo.BatchProfileTable where BatchName='G1' and Section='A')",
conn1);
conn1.Open();
SqlDataReader dr = course.ExecuteReader();

int k = 0;
while (dr.Read())
{

Final Year Project 74


CourseCode[k] = dr["Course_Code"].ToString();
CourseCredit[k] = Convert.ToInt32(dr["CourseCredit"].ToString());
teacherid[k] = dr["Teacher_ID"].ToString();
Label1.Text = CourseCode[k];
Label2.Text = CourseCredit[k].ToString();
Label3.Text = teacherid[k];
k++;
}
conn1.Close();
int t = 0;
for (t = 0; t < k - 1; t++)
{
Label1.Text = CourseCode[0];

if (CourseCredit[0] == 3)
{
Label2.Text = CourseCode[0];
Label3.Text = CourseCode[0];
}
if (CourseCredit[0] == 2)
{
Label2.Text = CourseCode[0];
}

Label5.Text = CourseCode[1];

if (CourseCredit[1] == 3)
{
Label6.Text = CourseCode[1];
Label7.Text = CourseCode[1];
}
if (CourseCredit[1] == 2)
{
Label6.Text = CourseCode[1];

}
Label8.Text = CourseCode[2];

if (CourseCredit[2] == 3)
{
Label9.Text = CourseCode[2];
Label10.Text = CourseCode[2];
}
if (CourseCredit[2] == 2)
{
Label9.Text = CourseCode[2];
}
Label11.Text = CourseCode[2];

if (CourseCredit[3] == 3)
{
Label2.Text = CourseCode[3];
Label3.Text = CourseCode[3];
}
if (CourseCredit[3] == 2)
{
Label12.Text = CourseCode[2];
}

Final Year Project 75


Label14.Text = CourseCode[2];

if (CourseCredit[3] == 3)
{
Label15.Text = CourseCode[3];
Label16.Text = CourseCode[3];
}
if (CourseCredit[3] == 2)
{
Label15.Text = CourseCode[2];
}

Label17.Text = CourseCode[2];

if (CourseCredit[2] == 3)
{
Label18.Text = CourseCode[2];
Label19.Text = CourseCode[2];
}
if (CourseCredit[3] == 2)
{
Label18.Text = CourseCode[2];
}
Label20.Text = CourseCode[2];

if (CourseCredit[3] == 3)
{
Label21.Text = CourseCode[2];
Label22.Text = CourseCode[2];
}
if (CourseCredit[3] == 2)
{
Label21.Text = CourseCode[2];
}
Label23.Text = CourseCode[2];

if (CourseCredit[3] == 3)
{
Label23.Text = CourseCode[3];
Label24.Text = CourseCode[3];
}
if (CourseCredit[3] == 2)
{
Label23.Text = CourseCode[2];
}
Label25.Text = CourseCode[2];

if (CourseCredit[3] == 3)
{
Label26.Text = CourseCode[2];
Label27.Text = CourseCode[2];
}
if (CourseCredit[3] == 2)
{
Label26.Text = CourseCode[2];
}
Label28.Text = CourseCode[2];

Final Year Project 76


if (CourseCredit[0] == 3)
{
Label29.Text = CourseCode[0];
Label30.Text = CourseCode[0];
}
if (CourseCredit[2] == 2)
{
Label31.Text = CourseCode[0];
}
Label32.Text = CourseCode[2];

if (CourseCredit[0] == 3)
{
Label33.Text = CourseCode[1];
Label34.Text = CourseCode[1];
}
if (CourseCredit[2] == 2)
{
Label31.Text = CourseCode[1];
}
}

string[] cname=new string[15];


string[] tid=new string[15];
int i=0;

while(dr.Read())
{
cname[i] = dr["Course_Code"].ToString();
tid[i] = dr["Teacher_ID"].ToString();
TextBoxCourseName.Text = cname[i];
TextBoxTeacher.Text = tid[i];
i++;
}

dr.Close();
course.Dispose();
}

Final Year Project 77


5.1 Testing of the System

5.1.1 Unit Testing


The system modules are tested unit by unit. Unit testing is to test logic in classes by programmers
to show code level correctness. They should be fast and not depended on other parts of the system
that you don't intend to test. It is essentially for the verification of the code produced during the
coding phase and the goal is test the internal logic of program. The unit testing is done during
coding phase of data entry forms whether the functions are working properly or not.
5.1.2 Integration Testing: -The modules will be gradually integrated into subsystems, which are
then integrated to eventually to the entire system. Integration testing will be done to detect design
errors by focusing on testing the interconnection between modules.
5.1.3 System Testing: - After the system is put together, it will be performed. The system will be
tested against the system requirement to see whether the entire requirements meet and whether the
system performs as specified by the requirement.
5.1.4 Acceptance Testing: - will be carried out by the customer (registrar/instructors) to ensure
that the delivered product meets the requirement and works as the customer expected.
Alpha testing – conducted by users to ensure they accept the system with sample data.
Beta testing – conducted by users with real data, not test data.
Test cases
Log in
Test case identifier Login process
Test location Log in page
Feature to be tested Checks whether the person is authorized user of the system or
not.
Feature to pass criteria The test passes: When user inserts correct username and
password in the login page, the main menu. If incorrect
username and password inserted the system displays error
message and allow return password and username.
Data Password and username information in the login page.
Table 20: Table Log in Test case specification

Final Year Project 78


User
Test case identifier Manage User process.
Test location Manage User Interface accessed by the Admin.
Feature to be tested Adding new users to the database without duplicate on and
generating user id and password to use Class and Exam
Timetable.
Feature to pass criteria The system checks mandatory fields like userid, password is
entered or not.
The system checks whether user information exists or not.
If the above condition passes the user information is added to the
database.
System creates userid and password to the users with the
respective role.
Data User information such as first name, last name, user_id,
password, email etc.
Table 21: Table User Test Case Specification

5.2 Hardware and Software Acquisitions


Hardware acquisition: The system is planned to be implement on the Arba Minch Universities
network or internet. Since our system is web based for its deployment a web server is needed. As a
mail server and a domain name server, our system uses the existing and DNS of the university.
From user’s point of view they can use it from anywhere through AMU website. Here the
hardware requirements are the minimum that they need to be part of internet.
Software acquisition: The client side application is compatible with windows environment.
The application part of our program is developed by Visual Studio 2010 and the database part is
developed MS SQL Server.

Final Year Project 79


5.3 Hardware & Software Configuration

Production environments Recommended - 32-bit OS with Intel/AMD 2.0 GHZ+


CPU
RAM Recommend minimum - 4 GB
Temporary file space for installs 10 GB free disk space for software and logs
and upgrades
For Redundancy RAID/Mirroring for redundancy
For better performance SATA or SCSI
Additional disk space for storage Temp files space- The store requires 5GB
Operating system Windows 2000, XP, Vista, and Windows 7,window 8
etc.
Monitor Display minimum resolution
1024 x 768
Internet Connection Speed Higher
Printer

User Manual Preparation


The system is web based everything important for the user will be explained and implemented
while giving short training when the system is deployed.
Training

During the deployment of the system, the project group members will give short time training for
the system administrator and the users explaining how the system works and in what way they can
use and manage the system developed.
Installation Process

For bringing the application into a working standard first the application has to be deployed in a
web server such as Apache. Since it is designed as a web based application there is no issues faced
here. Database server will also be configured.

Start-up Strategy
Once the system is hosted, it has two parts: One which needs password and username that is for
administrator, department head of the department, and registrar. To access those parts one has to
have password and user name so that he/she can enter into it and use it. The other part is those
which do not need pass word and username so they can be accessed by any users such as teachers
and students.

Final Year Project 80


Chapter 6 Conclusions and Recommendations
6.1 Conclusion
With all the accumulated effort invested, there are reasons to believe that at the end of the project
“eduTime-Time Table Management System for AMiT” finds itself in a better shape even though
partially implemented. We summarize the progress with respect to the main objectives of the
project. We the team members can conclude the following perceptional views as we have done the
project throughout this year. As we know, for every University, setting up the timetable has been a
perpetual burden to the lecturer and a distraction to his core responsibility of teaching. In the
aspect of Time Table Management System there is a vast scope and is seemed to be a must. More
or less keeping track of what our timetabling system(manual) is, managing departments, managing
teacher profiles with respect to the department, managing rooms available for classes in AMIT,
entering course offering for each semester in each department, managing course profile of each
department, managing programs of each department, managing batch information and class
timetable for few batches are there with “eduTime” and we have tried our level best to reach the
expectation level from under graduate studies. “eduTime” is flexible, accurate and attractive with
easy GUI approach. We could accomplish the some of the issues. But now there is a clear and base
idea how the system can be developed and integrated, this project can be seen as an initiation for
students who are doing project on the same field.

Final Year Project 81


6.2 Recommendations
We strongly recommend that one who under goes through this project can succeed, if he or she
(they) pay(s) attention for expanding the system national wise. Managing the Departments,
Managing the Classrooms, Managing the teacher profile, Managing the Course profile, Adding,
updating Course offering for the semester, Managing Programs of the department, and class
timetable for few batches are the main areas where we were able to fulfill. Since all these areas are
much clear through this project we recommend general and optimized algorithm for timetable
generation which were not possible for us due to time and other technical constraints. In addition
to that repots such as Semester wise Course offering, Course profile, Teacher profile, Batch
Information of the departments were generated.

Final Year Project 82


REFERENCE
https://proposalsforngos.com/project-objectives/

https://www.bpcc.edu/institutional-advancement-grants/how-to-write-goals-and-objectives-for-

grant-proposals

https://www.fundsforngos.org/featured-articles/frame-goals-objectives-project-proposal/

https://asana.com/resources/how-project-objectives

https://www.ntaskmanager.com/blog/example-of-project-objectives/

https://www.projectmanager.com/training/how-to-write-effective-project-objectives-every-time

https://www.smartsheet.com/how-write-smart-project-objective

https://www.google.com

Final Year Project 83


Bibliography

[1] Gary B.Shelly and Harry J.Rosenblatt (2011).System Analysis and Design 9th Edition

[2] Stella, C.C. and Franca, A.E (2006). Principles of System Analysis and Design.Rootprint and

publisher, Benin City – Nigeria.

[3] A Genetic Algorithm Based University Timetabling System, Edmund Burke, David Elliman

and Rupert Weare.

[4] Bennett, Simon and Skelton, John. Schaum's Outline of UML

[5] Roger S Pressman, Bruce R. Maxim. Software Engineering: A Practitioner's Approach. 8th

Edition.

Final Year Project 84

You might also like