Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 40

CHAPTER ONE.

INTRODUCTION.

Timetable is a plan of the times when particular events are to take place. In a school

a timetable is a list that shows the times in the week at which particular subjects are taught. A

key factor in running an educational centre or basically an academic environment is the need

for a well-planned, well-throughout and clash-free timetable. Back in the days when

technology was not in wide use, (lecture) timetables were manually created by the academic

institution. Every school year, tertiary institutions are faced with the tedious task of drawing

up academic timetables that satisfies the various courses and the respective examination

being offered by the different departments.

Timetabling concerns all activities with regard to producing a schedule that must be

subjective to different constraints.

Software engineering is an engineering discipline that is concerned with all aspects of

software production from the early stages of system specification through maintaining the

system after it has gone into use.(lan Somerville). And the part of software engineering we

are dealing with in this project is mobile application.

1.1 BACKGROUND OF STUDY

In the early days, timetable scheduling was done manually with a single person or some

group involved in the task of scheduling it with their hands, which takes a lot of effort and

time. Scheduling even the smallest number of data, can take a lot of time and the case is even

worse when the amount of data to deal with increases. In such cases a perfectly designed is

reused for the whole generation without any changes, proving to be dull in such situation.

Some cases that can cause problems is when the number of employers or workers is weak

resulting in rescheduling of the time table or they will need to fill those empty seats urgently.

1
Another reason for the difficulty is because of the great complexity of the construction of size

of lectures and examinations, due to the scheduling size of the lectures and examination

period and high number of constraints and criteria for allocation which is usually

circumvented with the use of little strict heuristics based on solution from previous year

(Jose, 2008).

In this study, the department of computer science in the Osun State University will be taken

as a case study. To design for the department a timetable, data are collected from various

levels (100 - 400) in the department for the preparation.

The timetable process will be done in three phases;

i. Data collection from each level, where each level will supply the various courses

which will include the course title, course code, duration (lectures and practical),

course unit and the lecturer to take them.

ii. The second phase is the analysis of the provided data where the data supplied by

the level are analysed with the available space (hall size).

iii. And the last phase is the lecture timetable scheduling. Based on the analysis, the

lecture timetable is produced. In scheduling the lecture timetable there are

constraints that should be put or taken into consideration, the following are; no

student can attend more than one lecture at a time, no lecturer and teach more than

one course per-time and lecture hall cannot be assigned to more than one

particular course at a time. Any academic timetable must have a number of

requirements and should satisfy the desires of all entities involved simultaneously

as possible.

2
Therefore to be able to create a timetable that will satisfy all this constraints there is need for

a computerized method of departmental lecture timetable software which will be able to

generate a complete timetable automatically without stress or issues.

1.2 STATEMENT OF PROBLEM.

In the existing system reviewed, lectures clashes with one another because of the inefficiency

of the current systems, which leads to most time returning back to the use of manual method

of time table scheduling. Schools have resorted to the manual generation of their timetables

which according to statistics takes over a month to get completed and optimal. However, the

development of a student time tabling application will help to schedule lectures that will not

clash.

1.3. AIM AND OBJECTIVES:

This project aimed at developing a student time tabling application.

Objectives:

i. To review existing system.

ii. To design the model.

iii. To implement the design in (ii).

iv. To evaluate the implementation in (iii).

1.4. RESEARCH METHODOLOGY:

Methodology is defined as a system of practices, techniques, procedures, and rules used by

those who work in a discipline. Different methodologies have different strategies that aid in

managing the issues arise during project delivery. Typically, it encompasses concepts such as

paradigm, theoretical model, phases and quantitative or qualitative techniques. The

procedures to carry out this project are model formulation, workflow development, and

evaluation.

3
1.4.1 MODEL FORMULATION: For the purpose of this research, two different models

will employed for the formation of a student timetabling application. The models to be

adopted are waterfall and prototyping model which leads to the formulation of STA (student

timetabling application) model to carry out the student project activities.

i. Prototyping is an experimental process where design teams implement ideas into

tangible forms from paper to digital. Teams build prototypes of varying degrees

of fidelity to capture design concepts and test on users. With prototypes, you can

refine and validate your designs so your brand can release the right products. This

approach supports change anticipation (Sommerville, 2014).

Figure 1.1 Prototyping (pininterest)

ii. Waterfall model: The waterfall model is a classical model used in system

development life cycle to create a system with a linear and sequential approach. It

is termed as waterfall because the model develops systematically from one phase

to another in a downward fashion. The waterfall model takes the fundamental

process activities of specification, development, validation, and evolution and

4
represents them as separate process phases such as requirements specification,

software design, implementation, testing, and so on.

Figure 1.2 Waterfall Model (Wikipedia)

