SlideShare a Scribd company logo
1 of 16
Download to read offline
POLITEHNICA University of Bucharest, Romania

                              Computer Science Department




                                 Voicenger

                          System Requirements Specification




                               Final version: 25th April 2010



Prepared by:                                           Supervisor:

Andreica Cristian                                      Egner Alexandru

Goge Oana-Alina

Petre Vlad-Stefan

Serbanescu Vlad-Nicolae
Voicenger - System Requirements Specification




                                                              Table of Contents
1      Introduction ........................................................................................................................... 1
    1.1   Document Purpose ................................................................................................................................1
    1.2   Definition of Terms ...............................................................................................................................1
    1.3   Overview ...............................................................................................................................................2
2      Product Description .............................................................................................................. 3
    2.1 The Problem ..........................................................................................................................................3
      2.1.1 The Current Situation .................................................................................................................... 3
      2.1.2 User Manifestation ........................................................................................................................ 3
    2.2 The Solution ..........................................................................................................................................4
      2.2.1 General Description ....................................................................................................................... 4
      2.2.2 Benefits .......................................................................................................................................... 4
      2.2.3 Features ......................................................................................................................................... 4
      2.2.4 Target............................................................................................................................................. 4
    2.3 Technical Constraints ............................................................................................................................5
      2.3.1 Major Constraints .......................................................................................................................... 5
      2.3.2 Performance Requirements............................................................................................................ 5
      2.3.3 Design & Implementation Constraints .......................................................................................... 5
      2.3.4 Hardware Constraints .................................................................................................................... 5
3      Functional Requirements ..................................................................................................... 6
    3.1 User Profiles ..........................................................................................................................................6
    3.2 System Boundary ..................................................................................................................................7
    3.3 Use Cases Description ...........................................................................................................................7
      3.3.1 Register .......................................................................................................................................... 7
      3.3.2 Log In ............................................................................................................................................ 7
      3.3.3 Log Out.......................................................................................................................................... 8
      3.3.4 Add a Friend .................................................................................................................................. 8
      3.3.5 Delete a Friend .............................................................................................................................. 8
      3.3.6 Ignore a Friend .............................................................................................................................. 8
      3.3.7 Edit Profile..................................................................................................................................... 8
      3.3.8 One-on-One Chat........................................................................................................................... 8
      3.3.9 Call a Friend .................................................................................................................................. 8
      3.3.10     Initiate a Conference Chat ......................................................................................................... 9
      3.3.11     Invite another User in Conference ............................................................................................. 9
      3.3.12     Set a Discussion Topic .............................................................................................................. 9
      3.3.13     Create a Poll inside a Conference .............................................................................................. 9
      3.3.14     Send a File ................................................................................................................................. 9
      3.3.15     Add a Textual Image ................................................................................................................. 9
      3.3.16     Tagging while in Conference .................................................................................................... 9
      3.3.17     Update Facebook Status .......................................................................................................... 10
      3.3.18     Update Twitter Status .............................................................................................................. 10
4      System Architecture ........................................................................................................... 11
    4.1 Components .........................................................................................................................................11
      4.1.1 The Server Component ................................................................................................................ 11
      4.1.2 The Client Component ................................................................................................................ 11
5      Non-Functional Requirements ........................................................................................... 13
    5.1 Client Application Requirements ........................................................................................................13
    5.2 Server Application Requirements........................................................................................................13
    5.3 Performance Requirements .................................................................................................................13
    5.4 Availability and Reliability Requirements ..........................................................................................13
6      Testing Considerations ...................................................................................................... 14




                                                                                 I
Voicenger - System Requirements Specification




1     Introduction


1.1    Document Purpose

This document has been created in order to evaluate and quantify the benefits, features and constraints of an
informational system. The software product allows for improved and organized communication inside
groups, such that planning, brainstorming and taking decisions gets done much faster than the actual
implementations.

In order to allow consistency between the vision of the product and the actual implementation, this document
must be used as a guideline by the development team.



1.2    Definition of Terms

Voicenger - the actual product name;

Peer-to-Peer - software architecture without a central authority that manages all the communication between
modules;

Instant Messaging (IM) - form of real-time direct text-based communication between two or more people
using personal computers or other devices, along with shared software clients (the user's text is conveyed
over a network, such as the Internet; more advanced instant messaging software clients also allow enhanced
modes of communication, such as live voice or video calling);

