You are on page 1of 33

E-Mail, IM and File Sharing System

(Software Specification Requirement)

Ahmed Kamal (Team Lead) Abdul Rehman Jameel Muhammad Hassan Nosher Wan Khan

L1F08BSCS2004 L1F08BSCS0011 L1S08BSCS0014 L1F08BSCS0046

P a g e |2

CONTENTS
Chapter 1: Introduction ...............................................................................................................................................4 Purpose .....................................................................................................................................................................4 Document Conventions ...........................................................................................................................................4 Intended Audience and Reading Suggestions ........................................................................................................4 Scope .........................................................................................................................................................................5 References ................................................................................................................................................................5 Chapter 2: Over All Description ..................................................................................................................................6 Business Vision.........................................................................................................................................................6 Chapter 3: Specific Requirements ...............................................................................................................................7 Business requirements ............................................................................................................................................7 User requirements ...................................................................................................................................................8 Super admin .........................................................................................................................................................8 Free User ...............................................................................................................................................................8 Premium User.......................................................................................................................................................9 Functional Requirements ......................................................................................................................................10 E-Mail ..................................................................................................................................................................10 IM ........................................................................................................................................................................10 Social Networking ..............................................................................................................................................10 Blogging ..............................................................................................................................................................10 Non-Functional Requirements ..............................................................................................................................11 Avialability ..........................................................................................................................................................11 Security ...............................................................................................................................................................11 Maintainability ...................................................................................................................................................11 Portability ...........................................................................................................................................................11 Chapter 4: Supporting Information ..........................................................................................................................12 Use Case Diagram ...................................................................................................................................................12

P a g e |3 Use Case Explanation .............................................................................................................................................13 Use Case 1: Delete Account ................................................................................................................................14 Use Case 2: Block Account .................................................................................................................................15 Use Case 3: Delete Blog ......................................................................................................................................16 Use Case 4: Register ...........................................................................................................................................17 Use Case 5: Login ................................................................................................................................................18 Use Case 6: Send Email ......................................................................................................................................19 Use Case 7: Store Email......................................................................................................................................20 Use Case 8: Post Message ..................................................................................................................................21 Use Case 9: Attach File .......................................................................................................................................22 Use Case 10: Modify Profile Info .......................................................................................................................23 Use Case 11: Add Contact ..................................................................................................................................24 Use Case 12: Block Contact ................................................................................................................................25 Use Case 13: Conference Chat ...........................................................................................................................26 Use Case 14: Video Chat .....................................................................................................................................27 Use Case 15: Create Multi Sub-Accounts ..........................................................................................................28 DFD (Data Flow Diagram) Level - 0 ......................................................................................................................29 DFD (Data Flow Diagram) Level - 1 ......................................................................................................................30 Chapter 5: System / User Related Specifications .....................................................................................................31 User Classes and Characteristics ...........................................................................................................................31 Operating Environment .........................................................................................................................................31 User Documentation ..............................................................................................................................................31 Assumptions , Dependencies And Third Party Services......................................................................................31 Hardware And Software Requirements ...............................................................................................................31 Bibliography .................................................................................................................................................................33

P a g e |4

CHAPTER 1: INTRODUCTION
PURPOSE
The main purpose of this project is to provide the user with everyday internet working needs in one single application.

DOCUMENT CONVENTIONS
E-Mail Electronic mail commonly called email or e-mail is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. (Wikipedia) Instant messaging (IM) is a 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. (Wikipedia) File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multi-media (audio, video), documents, or electronic books. It may be implemented through a variety of ways. (Wikipedia) Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the application. They are said to form a peer-to-peer network of nodes. (Wikipedia) The term "client/server" refers to the network architecture in which two computers are connected in such a way that one computer (the client) sends service requests to another computer (the server). Common service requests include retrieving a web page, accessing an application, or receiving email. (Techtarget)

IM

File Sharing

P2P

Client/Server

INTENDED AUDIENCE AND READING SUGGESTIONS


The rest of this SRS is organized as follows: Chapter 2 gives an overall description of the software. It gives what level of proficiency is expected of the user, some general constraints while making the software and some assumptions and dependencies that are assumed. Chapter 3 gives specific requirements which the software is expected to deliver. Functional requirements are given by various use cases that are explained in Chapter 4. Some performance requirements and design constraints are also given, and Chapter 5 consists of system and user related specifications.

P a g e |5