1.4.2 WORKFLOW DEVELOPMENT: Workflow developments showcase the analysis of

data in the database (use of UML diagrams) and software development (algorithm design and

coding). Workflow development involves the various software and hardware components and

interactions between those components within the system. For the purpose of this research,

sequence diagram, activity diagram, use case, class diagram, flowchart and flutter wave

framework were used for the implementation.

1.4.3. EVALUATION: The following parameters were used for the evaluation;

i. Requirement Gathering: It is a method and mode of data collection. The mode of

data collection in requirements gathering could be oral interview and physical

observation.

ii. Quick Design: after the analysis of the system, first design was done and reviewed.

5
iii. Initial Version: after the quick design, development of the system was made and

make available for evaluation.

iv. Supervisor Evaluation: supervisor evaluated the software and stated what need to

be added and modified in the software.

v. Refining Initial Version: all the stated addition and modification had been refined

successfully.

vi. Validation: here software has been checked by supervisor and confirmed and validate

the software after thorough checking of the software. vii. Final Version: software is

now available for using by both admin and users. This does not hinder its

improvement in future if another function is available to make software more

efficient.

1.5. SIGNIFICANCE OF STUDY

This project will help to create a timetable that will reduce the issues that occurs due to

clashes on the timetable. And to provide a comprehensive timetable management solution

which will help to overcome the challenges in current system and also save time.And also

help to aid efficient execution of academic activities.

1.6. JUSTIFICATION OF STUDY: This project will be us development of an automated

task management system for student project work will be useful in the department; it will

make the process easier for general project supervisor, on getting allocation done and have a

proper and direct follow up on student project progress.

1.7 SCOPE AND LIMITATIONS STUDY: The Scope and the limitation of this research

are based on HCI and development of a student time tabling application.

1.8 DEFINITIONS OF TERMS

6
i. Timetable: a list showing the time at which a particular event will happen.

ii. Schedule: a plan that lists all work that you have to do when you must do each of

them.

iii. Computerization: This is the process of using a computer system to carry out work

which should have been done by man.

iv. Resources: something that can be used to achieve an aim.

v. Courses: a series of lessons or lectures on a particular subject.

vi. Algorithm: a set of rule that must be followed when solving a particular problem.

vii. Information System: It is a collection of procedures, people instructions and

equipment to produce information in a useful form.

viii. Technology: It is a study of techniques or process of mobilizing resource (such as

information) for accomplishing objectives that benefit man and his environment.

ix. Information: Information can be defined as the process of gathering, transmitting,

receiving, storing and retrieving data or several items put together to convey the

desired message.

7
CHAPTER TWO

LITERATURE REVIEW

2.1. INTRODUCTION

Some research works has been done in recent decades on this. Many tools and methodologies

have been developed and implemented to support each aspects of the Student time tabling

application. This section depicts some of the tools proposed by earlier researchers for mobile

application result strategies such as flutter, java, python. These can be applied especially for

8
every type of programming languages. This section depicts various related works done on the

mobile application used for checking a student scheduled time table.

2.2 OVERVIEW OF A STUDENT TIME TABLING APPLICATION.

A student project is a work that a student creates as part of a tertiary/high school,

undergraduate, or graduate school program. Student project are long academic documents

that students write after they research a particular subject in depth. Therefore, student project

is usually assigned once per course, per semester, or only once as part of an academic

program. (Abraham, 2007).

Time tabling application is a program or software that enables student and School authorities

to have a schedule time for daily activities going on in the school system. School activities

sometimes are cumbersome and needs a proper scheduling.

Timetabling concerns sets of activities geared towards the production of a timetable that must

be open to various constraints. A timetable for higher education institution timetable refers to

a temporary structure of a lecture series and lecture halls or classrooms where all presented

constraints are met or satisfied. Currently, several administrative activities and services for

higher educational institutions have been automated with the neglect of timetable for

lecturing because of the challenges associated with its automation.

2.3 TRENDS IN STUDENT TIMETABLING APPLICATION.

Soyemi et.al.,(2017) develop an automated lecture time-tabling system to provide

convenience in scheduling lecture time-table, reducing time constraints in fixing the courses

and venues and reducing the risk of omission of courses and clashes of halls and lecturers.

The scope of work is limited to space allocation for lectures and merging of similar courses

for a particular lecturer. We also administered questionnaire to sample staff, committee

9
members and student opinion on the existing system and the new system to be developed.

The data gathered was analysed and based on the analysis; the new system (automated time

tabling system) will be the best method in tackling the lapses experienced by the old system

(manual time table).

Adewole et.al., (2021) aim of his paper was to provide a mobile-based timetable filtering

