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

CHUKA UNIVERSITY

FUCULTY OF SCIENCE, ENGINEERING AND TECHNOLOGY

DEPARTMENT OF COMPUTER SCIENCE & ICT

SOFTWARE SYSTEM PROJECT 1

TASK SCHEDULING ANDROID APP

JUSTIN MOSES MOMANYI

EDS1/38072/18

Supervisor: PETER MUTHURI

Submitted by Justine Moses Momanyi to Chuka University, in partial fulfilment of the requirements
for Diploma in computer science

Submitted On ……………………………………………………………….
Declaration and Recommendation
This project is my original work and to the best of my knowledge, it has not been presented in

any other university.

Justine Momanyi Moses

Signed...................................................

Date.......................................................

This project has been submitted as part fulfilment of requirements for the award of diploma in

computer science in the faculty of Science Engineering and Technology of Chuka University,

with my approval as the university supervisor.

Peter Muthuri

Signed...................................................

Date......................................................
ABSTRACT
The problem identified was absence of a system that will provide an easier means for

users to interact socially whenever they are in need of company to help them through a

specified set of task(s). It has grown to realization that many people around the word tend to

resolve to postponing of tasks or even foregoing the same since they feel like it will be

somewhat impossible to settle the tasks on their own. With this shortcoming, we may term

them as being lazy, yet it’s not their wish when keenly looked into.

Also, having it a fact that many individuals get destructed from task completion

during execution as a result of impromptu distracters, a system that aids in putting them on

toes for timely task execution as a reminder, will come in handy for many individuals.

The proposed solution was to develop an android based application with user friendly

features which would link users with common goals to be achieved. This system has an inbuilt

reminder to help users track their scheduled tasks and have them executed in time.
Contents
ABSTRACT..........................................................................................................................................iii
INTRODUCTION.................................................................................................................................1
BACKGROUND OF THE STUDY..................................................................................................2
PROPOSED SOLUTION.................................................................................................................3
Aim of the project............................................................................................................................4
Objectives........................................................................................................................................4
System Specific Objectives..............................................................................................................5
i
CHAPTER ONE: INTRODUCTION

INTRODUCTION

Social interaction, task sharing and timely task execution is something that should be

encouraged in today’s century, for it builds a major part of daily doings globally. We all

occasionally end up at one point or another having an immense amount of things to

accomplish in a period of a week or two.Regardless of if it’s from procrastination or just a

busy week, we can get overwhelmed by the tasks handed to us or even created by us.I believe

that the creation of the list is more important itself than actually utilizing it as an

organizational tool and here’s why.

To-do lists are important for anyone looking to accomplish many tasks within a set

period. There are many activities one needs to check off at work. They include meetings,

responding to queries, reports, and other crucial activities.

This document looks at the state of systems supporting such context and also

looks at new possible ways to create more additional processes to support the same. The

proposed project, was built on already existing task scheduling systems by introducing a

better and more efficient way where one can ask for assistance to have their scheduled

tasks executed in time and effectively.

1
BACKGROUND OF THE STUDY
You never know when you are going to come up with an idea or remember

something you need to do later. Therefore, with existence of several TODO list reminder

applications, there has been a boost of daily planning and timely execution of tasks in the

society. One can arrange tasks with preference to time and have them automatically

aligned in the application, be it online or offline. This at many times have been voted

effective and advantageous, since one can be reminded without failure to partake a

specified task in time and effectively. The applications are in range of both web based

and mobile environments, to see to it that timely execution of tasks is achieved.

Problems arise when one is in verge need of a second hand to help perform the

reminded task in time. Tasks are categorized with respect to how difficult they may be

and numbers of individuals partaking the same, that is, either private, to be performed

singly, or publicly, to be performed in groups of people. Some tasks also need total

concentration away from distraction, for them to be carried out effectively and

efficiently. Hence having a mere TODO List application, won’t serve these shortcomings

effectively.

Great strides have been made in IT innovations over years, hence increasing the

use of mobile phones. In Kenya alone, CAK (2016) stated that the number of mobile

phone subscribers rose to 31.2 million in September 2013, while internet users at 19.1

million, hence based on these kinds of statistics, having an online platform where

individuals can plan their tasks, have themselves reminded in time to perform the tasks

and be linked to potential compliant(s) across their phonebook contact list will be

enhanced.

2
PROBLEM STATEMENT

The verge and need of individuals coming together to form both small and

extensive communal groups, has increasingly been less effective as a result of existing

