Software requirements specification (SRS) - Aishwarja01/ICE-4202_Professional-Development GitHub Wiki

Chapter 1

Introduction

1.1 Purpose

The purpose of designing the "Professional Development" is to give the job seekers a platform for finding a right and a satisfactory job according to their qualification. It also connects the job seekers with the major agencies. It also provides a job portal for Job Seekers to submit their CVs and apply for job posting and Employer can select the best Employees from Available CV based on their payment option selection. This is basically a Job portal where job Seeker applies for jobs and employer post jobs and select prospective applicant. The job portal is prepared to provide all categories of jobs and help to get various types of jobs. The main purpose of the job portal is to provide the facility to job seekers for getting a quick job. So, it enables applicants to search for jobs conveniently and to enable employers to find suitable candidates.

1.2 Intended Audience

  • System Analyst Designer
  • Project Developer
  • Project Panel
  • System Owners

1.3 Intended Use

  • System Analyst Designer: The system analyst designer can use this document for his cross-reference to verify his future work.
  • Project Developer: Project developers can use this document for traceability of the functions implemented.
  • Project Panel: The project panel can use this document to verify the quantity and quality of the end product, finally, this document can help bridge-up the gaps between the project stakeholders i.e. analysts, designers, developers, system users.
  • System Owners: system owners to help them understand what functionalities this Job Portal will have and whatnot.

1.4 Product Scope

The Software Requirements Specification captures all the requirements in a single document. The online job Portal System that is to be developed provides the members with job information, online applying for jobs, and many other facilities. The basic scope of the project is given as under:

  1. Maintain Job Seeker and Employer records
  2. Maintain uploaded Resumes
  3. Provide Customized Job Postings
  4. Maintain Job Posting details and generate various reports
  5. Maintain job seeker and employer job profile
  6. Users can secure their account by login, secret questions, and privacy over their personal information

1.5 Risk Definition

  1. For unstable network connection, uploading CV, posting job circular, collecting CV can be disrupted.
  2. Too many server requests is not controllable for the server.
  3. Too many users at the same time can cause server traffic.

Chapter 2

Overall Description

The Online Job Portal System to be developed benefits greatly the members. The system provides job catalog and information to members and helps them decide on the jobs to apply for. The Admin can keep the jobs catalog updated all the time so that the members (Job seekers and the agencies) get the updated information all the time.

2.1 User Classes and Characteristics

  1. admin
  2. job seekers
  3. job providers

2.2 User Needs

Job seekers will use this application for getting up-to-date job posts and applying for decent jobs. Job provider will post those job circulars and can maintain the resumes and contact with the candidates. Admin panel can monitor all the information.

2.3 Operating Environment

  • Operating system: Any kind of OS which supports web browsing.
  • Database: MongoDB.
  • Platform: Python, Django Framework.

2.4 Constraints

  • The developed system must work in Windows and Linux.
  • The developed system must work on mobile phones.
  • We have to develop the application in Python language.
  • We have to finish the project within 3 months.

2.5 Assumptions

  • Users can read and write English.
  • Users have devices that support internet service.
  • Users have an internet connection
  • Users have some basic ideas of operating this kind of app.
  • The application will be used mostly on high-end or latest phones for a few years as the hardware requirement can only be met on those phones.

Chapter 3

Requirements