Twitter - social networking and micro blogging service that enables its users to send and read messages
known as tweets (tweets are text-based posts of up to 140 characters displayed on the author's profile page
and delivered to the author's subscribers who are known as followers);

Facebook - social networking website that allows people to communicate with their friends and exchange
information;

Internet Service Provider (ISP) - a company that offers its customers access to the Internet;

MySQL - open-source Database Management System which is available for both Linux and Windows;
Emoticon - graphical representation, either in the form of an image or made up of ASCII characters, of a
particular emotion of the writer;

drag-and-drop - feature of a graphical user interface whereby the user can drag a visual item across the
screen and drop it in another location;

user profile - collection of personal data associated to a specific user. A profile refers therefore to the
explicit digital representation of a person's identity.




                                                Page 1 of 14
Voicenger - System Requirements Specification




1.3   Overview

Chapters 1 and 2 contain a description of the document, its contents, and the purpose of its creation. Chapter
3 describes the functional requirements of the system. First, the actors and system boundaries are identified,
then the use cases and functional requirements are described.

Chapter 4 presents the general architecture of the system, with a hardware configuration that can meet the
system requirements.

Chapter 5 presents the main non-functional requirements of the system, such as: user interface, usability,
performance, reliability, maintainability and security.

Chapter 6 contains some testing guidelines and other special considerations.




                                                 Page 2 of 14
Voicenger - System Requirements Specification




2     Product Description


2.1     The Problem


2.1.1    The Current Situation

The real-life behavior of people that occurs when friends want to take action together is defined in three
simple steps: Idea, Planning and Action.

It all starts with an idea that someone from the group wants to share with others. We inform our friends, call
them, send them emails, leave them offline messages; whatever it takes to communicate that idea with them.
We use Instant Messengers (like Yahoo Messenger, Digsby, Pidgin, etc) or Social Networks (Facebook,
Twitter, MySpace, etc).

Then the planning starts. They start communicating with each other, brainstorm, have online meetings, and
spend time online and offline in order to get to a conclusion. You'll find them using Yahoo Messenger or
Adobe Connect now. They want to take action. And they do!

Action is the part when the idea must be implemented. It doesn't really matter what it is, a cup of coffee in
the Mall, a present for one of them, a movie, or it could be a holiday spent at the sea. It all happens the
same. Finally, when we have decided on how to implement it, we have to do the whole informing process
again.

There is no single structured solution for sharing ideas, communicate on planning, deliver results and inform
on decisions between friends. Not with the existent solutions.


2.1.2    User Manifestation

The effects of the problem defined in the earlier chapter drives users into spending way more time
communicating than taking action. Planning involves thinking on different topics at the same time, and
managing how to implement the idea needs to be done in a structured way, that helps users on taking
decisions faster.

Let's take, for instance, a couple of friends that want to go out on a Saturday night, and they chat on Yahoo
Messenger, having a conference where everybody proposes a bar. They sit and lose time from 10 minutes to
a full hour discussion, either disagreeing about the current options, either losing focus by introducing
different topics of discussion.

A text-conference where people talk at the same time on different subjects, respond to each other's thoughts,
without having constant effect on the final result, is a bad tool in the century of speed.
We are obsessed with speed; we want to get things done faster than ever, easier than ever.




                                                 Page 3 of 14
Voicenger - System Requirements Specification




2.2     The Solution


2.2.1    General Description

This product is a software application, identified by the name of Voicenger, which solves the problem of
taking decisions inside groups of friends. All the actual solutions are based on communication tools that
allow a group of friends to chat and brainstorm on their ideas, but not on the actual decision process.

Voicenger wants to offer a structured mean of communication, where the conference is topic-based, focused
on planning and delivering results to the whole decision process.

The functionality of Voicenger is split into several components and features, all designed to ensure an
accurate, structured and efficient application for discussing and sharing ideas and plans in an organized and
easy to use environment.

This application combines the features of websites used for socializing and entertainment with the benefits of
a chat and voice application. This will increase efficiency in a chat environment. It will provide features
based on intuition that will help users to logically structure the discussion when engaged in a conference
window, to easily debate on a subject and quickly take decisions.


2.2.2    Benefits

In addition to voice and text chatting, the benefits of Voicenger include:
     Twitter/Facebook integration, thus helping on spreading news faster;
     polling and tagging on a conference, thus helping on taking decisions quicker;
     textual imaging & file sending for easier sharing;
     friends suggestions for quickly growing the friends list with people who the user might know.


2.2.3    Features

Some of the key features of Voicenger are:
    improved sound quality in voice calls;
    increased speed of file and image transfers ;
    an intuitive and easy to use interface;
    logic and simple filtering of conversations ;
    combining the advantages of chat applications and the features of websites for social and business
       facilities.


2.2.4    Target

The product is to be targeted to the consumer users who are online every day, communicate with
each-other using social-tools, real-time communication applications, but they lack a simple, structured
framework for managing intentions, plans and decisions between friends.




                                                 Page 4 of 14
Voicenger - System Requirements Specification




2.3     Technical Constraints



2.3.1   Major Constraints

Although the software is intended for home users, everyone can use it freely.
On a technical side note, in order to function properly (thus communicate), the software has to be
provided with unrestricted Internet access (so users can interact with each other, and interact with
their Twitter/Facebook accounts).


2.3.2   Performance Requirements

The server must:
    maintain a secure and consistent database of critical user information such as username and
        password;
    keep an updated list of the contacts for every user, that is subject to frequent change and editing.
    The client must:
    establish and keep a fast and peer to peer connection;
    ensure high quality sound for audio conversations;
    log all conferences in separate files and directories depending on the conversations and the options
        selected by the user;
    make constant and fast updates of Twitter and Facebook activities of the user.


2.3.3   Design & Implementation Constraints

The server must:
    be implemented using the Java programming language;
    be independent of the operating system in runs on;
    Have an efficient algorithm based on user information, profile and contact list for offering accurate
        and safe suggestions of new friends for a certain user;
    Implement a simple and logic algorithm for filtering out discussion topics based on a tagging system.

The client must:
    be implemented in the Java programming language;
    be independent of the operating system in runs on;
    establish and keep a fast and peer to peer connection independent of the network or Internet Service
        Provider;
    ensure high quality sound for audio conversations;
    log all conferences in separate files and directories according to the operating system in runs on and
        depending on the conversations and the options selected by the user;
    make constant and fast updates of Twitter and Facebook activities of the user.


2.3.4   Hardware Constraints

Both the server and the client must be running on a computer that has access to the internet.




                                               Page 5 of 14
Voicenger - System Requirements Specification




3     Functional Requirements


3.1    User Profiles

There is only one user profile: the normal user; or simply: the user.
The user may perform the following actions:
    register;
    login;
    logout;
    add a friend;
    delete a friend;
    ignore a friend;
    fill in its profile;
    initiate a one-on-one chat with another user;
    initiate a conference chat;
    invite another user in a current conference chat;
    call another user for voice chatting;
    set the discussion topic;
    create a poll inside a conference;
    send a file;
    add a textual image;
    use tagging feature while in a conference;
    update Facebook status;
    update Twitter status.




                                                  Page 6 of 14
Voicenger - System Requirements Specification




3.2     System Boundary




3.3     Use Cases Description


3.3.1    Register

In order to use the application, all users must have an account. When the user starts the application, there are
two options available: register and login. By clicking on the register button, the application will ask the user
to fill in some details like username, password, real name and other information regarding the profile. Once
the account is created, the user can login in the network.


3.3.2    Log In

The login function can be used only if the user has previously created an account. Unless logging in, the user
will not be able to use any other feature of the application. Users can login by submitting a valid username
and password. During the log in process, the application retrieves user data (e.g. friends list, ignore list,



                                                  Page 7 of 14
Voicenger - System Requirements Specification




profile details, etc). After a successful log in, the application grants access to all features and operations
available.


3.3.3   Log Out

The log out function may be initiated only manually, by the currently logged in user.


3.3.4   Add a Friend

A logged in user can add a new friend to his friends list. This is achieved by simply clicking on the Add a
friend button from the menu, filling in the username of the friend, and clicking on finish.
Note that if the username of the friend doesn’t exist, the application will alert the user.


3.3.5   Delete a Friend

A logged in user can delete a friend from his friends list. This is achieved by right-clicking on a friend in the
friends list, and then selecting Delete.


3.3.6   Ignore a Friend

A logged in user can delete a friend from his friends list. This is achieved by right-clicking on a friend in the
friends list, and the selecting Ignore.


3.3.7   Edit Profile

A logged in user can edit his profile by choosing Edit Profile from the menu. After this, a window with the
required fields (e.g. first name, last name, city, etc) and the current filled in information will appear.
Whenever the user is ready, he must click on Update Profile button so that the information filled in is sent to
the server thus updating the profile.


3.3.8   One-on-One Chat

A logged in user can initiate a one-on-one chat with another user by right-clicking the friends name and then
choosing the Start Chat option. After this, a new window will appear where the user can chat with his friend.


3.3.9   Call a Friend

A logged in user can call another friend, for voice chatting, by right-clicking the friends name and then
choosing the Start Voice Call option. After this, a new window will appear where the user can voice chat
with his friend as well as text chat.
Note that the Start Voice Call option is available from the text chatting window too.




                                                  Page 8 of 14
Voicenger - System Requirements Specification




3.3.10 Initiate a Conference Chat

A logged in user can initiate a conference chat by selecting the Start Conference option from the menu. A
new window will appear. Here, the user must select friends from his friends list in order to invite them to the
conference. After selecting the friends, the user must click on the Invite button. The current window will
close, and a new conference chat window will appear where all the invited users who accepted the invitation
can chat with each other.


3.3.11 Invite another User in Conference

Any user currently engaged in a conference chat can invite other user to join the discussion. This is done by
clicking on Invite More Friends from the menu inside the chat window, selecting the desired friends from the
friends list to be invited, and clicking on Invite button. The invited friends will join the conference only if
they accept the invitation.


3.3.12 Set a Discussion Topic

Whether a user is engaged in a one-on-one chat or a conference chat, he can set or change the current
discussion topic. This is done by clicking on the Discussion Topic button in the upper area of the chat
window, and filling in the desired one.


3.3.13 Create a Poll inside a Conference

Any user engaged in a conference can create a poll where all the users currently involved in the conference
can vote. The creator of the poll will fill in the options of it and will specify whether a user can choose only
one option (radio boxes) or several ones (checkboxes). The poll will appear in the right area of the
conference chat window.
This feature aims helping users to take quick decisions based on everybody’s opinion.


3.3.14 Send a File

Any user engaged in a one-on-one chat can send a file to the other user. This is done by selecting the Send
File option in the menu of the chat window. Assuming that user A and user B are currently involved in a chat
session, whenever user A wants to send a file to user B, user B can either accept or refuse the file. If user B
will accept the file, then he will have to choose a folder where to save it.


3.3.15 Add a Textual Image

Any user engaged in a conference chat or in a one-on-one chat can add a textual image in the chat window.
The image will appear in-line with text. In order to achieve this, the user must select Add Textual Image from
the menu in the upper area of the chat window.


3.3.16 Tagging while in Conference

Any user engaged in a conference may use the tagging feature. Tags are words that are preceded by a ‘#’
sign (e.g. #weather, #cinema, #homework, etc). Whenever a user adds the ‘#’ in front of a word, it will
automatically become a tag. In text area, tags are colored differently than normal text (e.g. blue).



                                                  Page 9 of 14
Voicenger - System Requirements Specification




All used tags in the current conference will appear as clickable items in a list in the left area of the
conference window. Whenever a new tag is created, it will be automatically added to this list. Note that the
first tag in the list will always be a #ALL tag.
The usage is pretty simple: if a user clicks on a tag, in the text area will remain only comments that are
tagged with the clicked tag. In order to redisplay all comments, the user must click on #ALL tag.

The tagging feature works locally, so the actions of a user to its text area do not affect the others.


3.3.17 Update Facebook Status

A logged in user can update his Facebook status from Voicenger. This is done by clicking on the Update My
Facebook Status button in the main menu.


3.3.18 Update Twitter Status

A logged in user can update his Twitter status from Voicenger. This is done by clicking on the Update My
Twitter Status button in the main menu.




                                                   Page 10 of 14
Voicenger - System Requirements Specification




4     System Architecture


4.1     Components

The two main components of the system are the client and server applications.


4.1.1    The Server Component

The server component will provide the following functionalities:
    a MySQL database containing information of all the registered users;
    maintaining track of all the contacts for every user;
    providing suggestions for new friends based on user information and contact lists;
    text conferences with tagging options for filtering different discussion topics;
    frequent updates on user status and profile.


4.1.2    The Client Component

The client component will have the following capabilities:
    establishing a peer to peer connection via a three way handshake protocol;
    all the main features of a chat application through a peer to peer connection:
            o voice chat
            o file transfer
            o textual imaging
            o photo sharing
    update of Twitter status;
    update of Facebook status;
    keeping a message archive according to user preferences;
    drag-and-drop feature for file transfer and photo sharing;
    a variety of emoticons.

The system needs to store data regarding the users (friends list, profiles, etc). We propose one database
accessible directly only by the server application. The database will be installed on the same machine as the
server application.

Whenever a client application needs access to data from the database, it will ask the server application to
retrieve it. The server will interrogate the database and will only retrieve to the client, information that is
specific to the logged user in the client application.

Whenever a user updates his profile or a new user is registered, the client application will ask the server to
update the database.




                                                 Page 11 of 14
Voicenger - System Requirements Specification




Page 12 of 14
Voicenger - System Requirements Specification




5     Non-Functional Requirements



5.1    Client Application Requirements

The recommended minimum system requirements for the client application are:
    1 GHz x86 processor;
    512 MB of system memory (RAM);
    100 MB of free disk space;
    Graphics card and monitor capable of 1024x768 resolution;
    Sound card;
    Microphone;
    Speakers;
    Internet connection with minimum 1Mbps bandwidth;
    Windows XP SP2 / Vista / 7.



5.2    Server Application Requirements

The recommended minimum system requirements for the server application are:
    2 GHz x86 processor;
    1 GB of system memory (RAM);
    10 GB of free disk space;
    Internet connection with minimum 10Mbps bandwidth.



5.3    Performance Requirements

The system must be very responsive. Since this is a Peer to Peer system, the maximum number of
supported clients in parallel is quite high.

There is no possibility of concurrence issues with the database management system, since it is only
administrated by the server application.

Current specifications are both scalable in terms of client number and performance, without negative
effects on system performance.

Server storage and performance should be adequate in case the number of clients grows.


5.4    Availability and Reliability Requirements

Downtime allowance for the server is limited under 0.05% per month.
It is strongly recommended that the database is regularly backed up.




                                              Page 13 of 14
Voicenger - System Requirements Specification




6    Testing Considerations

Testing should be done taking into account different possible usage scenarios; both correct and incorrect
usage should be tested.

Database structure should be thoroughly tested before populating it.

Extra testing should be taken into account for unlikely usage, such as many concurrent changes on a single
database (several users updating their profiles), changes on tables of friends list and ignore list, etc. It should
be measured that the performance remains constant at full load.




                                                  Page 14 of 14

More Related Content

What's hot

hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...webhostingguy
 
Spring Reference
Spring ReferenceSpring Reference
Spring Referenceasas
 
Detecting Malice
Detecting MaliceDetecting Malice
Detecting Malicedrkimsky
 
Analysis Of The Modern Methods For Web Positioning
Analysis Of The Modern Methods For Web PositioningAnalysis Of The Modern Methods For Web Positioning
Analysis Of The Modern Methods For Web PositioningPaweł Kowalski
 
Dw guide 11 g r2
Dw guide 11 g r2Dw guide 11 g r2
Dw guide 11 g r2sgyazuddin
 
Mateti tcpip-cnh
Mateti tcpip-cnhMateti tcpip-cnh
Mateti tcpip-cnhabhijit.tec
 
Sony Xperia XZ2 Premium Manual/User Guide
Sony Xperia XZ2 Premium Manual/User GuideSony Xperia XZ2 Premium Manual/User Guide
Sony Xperia XZ2 Premium Manual/User Guidemanualsheet
 
Project Plan And Srs Final
Project Plan And Srs FinalProject Plan And Srs Final
Project Plan And Srs Finalguest24783f
 
Aplplication server instalacion
Aplplication server instalacionAplplication server instalacion
Aplplication server instalacionhkaczuba
 
SafeDNS Content Filtering Service Guide
SafeDNS Content Filtering Service GuideSafeDNS Content Filtering Service Guide
SafeDNS Content Filtering Service GuideSafeDNS
 
Sugar Crm Manuale25
Sugar Crm Manuale25Sugar Crm Manuale25
Sugar Crm Manuale25guest90625bf
 
M Daemon E Mail Server Manual
M Daemon E Mail Server ManualM Daemon E Mail Server Manual
M Daemon E Mail Server Manualguestcf19c83
 
60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questions60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questionsRavic Kumar
 
Tivoli storage productivity center v4.2 release guide sg247894
Tivoli storage productivity center v4.2 release guide sg247894Tivoli storage productivity center v4.2 release guide sg247894
Tivoli storage productivity center v4.2 release guide sg247894Banking at Ho Chi Minh city
 

What's hot (19)

Google Search Quality Rating Program General Guidelines 2011
Google Search Quality Rating Program General Guidelines 2011Google Search Quality Rating Program General Guidelines 2011
Google Search Quality Rating Program General Guidelines 2011
 
Glogster edu-users-guide
Glogster edu-users-guideGlogster edu-users-guide
Glogster edu-users-guide
 
hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...
 
Spring Reference
Spring ReferenceSpring Reference
Spring Reference
 
Exif2.2 MetaData Spec
Exif2.2 MetaData SpecExif2.2 MetaData Spec
Exif2.2 MetaData Spec
 
Detecting Malice
Detecting MaliceDetecting Malice
Detecting Malice
 
Analysis Of The Modern Methods For Web Positioning
Analysis Of The Modern Methods For Web PositioningAnalysis Of The Modern Methods For Web Positioning
Analysis Of The Modern Methods For Web Positioning
 
Dw guide 11 g r2
Dw guide 11 g r2Dw guide 11 g r2
Dw guide 11 g r2
 
Mateti tcpip-cnh
Mateti tcpip-cnhMateti tcpip-cnh
Mateti tcpip-cnh
 
Sony Xperia XZ2 Premium Manual/User Guide
Sony Xperia XZ2 Premium Manual/User GuideSony Xperia XZ2 Premium Manual/User Guide
Sony Xperia XZ2 Premium Manual/User Guide
 
Project Plan And Srs Final
Project Plan And Srs FinalProject Plan And Srs Final
Project Plan And Srs Final
 
Dps User Manual
Dps User ManualDps User Manual
Dps User Manual
 
Aplplication server instalacion
Aplplication server instalacionAplplication server instalacion
Aplplication server instalacion
 
Tx16 wx user manual
Tx16 wx user manualTx16 wx user manual
Tx16 wx user manual
 
SafeDNS Content Filtering Service Guide
SafeDNS Content Filtering Service GuideSafeDNS Content Filtering Service Guide
SafeDNS Content Filtering Service Guide
 
Sugar Crm Manuale25
Sugar Crm Manuale25Sugar Crm Manuale25
Sugar Crm Manuale25
 
M Daemon E Mail Server Manual
M Daemon E Mail Server ManualM Daemon E Mail Server Manual
M Daemon E Mail Server Manual
 
60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questions60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questions
 
Tivoli storage productivity center v4.2 release guide sg247894
Tivoli storage productivity center v4.2 release guide sg247894Tivoli storage productivity center v4.2 release guide sg247894
Tivoli storage productivity center v4.2 release guide sg247894
 

Viewers also liked

SRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATIONSRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATIONAtul Kushwaha
 
A project report on chat application
A project report on chat applicationA project report on chat application
A project report on chat applicationKumar Gaurav
 
Client server chat
Client server chatClient server chat
Client server chatFreelancer
 
Voicenger - Software Design Document
Voicenger - Software Design DocumentVoicenger - Software Design Document
Voicenger - Software Design DocumentVlad Petre
 
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014Minh Nguyen Vo Cao
 
Report on online chatting
Report on online chattingReport on online chatting
Report on online chattingAmandeep Kaur
 
project
projectproject
projectdnraj
 
My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsUsman Sait
 

Viewers also liked (13)

SRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATIONSRS FOR CHAT APPLICATION
SRS FOR CHAT APPLICATION
 
A project report on chat application
A project report on chat applicationA project report on chat application
A project report on chat application
 
Chat application
Chat applicationChat application
Chat application
 
Client server chat
Client server chatClient server chat
Client server chat
 
Hii - Chat Application
Hii - Chat ApplicationHii - Chat Application
Hii - Chat Application
 
Voicenger - Software Design Document
Voicenger - Software Design DocumentVoicenger - Software Design Document
Voicenger - Software Design Document
 
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
 
Approach to ascites
Approach to ascitesApproach to ascites
Approach to ascites
 
Chat Application
Chat ApplicationChat Application
Chat Application
 
Multi user chat system using java
Multi user chat system using javaMulti user chat system using java
Multi user chat system using java
 
Report on online chatting
Report on online chattingReport on online chatting
Report on online chatting
 
project
projectproject
project
 
My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & Snapshots
 

Similar to Voicenger - System Requirements Specification

LaCie Network Space 2
LaCie Network Space 2LaCie Network Space 2
LaCie Network Space 2rosselli00
 
Using Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross DevelopmentUsing Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross DevelopmentGiacomo Antonino Fazio
 
D4.3. Content and Concept Filter V1
D4.3. Content and Concept Filter V1D4.3. Content and Concept Filter V1
D4.3. Content and Concept Filter V1LinkedTV
 
Getting started with odi
Getting started with odiGetting started with odi
Getting started with odichecksekhar
 
report.doc
report.docreport.doc
report.docbutest
 
Capturing Knowledge Of User Preferences With Recommender Systems
Capturing Knowledge Of User Preferences With Recommender SystemsCapturing Knowledge Of User Preferences With Recommender Systems
Capturing Knowledge Of User Preferences With Recommender SystemsMegaVjohnson
 
Tellurium 0.6.0 User Guide
Tellurium 0.6.0 User GuideTellurium 0.6.0 User Guide
Tellurium 0.6.0 User GuideJohn.Jian.Fang
 
Eap controller v2.4.8 ug
Eap controller v2.4.8 ugEap controller v2.4.8 ug
Eap controller v2.4.8 ugZaenal Mutakin
 
X cart 430-manual
X cart 430-manualX cart 430-manual
X cart 430-manualmadtgw
 
White lcd serials user manual v3.1
White lcd serials user manual v3.1White lcd serials user manual v3.1
White lcd serials user manual v3.1Manuel Llerenas
 
Oracle Web Conferencing - Release 2.0.4
Oracle Web Conferencing - Release 2.0.4Oracle Web Conferencing - Release 2.0.4
Oracle Web Conferencing - Release 2.0.4Mehul Sanghavi
 
Oracle performance tuning
Oracle performance tuningOracle performance tuning
Oracle performance tuningvksgarg
 
zJOS System Events Automation Users Guide
zJOS System Events Automation Users GuidezJOS System Events Automation Users Guide
zJOS System Events Automation Users GuideDeru Sudibyo
 
Introduction to system_administration
Introduction to system_administrationIntroduction to system_administration
Introduction to system_administrationmeoconhs2612
 
Soa In The Real World
Soa In The Real WorldSoa In The Real World
Soa In The Real Worldssiliveri
 

Similar to Voicenger - System Requirements Specification (20)

LaCie Network Space 2
LaCie Network Space 2LaCie Network Space 2
LaCie Network Space 2
 
Using Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross DevelopmentUsing Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross Development
 
D4.3. Content and Concept Filter V1
D4.3. Content and Concept Filter V1D4.3. Content and Concept Filter V1
D4.3. Content and Concept Filter V1
 
Getting started with odi
Getting started with odiGetting started with odi
Getting started with odi
 
Comerv3 1-12(2)
Comerv3 1-12(2)Comerv3 1-12(2)
Comerv3 1-12(2)
 
report.doc
report.docreport.doc
report.doc
 
Capturing Knowledge Of User Preferences With Recommender Systems
Capturing Knowledge Of User Preferences With Recommender SystemsCapturing Knowledge Of User Preferences With Recommender Systems
Capturing Knowledge Of User Preferences With Recommender Systems
 
Tellurium 0.6.0 User Guide
Tellurium 0.6.0 User GuideTellurium 0.6.0 User Guide
Tellurium 0.6.0 User Guide
 
Eap controller v2.4.8 ug
Eap controller v2.4.8 ugEap controller v2.4.8 ug
Eap controller v2.4.8 ug
 
Manual fet-pro430
Manual fet-pro430Manual fet-pro430
Manual fet-pro430
 
X cart 430-manual
X cart 430-manualX cart 430-manual
X cart 430-manual
 
White lcd serials user manual v3.1
White lcd serials user manual v3.1White lcd serials user manual v3.1
White lcd serials user manual v3.1
 
Oracle Web Conferencing - Release 2.0.4
Oracle Web Conferencing - Release 2.0.4Oracle Web Conferencing - Release 2.0.4
Oracle Web Conferencing - Release 2.0.4
 
Oracle performance tuning
Oracle performance tuningOracle performance tuning
Oracle performance tuning
 
Deform 3 d v6.0
Deform 3 d v6.0Deform 3 d v6.0
Deform 3 d v6.0
 
Deform 3 d v6.0
Deform 3 d v6.0Deform 3 d v6.0
Deform 3 d v6.0
 
zJOS System Events Automation Users Guide
zJOS System Events Automation Users GuidezJOS System Events Automation Users Guide
zJOS System Events Automation Users Guide
 
Introduction to system_administration
Introduction to system_administrationIntroduction to system_administration
Introduction to system_administration
 
It410 toc
It410 tocIt410 toc
It410 toc
 
Soa In The Real World
Soa In The Real WorldSoa In The Real World
Soa In The Real World
 

More from Vlad Petre

SSD pe intelesul tuturor!
SSD pe intelesul tuturor!SSD pe intelesul tuturor!
SSD pe intelesul tuturor!Vlad Petre
 
The 3-D Secure Protocol
The 3-D Secure ProtocolThe 3-D Secure Protocol
The 3-D Secure ProtocolVlad Petre
 
Founding a startup. DOs and DON'Ts.
Founding a startup. DOs and DON'Ts.Founding a startup. DOs and DON'Ts.
Founding a startup. DOs and DON'Ts.Vlad Petre
 
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)Vlad Petre
 
[Curs Android] C09 - Stocarea Datelor (IPW 2011)
[Curs Android] C09 - Stocarea Datelor (IPW 2011)[Curs Android] C09 - Stocarea Datelor (IPW 2011)
[Curs Android] C09 - Stocarea Datelor (IPW 2011)Vlad Petre
 
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)Vlad Petre
 