limiting factors within our communities. These factors may include things like,

differences in social classes, introvert nature and task scheduling and time allocation to

perform the task. In presence of these factors, coming together to form groups which will

aid in unified task(s) handling may be impossible.

Time allocation and task scheduling is often one of the major social interaction

limiting factor in the society. In a single day, someone may involve themselves in tasks

which are communal or personal at specific different times of the day. Due to differently

scheduled tasks by people, communal tasks may be less effectively tackled since one

prefers to settle their portions of the task at different specified times, while others can

tend to adjust theirs to suit those with tight schedule. Also, looking at personal scheduled

tasks which are often tight to be rescheduled, one may prefer to receive less or no

disturbances from impromptu calls, inappropriate messages and chats, and unplanned

visits since they are of less importance at that given time.

PROPOSED SOLUTION
With existence of above problems in the society, there is therefore need of a

unifying platform which aids in bringing together individuals who share a common goal

and see to it that they have the goal effectively achieved despite the difference in their

social classes.

3
Aim of the project
The researcher has opted to develop an Android based application to implement a

solution to the problem stated above. The Application is based on user’s personal mobile

contact as their identification and links them to people in his/her own phonebook.

With this in place, the project has an aim of linking users to potential compliant(s)

of their choice in their mobile contacts, by sending notification requests for company in

task executions.

Objectives
1. Study the working of existing platforms.

2. Determine the shortcomings of the existing platforms.

3. To design solution for the shortcomings.

4. Implement new and improved system.

4
System Specific Objectives
1. To design a system that will aid in bringing users who share a common goal

together.

2. To design a system that will respect the privacy as well as preferences of the

user.

3. To design a system that will offer a convenient means of its users scheduling

their tasks and making sure that the tasks are accomplished with ease and

without failure through implementation of a reminder.

5
CHAPTER TWO: LITERATURE REVIEW

2.0. INTRODUCTION

This chapter presents Literature review in accordance to objectives of undertaking

the project. Timely task undertaking with respect to avoidance of rush hours, has become

so rampant in today’s society. In order to see a developing society, tasks need to be

settled in time and with ease, to secure more time for other things to be tackled too since

we believe there is time for everything.

Time is an interesting resource. Everyone is allotted the same 24 hours in a day to

utilize it. However, I can assure you that there will be significant differences in the level

of productivity from each individual by the end of the day. This difference is brought

about by the varying types of time utilization adopted by each person.

Similarly, this concept applies to businesses. The emphasis placed on time

utilization in a business establishment determines how productive it will be. Service-

based businesses are affected by this the most. The reason being that there are several

consumers seeking services and leave after the service is rendered.

The time of service delivery will be the sole determinant of whether the service rendered

will be rated as quality or not. Moreover, this will also influence whether such customers

will return or not. Therefore, time utilization is vital to business performance, however, it

is not the sole determinant and here is why.

This chapter examines topics like: some of the systems put in place to help curb this

problem and what makes a best time scheduling application.

6
Time Management Trends

The contemporary corporate world knows the importance of time management.

Consequently, timekeeping has been integrated into the majority of processes within

businesses. By definition, timekeeping is monitoring how time is spent on certain tasks

required for business performance.

Software programs are now used to keep a track of time. All people, employees, and

managers included, require daily to-do tasks to better aid in managing their time.

Everyone with the same software and an active account on their gadgets can access the

information because it is a cloud-based application. Timekeeping provides the easiest way to

keep track of the time employees spend on certain tasks. This is especially helpful when used

in businesses characterized by varying shifts, like restaurants. Every employee is required to

automatically sign in when they arrive and check off on any tasks they are assigned at the

given time.

A great component of to-do list apps is how management can access this information via the

internet from miles away; there is no need for them to physically be present in the restaurant

to delegate.

This is a rather convenient way for management to keep track of things. Provided are all of

the benefits your business will stand to gain from utilizing data used for timekeeping.

7
Benefits of Timekeeping Data

1. Transparency

Timekeeping data is recorded and updated to the cloud in real-time. This enables

data to be tracked with ease. Records can help to reveal issues such as tasks that

are more time-consuming among other issues. This way, flaws can be identified

swiftly and the necessary remedial steps are taken.

2. Better Planning

Proper use of past data can be utilized to make plans for the future in a

business/restaurant. Timekeeping data provides a reliable place to make future

plans because the data is more reliable as it was based on actual occurrences.

