Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

SRS Print

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

CONTENTS

1. Preface …………………………………………………………………………………………… 02
2. Introduction………………………………………………………………………………………. 03
2.1. Purposes
2.2. Scope
2.3. Organization
2.4. References
3. Glossary …………………………………………………………………………………………. 04
4. User Requirements Definition …………………………………………………………...…... 05-06
4.1. External Interface Requirements
4.1.1. User Interfaces
4.1.2. Hardware and software Interfaces
4.2. Functional Requirements
4.3. Non Functional Requirements
5. System Architecture …………………………………………………………………..……….06-08
5.1. Product perspective and Functions
5.2. System Environment
5.3. User characteristics
5.4. Assumptions and dependencies
6. System Requirements Specification …………………………………………………..………08-11
6.1. External Interface Requirements
6.1.1. User Interfaces – GUI
6.1.2. Hardware and software Interfaces
6.1.3. Communications interfaces
6.2. Functional Requirements
6.3. Non Functional Requirements
6.3.1. performance Requirements
6.3.2. Safety Requirements
6.3.3. Software Quality Attribute
6.3.4. Reliability
6.3.5. Multilingual Support
7. System Models ………………………………………………………………………………...11-22
7.1. Use Cases
7.1.1. UC 1
7.1.2. UC 2
7.1.3. UC 3
7.1.4. UC 4
7.1.5. UC 5
7.1.6. UC 6
7.1.7. UC 7
7.1.8. UC 8
7.1.9. UC 9
7.2. Use Case Diagram
8. System Evolution ……………………………………………………………………………...23-24
Appendix-I ………………………………………….………………………………….………... 25
Alphabetical Index ………………...………………………………………………..…..……….. 26
Index of diagrams ………………………………………………………………………..……… 27
2

1. Preface
The software requirements specification (or SRS) is an official statement of what the system
developers should implement. Both the user requirements for our system and a detailed specification
of the system requirements is included in this document. Actually, in this SRS, the user requirements
are defined as an introduction to the system requirements specification. This document is essential as
we’re acting as outside contractor while developing the software system named Efficiency Monitor.
It is useful to write this supporting document that defines the technical/non-functional requirements
for the system; it is easy to forget the requirements that apply to the system as a whole when focusing
on the functional requirements for the system release.
In short, this Software requirements document will focus mainly on defining the user requirements
and high-level, non-functional system requirements.
Readership
This requirements document has a diverse set of readers, ranging from the senior management of our
organization to the engineers responsible for developing the software. It is primarily aimed that the
customer(s), System analyst, project manager, Designer, Coder, tester, in a word every actor related
to our project will be considered as readers of this document. This SRS document will be presented
to our customers to validate the requirements we discovered while interviewing users and listed in
this document. Designer will use this SRS document as a primary material of his/their designing
process. Coder and tester will use SRS document while working in their sectors to understand what
are they actually going to do. In short, every person related to development and maintenance process
need this document as a primary postulata.
Version History
As this is the introductory version of “Efficiency Monitor” application, there is no previous version
history of this product. In version-1.0 of Efficiency monitor, we’re going to try our best to satisfy all
user requirements we have discovered through our study and interviewing customer and likelier
users [ mentioned in chapter-4 of this document].
In case, user encounter any limitations or laggings while using our product and report us or request
any new appealing features, we’ll introduce an updated version of Efficiency Monitor solving all
limitations and adding requested features or adding features of our own.

System Requirement Specification Document : Efficiency Monitor


3

2. Introduction
2.1. Purpose
The purpose of this document is to present a detailed description of the undertaken Android Project
named Efficiency Monitor. It will explain the purpose and features of the system, the interfaces of
the system, what the system will do, the constraints under which it must operate and how the system
will react to external stimuli. This document is intended for both stakeholders and the developers of
the system.

2.2. Scope
This Android Application will be designed to maximize the user’s productivity by providing tools to
assist him/her to categorize his/her daily tasks according to their perfect priority. Which would
otherwise have to be simply avoided or performed using analog and time-consuming ways such as
pen/paper. By maximizing the user’s work efficiency and productivity the system will meet the user's
needs while remaining easy to understand and use.
More specifically, this system will be designed to give a clear idea to the user about which of his/her
task is should be done at which time to make his/her day more efficient. The app will facilitate its
users by saving their valuable time and will ensure a perfect management of their tasks. It will also
help them decide which task can be eliminated from his to-do list which ensure that their afford
won’t go in vain.

2.3. Organization
This document covers 7 chapters. The next chapter, the glossary section, of this document represents
the general meaning of some technical terms used in this document to make this document customer
friendly. Third section names as User requirement definition describes the services provided for the
user. It also covers the non-functional system requirements. we’ll use natural language, diagrams, or
other notations that are understandable to customers for this description. 4 th chapter titled as system
architecture presents a high-level overview of the anticipated system architecture, showing the
distribution of functions across system modules. This section Also highlights the architectural
components that are reused. In the next chapter System Requirement specification we described the
functional and non-functional requirements in more detail. Graphical system models showing the
relationships between the system components, the system, and its environment is included in Sixth
chapter named System Models. Next chapter titled as System Evolution describes the fundamental
assumptions on which the system is based, and any anticipated changes due to hardware evolution,
changing user needs, and so on. Appendices with detailed, specific information that is related to the
application (Efficiency Monitor) is added after 7th section.

2.4. References
IEEE: IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications,
IEEE Computer Society, 1998.

System Requirement Specification Document : Efficiency Monitor


4