[Curs Android] C07 - Liste (IPW 2011)
[Curs Android] C07 - Liste (IPW 2011)[Curs Android] C07 - Liste (IPW 2011)
[Curs Android] C07 - Liste (IPW 2011)Vlad Petre
 
[Curs Android] C06 - DDMS & LogCat (IPW 2011)
[Curs Android] C06 - DDMS & LogCat (IPW 2011)[Curs Android] C06 - DDMS & LogCat (IPW 2011)
[Curs Android] C06 - DDMS & LogCat (IPW 2011)Vlad Petre
 
[Curs Android] C05 - Emulator (IPW 2011)
[Curs Android] C05 - Emulator (IPW 2011)[Curs Android] C05 - Emulator (IPW 2011)
[Curs Android] C05 - Emulator (IPW 2011)Vlad Petre
 
[Curs Android] C04 - User Interface (IPW 2011)
[Curs Android] C04 - User Interface (IPW 2011)[Curs Android] C04 - User Interface (IPW 2011)
[Curs Android] C04 - User Interface (IPW 2011)Vlad Petre
 
[Curs Android] C02 - Aplicatii (IPW 2011)
[Curs Android] C02 - Aplicatii (IPW 2011)[Curs Android] C02 - Aplicatii (IPW 2011)
[Curs Android] C02 - Aplicatii (IPW 2011)Vlad Petre
 