Moreover, a manager can easily identify the activities where there is a wastage of

time and takes the necessary remedial steps to utilize time in a better manner in

the future.

3. Promotes Morale and Discipline

Employees are aware that all their activities can be monitored. Therefore, they feel

more accountable and tend to show more discipline. Additionally, they show more

adherence to the stipulated rules and regulations.

2. 4. Improved Execution of Work

Time management involves setting deadlines and working to be as productive as

possible to meet these deadlines. With these standards, a business/restaurant will

be more productive.

8
5. Easier Management

The information gained from timekeeping software is useful in running

businesses. A manager who utilizes timekeeping will make more informed

decisions for the given business/restaurant.

. WHAT MAKES A BEST TASK SCHEDULING APPLICATION?

When it comes to TODO lists, everyone has different criteria. But the best to

do list app: ("The 11 Best To Do List Apps in 2019", 2019)

• Makes it fast to add and organize tasks

Ideally a task is added and categorized in a couple taps or

keystrokes.

• Offers multiple ways to organize your tasks

Tags, lists, projects, and due dates are all helpful, and the best apps

offer at least a few categories like this

• Reminds you about self-imposed deadlines

Notifications, widgets, emails-the best applications make it

obvious when something needs to be completed.

• Offers clean user interface

Well-designed to do apps fit into your workflow so you can get

back to what you’re supposed to be doing.

• Syncs between every platform you use

Which platform is going to depend on what you personally use.

9
2.1. TASK SCHEDULING SYSTEMS

There are several TODO list apps out there, but basing on some criteria to be discussed

later, some applications stands out to be examined. They may not be right for everyone,

but at least they have a point or two to be looked into. In this article, they include:

2.1.1. Todoist

This is the best cross-platform to do app for balancing power and simplicity. Todoist is

not the most powerful to do list out there neither the simplest but it balances power with

simplicity, and it does so while running on basically every platform that exists, be it

Windows, MacOS, iPhone, iPad or web and that’s a strong selling point. This is probably

why Todoist is one of the most popular to do lists out there right now, with over

10million users.

Todoist application is free with some features, including labels and attachments,