SCOPE
The scope of this project is to provide the user with easy and user-friendly application that can help them with communicating, sharing data and to help them improve their social circle in an easy manner.

REFERENCES
IEEE SRS Format http://en.wikipedia.org/wiki/Email http://en.wikipedia.org/wiki/Instant_messaging http://en.wikipedia.org/wiki/File_sharing

P a g e |6

CHAPTER 2: OVER ALL DESCRIPTION


BUSINESS VISION
The vision of this project is to provide the user an application that can help him use all the basic internet communication services under one single unit. All the email, IM, File sharing, Social Networking and Blogging can be done with the help of just one application providing the user a quick way to overcome his/her separating communication problems and also saving precious time.

P a g e |7

CHAPTER 3: SPECIFIC REQUIREMENTS


BUSINESS REQUIREMENTS
The main focus of this system that is to be developed is to provide its customer/user some of the key features that include all the basic and most used modes of communication on the internet, which include:

E-Mail

The system will facilitate the user with all the basic email operations

Instant Messaging (IM) The system will provide the users to communicate in real time, where they can respond quickly to

questions or comments made by others.

File Sharing

The system will facilitate the user to distribute or to share files, such as computer programs, multimedia files (audio, video), documents etc.

Social Networking

The system will facilitate the users to communicate with each other and to share stuff easily and quickly while maintaining their privacy.

Blogging

The system will facilitate the user to create, publish and share their information on a particular subject.

P a g e |8

USER REQUIREMENTS
There are three types of user that will be using this system Super Admin Free User Premium User

SUPER ADMIN
Super Admin will be able to: Login Delete Account Block Account Delete Blog

FREE USER
The Free User will be able to: Register Login Send Email Attach File (single) Add Contacts Edit Contacts Block Contacts Delete Contacts Conference Chat Share File (single) Modify Profile Post Messages Delete Messages Post blog Delete blog posts

P a g e |9

PREMIUM USER
Register Login Send Email Store Emails Attach File (multiple) Add Contacts Edit Contacts Block Contacts Delete Contacts Conference Chat Video Chat Share File (multiple) Modify Profile Info Post Messages Post Links Post Pictures Delete Messages Delete Pictures Create multiple sub-accounts in the same blog Post Blog Delete existing blog posts Modify blog posts

P a g e | 10

FUNCTIONAL REQUIREMENTS
E-MAIL
System will be able to store messages received in the Inbox. System will be able to store messages sent in the Outbox. System shall provide support for attachment(s). System will be able to provide options to save mails as drafts. System will be able to store deleted mails in the Trash Bin.

IM
System will allow users to add contacts. System will allow users to edit contact information. System will allow users to block contacts. System will allow users to delete contacts. System will allow conference chat with more than one user at a time. System shall allow the facility of video chat. System shall allow file sharing through peer-to-peer (P2P) connectivity.

SOCIAL NETWORKING
System shall be able to display user profile. System shall allow user to modify profile information. System will allow users to post messages/pictures/links to other users profiles. System will allow users to delete their messages. System will allow users to delete their pictures.

BLOGGING
System shall provide provisions for logging into same blog through multiple sub-accounts. System will allow users to enter content in text box and post to blog. System will allow users to modify existing blog posts. System will allow users to delete existing blog posts.

P a g e | 11

NON-FUNCTIONAL REQUIREMENTS
The Non-Functional Requirements include: System will provide filters for placing emails with specific addresses/topics/content into designated folders. System will have strict spam filtering option. System will present a notification in case email is not delivered successfully. System shall allow sending/receiving files of all types. System will be able to search for relevant keywords and generate tags for blog posts.

Some other general Non-Function Requirements include:

AVIALABILITY
The system should be available at all times, meaning the user can access it 24/7

SECURITY
Passwords will be saved encrypted in the systems database in order to ensure the users privacy. The users ID will be logged. Sensitive data will be encrypted before being sent over the internet.

MAINTAINABILITY
A commercial database is used for maintaining the database. In case of a failure, a re-initialization of the program will be done. Also the software design is being done with modularity in mind so that maintainability can be done efficiently.

PORTABILITY
Since the application is being designed in C#.NET, so portability is an issue for the users using operating systems other then Windows. This application is basically molded to only be used by the Windows users.

P a g e | 12

CHAPTER 4: SUPPORTING INFORMATION


USE CASE DIAGRAM

P a g e | 13

USE CASE EXPLANATION