3. Glossary
Android – An operating system designed for mobile devices (i.e. cell phones, tablet computers) by
Google, Inc.
Android device – Any device running Android. In this document, synonymous to “smart phone
running Android.”
DFD (Data Flow Diagram) - A graphical representation that refers the system using functions
performed in the system and data produced by these functions.
Interface - A specification of the attributes and operations associated with a software component.
The interface is used as the means of accessing the component’s functionality.
Maintenance prediction- The process in which project manager try to predict what system changes
might be proposed and what parts of the system are likely to be the most difficult to maintain.
Object Model - A model of a software system that is structured and organized as a set of object
classes and the relationships between these classes.
Object-Oriented (OO) Approach - An approach to software development where the fundamental
abstractions in the system are independent objects.
Reliability - The ability of a system to deliver services as specified. Reliability can be specified
quantitatively as a probability of failure on demand or as the rate of occurrence of failure.
Requirement, functional - A statement of some function or feature that should be implemented in a
system.
Requirement, non-functional - A statement of a constraint or expected behavior that applies to a
system. This constraint may refer to the emergent properties of the software that is being developed
or to the development process.
Sequence Diagram - A diagram that shows the sequence of interactions required to complete some
operation. In the UML, sequence diagrams may be associated with use cases.
Software Requirements Specification - A document that completely describes all of the functions
of a proposed system and the constraints under which it must operate. For example, this document.
Software Architecture - A model of the fundamental structure and organization of a software
system.
Stakeholder - Any person with an interest in the project who is not a developer.
User- Someone who interacts with the android device.
User Interface - The way in which information produced by the system is displayed and the way in
which system users can access system functionality and
Unified Modeling Language (UML) - A graphical language used in object-oriented development
that includes several types of system models that provide different views of a system.
Use Cases- Use cases are a requirements discovery technique that identifies the actors involved in an
interaction and names the type of interaction.

System Requirement Specification Document : Efficiency Monitor


5

4. User Requirements Definition


This section contains all of the functional and quality requirements of the system. Non-functional
requirement also described under this section. It gives a detailed description of the system and all its
features.
To minimize misunderstandings, natural language system is used to describe the user requirements
definition.

4.1. External Interface Requirements


This subsection provides an abstract description of all functional and non functional requirements of
the system. It also gives a description of the software interfaces and provides basic prototypes of the
user interface.
4.1.1. User Interfaces
A first-time user of the mobile application should see a interface containing a title-bar, an empty
progress bar, and three buttons representing ‘Add new task’, ‘Priority game’ and ‘Achievements’
respectively. The title bar contains a menu icon, an empty image area indicating ‘My profile’, page
title and a bell icon indicating ‘Notifications’ from left to right respectively.
A second time or old user will see almost same interface, but the progress bar will show the
percentage of his/her already done tasks. And below the progress bar he/she will see a message
saying the percentage of how much task is completed. The ‘My profile’ icon will be replaced by
his/her previously selected profile image.

4.1.2. Hardware and Software interfaces


As an android based system, android based smart phone is the hardware interface of this system.
There are no specific hardware requirements for the android device is used—only that
1. system must be compatible with any android version.

4.2. Functional Requirements


This section includes the requirements that specify all the fundamental actions of the software
system.
1. System must allow user to add new tasks.
2. System must provide four options while adding new tasks according to tasks’ urgency and
importance.
3. System must show a fine progress bar showing how much tasks are done and also show
the percentage of task done.
4. System must provide a statistical view of category wise tasks and total task vs. task done.
5. System must push notifications for most important tasks.
6. System must show the average amount of task done in monthly manner.
7. System must provide facility to add not only texts as task but also images or pdf.
8. System must display a monthly calender.
9. System must allow adding profile photo and some common personal details.
10. System must contain a quiz type game and give a way to measure performance.
11. System must keep the track of user’s playing history / performance.
Any of those functionalities can be executed by using touch screen of a smart phone.

4.3. Non Functional Requirements


Requirements that are not directly connected to any specific service and may affect overall
architecture of the system are listed under this sub section.
1. System must provide a pleasant and user friendly graphical interface.

System Requirement Specification Document : Efficiency Monitor


6

2. System must provide multilingual advantage, specially Bengali and English.


3. System must response within a few seconds.
4. System must work with relatively long input list.
5. System mustn’t alter the task list automatically.
6. System must restart instantly in case of failure without any data loss.
7. System must be usable to every classes of users even if he/she have literally no technical
knowledge.
8. System must work co-operatively with other key processes without causing any delay.

5. System Architecture
This section will give an overview of the whole system. The system will be explained in its context
to show how the system interacts with user and introduce the basic functionality of it. It will also
describe what functionality is available for stakeholders. At last, the constraints and assumptions for
the system will be presented.
5.1. Product perspective and functions
This system will be a mobile application. The mobile application will be used to add daily tasks
according to their urgency and importance and keep track of the amount of done tasks. This system
also includes a feature called priority game, a quiz game, to ease user boredom. This system have
some other minor functions that’ll be mentioned later in this report. In this subsection we will
develop a block diagram to represent what the main functionalities of our system. The block diagram
is illustrated in figure 5.1.

Imp/ Imp/
urgent notUrgent

Add Task Reminder


NotImp/ NotImp/ Most important task
urgent notUrgent

progress

Q1

Q2 Award
Play priority game acheivements
points

Qn

Edit
photo
Edit
User’s details
Update Info Profile
Badges

Figure-5.1: Block Diagram of Efficiency Monitor


System Requirement Specification Document : Efficiency Monitor
7

5.2. System Environment


While considering the basic functions/features of Efficiency Monitor a sample System Environment
can be imagined before analyzing the requirements in details. The abstract System Environment of
our product is shown in figure-5.2.

Add Tasks

Task List

Priority Game

Achievements
User User

Notifications

Efficiency Monitor

Figure-5.2: An abstract system environment of Efficiency Monitor