system with a reminder. To achieve this, requirements were gathered by conducting a survey

on would-be users of the system as well as exploring existing systems and modelling the

requirements gathered using Unified Modelling Language diagrams. The system was

implemented as a mobile app using Android. The mobile application developed is able to

extract students’ courses from the database based on their level and program of study.

The application developed in this study filters and displays only the courses registered by a

given student who logs in. The system works by querying the database based on the student’s

login profile. This is unlike My Study Life application, My Homework Student Planner and

Student Organizer, which require a student to copy out his/her timetable from the school

timetable and then manually input the values into the system. The mobile-based filtering

system developed in this study does not target all mobile platforms or the Web like the My

Study Life application. Rather, it is built specifically as an Android application since Android

is the most popular operating system for mobile devices in developing countries.

Baki et.al., (2020) made use of Graph Colouring Algorithm to generate the student weekly

time table in a typical university department. The problem was a Node-Point problem and it

could not be solved in the polynomial domain. Various constraints in weekly scheduling such

as lecturer demands, course hours and laboratory allocations were confronted and weekly

time tables were generated for 1st, 2nd, 3rd and 4th year students in a typical semester.

10
It was designed in a user-friendly method. Ease of use and speed of the application

differentiates from current approaches with these powerful features. Results are obtained in a

fast manner using the algorithm mentioned. The application developed here can give efficient

results in a few seconds while table forming process can take minutes or hours with similar

applications. It is a big problem in universities to create time tables which do not victimize

students and instructors. Manually created programs can not deal with these problems despite

the great efforts required to form a time table. The purpose of the study was to develop an

efficient solution to all these problems.

Henry et. al., (2021) made a realistic approach to building a timetabling program for lecture

courses must be created, which can be tailored to suit any problem with higher education

timetabling. Due to the need for flexibility, adaptability to future requirements, and the

possibility of producing the deliverables within a limited time frame to address the stated

challenges, the Rapid Application Development (RAD) software development model was

used. This project also produced a practically oriented timetable algorithm capable of

addressing the challenges posed by weak and strong constraints in an automated timetable

package.

2.4 CHALLENGES OF STUDENT TIMETABLING APPLICATION

Soyemi et.al.,(2017) research, the automated lecture time-tabling system was not reliable

enough according to the statistical rating of users of the system. The system recorded 52%

rating of users that supported the systems reliability. And also the system had the challenges

of limitations of the use of the system outside the school environment.

11
Adewole et.al., (2021) proposed lexical analysis for a result checker program faced

challenges of the system being difficult to understand by a layman because of the algorithm

used to explain the proposal.

Baki et.al., (2020) student time table by using graph colouring algorithm faced the challenge

of student not having direct access to their interfaces were the Scheduled time table would be

seen due to limitations to web or host access.

Henry et. al., (2021) web based time table was not available for all student because of the

unavailability and unaffordability of computer systems to be able to use the system. Most

student prefer to make use of mobile devices in making use of the software involved.

2.5. ATTRIBUTES OF STUDENT TIMETABLING APPLICATION.

The attributes of a mobile application result checker as evaluated by the authors of each

system, performance of the system is firstly the first core attribute of this system.

Performance of a system is the amount of useful work accomplished by a computer system.

Outside of specific contexts, computer performance is estimated in terms of accuracy,

efficiency and speed of executing computer program instructions. The accuracy and

efficiency of “a automated lecture time-tabling system using component bar chart showing

the perception of respondents on the time tabling Scheduling” by Soyemi et.al.,(2017) is

well proven. Some of the literature reviewed, the system developed are well scalable. Henry

and Paul (2021) developed a system to evaluate performance using a web based time tabling

application in which the system is able to hand a growing amount of work. Scalability is the

property of a system to handle a growing amount of work by adding resources to the system.

Another attribute is Availability, availability is the ability of a system to be in a state of being

able to be used to perform processes developed for. mobile based timetable filtering system

12
Adewole et. al.,(2021) is well available to be in use by users, and all the system has this

attribute, it is the ability to perform the exact duty designed for.

2.6 OTHER CONCEPT OF STUDENT TIMETABLING APPLICATION.

Swapnali et. al., (2021) , developed a College Student Information android application

which will manage the working of college management. This application manages powerful

data and has easy interface. The main objective of this application is to reduce the paperwork

and time used for manual processing. An Education system in India has become so advanced

due to the development of the technology. This application will help the institute to move

forward quickly, fulfil their vision and accomplish their goals. The idea of research project is

to implement Android based application for college management system for institution

system. This project will be implemented in applications such as online test marks, different

college departments, notices, different modules and online attendance record using Android

applications.

2.7. HCI AND STUDENT TIMETABLING APPLICATION HCI

