SE1848_Topic6_JobSearching

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 21

Logo & Company Name

System/Software Requirements
Specification
for

<Project Online Job Searching


System>
Prepared by <Group 6>

- HE172450 - Đặng Đình Vượng


- HE171435 - Nguyễn Văn Sáng
- HE173098 - Nguyễn Thế Lực
- HE181139 - Trịnh Tuấn Phong
- HE172790 - Nghiêm Tuấn Đạt

Copyright © 2002 by Sang Nguyen.


Software Requirements Specification for <Project> Page 2

Table of Contents
Table of Contents ii
Revision History iii
1. Introduction 1
1.1 Purpose 1
1.2 System Purpose 1
1.3 Definitions, Acronyms and Abbreviations 1
1.4 Document Conventions 1
1.5 Intended Audience and Reading Suggestions 1
1.6 Project Scope 1
1.7 References 2
2. Overall Description 2
2.1 Product/System Perspective 2
2.2 System/Product Features 2
2.3 User requirements 2
2.4 User Classes and Characteristics 2
2.5 Operating Environment 2
2.6 Design and Implementation Constraints 3
2.7 User Documentation 3
2.8 Assumptions and Dependencies 3
2.9 Apportioning of Requirements 3
3. Specific Requirements 3
3.1 Functional Requirements Specification 3
3.1.1 Job Seeker Registration (Use-case 1) 3
3.1.2 Job Posting by Employer (Use-case 2)
3.1.3 Job Search (Use-case 3)
3.1.4 Application Tracking (Use-case 4)
3.2 Non-Functional Requirements Specification 4
3.2.1 External Interface Requirements 4
3.2.2 Other Nonfunctional Requirements 4
4. Other Requirements 5
Appendix A: Glossary 5
Appendix B: Analysis Models 5
Appendix C: Issues List 6

Revision History
Name Date Reason For Changes Version
Software Requirements Specification for <Project> Page 1

1. Introduction
1.1 Purpose

- The purpose of the documentation you will be creating for this online job search
system project is as follows:

o Purpose of the documentation:

§ Describe the system requirements and design

· Capture the detailed functional and non-functional


requirements of the system from the client's perspective.

· Describe the architectural design, system components, and


workflows

§ Provide deployment and operations guidance

· Include instructions for installing, configuring, and deploying


the system in the production environment.

· Document the processes for managing, operating, and


maintaining the system.

§ Serve as a reference

· Provide reference material on the technologies, libraries,


and tools used in the project.

· Record design decisions, project timelines, and other


relevant development information.

o Content of the documentation:

§ Description of the functional and non-functional requirements.

§ Design of the architecture, components, and system workflows.

§ Deployment, installation, configuration, and operations guides.

§ Reference materials on the used technologies, libraries, and tools.


Software Requirements Specification for <Project> Page 2

§ Project timelines, design decisions, and development-related


information.

o The target audience for this documentation will be:

§ The development team (programmers, software architects, etc.) for


deployment and operations guidance.

§ The project management team and the client to describe the


requirements and design.

§ Other stakeholders (such as the operations and maintenance


teams) understand and manage the system.

1.2 System Purpose

- Purpose of the System:

o The primary purpose of this online job search system is to provide a


platform that connects job seekers with potential employers. The system
aims to streamline the job search and application process, making it easier
for candidates to find relevant job opportunities and for companies to identify
qualified applicants.

- Product Requirements:

o This System Requirements Specification (SRS) document describes


version 1.0 of the online job search system. It outlines the complete set of
functional and non-functional requirements for the initial release of the
product.

- System Objectives:

The key objectives of the online job search system include:

§ Enabling job seekers to easily search, filter, and apply for job
postings.

§ Allowing employers to post job listings, manage applicant profiles,


and conduct initial screenings.
Software Requirements Specification for <Project> Page 3

§ Providing robust matching algorithms to suggest relevant job