After studying the requirements mentioned by user [ listed in section 4], we’ve figured out a basic
logic structure of Efficiency Monitor mobile application. [shown in figure-5.3]. That structure
basically shows the primary activities, actors, features and primary relationships between them. In
general language, logic diagram shows who is doing and what is doing.

User Notifications Sets User

Adds
Task
Views
plays Updates
Calender
Updates

Achivements
Game Profile
Tasklist

Gives

Figure-5.3:Logical Structure of Efficiency Monitor App


System Requirement Specification Document : Efficiency Monitor
8

5.3. User characteristics


There are only single type of user that interacts with the system: users of the mobile application. User
of our android app has some special use of the system for his/her own requirements.
The mobile application users can use the application to keep a track on his/her regular tasks and alter
his/her tasks at any time. This means that the user have to be able to view his/her task lists and add
new tasks at any moment.
For more effective outcome of our solution the user is expected to be android literate and be able to
use all general functionalities of android OS. The user is also expected to be able to use buttons, pull-
down menus, side panes, and similar tools.
5.4. Assumptions and dependencies
One assumption about the application is that it will always be used on mobile phones that have
enough performance. If the phone does not have enough hardware resources available for the
application, for example the users might have allocated them with other applications or user have
very low RAM or ROM space, there may be scenarios where the application does not work as
intended or even at all.

6. System Requirement Specification


Under this headline we’ll describe all the functional and non-functional requirements in details.
6.1. External Interface Requirements
This subsection provides a detailed description of all user interfaces requirements of the system. It
also gives a detail description of the software interfaces.
6.1.1. User Interfaces – GUI
The Efficiency Monitor GUI is a simple designed user interface which loads all the pages that
constitute the basic functions of the program.
The most common features of Efficiency Monitor’s GUI are:
1. Home page: When User opens ‘Efficiency Monitor’ App he/she has home page open in his/her
phone’s screen. This page let the user go to ‘new task’ page to add new tasks his/task lists, view what
he/she already achieved, see the progress of his/her activity and play priority game. This page also
include a title bar that let user view the reminder of most important tasks, go to his/her profile page,
and open menu pane.
2. New Task page: When user taps on ‘add new task’ button, system opens this page. This page let
user add new tasks to his/her task list. There will be four category of task-list, first one let user add
the most urgent and most important tasks, second one lists the important but less urgent tasks, third
one make user able to list his/her important but not urgent works and the fourth category let user list
the tasks that can be delegated from his/her regular target, means the last category is for neither
important nor urgent tasks.
When the user selects any of the four mentioned category to add tasks, he/she will have a new page
opened asking to enter the tasks. System allows user to add task as text or image or PDF format.
System also ask user whether he/she want to add that tasks in reminder list or not.
3. Notification pop up window: When user taps on notification option (bell icon) from the title-bar of
app’s home page system opens a pop-up window that displays a list of the most important tasks of
his/her day that he/she have previously listed.
4. Menu pane: When user taps on menu option, (three dotted icon) menu pane is open. That pane
displays user’s profile image as well as user’s name, which can drive user to app’s profile page. 4
more option is contained by menu pane- calender, which displays user a monthly calender. Settings,

System Requirement Specification Document : Efficiency Monitor


9

which drives user to ‘setting’ page that allows him/her to change app’s language and theme to
preferred one. Credits, which drives user to credits page that displays abstract information about the
developer team. And finally, Exit, by tapping on which user can exit the application.
5. Profile Page: Profile page contains three options. First one (view details) shows the personal
details, second one (Display Picture) shows profile image that user saved previously and contains
options to edit the details and update the avater. The last option ‘Badges’ let user see the badges
he/she already achieved. By tapping on ‘user’s image’ from app’s home page or from menu pane user
will be able to visit ‘profile’ page.
6. Priority game & achievements:The home page of Efficiency monitor app contains a
‘Achievement’ option as mentioned earlier. When user taps on that option a new page titled as
Achievements is open. That page let user see the total amount of collected award points, claim new
badges(Platinum, Golden or Silver) and view a statistical chart of the category wise amount of total
tasks.
When user taps on ‘Priority game’ option from the app’s home page a page titled as ‘priority game’ is
open. That contains a block list where every block is leveled with a story number. Every block drives
user to a new story and quiz list from where user selects the correct ans of the questions. Every
correct answer earn him/her award points.

6.1.2. Hardware and software interfaces


1. Android based smart phone is the hardware interface of this system.
2. System must be compatible with any android version.
6.1.3. Communications interfaces
The communication between the different parts of the system is important since they depend on each
other. However, in what way the communication is achieved is not important for the system and is
therefore handled by the underlying operating systems for the mobile application.

6.2. Functional Requirements


This chapter describes the functional requirements of the application and the features it provides.
System features are described in detail to help the future extension and testing of the system.
While studying the user requirements described under section-4, we figured out some Scenarios for
functional requirements.[will be described in detail under section 7.1]

1. Scenario: Add New Task


Initial Step-By-Step Description:
1.1. The system provides three input formats text, images and PDF for new task.
1.2. User choose a format to add new tasks.
1.3. User inputs his/her desired tasks.
1.4. The system asks whether he/she want to add reminder or not.
1.5. User selects a choice.
1.6. The system shows the updated task list and adds the task to reminder according to user’s
choice.
2. Scenario: View achievements
Initial Step-By-Step Description:
2.1. The system shows a statistical chart of task_done vs. total tasks.
2.2. The System Shows the total amount of collected award points.
2.3. The system shows three types of badges (Platinum, Golden, Silver) that the user can
claim if he/she has required amount of award points.

System Requirement Specification Document : Efficiency Monitor


10

3. Scenario: playing priority game