requiring a subscription that starts at $3 a month. ("The 11 Best To Do List Apps in

2019", 2019)

Important Features

 It helps you to organize your works and life chores for your convenience.
 Provides reminding tools with smart notifications and location-based
reminder services with the logical alert system.
 It offers a lot of customizable lists, and templates for all kinds of lists and
tasks schedule.

10
 Includes goals tracker and lets you track and manage your weekly plans
beforehand.
 Lets you connect it with other tools and popular apps and social platforms
for versatile use of listing.

2.1.2. TickTick

It’s a fast-growing to-do list app that offers a wide array of features on just about

every platform you can imagine. Adding tasks is quick thanks to natural language processing.

There's also a universal keyboard shortcut offered on the desktop versions and pinned

notifications and widgets on mobile, which makes it quick to add a task before getting back

to what you're doing. Tasks can be organized using lists, tags, and due dates, and there's even

the ability to add sub-tasks to any task. 

TickTick offers all of this with apps that feel native—the macOS version is distinct

from the Windows version, for example, in ways that make sense given the differences

between those two systems. TickTick also offers a few features that are above and beyond

what other apps offer. First of all, there's a built-in Pomodoro timer allowing you to start a

25-minute work session for any of your tasks. Second, there's integration with various third-

party calendars, allowing you to see your tasks and your appointments in one place, and even

do some time blocking. There's also a built-in habit-tracking tool, allowing you to review

how many days you did or didn't stick to your exercise and diet commitments. It's a great

collection of features, unlike anything else on the market.

Important Features

 You can create a to-do list instantly.


 It will remind you about the events you make not about.
 It has a sleek calendar with its intuitive interface.

11
 Making a checklist and notes are very easy.
 You can attach photos, voice recordings, and different attachments with
your lists and notes.

2.1.3. Microsoft To-Do

This is the best to do list for Microsoft power users (and Wunderlist refugees). In 2015,

Microsoft bought Wunderlist and put that team to work on a new to do list apps.

Microsoft ToDo is the result of that, and you can find Wunderlist’s DNA throughout the

project. The real standout feature for this app is the deep integration with Microsoft’s

ecosystem. Outlook users can sync their tasks from that application over to Microsoft To-

Do, meaning there is finally a way to sync Outlook tasks to mobile. The application is

rendered free of price ("The 11 Best To Do List Apps in 2019", 2019)

Important Features

 Lets you organize your days plan beforehand for better utilization of your
busy life.
 Offers you the options to share your task list and planning with your friends
and family at ease.
 Provides a collection of templates and formats of list-making, let’s you add
subtasks for versatility.
 Gives you the options to set reminders and smart notification with an alarm
system.
 Offers with different colors to pin down different tasks and daily goals, it
also syncs with your personal Outlook data.

2.1.4. Things

The best blend of powerful features with elegant design for Apple users. To do list apps

tend to fall into two categories: the complex and the minimalist but for Things is

somehow both. This is about the highest praise that can be given to a to do list app. This

12
is an application with no shortage of features and yet it always feels simple to use. The

only downslide for Things is the lack of versions of Windows and Android. ("The 11

Best To Do List Apps in 2019", 2019)

The MacOS version of the app costs $49.99 but offers a 15-day free trial.

The iPad version costs $9.99

2.1.5. Any.do

The list couldn’t be complete without looking at this application, best for people who

forget to use to do apps. The app offers a really stick mobile app that makes it quick to

add tasks, organize them into lists, add due dates. Has a feature called, “Plan my Day”,

which forces you to schedule when you’ll accomplish your various tasks so that you

remember to actually do things. The web version isn’t quite as slick as the mobile

version, because it can feel cluttered at time and doesn’t offer much in the way of

keyboard shortcuts.

The application is free but for premium version, which offers color coding, location-

based reminders, and recurring tasks, costs $2.99 per month. ("The 11 Best To Do List

Apps in 2019", 2019)

Important Features

 Only a few taps are enough to customize your regular todos.


 You can share task manager with others to get a group task alarm.
 Let you make colorful todos of each day in a week.
 It can prioritize your important tasks on the daily planner and checklist.
 It will remind you about your important events.
 Can organize tasks under a list and let you use it with a home screen widget.

13
CHAPTER THREE: METHODOLOGY

3.0. INTRODUCTION

The main purpose of the study was to develop an android based software which was to

schedule tasks, monitor them by reminding the users to perform the task and link users

on the basis of their scheduled tasks. These processes called for a method that could suit

these implementations properly, since it’s clear that the project was big enough and to

reduce cost of future debugging, The Incremental build model of software development

was the methodology that best suited the development process of the system.

SYSTEM DEVELOPMENT METHODS

Rapid application development

Rapid application development (RAD) is a condensed development process that

produces a high-quality system with low investment costs. Scott Stiner, CEO and president of

UM Technologies, said in Forbes, “This RAD process allows our developers to quickly

adjust to shifting requirements in a fast-paced and constantly changing market.” The ability to

quickly adjust is what allows such a low investment cost.

The rapid application development method contains four phases: requirements

planning, user design, construction, and cutover. The user design and construction phases

repeat until the user confirms that the product meets all requirements.

14
RAD history

Rapid application development was a response to plan-driven waterfall processes,

developed in the 1970s and 1980s, such as the Structured Systems Analysis and Design

Method (SSADM). One of the problems with these methods is that they were based on a

traditional engineering model used to design and build things like bridges and buildings.

Software is an inherently different kind of artifact. Software can radically change the entire

process used to solve a problem. As a result, knowledge gained from the development

process itself can feed back to the requirements and design of the solution.[1] Plan-driven

approaches attempt to rigidly define the requirements, the solution, and the plan to implement

it, and have a process that discourages changes. RAD approaches, on the other hand,

recognize that software development is a knowledge intensive process and provide flexible

processes that help take advantage of knowledge gained during the project to improve or

adapt the solution.

The first such RAD alternative was developed by Barry Boehm and was known as

the spiral model. Boehm and other subsequent RAD approaches emphasized developing

prototypes as well as or instead of rigorous design specifications. Prototypes had several

advantages over traditional specifications:

 Risk reduction. A prototype could test some of the most difficult potential

parts of the system early on in the life-cycle. This can provide valuable information as to

the feasibility of a design and can prevent the team from pursuing solutions that turn out

to be too complex or time consuming to implement. This benefit of finding problems

15
earlier in the life-cycle rather than later was a key benefit of the RAD approach. The

earlier a problem can be found the cheaper it is to address.

 Users are better at using and reacting than at creating specifications. In the

waterfall model it was common for a user to sign off on a set of requirements but then

when presented with an implemented system to suddenly realize that a given design

lacked some critical features or was too complex. In general most users give much more

useful feedback when they can experience a prototype of the running system rather than

abstractly define what that system should be.

 Prototypes can be usable and can evolve into the completed product. One

approach used in some RAD methods was to build the system as a series of prototypes

that evolve from minimal functionality to moderately useful to the final completed

system. The advantage of this besides the two advantages above was that the users could

get useful business functionality much earlier in the process.[2]

1. Requirements planning phase 

16
combines elements of the system planning and systems analysis phases of

the Systems Development Life Cycle (SDLC). Users, managers, and IT staff

members discuss and agree on business needs, project scope, constraints, and system

requirements. It ends when the team agrees on the key issues and obtains

management authorization to continue.

2. User design phase 

during this phase, users interact with systems analysts and develop models

and prototypes that represent all system processes, inputs, and outputs. The RAD

groups or subgroups typically use a combination of Joint Application

Development (JAD) techniques and CASE tools to translate user needs into working

models. User Design is a continuous interactive process that allows users to

understand, modify, and eventually approve a working model of the system that

meets their needs.

3. Construction phase 

focuses on program and application development task similar to the SDLC. In

RAD, however, users continue to participate and can still suggest changes or

improvements as actual screens or reports are developed. Its tasks are programming

and application development, coding, unit-integration and system testing.

4. Cutover phase –

resembles the final tasks in the SDLC implementation phase, including data

conversion, testing, changeover to the new system, and user training. Compared with

17
traditional methods, the entire process is compressed. As a result, the new system is

built, delivered, and placed in operation much sooner.[7]

advantages of RAD include

 Better quality. By having users interact with evolving prototypes the business

functionality from a RAD project can often be much higher than that achieved via a

waterfall model. The software can be more usable and has a better chance to focus on

business problems that are critical to end users rather than technical problems of interest

to developers. However, this excludes other categories of what are usually known

as Non-functional requirements (AKA constraints or quality attributes) including security

and portability.

 Risk control. Although much of the literature on RAD focuses on speed and

user involvement a critical feature of RAD done correctly is risk mitigation. It's worth

remembering that Boehm initially characterized the spiral model as a risk based

approach. A RAD approach can focus in early on the key risk factors and adjust to them

based on empirical evidence collected in the early part of the process. E.g., the

complexity of prototyping some of the most complex parts of the system.

 More projects completed on time and within budget. By focusing on the

development of incremental units the chances for catastrophic failures that have dogged

large waterfall projects is reduced. In the Waterfall model it was common to come to a

realization after six months or more of analysis and development that required a radical

rethinking of the entire system. With RAD this kind of information can be discovered and

acted upon earlier in the process.[2][9]

18
3.2. STUDY DESIGN

Study design involves various techniques put into consideration to conduct a given study.

Some of the techniques in my study involve the use of Case study, Literature and

journals.

DATA COLLECTION TECHNIQUES

Data collection refers to the various steps and procedures implemented in the retrieval of

the data from all relevant sources so as to find answers to the research problem. Some of

the primary methods used in the collection of data involves: observation method, use of

questionnaires (open ended questionnaires) and also interviews.

Researcher’s main aim was to keenly scrutinize on the best way to see how it could be

possible to make people come together and jointly help each other with their own

assigned tasks. This then made the researcher to engage users-to-be of the system in a

one on one interviews, and also distributed questionnaires to them so as to have them

answered in their own time. This way, conclusions were well and fully informed.

19
1. Conclusion

The conclusions emanating from the findings of this deliberation are suggestive of the

fact that Rapid Application Development has brought about a new dimension in the software

system development. The main points to be noted include the following:

 RAD has successfully achieved the objective of reducing costs on project whilst not

compromising on quality by effective reducing the project time-frame and the number of people

involved in such project.

 It has also been successful in encouraging the involvement of customers in the entire

process of its development lifecycle. This proves advantages in many respects but most

importantly this improves the development process by ensuring full acceptance from the

customer whilst the system is still being created.

 RAD has also demonstrated strength in being able to speed up the development

process by appropriately fusing its methodology, people, management and high tech computer

aided tools.

 RAD has also proven to have challenges. Amongst these challenges are the fact that it

tends to learn too much on emphasizing more on delivery deadline and then compromising on

other features that could have been added if there was not deadline set. Having said all that, it

can be noted that the advantages of RAD outweigh the disadvantages and hence that means

RAD has successfully met its objective to create quality systems, faster and at minimum cost

20
21

You might also like