There are total 25 Use Cases of which 15 are explained. Delete Account(general) Block Account(general) Delete Blog(blog) Register Login Send Email Store Emails Attach File Add Contacts Edit Contacts Block Contacts Delete Contacts Conference Chat Video Chat Share File Modify Profile Info Post Messages Post Links Post Pictures Delete Messages Delete Pictures Create multiple sub-accounts Post Blog Delete existing blog posts Modify blog posts

P a g e | 14

USE CASE 1: DELETE ACCOUNT

Priority: 1 (high) Actors: Super admin Summary: The super admin will be able to delete an existing account made by a user. Pre-condition: An account already exists which is to be deleted. Post-condition: The account is no longer available anywhere in the system. Includes / Extends: None Normal Course Of Event: User Action The event starts when the admin wants to delete an account. The admin clicks on the delete account button located at the center of the screen. The admin marks the check box parallel to the account that is to be deleted and clicks the Delete Button located at the Down Bottom of the Window. System Response

The system responds by taking the admin to the Delete Account Window. The system responds by deleting the account and takes the admin back to the main admin Window.

Alternative path: None Exceptions: None. Assumptions: The admin successfully deletes the account.

P a g e | 15

USE CASE 2: BLOCK ACCOUNT


Priority: 1 (high) Actors: Super admin. Summary: The super admin will be able to block an existing account made by a user. Pre-condition: An account already exists which is to be blocked. Post-condition: The user account has been blocked. Includes / Extends: None Normal Course Of Events: User Action The event starts when the admin wants to block an account. The admin clicks on the block account button located at the center of the screen below the delete account button. The admin marks the check box parallel to the account that is to be block and clicks the Block Button located at the Down Bottom of the Window. System Response

The system responds by taking the admin to the Block Account Window. The system responds by Blocking the account and takes the admin back to the main admin Window.

Alternative path: None Exception: None. Assumption: The admin successfully blocks the account.

P a g e | 16

USE CASE 3: DELETE BLOG


Priority: 1 (high) Actors: Super admin. Summary: The super admin will be able to delete a blog made by a user. Pre-condition: A blog already exists which is to be deleted. Post-condition: The blog has been deleted. Includes / Extends: None Normal Course Of Events: User Action The event starts when the admin wants to delete a blog. The admin clicks on the delete blog button located at the center of the screen below the block account button. The admin marks the check box parallel to the Blog that is to be deleted and clicks the Delete Button located at the Down Bottom of the Window. System Response

The system responds by taking the admin to the Delete Blog Window. The system responds by deleting the Blog and takes the admin back to the main admin Window.

Alternative path: None Exception: None. Assumption: The admin successfully deletes the blog.

P a g e | 17

USE CASE 4: REGISTER


Priority: 1 (high) Actors: Free User / Premium User. Summary: The user can register a free or a premium account. Pre-condition: A User wants to register. Post-condition: The User has been registered. Includes / Extends: None Normal Course Of Events: User Action The event starts when the user wants to register. The User clicks the register button located at the Center of the main Window. The User then fills the required fields on the screen and after that the user clicks the submit button. System Response The system responds by taking the user to the registration Window. The system responds by checking whether the information given by the user is valid or not , if valid then the System takes the user to another window on which it is written Successfully Registered Message and a button below it to go to the main page, if the information is not valid then the system shows an error Incomplete / User Already Exits and takes him back to the registration page.

Alternative path: None Exception: None. Assumption: The User has successfully registered.

P a g e | 18

USE CASE 5: LOGIN


Priority: 1 (high) Actors: Super Admin / Free User / Premium User. Summary: The user can login to the system and perform whatever task he/she wants to. Pre-condition: A User wants to Login to the system. Post-condition: The has successfully logged in. Includes / Extends: Verify Normal Course Of Events: User Action The event starts when the user wants to Login. The User clicks the Login Button located at the Center of the main Window below the Register Button. The User then fills the required Username and Password Field on the screen and clicks the submit button Located below the password field. System Response The system responds by taking the user to the Login Window. The system responds by checking whether the information given by the user is valid or not , if valid then the System takes the user home page, if the information is not valid then the system shows an error Invalid Username / Password and takes him back to the Login page.

Alternative path: None Exception: None. Assumption: The User has successfully Logged in.

P a g e | 19

USE CASE 6: SEND EMAIL