Initial Step-By-Step Description:
3.1. The System shows a blocked list where every block is leveled with a story number.
3.2. User selects his/her desired story from the list.
3.3. The system opens the story, the story also contains some questions with some answering
option.
3.4. The user selects the correct answer.
3.5. The system gives him/her some award points against his/her right ans.
3.6. The System adds achieved points to his/her total collected points.
4. Scenario: Updating Profile
Initial Step-By-Step Description:
4.1. The system provides two options to update the user’s personal info and upload a profile
image that will give the user a virtual identity.
4.2. User selects Edit information.
4.3. The system shows some information boxes that have to be filled.
4.4. User fills the boxes and press save option.
4.5. User selects Upload profile option.
4.6. The system provides a window that allow him/her upload an image.
4.7. User selects an image and press upload option.
4.7. The User’s profile page is updated according to the given informations and image.
5. Scenario: open menu pane
Initial Step-By-Step Description:
5.1. User taps on menu option from home page to view the menu.
5.2. The system opens a side pane that contains four options.(Calender, Settings, Credits and
exit)
5.3. User taps on menu option again.
5.4. The side pane is closed.
6. Scenario: View monthly calender
Initial Step-By-Step Description:
6.1. User opens menu pane.[Using senator-5]
6.2. User selects calender option from the list.
6.3. The system shows a calender of running month.
7. Scenario: Update Settings
Initial Step-By-Step Description:
7.1. User opens menu pane.[Using senator-5]
7.2. User selects settings option from the list.
7.3. The system provided two option to change theme and language of the app.
7.4. User selects his/her desired theme.
7.5. User selects his/her desired language.
7.6. The system updates the theme and language as selected.
8. Scenario: View Notifications
Initial Step-By-Step Description:
8.1. User taps ‘bell icon’ (indicating notifications) from the title bar of app’s home page.
8.2. The System shows a pop-up window displaying the list of the tasks that the user have
selected to show as reminder.

System Requirement Specification Document : Efficiency Monitor


11

8.3. User views his/her most important task from that window and taps on delete button
associated with that task.
8.5. The system marks that task as done and removes from the reminder list.
9. Scenario: View Credits
Initial Step-By-Step Description:
9.1. User opens menu pane.[Using senator-5]
9.2. User selects Credits option from the list.
9.3. The system shows a window displaying some brief informations about our developer
team.

6.3. Non Functional Requirements


The requirements in this section provide a specification of the user interaction with the software and
measurements placed on the system performance, security and software quality.

6.3.1. Performance Requirements


EFFICIENCY MONITOR is an application that needs a few system resources to work. This is
designed not to delay the system from other key processes. The response time of the program is
direct and the application is considered real-time.
6.3.2. Safety Requirements
The application must ensure that it leaves untouched the inputed list. No modification is allowed to
these files. Moreover, the application should function even in cases of very long task lists and wrong
settings.
6.3.3. Software Quality Attribute
This application provides a pleasant and user friendly graphical interface with relatively simple
functions. Any user should be able to use Efficiency Monitor without any specific knowledge or
experience. Users only need the ability to perform desired action with just a few clicks. It must
response faster.
6.3.4. Reliability
The system must be reliable to users. In case of system failure it must restart instantly without any
data loss.
6.3.5. Multi lingual Support
The system should be language agnostic. English and Bengali should be at least be supported
because these are the the native languages of users.

7. System Models
In this chapter, we’ll develop abstract models of the system to represent different view or perspective
of the system. In another words, we’ll represent the system using some kind of predefined graphical
notation. UML(Unified Model language) will be used for system modeling.
System modeling of our system aims to explain the proposed requirements to other system
stakeholders. we’ll use these models to discuss design proposals and to document the system for
implementation.
The use cases and key diagrams of our system is added as subsection.
7.1. Use Cases
Use Cases help us to identify the actors involved in an interaction and names the type of interaction.
This subsection outlines the Use Cases for our system’s users. Use cases are determined following
the scenarios mentioned in section-6.

System Requirement Specification Document : Efficiency Monitor


12

7.1.1. UC 1
Use Case: Add New Task
Diagram:

Add New Task

User Figure-7.1: UC1

Brief Description:
User adds a new task in his task list according to its importance and urgency.
UC1 : Add new Task
Preconditions:
1. The phone is powered on.
2. ‘Efficiency Monitor’ app is installed.
Main Success Scenario:
1. User taps the ‘All App’ icon from the home screen.
2. System shows app list
3. User taps ‘Efficiency Monitor’ app’s icon from the list.
4. System opens the app.
5. System shows the app’s home page, where ‘+’ signed button indicates Add New Task
operation.
6. User clicks ‘Add New Task’ button from that home screen.
7. System displays ‘New Task’ page, which contains 4 areas that allows user to entry his/her
task in any of that 4 areas according to its priority.
8. User taps on his/her desired task listing area.
9. System shows three input option ‘text’, ‘image’, ‘pdf’.
10. User adds his/her task using any of that three input method.
11. User taps done button.
12. System Prompts whether user want to set notification or no.
13.User taps ‘set reminder’.
14. System Stores the task as the most prior task of today.
15. System prompts whether the user want to save the changes or he/she want to cancel.
16. User taps the ‘Save’ option.
Postcondition:
1. System displays ‘Your Task Has Been Added.’ message.
2. System shows the updated task list.
Alternative Courses:
10a. System is not showing the selected image or pdf.
10a.01. User leaves the application using back button.
10a.02.Resume @3.
13a. Use taps ‘Do not set reminder’ button
13a.01. Jump to @15
16a. User taps ‘cancel’ option.
16a.01. System returns to the previous page.
16a.02. Resume @10.

System Requirement Specification Document : Efficiency Monitor


13

16b. User taps back button accidentally or intentionally.


16b.01. System returns to the previous page.
16b.02. Resume @10.
Exceptions:
1. The user may abandon the operation at any time.