[Curs Android] C01 - Introducere (IPW 2011)
[Curs Android] C01 - Introducere (IPW 2011)[Curs Android] C01 - Introducere (IPW 2011)
[Curs Android] C01 - Introducere (IPW 2011)Vlad Petre
 
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizareDiploma Project: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizareVlad Petre
 
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizareDiploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizareVlad Petre
 
Eneco: Energy Economy
Eneco: Energy EconomyEneco: Energy Economy
Eneco: Energy EconomyVlad Petre
 
Kickstart Project: Android+Restlet+Hibernate+PostgreSQL
Kickstart Project: Android+Restlet+Hibernate+PostgreSQLKickstart Project: Android+Restlet+Hibernate+PostgreSQL
Kickstart Project: Android+Restlet+Hibernate+PostgreSQLVlad Petre
 
[SCS]Friloc - Scientific Paper
[SCS]Friloc - Scientific Paper[SCS]Friloc - Scientific Paper
[SCS]Friloc - Scientific PaperVlad Petre
 
Critica asupra lucrarii Proactive Computing
Critica asupra lucrarii Proactive ComputingCritica asupra lucrarii Proactive Computing
Critica asupra lucrarii Proactive ComputingVlad Petre
 
Critica asupra Singularitatii lui Vernor Vinge
Critica asupra Singularitatii lui Vernor VingeCritica asupra Singularitatii lui Vernor Vinge
Critica asupra Singularitatii lui Vernor VingeVlad Petre
 
