SlideShare a Scribd company logo
1 of 18
Download to read offline
1




                       IS C341

                   (Team Number)

                 Team Name: OAKS

         Software Requirements Specification

Architecture of Campus Portal for Wireless Devices

                 Shiladitya Mandal
                   Anand Goyal
                  Kaustav Ghosh
                   Omkar Hande




Version: 1.0                          Date: 26/01/2013
2


                             Table of Contents

1. Introduction                                       4

  1.1 Scope                                           4
  1.2 Definitions, Acronyms, and Abbreviations        4
  1.3 References                                      5
  1.4 Overview                                        5

2. The Overall Description                            6

  2.1 Product Perspective                             6
    2.1.1 System Interfaces                           6
    2.1.2 User Interfaces                             6
    2.1.3 Hardware Interfaces                         7
    2.1.4 Software Interfaces                         7
    2.1.5 Communications Interfaces                   7
    2.1.6 Memory Constraints                          8
    2.1.7 Operations                                  8
  2.2 Product Functions                               9
  2.3 User Characteristics                           10
  2.4 Constraints                                    10
  2.5 Assumptions and Dependencies                   11

3. Specific Requirements                             13

  3.1 External interfaces                            13
  3.2 Functions                                      14
  3.3 Performance Requirements                       15
  3.4 Design Constraints                             15
  3.5 Software System Attributes                     15
    3.5.1 Reliability                                15
    3.5.2 Security                                   15
    3.5.3 Maintainability                            16
    3.5.4 Portability                                16


4. Conclusion                                        17
3


1. Introduction

This SRS describes the software functional and nonfunctional requirements
for release 1.0 of the Campus Portal for Wireless Devices. This document is
intended to be used by the students and faculty of BITS-Pilani Goa and the
members of the project team that will implement and verify the correct
functioning of the system. Unless otherwise noted, all requirements
specified here are high priority and committed for release 1.0.


1.1 Scope

The Campus Portal is developed using university campus as the setting and
the domain for applications developed for the portal for wireless devices.
The portal will focus on real time immediate issues for a student like Class
finding, Faculty finding, Grade calculations, announcements for cancelled
class or deadlines for upcoming project submissions. It will incorporate
features where a student can maintain his time table, schedule and
calendar his examinations and assignment submissions or anything else for
his use. The system, on a wider scale, can also be extended for corporate
offices, where similar issues are faced by the employees.

1.2 Definitions, Acronyms and Abbreviations

SDK                                       Software Development Kit - a set
                                          of software development tools
IDE                                       Integrated Development Environment
                                          - consists of a source code
                                          editor, debugger etc for help
GUI                                       Graphical User Interface – allows user
                                          to interact with electronic devices
                                          using images rather than text
                                          commands
UI                                        User Interface - space where
                                          interaction between humans and
                                          machines occurs
OS                                        Operating Systems
Wi-Fi                                     Wireless Fidelity - allows an electronic
4


                                  device to exchange
                                  data wirelessly (using radio waves)
                                  over a computer network
PHP                               Personal Home Page - language
                                  designed for Web development to
                                  produce dynamic Web pages
VM                                Virtual Machine (VM) - a simulation of
                                  a machine (abstract or real)
RAM                               Random Access Memory – fast and
                                  dynamic memory to store temporary
                                  data
MB/GB                             Megabyte/Gigabyte – unit of
                                  measuring size of data
MYSQL                             Standard Query Language - open
                                  source relational database
                                  management system
Apache                            Web server
phpMyAdmin                        Free and open source tool written
                                  in PHP intended to handle the
                                  administration of MySQL with the use
                                  of a Web browser



1.3 References

Wireless Java     http://books.google.co.in/books?id=6gqsBEbRIYEC&pg=
Programming for   PT623&lpg=PT623&dq=architecture+for+campus+portal
Enterprise        +for+handheld+devices&source=bl&ots=y0-
Application       uMWppdP&sig=dcOs5_i53mtOWaaNlVvUplIR85A&hl=e
                  n&sa=X&ei=PmIDUaueDsnIrQeuyIDICA&ved=0CC4Q6AE
                  wAA
IEEE 1998         IEEE Std 830-1998, IEEE Recommended Practice for
                  Software Requirements Specifications, ISBN 0-7381-
                  0332-2.
5



1.4 Overview