7.1.2. UC 2
Use Case: View Achievements
Diagram:

View
Achievements

User Figure-7.2: UC2

Brief Description:
User views his/her achievements i.e. total collected award points, a chart of his/her category wise
task amount, and claim badges.
UC2 : View Achievements
Preconditions:
1. The phone is powered on
2. ‘Efficiency Monitor’ app is installed.
3. ‘Efficiency Monitor’ App is open.
Main Success Scenario:
1. System displays the home page of Efficiency Monitor App.
2. User taps on the button leveled as ‘Achievements’ from that home screen.
3. System displays ‘Achievement’ page.
4. User Views the chart indicating category wise total task amount and total amount of
collected award points from that page.
5. User taps on ‘platinum badge’ button.
6. System displays Congratulation message for achieving that badge.
7. User taps on ‘golden badge’ button.
8. System displays Congratulation message for achieving that badge.
9. User taps on ‘silver badge’ button.
10. System displays Congratulation message for achieving that badge.
11. User taps back button of his phone.
Postconditions:
1. Achieved badge is added to user’s profile details.
2. System displays the home page of efficiency monitor app.
Alternative Courses:
6a. User is not eligible for platinum badge.
6a.01. System displays a message saying ‘you’re not eligible for platinum badge
collect more award points’.
6a.02. Resume @7.
8a. User is not eligible for golden badge.
8a.01. System displays a message saying ‘you’re not eligible for golden badge collect
more award points’.
8a.02. Resume @9.

System Requirement Specification Document : Efficiency Monitor


14

10a. User is not eligible for platinum badge.


10a.01. System displays a message saying ‘you’re not eligible for silver badge collect
more award points’.
10a.02. Resume @11.
Exceptions:
1. The user may abandon the operation at any time.

7.1.3. UC 3
Use Case: Play Priority Game
Diagram:
Play Priority
Game

User
Figure-7.3: UC3

Brief Description:
User plays a quiz game named ‘Priority Game’ in case of boredom or to spend his/her free time.
Priority Game earns him/her points that are added to his/her award point and help him/her achieve
badges.
UC3 : Play Priority Game
Preconditions:
1. The phone is powered on
2. ‘Efficiency Monitor’ app is installed.
3. ‘Efficiency Monitor’ app is open.
Main Success Scenario:
1. System displays the home page of Efficiency Monitor App.
2. User taps on the ‘Priority Game’ button from the display screen.
3. System displays ‘priority game’ page which contains many rectangular boxes leveled as
‘Story 1’, ‘story 2’…...’Story n’. Every boxes also contains few lines of it’s story.
4. User Taps any of the ‘n’ buttons leveled ‘Story X’. [x indicates the story number]
5. System displays that story in a new window. Below that story, there are few MCQ question
with multiple answer option. [Every question earns the user some points].
6. User reads that story and questions.
7. User selects an answer from the choice list.
8. System shows ‘Right answer’ message.
9. System adds the points to user’s award points.
Postconditions:
1. System displays ‘Congratulations! You earned ___ award point’ message.
Alternative Courses:
8a. The answer is wrong.
8a.01. System displays ‘Wrong answer! Try again’ message.
8a.02. Resume @7.
Exceptions:
1. The User may abandon playing at any time.

7.1.4. UC 4
Use Case: Update Profile
Diagram:

System Requirement Specification Document : Efficiency Monitor


15

Edit personal info

Update
Profile Upload profile image
User
Figure-7.4: UC4

Brief Description:
User views and updates his/her own profile details. Details includes- personal informations, his/her
images, and the badges he/she already earned.

UC4 : Update profile


Preconditions:
1. The phone is powered on
2. ‘Efficiency Monitor’ app is installed.
3. ‘Efficiency Monitor’ app is open.
Main Success Scenario:
1. System displays the home page of ‘Efficiency Monitor’ App.
2. User taps on the ‘My profile’ button from the display screen. [user’s image / an empty
image area indicates ‘My profile’]
3. System displays ‘Profile’ Page which contains three buttons leveled as ‘personal info’,
‘Display picture’ and ‘ Badges’.
4. User taps on ‘Personal Info’ option.
5. System displays user’s personal information in a new window titled as ‘Personal Information’.
6. User taps on ‘Edit’ option.
7. System displays ‘Update Profile’ page which contains few information boxes.
8. User fills all info boxes.
9. User taps on ‘save’ option.
10. System displays ‘Profile Updated’ message.
11. System displays ‘personal Information’ page with updated details.
12. User taps the back button.
13. System returns to ‘Profile’ Page.
14. User taps on ‘Display picture’ option.
15. System displays the user’s image in a new window containing ‘update’ option.
16. User selects ‘Update’ option.
17. System prompts user to upload an image.
18. User selects his desired image.
19. User taps on update option.
20. System displays ‘Profile Image Updated’ message.
21. System returns to ‘Profile’ Page with updated info.
22. User taps on ‘Badges’ option.
23. System displays ‘My Badges’ Page containing a list of earned badges and ‘Play game to
earn new badge’ and ‘OK’ options.
24. User taps on ‘OK’ button.
25. System displays ‘Profile’ page.
Postconditions :

System Requirement Specification Document : Efficiency Monitor


16