(human-computer interaction) is the study of how people interact with computers and to what

extent computers are or are not developed for successful interaction with human beings. As

its name implies, consists of three parts: the user, the computer itself, and the ways they work

together. Human-Computer Interaction (HCI) is an interdisciplinary field of study interested

in design, evaluation and implementation of interactive technology. Since Human-Computer

Interaction studies the interaction between human and computer, it is associated with the

study fields such as human behaviour, psychology, cognitive science, computer science and

software engineering as well as ergonomics, graphic and industrial design, sociology,

anthropology and educational sciences (Çagıltay & Kullanabilmek, 2005). HCI is very

important because it will be fundamental to make products more successful, safe, useful and

13
functional. In the long run, it will make more pleasurable for the user. Hence, it is important

to have someone with HCI focused skills involved in all phases of any product of system

development. The goals of HCI are to produce usable and safe systems, as well as functional

systems. In order to produce computer systems with good usability. Developers must attempt

to understand the factors that determine how people use technology, develop tools and

techniques to enable building suitable systems, achieve efficient, effective, and safe

interaction and always to put people first. People should not have to change the way that they

use a system in order to fit in with it. Instead, the system should be designed to match their

requirements. When developing an android or web based application for car rent, there are

some basic principles to put together so as to enhance a better human-computer interaction.

For a car rental system to obey the laws of HCI, it must undergo the following principles to

enable user satisfaction and usability;

i. Clarity: The interface avoids ambiguity by making everything clear through language,

flow, hierarchy and metaphors for visual elements. Clear interfaces don’t need manuals. They

also ensure users make less mistakes while using them.

ii. Concision: It’s easy to make the interface clear by over-clarifying and labelling

everything, but this leads to interface bloat, where there is just too much stuff on the screen at

the same time. If too many things are on the screen, finding what you’re looking for is

difficult, and so the interface becomes tedious to use. The real challenge in making a great

interface is to make it concise and clear at the same time.

iii. Familiarity: Something is familiar when you recall a previous encounter you’ve had with

it. Even if someone uses an interface for the first time, certain elements can still be familiar.

You can use real-life metaphors to communicate meaning; for example, folder-style tabs are

14
often used for navigation on websites and in applications. People recognize them as

navigation items because the metaphor of the folder is familiar to them.

iv. Responsiveness: This means a couple of things. First, responsiveness means speed: a

good interface should not feel sluggish. Secondly, the interface should provide good feedback

to the user about what’s happening and whether the user’s input is being successfully

processed.

v. Consistency: Keeping your interface consistent across your application is important

because it allows users to recognize usage patterns. Once your users learn how certain parts

of the interface work, they can apply this knowledge to new areas and features, provided that

the user interface there is consistent with what they already know.

vi. Aesthetics: While you don’t need to make an interface attractive for it to do its job,

making something look good will make the time your users spend using your application

more enjoyable; and happier users can only be a good thing.

vii. Efficiency: Time is money, and a great interface should make the user more productive

through shortcuts and good design. After all, this is one of the core benefits of technology: it

allows us to perform tasks with less time and effort by doing most of the work for us.

2.8 RESEARCH GAP

Onuwa (2015) worked on an mobile based students timetable management system and came

up with a proposal instead of implementation. Development of a mobile based students

timetable management system for students serves as a tool to close the gap by improving the

proposal.

15
CHAPTER THREE

SYSTEM MODEL AND DESIGN

3.0 INTRODUCTION.

This Chapter aim at implementing the methodology presented in chapter one, and the

procedure that was taken by the use of stated methodology to achieve the objectives stated in

Chapter One. It presented the system architecture, the workflow and the model formulation

used to achieve the project aim.

3.1 SYSTEM MODEL.

A system is a group of interacting or interrelated entities that form a unified whole. A system,

surrounded and influenced by its environment, is described by its boundaries, structure and

purpose and expressed in its functioning. Systems are the subjects of study of systems theory.

System modelling is the representation of system using different kind of graphical notation. It

16
is an idealization of system description in the sense that they are less complicated than

reality; they are simplifications of reality To come up with a model for our system, it is

required that we adopt a model. And the models adopted to form our model are Waterfall

Model and Prototype Model. These model are adopted because its perform this software is

playing an important role in academic environment and in academic, software has to be

opened to improvement to adapt to where academic is moving to. In Software engineering,

proper model needs to be adopted for the perfection of software development.

3.1.1 SYSTEM PROTOTYPING

This is a method of having a version of the system or part of the system is developed quickly

to check the customer’s requirements and the feasibility of design decisions. This approach

supports change anticipation (Somerville, 2014).

i. Requirements gathering and analysis: A prototyping model starts with requirement

