SOFTWARE ENGINEERING
(CSE320)
            PROJECT ON
Submitted by:
NAME                ARNAV KHANDELWAL
CLASS               K23RW
REG. NO.            12308643
ROLL NO.            49
Introduction
This document outlines the Software Requirements Specification (SRS)
for the LinkedIn website. It serves as a guide for the development team
and stakeholders to understand the functionalities, features, and expected
behavior of the platform.
Overall Description
LinkedIn is a web-based platform designed for professional networking
and career development. It allows users to:
     Build and manage their online professional profiles.
     Connect with colleagues, past employers, and
      industry professionals.
     Search for and apply for jobs.
     Share and engage with industry-related content.
     Stay updated on industry trends and news.
ABOUT LINKEDIN-
LinkedIn is a professional networking platform designed for career
development, networking, and industry connections. Users create
profiles showcasing their skills, experience, and education to connect
with colleagues, recruiters, and potential employers. The platform allows
users to search for jobs, join industry groups, and engage with relevant
content. LinkedIn is a valuable resource for personal branding, career
advancement, and staying updated on industry trends. Its features
include job postings, messaging, and the ability to showcase professional
achievements through posts and recommendations. Overall, LinkedIn
serves as a vital tool for professionals looking to expand their network
and opportunities in the professional world.
PURPOSE-
LinkedIn serves multiple purposes, making it a versatile platform for
professionals across various industries. Here's a detailed overview of its
main purposes:
  1. Professional Networking: LinkedIn facilitates connecting
     with industry peers, colleagues, mentors, and potential
     employers.
     Building a strong network can lead to valuable career opportunities
     and collaborations.
  2. Career Development: Users can showcase their skills,
     experience, and accomplishments through their profiles. This
     visibility can
     attract job offers, consulting opportunities, or collaborations.
  3. Knowledge Sharing: LinkedIn allows users to share
     articles, insights, and updates related to their industry. This
     helps
     professionals stay informed about trends and advancements in their
     field.
  4. Recruitment: Employers and recruiters use LinkedIn to find
     potential candidates for job openings. Users can also apply for jobs
     directly through the platform.
  5. Brand Building: LinkedIn helps individuals establish their
     professional brand through thought leadership, engaging
     content, and endorsements from others in the industry.
  6. Community Engagement: Joining industry-specific groups on
     LinkedIn provides a platform for professionals to engage in
     discussions, ask questions, and share knowledge with like-minded
     individuals.
  7. LinkedIn Premium: Users can upgrade to Premium
     subscriptions offering benefits such as InMail credits to message
     anyone on the platform, enhanced search filters for job hunting,
     and access to
     online professional development courses on LinkedIn Learning.
  8. LinkedIn Recruiter: This subscription service is tailored for
recruiters and HR professionals, providing advanced search
filters,
     candidate recommendations, and the ability to directly contact
     potential hires.
  9. LinkedIn Sales Navigator: Designed for sales professionals, this
     subscription provides advanced lead recommendations, CRM
     integration, and communication tools to target
     prospects effectively.
In essence, LinkedIn serves as a comprehensive platform for
professional networking, career advancement, knowledge sharing, and
personal branding in today's digital age.
FUNCTIONAL REQUIREMENTS-
User Management:
  1. User Registration:
         Input: Username, email address, password, optional
          details (name, location, industry).
         Output: Creates a user account with a unique ID and secure
          login.
  2. Profile Creation:
         Input:     Work     experience    (companies,   titles,
          descriptions, dates), skills (predefined or custom),
          education (schools, degrees, fields), summary (career
          goals, expertise).
         Output: Populates user profile and allows customization
          (picture, background).
3. Profile Editing:
      Input: Edits existing profile information (experience, skills,
       education, summary).
      Output: Updates the user profile with the new information.
4. Search Functionality:
      Input: Keywords (name, skills, industry, location),
       filters (experience level, company size).
      Output: Displays a list of users matching the search criteria.
  5. Connection Management:
        Input: Sending/Accepting connection requests.
        Output: Adds the connected user to your network and
         vice versa.
Content Management:
  6. Content Creation:
       o   Input: Text for articles/posts, media uploads
           (images, videos), hashtags.
       o   Output: Publishes the content on the user's feed (visible
           based on privacy settings).
  7. Content Editing:
       o   Input: Edits existing posts or articles.
       o   Output: Updates the published content with the
           new information.
8. Content Deletion:
      o   Input: User selects content to be deleted (post, article).
      o   Output: Removes the chosen content from the platform.
9. Following:
      o   Input: Selecting companies, individuals, or groups to follow.
      o   Output: Adds the chosen entities to the user's "Following"
          section and displays their updates in the feed.