1. System updates user’s profile image on ‘profile’ page, under ‘Menu’ option and ‘Home’
page.
2. System Updates user’s general information such as ‘name’ in ‘Menu’ pane as well as on
‘Profile’ page.
Alternative Courses:
4a. User taps ‘Display Picture’.
4a.01. Jump to @14
4b. User Taps ‘Badges’ option.
4b.01. Jump to @22
5a. There is no previously saved information [First time user]
5a.01. System displays ‘Update Profile’ page directly.
5a.02. Resume @8
12a. User needs few more changes and taps Edit button again.
12a.01. Return to @7.
15a. No previously set image. [First time user]
15a.01. System displays a window with an empty image area and ‘update’ option.
15a.02. Jump to @16
20a. Image is not updated
20a.01. Format is not supported
20a.01.01. Return to @16
20a.02. Image size is extra large or very small
20a.02.01. Return to @16
23a. No earned badge list available.
23a.01. System displays empty window with Play game to earn new badge’ and ‘ok’
options.
23a.02. Resume @24.
24a. User taps on ‘play game to earn new badge’ button.
24a.01. System automatically drives to UC3.
Exceptions:
1. The user may abandon the operation at any time.

7.1.5. UC 5
Use Case: View Menu
Diagram:

View
Menu

User
Figure-7.5: UC5

Brief Description:
User visits ‘Menu’ ambit to review ‘Settings’ / ‘Credits’, to view ‘Calender’, or simply to exit the
Application.
UC5 : View Menu
Preconditions:
1. The phone is powered on
2. ‘Efficiency Monitor’ app is installed.
3. ‘Efficiency Monitor’ app is open.

System Requirement Specification Document : Efficiency Monitor


17

Main Success Scenario:


1. System displays the home page of ‘Efficiency Monitor’ App.
2. User taps on ‘Menu’ option from the left upper corner of the home screen. [ ( ≡ ) symbol
indicates menu option.]
3. System displays a side pan containing user’s image, name and four options - ‘Settings’,
‘Calender’, ‘Credits’ and Exist’.
4. User taps back button or ‘≡’ sign.
Postconditions:
1. Side pan is closed. System Displays the home page of Efficiency Monitor Application.
Alternative Course:
4a. User taps on his/her image.
4a.01. System automatically drives to UC4.
4b. User taps on Settings.
4b.01. System automatically drives to UC7.
4c. User taps on ‘Calender’.
4c.01. System automatically drives to UC6.
4d. User Taps on ‘Credits’.
4d.01. System automatically drives to UC9.
4e. User taps on ‘Exit’.
4e.01. System shows app list of user’s phone. [Efficiency Monitor App is closed]
Exceptions:
1. The user may abandon the operation at any time.

7.1.6. UC 6
Use Case: View Calender
Diagram:

View
View Menu Calender

User
Figure-7.6: UC6

Brief Description:
A monthly calender is shown to the user.
UC6 : View Calender
Preconditions:
1. The phone is powered on
2. ‘Efficiency Monitor’ app is installed.
3. ‘Efficiency Monitor’ app is open.
Main Success Scenario:
1. System displays the home page of ‘Efficiency Monitor’ App.
2. User taps on ‘Menu’ option from the left upper corner of the home screen. [ ( ≡ ) symbol
indicates menu option.]
3. System displays a side pane containing user’s image, name and four options - ‘Settings’,
‘Calender’, ‘Credits’ and Exit’.
4. User taps on ‘Calender’.
5. System displays a new window containing the calender of running month.
6. User taps back button or (x) sign.

System Requirement Specification Document : Efficiency Monitor


18

Postconditions:
1. System displays the home page of the application.
Alternative Courses:
5a. ‘Credits’ window is not displayed
5a.01. User taps the back button.
5a.02. System displays the app list of his/her phone.
5a.02.01. System still stays in efficiency monitor app’s page.
5a.02.01.01. User taps menu icon
5a.02.01.02. System displays a side pane containing user’s image,
name and four options - ‘Settings’, ‘Calender’,‘Credits’
and ‘Exit’.
5a.02.01.03. User taps on ‘Exit’ option.
5a.02.01.04. Resume @5a.02.01
5a.03. User taps on ‘Efficiency Monitor’ app icon.
5a.04. Resume @1.
Exceptions:
1. The user may abandon the operation at any time.

7.1.7. UC 7
Use Case: Update Settings
Diagram:

Update
Settings

User
Figure-7.7: UC7

Brief Description:
In order to change his/her app’s language and theme user visits settings option from menu pane.

UC7 : Update Settings


