Software Requirements
Specification
                                     For
                           LinkedIn
(Social Networking Platform for Students)
                                                 Table of Contents
1. Introduction.......................................................................................................................... 1
    1.1 Purpose............................................................................................................................ 1
    1.2 Document Conventions.................................................................................................... 1
    1.3 Intended Audience and Reading Suggestions...................................................................1
    1.4 Definitions, acronyms, abbreviations................................................................................ 1
      1.5 Scope……………………………………………………………………………………
                            3
2. Overall Description.............................................................................................................. 3
    2.1 Product Perspective.......................................................................................................... 3
    2.2 Product Features............................................................................................................... 4
    2.3 User Classes and Characteristics....................................................................................... 5
    2.4 Operating Environment.................................................................................................... 5
    2.5 Design and Implementation Constraints...........................................................................5
    2.6 Assumptions and Dependencies........................................................................................ 7
3. Specific Requirements.......................................................................................................... 7
    3.1 Functional Requirement................................................................................................... 7
    3.2 Requirements of the bank computer for the ATM…………………………………… ………..11
4. External Interface Requirements...................................................................................... 13
    4.1 User Interfaces............................................................................................................... 13
    4.2 Hardware Interfaces....................................................................................................... 13
    4.3 Software Interfaces......................................................................................................... 14
5. Other Nonfunctional Requirements.................................................................................. 14
    5.1 Performance Requirements............................................................................................. 14
    5.2 Safety Requirements....................................................................................................... 14
    5.3 Security Requirements.................................................................................................... 14
    5.4 Software Quality Attributes............................................................................................ 15
6. Other Requirements........................................................................................................... 15
7. Design………………………………………………………………………………………..
8. Test cases……………………………………………………………………………………..
                                                                                                Page 1
      1. Introduction
LinkedIn is the world's largest professional network with hundreds of millions of members, and
growing rapidly. Their mission is to connect the world's professionals and growing students to
make them more productive and successful. It can help you:
         1.Establish your professional profile and control one of the top search results for your
name.
         2.Build and maintain your professional network.
         3.Find and reconnect with colleagues and classmates.
         4.Learn about other companies, and get industry insights.
         5.Find other professionals in the same industry using groups.
         6.Share your thoughts and insights through LinkedIn's long-form publishing platform.
         7. Tap into the knowledge of your network.
         8.Discover new career opportunities by searching for jobs.
1.1     Purpose
       LinkedIn is a business-focused student and working people networking site launched in
2003. Its main purpose is to help people professionally and make people socialize. Here, people can
get new connections and contact which could be very useful for them in future. This is a free
software but also has a premium version only for its premium users.
      The site lets you find other business associates, clients, and colleagues whom you already
know. You "connect" with them through the site, and they then become part of your network. Once
you've connected with a person, you will then have access to their list of connections – this is called
your "extended network."
       You can request an introduction to people in your extended network through your mutual
contact. LinkedIn also provides other features including the ability to set up and join groups, and a
jobs section where members can advertise open positions or apply for jobs.
                                                                                                   Page 2
1.2       Document Conventions:
              Font: TNR 11
1.3       Intended Audience and Reading Suggestions
  This Software Requirements document is intended for:
         Users who should have the basic Knowledge of computers and internet in order to perform
          tasks and who wishes to read about what this project can do. User can access only the
          services given by the Admin. End users can also go through this document to know what
          basically this application can do.
         Administrators should have the basic Knowledge of computers and Visual Basic in order to
          perform tasks. An Admin can access to any users profile whereas a user cannot access
          neither to admin’s profile nor to any other users profile.
         Developers who can view project’s abilities and can easily understand to add more features
          for future development.
1.4       Definitions, abbreviations
      1.4.1 Definitions
      • Website - A website is a collection of related web pages, including multimedia content,
typically identified with a common domain name, and published on at least one web server. A
website may be accessible via a public IP network, such as the Internet, or a private LAN, by
referencing a URL that identifies the site.
      • Users - Users are the interested people who use this website to get perfect match for them.
They can be anyone and anywhere in the world.
        •Registrations - It is a process in which users have to give his/her details and e-mail id to get
registered and start finding perfect match for them.
         • Login - Id It is a unique id which is used by user to get himself login into the website. This
id is allocated to user at the time of registration.
                                                                                                   Page 3
       • Profile - Profile is a short article giving a description of a person or organization. In this