analysis. In this phase, the requirements of the system are defined in detail. During the

process, the users of the system are interviewed to know what their expectation from

the system is.

ii. Quick design: The second phase is a preliminary design or a quick design. In this

stage, a simple design of the system is created. However, it is not a complete design.

It gives a brief idea of the system to the user. The quick design helps in developing

the prototype.

iii. Build a Prototype: In this phase, an actual prototype is designed based on the

information gathered from quick design. It is a small working model of the required

system.

iv. Initial user evaluation: In this stage, the proposed system is presented to the client

for an initial evaluation. It helps to find out the strength and weakness of the working

17
model. Comment and suggestion are collected from the customer and provided to the

developer.

v. Refining prototype: If the user is not happy with the current prototype, you need to

refine the prototype according to the user's feedback and suggestions. This phase will

not over until all the requirements specified by the user are met. Once the user is

satisfied with the developed prototype, a final system is developed based on the

approved final prototype.

vi. Implement Product and Maintain: Once the final system is developed based on the

final prototype, it is thoroughly tested and deployed to production. The system

undergoes routine maintenance for minimizing downtime and prevents large-scale

failures.

Types of Prototyping Models

Four types of Prototyping models are:

a) Rapid Throwaway prototypes

b) Evolutionary prototype

c) Incremental prototype

d) Extreme prototype

Rapid throwaway is based on the preliminary requirement. It is quickly developed to show

how the requirement will look visually. The customer's feedback helps drives changes to the

requirement, and the prototype is again created until the requirement is baseliner. In this

method, a developed prototype will be discarded and will not be a part of the ultimately

accepted prototype. This technique is useful for exploring ideas and getting instant feedback

for customer requirements.

18
Evolutionary Prototyping Here, the prototype developed is incrementally refined based on

customer's feedback until it is finally accepted. It helps you to save time as well as effort.

That's because developing a prototype from scratch for every interaction of the process can

sometimes be very frustrating. This model is helpful for a project which uses a new

technology that is not well understood. It is also used for a complex project where every

functionality must be checked once. It is helpful when the requirement is not stable or not

understood clearly at the initial stage.

Incremental Prototyping: In incremental Prototyping, the final product is decimated into

different small prototypes and developed individually. Eventually, the different prototypes

are merged into a single product. This method is helpful to reduce the feedback time between

the user and the application development team.

Extreme Prototyping: Extreme prototyping method is mostly used for web development. It

consists of three sequential phases.

i. Basic prototype with the existing page is present in the HTML format.

ii. You can simulate data process using a prototype services layer.

iii. The services are implemented and integrated into the final prototype.

3.1.2 WATERFALL MODEL

The Waterfall methodology is a linear approach to project management. It emphasizes

logical sequencing throughout the software development life cycle (SDLC). One phase must

be complete before another. Waterfall projects start by gathering all the requirements and are

executed through a sequential project plan designed to accommodate those requirements.

i. Requirement Gathering: Before any work on the project can begin, it is absolutely

necessary to gather all the requirements from the customer and/or stakeholders. That

19
allows the organization to plan and map out the entire project, without any further

involvement from the client. Once gathered, the requirements must be thoroughly

analyzed and properly documented. That prompts the creation of the requirements

document, which details everything that the application should be able to do, as well

as the necessary features. However, what the document does not do is define how the

application should do it.

ii. Analysis: In the second stage, the developers rely on the requirements document to

analyze the system and flesh out the models and business logic they’ll use to design

the application. This step usually involves brainstorming both logical and theoretical

design solutions.

iii. Design: Once the project moves to the design phase, the team members take the

solutions concocted in analysis and, if necessary, alter them to meet the hardware and

software capabilities of the system. That is also when the developers go over the

technical requirements of the project, such as the programming language they’ll be

using, data layers, services, and so on. Before this phase is complete, developers must

have a concrete plan for translating the theoretical solutions into concrete

specifications.

iv. Coding: Many organizations refer to this stage as “Implementation.” Regardless of

how you name it, this step is when the developers write the actual code, following the

specifications listed in the previous phases of the project.

v. Testing: After the code has been written, Quality Assurance, beta testers, and other

testers will thoroughly examine the software and report any and all faults, defects, and

bugs they run into. In some cases, that may require repeating the coding phase to

ensure all the bugs are addressed and all flaws ironed out. After confirming that the

application works as intended, the project can move to the final stage.

20
vi. Operations: The last stage involves deploying the application in a “live”

environment. However, the job doesn’t end once the software reaches the customers.

This phase also includes the necessary support and maintenance to ensure the

application is working correctly and is up to date.

The choice of a proper design methodology is important to the proper planning and