Preconditions:
1. The phone is powered on
2. ‘Efficiency Monitor’ app is installed.
3. ‘Efficiency Monitor’ app is open.
Main Success Scenario:
1. System displays the home page of ‘Efficiency Monitor’ App.
2. User taps on ‘Menu’ option from the left upper corner of the home screen. [ ( ≡ ) symbol
indicates menu option.]
3. System displays a side pane containing user’s image, name and four options - ‘Settings’,
‘Calender’, ‘Credits’ and Exit’.
4. User taps on ‘Settings’.
5. System displays ‘Settings’ page.
6. User taps on ‘language’ option.
7. System displays a list showing the available languages for this app. [in this case, ‘English’
and ‘Bengali’.
8. User taps on ‘English’ leveled check-box.
9. System displays ‘your language settings successfully changed to English’ message.

System Requirement Specification Document : Efficiency Monitor


19

10. User taps back button of his/her phone.


11. System displays ‘Settings’ page.
12. User taps on ‘Themes’ option.
13. System displays a list showing the available Themes for this app. [in this case, ‘Light’
and ‘Dark’.]
14. User taps on ‘Light’ leveled check-box.
15. System displays ‘your theme successfully changed to light’ message.
16. User taps back button of his/her phone.
17. System displays ‘Settings’ page.
18. User taps back button of his/her phone.
Postconditions:
1. App’s language changes to selected one.
2. App’s theme changes to selected theme.
3. System displays home page of efficiency monitor app.

Alternative Courses:
8a. User taps on ‘Bengali’ leveled check-box.
8a.01. System displays ‘your app’s language successfully changed to Bengali’
message.
8a.02. Resume @10.
14a. User taps on ‘Dark’ leveled check-box.
14a.01. System displays ‘your app’s theme successfully changed to dark’ message.
14a.02. Resume @16.
Exceptions:
1. The user may abandon the operation at any time.

7.1.8. UC 8
Use Case: Notifications
Diagram:

Notifications

User
Figure-7.8: UC8
Brief Description:
User
UC8 : Notifications
Preconditions:
1. The phone is powered on
2. ‘Efficiency Monitor’ App is installed.
3. Efficiency Monitor App is pen.
Main Success Scenario:
1. System displays the home page of ‘Efficiency Monitor’ App.
2. User taps on ‘Notification’ option from the left upper corner of the home screen. [Bell icon
indicates notification option.]
3. System displays a pop up window showing a list of the most important tasks of the day.
4. User selects the task that he/she have completed.

System Requirement Specification Document : Efficiency Monitor


20

5. User taps ‘delete’ button associated with that selected tasks.


6. System removes the task from the list.
4. User taps back button.
Postconditions:
1. System displays the home page of the application.
Alternative Courses:
3a. No reminder is set.
3a.01. System displays a pop up window saying, user didn’t set reminder to any task.
3a.02.Resume @4
4a. No pop up window displayed
4a.01. User taps the back button.
4a.02. System displays the app list of his/her phone.
4a.02.01. System still stays in efficiency monitor app’s page.
4a.02.01.01. User taps menu icon
4a.02.01.02. System displays a side pane containing user’s image,
name and four options - ‘Settings’, ‘Calender’,‘Credits’
and ‘Exit’.
4a.02.01.03. User taps on ‘Exit’ option.
4a.02.01.04. Resume @4a.02.01
4a.03. User taps on ‘Efficiency Monitor’ app icon.
4a.04. Resume @1.
Exceptions:
1. The user may abandon the operation at any time.

7.1.9. UC 9
Use Case: View Credits
Diagram:

View Menu View Credits

User
Figure-7.9: UC9

Brief Description:
System displays who were behind the successful development process.

UC 9 : View Credits
Preconditions:
1. The phone is powered on
2. ‘Efficiency Monitor’ app is installed.
3. ‘Efficiency Monitor’ app is open.
Main Success Scenario:
1. System displays the home page of ‘Efficiency Monitor’ App.
2. User taps on ‘Menu’ option from the left upper corner of the home screen. [ ( ≡ ) symbol
indicates menu option.]
3. System displays a side pane containing user’s image, name and four options - ‘Settings’,
‘Calender’, ‘Credits’ and Exit’.
4. User taps on ‘Credits’ option.

System Requirement Specification Document : Efficiency Monitor


21

5. System displays a new window titled as ‘Credits’ which contains abstract information of
our developer team.
6. User taps back button or (x) sign.
Postconditions:
1. System displays the home page of the application.
Alternative Courses:
5a. ‘Credits’ window is not displayed
5a.01. User taps the back button.
5a.02. System displays the app list of his/her phone.
5a.02.01. System still stays in efficiency monitor app’s page.
5a.02.01.01. User taps menu icon
5a.02.01.02. System displays a side pane containing user’s image,
name and four options - ‘Settings’, ‘Calender’,‘Credits’
and ‘Exit’.
5a.02.01.03. User taps on ‘Exit’ option.
5a.02.01.04. Resume @5a.02.01
5a.03. User taps on ‘Efficiency Monitor’ app icon.
5a.04. Resume @1.

Exceptions:
1. The user may abandon the process at any time.

7.1. Use Case Diagram


An use case diagram is a representation of a user’s interaction with the system that shows the
relationship between the user and different use cases in which the user is involved. It is important to
understand the overall system and to support detailed designing of any system. UML use case
diagrams is actually a set of use cases representing all of the possible interactions that are described
in the system requirements (section 6). The use case diagram of the proposed system is given in
figure-7.1.

System Requirement Specification Document : Efficiency Monitor


22

Efficiency Monitor App

Display task list

<<include>>

Add new task


<<Extend>> Set Notifications
<<Extend>>

Play priority game


Claim Badges View Acheivements
<<include>>
<<include>>
<<include>>

View Award Points


<<Extend>>
User Update Settings Change
themes

<<Extend>>
Change
language
Update profile info

Edit personal information


<<Extend>>
Upload profile image Edit personal info

<<Extend>>

Upload profile image

View Menu <<include>>


View Calender

Figure-7.10 : Use Case diagram of ‘Efficiency Monitor’ Application.

As we are following object oriented approach (OOP) to develop our system, DFD(Data Flow
Diagram)s can be avoided easily. But for a better understanding DFDs may be proved essential in
some rare cases. Hence, we attached the DFDs of our Efficiency Monitor App in Appendix-I.

System Requirement Specification Document : Efficiency Monitor


23

8. System Evolution
We made some fundamental assumptions to show this project the light of day. In this section we
describe those fundamental assumptions on which the system is based, and any anticipated changes
due to hardware/software evolution, changing user needs, and so on.
Our software development process does not stop when the system is delivered but continues
throughout the lifetime of the system. After we deploy our application, Parts of the app may have to
be modified to correct errors that are found in operation, to adapt it for changes to its hardware and
software platform, and to improve its performance or other non-functional characteristics. As our
product is completely our organization based, means software customer might not issuing another
contract for system support and evolution, we have really a big deal with evolution process. The
evolution process includes the fundamental activities of change analysis, release planning, system
implementation, and releasing a system to customers.
We figured out some of problems that can be arose after deployment and have to be tackled with
urgently. We also made some assumption that can be the reason behind that problems. Table-I shows
a list of those reasons.

Table-I : Potential reasons that can cause severe problems during evolution process

SN. Reasons that can drive us make urgent changes


1. User can encounter serious system fault that has to repair instantly to continue normal operation of our
application.

2. The system’s operating environment can be changed and that will surely disrupt normal operation.
[ For example: if a completely new android version is released our system may not work with that
system.]
3. The plan-driven approach we are following can be proved inappropriate while maintenance and
evolution time is running. Then, we’ll have to change our currently followed approach to agile-
approach. And start from scratch while planning the second version.

Table-II : Maintenance Predictions

SN. Assumptions Re engineering Technique


1. Interface changes will be required as new requirements are Source code translation
proposed.
2. Some volatile requirements can be changed. Program structure improvement
3. As an introducing version, a healthy number of bug and failure
reports may be encountered.
Program modularization
4. User can request changes in related parts/some specific parts of the
application instead of whole interface.[i.e. more languages support]

[Description of technical parameter used in table-II:


source code translation- Using a translation tool, the program is converted from an old programming
language to a more modern version of the same language or to a different language.
Program structure improvement - The control structure of the program is analyzed and modified to
make it easier to read and understand. This can be partially automated but some manual intervention
is usually required.

System Requirement Specification Document : Efficiency Monitor


24

Program modularization- A manual process in which related parts of the program are grouped
together and, where appropriate, redundancy is removed, functions updated. In some cases, this stage
may involve architectural refactoring.]

In case, any of those situation arises, we need a perfect plan to tackle the situation. That planning
process is called Maintenance prediction in engineer’s tongue. Maintenance prediction of our system
is shown in Table-II.
As the process of software evolution is driven by customer’s request for change in deployed product
we are badly dependent on customer’s feedback for this process. This section gives a simple abstract
assumption of this process.

System Requirement Specification Document : Efficiency Monitor


25

Appendix-I

DFD (Data Flow Diagram) helps us understand the how the data is flowing across the system and
what is the relation between the functions of the system.
Level 0 DFD and Level 1 DFD of Efficiency Monitor are shown in figure-9.1 and figure-9.2
respectively.

Level-0 DFD (Context Diagram):

Add Tasks Push Notifications

Play Game
User Efficiency Monitor User
Give Personal
Information Show Task list

Give Award Points


Update Settings
Show Calender Show Profile

Figure-9.1: Level 0 DFD of Efficiency Monitor

Level-1 DFD:
3

Update Profile
Info

User Profile Info

4
5 Show
1 Profile
Update
6
Add new Settings
Language
8 Task & View
Themes change Calender
Play Game Task
7
Notification
Task Completion
2 Push
Notification
Award points Show Task
list

Categorized Task lists User


9

Achivements

Figure-9.2: Level 1 DFD of Efficiency Monitor App


System Requirement Specification Document : Efficiency Monitor
26

Alphabetical Index
A Maintenance- 2, 4, 23, 24
abstract- 4, 5, 7, 9, 11, 20, 24
add- 5, 6, 8, 9, 10, 11, 12, 13, 14 N
activity- 8 natural language- 3, 5
alternative- 12, 13, 14, 16, 17, 18, 19, 20, 21
android- 3, 4, 5, 8, 9, 24 O
app- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 19, object – 4, 22
20, 22, 23, 25 object-oriented approach- 4, 22
architecture- 3, 4, 5, 6
P
B product- 2, 3, 6, 7, 23, 24
block diagram- 6 project- 2, 3, 4, 23
process- 2, 4, 6, 11, 20, 21, 23, 24
C
case- 3, 4, 6, 11, 19, 23, 24 Q
communication- 9 quality- 5, 11
context- 6
customer- 2, 3, 23, 24 R
reliability- 4, 11
D requirements- 2, 3, 4, 5, 7, 8, 11, 21, 23
development- 2, 4, 20, 23
deployment- 23 S
design- 2, 3, 4, 11, 21 safety- 11
document- 2, 3, 4, 11 software- 2, 4, 5, 9, 11, 23, 24
specification- 2, 3, 4, 8, 11
E stakeholders- 3, 6, 11
efficiency- 2, 3, 7, 8, 9, 11, 12, 13, 14, 15, 16, system- 2 , 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
17, 18, 19, 20, 21, 25 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
exceptions- 13, 14, 16, 17, 18, 19, 20, 21 system evolution- 3, 23

F T
functional requirements- 2, 3, 5, 8, 9, 11 task- 3, 5, 6, 8, 9, 11, 12, 13, 20

G U
graphical- 3, 4, 5, 11 UML- 4, 11, 21
user- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
I 15, 16, 17, 18, 19, 20, 21, 23
implementation- 11, 23 use cases- 4, 11, 12, 13, 14, 16, 17, 18, 19
input- 6, 9, 11, 12 20, 21
interaction- 4, 11, 21 use Case Diagram- 21, 22
interfaces- 3, 4, 5, 8, 9, 11, 23
V
M version- 2, 5, 9, 23
models- 3, 4, 11 view- 3, 4, 5, 6, 8, 9, 10, 11, 13, 15, 16, 17, 20

System Requirement Specification Document : Efficiency Monitor


27

Index of diagrams

Figure-5.1: Block Diagram of our System - 06


Figure-5.2: An abstract system environment of Efficiency Monitor - 07
Figure-5.3: Logical Structure of efficiency monitor - 07
Figure-7.1: UC 1 - 12
Figure-7.2: UC 2 - 13
Figure-7.3: UC 3 - 14
Figure-7.4: UC 4 - 15
Figure-7.5: UC 5 - 16
Figure-7.6: UC 6 - 17
Figure-7.7: UC 7 - 18
Figure-7.8: UC 8 - 19
Figure-7.9: UC 9 - 20
Figure-7.10: Use case diagram of Efficiency Monitor - 22
Figure-9.1: Level 0 DFD of Efficiency Monitor - 25
Figure-9.2: Level 1 DFD of Efficiency Monitor - 25

System Requirement Specification Document : Efficiency Monitor

You might also like