website, user have to make his/her profile to let others to get know about your interests and
background
      1.4.2 Abbreviations
               IP - Internet Protocol
               LAN - Local Area Network
               URL - Uniform Resource Locator
               DNS – Domain Name Server 5
               OS – operating system
1.5      Project Scope
      This Project is based on app. The main objectives of LinkedIn are:
         To connect the world's professionals to make them more productive and successful,” and
because the business is a for profit company, the main objective of the LinkedIn application is for
the business to make a profit based on our use of the application.
           In regards to the users, the main objectives of LinkedIn are to develop a professional
network by building a professional profile, nurturing your growing network and generating a
professional reputation.
          LinkedIn is perhaps the most overlooked social network. But overall, it is actually more
popular than Twitter, generally considered the number two social network in the U.S.
          The latest data shows a higher proportion of U.S. adults on the internet (22%) have used
LinkedIn, compared to the percentage who have used Twitter.
                                                                                                    Page 4
2.         Overall Description
       2.1 Product Perspective
              A Database is included for more than one user in the system. Every user has a unique
login id and it will uniquely open the database for each user. Admin provides different username
and password for each user.
  I.      Communication interface: The website must connect with a DNS and a web server i.e.,
          internet. Software interface: The website should support nearly all web clients or web
          browsers which work as a platform to run web applications.
 II.       Hardware interface: The application must run on any OS. Ex. Windows, Mac, android.
III.      User interfaces
                  Administrator: The administrator of the website is allowed to access all the services
       in the application. The username and password for the end user is given by the administrator.
                 User: The user is allowed to access the services given by the administrator like
       searching, updating profile, login etc. User interface must be user friendly so that he/she finds no
       problem to enter their details and getting themselves register.
                Maintainer: The maintainer is responsible for adding new feature to the website. A
       maintainer should be possible to update the data in the database.
         2.2 Product Features
                 The website identifies a user by a login id and password The website should work 24
       hours. It collects information about a user [Name, Email and Mobile] and send it to database of
       the server. When user request to website then it goes to web server and respond back to user
       request. The website requires appropriate record keeping and security provisions. The website
       must handle concurrent accesses to the same user profile correctly.
        2.3 User Classes and Characteristics
Characteristics: There are several users of this application:
        Users are fans and customers that make use of the service.
        Administrator need have no special education or experience.
        Maintainers must be experienced and have proper knowledge of internet and web services.
                                                                                                 Page 5
      2.4 Operating Environment
The hardware, software and technology used should have following specifications:
         Ability to take input from the user
         Ability to store the data concurrently
         Ability to connect to people all around the world
         Ability to search efficiently
         Proper connection to the database and internet
         Proper peer-to-peer connection
         Ability to validate user
2.1       Design and Implementation Constraints
REGISTRATION CONSTRAINTS
Validate Username:
         Username should be acceptable and follow the username constraints
         Every user must have a unique username
         If username already exists, then prompt “Username already exists”
Validate Password:
         Password should follow the password constraints like minimum no. of characters, etc.
         There should be no space between characters in password.
Validate profile:
         Profile must have suitable information like input string only in name column
                                                                                                  Page 6
LOGIN CONSTRAINTS
Validate username:
         Username should be correct.
         Prompt error message “mandatory” in case if the column is empty
Validate password:
         Password should be correct
         Prompt error message “mandatory” if in case column is empty
2.6Assumptions and Dependencies
         Database should never corrupt
         Web server / Application must be working for 24 hours
         No two accounts should have same mail ID
         User information should be correct and contact details should be verified
3.        Specific Requirements
3.1       Functional Requirements
The functional requirements are listed below;
Functional requirement 1: USER LOGIN
         Description: Authenticate user into their account
         Input: Username and Password, Enter the app if credentials are validated successfully
         Processing: Open the login page and enter the correct login credentials i.e. Username and
          Password. The details are then validated;
                   If validated successfully, authenticate user into their account
                   Else, prompt “Wrong username/password” and ask user to re-enter credentials
                    or click “forgot password”.
                                                                                        Page 7
      Output: Account homepage opens if validation successful, else stays in login page or
       redirected to forgot password page if required
      Authorization: The authorization starts after a user enters their account.
Functional requirement 2: FORGOT PASSWORD
      Description: Change the user’s account password if forgotten
      Input: Click on “Forgot password”
      Processing: Validation link sent to user mail and mobile
      Output: Prompt appears saying “Reset link sent to mail and mobile”. The user can change
       their password from that link