This document has been prepared in accordance with the IEEE standard
830-1998, IEEE Recommended Practice for Software Requirements
Specifications [ISBN 0-7381-0332-2]. The document is divided into 4
sections. Section 1 introduces the application. Section 2 provides
information with customer point of view such as Product Perspective,
Product functions, User Characteristics, Constraints, Assumptions and
dependencies and specific requirement. Section 3 focuses more on detailed
technical aspects of the application, basically for developers. This includes
External Interfaces, Functions, Performance Requirements, Logical
Database Requirements, Design Constraints, Software system attributes
and Organizing Specific Requirements. The final Section will be the
conclusions.
6


2. The Overall Description

The product described in this document is campus portal for wireless
devices. This section describes all general factors of the product and its
requirements. It does not state specific requirements. Instead, it provides a
background for those requirements, which are described in section 3.


2.1 Product Perspective

This software is self-contained. The application which will be developed will
not be part of any existing system. But, it is not independent. It will require
access (read and write) to the central database of BITS Pilani Goa Campus -
all information about students, faculty, and courses offered. Existing web
based portals and the new architecture will function separately, but will
share the same database.

2.1.1. System Interfaces

The proposed architecture will be implemented using Android SDK (v20.0.2)
for Java. The Java SDK used is version 1.6.
The IDE used for development is Eclipse 3.7.2(Indigo Service Release 2).
ArgoUML v0.34 has been used for the use case diagram in section 2.

2.1.2. User Interfaces

The front end is designed for wireless devices run on Android OS. It is a GUI
interface, with buttons, check boxes, lists, etc. to navigate through the
application. Outside the applications normal UI, reminders and updates will
be conveyed to user via notifications in the status bar.

The user interface will be optimized for easier usage. Checkboxes and radio
buttons will be used to reduce text input from user, which is cumbersome
in portable devices, especially small touch screens. Also, scroll bars will be
used to minimize display errors, and provide easy navigation for all screen
sizes.
7




2.1.3. Hardware Interfaces

2.1.3.1 Client Side:
Wireless devices with Wi-Fi connectivity above can use the application.
There is no restriction on screen size or any other hardware specifications.

2.1.3.2 Server Side:
The PHP scripts will be hosted on a remote server in the LAN, and will
connect to a MySQL server on the same machine. The web server (Apache)
will be listening on the standard port 80.


2.1.4. Software Interfaces

2.1.4.1 Client Side:
The application is designed for the Android platform. Any wireless device
running on Android OS v2.2 and above can use the application.

2.1.4.2 Server Side:
An Apache web server will accept all requests from the client. A
development database will be hosted locally (MySQL) and the production
database is hosted centrally (MySQL).
Apache server:                                    Version 2.2.22 –
required to host a HTTP web server
MySQL server:                                     Version 5.5.24 –
required to host MySQL database server
PHP:                                                     Version 5.3.13 –
required to communicate with database


2.1.5. Communication Interfaces

The software will access the Wi-Fi network to access a local server
(Apache). HTTP protocol will be used to communicate with the server. (RFC
2616 or HTTP/1.1)
8


2.1.6. Memory Constraints

Most Android devices (OS version 2.2 and above) have memory in the
range of 150MB to 1GB RAM. Design footprint should not exceed 100MB.



2.1.7. Operations

2.1.7.1 Modes of operation: The user can either be a student or a faculty.

2.1.7.2 Periods of interactive/unattended operation: When the user’s
device is unlocked and the application is on the forefront of other
applications, it is in interactive mode. There will be a background service
running all the time which analyzes when to provide notifications to user,
and will poll for new updates from the web server.

2.1.7.3 Data security: Username and password provided to application is
not sent as plaint text. Password is encrypted before sending
authentication request to server.

2.1.7.4 Backup and recovery: Procedures for data backup and recovery are
already in place. Since we are using an existing database, the application
need not worry about data backup or recovery.
9


2.2 Product Functions

This section outlines all the main features of Campus Portal.




Figure 1: Rough use case diagram of requirements

2.2.1 Student Role:
    Add/Remove courses to schedule:
       Every student, after login, must select which courses he is registered
       in/attending informally. To get updates and reminders about classes, one
       must select that course.
    Choose mess option:
       Whenever mess option opens, student is notified. Henceforth, mess option
       can be selected from mobile/web interface(SWD)

2.2.2 Faculty Role:
Faculty need not add courses manually. When they login, they can
automatically see the courses they are registered with.
    View list of students registered for their courses:
       Professors who are registered to courses, can see list of students attending
       classes for the course.
    Cancel classes:
10


     Cancelling a class is just a button click. It will be instantly informed to
     students via notifications.
    Quick messages:
     Professors can send instant messages to students of a course.
    Set chamber consultancy availability:
     When professors are available for chamber consultancy, he can set his
     status to available, else busy/offline.