Priority: 2 (low) Actors: Free User / Premium User. Summary: The user can send an email to other user(s). Pre-condition: User must be logged in. Post-condition: User returns to the main home page. Includes / Extends: Normal Course Of Events: User Action The event starts when the user wants to send an email. The User selects clicks on the send email button located at the center of the user home page. The User then writes the email address in the email field the subject in the subject field and the message in the text area below the subject field. The user then clicks the send email button below the text area. System Response The system responds by taking the user to the send email window. -

The system responds by displaying the message Email Successfully Delivered and takes the user back to the user homepage.

Alternative path: None Exception: The system shows a delivery failure notification if the email entered does not exists in the system. Assumption: The User has successfully sends the email.

P a g e | 20

USE CASE 7: STORE EMAIL


Priority: 2 (low) Actors: Free User / Premium User. Summary: The user can store an email to use it later. Pre-condition: User must be logged in. Post-condition: User returns to the main home page. Includes / Extends: Normal Course Of Events: User Action The event starts when the user wants to store an email. The User selects clicks on the store email button located at the center of the user home page below the send email button. The User then writes the email address in the email field the subject in the subject field and the message in the text area below the subject field. The user then clicks the save email button below the text area. System Response The system responds by taking the user to the store email window. -

The system responds by displaying the message Email Successfully Saved In Drafts and takes the user back to the user homepage.

Alternative path: None Exception: None. Assumption: The User has successfully saved the email.

P a g e | 21

USE CASE 8: POST MESSAGE


Priority: 2 (low) Actors: Free User / Premium User. Summary: The user can post message on another users profile. Pre-condition: User must be logged in. Post-condition: User returns to his/her profile. Includes / Extends: Normal Course Of Events: User Action The event starts when the user wants post a message. The User selects his/her friend from the name list of his/her friends located at the down left of the page. The User then writes whatever message he wants to post on the text box provided at the top of the window and clicks Post. System Response The system responds by taking the user to the profile of his/her friend. The system responds by posting the message.

Alternative path: None Exception: None. Assumption: The User has successfully posted the message.

P a g e | 22

USE CASE 9: ATTACH FILE


Priority: 2 (low) Actors: Free User / Premium User. Summary: The user can attach a file with an e-mail. Pre-condition: A user wants to send an email to another user. Post-condition: The has returns to the user home page. Includes / Extends: Normal Course Of Events: User Action The event starts when the user wants to attach a file with the email. The User clicks the attach button placed below the Subject text blow. The User then selects the file from his/her computer and clicks the Attach button. System Response

The system responds and pops up a file dialog box. The system responds by checking whether the size of the file exceeds the given limit or not. If it does then it shows an error Attachment too large, else the file attaches with the email.

Alternative path: None Exception: The file that is attached has an invalid extension hence causing an error. Assumption: The User has successfully attached the file.

P a g e | 23

USE CASE 10: MODIFY PROFILE INFO


Priority: 2 (low) Actors: Free User / Premium User. Summary: The user can change the profile settings. Pre-condition: User must be logged in. Post-condition: The user returns to the user home page. Includes / Extends: Verify Normal Course Of Events: User Action The event starts when the user wants modify his/her profile information. The User clicks the Edit Profile Button located at the top right of the window. The User then fills the profile information related fields that he/she wants to change and clicks the save button located down bottom of the page. System Response

The system responds by taking the user to the Edit Profile Window. The system responds by prompting the user with a message Successfully modified.

Alternative path: None Exception: The user missed must-fill information hence fails to modify the information. Assumption: The User has successfully updated his/her profile.

P a g e | 24

USE CASE 11: ADD CONTACT


Priority: 2 (low) Actors: Free User / Premium User. Summary: The user adds a new contact in his/her lists with the help of add contact function. Pre-condition: The user must be logged in. Post-condition: The user returns to the instant messenger window. Includes / Extends: Normal Course Of Events: User Action The event starts when the user wants to add a new contact. The User selects the add contact button located at the top center of the instant messenger window. The User then writes the email address in the email field and presses the Add Contact Button. System Response

The system responds by popping a add contact window. The system responds by successfully adding all the user and then takes back to the instant messenger window.

Alternative path: None Exception: The email does not exist hence an error occurs. Assumption: The User successfully adds a new contact.

P a g e | 25

USE CASE 12: BLOCK CONTACT


