Professional Documents
Culture Documents
SRS - Sample - 02 - Mobile Clicker
SRS - Sample - 02 - Mobile Clicker
Version 1.12
Prepared by
Ahmad Al-Toukhy
Amir Ahmed
Ahmad Ashkanani
Kuwait University
College of Engineering and Petroleum
Computer Engineering Department
2. Overall Description 1
3. Specific Requirements 3
3.1 Functionality 3
3.2 Usability 10
3.3 Reliability 10
3.4 Performance 11
3.5 Security 11
3.6 Safety 11
3.7 Design Constraints 11
4. Supporting Information 13
Software Requirements Specification
1. Introduction
1.1 Purpose
This document will fully describe all the functional and nonfunctional requirements, design constraints,
and other factors necessary to provide a complete and comprehensive description of the requirements
for the Mobile Clicker Project. It will also describe the external behavior of the Mobile Clicker
Application.
1.2 Scope
The Mobile Clicker Application is a two-part project. The first part is a Java-based PC application that
is used by the instructor to take the attendance of the students registered in the class by discovering
their Bluetooth mobile devices. It is also used in asking any type of questions for the whole class like
surveys. The second part is a Java-based mobile application that is used by the student to answer the
question or the survey that the instructor may spread using the PC application.
1.4 References
1- SRS template, 2008-05-10, Computer Engineering department, Kuwait University.
1.5 Overview
The rest of this document contains the following in the mentioned order:
1- Overall description of the project and its requirements.
2- Specific requirements for the project including the functionality, usability, reliability, performance,
security, safety, design constraints, and copy right and intellectual properties.
3- Supporting information in order to understand the project including diagrams that represent the
system.
2. Overall Description
This product is used mostly in Universities to provide some kind of interaction between the instructor
and the student. The product would be responsible for taking the attendance and store it in an
embedded database using the Bluetooth device of the instructor’s laptop. It requires the students to
activate the Bluetooth feature on their mobile devices.
The product has a social risk, which is that the students may have the ability to chat and share files,
images, videos, and sound clips since they will have to open their Bluetooth devices of their mobile
phones. This may affect their understanding of the material and their concentration with the instructor.
The users of the product are the instructor and the student. The instructor should have a laptop and
should have the basic skills to deal with it, open programs, open, and close the Bluetooth device of his
laptop.
The student should have a mobile with a Bluetooth device in it. He should have the ability to use his
1
mobile, install programs, open and close the Bluetooth device of his mobile. The product may be used
in every lecture by the instructor and the student.
Since the system has two main functions, the following two block diagrams interprets every function of
the them.
1- Block diagram for the attendance feature using Bluetooth device discovery:
Mobile clicker
application
10 M
Figure 1
2- Block diagram for sending and receiving data between the laptop and the mobile:
Mobile Clicker
application Sending data to mobile device
Figure 2
2
3. Specific Requirements
3.1 Functionality
This feature is considered as one of the main benefits that Mobile Clicker system provides. It is a high
priority feature and it is implemented in a way that it can either be automated or manually taken care
of. In the automatic mode the system will take care of monitoring the attendance process by checking
the mobile phones within the Bluetooth device range. In the manual mode the instructor is capable of
adding any student to the attendance list manually and without using any Bluetooth resources.
B. Stimulus/Response Sequences
For Automatic mode, the user should press Start button in the main screen of the laptop application.
Then a Bluetooth discovery agent will look for nearby devices and register any student within the
range. For Manual mode, the instructor should press the Manual button and choose the student’s name,
from the students list, and his status (tardy, absent or present).
State Machine:
Dataflow diagram:
C. Functional Requirements
In order for the automatic mode to work, a compatible Bluetooth interface must be
installed on both the laptop and the mobile phone.
Preconditions: The Bluetooth device must be turned ON in both the laptop and the
3
mobile phone. The mobile phone Bluetooth address should be provided on the
laptop before using the automatic mode.
Postcondition: The attendance list is updated with the latest student names and their
status whether it is absent, tardy, or present and saved in the database.
This feature provides the instructor with more control over the class in terms of measuring the
understandability of the students. It’s considered as a high priority feature. A grade could be assigned
for the correct answer to each question and the student's “Grade” will be updated according to his
response.
B. Stimulus/Response Sequences
The instructor types the question in the “Question Text Area” and then he could either provide a
timeout for collecting the responses from the students or keep the time indefinite until he presses
“Stop” manually. In the first case, the instructor presses the “Send” button and then waits for certain
period of time determined by the timeout he provided. Then after the timeout elapses, a statistical graph
will show the results on a pie chart. The difference in the second case lies in the lack of a timeout.
Instead of providing a timeout, the instructor will control the process and decide when to stop receiving
responses from the students. If the question was provided with a grade, the system will update the
student’s record with the new grade according to whether the student answered correctly or not.
State Machine:
Awaiting
Press “Send” Button [Timeout exists] Question
Press “Send” Button [No timeout]
Saving Students
Grades
4
Dataflow Diagram:
Database
Students’ scores
Formatted answers
[Statistical Data]
Laptop User Receive
Answers
Answers
Questions
Send Question Target mobile
Formatted questions
[Bluetooth Message]
C. Functional Requirements
The question will be sent to the students currently registered in the attendance list.
Preconditions: The Bluetooth device must be turned ON in both the laptop and the
mobile phone. In order for the student’s response to be counted for, the student
must respond before the timeout or before the instructor presses the “Stop” button.
Postconditions: A statistical model is drawn on the main screen with the responses
for the question. The student grade will be updated if the question was provided with
a grade.
Using this feature, the instructor will be able to create, edit, or delete students’ data. It is considered as
a medium priority feature.
B. Stimulus/Response Sequences
To create a new student data, the instructor will press “New” button under the “Student Panel”. When
he presses the new button, a message will appear asking the instructor to input the number of student
records he wants to create. After that a table with three columns will show up. A unique “Student ID”
field will be inputted in the first column to identify the student. The second column contains a field for
the student’s name. The third column contains a field for storing the student’s mobile phone Bluetooth
address. After inputting all the data, the instructor will press “Add Students” button to save the new
records in the database.
For updating or deleting student information, the instructor will press “Update” button under the
student’s panel. A new panel containing all the students in the class will show up and the instructor will
be able to modify any student information. After finishing the update process the instructor will press
the “Save Changes” button to save the updated records in the database. If the instructor wishes to delete
a student’s record he must highlight the student name and press the delete button.
5
State Machine:
Idle
Press “New” Button Press “Update” Button
Saving Student’s
data in database
Dataflow Diagram:
Database
Students’ data
Students’ data
Laptop User Add Student
Students’ data
Student’s data
Update Student
data Student ID
Student ID
Delete Student
C. Functional Requirements
Figure 8: Dataflow Diagram
6
3.1.4 Edit Course information
Using this feature, the instructor will be able to create or delete a course from the database. It is
considered as a medium priority feature.
B. Stimulus/Response Sequences
To create a new course data, the instructor will press “New Course” button under the “Startup Screen”.
When he presses the button a form will appear asking the instructor to input the course information.
After inputting all the data, the instructor will press “Add Course” button to save the new record in the
database.
For deleting a course, the instructor will press “Delete” button under the startup screen panel. The
course will be deleted from the database.
State Machine:
Idle
Press “New Course” Button Press “Delete” button
Saving Course
data in database
Dataflow Diagram:
Database
Course data
Course selection
Laptop User Add Course
Course ID
Course selection Delete Course
7
Figure 10: Dataflow Diagram
C. Functional Requirements
The course data will be saved in the database.
Preconditions: For deleting a course from the database, the course record must be
available at the database. For creating a new course, the provided course id must be
unique.
Postconditions: The database will either contain a new record or have an old
recorded been updated.
Using this feature the student will be able to receive his attendance and score records on his mobile
phone. It’s considered as a low priority feature.
B. Stimulus/Response Sequences
The student will open the mobile application and wait for the records data to be received from the
laptop.
State Machine:
Awaiting state
Data is printed on
mobile screen
Dataflow Diagram:
Student information
Laptop Send Bluetooth message Mobile phone
Attendance and
Score records
Attendance records
8
C. Functional Requirements
In order for this feature to work, a compatible Bluetooth interface must be installed
on both the laptop and the mobile phone.
Preconditions: The Bluetooth device must be turned ON on both the laptop and the
mobile phone.
Postcondition: The mobile phone receives and prints the attendance and score
records on the mobile phone screen.
Using this feature the instructor will be able to send a question to the student and the student will be
able receive it from the laptop using his mobile phone. This feature is considered as a high priority
feature.
B. Stimulus/Response Sequences
When the “sending question” feature is used by the instructor, the laptop will call this feature. Upon
calling it, the laptop will start a Bluetooth connection with the mobile phone and start sending the data.
When the student responds, the mobile phone will send back the response using another Bluetooth
connection.
State Machine:
Idle
Implicit call made by the laptop
Finished receiving the response
9
Dataflow Diagram:
Text data
Laptop Send Text data
Text data
Bluetooth message Receive text
data
C. Functional Requirements
In order for this feature to work, a compatible Bluetooth interface must be installed
on both the laptop and the mobile phone.
Preconditions: The Bluetooth device must be turned ON on both the laptop and the
mobile phone.
Postcondition: Both the mobile phone and the laptop receive text data.
3.2 Usability
3.3 Reliability
Availability: 99.99 %.
Average hours of use: 3 hours per week.
Mean Time Between Failures (MTBF): 30 days.
Mean Time To Repair (MTTR): 1 hour.
Accuracy: 100%.
o The system shall accurately calculate the score of any student (mobile user).
o The system shall not mistake or swap the scores of one student (mobile user)
with another.
Bugs:
10
Critical:
Complete loss of data.
Significant:
System failure.
3.4 Performance
3.5 Security
The following is a list of security requirements that indicate how the system shall protect itself
and its sensitive data and communications from accidental, malicious, or unauthorized
access, use, modification, or destruction.
The system shall not allow Bluetooth addresses of unauthorized Bluetooth devices to be
stored into the system’s repository.
The system shall not permit unauthorized Bluetooth devices to access or participate in
any activity started by the server (laptop) user.
The system shall not allow confidential data stored in the system’s database to be
accessed, whether directly or indirectly, by client (mobile) users.
The system shall force the laptop user to confirm any data deletion to prevent any
accidental erasure of sensitive data.
3.6 Safety
The following is a list of the safety requirements to indicate how the system shall prevent any
possible threat to human lives.
The system’s Bluetooth technology shall not cause any side-effects or physical harm
(directly or indirectly) to users of the system.
11
Components and class libraries: The library “derby.jar” shall be used as a driver for
the server-to-database connection. The library “chart.jar” shall be used as an external
component to generate the statistical pie chart that is viewed by the server. The
library “bluecove 2.0.2” shall be used to allow the server program to access the
Bluetooth stack and connect to clients through Bluetooth connections.
Energy consumption: For most laptops, the average voltage required for operation
ranges from 18V to 24V, and the average current required for operation ranges from
1.5A to 3.5A, thus leading to an average power consumption of 55.5 Watts. The
energy used by the mobile phones is drawn from battery power, so assuming that the
energy consumed by the phone during one lecture is approximately ¼ of full battery
power (with Bluetooth activated) then the average power required by the phone is 1.8
Watts (current: 350mA~400mA, voltage: 3.5V~5.5V). Therefore, for a class of 40
students and one instructor, the total average power consumed in one lecture is:
PW = (55.5) + (40)*(1.8) = 127.5 Watts
Operating environment temperature and humidity: The system shall be functional in
both indoor and outdoor environments, even though the system will mostly be used in
interior classrooms under optimum temperatures (20~25°C) and humidity (30~40%).
Standards: The server program shall be able to work under Windows XP, Windows
Vista, Linux, and the Mac OSX operating systems. The server requires that the Java
1.5 (or above) Runtime Environment be installed on the laptop. The laptop hardware
specifications must meet the minimum requirements of 1.0 GHz CPU speed, 256 MB
of RAM, and at least 10 MB of hard disk space for database storage. The client
program shall be able to function on all mobile phones that have the Java Runtime
Environment installed.
Legal Constraints: The only authority that must approve the installation of the system
is the services department of the educational organization (or any equivalent
division).
Economic: There is a cost of about $350 per class for the laptop, and a cost of about
$100 per mobile for each student. The system will be released as open source
software, therefore there is no profit.
Sustainability: The system is expected to live for at 10 least years or until a new
version is released to replace it.
12
4. Supporting Information
4.1 Use Case diagram for the Laptop User
User
Sending questions/
receiving responses
Edit course
information
Taking
Edit student attendance
information
13
User
14
Run application
OK OK
Clicked Clicked
“Select”[Bluetooth OFF] “Select”[Bluetooth ON]
Checking
A
Bluetooth status
Clicked
“Remove”
Clicked
Clicked
“Remove”
“Update”
Clicked
“Manual” Clicked
“Manual”
Clicked
“Update” Click “Start”
Select
Student
student to
added
add Adding nearby Sending question
mobiles to list to all mobiles
Adding to student Finish task
15
4.4 Data Flow Diagram
Discovered address
Add student to list of mobile
Attendance Target Mobile
Remove Student
student selection
from list
Laptop User
Formatted answers
16