2.2.3 Common Roles for Student/Faculty
    Miscellaneous contacts – SWD, ARC, MedC, cab service, etc.
    View course/faculty/student pages
    Edit personal details

2.2.4 Administrator Role
    Message broadcast by administrator:
      Administrators can send any instant urgent broadcast message to all
      users/only students/only faculty
    Reset password for users
    Register courses for faculty:
      It is the job of the admin to register courses for faculty every semester

2.2.4 Background Services
    Reminder/alarm 10 minutes before class starts
    Auto Silent mode during classes:
       The wireless device will automatically turn to silent mode once a class in
       the schedule starts (feature can be turned on/off)
11


2.3 User characteristics
User Groups: Student/Faculty/Administrator

2.3.1 Student
    Educational level: High
    Experience with technology: Medium-High
    Domain experience: High


2.3.2 Faculty
    Educational level: High
    Experience with technology: Low-Medium
    Domain experience: High


2.3.3 Administrator
    Educational level: High
    Experience with technology: High
    Domain Experience: Medium




2.4 Constraints
The following are constraints for developers.

2.4.1 Parallel operation:
UI must not be blocked when network operation is taking place. Hence,
threading must be done to parallelize network operation and UI.

2.4.2 Reliability:
To make sure application does not crash, two things must be looked at -
network operation and graphics/animation. The lesser the
animation/graphics, the lesser the probability of crashing (because of low
RAM). Also, it must be mde sure that the network thread does not infinity
wait for response for server.
12


2.4.3 Safety and security:
Password provided by user must not be sent in plaintext format to the web
server – encryption (MD5) must be done before transmission to avoid
intruders. Also, session information must be deleted if user has logged out.



2.5 Assumptions and Dependencies

    It is assumed that user has Android OS v2.2 or above installed. If user has a
     lower version, reliability is not guaranteed.
    The correct functioning of the system will partly be dependent on the
     correctness of the data stored and managed as part of the existing web-
     based system.
    Also, the server crashing (or down for maintenance) will make the
     application temporarily unavailable.
13


3. Specific Requirements
The following section describes the requirements in detail. This section is meant
for the designers and developers of the system.

3.1 External Interfaces
Interfaces: Wireless Device & Remote Server

3.1.1 Wireless device
    Name of the product: Wireless device supporting Android v2.2 and
      above
    Description of purpose: Get input from the user via touch/text input
      and display output on the device screen, and send request to
      backend server.
    Source of input or destination of output: input taken from Touch
      screen/Keypad and request sent to application backend.
    Valid range, accuracy and/or tolerance: Range and accuracy depends
      upon the Wi-Fi signal strength.
    Relationships to other inputs/outputs: Inputs given to the remote
      server hosting web and database server.
    No restriction on screen sizes
    Window formats: vertical/horizontal orientation
    Data formats: data will be sent to server in either plain text or
      encrypted(password)
    Command formats: user need not type commands. Entire application
      is GUI based

3.1.2 Remote server
    Name of the product: Remote server
    Description of purpose: Get input from the application front end and
       process the input request and generate corresponding results.
    Source of input or destination of output: Application front end on the
       wireless device.
14


    Valid range, accuracy and/or tolerance: Range and accuracy depends
     upon the Wi-Fi signal strength and uptime of the server
    Relationships to other inputs/outputs: Inputs taken from the
     application front end and output to the same device.
    Data formats: Data will be processed and accessed from MySQL
     server.Command formats: Database will be accesed through PHP
     scripts.




3.2 Functions
Functional requirements define the fundamental actions that must take
place in the software in accepting and processing the inputs and in
processing and generating the outputs

3.2.1 User authentication
1. User enters username and password
2. The username and encrypted password is sent to the remote backend
server
3. User is authenticated
4. Authentication details is relayed back to the application front end.
5. Limit on password and username length to prevent overflow of
information

3.2.2 Addition of new course to the schedule of a student
1. User will select a course to add to the schedule
2. Request sent to the backend server
3. Availability of class timings in the existing schedule.
4. In case of clashes the course is not added
5. Allotment of the selected course if no clashes.

3.2.3 Chosing mess option
1. User selects his mess option
15


2. Request sent to the mess database server
3. Acknowledgement of mess allocation

3.2.4 Cancellation of class(By professor)
1. Professor cancels a particular class
2. All students registered for the course get a notifications.