constructing of the system. It gives a framework that is used to structure, plan and control the

process of developing a system either low or large scale. A number of methodologies were

considered which include Prototyping, Agile, Spiral, and Waterfall.

3.1.3 MODEL FORMULATED

i. Requirements gathering: The Requirements gathered in the first place is been

categorized in this phase into three namely:

a. User Requirement: The users which are the passengers are expected to be able

to retrieve information from the system, see list of ticket and purchase ticket.

b. Functional Requirement: The website is expected to perform the following

functional requirements:

i. Allows Students and supervisor interact together.

ii. It must allow supervisor to view the progress rate of student in the task

given

iii. The system should be able to send email alert to notify students or

supervisor on any update on the task.

iv. The system should be able to safe every document sent.

v. The system must be able to restrict unauthorized user from accessing

any of the interface.

21
c. Non Functional Requirement: The non-functional requirements for the system

model mostly consist of system constraint, limit and other requirements that do not relate

directly to software function. The lists of nonfunctional requirements for this system include:

i. The system is designed to be accessible from anywhere in the world.

ii. The system requires no manual operators when setting up user or

admin and profiles.

iii. The system must be maintainable, scalable and available.

iv. The system should be usable, secured, reliable, have high

performance level.

ii. Quick Design: The second phase is a preliminary design or a quick design. In this

stage, a simple design of the system will be created.

iii. Supervisor evaluation: In this phase, the supervisor will evaluate the prototype built

and makes corrections and some modifications

iv. Refine requirements: If the user is not happy with the current prototype, you need to

refine the prototype according to the user's feedback and suggestions. This phase will

not over until all the requirements specified by the user are met. Once the user is

satisfied with the developed prototype, a final system is developed based on the

approved final prototype.

v. Design: Designing the system using UML diagrams (use case, activity diagram,

sequence diagram, Flow chart, sequence diagram, etc.)

vi. Implementation: This phase involves the coding parts of the design process which

will be carried out with the following languages:

a. Front – end: HTML 5, CSS 3 and JavaScript bootstrap framework for the

client side scripting.

b. Backend- PHP laravel framework and MYSQL.

22
vii. Testing: At this phase, unit testing will be used to check for the functionality of the

system to check for bugs and ensure it satisfies the user requirement.i.e. testing the

system as a complete system.

viii. Maintenance: At this phase, the project will be maintained.

Figure: ADOPTED MODEL AND FORMLATED MODEL(Fieldwork)

3.2 DATA MODEL

Data models define how the logical structure of a database is modeled. Data Models are

fundamental entities to introduce abstraction in a DBMS. Data models define how data is

connected to each other and how they are processed and stored inside the system.

23
The very first data model could be flat data-models, where all the data used are to be kept in

the same plane. Earlier data models were not so scientific, hence they were prone to introduce

lots of duplication and update anomalies.

3.2.1 WORKFLOW DEVELOPMENT

This is where to showcase the software development and movement of data in the database.

Workflow development is simply the depiction of a sequence of operations of a working

system using a workflow diagram. It involves the various software and hardware components

of the system and the various interactions between those components within the system. It

comprises of various processes within the system. The way modeling is used in this project is

called Unified Modeling Language (UML) that is a standard language for specifying,

visualizing, constructing, and documenting the artifacts of systems, as well as for business

modeling and other non-software systems. The UML represents a collection of best practices

that have proven successful in the modeling of large and complex systems. It is an important

part of developing system and their development process. The UML uses mostly graphical

notations to express the design of projects, it helps project teams communicate, explore

potential designs, and validate the architectural design of the system. The primary goals in

the design of the UML were:

1. Provide users with a ready-to-use, expressive visual modeling language so they can

develop and exchange meaningful models.

2. Provide extensibility and specialization mechanisms to extend the core concepts.

3. Be independent of particular programming languages and development processes.

24
Figure 3.2. Use Case Diagram.

ACTIVITY DIAGRAM

This shows the activities involved in a process or in data processing.

25
Figure 3.3 Activity Diagram(Field-work)

CLASS MODEL

Class diagram in the Unified Modeling 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 objects. The class diagram is the main

building block of object-oriented modeling. It is used for general conceptual modeling of the

structure of the application, and for detailed modeling translating the models into

programming code (Tools, 2015). The classes in a class diagram represent both the main

elements, interactions in the application, and the classes to be programmed.

26
Figure 3.4 Class diagram(Field-work).

SEQUENCE MODEL

This model shows the interactions between the system components, although external

systems may also be included. The system components identified for the formulation of the

model are the user information mechanism, where the user enters his login details (user ID

and password), then the authorization mechanism, where the details are queried with the data

in the database if valid or not.

27
Figure 3.5 Sequence Diagram (Field work).