Functional requirement 3: PROFILE MANAGEMENT
      Description: Edit and update details of User
      Input: Click on “Update profile” button and enter all details
      Processing: Check if it is a valid cash card. It will be valid if
    The information on the card can be read.
    It is not expired.
      Output: Display error message and return cash card if it is invalid.
Functional requirement 5:
      Description: If the cash card is valid, the ATM should read the serial number and bank
       code.
      Input: Valid cash card.
      Processing: Read the serial number.
      Output: Initiate authorization dialog
Functional requirement 6:
      Description: The serial number should be logged.
      Input: Serial number from cash card
      Processing: Log the number.
      Output: Update to log file.
                                                                                             Page 8
Functional requirement 7:
      Description Authorization dialog: The user is requested to enter his password. The ATM
       verifies the bank code and password with the bank computer
      Input: Password from user, bank code from cash card.
      Processing: Send serial number and password to bank computer, receive response from
       bank.
      Output: Accept or reject authorization from bank.
Functional requirement 8:
      Description: Different negative answers from bank computer for authorization dialog.
      Input: Response from bank or authorization dialog:
           -“bad password” if the password was wrong.
           -“bad bank code” if the cash card of the bank is not supported by the ATM.
            -“bad account” if there are problems with the account.
      Processing: If the ATM gets any of these messages from the bank computer, the card will
       be ejected and the user will get the relevant error message.
      Output: Card is ejected and error message is displayed.
Functional requirement 9:
      Description: If password and serial number are ok, the authorization process is finished.
      Input: The ATM gets accept from the bank computer from authorization process.
      Processing: Finishing authorization.
      Output: Start transaction dialog.
Functional requirement 10:
      Description: If a card was entered more than three times in a row at any ATM and the
       password was wrong each time, the card is kept by the ATM. A message will be displayed
       that the customer should call the bank.
      Input: Entering a wrong password for the fourth time in succession
      Processing: Initiate authorization process Response from bank computer is to keep the card.
      Output: Display error message that the customer should call the bank.
                                                                                                Page 9
Functions: These are the requirements for the different functions the ATM should provide after
authorization.
Functional requirement 11:
      Description: The kind of transactions the ATM offers is: withdrawal
      Input: Authorization successfully completed. Enter the amount to withdraw.
      Processing: Amount entered is compared with m.
      Output: Amount of money to be dispensed is displayed. Begin initial withdrawal sequence.
Functional requirement 12:
      Description: Initial withdrawal sequence. If it is too much withdrawal redo the transaction.
      Input: Customer has entered the amount of money.
      Processing: Error if the amount is greater than m.
      Output: Start transaction or re-initiate transaction dialog if the amount is not within the pre-
       defined transaction policy.
Functional requirement 13:
      Description: Perform transaction.
      Input: Initial withdrawal sequence successful.
      Processing: Send request to the bank computer.
      Output: Wait for response from the bank computer.
Functional requirement 14:
      Description: If the transaction is successful, the money is dispensed.
      Input: ATM gets message “transaction succeeded” from the bank computer.
      Processing: ATM prints receipt, updates t and ejects the card. Dialog: Customer should take
       the card.
      Output: After the Customer has taken the card the money is dispensed.
Functional requirement 15:
      Description: If the money is dispensed, collects amount.
      Input: The amount requested is dispensed to the customer.
                                                                                               Page
                                                10
      Processing: the attaches the amount of money against the serial number of the card.
      Output: Amount together with the serial number. Response sent to bank for money
       dispensed.
Functional requirement 16:
      Description: If the transaction is not successful, an error message should be displayed. The
       card should be ejected.
      Input: ATM gets message “transaction not successful” from the bank computer.
      Processing: ATM displays error message. Dialog: Customer should take the card.
      Output: Eject card.
3.1.1 Requirements of the bank computer for the ATM
Authorization
The bank computer gets a request from the ATM to verify an account.
Functional requirement 1:
      Description: The bank computer checks if the bank code is valid. A bank code is valid if
       the cash card was issued by the bank.
      Input: Request from the ATM to verify card (Serial number and password.)
      Processing: Check if the cash card was issued by the bank.
      Output: Valid or invalid bank code.
Functional requirement 2:
      Description: If it is not a valid bank code, the bank computer will send a message to the
       ATM.
      Input: Invalid bank code
      Processing: Process message
      Output: The bank computer sends the message “bad bank code” to the ATM.