3.2.5 Setting chamber consultancy avaibility
1. Professor either sets his availability as present/not present
2. Students can view this availability of the professor.

3.2.6 . View list of Registered students in a course
1. Professor requests for viewing list of registered students
2. Check whether the Professor Is an instructor for the course

3.2.7 Auto silent mode(Background service)
1. Background service is running which turns the device into silent mode if
the student or faculty has a class during that time slot.
2. User can turn this feature on/off.



3.3 Performance Requirements

3.3.1 Supporting simultaneous Users

    The campus currently has around 2500 users including students and
     professors/teachers.
    The existing backend database server has it's implementation for
     handling simultaneous data modification/access requests.
    Performance of the system will depend upon the processing power
     of the existing database server.
16


3.3.1 Amount and type of information to be handled

    Database will be stored in MySQL tables asnd communication will be
     done in the form of encrypted/plain text.
    Amount of information sent/received depends upon the request.




3.4 Design Constraints

    There is no restriction on the screen size of devices. Hence, the
     developer must add scrollbars in every Activity.




3.5 Software System Attributes
The following section describes the non-functional requirements or quality
attributes of the system.


3.5.1 Reliability

    Reliability of the system partly depends on the backend database
     server. While the database server is up and there is good Wi-Fi
     connectivity to the server, the application will work perfectly. In case
     of database server being down, there is no guarantee that the
     application will work.


3.5.2 Security

    Each user (student or faculty) has a unique ID (possibly BITS mail) and
     password to login into the portal. An user cannot change details of
     other users.
17


    Users can make certain personal information as hidden to public or
     hidden to only students. E.g, a student can make his contact
     information available only to professors/only students.
    While adding courses to the “timetable”, system produces warning
     on clash of timings with an existing course opted by the user.
    When password is sent to the database, we make use of MD5
     hashing encryption to prevent intruders from accessing plaintext
     passwords.


3.5.3 Maintainability

Since the system has a modular design, it is easy to add new modules for
any new requirements in future versions.


3.5.4 Portability

This software application is packaged into a “.apk” file, which is a standard
file format that runs on any device running Android operating system. So,
any new user who wants to use the application just needs one file.
18


4. Conclusions

In this document we have introduced the application and its general
features available for the end users who are the students and faculty. It
also gives detailed technical aspects and requirements of the application
for the developers. The application focuses on the immediate needs of both
students and faculty while they aren’t in their respective rooms like
classroom, faculty chamber, upcoming tests and timetable, checking
whether is faculty in chamber or not and features such as quick messaging
and notifications are present.
The application has intense usage and with minor modifications, it use can
be extended to various ecosystems like corporate, banks, multinationals,
and various other management and technical sectors.

More Related Content

What's hot

Java Technical Design Document
Java Technical Design DocumentJava Technical Design Document
Java Technical Design Document
Deborah Obasogie
 
2009 CTSA Profiles OpenSocial Poster
2009 CTSA Profiles OpenSocial Poster2009 CTSA Profiles OpenSocial Poster
2009 CTSA Profiles OpenSocial Poster
ericmeeks
 

What's hot (13)

Performance Vision - What's new in version 2.9
Performance Vision - What's new in version 2.9Performance Vision - What's new in version 2.9
Performance Vision - What's new in version 2.9
 
Srs
SrsSrs
Srs
 
Java Technical Design Document
Java Technical Design DocumentJava Technical Design Document
Java Technical Design Document
 
Mc android
Mc androidMc android
Mc android
 
Windows7/8 Migration Strategies
Windows7/8 Migration StrategiesWindows7/8 Migration Strategies
Windows7/8 Migration Strategies
 
Summer training in j2me
Summer training in j2meSummer training in j2me
Summer training in j2me
 
Plumbing with cake
Plumbing with cakePlumbing with cake
Plumbing with cake
 
EnArWeb: Enterprise Architect in the Web
EnArWeb: Enterprise Architect in the WebEnArWeb: Enterprise Architect in the Web
EnArWeb: Enterprise Architect in the Web
 
Android seminar-report-body.doc
Android seminar-report-body.docAndroid seminar-report-body.doc
Android seminar-report-body.doc
 
2009 CTSA Profiles OpenSocial Poster
2009 CTSA Profiles OpenSocial Poster2009 CTSA Profiles OpenSocial Poster
2009 CTSA Profiles OpenSocial Poster
 
Android Report
Android ReportAndroid Report
Android Report
 
Android
AndroidAndroid
Android
 