Priority: 2 (low) Actors: Free User / Premium. Summary: The user can block a contact with the help of block contact function. Pre-condition: The user must be logged in. Post-condition: The user account has been blocked. Includes / Extends: None Normal Course Of Events: User Action The event starts when the user wants to block an account. The user selects his/her contact from the list from IM and clicks the block account button located at the top center of the screen right next to add contact button. System Response

The system responds by blocking the selected contact.

Alternative path: None Exception: None. Assumption: The user successfully blocks the account.

P a g e | 26

USE CASE 13: CONFERENCE CHAT


Priority: 2 (low) Actors: Free User / Premium User. Summary: The user can chat with multiple users at a single time. Pre-condition: More than one user is online. Post-condition: The user chats with other users. Includes / Extends: Normal Course Of Events: User Action The event starts when the user wants a conference chat. The User selects conference chat button in the window he/she is already chatting with. The User then selects whichever user he/she wants to add in the conference and presses the Start Conference Button. System Response

The system responds by showing the list of users that are online. The system responds by successfully adding all the user in the conversation already taking place.

Alternative path: None Exception: The user missed must-fill information hence fails to modify the information. Assumption: The User has successfully updated his/her profile.

P a g e | 27

USE CASE 14: VIDEO CHAT


Priority: 2 (low) Actors: Premium User. Summary: The user video chat with his/her contacts. Pre-condition: User must be logged in and a contact is online. Post-condition: Includes / Extends: Normal Course Of Events: User Action The event starts when the user wants to video chat. The User selects video chat button in the chat window located at the top left of it. System Response The system responds by sending the request of video chat to the contact.

Alternative path: None Exception: The contact rejects the video chat request. Assumption: The User has successfully started the video chat.

P a g e | 28

USE CASE 15: CREATE MULTI SUB-ACCOUNTS


Priority: 1 (high) Actors: Premium. Summary: The user can create multiple sub-accounts for other users might be interested to post in his/her blog. Pre-condition: The user must be logged in to his/her blog. Post-condition: The user returns to the main blog page. Includes / Extends: None Normal Course Of Events: User Action The event starts when the user wants to create subaccount(s) for his/her blog. The user selects the create sub-account button located at the top center of the main blog page. The user then types the desired username and password for the sub-account and clicks the create account button below the password field. System Response

The system responds by taking the user to create subaccount window. The system responds by successfully making the account if the details are entered correctly.

Alternative path: None Exception: User with same name already exists hence. Assumption: The user successfully creates the sub-account.

P a g e | 29

DFD (DATA FLOW DIAGRAM) LEVEL - 0

Note: It was really difficult to manage all the data flows in and out of the system. Hence Important data flows are mentioned in the DFD above. Premium user has all the data flow that are of the free user.

P a g e | 30

DFD (DATA FLOW DIAGRAM) LEVEL - 1

P a g e | 31

CHAPTER 5: SYSTEM / USER RELATED SPECIFICATIONS


USER CLASSES AND CHARACTERISTICS
The user should have basic computer skills. The user should be familiar with all the basic internet terminologies and should know what E-mail, IM and file sharing systems are.

OPERATING ENVIRONMENT
As this application will be developed in C#.NET, hence it will only run in all the Windows Operating System.

USER DOCUMENTATION
Tutorials will be delivered along with the software that will help the user understand how various kinds of operations are performed in the system.

ASSUMPTIONS , DEPENDENCIES AND THIRD PARTY SERVICES


The details related to the product and payment will be provided manually. This system will have administrator(s) but they will have fewer functions to tackle with, as this system is more client-to-client. This system uses a third part SMS service that will provide the user with notifications related to the system.

HARDWARE AND SOFTWARE REQUIREMENTS


o Processor: PC with a Pentium II-class processor, 450 MHz Recommended: Pentium III-class, 600MHz 128MB Recommended: 256MB

RAM:

o o

Available Hard Disk Space : 200MB Operating System : Windows XP , Windows 7 , Windows Vista with .NET Framework 2.0 or above

P a g e | 32

P a g e | 33

BIBLIOGRAPHY
Techtarget. <http://searchnetworking.techtarget.com/definition/client-server>. Wikipedia. <http://en.wikipedia.org/wiki/Email>. Wikipedia. Wikipedia. <http://en.wikipedia.org/wiki/Instant_messaging>. Wikipedia. <http://en.wikipedia.org/wiki/File_sharing>. Wikipedia. <http://en.wikipedia.org/wiki/Peer-to-peer>.

You might also like