opportunities to candidates.

§ Ensuring a secure and user-friendly platform for both job seekers


and employers.

§ Collecting and analyzing job market data to generate insights for


users.

- Scope of the Product:

This SRS document covers the complete scope of the initial version of the online job
search system. It includes requirements for the following main components:

o Job search and application module

o Employer job posting and applicant management module

o Recommendation engine and job market analytics

o User authentication and authorization

o Administrative tools for system management

=> The SRS does not cover any future planned expansions or integrations with
external systems. Those will be addressed in subsequent releases and their own
documentation.

1.3 Definitions, Acronyms and Abbreviations

- Definitions:

o Job Seeker: An individual looking for employment opportunities.

o Employer: A company or organization posting job listings and hiring


new employees.

o Job Posting: A description of an available job position published by an


employer.

o Job Application: The process by which a job seeker submits their


credentials and interest in a job posting.
Software Requirements Specification for <Project> Page 4

o User Profile: The account information and preferences stored for each
registered user of the system.

o Recommendation Engine: The system component that analyzes user


data to suggest relevant job postings.

o Job Market Analytics: The collection and analysis of job market trends
and data.

- Acronyms and Abbreviations:

o SRS - System Requirements Specification

o UI - User Interface

o API - Application Programming Interface

o DB - Database

o RDBMS - Relational Database Management System

o SMTP - Simple Mail Transfer Protocol

o SSL - Secure Sockets Layer

o HTTPS - Hypertext Transfer Protocol Secure

=> These definitions, acronyms, and abbreviations will be used consistently


throughout the SRS document to ensure clarity and common understanding
of the terms.

1.4 Document Conventions


- Fonts and Formatting:

o Headings are formatted using Heading 1, Heading 2, etc. to structure


the document.

o Defined terms, such as the ones listed in the Definitions section, are
italicized on their first use.
Software Requirements Specification for <Project> Page 5

o Code snippets, file names, and technical terms are formatted using a
monospaced font (ex, code example).

- Requirement Statements:

o Each requirement is numbered sequentially (e.g. REQ-1, REQ-2, etc.)


to facilitate traceability.

o Requirement statements use clear, concise language and follow the


format: "The system shall/will/must..."

