Software Requirements Specification For Linkedin Prepared by Pranab Chetry Registration: 11812704 Section: K18PA/B26 Submitted to: Suruchi Talwar Lovely Professional University 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 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. Purpose LinkedIn is a business-focused social networking site that launched in 2003. Its main purpose is to help people network professionally. The basic service is free. 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. Definitions, acronyms, abbreviations Here are a few useful terms you should know when using LinkedIn: Connections – Connections are other registered users who you know personally on LinkedIn. Although you can invite anyone to be a connection, they will need to set up an account to use the site. Second-degree connections – These are the connections that your connections have. For example, you're friends with Bill, who is directly connected with his boss. Bill's boss is a second-degree connection for you. Third-degree connection – Any connections from your second-degree connects are third-degree connections. So, Bill's boss's connections would be your third-degree connections. Profile page – This is your personal page on LinkedIn. All registered users with LinkedIn can view it (unless you set it to be a private page). Your profile page can list your education, past work history, current and past projects, groups and associations, and more. Users can also forward your profile page to contacts on their lists. You can also make your profile page "public" so that anyone (even people not on LinkedIn) can view it. Recommendations – Your connections can write recommendations, or testimonials, for your profile. These can be a powerful testament to your business and professional skills. Introductions – Introductions are when a third party introduces two people who weren't currently connected. For instance, your colleague Sue and your client Dan don't know each other. You think Sue could help solve a problem that Dan is having with one of his projects, so you introduce Sue and Dan through LinkedIn. Introductions are simply a way to bring people together on the site. Scope Eight years after its launch and a few short months after its $4.3 billion IPO valuation, LinkedIn has quickly become the de facto tool for passive job searches, living just on the fringe of the pure play job sites like The Ladders, Monster, and CareerBuilder. In its blander sense, LinkedIn operates as a means for collecting contacts and staying abreast of who is now working where. As for everyday business, it has not woven itself into the social fabric in the same way as Facebook or even Twitter. And whereas Facebook has managed to straddle the line between desktop and mobile, LinkedIn has struggled. Overall Description Product Perspective ALPHA Release - A Work in Progress (WIP) /unstable software release of a product is characterized as an ALPHA. This product is expected to have basic issues, bugs, even unforeseen crashes and is under active development by the R&D teams.This ensures that a usable version of a product goes to the BETA stage with a known list of punch points – which need to be resolved at the BETA stage. BETA Release - A software release reaches the BETA stage once it has attained stability in terms of critical punch points being resolved as per the test reports and regression cycles. A BETA software release aims to fix the other major issues and known bugs as part of frequent software release drops. At this stage, any feature gaps with respect to the standards should also be addressed. CANDIDATE Release - A software release reaches the maturity to be a production CANDIDATE once all its known issues, and fixes reported by the quality assurance team have been resolved. In order to evolve from this stage to become a GA release, the software should address critical features such as high availability, fault tolerance & load balancing. Once these criterion are met, the software evolves to GA maturity. GA (GENERAL AVAILABILITY) Release - A software release which has attained GA maturity is fit for production quality after all the necessary commercialization activities have been completed and a software product is available for purchase in the market. Product Features Listed below are my Top 5 features of Linkedin Posting Updates This feature allows you to broadcast your interests and point of view. your contacts would appreciate seeing the content and you will be providing a point of view based on your unique set of experiences and expertise. 2) News "Signals" Signals are a quick way to learn how many of your contacts are currently active on LinkedIn, which may mean that those contacts have some spare time. Located as the third option in the drop down "News" menu, "Signals" lets you see your contacts' activity in real-time. Check it out every now and then to get a sense of how people are using LinkedIn and to understand who might be free for a quick catch-up. Tags Tags are another lesser known feature that allows you to organize your connections however you see fit. LinkedIn automatically organizes your contacts based on company, location, industry, recent activity, and your relationship with that person. Additionally, you're also able to create new tags so that you can organize your contacts as you wish. Get Introduced" LinkedIn's "Get introduced" feature, located on the drop down to the right of 'Connect', allows you to send a message to one of your current contacts that is connected with the targeted professional. Yet, be sure to know that mutual connection well and clearly state sound reasons why you'd like your contact to put his reputation at stake to introduce you to one of his connections. NOTE: If you have a basic account (the free one), you're limited to 5 introductions. So, if that relates to you, choose your battles wisely. Personalizing Messages When Connecting Most of the connections people receive include the stock LinkedIn message attached. I don't have proof to back that fact up, but I'd be willing to bet it's true. When you personalize a message, you're creating a more memorable connection between yourself and the professional you're trying to add as a contact. User classes and characteristic Characteristics: It is a very popular job searching platform with many other flexibilities and features Software Requirements Specification for <Linkedin> Customer:-simply users of the Linkedin website and its database ,people of all sort are its part of environment like skilled people, unskilled people who are job seekers. And some big corporate companies who recruit professionals using this website. Maintenance:- is to be kept in mind to assure quick loading of website on any client machine be it desktop, mobile or any other device. This can be achieved by maintain its server properly Operating Environment The hardware, software and technology used should have following specifications: Software: Ability to manage huge traffic of request and response. Ability to keep the data safe and durable. Should have a strong secure protection against external hacks. Should be low on server resources to quickly respond to user’s request. Hardware: Should have a dedicated server to handle the huge request from all users Server should be kept in a cold clean place There should be a 24 Hour power backup facility Ability to connect to connect to other networks when required Technology:- Ability to adapt to new standards of internet Ability to add new component as required TEST CASE CASE 1 LOGIN Pre condition- User should have internet access Assumption – User already has an account in linkedin Expected Result—User will be logged in CASE 2 Validate Password: Pre condition- User should have internet access Assumption – User should know the password Expected Result—The password will be accecpted CASE 3 Recover Password: Pre condition- User should have internet access Assumption – User should have a valid email or number that is previously registered Expected Result—User will be sent an email or a text message to recover or set a new password CASE 4 Sign Up: Pre condition- User should have internet access Assumption – User is having a valid email and phone number Expected Result—User will be registered CASE 5 Setting Profile Picture: Pre condition- User should have internet access Assumption – User has the picture that he/she wants to upload Expected Result—User’s picture will be uploaded Assumptions and Dependencies Server never crashes Software is bug free Specific Requirements Functional Requirements The requirements for the Linkedin are organized in the following way General requirements and requirements for authentication. General:Functional requirement 1: Description:- If the Linkedin server is running low on memory then, no further requested should be accepted to that server ,instead it should be diverted to another server. Input:- Please wait while we process your request. Processing:- Transfer of request. Output:- Display the home page of website. Functional requirement 2: Description:- If the user is new and does not have a Linkedin account . Input:- Requests for first name , requests for last name ,email ID password Processing: Retrieves the provided information and makes a new account for the user and Output: Display congratulation and asks to add skill or resume to your account Authentication The website gets a request from the client to verify an account. Functional requirement 3: Description: - The Linkedin website runs into main memory Input:- User provides a username and a password to webpage Processing:- Server checks for the password and username are correct or not Output:- Displays a user account window with all its features Functional requirement 4: Description:- Allows to edit your profile Input:- Asks to upload a photo of you , add your work experience, or the company for which you have worked Processing:- Check the information and remover any spelling mistakes Output:- Displays the information as provided by the user Functional requirement 5: Description:- Allows to edit your profile Input:- Asks to upload a photo of you , add your work experience, or the company for which you have worked Processing:- Check the information and remover any spelling mistakes Output:- Displays the information as provided by the user Functional requirement 6: Description:- Allows to update your profile Input:- Asks to update a photo of you , add your work experience, or the company for which you have worked Processing:- Check the information and remover any spelling mistakes Output:- Displays the information as provided by the user Functional requirement 7: Description:- Allows to manage your network . Input:- Asks to establish a connection between you or any other working community , add a contact ,find people you know. Processing:- Check the information and processes the request and provider you with the best search result or connection. Output:- Applies the changes and make sure that you get the notifications on fields. Functional requirement 8: Description:- Allows to manage your field of interest. Input:- Asks to add a company of your choice or group. Processing:- Check the information and processes the request and provider Output:- Applies the changes and make sure that you get regular updates on those companies or groups. Functional requirement 9: Description:- Allows account management and setting Input:- Gives you an option for an alternate email address , your phone number , your preferred language or change your password. Processing:- Check the information and processes the request and applies the changes to your account Output:- Applies and changes are reflected on your account. Functional requirement 10: Description:- Allows to manage your privacy Input:- Asks to establish checks like who can view your profile , who can see your connections , sharing data with third parties Processing:- Check the information and processes the request and applies the changes to your account Output: - Applies and changes are reflected on your account. External Interface Requirements User Interfaces The webpage user interface should be intuitive; with easy to use controls and graphics moreover the website must be responsive on any web enabled device. Software Interfaces The Software should have following specifications: Ability to response to every web enabled device. Ability to connect to external websites Ability to optimize the time taken for any search result made on that webpage Ability to use cookies for better user friendly experience. Other Non Functional Requirements Performance Requirements It uses java script , AJAX and CSS to enhance the user experience High data transfer rate Reduces server response time Enable browser Caching to save the webpage on clients machine It must remove outdated content from its memory in order to be light and efficient on web server. Safety Requirements Maintains dual layer of firewall. Sends request and response over Secured Socket Layer(SSL) over Hyper text Transfer Protocol Must keep its database protected Must take regular backups for the extreme cases. Must be able to tackle threats from outer internet. Software Quality Attributes Security: Must be able to defend itself from SQL Injection, Cross Site Scripting, Session Hijacking and Parameter Manipulation. Performance: Must use cookies to make itself customised according to user and it must use some client side scripting to validate in valid entries and correct it before sending it to server, thus avoiding an invalid page postback. Availability: It is available 24Hours worldwide across the globe on any web enabled device that has internet connection Other Requirements Data Base Every website needs a database to keep its record safe and easy to access. Database guarantees an isolated consistent and durable data records in an organised fashion. Server Every website that has a large number of users all over the globe needs a dedicated server to handle its request and provide an instant response to a client request. DFD DIAGRAM Level 0: LEVEL 1 USED CASE DIAGRAM