Aplicare Filtre pe Imagini
Aplicare Filtre pe ImaginiAplicare Filtre pe Imagini
Aplicare Filtre pe ImaginiVlad Petre
 

More from Vlad Petre (20)

SSD pe intelesul tuturor!
SSD pe intelesul tuturor!SSD pe intelesul tuturor!
SSD pe intelesul tuturor!
 
The 3-D Secure Protocol
The 3-D Secure ProtocolThe 3-D Secure Protocol
The 3-D Secure Protocol
 
Founding a startup. DOs and DON'Ts.
Founding a startup. DOs and DON'Ts.Founding a startup. DOs and DON'Ts.
Founding a startup. DOs and DON'Ts.
 
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
[Curs Android] C10 - Threaduri & Servicii (IPW 2011)
 
[Curs Android] C09 - Stocarea Datelor (IPW 2011)
[Curs Android] C09 - Stocarea Datelor (IPW 2011)[Curs Android] C09 - Stocarea Datelor (IPW 2011)
[Curs Android] C09 - Stocarea Datelor (IPW 2011)
 
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
[Curs Android] C08 - Intents & Broadcast Receivers (IPW 2011)
 
[Curs Android] C07 - Liste (IPW 2011)
[Curs Android] C07 - Liste (IPW 2011)[Curs Android] C07 - Liste (IPW 2011)
[Curs Android] C07 - Liste (IPW 2011)
 