3.2.2 MBTS ARCHITECTURE

Login

Authenticate

User dashboard Admin dashboard

Check venue Allocate lectures Manage users


Check Lecture time

View Schedule Logout

28
3.4 SYSTEM DESIGN

In the preliminary or general design, the features of the new system are specified. The costs

of implementing these features and the benefits to be derived are estimated. In the structure or

detailed design stage, the design of the system becomes more structured. Structure design is a

blue print of a computer system solution to a given problem having the same components and

inter-relationship among the same components as the original problem. Input, output and

processing specifications were drawn up in detail. In the design stage, the programming

language and the platform in which the new system will run were also decided. Input, output

and processing specifications were also drawn up in detail subsequently.

3.4.1 DESIGN

A design is a plan or specification for the construction of an object or system or for the

implementation of an activity or process, or the result of that plan or specification in the form

of a prototype, product or process.

3.4.1.1 INPUT AND OUTPUT DESIGN

Input Design

In an information system, input is the raw data that is processed to produce output. During

the input design, the developers must consider the input devices such as PC, MICR, OMR,

etc

Output Design

The design of output is the most important task of any system. During output design,

developers identify the type of outputs needed, and consider the necessary output controls

and prototype report layouts.

29
3.4.1.2 ALGORITHM

Algorithm can be seen as the step-by-step method of implementing the system using the

ordinary or simple language.

GENETIC ALGORITHMS.

A genetic algorithm is a heuristic search method used to find solutions for optimization

problems. It is based on the Darwinian theory of evolution. This technique involves the

ultimate selection of the fittest (best timetable) from a randomly created population

(chromosomes) of solutions for the timetabling problem where each individual (chromosome)

represents a timetable. The optimality (perfection) of a chromosome is evaluated by a fitness

function based on hard and soft constraints. Genetic algorithms begin by creating a random

population of timetables followed by their evaluation according to defined criteria to select

parents (timetables) for the next generation which is expected to produce better timetables by

way of crossovers and mutations. The process is repeated until a satisfactory solution is

reached.

As mentioned earlier, scheduling classes for a college timetable is often encountered with

constraints (hard and soft) due to diversity as compared to a school timetable where the

requirements are highly limited. The problems associated with hard constraints need to be

resolved to produce a functional solution. To optimize the performance of the scheduling it is

important to address the issues linked to soft constraints. However, a careful approach should

be formulated without compromising the solutions to hard constraints to minimize serious

disruptions to the system. As such, a straightforward scheduling system as for a small school

system cannot be successfully applied to a complex organization without turning to a

different approach for quick and optimum results.

30
. How Genetic Algorithms

Work In a genetic algorithm, a population of chromosomes consisting of a given random

collection of genes is initiated according to the following steps in figure 3.6.

i. Generating an initial population of chromosomes.

ii. Evaluating the suitability of each chromosome (individual) that forms the

population.

iii. Selecting the chromosomes for mating based on the above results.

iv. Producing offspring by mating (cross over) the selected chromosomes.

v. Mutating genes randomly.

vi. Repeating steps 3-5 until a new population is generated.

vii. Ending the algorithm when the best solution obtained has not changed after a

preset number of generations.

Figure 3.7 How to Genetic algorithm works. (Field work)

31
3.5 PERFORMANCE OF MBTS

The performance of MTBS model includes the following:

i. Scalability: The software responds properly to a high increase of users. It will be able

to handle a large range of users without reduce its speed.

ii. Extensibility: The application is by extensible in order to support multiple platforms

Computer such as Windows, Mac, Linux etc.

iii. Availability: Since a lot of information about the books and users of the system, it is

highly available and guarantees the storage of all information.

iv. Privacy and Security: The application should ensure the privacy of the users. The

login system is robust where only authorized users can access the interface.

v. Maintainability: Since the software is to be deployed for continuous usage, it is

easily maintainable.

vi. Cheap: MTBS is very cheap to maintain compare to its counterpart web based.

3.5.1 PROCESS OF TIME TABLE SCHEDULING SYSTEM

Login Module

Login: The main index of the application is login page where we need to provide credentials

such as ID, Password and type of login (Admin / lecturer / Student). Once inputs are

authenticated, the user will be redirected to the dashboard page from where the header menu

options will be available to navigate to the required page.

32
Admin Module: In this module, the admin is the one allocating lectures for the department in

the system which makes him or her in charge of all operations in the system. Having the

ability to allocate lecture rooms, review the time table.

Student Module: In this module, the student of the department is allowed to access their own

interface of the system, where they get to see their schedules of lectures, time and venue for

lectures every week.

Lecturer Module: In this module, the lecturer are able to see schedule of their lectures and