Functional requirement 3:
      Description: The bank computer checks if the password is valid for a valid cash card.
                                                                                             Page
                                                11
      Input: Request from the ATM to verify password.
      Processing: Check password of the customer.
      Output: Valid or invalid password.
Functional requirement 4:
      Description: If it is not a valid password, the bank computer will send a message to the
       ATM.
      Input: Invalid password.
      Processing: Process message. Update count for invalid password for the account.
      Output: The bank computer sends the message “bad password” to the ATM.
Functional requirement 5:
      Description: If it is a valid cash card and a valid password but there are problems with the
       account, the bank will send a message to the ATM that there are problems.
      Input: Valid cash card and password.
      Processing: Process message.
      Output: The bank sends “bad account” to the ATM.
Functional requirement 6:
      Description: If it is a valid cash card a valid password and there are no problems with the
       account the bank computer will send a message to the ATM that everything is ok.
      Input: Valid cash card password and account.
      Processing: Process message.
      Output: Send “account ok” to the ATM
Transaction
The bank computer gets a request to process a transaction from the ATM.
Functional requirement 7:
      Description: After a request the bank computer processes the transaction.
      Input: Request to process a transaction on an account and amount m to withdraw.
                                                                                                  Page
                                                    12
         Processing: Process transaction (together with the software of the bank.) Update k for
          amount.
         Output: If transaction succeeded, the bank computer sends the message “transaction
          succeeded” to the ATM. If not, it will send “transaction failed”.
Functional requirement 8:
         Description: Update account after money is dispensed.
         Input: Response from ATM about money dispensed.
         Processing: Updates account.
         Output: New account record
Functional requirement 9:
         Description: Each bank has a limit k for each account about the amount of money that is
          available via cash card each day     monthly.
         Input: Request to process transaction.
         Processing: Check if the amount of money doesn’t exceed k
         Output: If the amount exceeds the limit, the transaction will fail.
Functional requirement 10:
         Description: The bank only provides security for their own computer and their own
          software.
4.        External Interface Requirements
4.1       User Interfaces
The user interface should be attractive and easily understandable so that the user does not face any
difficulty and require no assistance to use the application.
         Administrator: The interface must be such that administrator is allowed to access all the
          services in the application. The username and password constraints for the end user is given
          by the administrator. He is able to control all over happenings of the application.
          User: The user is allowed to access the services given by the administrator like searching,
          updating profile, login etc. User interface must be user friendly so that he/she finds no
          problem to use the app and avail the services.
                                                                                                   Page
                                                    13
          Maintainer: The maintainer is responsible for adding new features to the application. So,
          interface of maintainer is such that he is able to update the data in the database and update
          the existing features too.
4.2       Hardware Interfaces
The application must run on any OS like Android, IOS, Windows, etc.
4.3       Software Interfaces
The application must support in every latest version of any operating system and the website should
support almost every web browser which works as a platform to run the application.
5.        Other Non-functional Requirements
5.1       Performance Requirements
         Application/Website must run in slow internet connection too (at least some functions)
         User data must be saved automatically in case of bad network connectivity
         Faster response and User interface
         Messages and data must be sent and received faster
         Switching between links must be fast
         Regular maintenance and updating of app and website must be done
         User end data must be encrypted and should only be able to accessed by the Admin and that
          User.
5.2       Safety Requirements
         Website and Application must have a strong firewall and safe from intruders
         No two users can have same usernames
         Admin Id must be unique and encrypted so that no one else can use it
                                                                                              Page
                                                    14
5.3       Security Requirements
         Users are insisted to change their passwords regularly for security reasons
         Maximum login attempts: 3
         Two factor authentication can be enabled for extra security
5.4       Software Quality Attributes
          Security.
          Performance
6.        Other Requirements
 6.1 DNS
        The website/application has to connect to a DNS so that it can convert its IP to a name and
user face no difficulty in remembering it.
 6.2 Web Server
             The website must be connected to a web server to make it available worldwide.
             The application must be available on Play store and Apple app store and other app
              libraries so that the users can install the application easily
6.3 Database
         The user’s details and data must be saved in a database provided by server. The database
must be secured and end-to-end encrypted.
                                                        Page
                                           15
7.    DESIGN
                                   DATA FLOW DIAGRAMS
 I.   Zero level DFD – LinkedIn
II.   First level DFD – LinkedIn
                                                    Page
                                        16
III.   Second level DFD – LinkedIn
                                 STRUCTURED CHART
                              Page
            17
USE CASE DIAGRAM – LINKEDIN
                       Page
                  18
8.   TEST CASES