3.1 Functional Requirements

  1. As a new user
    I want to register my account
    So that, I can get benefited by this website.
    Confirmation:
    –Open the application
    –Click on SignUp
    –Enter all the required information
    –Click on SignUp
    (a) Success
    user will be directed to the login page
    (b) Failure
    –Email not match with regex, show error: Please provide a valid email
    –Password is less than 6 digits, show error: Password must include at least 6 digits time.
    –Any field left blank, show error: All the fields must be filled up.

  2. As a user
    I want to login into my account
    So that, I can get benefited by this website.
    Confirmation:
    –Open the application.
    –Click on login.
    –Enter all the required information.
    –Click on login.
    (a) Success
    Valid users will be directed to the login page.
    -“Remember me” ticked – store cookie/automatic login next time.
    –“Remember me” not ticked – force login next time.
    (b) Failure
    –incorrect email, show error: Incorrect email address.
    –incorrect Password, show error: Incorrect password.
    –Any field left blank, show error: Something went wrong.

  3. As a user
    I want to change my password.
    So that, I can secure my account.
    Confirmation:
    –Open the "profile" tab
    –Click on My Account
    –Click on Change Password
    –Enter the new password
    –Enter the old password
    –Click on Done
    (a) Success:
    -"Password has been changed successfully!"- pop up will show.
    (b) Failure:
    -Old password may not match with the given password [now], show error: Please provide your old password correctly.
    -New password is less than 6 digits, show error: Password must include at least 6 digits time.
    -Any field left blank, shows error: All the fields must be filled up.

3.1.1 Jobseeker perspective

  1. As a Jobseeker
    I want to edit my profile.
    So that, I can keep my profile up to date.
    Confirmation:
    -Open the homepage.
    –Click on the "Profile" tab.
    –Jobseekers can then view the previously saved version of their profile.
    –They can also update their personal information.

  2. As a Jobseeker
    I want to upload my CV.
    So that, I can apply according to the specification.
    Confirmation:
    -Open the homepage.
    –Click on "Profile" tab.
    –Click on "Upload CV" option.
    –Job seekers can upload their CVs.

  3. As a Jobseeker
    I want to apply for different jobs.
    So that, I can get a decent job.
    Confirmation:
    -Open the homepage.
    –Click on "Jobs" tab.
    –Choose a particular job.
    –Click on "Apply Easily".
    -Choose your recent CV.
    -Click on "Apply".

3.1.2 Job provider perspective

  1. As a Job provider
    I want to post for new jobs.
    So that, I can get a decent candidate.
    Confirmation:
    -Open the homepage
    –Click on "Add Jobs" tab
    –Edit the add job field
    -Click on "Post".

  2. As a Jobprovider
    I want to view the application progress.
    So that, I can keep track of the candidates applying.
    Confirmation:
    -Open the homepage
    –Click on "Added jobs" tab
    -Click on particular job
    –Click on "candidates" -Job provider now can view the candidates.

  3. As a Jobprovider
    I want to collect the CVs.
    So that, I can make my decisions about a particular candidate.
    Confirmation:
    -Open the homepage
    –Click on "Added jobs" tab
    -Click on particular job
    –Click on "candidates
    –Click on "CV Bank"
    -Job provider now can collect the CVs.

  4. As a Jobprovider
    I want to edit my profile.
    So that, I can show the applicants the details about my organization.
    Confirmation:
    -Open the homepage
    –Click on "Profile" tab
    –Jobseekers can then view the previously saved version of their profile.
    –They can also update their personal information.

3.2 Non Functional Requirements

Performance Requirements
The requirements in this section provide a detailed specification of the user interaction with the software and measurements placed on the system performance.

  • The system must not accumulate high numbers of users without any fault.
  • Response to any kind of interaction must take no longer than 3 seconds to appear on the screen.
  • The search feature should be prominent and easy to find for the user.
  • The results displayed in the list view should be user friendly and easy to understand. Selecting an element in the result list should only take one click.
  • If the system loses the connection to the Internet, the user should be informed.

Safety Requirements
To ensure no data is lost in case the user decides to change devices or if the user’s device is extensively damaged all data will be stored in cloud storage. This will allow safe storage and easy accessibility from anywhere.

Security Requirements

  • System will use a secure database.
  • The Application shall not grant access to an unauthorized user and the Application shall not communicate with any other devices or servers while in use by the user.

Error handling

  • OS must handle expected or non-expected errors in ways that prevent loss of information and a long downtime period.

Appendices

Appendix A

Glossary

SRS:
A software requirements specification (SRS) is a description of a software system to be developed. The software requirements specification lays out functional and non-functional requirements, and it may include a set of use cases that describe user interactions that the software must provide to the user for perfect interaction.

Framework:
A software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software.