“iCan” Scheduler
Requirements Document
By Team iCan.
(Kevin Kang, Negar Shojaian, Matthew Akkerman)
INTRODUCTION:
The iCan software is an iPhone application that provides an efficient schedule for
people to adjust their tasks to meet their obligations. This software will allow users
to receive greatest returns and overcome work overload.
The goal of this software is to enhance time management, to minimize wasted time,
to reduce physical and mental tiredness, and to reduce stress levels. At the end of the
day, the program will ask for some feedback to see if any changes to the schedule are
needed. In addition, the system keeps track of the user’s tiredness to make sure the
user can “keep up” with the schedule.
Finally, the iCan scheduler comes with a database for users to store their profiles and
schedule information. Other users may download these schedules to their iPhone.
Audience:
The iCan application is an easy to use scheduler that would benefit just about
everyone. However, to be more specific, the following groups of people would find
this application especially useful:
People who cannot manage their time and frequently find themselves running
out of time
University and college students who have a hard time following their study and
class schedule, let alone make one
People who feel that their days could be more productive and efficient
People who require time to be dedicated toward fulfilling both long and
short-term goals
Parents who feel overwhelmed by the list of things to be done
People in the workforce who have deadlines to meet and projects that need to
be finished
People with too much time on their hands who feel that they could spend their
time more wisely and productively
Experience
Using computers and cell phones
Basic knowledge of the iPhone such as texting and the ability to use the basic
GUI(Graphical User Interface) fundamentals
Expertise
Users must be able to read and understand the English language since the
application is implemented in English.
Goals
The iCan is for people who desire to achieve the following:
Control and manage time
Increasing productivity and efficiency
Decrease wasted time
Decrease overload work
Meet both long and short-term goals
Features:
Adviser - the application will advise to the user if any breaks are needed. For example,
if the level of tiredness is high, the adviser will suggest that the user should sleep
more that day. When entering a leisure task, the software will give advice about a
leisure task according to the tiredness level. For example, a user who is feeling
exhausted might want to watch TV rather than go for a bike ride.
Auto Manage – to add a task, provide the name of the task, its duration and what
time(s) it should be scheduled in. The scheduler will then arrange the task
automatically. If the tiredness is included, the software will try to even out the total
tiredness value for each day.
Online Sharing - users will be able to upload their schedule with their profile trough
internet. The user will be able to download schedules from other iCan peers.
Personal Info - the application will allow the user to input personal information such
as name, age, e-mail address and endurance. The user is able to give feedback each
day with the tiredness value he/she felt for the day. The software will adjust the
user's endurance.
Functional Requirements:
Interface
1. The software shall have a GUI (Graphical User Interface) in the form of a
schedule.
2. The software shall be able to add/delete/move tasks.
Database
3. Each task shall should contain the task name (string), location (string), time
(integer), length (integer), and tiredness (integer).
4. The software shall be able to store the schedule in memory.
5. The software shall allow the user to create/edit their profile.
6. The software shall contain an updatable database with a list of advice.
7. The software shall be able to store a user profile.
8. The user profile shall contain user’s name (String), age (integer), and email
(String)
Functionality
9. The software shall be able to add and delete tasks.
10. When adding a task, if the task has a time conflict with another task, the
software shall be able to delay the task time until there is no conflict.
11. The software shall be able to export the schedule as a single .plist file.
12. The software shall be able to import a .plist file that contains schedule
information.
Non-Functional Requirements:
Speed
1. The program takes an insignificant time to load.
2. User profiles with image at the beginning of the application will be
loaded in a minimal time.
3. Operations such as arranging schedules and hitting a key will have
small waiting times.
Size
4. The size of the file should be less than 3 MB without the user profile
and schedule data.
5. The whole program size including images, user account profiles, and
schedules should be below 5 MB.
Ease of Use
6. The user needs to have basic computer skills and cell phone usage
knowledge.
7. The interface should be straightforward and all the features will be
fast and simple to use (within 5 actions). Consequently, there will be
nothing complicated about software since it is intuitive.
Reliability
8. The iCan Scheduler will be run on the iPhone and the iTouch.
9. The iCan will be iTunes is accessible.
10. The application can be downloaded and it will be always available on
the the iPhone/iTouch.
11. No Internet access is required for using this software if the user is not
using the "Online Sharing" feature.
12. The application will take care of the exceptions (will not crash) and
errors properly by displaying an error message. The user will be able
to fix the problem himself/herself within 10 actions.
Robustness
14. The program shall not crash under normal conditions.
15. Time to restart after failure: less than 5 seconds.
16. Percentage of events causing failure: 0%.
17. Probability of data corruption on failure: 4%.
18. Probability of data corruption via user tampering: 20%.
Portability
19. The iCan Scheduler is to be run on the iPhone OS or OS X iPhone.
Tutorial 1:
Create Your Profile
1) The iCan will then ask the user to insert basic information
2) The application will then go to the home screen
Tutorial 2:
Add a Task
1) The user will be asked to provide more specific information regarding the task such
as the name of the task, its priority, and what days and times it should be scheduled
into.
Note: To delete a task, simply highlight it in the general “Add a task” screen (shown in
step 1.
Tutorial 3:
Rearrange tasks to make a less tiring schedule
1) When in schedule page, tab on the Rearrange bottom. It will make
you tasks more apart and shows the total tiredness of the day.
Tutorial 4:
View Profile
1) When viewing the schedule, the user can press the “View Profile” button to see
profile information.
Note: the user can view scheduler advice from this page
Tutorial 5:
Download a schedule
1) From the iCan Scheduler page, click “Download”. The application will connect to a
website where schedules can easily be downloaded.
Download a Schedule
Name User’s Physical
Endurance
User’s Mental
Endurance
LazyBoy’s 20 40
Schedule
Jill’s Schedule 50 70
Workaholic’s 30 90
Schedule
Back Download
Glossary
Task – A piece of information that represents an activity in the schedule. Information will
include the task name, time and date, deadline, length of time, priority, physical tiredness
and mental tiredness.
Schedule - A list of tasks.
Tiredness – A value that indicates the level of tiredness caused by tasks. This value will be
given to each task and will also be stored as a state of the user.
Endurance – Helps the scheduler in making a schedule that the user will be able to follow
Upload – A function that will allow the user to share their schedule trough the Internet.
Download – A function that will allow the user to use and store other users’ schedule trough
the Internet.