Professional Documents
Culture Documents
JANUARY 4, 2021
WOLKITE UNIVERSITY
ADVISOR: - ISSAYAS W.
JANUARY 4, 2021
DECLARATION
This is to declare that this project work which is done under the supervision of Mr. ISSAYAS W.
and having the title SCIENCE, TECHNOLOGY, ENGINEERING AND MATHEMATICS
(STEM) MANAGEMENT SYSTEM is the sole contribution of: Girum Nigusse, Alehegn
Melkie, Esubalew Aschale and Abubeker Abdi. No part of the project work has been
reproduced illegally (copy and paste) which can be considered as Plagiarism. All referenced
parts have been used to argue the idea and have been cited properly. We will be responsible and
liable for any consequence if violation of this declaration is proven.
Date: _____________________
Group Members:
i
APPROVAL FORM
This is to confirm that the project report entitled Science Technology Engineering and
Mathematics (STEM) MANAGEMENT SYSTEM submitted to Wolkite University, College of
Computing and Informatics Department of Information systems by: Girum Nigusse, Alehegn
Melkie, Esubalew Aschale and Abubeker Abdi are approved for submission.
ii
ACKNOWLEDGMENT
First of all, our gratitude thanks to God for help us in this project starting from the beginning up
to now. Secondly, we would like to express our deepest gratitude to our Adviser Mr. Issayas W.
for his advice and constrictive commit in our project and also, we would like to thanks our
College of Computing and Informatics college for giving as this chance to do this final project.
We would also like to thank to Wolkite University Community Service Director for his
willingness for any interview and give us different forms and documents that help us to the
achievement of the project. Finally, we would like to thanks our friends for their support and best
wish.
iii
TABLE OF CONTENTS
Table of Contents
DECLARATION..........................................................................................................................................i
APPROVAL FORM....................................................................................................................................ii
ACKNOWLEDGMENT............................................................................................................................iii
TABLE OF CONTENTS............................................................................................................................iv
LISTS OF FIGURES.................................................................................................................................vii
LISTS OF TABLES..................................................................................................................................viii
LIST OF ABBREVIATIONS.....................................................................................................................ix
ABSTRACT................................................................................................................................................x
CHAPTER ONE..........................................................................................................................................1
1. Introduction.........................................................................................................................................1
1.1 Background of the organization...................................................................................................1
1.2 Statement of the problem.............................................................................................................2
1.3 Objective of the project................................................................................................................3
1.3.1 General objective.................................................................................................................3
1.3.2 Specific objective.................................................................................................................3
1.4 Feasibility study...........................................................................................................................3
1.4.1 Technical feasibility.............................................................................................................3
1.4.2 Operational feasibility..........................................................................................................4
1.4.3 Economic feasibility............................................................................................................4
1.4.4 Schedule feasibility..............................................................................................................4
1.5 Scope and limitation of the project..............................................................................................5
1.5.1 Scope of the project.............................................................................................................5
1.5.2 Limitation of the project......................................................................................................5
1.6 Significance of the project...........................................................................................................5
1.7 Beneficiary of the project............................................................................................................6
1.8 Methodology of the project..........................................................................................................7
1.8.1 Data collection tools and techniques....................................................................................7
1.8.2 System analysis and design..................................................................................................7
1.8.3 System development model.................................................................................................8
1.8.4 Development tools and technologies....................................................................................8
1.9 Document organization................................................................................................................9
iv
CHAPTER TWO.......................................................................................................................................10
2. DESCRIPTION OF THE EXISTING SYSTEM...............................................................................10
2.1 Introduction of the existing system............................................................................................10
2.2 User of the existing system........................................................................................................10
2.3 Major function of the existing system........................................................................................11
2.4 Forms and Other Documents of the Existing Systems (if any)..................................................12
2.5 Drawback of the existing system...............................................................................................17
2.6 Business rule of the existing system..........................................................................................18
CHAPTER THREE...................................................................................................................................19
3. PROPOSED SYSTEM......................................................................................................................19
3.1 Functional Requirements...........................................................................................................19
3.2 Non-Functional Requirements...................................................................................................20
3.2.1 User Interface and Human Factors.....................................................................................20
3.2.2 Hardware Consideration....................................................................................................21
3.2.3 Security Issues...................................................................................................................21
3.2.4 Performance Consideration................................................................................................22
3.2.5 Error Handling and Validation...........................................................................................22
3.2.7 Physical Environment........................................................................................................23
3.2.8 Resource Issues..................................................................................................................23
3.2.9 Documentation...................................................................................................................23
CHAPTER FOUR.....................................................................................................................................24
4 SYSTEM ANALYSIS.......................................................................................................................24
4.2 System Model............................................................................................................................24
4.2.5 Use Case Model.................................................................................................................24
4.3 Object model.............................................................................................................................40
4.3.5 Class Diagram....................................................................................................................40
4.3.6 Data Dictionary..................................................................................................................42
4.4 Dynamic model..........................................................................................................................45
4.4.5 Sequence Diagram.............................................................................................................45
4.4.6 Activity Diagram...............................................................................................................55
4.4.7 State Chart Diagram...........................................................................................................62
CHAPTER – FIVE....................................................................................................................................67
5 SYSTEM DESIGN............................................................................................................................67
v
5.2 Design Goals.............................................................................................................................67
5.2.5 Performance.......................................................................................................................67
5.2.6 Dependability.....................................................................................................................67
5.2.7 Maintenance.......................................................................................................................67
5.2.8 End user.............................................................................................................................68
5.2.9 Security requirement..........................................................................................................68
5.3 Proposed System Architecture...................................................................................................68
5.3.5 Subsystem Decomposition and Description.......................................................................70
5.3.6 Hardware/Software Mapping.............................................................................................73
5.3.7 Detailed Class Diagram.....................................................................................................74
5.3.8 Persistence Data Management...........................................................................................75
5.3.9 Access Control and Security..............................................................................................76
5.4 Packages....................................................................................................................................77
5.5 Algorithm Design......................................................................................................................78
5.6 User Interface Design................................................................................................................79
CHAPTER - SIX.......................................................................................................................................81
6 IMPLEMENTATION AND TESTING.............................................................................................81
6.2 Implementation of the Database................................................................................................81
6.3 Implementation of Class Diagram.............................................................................................83
6.4 Configuration of Application Server..........................................................................................84
6.5 Configuration of Application Security.......................................................................................84
6.6 Implementation of User Interface..............................................................................................88
6.7 Testing.......................................................................................................................................89
6.7.5 Testing Tools and Environment.........................................................................................90
6.7.6 Unit Testing.......................................................................................................................90
6.7.7 Integration Testing.............................................................................................................91
CHAPTER – SEVEN................................................................................................................................92
7 CONCLUSION AND RECOMMENDATION.................................................................................92
7.2 Conclusion.................................................................................................................................92
7.3 Recommendation.......................................................................................................................92
Bibliography..............................................................................................................................................93
vi
LISTS OF FIGURES
FIGURE 2-1 INSTRUCTOR REQUEST TO THE COLLEGE COMMUNITY SERVICE DIRECTOR..............................13
FIGURE 2-2 RESPONSE LISTS OF INSTRUCTORS TO THE DIRECTOR...............................................................14
FIGURE 2-3 STUDENT SATISFACTION FORM.................................................................................................15
FIGURE 2-4 PREPARATION OF CLASS SCHEDULE..........................................................................................16
FIGURE 2-5 REPORT GENERATION FORM.....................................................................................................17
FIGURE 4-1 USE CASE DIAGRAM..................................................................................................................27
FIGURE 4-2 CONCEPTUAL CLASS DIAGRAM.................................................................................................41
FIGURE 4-3 SEQUENCE DIAGRAM FOR LOGIN..............................................................................................46
FIGURE 4-4 SEQUENCE DIAGRAM FOR ADD USER........................................................................................47
FIGURE 4-5 SEQUENCE DIAGRAM FOR UPDATE USER..................................................................................48
FIGURE 4-6 SEQUENCE DIAGRAM FOR DELETE USER...................................................................................49
FIGURE 4-7 SEQUENCE DIAGRAM FOR VIEW USER......................................................................................50
FIGURE 4-8 SEQUENCE DIAGRAM FOR UPLOAD MATERIAL.........................................................................51
FIGURE 4-9 SEQUENCE DIAGRAM FOR DOWNLOAD MATERIAL....................................................................52
FIGURE 4-10 SEQUENCE DIAGRAM FOR GENERATE CLASS SCHEDULE.......................................................53
FIGURE 4-11 SEQUENCE DIAGRAM FOR GENERATE DORM PLACEMENT.....................................................54
FIGURE 4-12 ACTIVITY DIAGRAM FOR LOGIN..............................................................................................55
FIGURE 4-13 ACTIVITY DIAGRAM FOR UPLOAD MATERIAL.........................................................................56
FIGURE 4-14 ACTIVITY DIAGRAM FOR DOWNLOAD MATERIAL...................................................................57
FIGURE 4-15 ACTIVITY DIAGRAM FOR MANAGE ACCOUNT.........................................................................58
FIGURE 4-16 ACTIVITY DIAGRAM FOR MANAGE USER................................................................................59
FIGURE 4-17 ACTIVITY DIAGRAM FOR GENERATE CLASS SCHEDULE..........................................................60
FIGURE 4-18 ACTIVITY DIAGRAM FOR GENERATE DORM PLACEMENT......................................................61
FIGURE 4-19 STATE CHART DIAGRAM FOR LOGIN......................................................................................62
FIGURE 4-20 STATE CHART DIAGRAM FOR UPLOAD MATERIAL.................................................................63
FIGURE 4-21 STATE CHART DIAGRAM FOR UPLOAD MATERIAL.................................................................64
FIGURE 4-22 STATE CHART DIAGRAM FOR MANAGE ACCOUNT.................................................................65
FIGURE 4-23 STATE CHART DIAGRAM FOR MANAGE USER........................................................................66
FIGURE 5-1 PROPOSED SYSTEM ARCHITECTURE..........................................................................................69
FIGURE 5-2 SUBSYSTEM DECOMPOSITION DIAGRAM...................................................................................72
FIGURE 5-3 DEPLOYMENT DIAGRAM...........................................................................................................73
FIGURE 5-4 DETAILED CLASS DIAGRAM.....................................................................................................74
FIGURE 5-5 PERSISTENCE DIAGRAM.............................................................................................................75
FIGURE 5-6 PACKAGE DIAGRAM..................................................................................................................77
FIGURE 5-7 USER INTERFACE FOR LOGIN.....................................................................................................79
FIGURE 5-8 USER INTERFACE FOR ADMINISTRATOR HOME PAGE................................................................80
LISTS OF TABLE
vii
TABLE 2-1 BUSINESS RULE OF THE EXISTING SYSTEM. 18
TABLE 4-1 USE CASE DESCRIPTION FOR LOGIN 27
TABLE 4-2 USE CASE DESCRIPTION FOR MANAGE ACCOUNT 29
TABLE 4-3 USE CASE DESCRIPTION FOR MANAGER USER 31
TABLE 4-4 USE CASE DESCRIPTION FOR SELECT INSTRUCTOR 32
TABLE 4-5 USE CASE DESCRIPTION FOR GENERATE CLASS SCHEDULE 33
TABLE 4-6 USE CASE DESCRIPTION FOR SEND REQUEST 34
TABLE 4-7 USE CASE DESCRIPTION FOR GENERATE DORM PLACEMENT 35
TABLE 4-8 USE CASE DESCRIPTION FOR UPLOAD MATERIAL 36
TABLE 4-9 USE CASE DESCRIPTION FOR DOWNLOAD MATERIAL 37
TABLE 4-10 USE CASE DESCRIPTION FOR SEND SMS MESSAGE 38
TABLE 4-11 DATA DICTIONARY FOR STUDENT TABLE 42
TABLE 4-12 DATA DICTIONARY FOR INSTRUCTOR TABLE 43
TABLE 4-13 DATA DICTIONARY FOR ACCOUNT TABLE 43
TABLE 4-14 DATA DICTIONARY FOR COURSE TABLE 44
TABLE 4-15 DATA DICTIONARY FOR ROOM TABLE 44
TABLE 4-16 DATA DICTIONARY FOR DEPARTMENT TABLE 44
TABLE 4-17 DATA DICTIONARY FOR BUILDING TABLE 45
TABLE 4-18 DATA DICTIONARY FOR COLLEGE TABLE 45
viii
LIST OF ABBREVIATIONS
ADMIN--------------------------------------Administrator
BR---------------------------------------------Business Rule
COLLEGE DIRECTOR----------------- College Community service Coordinator.
CSS--------------------------------------------Cascade style Sheet
DB----------------------------------------------Database
GUI--------------------------------------------Graphical User Interface
HTML-----------------------------------------Hyper Text Markup Language
HTTP------------------------------------------Hypertext Transfer Protocol
ID-----------------------------------------------Identification
MySQL----------------------------------------Relational database management
OOSAD----------------------------------------Object Oriented System Analysis Design
PC-----------------------------------------------Personal Computer (Client Computer)
PHP---------------------------------------------Hypertext Preprocessor
STEM-------------------------------------------Science, Technology, Engineering and Mathematics
UI------------------------------------------------User Interface
UNIVERSITY DIRECTOR----------------Community service director of university
UML---------------------------------------------Unified Modeling Language
WKU--------------------------------------------Wolkite University
XAMPP-----------------------------------------Platform apache MySQL Perl PHP
ABSTRACT
ix
Science, Technology, Engineering and Mathematics (STEM) is a curriculum offered for students
selected from different school of Gurage zone, Silte zone and Yem wereda and those students are
selected from grade 8th - 12th. and in the STEM, there are many problems like registering
students, preparation of dorm placement and preparation of class scheduling those problems lead
us to propose new system that solves the above problem. The main objective of the project is to
develop web-based STEM management system for wolkite university. The implementation will
be developed by using HTML, CSS, BOOTSTRAP, PHP, JAVASCRIPT, APACHE Server, and
MYSQL database and also, we use different data gathering techniques. The newly proposed
system provide for user is easy in registering students online, generating dorm placement and
generating class schedule.
CHAPTER ONE
1. Introduction
Science Technology Engineering and Mathematics (STEM) is a curriculum based on the idea
of educating students in four specific disciplines - science, technology, engineering and
mathematics in an interdisciplinary and applied approach. Rather than teach the four
x
disciplines as separate and discrete subjects, STEM integrates them into a cohesive learning
paradigm based on real-world applications [CITATION Ela14 \l 1033 ].
STEM start in Ethiopia with the moto of “Inside every child is a scientist.” And STEM is the
younger organization in Ethiopia that is proposed for the students who are talented and
skilled for science, technology, engineering and mathematics all around the country. It helps
us to lead in innovation and technology for the growth of our country. Nowadays, this center
is highly initiated by the government to upgrade our country to the next level. So students
within the country are getting training in STEM program to expand their knowledge and
solve the problems. Currently students who are in the range of grade 7-12 can participate in
the STEM program based on their result on their grades [ CITATION Hom18 \l 1033 ].
STEM is one of the services of wolkite university community service and this program helps
different students selected from different schools of Gurage zone, Silti zone and Yem special
woreda by teaching them about science, technology, engineering and mathematics the
university can helps them to gain knowledge about the current technology and makes them
creators, thinkers, problem solvers and innovators. This program helps the university
competitive to other universities and helps to fulfill the vision and mission of the university
[ CITATION Res18 \l 1033 ].
xi
community services of Wolkite University to achieve their mission and vision[ CITATION Res18
\l 1033 ].
Those all problems make an inefficient use of the university’s time, resources and human
power. Using automated system community services office can eliminates the above-
mentioned problem and makes the university competitive with other university.
xii
Collecting different information to identify all functionalities of the proposed
system.
Analyzing the collected data through different techniques.
Designing of the proposed system based on the development requirement of the
university infrastructure.
Implementation of the proposed system based on the design.
Testing of the developed system through different techniques before delivery.
xiii
incurred for tools and large cost for system development process the system will be
economically feasible. Generally, the system that we will develop has a number of tangible
and intangible benefits.
Tangible benefits
▪ Cost reduction.
▪ Error reduction.
▪ Increase speed of activities and minimize workload.
Intangible benefit
▪ Reduce resource consumptions
▪ Increase security
▪ Increase employee satisfaction.
▪ Increase management flexibility
xvi
1.8.2 System analysis and design
In our project we will use object-oriented software engineering methodology (approaches)
to develop the system. Because it is a popular technical approach for analyzing, designing
an application system, or business by applying the object-oriented paradigm and visual
modeling throughout the development life cycles. Object oriented system analysis and
design is selected since it has so many advantages and which can make the system more
effective.
xvii
1.8.4 Development tools and technologies
Modeling tools
MS-Visio - enable us to draw (model) different diagram for our system.
Edraw-Max - for designing different model of our system.
Programing language tools
PHP– now a day this language is one of the best backend programming
and it help us to code.
JavaScript – this is used to code client-side code.
J-query - this is used for displaying some pages smarter.
Bootstrap and CSS - for styling the user interface.
Database design tools
MYSQL - is a relational database management system based on SQL
which used as storage.
Xampp-Server which function as server in one computer.
Other editing software
Adobe Photoshop CS6 - Adobe Photoshop used to edit images inserted in
the system and other editing and designing tools.
xviii
system and this includes sequence diagram, activity diagram, ER Diagram, Data Dictionary or
Mapping, and Normalization. Chapter five covers System Overview, Design Considerations,
Design Goals, Design Trade-offs, Architecture of the proposed System, Sub-system
Decomposition, Hardware/Software mapping (Deployment design), Persistent data
management, Class interfaces, and User interface design.
CHAPTER TWO
Currently Science, technology, engineering and mathematics (STEM) program perform all of
its task manually. The STEM program director informs the students by sending paper letter to
the school director and then the school director informs them the registration date. And after
they came to the university students see their dorm from the manual announce board and
before placing the students, the director must go to student dean and ask the specific block for
STEM program purpose, after that the director can done placement of all students. Not only
this they see their class schedule from the announce board and before preparing class schedule
the director must get instructors from the colleges and these instructors must selected by the
xix
criteria’s (if the instructors participate in other program like weekend, distance, night and
summer programs this program is give priority for other instructors not participated in the
program), after the director gets all required instructors, class room and laboratory room and
he can prepare schedule.
University director
A person who manage the whole activity in STEM program and perform task in
the existing system like Informing the school director, Dorm placement,
Registration of students, Class room placement, Class schedule, Report generation
these all task done by the university director.
College director
A person who is responsible for selecting the instructors from different
departments and selecting different class and laboratory room then report to the
university director.
Instructor
A person who is responsible for teaching the students and help them to gain more
knowledge about the current technology and science by uploading different
materials like lab tutorials, books, handouts and any other materials that is useful
for them.
Student
A person who is responsible for taking the STEM program and can view different
information about dorm placement, class room placement, class schedule and
other different materials uploaded by the instructors.
School director
A person who is responsible for informing by using SMS message and send the
lists of those students that include name, wereda, grade and point they score.
xx
2.3 Major function of the existing system
In the existing system major functions are done in manually way the major functions in the
existing system are as the following: -
Informing the school director: - the community service director of the university
informs for different school directors to send their skilled and talented student selected
from the school by their grade and the community service director inform by using
letters or by sending person.
Registration of students: - the community service director of the university registers
talented and skilled students selected from different school from grade (8-12) and if
the director wants to update the student’s information they search and update
manually.
Dorm placement: - first there is pre-assigned dorm for both male and female students
and then the community service director of the university arrange the students in
alphabetic order and give them dorm maximum of six and minimum of four students
in each dorm form both genders.
Selecting instructors: - the community service of the college select instructor from
different department and report to the director of the university and the director receive
the instructors and assign for different courses
Class room placement: first there is pre-assigned class room and laboratory room for
the purpose of STEM program and assign class room maximum of 40 students in the
class and also in the laboratory.
Class schedule: - first there is pre-assigned teachers for different courses according to
the one-to-one relation 1 instructor assigned for 1 class room or laboratory room at a
time by using this the director prepare class schedule.
Report preparation: - the community service of the university prepare report about
how many students the school directors reports to the university and how many of
them take the STEM program, and how many instructors selected from the
departments and give service to the students.
xxi
2.4 Forms and Other Documents of the Existing Systems (if any)
When we interview the university community service director, he told us about the whole work
done in the STEM program and how they work, and he let us to analysis the document and we
capture the following forms and letters.
xxii
Figure 2-1 Instructor request to the college community service director
xxiii
Figure 2-2 Response lists of instructors to the director
xxiv
Figure 2-3 Student satisfaction form.
xxv
Figure 2-4 Preparation of class schedule.
xxvi
Figure 2-5 Report Generation form.
xxvii
2.6 Business rule of the existing system
BUSINES BUSINESS RULE NAME BUSINESS RULE DESCRIPTION
S RULE
ID
BR 1 Students are must be between grade 8-12. Only students selected from 8th, 10th, and
12th grade below 8th and above 12th grade
is not allowed to take this program.
BR 2 Only two students are allowed to take the The maximum number selected from each
program from each grade. grade is 2 students.
BR 3 Students should not change their dorm Student only live in there given dorm not
without the permission of the proctor and allowed to change their dorm.
sufficient reason.
BR 4 Students are allocated in which male Dorm placement must be done in a way in
students are not allocated together with which based on their gender.
female students.
BR 5 The selected instructors must not teach This program benefit instructor and this
before in any program like weekend, chance is given priority for instructor not
summer and extension. benefited before.
BR 6 Selecting 2 instructors and 2 lab technicians Maximum of 4 teachers are selected from
from one department. each department to give the program
BR 7 One instructor must not assign for different Clash of class is not allowed.
rooms at the same time.
BR 8 The time bound for teaching is from Teaching and learning process in delivered
2:30am to 6:30 for morning and 7:30pm to in the given time.
11:30pm for afternoon session.
xxviii
CHAPTER THREE
3. PROPOSED SYSTEM
The proposed system will solve the existing system problem that has been faced currently. This
system is design and developed in such a way that it will solve all the pre-describe problems in
the existing system that have been practice in STEM program. The proposed system will be more
flexible and user friendly for user to access information without wasting their time. Proposed
system is a system that is developed to give solution to the existing system.
The proposed system that is going to be developed by our team will automate the operations of
the current STEM program. It will be used to manage and process data recording based on the
rule and regulations of the current system. The new system provides capability of organizing all
information in a single client-server system, easy way of recording and accessing information by
its well-organized user-friendly interface.
xxix
Request available laboratory rooms and class rooms.
Generate class schedule.
Generate dorm placement.
Give feedback.
The system shall allow College Director: -
Select instructors according to some criteria.
Send selected instructors to the director.
Send available laboratory room and class room.
Give feedback.
The system shall allow instructors/Teachers to: -
View class schedule.
Upload different materials (lab tutorial, books, handout, course outline and any
other material).
The system shall allow students to: -
View dorm placement
Register.
Download course materials (lab tutorial, books, handout, course outline and any
other materials).
Receive SMS message from the school director.
Give feedback.
The system shall allow School directors to: -
Send SMS message to the students.
View uploaded course materials.
xxx
system provides web application user interfaces and it will be responsive user interface in
all devices.
The system we will develop require no expert level anyone who has basic computer skill
and who know how browser works can easily access our system.
User authentication
The system provides username and password for each user based on their
privilege
When users try to access the system should authenticate by asking user name
and password.
The system allows only valid user to login to the system.
The system will only be accessed by registered users and administrative.
System data modification shall only be done by Privileged users.
Encryption mechanism
To create strong password the allow making the password the system allow
password length minimum of 8 character and combination of characters that
include numbers, special characters, and upper letters and lower-case letters.
To prevent credential data like password not easily view by anyone so, the
system will encrypt those data or information using Message-Digest algorithm
(MD5) hashing algorithm.
xxxi
3.2.4 Performance Consideration
Since the system is going to be accessed by different users with different needs, it should
be capable of handling concurrent tasks and processing their tasks as quickly as possible.
Generally, the system should be able to handle many users at the same time and it will be
responsive for all user at the same time. To increase the system performance, we
implement the best searching, inserting, and retrieving algorithm and also properly
normalize our database. The system should be responsibly fast in order to access the
required information easily.
The system handles many exceptions like inserting empty string to the database
and inserting a duplicated students id, inserting incorrect students name and
display an appropriate message for each error. The system should have error
handling mechanisms that is, as errors occur it should not stop functioning rather
provide error manages and should guide the user through what to do next.
The system shall handle an attempt to login with incorrect username and password
and display error message.
3.2.5 Quality Issues
Reliability: The proposed system will minimize crash during its runtime, since more than
one user could use the system simultaneously.
xxxii
Usability
User operability: -The system will offer simple navigation function so, can be
operated by any user with basic computer knowledge.
Language support: - The proposed system supports English language.
3.2.6 Backup and Recovery
Storing data in another place for backup purpose, if the system is destroyed, then it is easy
to get the lost data. This can be done by placing the data in another place. If the data is
failed or lost, then the lost data can be easily recovered the database.
3.2.9 Documentation
The system will provide two types of system documentation. These are internal and
external documentation. System documentation addresses programmers, system
developers, owners, and users. Programmers include those who are currently working on
the project as well as those who give support and maintain the system including the
system administrator.
xxxiii
CHAPTER FOUR
4 SYSTEM ANALYSIS
This chapter describes what the proposed system does and how it carries out its activities. These
include use case diagrams, use case description, analysis level class diagram (conceptual
modeling), sequence diagram, activity diagram and state chart diagram.
Use case diagram is created to visualize interactions between systems with the external
environment[ CITATION wik194 \l 1033 ].
Use case: It’s the identification and representation of a sequence of actions that the user
(Actors) takes for a system to get particular target. It can be identified and represented by
ellipses with a respective descriptive name.
Actor is a person, system, or real object that plays a role in one or more interactions with
the system. Relationship between actors and classes are indicated within use case
diagrams.
Administrator (Admin)
Community service director of university (University director).
xxxiv
Community service director of college (College Director).
Instructor
Student
School director.
Login
Create account
Update account
Delete account
Add user
Update user
Delete user
View user
Manage notification
Manage profile
Send Request
Select Instructor
Generate Dorm placement
View Dorm placement
Generate Class schedule
View Class schedule
Upload materials
Download Material
Give Feedback
Send SMS message
View SMS message
Generate Reports
Logout
xxxv
STEM management system
<<Include>>
Extend
<<Include>>
View SMS message Instructor
Send selected
<<Include>>
instructor
<<Include>>
College Director Logout
Send Request Fill agreement form
<<Include>>
<<Include>>
Generate Class
schedule <<Include>> View Dorm
<<Include>> placement
Update Class
schedule Student
<<Include>> Download Material
<<Include>>
Generate Dorm
Administrator placement
<<Include>> Give feedback
Generate Reports
Extend
Delete user
account Delete user
xxxvi
UseUse
Figure 4-6 case
caseDescription
diagram
xxxvii
UCID - 02
Actor(s) Administrator.
Description Allows Administrator to create account for valid users to access the
system, update and delete accounts of the users.
Precondition The Administrator must login to the system.
xxxviii
Step12. and go to Step4. [A.2]
xxxix
2. Update User add user page.
3. Delete User
Step7: The System checks
4. View User
added user information. [A.2]
Step4.1: If the university director
Step8: The System add user
selects Add user
information to the database and
Step6: University Director enter user go to Step4.
information.
Step9: The system displays
Step4.2: If the University Director Update user page.
selects Update user information then
Step11: The System checks
go to Step9.
updated user information and
Step10: University Director enter go to Step4. [A.2]
user information to be updated.
Step12: The system displays
Step4.3: If the University Director Delete user page.
selects Delete user go to Step12.
Step14: The System checks
Step13: University Director enter deleted user information and
user information to be Deleted. go to Step4. [A.2]
xl
Use case name Select Instructor
xli
Use case name Generate Class schedule
xlii
Use case name Send Request
[A.1]
Step3: User select Request.
Step4: The system display
Step5: User select the form
and write the request. Request page.
xliii
Use case name Generate Dorm Placement
xliv
Use case name Upload material
xlv
UCID - 09
Actor(s) Student
Description Allows Student to download the uploaded materials.
Precondition The Students must have valid username and password, and
must login to the system.
xlvi
message.
Precondition The School Director must have valid username and
password, and must login to the system.
A usage scenario, or scenario for short, describes a real-world example of how one or more
people or organizations interact with a system. They describe the steps, events, and/or actions
which occur during the interaction[ CITATION art19 \l 1033 ].
xlvii
I. The Mr. X must enter username and password and
II. Then Mr. X click the login button,
III. If Mr. X has valid account the system display user page else display error
message.
2. Scenario name: Upload material. Mr. X wants to upload material into the system
3. Scenario name: Download material. Mr. X wants to upload material into the system
I. First the Mr. X must login into the system and the system displays student pages
II. Then Mr. X click download course button and the system display course materials
are downloaded successfully.
4. Scenario name: Generate Class Schedule. Mr. X wants to generate class schedule.
I. First Mr. X must login into the system and the system displays University director
page
II. Then Mr. X selects generate class schedule menu
III. The system display course, section, instructor information.
IV. Mr. X selects appropriate information and click Generate button.
V. The system displays generate successfully message.
5. Scenario name: Generate Dorm Placement. Mr. X wants to generate class schedule.
I. First Mr. X must login into the system and the system displays University director
page
xlviii
II. Then Mr. X selects generate dorm placement menu
III. The system displays students, block and dorm information
IV. Mr. X selects appropriate information and click Generate button.
V. The system displays generate successfully message.
I. First Mr. X must login into the system and the system display admin page
II. Then the Mr. X selects one of the listed sub-menus
III. If Mr. X wants to create a new account, click to create account link and
IV. The System displays create account form Then Mr. X fill needed information
correctly.
V. The system displays account successfully created message.
xlix
Figure 4-7 Conceptual class diagram
l
4.3.6 Data Dictionary
In this section mention attributes, data type, data size, key constraints and constraints on
the identified entities or classes by using tabular form.
li
Table 4-13 Data Dictionary for Instructor table
lii
Table: - Department table
Primary key: - departmentID
Description: - this table shows Department information
Key Constraints Field Name Caption Data type Field Size
Primary Key departmentID ID Varchar 30
Not Null departmentName DepartmentNam Varchar 30
e
Table 4-17 Data Dictionary for Department table
liii
Table 4-19 Data Dictionary for College table
liv
Figure 4-8 Sequence diagram for Login
lv
Figure 4-9 Sequence diagram for Add user
lvi
Figure 4-10 Sequence diagram for Update user
lvii
Figure 4-11 Sequence diagram for Delete user
lviii
Figure 4-12 Sequence diagram for View user
lix
Figure 4-13 Sequence diagram for Upload material
lx
Figure 4-14 Sequence diagram for Download material
lxi
Figure 4-15 Sequence diagram for Generate Class Schedule
lxii
Figure 4-16 Sequence diagram for Generate Dorm Placement
lxiii
4.4.6 Activity Diagram
Activity diagram used to emphasize the flow of control from activity to activity or to
model the flow of an object as it moves from the state at different points in the flow of
control[ CITATION uni19 \l 1033 ].
lxiv
Figure 4-18 Activity diagram for Upload material
lxv
Figure 4-19 Activity diagram for Download material
lxvi
Figure 4-20 Activity diagram for Manage account
lxvii
Figure 4-21 Activity diagram for Manage user
lxviii
lxix
Figure 4-22 Activity diagram for Generate class schedule
lxx
Figure 4-23 Activity Diagram for Generate Dorm Placement
lxxi
4.4.7 State Chart Diagram
State chart diagram is used to describe the states of different objects in its life cycle. So,
the emphasis is given on the state changes upon some internal or external events. These
states of objects are important to analyze and implement them accurately[ CITATION
uml19 \l 1033 ].
lxxii
Figure 4-25 State Chart Diagram for Upload material
lxxiii
Figure 4-26 State Chart Diagram for Upload material
lxxiv
Figure 4-27 State Chart Diagram for Manage account
lxxv
Figure 4-28 State Chart Diagram for Manage user
lxxvi
CHAPTER – FIVE
5 SYSTEM DESIGN
This chapter focuses on transforming the analysis model into the design model that takes into
account the nonfunctional requirements and constraints described in the problem statement and
requirement analysis sections discussed earlier. In addition to this, we describe a brief overview
of the design goals, proposed software architecture, Hardware/software mapping, Persistent data
management, Access control and security.
5.2.5 Performance
The proposed system performs its operations within a minimum amount of time and the
user gets the expected result within a few seconds and the system is effective. To make
our system has a high performance we will properly normalize our database, design based
on three-tier architecture, implement multiple database.
5.2.6 Dependability
The user’s needs the system to be highly dependable. The system should be robust
(forceful) i.e. It should be able to carry on invalid user inputs, fault tolerant, reliable and
available. The system shouldn’t allow non-authorized users to access students’ personal
data or modify.
5.2.7 Maintenance
The system should be easily extensible to add new functionalities at a later stage. It
should also be easily modified to make changes to the features and functionalities.
lxxvii
5.2.8 End user
The system has simple and understandable graphical user Interface such as forms and
buttons, which have descriptive names.
Presentation layer
Logic layer/Application layer
Database layer
Presentation layer: Layer which provides graphical user interface and application-specific
entry forms to the user of the system. Application layer interacts with the logical layer
through HTTP/ HTTPs protocol and sends content to browsers in the form of HTML/JS/CSS.
Logic layer/Application layer: Layer that used to implement business rules and data rules,
which keep the data structure consistent.
Database layer: This actual DBMS layer which store and retrieve data from database, it
provides data persistence mechanism to access the database without installing database
dependent drivers and libraries on the client device.
lxxviii
Figure 5-29 Proposed system architecture
lxxix
5.3.5 Subsystem Decomposition and Description
Any system can be decomposed into different subsystem based on the functional
services. A subsystem is characterized by the services it provides to another subsystem.
The proposed system has been divided into eight subsystems.
Database connection.
Account management subsystem: This subsystem allows for managing user account
information and performs the following operation.
Add user.
Upload user
Delete user.
View user.
Class schedule subsystem: This subsystem allows us to manage class scheduling and
performs the following operation.
Dorm placement subsystem: This subsystem allows us to manage Dorm placement and
performs the following operation.
lxxx
Generate dorm placement
View dorm placement
Update dorm placement
Generate reports
View reports
Send requests
View requests
Receive requests
Assign instructor
Add materials
Upload materials
Delete materials
View materials
lxxxi
Figure 5-30 Subsystem Decomposition diagram
lxxxii
5.3.6 Hardware/Software Mapping
UML deployment diagram used to illustrate subsystem decomposition, taking software
into the real world by showing how software gets assigned to hardware and how
communicates. The deployment diagram shows how the software components, processes,
and objects are deployed into the physical architecture of the system.
lxxxiii
5.3.7 Detailed Class Diagram
Class diagrams in the Unified Modelling Language (UML) is a type of static structure
diagram that describes the structure of a system by showing the system's classes, their
attributes, operations (or methods), and the relationships among the classes.
lxxxiv
5.3.8 Persistence Data Management
Persistence models are used to communicate the design of database usually a relational
database to both users and developers. This is basically the entity-relationship model in a
database application.
Send message
Manage user
Manage account
Select Students
Send Request
Select Instructors
Upload materials
Download materials
Generate Dorm
placement
Generate Report
Logout
lxxxv
5.4 Packages
In this section we have to organize and decomposes functionally related subsystem into packages
and specifying the dependency between packages.
lxxxvi
Figure 5-34 Package diagram
lxxxvii
Form is displayed
END IF
Form is displayed
END IF
lxxxviii
5.6 User Interface Design
lxxxix
Figure 5-36 User interface for administrator home page
xc
CHAPTER - SIX
xci
CREATE TABLE `course` (
`Course_Name` varchar(50) NOT NULL,
`Course_Code` varchar(50) NOT NULL,
`Course_Description` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
xcii
6.3 Implementation of Class Diagram
xciii
6.4 Configuration of Application Server
We use XAMPP application server because XAMPP is simple and lightweight. Apache
distribution is extremely easy to create a local web server for testing and deployment
purposes. Everything you needed is to set up a web server-server application (Apache),
xciv
database (MYSQL) and scripting language (PHP). XAMPP works on different operating
systems.
xcv
<script type='text/javascript'>
function formValidator() {
var id = document.getElementById('id');
var first_name = document.getElementById('first_name');
var middle_name = document.getElementById('middle_name');
var last_name = document.getElementById('last_name');
var age = document.getElementById('age');
var phone = document.getElementById('phone');
var wereda = document.getElementById('wereda');
var kebele = document.getElementById('kebele');
var school = document.getElementById('school');
if (iswordNumeric(id, "Please Insert Student ID!")) {
if (isAlphabet(first_name, "Please Enter Only Letters For First Name!")){
if (isAlphabet(middle_name, "Please Enter Only Letters For Middle Name!")){
if (isAlphabet(last_name, "Please Enter Only Letters For Last Name!")){
if (phoneValidator(phone, "Please Enter Valid Phone Number!")) {
if (lengthRestriction(wereda, 4, 30)) {
if (lengthRestrictionforpassword(kebele, 4, 15)) {
if (isNumeric(age, "Please Enter Only Number for Age!")){
return true;
}}}}}}}}
return false;
}
function notEmpty(elem, helperMsg) {
if (elem.value.length == 0) {
alert(helperMsg);
elem.focus(); // set the focus to this input
return false;
}
return true;
}
xcvi
function iswordNumeric(elem, helperMsg) {
var wordnumericExpression = /^[\Wa-zA-Z0-9]+$/;
if (elem.value.match(wordnumericExpression)) {
return true;
}
else {
alert(helperMsg);
elem.focus();
return false;
}}
function isAlphabet(elem, helperMsg)
{ var alphaExp = /^[a-zA-Z]+$/;
if (elem.value.match(alphaExp)){
return true;
} else {
alert(helperMsg);
elem.focus();
return false;
}}
function phoneValidator(elem, helperMsg) {
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if (elem.value.match(emailExp)) { return true;
}
else {
alert(helperMsg);
elem.focus(); return false;
}}
function lengthRestriction(elem, min, max){
var uInput = elem.value;
if (uInput.length >= min && uInput.length <= max) {
return true;
xcvii
}
else {
alert("Please Enter Between " + min + " upto " + max + " Characters for Username!");
elem.focus(); return false;
}}
function lengthRestrictionforpassword(elem, min, max){
var uInput = elem.value;
if (uInput.length >= min && uInput.length <= max) {
return true;
}
else {
alert("Please Enter Between " + min + " upto " + max + " Characters for Strong
password!");
elem.focus(); return false;
}}
function isNumeric(elem, helperMsg) {
var numericExpression = /^[0-9]+$/;
if (elem.value.match(numericExpression)) {
return true;
}
else {
alert(helperMsg);
elem.focus();
return false;
}}
</script>
xcviii
interface and things like alarms or messages might panic the user and will become the
reason for more mistakes. The system has consistent user interface when navigating
through the pages.
xcix
1. Login page
c
2. Admin Home page
6.7 Testing
Developing software is a complex process. No matter how hard we try to eliminate all
faults simply by going through the phases of requirements, design and implementation,
however through good practice we can make sure that most series fault does not occur in
the first place. In addition, we need a separate testing phase with the goal of elimination
all remaining faults before release.
ci
6.7.5 Testing Tools and Environment
Testing tools are important for the success of testing phase and naturally the
success of product. In our unit testing phase Sublime Text3, Google Chrome and
XAMPP are used.
Sublime text3:- is used to edit PHP, HTML, JavaScript and CSS code.
XAMPP: - is an open source tool used to handle the administration of MYSQL
database. It allows user to view, modify, add and delete tables and their records in
database. This tool will be used in order to check the correctness of the database
and database related part of the project.
cii
6.7.7 Integration Testing
We have the specific permissions related to each user type (authorization) and
authentication mechanism. Our integration testing procedure is given below.
Firstly, we will create users who have role types namely student or
instructor or admin.
Then we will login with the user name and password of each user. This
tests whether the authentication mechanism works correctly.
Then we will also try some wrong user name and/or wrong password. We
expect an error message by trying this case.
ciii
CHAPTER – SEVEN
7.3 Recommendation
According to the scope of our project the team develops web-based application. Due to
time limitation we can’t do all the tasks that are needed in the system so to enhance the
performance and functionality of the system our team believes that this system should be
fully operationally by adding some functionality that are not included in the proposed
system. We recommended also the next developer can include the following tasks:-
Developing online exam (Evaluation Questions) Modules.
Developing Generate Exam scheduling modules.
Satisfaction form for the students.
Develop Agreement Form.
civ
Bibliography
[4] "About Us," 22 April 2018. [Online]. Available: www.Wolkite University.com. [Accessed
November 2019].
cv