Ruckus BYOD whitepaper
Ruckus BYOD whitepaperRuckus BYOD whitepaper
Ruckus BYOD whitepaper
 

Similar to Campus portal for wireless devices

Srs example(1)
Srs example(1)Srs example(1)
Srs example(1)
zozila
 
Rfid based job tracking mobile application
Rfid based job tracking mobile applicationRfid based job tracking mobile application
Rfid based job tracking mobile application
Mike Taylor
 
Voice based web browser
Voice based web browserVoice based web browser
Voice based web browser
Gowsalyasri
 

Similar to Campus portal for wireless devices (20)

Campus portal for wireless devices srs
Campus portal for wireless devices srsCampus portal for wireless devices srs
Campus portal for wireless devices srs
 
Github-Source code management system SRS
Github-Source code management system SRSGithub-Source code management system SRS
Github-Source code management system SRS
 
Web-Based Lighting Automation System
Web-Based Lighting Automation SystemWeb-Based Lighting Automation System
Web-Based Lighting Automation System
 
online book sale srs Apeksha
online book sale srs Apekshaonline book sale srs Apeksha
online book sale srs Apeksha
 
Digitally Record videos & Track Incidents on IPAD Application
Digitally Record videos & Track Incidents on IPAD ApplicationDigitally Record videos & Track Incidents on IPAD Application
Digitally Record videos & Track Incidents on IPAD Application
 
Online Attendance Management System
Online Attendance Management SystemOnline Attendance Management System
Online Attendance Management System
 
Software Requirement Specification For Smart Internet Cafe
Software Requirement Specification For Smart Internet CafeSoftware Requirement Specification For Smart Internet Cafe
Software Requirement Specification For Smart Internet Cafe
 
Final sds of academic a webpage based android application
Final sds of academic a webpage based android applicationFinal sds of academic a webpage based android application
Final sds of academic a webpage based android application
 
Srs example(1)
Srs example(1)Srs example(1)
Srs example(1)
 
Srs example
Srs exampleSrs example
Srs example
 
happiness
happinesshappiness
happiness
 
virtual medical home
virtual medical homevirtual medical home
virtual medical home
 
Java remote control for laboratory monitoring
Java remote control for laboratory monitoringJava remote control for laboratory monitoring
Java remote control for laboratory monitoring
 
Rfid based job tracking mobile application
Rfid based job tracking mobile applicationRfid based job tracking mobile application
Rfid based job tracking mobile application
 
RFID Based Job Tracking Mobile Application that Eliminates Handwritten Notes
RFID Based Job Tracking Mobile Application that Eliminates Handwritten NotesRFID Based Job Tracking Mobile Application that Eliminates Handwritten Notes
RFID Based Job Tracking Mobile Application that Eliminates Handwritten Notes
 
Voice based web browser
Voice based web browserVoice based web browser
Voice based web browser
 
Remote Web Desk
Remote Web DeskRemote Web Desk
Remote Web Desk
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
OGCE MSI Presentation
OGCE MSI PresentationOGCE MSI Presentation
OGCE MSI Presentation
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

