Professional Documents
Culture Documents
INSTITUTE OF TECHNOLOGY
FACULTY OF COMPUTING AND INFORMATICS
Name ID
First of all, we would like to thank God for giving us the ability, patience and strength to conduct
and complete this project documentation. Second, we would like to acknowledge and thank our
advisors Mr. Zerihun Olana and Mr. Worku Berhanie for their enormous contribution and
patience.
Abbreviations
UML: Unified Modeling Language
The problems with this system are not necessarily with the overall efficiency of the system rather
are with the fact that:
1.3 Objective
1.4 Methodology
In this section we discuss the way gathered our system requirement and also how we structured
the requirement and developed the software models.
Observation
We have observed how the current system works and we have decided the way of
working we want to add, change or remove form the system. This also has helped us to
see how the employee of the organization perform their works and how to make their
jobs easier.
Interviewing
We have interviewed various employees who are involved in the process of creating a
class schedule what they would like to change or add to the current system. We have used
both open ended and closed ended question to not limit the employee’s perspective on the
current system.
Document Analysis
We have used the class schedule documents to see how the system creates and produce
the schedule, and analyzed these documents to see what are the limitation of this system
is and how it can be improved upon.
Hardware Tools
Laptops
Smart Phones
Remote Servers (Google’s Firebase Realtime Database)
Software Tools
Android Studio
Java Programming Language
Firebase tool add-on
Android Operating System (to run the app)
Internet access
Edraw for UML design
XML for the user interface design
1.5 Feasibility
In this portion of the project, we determine whether the proposed system is feasible and useful
for the organization. There are four main areas we consider while testing the feasibility of the
proposed system they are:
Economic Feasibility
Technical Feasibility
Operational Feasibility
Time Feasibility for building the new system.
In addition, the system once launched will be available 24/7, that means the user can access it
any time of the day.
Requires that the user has smartphone with the ability to install foreign applications
1.7 Significance of the project
The significances of this project are to:
Save the time that is lost while travelling to registral to get class schedule
Making sure the schedule is from an authorized source
To make the process of distributing schedules organized and fast
Better and fast information distribution
Allow the ability of exchange classes for teachers by going through the appropriate
channels.
Tangible benefits:
Intangible benefits:
The second chapter is System Analysis phase of the project. It deals with description of
existing system, description of the proposed system, functional requirements, non- functional
requirements and analysis models.
The third chapter is design of the project which contains class diagram, deployment
diagram, architectural design, user interface design, data structure design and algorithm design.
The final chapter includes implementation and testing
The system uses the course catalog for the lecture hours, lab hours, tutorial hours and
course code for each course and based on the data obtained will create the schedule by
assigning the appropriate lecture, lab and tutorial hour.
Making sure a teacher is not assigned a class at the same time in different schedules
Making sure a classroom and laboratories must be available or unoccupied before being
assigned.
Identifying exceptional business rules for certain courses.
Security: -The project should allow only authorized user to login into the system, and
sensitive data is accessed and changed by authorized body.
Usability: - The system should have an interactive and attractive GUI which eases users’
usage problem. The user needs no training, because the GUI is intuitive and self-
explanatory.
User Interface: The interface should be user friendly and be able to properly guide the
user on to how to use the system.
Performance: -The system should be able perform its task efficiently and effectively
within seconds, because of the simplicity of the algorithm.
Portability: the authorized body should be able to modify the system easily and make it
adaptable to new devices because of the object-oriented nature of the code.
Reliability: – The system should be effective and consistent in that integrity of
information is maintained and supplied to the system. [ CITATION ICV94 \l 1033 ][ CITATION
RLR86 \l 1033 ]
The system should allow the students to create an account by allowing them to fill out a
form.
The system should allow the department coordinator to insert the course catalog for the
current semester and assign user accounts for the teachers within their department.
The system should be able generate and display the class schedule for the selected
department and section.
The system should be able generate and display the exam schedule for the selected
department and section.
The system should allow the teacher to make class schedule swapping request.
The system should allow the teacher to make invigilator schedule swapping request.
The users of the system should be able to Log in.
The users of the system should be able to Log out.
Student: can create user account by filling out required forms, and is able to view class
and exam schedule.
Teacher: create user account by filling out required forms, and is able to view the class
schedule, view the exam schedule, view the invigilator schedule and request a schedule
swap.
Department coordinator: can view all the schedules, add the current semester’s courses to
the system to generate a schedule and in addition they can also approve a schedule swap
requests from teachers. The coordinator acts as a system administrator and creates
accounts for the other teachers within their department.
2.3.2 Use cases of the system
The Use case (UC) represents functionality provided by a system unit and expressed by sequence
of message exchange by the system unit and one or more actors of the system. The following use
cases have been identified for the proposed system specification.
Alternative course of action Step4: The system will display an error message
because the courses entered are not valid/correct.
Post condition The system transfers to the users homepage.
Include Login
Exit condition Successful operation or back button.
Table 6: View class schedule use case documentation table
Alternative course of action Step2: The system will display an error message
because the course catalog has not yet been inserted.
Post condition The system transfers to the users homepage.
Include Login
Exit condition Successful operation or back button.
starts near the top of the diagram and ends at the bottom.
Figure 2: Sequence diagram for Create an account
Figure 3: Sequence diagram for login
Figure 4: Sequence diagram for view class schedule
Figure 5: Sequence diagram for view exam schedule
Figure 6: Sequence diagram for register course catalog
Figure 7: Sequence diagram for swap invigilation duties
Figure 8: Sequence diagram for swap class schedule
Figure 9: Sequence diagram for generate class schedule
2.5 State chart Diagram
State chart diagram shows the states the object (class) passes through in its life. This model guide how
objects in our system change from one state to another and when the change happens.
Class Diagram
Create a class diagram is diagram that we will use to build block the system we will develop. Our Class
diagrams should show the objects and how they are interrelated.
Some of the potential changes that might occur to our system are:
We might allow teachers to create a user account instead of just the department coordinator
creating it for them.
We might have additional actor within the system called Admin and his/her job will be to
approved the account creation request from teachers and department coordinators.
We might also just use the student registration systems’ database as a way to get the users of our
system, in which students will not create their own accounts.
System Design phase is process of describing, organizing, and structuring system components at
architectural design level and detailed design level. System Design converts functional models
from analysis into design models that helps to represent the solution for the problem.[ CITATION
KJ11 \l 1033 ]
Performance: the system should perform all of its required functionalities, and allow
multiple users to access it concurrently.
Maintainability. The application should be easily scalable and extensible to add new
features. And also, it should be easily modifiable to make changes on the functionalities.
To achieve this well documented manual for the system is necessary. The maintainability
of the system includes:
Adaptive: Adapting changes to the external environment such as, changes to the
business rules.
Corrective: Fixing bugs and features to the system.
Preventive: Avoid a system failure by setting up validation controls on the user
inputs.
Usability: can be seen in two ways:
Effectiveness: the system should provide services which help the user to
achieve their goal.
Efficiency: The users should spend minimum effort and resource to
achieve their goal.
Reliability: The system should maintain and perform its functionalities 24/7.
Security: the system should have authentication to allow only authorized users.
User-friendly: the system should be easy to learn, understand and operate. It should
provide interactive and easy interfaces which can allow novice users to become familiar
with it.
To develop our Class Scheduling mobile app we will use the most popular multilayer
architecture which is the three-layer architecture. This three-layer architecture is important for
designing or creating mobile app architecture. It refers to your component’s internal architecture.
The given are the main three important layers of mobile architecture design:
Presentation Layer
The presentation layer consists of two components. These two components include the User
Interface and UI process. While discussing this layer, the primary focus is the end user’s mobile
application’s presentation.
Business Layer
The business layer is for the elements on the business front. This layer looks at how the app will
present the business to the end-users. This layer includes business components, workflow, and
entities.
4.4 Testing
We have conducted various kinds of tests to see that the system performs correctly. Some of the
types of tests we have conducted are:
Unit testing: In this phase we have tested the various modules of our system such as:
assign accounts, register course, view class schedule, and made sure they functioning as
expected.
Integration testing: In this phase we have tested if the modules work in cooperation when
integrated. E.g., Swap Request and Approve Swap modules activities need to integrate
for the overall swapping function to work.
System Testing: In this phase we have tested whether the system accomplishes the task it
was made for in general and whether it fulfills the requirements of the user.
Figure 28: Sample code of GenerateSchedule method for the GenerateClass Class.
Figure 29: A sample code for assigning teachers.
Figure 30: A sample code of the isTheTeacherReal method used for checking if the teacher is authorized to make a swap request.
Chapter Five: Conclusion and Recommendations
5.1 Conclusion
This project is developed to address the difficulties that students and teachers face while dealing
with the class and exam schedules. We designed our system to make the scheduling system of
the class and exams easy for all parties involved. To accomplish this, we have developed the
system to have the capability to: Register Courses, Assign Accounts, Generate Class Schedules
and Exam Schedules, View Class and Exam Schedules, and added the capability for the teachers
to request a schedule swap among themselves. The system simplifies the task of generating
schedules because the all the academic coordinator has to do is register the courses for the
semester and click on generate schedule and the system will do the rest. The students can use the
accounts assigned for them by their department coordinator to log in view the schedules that
have been generated.
5.2 Recommendation
The system we have developed includes the basic functionalities that are need to for scheduling
system of a class/classes. In the future we recommend the expansion of project scope to include
functionalities such as, the ability to generate the schedules of different universities with their
corresponding class scheduling business rules, review and rating of schedules by management,
including other schedules for different purposes e.g., meetings, travels, etc.
References
[1] I. C. Vessey, "Requirement Specification: Learning Object, Process, and Data Methodologies,"
Communications of the ACM, vol. 2, no. 15, pp. 102-113, 1994.
[2] R. R. L., "Organizational Information Requirements, Media Richness, and Structural Design,"
Management Science, vol. 32, no. 5, pp. 554-571, 1986.
[3] .. J. K., System analysis and design, Upper Saddle River: Pearson Prentice Hall, 2011.
[4] OS system, "Mobile App Architecture - How to Design it?," 27 October 2020. [Online]. Available:
os-system.com.