[Curs Android] C06 - DDMS & LogCat (IPW 2011)
[Curs Android] C06 - DDMS & LogCat (IPW 2011)[Curs Android] C06 - DDMS & LogCat (IPW 2011)
[Curs Android] C06 - DDMS & LogCat (IPW 2011)
 
[Curs Android] C05 - Emulator (IPW 2011)
[Curs Android] C05 - Emulator (IPW 2011)[Curs Android] C05 - Emulator (IPW 2011)
[Curs Android] C05 - Emulator (IPW 2011)
 
[Curs Android] C04 - User Interface (IPW 2011)
[Curs Android] C04 - User Interface (IPW 2011)[Curs Android] C04 - User Interface (IPW 2011)
[Curs Android] C04 - User Interface (IPW 2011)
 
[Curs Android] C02 - Aplicatii (IPW 2011)
[Curs Android] C02 - Aplicatii (IPW 2011)[Curs Android] C02 - Aplicatii (IPW 2011)
[Curs Android] C02 - Aplicatii (IPW 2011)
 
[Curs Android] C01 - Introducere (IPW 2011)
[Curs Android] C01 - Introducere (IPW 2011)[Curs Android] C01 - Introducere (IPW 2011)
[Curs Android] C01 - Introducere (IPW 2011)
 
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizareDiploma Project: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Project: Friloc - Retea de socializare bazata pe geolocalizare
 
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizareDiploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
Diploma Presentation: Friloc - Retea de socializare bazata pe geolocalizare
 
Eneco: Energy Economy
Eneco: Energy EconomyEneco: Energy Economy
Eneco: Energy Economy
 
Kickstart Project: Android+Restlet+Hibernate+PostgreSQL
Kickstart Project: Android+Restlet+Hibernate+PostgreSQLKickstart Project: Android+Restlet+Hibernate+PostgreSQL
Kickstart Project: Android+Restlet+Hibernate+PostgreSQL
 
[SCS]Friloc - Scientific Paper
[SCS]Friloc - Scientific Paper[SCS]Friloc - Scientific Paper
[SCS]Friloc - Scientific Paper
 
Critica asupra lucrarii Proactive Computing
Critica asupra lucrarii Proactive ComputingCritica asupra lucrarii Proactive Computing
Critica asupra lucrarii Proactive Computing
 
Critica asupra Singularitatii lui Vernor Vinge
Critica asupra Singularitatii lui Vernor VingeCritica asupra Singularitatii lui Vernor Vinge
Critica asupra Singularitatii lui Vernor Vinge
 