Campus portal for wireless devices

  • 1. 1 IS C341 (Team Number) Team Name: OAKS Software Requirements Specification Architecture of Campus Portal for Wireless Devices Shiladitya Mandal Anand Goyal Kaustav Ghosh Omkar Hande Version: 1.0 Date: 26/01/2013
  • 2. 2 Table of Contents 1. Introduction 4 1.1 Scope 4 1.2 Definitions, Acronyms, and Abbreviations 4 1.3 References 5 1.4 Overview 5 2. The Overall Description 6 2.1 Product Perspective 6 2.1.1 System Interfaces 6 2.1.2 User Interfaces 6 2.1.3 Hardware Interfaces 7 2.1.4 Software Interfaces 7 2.1.5 Communications Interfaces 7 2.1.6 Memory Constraints 8 2.1.7 Operations 8 2.2 Product Functions 9 2.3 User Characteristics 10 2.4 Constraints 10 2.5 Assumptions and Dependencies 11 3. Specific Requirements 13 3.1 External interfaces 13 3.2 Functions 14 3.3 Performance Requirements 15 3.4 Design Constraints 15 3.5 Software System Attributes 15 3.5.1 Reliability 15 3.5.2 Security 15 3.5.3 Maintainability 16 3.5.4 Portability 16 4. Conclusion 17
  • 3. 3 1. Introduction This SRS describes the software functional and nonfunctional requirements for release 1.0 of the Campus Portal for Wireless Devices. This document is intended to be used by the students and faculty of BITS-Pilani Goa and the members of the project team that will implement and verify the correct functioning of the system. Unless otherwise noted, all requirements specified here are high priority and committed for release 1.0. 1.1 Scope The Campus Portal is developed using university campus as the setting and the domain for applications developed for the portal for wireless devices. The portal will focus on real time immediate issues for a student like Class finding, Faculty finding, Grade calculations, announcements for cancelled class or deadlines for upcoming project submissions. It will incorporate features where a student can maintain his time table, schedule and calendar his examinations and assignment submissions or anything else for his use. The system, on a wider scale, can also be extended for corporate offices, where similar issues are faced by the employees. 1.2 Definitions, Acronyms and Abbreviations SDK Software Development Kit - a set of software development tools IDE Integrated Development Environment - consists of a source code editor, debugger etc for help GUI Graphical User Interface – allows user to interact with electronic devices using images rather than text commands UI User Interface - space where interaction between humans and machines occurs OS Operating Systems Wi-Fi Wireless Fidelity - allows an electronic
  • 4. 4 device to exchange data wirelessly (using radio waves) over a computer network PHP Personal Home Page - language designed for Web development to produce dynamic Web pages VM Virtual Machine (VM) - a simulation of a machine (abstract or real) RAM Random Access Memory – fast and dynamic memory to store temporary data MB/GB Megabyte/Gigabyte – unit of measuring size of data MYSQL Standard Query Language - open source relational database management system Apache Web server phpMyAdmin Free and open source tool written in PHP intended to handle the administration of MySQL with the use of a Web browser 1.3 References Wireless Java http://books.google.co.in/books?id=6gqsBEbRIYEC&pg= Programming for PT623&lpg=PT623&dq=architecture+for+campus+portal Enterprise +for+handheld+devices&source=bl&ots=y0- Application uMWppdP&sig=dcOs5_i53mtOWaaNlVvUplIR85A&hl=e n&sa=X&ei=PmIDUaueDsnIrQeuyIDICA&ved=0CC4Q6AE wAA IEEE 1998 IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications, ISBN 0-7381- 0332-2.
  • 5. 5 1.4 Overview This document has been prepared in accordance with the IEEE standard 830-1998, IEEE Recommended Practice for Software Requirements Specifications [ISBN 0-7381-0332-2]. The document is divided into 4 sections. Section 1 introduces the application. Section 2 provides information with customer point of view such as Product Perspective, Product functions, User Characteristics, Constraints, Assumptions and dependencies and specific requirement. Section 3 focuses more on detailed technical aspects of the application, basically for developers. This includes External Interfaces, Functions, Performance Requirements, Logical Database Requirements, Design Constraints, Software system attributes and Organizing Specific Requirements. The final Section will be the conclusions.
  • 6. 6 2. The Overall Description The product described in this document is campus portal for wireless devices. This section describes all general factors of the product and its requirements. It does not state specific requirements. Instead, it provides a background for those requirements, which are described in section 3. 2.1 Product Perspective This software is self-contained. The application which will be developed will not be part of any existing system. But, it is not independent. It will require access (read and write) to the central database of BITS Pilani Goa Campus - all information about students, faculty, and courses offered. Existing web based portals and the new architecture will function separately, but will share the same database. 2.1.1. System Interfaces The proposed architecture will be implemented using Android SDK (v20.0.2) for Java. The Java SDK used is version 1.6. The IDE used for development is Eclipse 3.7.2(Indigo Service Release 2). ArgoUML v0.34 has been used for the use case diagram in section 2. 2.1.2. User Interfaces The front end is designed for wireless devices run on Android OS. It is a GUI interface, with buttons, check boxes, lists, etc. to navigate through the application. Outside the applications normal UI, reminders and updates will be conveyed to user via notifications in the status bar. The user interface will be optimized for easier usage. Checkboxes and radio buttons will be used to reduce text input from user, which is cumbersome in portable devices, especially small touch screens. Also, scroll bars will be used to minimize display errors, and provide easy navigation for all screen sizes.
  • 7. 7 2.1.3. Hardware Interfaces 2.1.3.1 Client Side: Wireless devices with Wi-Fi connectivity above can use the application. There is no restriction on screen size or any other hardware specifications. 2.1.3.2 Server Side: The PHP scripts will be hosted on a remote server in the LAN, and will connect to a MySQL server on the same machine. The web server (Apache) will be listening on the standard port 80. 2.1.4. Software Interfaces 2.1.4.1 Client Side: The application is designed for the Android platform. Any wireless device running on Android OS v2.2 and above can use the application. 2.1.4.2 Server Side: An Apache web server will accept all requests from the client. A development database will be hosted locally (MySQL) and the production database is hosted centrally (MySQL). Apache server: Version 2.2.22 – required to host a HTTP web server MySQL server: Version 5.5.24 – required to host MySQL database server PHP: Version 5.3.13 – required to communicate with database 2.1.5. Communication Interfaces The software will access the Wi-Fi network to access a local server (Apache). HTTP protocol will be used to communicate with the server. (RFC 2616 or HTTP/1.1)
  • 8. 8 2.1.6. Memory Constraints Most Android devices (OS version 2.2 and above) have memory in the range of 150MB to 1GB RAM. Design footprint should not exceed 100MB. 2.1.7. Operations 2.1.7.1 Modes of operation: The user can either be a student or a faculty. 2.1.7.2 Periods of interactive/unattended operation: When the user’s device is unlocked and the application is on the forefront of other applications, it is in interactive mode. There will be a background service running all the time which analyzes when to provide notifications to user, and will poll for new updates from the web server. 2.1.7.3 Data security: Username and password provided to application is not sent as plaint text. Password is encrypted before sending authentication request to server. 2.1.7.4 Backup and recovery: Procedures for data backup and recovery are already in place. Since we are using an existing database, the application need not worry about data backup or recovery.
  • 9. 9 2.2 Product Functions This section outlines all the main features of Campus Portal. Figure 1: Rough use case diagram of requirements 2.2.1 Student Role:  Add/Remove courses to schedule: Every student, after login, must select which courses he is registered in/attending informally. To get updates and reminders about classes, one must select that course.  Choose mess option: Whenever mess option opens, student is notified. Henceforth, mess option can be selected from mobile/web interface(SWD) 2.2.2 Faculty Role: Faculty need not add courses manually. When they login, they can automatically see the courses they are registered with.  View list of students registered for their courses: Professors who are registered to courses, can see list of students attending classes for the course.  Cancel classes:
  • 10. 10 Cancelling a class is just a button click. It will be instantly informed to students via notifications.  Quick messages: Professors can send instant messages to students of a course.  Set chamber consultancy availability: When professors are available for chamber consultancy, he can set his status to available, else busy/offline. 2.2.3 Common Roles for Student/Faculty  Miscellaneous contacts – SWD, ARC, MedC, cab service, etc.  View course/faculty/student pages  Edit personal details 2.2.4 Administrator Role  Message broadcast by administrator: Administrators can send any instant urgent broadcast message to all users/only students/only faculty  Reset password for users  Register courses for faculty: It is the job of the admin to register courses for faculty every semester 2.2.4 Background Services  Reminder/alarm 10 minutes before class starts  Auto Silent mode during classes: The wireless device will automatically turn to silent mode once a class in the schedule starts (feature can be turned on/off)
  • 11. 11 2.3 User characteristics User Groups: Student/Faculty/Administrator 2.3.1 Student  Educational level: High  Experience with technology: Medium-High  Domain experience: High 2.3.2 Faculty  Educational level: High  Experience with technology: Low-Medium  Domain experience: High 2.3.3 Administrator  Educational level: High  Experience with technology: High  Domain Experience: Medium 2.4 Constraints The following are constraints for developers. 2.4.1 Parallel operation: UI must not be blocked when network operation is taking place. Hence, threading must be done to parallelize network operation and UI. 2.4.2 Reliability: To make sure application does not crash, two things must be looked at - network operation and graphics/animation. The lesser the animation/graphics, the lesser the probability of crashing (because of low RAM). Also, it must be mde sure that the network thread does not infinity wait for response for server.
  • 12. 12 2.4.3 Safety and security: Password provided by user must not be sent in plaintext format to the web server – encryption (MD5) must be done before transmission to avoid intruders. Also, session information must be deleted if user has logged out. 2.5 Assumptions and Dependencies  It is assumed that user has Android OS v2.2 or above installed. If user has a lower version, reliability is not guaranteed.  The correct functioning of the system will partly be dependent on the correctness of the data stored and managed as part of the existing web- based system.  Also, the server crashing (or down for maintenance) will make the application temporarily unavailable.
  • 13. 13 3. Specific Requirements The following section describes the requirements in detail. This section is meant for the designers and developers of the system. 3.1 External Interfaces Interfaces: Wireless Device & Remote Server 3.1.1 Wireless device  Name of the product: Wireless device supporting Android v2.2 and above  Description of purpose: Get input from the user via touch/text input and display output on the device screen, and send request to backend server.  Source of input or destination of output: input taken from Touch screen/Keypad and request sent to application backend.  Valid range, accuracy and/or tolerance: Range and accuracy depends upon the Wi-Fi signal strength.  Relationships to other inputs/outputs: Inputs given to the remote server hosting web and database server.  No restriction on screen sizes  Window formats: vertical/horizontal orientation  Data formats: data will be sent to server in either plain text or encrypted(password)  Command formats: user need not type commands. Entire application is GUI based 3.1.2 Remote server  Name of the product: Remote server  Description of purpose: Get input from the application front end and process the input request and generate corresponding results.  Source of input or destination of output: Application front end on the wireless device.
  • 14. 14  Valid range, accuracy and/or tolerance: Range and accuracy depends upon the Wi-Fi signal strength and uptime of the server  Relationships to other inputs/outputs: Inputs taken from the application front end and output to the same device.  Data formats: Data will be processed and accessed from MySQL server.Command formats: Database will be accesed through PHP scripts. 3.2 Functions Functional requirements define the fundamental actions that must take place in the software in accepting and processing the inputs and in processing and generating the outputs 3.2.1 User authentication 1. User enters username and password 2. The username and encrypted password is sent to the remote backend server 3. User is authenticated 4. Authentication details is relayed back to the application front end. 5. Limit on password and username length to prevent overflow of information 3.2.2 Addition of new course to the schedule of a student 1. User will select a course to add to the schedule 2. Request sent to the backend server 3. Availability of class timings in the existing schedule. 4. In case of clashes the course is not added 5. Allotment of the selected course if no clashes. 3.2.3 Chosing mess option 1. User selects his mess option
  • 15. 15 2. Request sent to the mess database server 3. Acknowledgement of mess allocation 3.2.4 Cancellation of class(By professor) 1. Professor cancels a particular class 2. All students registered for the course get a notifications. 3.2.5 Setting chamber consultancy avaibility 1. Professor either sets his availability as present/not present 2. Students can view this availability of the professor. 3.2.6 . View list of Registered students in a course 1. Professor requests for viewing list of registered students 2. Check whether the Professor Is an instructor for the course 3.2.7 Auto silent mode(Background service) 1. Background service is running which turns the device into silent mode if the student or faculty has a class during that time slot. 2. User can turn this feature on/off. 3.3 Performance Requirements 3.3.1 Supporting simultaneous Users  The campus currently has around 2500 users including students and professors/teachers.  The existing backend database server has it's implementation for handling simultaneous data modification/access requests.  Performance of the system will depend upon the processing power of the existing database server.
  • 16. 16 3.3.1 Amount and type of information to be handled  Database will be stored in MySQL tables asnd communication will be done in the form of encrypted/plain text.  Amount of information sent/received depends upon the request. 3.4 Design Constraints  There is no restriction on the screen size of devices. Hence, the developer must add scrollbars in every Activity. 3.5 Software System Attributes The following section describes the non-functional requirements or quality attributes of the system. 3.5.1 Reliability  Reliability of the system partly depends on the backend database server. While the database server is up and there is good Wi-Fi connectivity to the server, the application will work perfectly. In case of database server being down, there is no guarantee that the application will work. 3.5.2 Security  Each user (student or faculty) has a unique ID (possibly BITS mail) and password to login into the portal. An user cannot change details of other users.
  • 17. 17  Users can make certain personal information as hidden to public or hidden to only students. E.g, a student can make his contact information available only to professors/only students.  While adding courses to the “timetable”, system produces warning on clash of timings with an existing course opted by the user.  When password is sent to the database, we make use of MD5 hashing encryption to prevent intruders from accessing plaintext passwords. 3.5.3 Maintainability Since the system has a modular design, it is easy to add new modules for any new requirements in future versions. 3.5.4 Portability This software application is packaged into a “.apk” file, which is a standard file format that runs on any device running Android operating system. So, any new user who wants to use the application just needs one file.
  • 18. 18 4. Conclusions In this document we have introduced the application and its general features available for the end users who are the students and faculty. It also gives detailed technical aspects and requirements of the application for the developers. The application focuses on the immediate needs of both students and faculty while they aren’t in their respective rooms like classroom, faculty chamber, upcoming tests and timetable, checking whether is faculty in chamber or not and features such as quick messaging and notifications are present. The application has intense usage and with minor modifications, it use can be extended to various ecosystems like corporate, banks, multinationals, and various other management and technical sectors.