10.       Liking and Commenting:
      o   Input: User "likes" or comments on posts/articles.
      o   Output: Displays the user's like/comment on the respective
          content.
Job Search and Career Management:
  11.       Job Posting (Company):
        o   Input: Job title, description, responsibilities,
            required skills/experience, location, salary range
            (optional).
        o   Output: Creates a new job listing viewable by users
            searching based on relevant criteria.
  12.       Job Search (User):
        o   Input: Keywords (skills, job titles), location filters, industry
            filters, company filters, experience level filters.
        o   Output: Displays a list of job openings matching the
            user's search preferences.
  13.       Job Application:
        o   Input: Uploads resume, cover letter (optional), answers pre-
            screening questions.
        o   Output: Submits the application to the company for review.
  14.       Company Research:
        o   Input: Company name or search by industry/keyword.
        o   Output: Displays the company profile with information,
            employee reviews, and job openings.
Networking and Communication:
  15.       Messaging:
        o   Input: Text content for the message, recipient
            selection (individual or group chat).
        o   Output: Delivers the message to the recipient's inbox and
            displays a notification.
16.       Sending Invitations:
      o   Input: Selection of profiles to connect with,
          optional personalized message.
      o   Output: Sends a connection request notification to the
          chosen profiles.
17.       Accepting/Ignoring Invitations:
      o   Input: User chooses to accept or ignore connection requests.
      o   Output: Updates the connection status accordingly and sends
          a notification to the requesting party (if accepted).
Additional Features:
  18.       Notifications Panel:
        o   Input: User interacts with notifications (e.g., clicking on a
            new message or connection request).
        o   Output: Updates the notification panel based on user actions
            and network activity.
  19.       Profile Views:
        o   Input: User views the "Who Viewed Your Profile" section.
        o   Output: Displays a limited list of users who have viewed the
            user's profile within a specific timeframe (with privacy
            restrictions).
 20.       Search History:
       o   Input: User can access and manage their search history.
       o   Output: Displays previously used search terms and
           allows users to clear the history.
Non-Functional Requirements:
 1. Performance: The website should be responsive and load
    pages quickly.
 2. Scalability: The platform should be able to handle a large
    number of users and concurrent connections.
 3. Security: User data and privacy must be protected with robust
    security measures (e.g., encryption, access control).
 4. Availability: The website should be available 24/7 with
    minimal downtime.
 5. Usability: The user interface should be intuitive and easy
    to navigate.
LinkedIn Glossary of Terms:
    Connection: A bilateral relationship established between two users
     on LinkedIn, allowing them to see each other's profiles, share
     updates, and potentially send messages.
    Profile: A user's online representation on LinkedIn, showcasing
     their professional experience, skills, education, and achievements.
    Network: The collective group of individuals a user is connected
     to on LinkedIn.
    Endorsement: A public verification of a user's skill or
     expertise provided by their connections.
    Recommendation: A detailed written testimonial about a
     user's work performance, skills, and character, typically
     provided by former colleagues, managers, or clients.
   Job Posting: A listing advertising an open position within a
    company, outlining the job title, responsibilities, required skills and
    experience, and application process.
   Company Page: A dedicated section on LinkedIn
    showcasing information about a company, its culture,
    mission,
    products/services, and job openings.
   Search: Functionality allowing users to find other users,
    companies, jobs, or content based on specific keywords, filters,
    and criteria.
   Content: Information shared on LinkedIn, including articles,
    posts, images, videos, and discussions.
   Feed: A personalized stream of updates displayed on a user's
    homepage, showcasing activity from their network (e.g., new
    connections, job postings, content shared by connections).
   Group: A community forum focused on a specific industry,
    topic, or interest where users can participate in discussions, share
    content, and network with like-minded individuals.
   InMail: A premium feature allowing users with paid
    subscriptions to directly message anyone on LinkedIn, regardless
    of connection status.
   Messaging: The ability for users to send private messages to their
    connections for communication and networking purposes.
   Notifications: Alerts informing users about relevant activity
    within their network, such as new connection requests,
    messages, job postings, and endorsements.
   Profile Views: A feature indicating how many other users
    have viewed a user's profile within a specific timeframe (with
    limitations due to privacy settings).
     Skills: User-defined or pre-existing capabilities and areas
      of expertise listed on a profile.
     Experience: A user's professional history, including past job
      positions, companies they worked for, and responsibilities
      held.
     1st-Degree Connection: A direct connection established through
      a mutual agreement.
     2nd-Degree Connection: A connection of a user's 1st-
      degree connection.
     3rd-Degree Connection: A connection of a user's 2nd-
      degree connection.
