Você está na página 1de 19

Software Requirements Specification For Mobile Clicker

Version 1.12 Prepared by Ahmad Al-Toukhy Amir Ahmed Ahmad Ashkanani Kuwait University College of Engineering and Petroleum Computer Engineering Department Date created 8-May-08

Table of Contents
1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms and Abbreviations 1.4 References 1.5 Overview 2. Overall Description 1 1 1 1 1 1 1

3. Specific Requirements 3 3.1 Functionality 3 In order for the automatic mode to work, a compatible Bluetooth interface must be installed on both the laptop and the mobile phone. 4 Preconditions: The Bluetooth device must be turned ON in both the laptop and the mobile phone. The mobile phone Bluetooth address should be provided on the laptop before using the automatic mode. 4 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. 4 The question will be sent to the students currently registered in the attendance list. 5 Preconditions: The Bluetooth device must be turned ON in both the laptop and the mobile phone. In order for the students response to be counted for, the student must respond before the timeout or before the instructor presses the Stop button. 5 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. 5 The student data will be updated in the database. 7 Preconditions: For updating student information, or deleting a student from the database, the student record must be available at the database. For creating a new student, the provided student id must be unique and valid. 7 Postconditions: The database will either contain a new record or have an old record be update or deleted. 7 The course data will be saved in the database. 8 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. 8 Postconditions: The database will either contain a new record or have an old recorded been updated. 8 In order for this feature to work, a compatible Bluetooth interface must be installed on both the laptop and the mobile phone. 9 Preconditions: The Bluetooth device must be turned ON on both the laptop and the mobile phone. 9 Postcondition: The mobile phone receives and prints the attendance and score records on the mobile phone screen. 9 In order for this feature to work, a compatible Bluetooth interface must be installed on both the laptop and the mobile phone. 10 Preconditions: The Bluetooth device must be turned ON on both the laptop and the mobile phone. 10 Postcondition: Both the mobile phone and the laptop receive text data. 10 3.2 Usability 10 3.3 Reliability 11 The system shall accurately calculate the score of any student (mobile user). 11 The system shall not mistake or swap the scores of one student (mobile user) with another. 11 3.4 Performance 11 3.5 Security 11 The system shall not allow Bluetooth addresses of unauthorized Bluetooth devices to be stored into the systems repository. 11 The system shall not permit unauthorized Bluetooth devices to access or participate in any activity started by the server (laptop) user. 11 The system shall not allow confidential data stored in the systems database to be accessed, whether directly or indirectly, by client (mobile) users. 11 The system shall force the laptop user to confirm any data deletion to prevent any accidental erasure of sensitive data. 11

3.6 Safety 11 The systems Bluetooth technology shall not cause any side-effects or physical harm (directly or indirectly) to users of the system. 12 3.7 Design Constraints 12 3.8 Copyright and intellectual properties 12 4. Supporting Information 4.1 Use Case diagram for the Laptop User 4.2 Use Case diagram for the Mobile User 4.3 State Transition Diagram 4.4 Data Flow Diagram 13 13 14 14 16

Software Requirements Specification


1.
1.1

Introduction
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. 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. Definitions, Acronyms and Abbreviations Bluetooth: It is a wireless protocol utilizing short-range communications technology facilitating both voice and data transmissions over short distances. MTBF: Mean Time Between Failures MTTR: Mean Time To Repair Sustainability: Expected lifetime of the system References 1- SRS template, 2008-05-10, Computer Engineering department, Kuwait University. 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.

1.2

1.3

1.4

1.5

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 instructors laptop. It requires the students to activate the Bluetooth feature on their mobile devices. The product has a lot of benefits including: 1- Saving the time needed to take the attendance manually by calling the names of the students. 2- Asking a question or giving surveys to all the students in the class and providing the instructor with the statistical result of the students answers. 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

Retrieving data from mobile device


Figure 2

3. Specific Requirements
3.1 Functionality

3.1.1 Taking Attendance A. Description and Priority


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 students name, from the students list, and his status (tardy, absent or present). State Machine:

Idle

Press Start Button in the attendance panel Press Stop Button in the attendance panel Press Manual Button in the attendance panel

Automatic Mode

Students are chosen and Add to list button is pressed


Figure 3: State Machine Diagram

Manual Mode

Dataflow diagram: Updated attendance data Attendance information Laptop User


Managing Attendance

Databas e Attendance data

Absence/Tardy count

Target mobile

Figure 4: 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 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.

3.1.2 Sending Questions / Receiving Responses A. Description and Priority


This feature provides the instructor with more control over the class in terms of measuring the understandability of the students. Its 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 students record with the new grade according to whether the student answered correctly or not. State Machine: Awaiting Question

Press Send Button [Timeout exists]

Press Send Button [No timeout]

Waiting for timeout to finish Timeout expired

Press OK

Await manual Stop event Press Stop Button

Displaying statistics

[Question has a grade]

Saving Students Grades


Figure 5: State Machine Diagram

Dataflow Diagram: Formatted answers [Statistical Data] Laptop User Questions Send Question Formatted questions [Bluetooth Message]
Figure 6: Dataflow Diagram

Students scores

Databas e

Receive Answers

Answers

Target mobile

C. Functional Requirements
list. The question will be sent to the students currently registered in the attendance

Preconditions: The Bluetooth device must be turned ON in both the laptop and the mobile phone. In order for the students 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.

3.1.3 Edit Students information A. Description and Priority


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 students name. The third column contains a field for storing the students 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 students 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 students record he must highlight the student name and press the delete button.

State Machine:

Press New Button

Idle

Press Update Button

Inputting Students Data

Update Student Data Press Save Changes Button

Appearance of Students Panel Press Delete button

Press Add Student button Delete Students data from the database

Saving Students data in database


Figure 7: State Machine Diagram

Dataflow Diagram: Students data Students data Laptop User Students data Update Student data Add Student Students data Databas e

Student ID

Student ID

Delete Student

C. Functional Requirements
Figure 8: Dataflow Diagram

The student data will be updated in the database.

Preconditions: For updating student information, or deleting a student from the database, the student record must be available at the database. For creating a new student, the provided student id must be unique and valid. Postconditions: The database will either contain a new record or have an old record be update or deleted.

3.1.4 Edit Course information A. Description and Priority


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:

Press New Course Button

Idle

Press Delete button

Inputting Course Data

OK

Delete Course data from the database

Press Add Course button

Saving Course data in database


Figure 9: State Machine Diagram

Dataflow Diagram: Course data Databas e 7

Course selection Laptop User Add Course Course ID Course selection Delete Course

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.

3.1.5 View Score and Attendance Records A. Description and Priority


Using this feature the student will be able to receive his attendance and score records on his mobile phone. Its 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 received from laptop

Data is printed on mobile screen


Figure 11: State Machine Diagram

Dataflow Diagram: Student information Laptop Attendance records Send Attendance and Score records Bluetooth message Mobile phone

Databas e

Figure 12: Dataflow Diagram

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.

3.1.6 Send/Receive Text data A. Description and Priority


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:

Implicit call made by the laptop

Idle Finished receiving the response Receiving response from mobile

Send text data to mobile

Finished sending the data

Implicit call from mobile phone to send the response Waiting for a response from mobile
Figure 13: State Machine Diagram

Dataflow Diagram: Bluetooth message Text data Laptop Send Text data Text data Bluetooth message Receive text data Mobile phone

Figure 14: Dataflow Diagram

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. 3.2 Usability Postcondition: Both the mobile phone and the laptop receive text data.

The systems interface is user-friendly and easy to get familiar with. It is recommended that users read the products manual in order to understand all features and to use the full power of the system. Training wise, any user with who is familiar with a PC should be able to use the system with maximum training of 1 hour.

10

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 o The system shall accurately calculate the score of any student (mobile user). The system shall not mistake or swap the scores of one student (mobile user) with another.

Bugs: Critical: Complete loss of data. Significant: System failure.

3.4

Performance

Response time for a transaction - average: 250 milliseconds, maximum: 2 seconds. A transaction involves sending one question or receiving one response. Throughput an average of 4 transactions per second. Capacity the system can communicate with 100 students mobiles at the same time. Degradation mode - If the system is degraded when we exceed 100 students, we will remain in the normal mode of operation with longer response time.

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 systems 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 systems 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.

11

The systems Bluetooth technology shall not cause any side-effects or physical harm (directly or indirectly) to users of the system. 3.7 Design Constraints This section will indicate the design constraints that apply on the system being developed and that shall be adhered to during the development phase of the project. Programming languages: The server program that resides on the laptop shall be written in Java using the Standard Edition (SE v1.5) development kit. The client program that resides on the mobile shall be written in Java using the Micro Edition (ME) development kit. Database: Apache Derby (v10.3.2.1) shall be used as the systems database management system. The database shall be stored on the server. Development tools: The Eclipse 3.2 IDE and the NetBeans 6.0 IDE shall be used as the primary development tools to build the server and client programs. 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~25C) 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.

3.8

Copyright and intellectual properties This software will be considered as open-source software and protected under GPL (GNU General Public License). It can be redistributed and/or modified under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the 12

License, or any later version.

4. Supporting Information
4.1 Use Case diagram for the Laptop User

User

Sending questions/ receiving responses Edit course information

Edit student information

Taking attendance

Figure 16: Use Case Diagram for the laptop user

13

4.2

Use Case diagram for the Mobile User

User

Send/Receive text data

View score and attendance record

Figure 17: Use Case Diagram for the mobile user

4.3

State Transition Diagram

14

Run application Clicked Delete Display course list Deleting course OK OK Adding new course Clicked New

Clicked Exit Clicked Select[Bluetooth OFF] Clicked Select[Bluetooth ON]

Clicked Exit

entry/ Display main screen do/ Disable attendance

Bluetooth Activated Bluetooth off Bluetooth on Checking Bluetooth status

entry/ Display main screen do/ Enable attendance and start device discovery

A
Clicked Remove Clicked Update

Clicked Remove

Clicked Manual

Clicked Manual Clicked Update Click Start

Remove student from the list

Manually attend students

Add/Modify students

Write question/ Click Send

Student added

Select student to add Finish task

Adding nearby mobiles to list

Sending question to all mobiles

Adding to student list Finish task

Finish task

Finish task

Answers arrived from all nearby mobiles Compute statistics on received answers and display chart

OK

Figure 18: State Transition Diagram

15

4.4

Data Flow Diagram

Add student to list Attendance

Discovered address of mobile

Target Mobile

Tardy/Absence record

Send score and attendance record Stored address of mobile

Formatted Questions

List of students in course

Updated student records New student data Databas e Course to delete Delete course

New course data

Add new course

New Student Information

Course selection

Add new student New student Information Manual Attendance Add student to list Student selection Remove student Questions Remove student from list Student selection

Modify students information Student selection

Send question to all mobiles Answers Receive data from mobiles

Laptop User

Formatted answers

Figure 19: The Data Flow Diagram

16

Você também pode gostar