o Requirements are classified as either functional (starting with "The


system shall...") or non-functional (starting with "The system will/must...").

o Higher-level requirements are assumed to inherit the priority of the


parent requirement, unless otherwise specified.

o Each requirement has an associated priority level of High, Medium, or


Low, indicated in parentheses after the requirement number.

- Diagrams and Figures:

o All diagrams, figures, and tables are numbered sequentially and


referred to in the text.

o Captions are provided for all diagrams, figures, and tables.

=> These conventions help maintain consistency and clarity throughout the SRS
document. They also enable efficient traceability and prioritization of the
requirements.

1.5 Intended Audience and Reading Suggestions

- The intended audience for this System Requirements Specification (SRS)


document includes the following stakeholders:

o Development Team:

§ Software Architects
Software Requirements Specification for <Project> Page 6

§ Software Developers

§ Quality Assurance Engineers

§ Technical Writers

o Project Management Team:

§ Project Managers

§ Business Analysts

§ Product Owners

o Operations and Support Team:

§ IT Operations Engineers

§ System Administrators

§ Technical Support Staff

o End-Users:

§ Job Seekers

§ Employers

§ System Administrators

- The SRS document is organized as follows:

o Introduction (Section 1):

§ Purpose, Product Requirements, System Objectives, and Scope

§ Definitions, Acronyms, and Abbreviations

§ Document Conventions
Software Requirements Specification for <Project> Page 7

§ Intended Audience and Reading Suggestions

o Overall Description (Section 2):

§ Product Perspective

§ Product Functions

§ User Characteristics

§ Constraints

§ Assumptions and Dependencies

o Specific Requirements (Section 3):

§ Functional Requirements

§ Non-Functional Requirements

§ Interface Requirements

§ Design Constraints

o Supporting Information (Section 4):

§ Appendices

§ Index

- The recommended reading sequence is as follows:

o Development Team: Start with the Introduction (Section 1) to


understand the purpose, scope, and conventions of the document. Then,
focus on the Specific Requirements (Section 3) to understand the detailed
functional and non-functional requirements, as well as the interface and
design constraints.

o Project Management Team: Begin with the Introduction (Section 1) to


get an overview of the system. Then, review the Overall Description
(Section 2) to understand the product's perspective, functions, user
characteristics, and constraints. Finally, refer to the Specific
Requirements (Section 3) to dive into the detailed requirements.

o Operations and Support Team: Start with the Introduction (Section 1) to


familiarize themselves with the document, and then focus on the Specific
Software Requirements Specification for <Project> Page 8

Requirements (Section 3) to understand the system's technical


requirements and design constraints.

o End-Users: The Introduction (Section 1) and Overall Description


(Section 2) will provide the necessary context for understanding the
system's purpose and capabilities.

=> By following this reading sequence, each stakeholder can efficiently


navigate the SRS document and find the information most relevant to their
role and responsibilities.

1.6 Project Scope

The purpose of this System Requirements Specification (SRS) is to define the


requirements for a comprehensive job search and recruitment platform, hereafter
referred to as the "Job Portal". The Job Portal will serve as a centralized hub for job
seekers and employers to connect, enabling more efficient and effective job matching
and hiring processes.

- The primary objectives of the Job Portal are:

o Provide job seekers with a user-friendly platform to search for and


apply to relevant job opportunities.

o Empower employers to efficiently post job listings, screen and evaluate


applicants, and manage the hiring process.

o Leverage advanced recommendation algorithms to suggest job


postings and candidates based on user profiles and preferences.

o Offer real-time job market analytics and insights to help both job
seekers and employers make informed decisions.

o Ensure a secure, scalable, and reliable system that can accommodate


the growing needs of the job market.

The Job Portal aligns with the company's strategic goals to become the leading
provider of digital employment services and to enhance the overall job search and
recruitment experience for both job seekers and employers. By addressing the pain
Software Requirements Specification for <Project> Page 9

points and inefficiencies in the current job market, the Job Portal aims to create value
for all stakeholders and contribute to the company's long-term business objectives.

This SRS document outlines the specific functional and non-functional requirements,
design constraints, and other technical details necessary for the successful
development and deployment of the Job Portal.

1.7 References

The following documents and references are relevant to this System Requirements
Specification (SRS):

- Job Portal Vision and Scope Document

o Version: 1.0

o Date: 2023-05-01

o Author: Jane Doe, Business Analyst

o Source: Company Intranet, Project Documents Repository

- User Interface Style Guide

o Version: 2.1

o Date: 2022-11-15

o Author: John Smith, UX Designer

o Source: Company Intranet, Design Guidelines

- Company Security and Privacy Policy

o Version: 3.0

o Date: 2023-03-01

o Author: Jane Doe, Information Security Manager


Software Requirements Specification for <Project> Page 10

o Source: Company Intranet, Policies and Procedures

- Industry Standard for Job Posting Content

o Version: 4.2

o Date: 2021-09-01

o Publisher: International Association of Employment Websites

o Source: https://www.iaew.org/standards/job-posting-content

- W3C Web Content Accessibility Guidelines (WCAG) 2.1

o Version: 2.1

o Date: 2018-06-05

o Publisher: World Wide Web Consortium (W3C)

o Source: https://www.w3.org/TR/WCAG21/

These references provide additional context, guidelines, and requirements


that have been considered and incorporated into the development of this
SRS document.

2. Overall Description
2. Overall Description

2.1 Product/System Perspective

The online job searching system is a newly developed, self-contained product designed to
streamline the process of job searching and recruitment. It aims to replace traditional job
search methods with a more efficient, user-friendly platform that connects job seekers with
employers. This system is not part of a larger system but may interface with external
services such as email servers for communication and payment gateways for premium
services. The following diagram illustrates the major components of the system:

● User Interface (UI): Web and mobile applications.


Software Requirements Specification for <Project> Page 11

● Application Server: Manages business logic and processes requests.


● Database Server: Stores user data, job listings, applications, etc.
● External Interfaces: Email servers, payment gateways.

2.2 System/Product Features

The online job searching system will include the following major features:

● Job Seeker Features:


○ Profile creation and management
○ Resume upload and management
○ Advanced job search with filters
○ Application submission and tracking
○ Job alerts and personalized recommendations
● Employer Features:
○ Company profile creation and management
○ Job posting and management
○ Candidate search with filters
○ Application management and tracking
○ Interview scheduling and feedback
● Admin Features:
○ User account management (both job seekers and employers)
○ System performance monitoring
○ Reporting and analytics
○ Content moderation
○ Data backup and recovery

2.3 User Requirements

User requirements are derived from the needs of the end users (job seekers and
employers):

● Job Seekers:
○ Ability to register and create a detailed profile.
○ Upload and update resumes and cover letters.
○ Perform job searches using various filters (location, industry, job type, etc.).
○ Apply for jobs directly through the platform.
○ Receive notifications for job matches and application status updates.
○ Save job searches and mark favorite job postings.
● Employers:
○ Register and create a comprehensive company profile.
○ Post job openings with detailed descriptions and requirements.
○ Search for candidates using filters such as skills, experience, location, etc.
○ Manage applications, schedule interviews, and provide feedback.
○ Receive notifications about candidate applications and profile matches.
○ Access analytics on job posting performance and candidate activity.
● Admin:
Software Requirements Specification for <Project> Page 12

○ Manage user accounts, including activation, deactivation, and suspension.


○ Monitor system performance and user activity.
○ Generate reports on system usage, job postings, and applications.
○ Ensure data security and integrity.
○ Moderate content to prevent misuse and maintain quality.

2.4 User Classes and Characteristics

The following user classes will interact with the system:

● Job Seekers:
○ Characteristics: Varying levels of technical expertise, frequent users,
primarily individuals aged 18-60.
○ Needs: Easy-to-use interface, job alerts, application tracking, profile
management.
● Employers:
○ Characteristics: HR professionals or hiring managers, varying levels of
technical expertise.
○ Needs: Efficient job posting, candidate search, application management,
performance analytics.
● Admin:
○ Characteristics: High technical expertise, responsible for system
maintenance and user management.
○ Needs: Comprehensive control over the platform, monitoring tools, and
reporting capabilities.

2.5 Operating Environment

The software will operate in the following environments:

● Web Browsers: Modern web browsers including Google Chrome, Mozilla Firefox,
Microsoft Edge, and Safari.
● Mobile Platforms: iOS and Android devices.
● Server Environment: Cloud-based servers with scalable infrastructure to handle
varying loads.
● External Systems: Integration with email servers for communication and payment
gateways for processing transactions.

2.6 Design and Implementation Constraints

Several constraints will impact the design and implementation of the system:

● Compliance: Must comply with data protection regulations (e.g., GDPR).


● Hardware Limitations: Considerations for mobile and web performance.
● Interfaces: Seamless integration with email servers and payment gateways.
● Technologies: Use of modern web development frameworks (e.g., React, Angular)
and database management systems (e.g., MySQL, MongoDB).
● Security: Robust authentication and authorization mechanisms.
Software Requirements Specification for <Project> Page 13

● Design Conventions: Adherence to responsive design principles for accessibility on


various devices.

2.7 User Documentation

The following documentation will be provided to users:

● User Manuals: Detailed guides for job seekers and employers on how to use the
system.
● Online Help: Context-sensitive help integrated into the system, providing users with
assistance as they navigate the platform.
● Tutorials: Step-by-step tutorials for common tasks, available both as text and video.

2.8 Assumptions and Dependencies

The development and operation of the system are based on the following assumptions and
dependencies:

● Internet Access: Users will have access to the internet and modern web browsers.
● Third-Party Services: Reliance on external email servers and payment gateways for
communication and transactions.
● User Devices: Users will use a variety of devices including desktops, laptops,
tablets, and smartphones.

2.9 Apportioning of Requirements

Certain advanced features may be deferred to future versions of the system:

● AI-driven Job Recommendations: Advanced algorithms to provide personalized job


recommendations based on user behavior and preferences.
● In-depth Analytics: Enhanced reporting and analytics capabilities for employers and
admins to gain deeper insights into job posting performance and user activity.
● Integration with Social Media: Allowing users to link their profiles to social media
accounts for easier login and job sharing.

3. Specific Requirements
3.1 Functional Requirements Specification

Below are the main functions of the Online Job Searching System, organized by use case:
Software Requirements Specification for <Project> Page 14

Home page:

3.1.1 Job Seeker Registration (Use-case 1)

Scenario:

● A new user visits the online job portal with the intent to register as a job seeker
● The user selects the "Register" option.
Software Requirements Specification for <Project> Page 15

● The user fills out the registration form with personal details, including name, email,
and password, and submits the form.
● The system validates the data and registers the user, sending a confirmation email
to verify the account.

Business Rules:

● All fields in the registration form must be validated for format and completeness.
● A confirmation email must be sent to the user’s provided email address.
● Duplicate email addresses are not allowed; each email must be unique to a user
account.

3.1.2 Job Posting by Employer (Use-case 2)

Scenario:
● An employer logs into their account.
● The employer navigates to the "Post a Job" section.
● The employer fills out the job posting form with details such as job title, description,
required qualifications, and salary range, and submits the form for approval.
● The system reviews the submission for completeness and posts the job to the
portal.
Business Rules:

● The job description must meet a minimum word count and include necessary details
like roles and responsibilities.
● Employers must be verified and approved by an administrator before they can post
jobs.
● Each job posting must be approved by the system (or an administrator) before
becoming publicly available.
Software Requirements Specification for <Project> Page 16

3.1.3 Job Search (Use-case 3)

Scenario:
● A job seeker logs into their account.
● They navigate to the job search interface.
● The user inputs search criteria such as keywords, location, and category, and
submits the search.
● The system displays a list of jobs that match the criteria
Business Rules:
● Search results should be sortable by relevance, date posted, and salary.
● Job seekers can save searches and receive notifications for new job postings that
match saved search criteria.
3.1.4 Application Tracking (Use-case 4)

Scenario:
● A job seeker applies for a job and wishes to track the status of the application.
● The user logs in and navigates to their dashboard, accessing the "My Applications"
section.
● The system displays a list of all jobs applied for, along with the current status of
each application (e.g., pending, reviewed, accepted, or rejected).
Business Rules:
● The system must update application statuses in real-time as they change.
● Job seekers should receive email notifications when the status of their application
changes.
Software Requirements Specification for <Project> Page 17

3.2 Non-Functional Requirements Specification

3.2.1 External Interface Requirements

3.2.1.1 User Interfaces


- Sample Screen Images: Provide mockups or wireframes of key screens.
- GUI Standards or Product Family Style Guides: Ensure consistency in design across all
screens.
- Screen Layout Constraints: Define screen dimensions, grid layouts, and responsive design
considerations.
- Standard Buttons and Functions: Include consistent elements like navigation bars, help
buttons, and action buttons.
- Keyboard Shortcuts: Define common shortcuts for navigation and actions.
- Error Message Display Standards: Standardize the display of error messages for clarity and
consistency.

3.2.1.2 Hardware Interfaces


- Supported Device Types: Specify compatible devices (e.g., desktop computers, laptops,
tablets, smartphones).
- Data and Control Interactions: Outline how data and commands will be exchanged between
the software and hardware.
- Communication Protocols: Identify protocols such as USB, Bluetooth, or Wi-Fi.
Software Requirements Specification for <Project> Page 18

3.2.1.3 Software Interfaces


- Databases: Specify database systems (e.g., MySQL, PostgreSQL) and their versions.
- Operating Systems: Identify supported operating systems (e.g., Windows, macOS, Linux).
- Tools and Libraries: List any necessary development tools and libraries.
- Integrated Commercial Components: Mention any third-party components to be integrated.
- Data Items or Messages: Describe incoming and outgoing data items/messages and their
purposes.
- Services and Communications: Outline required services and communication methods.
- Data Sharing Mechanisms: Specify how data will be shared across software components
(e.g., global data areas).

3.2.1.4 Communications Interfaces


- Communication Functions: Email, web browser interactions, network server
communications.
- Message Formatting: Define any pertinent message formatting.
- Communication Standards: Identify standards such as FTP, HTTP, or WebSocket.
- Communication Security or Encryption: Specify any security or encryption protocols.
- Data Transfer Rates: Define required data transfer rates.
- Synchronization Mechanisms: Outline synchronization needs for data consistency.
.

3.2.2 Other Nonfunctional Requirements

3.2.2.1 Performance Requirements


- Response Time: Define acceptable response times for different actions.
- Throughput: Specify the number of transactions per second the system should handle.
- Scalability: Describe how the system should scale with increased load.
- Concurrency: Define the number of simultaneous users the system should support.

3.2.2.2 Design constraints


- Development Constraints: Specify constraints like coding standards, use of specific
frameworks, or development methodologies.
- Architecture Constraints: Define architectural decisions such as microservices vs.
monolithic architecture, or cloud-based vs. on-premise solutions.

3.2.2.3 Safety Requirements


- Safety Safeguards: Define safeguards to prevent data loss, unauthorized access, or
misuse.
- Actions to Prevent: Outline actions that must be avoided to ensure safety.
- External Policies or Regulations: Refer to any relevant external policies or regulations.
- Safety Certifications: List any required safety certifications.

3.2.2.4 Security Requirements


- User Identity Authentication: Define requirements for user authentication (e.g., multi-factor
authentication).
- Data Protection: Outline methods for protecting data, such as encryption or access controls.
Software Requirements Specification for <Project> Page 19

- External Policies or Regulations: Refer to relevant security policies or regulations.


- Security Certifications: List any required security certifications.

3.2.2.5 Software Quality Attributes

- Adaptability: Define how easily the system can adapt to changes.


- Availability: Specify the system's uptime requirements.
- Correctness: Ensure the system performs its intended functions accurately.
- Flexibility: Outline how the system can accommodate future changes.
- Interoperability: Define how the system interacts with other systems.
- Maintainability: Specify requirements for ease of maintenance and updates.
- Portability: Define the ability to run on different platforms.
- Reliability: Specify requirements for system reliability.
- Reusability: Outline components or modules that can be reused.
- Robustness: Define the system's ability to handle errors and unexpected inputs.
- Testability: Specify requirements for testing the system.
- Usability: Define how easy and intuitive the system is for users.

Appendix A: Glossary
<Define all the terms necessary to properly interpret the SRS, including acronyms and
abbreviations. You may wish to build a separate glossary that spans multiple projects or the entire
organization, and just include terms specific to a single project in each SRS.>

Appendix B: Analysis Models


<Optionally, include any pertinent analysis models, such as data flow diagrams, class diagrams,
state-transition diagrams, or entity-relationship diagrams.>

Appendix C: Issues List


< This is a dynamic list of the open requirements issues that remain to be resolved, including
TBDs, pending decisions, information that is needed, conflicts awaiting resolution, and the like.>

You might also like