Additional Terms:
     Algorithm: A set of rules used by LinkedIn to personalize
      search results, content recommendations, and user feeds.
     API (Application Programming Interface): A set of tools
      allowing developers to create applications that interact with
      LinkedIn data.
     Engagement: The level of interaction users have with content on
      the platform (e.g., likes, comments, shares).
     Security: Measures implemented by LinkedIn to protect user
      data and privacy.
This glossary provides an understanding of commonly used terms on
the LinkedIn platform. As the platform evolves, new features and
functionalities may emerge, introducing additional terminology
specific to their use.
Testing
     The platform should undergo rigorous testing to
      ensure functionality, usability, and security.
Future Considerations
     The platform should be adaptable to incorporate future
      features and functionalities.
     The system should be designed to scale to accommodate a
      growing user base.
This SRS provides a high-level overview of the requirements for the
LinkedIn website. Additional detailed specifications and technical
documentation may be required based on the specific development
process.
Data Flow Diagram:
Class Diagram :
Activity Diagram :
                                      TESTCASES
1. Test Case Title: Verify User Registration Process
       Test Case ID: TC_LINKEDIN_001
       Description: This test case verifies the functionality of the user registration process on
         LinkedIn.
       Preconditions: User has internet connectivity and a web browser installed.
       Test Steps:
             1. Open the LinkedIn website or mobile application.
             2. Click on the "Join now" or "Sign Up" option.
             3. Enter the required information, including full name, email address, password,
                 and country/region.
             4. Agree to the LinkedIn User Agreement, Privacy Policy, and Cookie Policy.
             5. Click on the "Join now" or "Create Account" button.
       Expected Result: The user should be successfully registered, and a verification email
         or code should be sent for account confirmation.
       
2. Test Case Title: Verify Profile Creation
       Test Case ID: TC_LINKEDIN_002
       Description: This test case verifies the functionality of creating a profile on LinkedIn.
       Preconditions: User is logged into their LinkedIn account.
       Test Steps:
             1. Navigate to the profile section of the LinkedIn website or mobile application.
             2. Click on the "Add Profile Section" button.
             3. Fill in the required information such as headline, summary, experience,
                 education, skills, etc.
             4. Upload a professional profile picture.
             5. Save the changes.
       Expected Result: The user's profile should be successfully created and visible to other
         LinkedIn members.
       
3. Test Case Title: Verify Connection Request
       Test Case ID: TC_LINKEDIN_003
       Description: This test case verifies the functionality of sending a connection request
         on LinkedIn.
       Preconditions: User is logged into their LinkedIn account.
       Test Steps:
             1. Search for a specific user using the search bar.
             2. Go to the user's profile.
             3. Click on the "Connect" button.
             4. Add a personalized message (optional).
             5. Click on the "Send now" button.
       Expected Result: The connection request should be successfully sent to the selected
         user.
       
4. Test Case Title: Verify Job Search
       Test Case ID: TC_LINKEDIN_004
       Description: This test case verifies the functionality of searching for jobs on LinkedIn.
          Preconditions: User is logged into their LinkedIn account.
          Test Steps:
               1. Click on the "Jobs" tab in the LinkedIn navigation bar.
               2. Enter the desired job title, keywords, location, or company in the search bar.
               3. Apply relevant filters (e.g., job type, experience level).
               4. Browse through the search results.
               5. Click on a job listing to view details.
          Expected Result: Relevant job listings should be displayed based on the search
           criteria, and the user should be able to view and apply for jobs.
       
5. Test Case Title: Verify Messaging
       Test Case ID: TC_LINKEDIN_005
       Description: This test case verifies the functionality of sending messages on LinkedIn.
       Preconditions: User is logged into their LinkedIn account.
       Test Steps:
             1. Go to the messaging section on the LinkedIn website or mobile application.
             2. Click on the "Compose a message" button.
             3. Enter the recipient's name or select from contacts.
             4. Type the message in the text box.
             5. Click on the "Send" button.
       Expected Result: The message should be successfully sent to the recipient's LinkedIn
         inbox.
       
6. Test Case Title: Verify Company Page Creation
       Test Case ID: TC_LINKEDIN_006
       Description: This test case verifies the functionality of creating a company page on
         LinkedIn.
       Preconditions: User is logged into their LinkedIn account and has administrative
         permissions.
       Test Steps:
             1. Go to the "Work" dropdown menu and select "Create a Company Page."
             2. Choose the page type (e.g., small business, medium to large business,
                 showcase page).
             3. Enter the company details, including name, industry, website URL, and
                 company size.
             4. Upload a company logo and cover image.
             5. Verify the company email domain (if applicable).
             6. Click on the "Create page" button.
       Expected Result: The company page should be successfully created and visible to
         LinkedIn users.