Aplicare Filtre pe Imagini
Aplicare Filtre pe ImaginiAplicare Filtre pe Imagini
Aplicare Filtre pe Imagini
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Voicenger - System Requirements Specification

  • 1. POLITEHNICA University of Bucharest, Romania Computer Science Department Voicenger System Requirements Specification Final version: 25th April 2010 Prepared by: Supervisor: Andreica Cristian Egner Alexandru Goge Oana-Alina Petre Vlad-Stefan Serbanescu Vlad-Nicolae
  • 2. Voicenger - System Requirements Specification Table of Contents 1 Introduction ........................................................................................................................... 1 1.1 Document Purpose ................................................................................................................................1 1.2 Definition of Terms ...............................................................................................................................1 1.3 Overview ...............................................................................................................................................2 2 Product Description .............................................................................................................. 3 2.1 The Problem ..........................................................................................................................................3 2.1.1 The Current Situation .................................................................................................................... 3 2.1.2 User Manifestation ........................................................................................................................ 3 2.2 The Solution ..........................................................................................................................................4 2.2.1 General Description ....................................................................................................................... 4 2.2.2 Benefits .......................................................................................................................................... 4 2.2.3 Features ......................................................................................................................................... 4 2.2.4 Target............................................................................................................................................. 4 2.3 Technical Constraints ............................................................................................................................5 2.3.1 Major Constraints .......................................................................................................................... 5 2.3.2 Performance Requirements............................................................................................................ 5 2.3.3 Design & Implementation Constraints .......................................................................................... 5 2.3.4 Hardware Constraints .................................................................................................................... 5 3 Functional Requirements ..................................................................................................... 6 3.1 User Profiles ..........................................................................................................................................6 3.2 System Boundary ..................................................................................................................................7 3.3 Use Cases Description ...........................................................................................................................7 3.3.1 Register .......................................................................................................................................... 7 3.3.2 Log In ............................................................................................................................................ 7 3.3.3 Log Out.......................................................................................................................................... 8 3.3.4 Add a Friend .................................................................................................................................. 8 3.3.5 Delete a Friend .............................................................................................................................. 8 3.3.6 Ignore a Friend .............................................................................................................................. 8 3.3.7 Edit Profile..................................................................................................................................... 8 3.3.8 One-on-One Chat........................................................................................................................... 8 3.3.9 Call a Friend .................................................................................................................................. 8 3.3.10 Initiate a Conference Chat ......................................................................................................... 9 3.3.11 Invite another User in Conference ............................................................................................. 9 3.3.12 Set a Discussion Topic .............................................................................................................. 9 3.3.13 Create a Poll inside a Conference .............................................................................................. 9 3.3.14 Send a File ................................................................................................................................. 9 3.3.15 Add a Textual Image ................................................................................................................. 9 3.3.16 Tagging while in Conference .................................................................................................... 9 3.3.17 Update Facebook Status .......................................................................................................... 10 3.3.18 Update Twitter Status .............................................................................................................. 10 4 System Architecture ........................................................................................................... 11 4.1 Components .........................................................................................................................................11 4.1.1 The Server Component ................................................................................................................ 11 4.1.2 The Client Component ................................................................................................................ 11 5 Non-Functional Requirements ........................................................................................... 13 5.1 Client Application Requirements ........................................................................................................13 5.2 Server Application Requirements........................................................................................................13 5.3 Performance Requirements .................................................................................................................13 5.4 Availability and Reliability Requirements ..........................................................................................13 6 Testing Considerations ...................................................................................................... 14 I
  • 3. Voicenger - System Requirements Specification 1 Introduction 1.1 Document Purpose This document has been created in order to evaluate and quantify the benefits, features and constraints of an informational system. The software product allows for improved and organized communication inside groups, such that planning, brainstorming and taking decisions gets done much faster than the actual implementations. In order to allow consistency between the vision of the product and the actual implementation, this document must be used as a guideline by the development team. 1.2 Definition of Terms Voicenger - the actual product name; Peer-to-Peer - software architecture without a central authority that manages all the communication between modules; Instant Messaging (IM) - form of real-time direct text-based communication between two or more people using personal computers or other devices, along with shared software clients (the user's text is conveyed over a network, such as the Internet; more advanced instant messaging software clients also allow enhanced modes of communication, such as live voice or video calling); Twitter - social networking and micro blogging service that enables its users to send and read messages known as tweets (tweets are text-based posts of up to 140 characters displayed on the author's profile page and delivered to the author's subscribers who are known as followers); Facebook - social networking website that allows people to communicate with their friends and exchange information; Internet Service Provider (ISP) - a company that offers its customers access to the Internet; MySQL - open-source Database Management System which is available for both Linux and Windows; Emoticon - graphical representation, either in the form of an image or made up of ASCII characters, of a particular emotion of the writer; drag-and-drop - feature of a graphical user interface whereby the user can drag a visual item across the screen and drop it in another location; user profile - collection of personal data associated to a specific user. A profile refers therefore to the explicit digital representation of a person's identity. Page 1 of 14
  • 4. Voicenger - System Requirements Specification 1.3 Overview Chapters 1 and 2 contain a description of the document, its contents, and the purpose of its creation. Chapter 3 describes the functional requirements of the system. First, the actors and system boundaries are identified, then the use cases and functional requirements are described. Chapter 4 presents the general architecture of the system, with a hardware configuration that can meet the system requirements. Chapter 5 presents the main non-functional requirements of the system, such as: user interface, usability, performance, reliability, maintainability and security. Chapter 6 contains some testing guidelines and other special considerations. Page 2 of 14
  • 5. Voicenger - System Requirements Specification 2 Product Description 2.1 The Problem 2.1.1 The Current Situation The real-life behavior of people that occurs when friends want to take action together is defined in three simple steps: Idea, Planning and Action. It all starts with an idea that someone from the group wants to share with others. We inform our friends, call them, send them emails, leave them offline messages; whatever it takes to communicate that idea with them. We use Instant Messengers (like Yahoo Messenger, Digsby, Pidgin, etc) or Social Networks (Facebook, Twitter, MySpace, etc). Then the planning starts. They start communicating with each other, brainstorm, have online meetings, and spend time online and offline in order to get to a conclusion. You'll find them using Yahoo Messenger or Adobe Connect now. They want to take action. And they do! Action is the part when the idea must be implemented. It doesn't really matter what it is, a cup of coffee in the Mall, a present for one of them, a movie, or it could be a holiday spent at the sea. It all happens the same. Finally, when we have decided on how to implement it, we have to do the whole informing process again. There is no single structured solution for sharing ideas, communicate on planning, deliver results and inform on decisions between friends. Not with the existent solutions. 2.1.2 User Manifestation The effects of the problem defined in the earlier chapter drives users into spending way more time communicating than taking action. Planning involves thinking on different topics at the same time, and managing how to implement the idea needs to be done in a structured way, that helps users on taking decisions faster. Let's take, for instance, a couple of friends that want to go out on a Saturday night, and they chat on Yahoo Messenger, having a conference where everybody proposes a bar. They sit and lose time from 10 minutes to a full hour discussion, either disagreeing about the current options, either losing focus by introducing different topics of discussion. A text-conference where people talk at the same time on different subjects, respond to each other's thoughts, without having constant effect on the final result, is a bad tool in the century of speed. We are obsessed with speed; we want to get things done faster than ever, easier than ever. Page 3 of 14
  • 6. Voicenger - System Requirements Specification 2.2 The Solution 2.2.1 General Description This product is a software application, identified by the name of Voicenger, which solves the problem of taking decisions inside groups of friends. All the actual solutions are based on communication tools that allow a group of friends to chat and brainstorm on their ideas, but not on the actual decision process. Voicenger wants to offer a structured mean of communication, where the conference is topic-based, focused on planning and delivering results to the whole decision process. The functionality of Voicenger is split into several components and features, all designed to ensure an accurate, structured and efficient application for discussing and sharing ideas and plans in an organized and easy to use environment. This application combines the features of websites used for socializing and entertainment with the benefits of a chat and voice application. This will increase efficiency in a chat environment. It will provide features based on intuition that will help users to logically structure the discussion when engaged in a conference window, to easily debate on a subject and quickly take decisions. 2.2.2 Benefits In addition to voice and text chatting, the benefits of Voicenger include:  Twitter/Facebook integration, thus helping on spreading news faster;  polling and tagging on a conference, thus helping on taking decisions quicker;  textual imaging & file sending for easier sharing;  friends suggestions for quickly growing the friends list with people who the user might know. 2.2.3 Features Some of the key features of Voicenger are:  improved sound quality in voice calls;  increased speed of file and image transfers ;  an intuitive and easy to use interface;  logic and simple filtering of conversations ;  combining the advantages of chat applications and the features of websites for social and business facilities. 2.2.4 Target The product is to be targeted to the consumer users who are online every day, communicate with each-other using social-tools, real-time communication applications, but they lack a simple, structured framework for managing intentions, plans and decisions between friends. Page 4 of 14
  • 7. Voicenger - System Requirements Specification 2.3 Technical Constraints 2.3.1 Major Constraints Although the software is intended for home users, everyone can use it freely. On a technical side note, in order to function properly (thus communicate), the software has to be provided with unrestricted Internet access (so users can interact with each other, and interact with their Twitter/Facebook accounts). 2.3.2 Performance Requirements The server must:  maintain a secure and consistent database of critical user information such as username and password;  keep an updated list of the contacts for every user, that is subject to frequent change and editing.  The client must:  establish and keep a fast and peer to peer connection;  ensure high quality sound for audio conversations;  log all conferences in separate files and directories depending on the conversations and the options selected by the user;  make constant and fast updates of Twitter and Facebook activities of the user. 2.3.3 Design & Implementation Constraints The server must:  be implemented using the Java programming language;  be independent of the operating system in runs on;  Have an efficient algorithm based on user information, profile and contact list for offering accurate and safe suggestions of new friends for a certain user;  Implement a simple and logic algorithm for filtering out discussion topics based on a tagging system. The client must:  be implemented in the Java programming language;  be independent of the operating system in runs on;  establish and keep a fast and peer to peer connection independent of the network or Internet Service Provider;  ensure high quality sound for audio conversations;  log all conferences in separate files and directories according to the operating system in runs on and depending on the conversations and the options selected by the user;  make constant and fast updates of Twitter and Facebook activities of the user. 2.3.4 Hardware Constraints Both the server and the client must be running on a computer that has access to the internet. Page 5 of 14
  • 8. Voicenger - System Requirements Specification 3 Functional Requirements 3.1 User Profiles There is only one user profile: the normal user; or simply: the user. The user may perform the following actions:  register;  login;  logout;  add a friend;  delete a friend;  ignore a friend;  fill in its profile;  initiate a one-on-one chat with another user;  initiate a conference chat;  invite another user in a current conference chat;  call another user for voice chatting;  set the discussion topic;  create a poll inside a conference;  send a file;  add a textual image;  use tagging feature while in a conference;  update Facebook status;  update Twitter status. Page 6 of 14
  • 9. Voicenger - System Requirements Specification 3.2 System Boundary 3.3 Use Cases Description 3.3.1 Register In order to use the application, all users must have an account. When the user starts the application, there are two options available: register and login. By clicking on the register button, the application will ask the user to fill in some details like username, password, real name and other information regarding the profile. Once the account is created, the user can login in the network. 3.3.2 Log In The login function can be used only if the user has previously created an account. Unless logging in, the user will not be able to use any other feature of the application. Users can login by submitting a valid username and password. During the log in process, the application retrieves user data (e.g. friends list, ignore list, Page 7 of 14
  • 10. Voicenger - System Requirements Specification profile details, etc). After a successful log in, the application grants access to all features and operations available. 3.3.3 Log Out The log out function may be initiated only manually, by the currently logged in user. 3.3.4 Add a Friend A logged in user can add a new friend to his friends list. This is achieved by simply clicking on the Add a friend button from the menu, filling in the username of the friend, and clicking on finish. Note that if the username of the friend doesn’t exist, the application will alert the user. 3.3.5 Delete a Friend A logged in user can delete a friend from his friends list. This is achieved by right-clicking on a friend in the friends list, and then selecting Delete. 3.3.6 Ignore a Friend A logged in user can delete a friend from his friends list. This is achieved by right-clicking on a friend in the friends list, and the selecting Ignore. 3.3.7 Edit Profile A logged in user can edit his profile by choosing Edit Profile from the menu. After this, a window with the required fields (e.g. first name, last name, city, etc) and the current filled in information will appear. Whenever the user is ready, he must click on Update Profile button so that the information filled in is sent to the server thus updating the profile. 3.3.8 One-on-One Chat A logged in user can initiate a one-on-one chat with another user by right-clicking the friends name and then choosing the Start Chat option. After this, a new window will appear where the user can chat with his friend. 3.3.9 Call a Friend A logged in user can call another friend, for voice chatting, by right-clicking the friends name and then choosing the Start Voice Call option. After this, a new window will appear where the user can voice chat with his friend as well as text chat. Note that the Start Voice Call option is available from the text chatting window too. Page 8 of 14
  • 11. Voicenger - System Requirements Specification 3.3.10 Initiate a Conference Chat A logged in user can initiate a conference chat by selecting the Start Conference option from the menu. A new window will appear. Here, the user must select friends from his friends list in order to invite them to the conference. After selecting the friends, the user must click on the Invite button. The current window will close, and a new conference chat window will appear where all the invited users who accepted the invitation can chat with each other. 3.3.11 Invite another User in Conference Any user currently engaged in a conference chat can invite other user to join the discussion. This is done by clicking on Invite More Friends from the menu inside the chat window, selecting the desired friends from the friends list to be invited, and clicking on Invite button. The invited friends will join the conference only if they accept the invitation. 3.3.12 Set a Discussion Topic Whether a user is engaged in a one-on-one chat or a conference chat, he can set or change the current discussion topic. This is done by clicking on the Discussion Topic button in the upper area of the chat window, and filling in the desired one. 3.3.13 Create a Poll inside a Conference Any user engaged in a conference can create a poll where all the users currently involved in the conference can vote. The creator of the poll will fill in the options of it and will specify whether a user can choose only one option (radio boxes) or several ones (checkboxes). The poll will appear in the right area of the conference chat window. This feature aims helping users to take quick decisions based on everybody’s opinion. 3.3.14 Send a File Any user engaged in a one-on-one chat can send a file to the other user. This is done by selecting the Send File option in the menu of the chat window. Assuming that user A and user B are currently involved in a chat session, whenever user A wants to send a file to user B, user B can either accept or refuse the file. If user B will accept the file, then he will have to choose a folder where to save it. 3.3.15 Add a Textual Image Any user engaged in a conference chat or in a one-on-one chat can add a textual image in the chat window. The image will appear in-line with text. In order to achieve this, the user must select Add Textual Image from the menu in the upper area of the chat window. 3.3.16 Tagging while in Conference Any user engaged in a conference may use the tagging feature. Tags are words that are preceded by a ‘#’ sign (e.g. #weather, #cinema, #homework, etc). Whenever a user adds the ‘#’ in front of a word, it will automatically become a tag. In text area, tags are colored differently than normal text (e.g. blue). Page 9 of 14
  • 12. Voicenger - System Requirements Specification All used tags in the current conference will appear as clickable items in a list in the left area of the conference window. Whenever a new tag is created, it will be automatically added to this list. Note that the first tag in the list will always be a #ALL tag. The usage is pretty simple: if a user clicks on a tag, in the text area will remain only comments that are tagged with the clicked tag. In order to redisplay all comments, the user must click on #ALL tag. The tagging feature works locally, so the actions of a user to its text area do not affect the others. 3.3.17 Update Facebook Status A logged in user can update his Facebook status from Voicenger. This is done by clicking on the Update My Facebook Status button in the main menu. 3.3.18 Update Twitter Status A logged in user can update his Twitter status from Voicenger. This is done by clicking on the Update My Twitter Status button in the main menu. Page 10 of 14
  • 13. Voicenger - System Requirements Specification 4 System Architecture 4.1 Components The two main components of the system are the client and server applications. 4.1.1 The Server Component The server component will provide the following functionalities:  a MySQL database containing information of all the registered users;  maintaining track of all the contacts for every user;  providing suggestions for new friends based on user information and contact lists;  text conferences with tagging options for filtering different discussion topics;  frequent updates on user status and profile. 4.1.2 The Client Component The client component will have the following capabilities:  establishing a peer to peer connection via a three way handshake protocol;  all the main features of a chat application through a peer to peer connection: o voice chat o file transfer o textual imaging o photo sharing  update of Twitter status;  update of Facebook status;  keeping a message archive according to user preferences;  drag-and-drop feature for file transfer and photo sharing;  a variety of emoticons. The system needs to store data regarding the users (friends list, profiles, etc). We propose one database accessible directly only by the server application. The database will be installed on the same machine as the server application. Whenever a client application needs access to data from the database, it will ask the server application to retrieve it. The server will interrogate the database and will only retrieve to the client, information that is specific to the logged user in the client application. Whenever a user updates his profile or a new user is registered, the client application will ask the server to update the database. Page 11 of 14
  • 14. Voicenger - System Requirements Specification Page 12 of 14
  • 15. Voicenger - System Requirements Specification 5 Non-Functional Requirements 5.1 Client Application Requirements The recommended minimum system requirements for the client application are:  1 GHz x86 processor;  512 MB of system memory (RAM);  100 MB of free disk space;  Graphics card and monitor capable of 1024x768 resolution;  Sound card;  Microphone;  Speakers;  Internet connection with minimum 1Mbps bandwidth;  Windows XP SP2 / Vista / 7. 5.2 Server Application Requirements The recommended minimum system requirements for the server application are:  2 GHz x86 processor;  1 GB of system memory (RAM);  10 GB of free disk space;  Internet connection with minimum 10Mbps bandwidth. 5.3 Performance Requirements The system must be very responsive. Since this is a Peer to Peer system, the maximum number of supported clients in parallel is quite high. There is no possibility of concurrence issues with the database management system, since it is only administrated by the server application. Current specifications are both scalable in terms of client number and performance, without negative effects on system performance. Server storage and performance should be adequate in case the number of clients grows. 5.4 Availability and Reliability Requirements Downtime allowance for the server is limited under 0.05% per month. It is strongly recommended that the database is regularly backed up. Page 13 of 14
  • 16. Voicenger - System Requirements Specification 6 Testing Considerations Testing should be done taking into account different possible usage scenarios; both correct and incorrect usage should be tested. Database structure should be thoroughly tested before populating it. Extra testing should be taken into account for unlikely usage, such as many concurrent changes on a single database (several users updating their profiles), changes on tables of friends list and ignore list, etc. It should be measured that the performance remains constant at full load. Page 14 of 14