venue and the number of student expected to be there.

Settings Module: This is the backbone of the system where you can make changes to the

system like setting site name or logo. It involves the system settings and location setting. etc.

lecturer
Dashboard
Module

Login Student
Web Based time
Module table scheduling Module
system

WBTS Model

Admin Settings
Module Module

33
CHAPTER FOUR

SYSTEM ANALYSIS, IMPLEMENTATION AND DOCUMENTATION

4.1 INTRODUCTION
This described the results, software and hardware requirement, system implementation and
the users’ guide. This provides steps to install WBTS in different environment, its usefulness
and the way it can be operated by the users without having any fundamental knowledge about
it.

4.2 SYSTEM ANALYSIS


Analysis of system is the core part of a research. The requirements for developing ATMSP
are analysed and these requirements are important to the implementation of the system.

4.2.1 HARDWARE REQUIREMENTS

The following are the minimum requirements for the system to work:

1. Minimum 1gb of RAM (Random Access Memory)

2. Minimum 100GB of Hard disk

3. Minimum Intel Pentium Processor 1.5ghz or AMD dual core 1.4ghz

4. A monitor, Keyboard, CPU / Laptop

5. A mouse

4.2.2 SOFTWARE REQUIREMENTS

1. Operating system: Windows 7/8/10.


2. Coding language: PHP
3. Database: MySQL

4.3 SYSTEM IMPLEMENTATION


Web based time table scheduling system was fully implemented in Bracket Text editor using
PHP laravel framework and SQLite Database for standard desktop and laptop based software.

System implementation is sub divided into admin Interface, lecturer interface and Student
interface

34
4.3.1 ADMIN INTERFACE

Admin Interface is the main page visited after the login page where the admin of the system
will have access to other interfaces in the system and the following modules can be accessed.

Fig 4.1 login page

Fig 4.2 Scheduling time table.

35
Fig 4.3 Adding student into the system

Fig 4.5 Adding lecturers into the system.

36
Fig 4.6 add courses.

Fig 4.7 Assigning role (period for lectures) to lecturers

37
Fig 4.8 Courses list

Fig 4.10 Time table schedule.

4.4 SYSTEM DOCUMENTATION


This refers to the step by step method of using the WBTS. The WTBS comprises Coordinator
(Administrator), lecturer, student environment. The steps to use the system are as follows:

38
4.4.1 USER’S GUIDE

4.4.1.1 BACK END (ADMIN’S GUIDE)

Step 1: click on xampp (database) and start apache and MYSQL

Step 2: Activate PHP environment use GIT bash and input (php artisan serve)

Step 3: Open web browser and input the pass code in the GIT bash

Step 4: Explore the admin interface from login as coordinator to the end

Step 5: to logout, click on menu bar then click on logout

4.4.1.2 FRONT END (END USER’S GUIDE)

Step 1: click on xampp (database) and start apache and MYSQL

Step 2: Activate PHP environment use GIT bash and input (php artisan serve)

Step 3: Open web browser and input the pass code in the GIT bash

Step 4: Explore the user interface from login as either a supervisor or student to the end

Step 5: to logout, click on menu bar then click on logout

39
CHAPTER FIVE
SUMMARY, CONCLUSION AND RECOMMENDATION

5.1 SUMMARY
In an effort to foster technology driven education, a web based time table scheduling has been
developed to help lecturer in charge of scheduling time table.

5.2 CONCLUSION
In conclusion, from proper analysis and assessment of the designed system it can be safely
concluded that the system is an efficient, usable and reliable. A series of tests were also
conducted for security, user experience, tolerance, simplicity, consistency and structure of the
ATMSP interfaces. It also possesses technical qualities such as fast communication, storage
of data and auto reminder message to all users of the system. WBST is working properly and
adequately meets the minimum expectations that were for its initial. The system can be fully
employed in different department for effective scheduling.

5.3 RECOMMENDATION
With excellent and efficient performance, highly secured, and cheap maintenance cost of
WBTS, I hereby recommend WBTS to all department most especially Osun State university
to permits WBTS for helping manage time table scheduling ease stress of course coordinator
and provide excellent interaction for students and their lecturers.

5.4 FUTURE DIRECTION


Based on the research findings, there is need to develop an android or IOS mobile application
with the system to enhance easy access by the users at their level of activities. Also observed
that the system lacks integrity.

5.5 CONTRIBUTION TO KNOWLEDGE


A web based time table scheduling for scheduling daily time table for the department. The
system also allows changes and as an integrity against clashing courses. The software is a
web based software which supporting variety of Operating systems like Windows, Mac,
Linux, Unix and the likes which reduce the cost and project stress at the level of maintenance.

40

You might also like