Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
36 views

Project Management Project

Uploaded by

desalekasaw980
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Project Management Project

Uploaded by

desalekasaw980
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Adama Science and Technology University

School of Electrical Engineering and Computing

Software Engineering Program

Project Management Group Project

Jobify: System Requirement Specification Document

Group members ID

1. Abel Wondemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UGR/22574/13


2. Abdurahman Abdela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UGR/22773/13
3. Besufikad Micheal . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . UGR/22505/13

Submitted to: Mr Gemechu

March 29, 2024


Table of Content

Chapter 1 4
Background information 4
Statement of the problem 4
Purpose of project 4
Objective of project 5
General Objective 5
Specific Objective 5
Feasibility study 5
Technical Feasibility 6
Economic Feasibility 6
Operational Feasibility 6
Scope and Limitation 7
Scope 7
Limitation 7
Significance of the project 7
Methodology 7
Fact finding methodology 7
Responses 8
Software methodology 10
Data source 10
Development tools 10
Software tools 10
Hardware tools 11
Required resources with cost 12
Tasks and Schedule 12
Team composition 12
Chapter 2 13
Description of current system 13
Major functionality of current system 13
Users of current system 13
Drawbacks of current system 14
Chapter 3 15
Proposed System 15
Overview 15
Functional requirements 15
Non-functional requirements 16
Product requirements 16
Organizational requirements 16
External requirements 16
Metrics 17
Domain and inverse requirements 17
Domain requirements 17
Inverse requirements 17
Design and Implementation constraints 17
System model 18
Scenario 18
Chapter 1

Background information

As many developing countries around the world, Ethiopia is faced with the challenge of
generating employment for a rapidly-growing and youthful population. This is affected by the
imbalance of number of graduates versus demand for employees in the market, lack of
information and lack of work experience.

Our organization proposes Jobify as a solution to decrease the unemployment rate through
lack of information for both employers and employees. Jobify uses the user's profile as input
and creates a platform where they interact with each other and learn how to develop
themselves.

Statement of the problem

● Employers tend to use traditional methods such as flares, newspapers and broadcasting
media to post jobs, which makes it hard for employees or employees to get basic
information about it.
● People with high school educational backgrounds or university students struggle to get a
part-time job. This is due to lack of work experience and educational background.
● The amount of payment asked from agencies and lack of awareness in rights of
employees.

Purpose of project

The purpose of the project is to address the inefficiencies and challenges inherent in
traditional job posting methods by creating a platform that facilitates easy access to basic job
information for both employers and jobseekers. Specifically targeting individuals with high
school or university educational backgrounds seeking part-time employment, the project aims to
alleviate the barriers posed by limited work experience and educational qualifications.
Additionally, the project seeks to tackle issues such as excessive fees charged by job agencies
and a lack of awareness regarding employee rights, ultimately aiming to create a more equitable
and transparent job market ecosystem.

Objective of project

General Objective

The general objective of the project is to develop a comprehensive online platform that
modernizes job posting methods, providing easy access to essential job information for
employers and jobseekers alike. Specifically targeting individuals with high school or university
backgrounds seeking part-time employment, the project aims to bridge the gap created by
limited work experience and educational qualifications. Furthermore, the platform seeks to
address systemic issues such as excessive fees charged by job agencies and a lack of
awareness regarding employee rights, ultimately fostering a fairer and more transparent job
market environment.

Specific Objective
● Identifying the problem.
● Acquiring information about the current system in place.
● Analyzing the information gathered.
● Designing the web application to solve the identified problem.
● Implementing the web application.
● Testing the web application.
● Deploying the web application.

Feasibility study

The objective here is to determine the pros and cons of doing the project and to determine if
it’s worth spending resources on it. We classified this study into 3 basic studies, Technical
feasibility, Economic feasibility, and Operational feasibility.
Technical Feasibility
Jobify employs a robust infrastructure comprising readily accessible, scalable, and easily
maintainable hardware and software components, ensuring the project's technical feasibility. By
leveraging state-of-the-art technologies and employing industry-standard development
practices, Jobify guarantees seamless scalability and adaptability to evolving requirements.
The utilization of modular hardware and software elements not only enhances system reliability
but also facilitates future upgrades and enhancements with minimal disruption. Additionally, the
platform's architecture is designed with user accessibility and efficiency in mind, ensuring
smooth operation and seamless integration with existing systems.

Economic Feasibility

Jobify's cost-saving approach extends beyond the realms of traditional advertising mediums
like flares and newspapers, positioning economic feasibility as a cornerstone objective. By
circumventing the expenses associated with conventional job postings, Jobify not only offers a
financially prudent solution but also maximizes cost-effectiveness for both employers and
jobseekers. This strategic emphasis on minimizing expenditure underscores Jobify's
commitment to providing a sustainable and accessible platform for employment opportunities.

Moreover, the platform's ability to streamline the recruitment process and reduce administrative
overhead further contributes to its economic viability. Consequently, Jobify not only presents a
financially prudent alternative to traditional hiring methods but also champions efficiency and
affordability in the contemporary job market landscape.

Operational Feasibility

Jobify is committed to ensuring the utmost quality and reliability by subjecting itself to a
rigorous battery of tests prior to its deployment to users, thereby guaranteeing usability and
maintainability. Through comprehensive testing protocols encompassing functionality,
performance, security, and user experience, Jobify strives to deliver a product that meets the
highest standards of excellence. By meticulously validating every aspect of its functionality and
performance, Jobify not only enhances user satisfaction but also minimizes the likelihood of
technical issues post-launch, thus ensuring a seamless and uninterrupted user experience.
Scope and Limitation

Scope

➔ Users/Employers/Employees :- any person with high school and higher education level.

Limitation

➔ An Employee's profile focuses on showcasing skill and experience through personal


website or social media. This might be difficult for users in certain professions.

Significance of the project


➔ For employees :- source of reliable information, profile review and rating.
➔ For employers:- source of professional

Methodology

Fact finding methodology

To gather basic requirements for Jobify we used one of the requirement gathering techniques
called an online questionnaire. We prepared the following questionnaire by including the
following questions:-
Fig 1.1 Questions used in the questionnaire

Responses
Fig 1.2 Responses of the questionnaire

Software methodology

We planned to use Agile development cycle due to the following properties of the model : -
● Continuous planning
● Continuous testing
● Continuous improvement
● Small, cross-functional teams

Data source

❖ Employers: - Job description


❖ Employees : - Basic skills, educational background and work experience

Development tools

Software tools

Name Type Description

Python Programming Python is a user-friendly high level


language programming language with a lot of useful
packages and libraries for telegram bot
development.
JavaScript Programming JavaScript is a programming language that
language is one of the core technologies of the World
Wide Web and mainly used for backend
development in this project.

MongoDB Database MongoDB is an open source document


oriented database with a lot of data types
compared to SQL.

Git and GitHub Tools Git is a free open source version control
system designed to handle changes
occurring in source code.

GitHub offers distributed version control and


source code management.

Pycharm IDE (Integrated PyCharm is a JetBrains based IDE for


Development python with excellent auto complete and
Environment) other tools.

VS Code Text Editor VS Code is a lightweight text editor with


syntax and autocomplete tools.

MongoDB compass Database manager MongoDB compass is an interactive tool for


querying, optimizing and analyzing your
MongoDB data.

Postman Tool Postman is a platform used to design, build


and test APIs.

AWS (Amazon Web Hosting platform AWS is a cloud computing platform with
Service) multiple high level programming languages
and framework support.

Slack Tool Slack is a messaging tool used for team


communication.

Telegram Social Media Telegram is free open-source social media


used for media sharing and communication.
Used as the main platform for testing and
deploying Jobify.

Table 1.1 Types of subscriptions in the system

Hardware tools

➔ Personal computer
➔ Handbook and pen
Required resources with cost

Resource Type Cost

AWS Software 0.08$/hr = 8 birr/hr

Postman premium Software 49.9$ = 4999 birr

Slack Software 60$ = 6000 birr

Table 1.2 Resources used in the system development with costs

Tasks and Schedule

Phases Time Table

March 21–24 March 24–27 March 27–April 3 April 3–7 April 7–9

Requirement ✔
gathering and
analysis

Design ✔

Implementation ✔

Testing ✔

Deploying ✔

Table 1.3 Tasks and Schedule

Team composition

Name Id Email Role

Abel Wendemu UGR/22574/13 Abelwendmu124@gm Implementation and


ail.com testing

Besufikad Michael UGR/22505/13 besumicheal@gmail.c Requirement validation


om and system design

Abdurahman Abdela UGR/22773/13 abdurahmanabdela47 Requirement gathering


@gmail.com and analysis.

Table 1.4 Team composition


Chapter 2

Description of current system


Various mediums, including posters, newspapers, broadcasting media such as radio and
television channels, and popular social media platforms like Telegram, Instagram, and
Facebook, offer avenues for job postings, providing a diverse array of channels to reach
potential candidates. Through these mediums, any individual who meets the basic job
requirements has the opportunity to apply manually, offering a broad spectrum of accessibility
for both employers and jobseekers.

This multifaceted approach not only caters to different demographics and preferences but also
maximizes the visibility of job opportunities, potentially attracting a more diverse pool of
applicants. Additionally, the manual application process ensures inclusivity by accommodating
individuals who may not have access to digital platforms or prefer traditional methods of job
application. Overall, the utilization of these varied mediums enhances the reach and
accessibility of job postings, fostering a more inclusive and dynamic recruitment ecosystem.

Major functionality of current system

● Anyone with a job offer post basic information about the job such as organization name,
required field, salary (optional), number of employees needed, contact information
(email, phone number) and address.

● Employees search for the suitable job they want to apply for.

Users of current system


● Employers such as governmental organizations, NGOs, private institutions or any
individual with Job opportunity.

● Employees with skills and work experience.


Drawbacks of current system

● Misinformation
● Unavailability and price of newspapers and flares.
● Lack of a system that validates if a certain job obeys rights of employees.
● Time consuming
Chapter 3

Proposed System

Overview

The proposed system is designed to bring job offers based on users skills and work experience.
And stores user data for quality improvement and research purposes. Based on level of
subscription, the system can provide the following :-

Features Standard Premium

Number of job posts and Limited Unlimited


uploads per day

Profile review and rating No Yes

Get status about the demand No Yes


of current market

Upload job posts No Yes

Price Free 50 birr per/month

Table 3.1 Types of subscriptions in the system

Functional requirements

The functional requirements describe the core functionality of the application. The functional
requirements of the system includes

➔ Register new user


➔ Create profile of user
➔ Create new job post
➔ Manage payment system based on the type of subscription
➔ Give rating and profile review for users with premium account
➔ Filter job posts based on user’s skill and experience
➔ Give statistical analysis for users with premium account
Non-functional requirements
Product requirements

➔ User interface requirements


● User interface should be menu-driven and attractive.
● The interface should be user-friendly.
● The system should support error-handling mechanisms that display graphic
approach and the system guide the user what will be the next action.

➔ Security requirement:- The system has different privileges to protect some protected
routes based on subscription type and provide authentication for the admin panel.
➔ Robustness (Error handling requirement):- The system has error handling
mechanisms and provides effective customer support.
➔ Well documented:- the document of this project is processed in a well manner so that
users can have a decent experience while using the product.
➔ Performance requirement:- The system performs its task within a user acceptable
time and space. Depending on the strength of the available network and version of
Telegram, the system should respond in a short period of time.
➔ Reliability:- The system should be reliable. Appropriate error messages will be provided
to users whenever incorrect information is inserted and handle the occurrence of that
error.

Organizational requirements

➔ The system should accept and store valid organizational information.


➔ The system should accept and store valid user information.
➔ The system must allow the admin to moderate user activities and posts.

External requirements

➔ The system must include and follow all the legal practices mentioned in Ethiopian
National Labor Law.
➔ The system must accept and store each payment data with respect to the users.
➔ The system must use latest good security practices in user authentication.
Metrics

Property Measure

Speed Since the system uses Server Side Rendering, the site takes less than a
1s to load.

Size The combined size of both frontend and backend mustn’t exceed 500kb.

Reliability Since the system is a mission-critical system, it runs 24/7.

Robustness The server automatically restarts in 5–10 seconds when a new version is
deployed or error occurs.

Table 3.2 Metrics

Domain and inverse requirements

Domain requirements

➔ The system must support filters in order to help customers.


➔ The system must check if the users and organizations entered valid basic information
properly or not.
➔ The system must store each job posts created by every customer.

Inverse requirements

➔ Individual users and organizations shouldn’t enter valid personal information.


➔ Organizations shouldn’t use invalid format for job posts.

Design and Implementation constraints


➔ User interface should be Telegram based for users and web based and telegram based
for admins.
➔ RAM and Processor usage in the database and backend server must not exceed above
90%.
➔ Frontend must have responsive design to support different devices with different screen
size.
➔ Frontend must be built by using technologies that are cross-platform.
➔ Backend must be built efficiently by using the concept of data structure and algorithms to
reduce resource usage

System model

Scenario
Scenario: 1

Name of Scenario: subscribe

Participating actors: all users


Entry conditions:
➔ Internet connection
➔ Telegram web, desktop or app

Flow of events:
1. User sends start command to the bot
2. Bot asks the user to enter basic information about himself/herself.
3. User enters basic information.
4. Bot asks the type of subscription that the user wants through options.
5. User enters the type of subscription through the options.
6. If the user selects the standard subscription, bot shows the available command
for users with standard subscription.
7. If the user selects a premium subscription, bot sends a link to handle the
payment system.
8. User enters a private key code to confirm the transaction, and the admin receives
transaction details through the admin panel (webpage).
9. Bot responds to wait until the transaction is verified by the admin (maximum 15
minute).
10. If the transaction is successful the bot shows the available commands and
services, if not the bot displays the error and asks the user to try again or raise
an issue.
Scenario: 2

Name of Scenario: view profile and update profile

Participating actors: all users


Entry conditions:
➔ Internet connection
➔ Telegram web, desktop or app
➔ Subscription

Flow of events:
1. User sends a profile command to the bot.
2. Bot sends a profile of the user and asks if the user wants to update or get back to
the main menu.
3. If the user clicks update, the bot asks which information the user wants to update.
4. After the user updates bot displays cancel, edit and done options, if not bot
displays the main menu.
5. If the user clicks edit, the bot allows editing changes made by the user.
6. If the user clicks cancel, the bot discards the change made by the user and
displays the main menu.
7. If the user clicks done, the bot displays the main menu.

Exceptional flow:
If the user didn’t provide the necessary information about himself/herself, the system asks
to enter the absent information to the user.

Scenario: 3

Name of Scenario: browse and apply to job posts

Participating actors: employees/ employers


Entry conditions:
➔ Internet connection
➔ Telegram web, desktop or app
➔ Subscription

Flow of events:
1. Bot sends latest job posts to the user based on user skill, experience and
educational background with the apply option.
2. If the user clicks the apply option, the bot sends basic information from the user
profile to the post uploader/ Employer. If the job requires additional information,
the bot asks the user to provide the information.
3. Employer/uploader gets basic information about the applicants.

Scenario: 4

Name of Scenario: upgrade to premium

Participating actors: all users


Entry conditions:
➔ Internet connection
➔ Telegram web, desktop or app
➔ Subscription

Flow of events:
1. User selects the upgrade subscription option.
2. Bot sends a link to handle the payment system.
3. User enters a private key code to confirm the transaction, and the admin receives
transaction details through the admin panel (webpage).
4. Bot responds to wait until the transaction is verified by the admin (maximum 15
minute).
5. If the transaction is successful the bot shows the available commands and
services, if not the bot displays the error and asks the user to try again or raise
an issue.

Scenario: 5

Name of Scenario: upload job posts

Participating actors: user with premium account and employers (organizations and
companies)
Entry conditions:
➔ Internet connection
➔ Telegram web, desktop or app
➔ Subscription

Flow of events:
1. User selects post job option.
2. If the user has a premium subscription the bot asks the user to enter basic
information about the job, if not the bot responds with the message “Dear USER
upgrade your subscription to premium”.
3. After the user enters basic information, the bot displays the edit, cancel and done
option.
4. If the user clicks edit, the bot allows editing changes made by the user.
5. If the user clicks cancel, the bot will discard the change made by the user and
display the main menu.
6. If the user clicks done, the bot displays the main menu.

Exceptional flow:
If the user didn’t provide the necessary information about the job, the system asks to enter
the absent information to the user.

Scenario: 6

Name of Scenario: report an issue

Participating actors: all users


Entry conditions:
➔ Internet connection
➔ Telegram web, desktop or app
➔ Subscription

Flow of events:
1. User selects the “report issue” option.
2. The bot asks the user to enter a description about the issue with the done and
cancel option.
3. After the user enters the description, if he/she chooses the done option, the bot
sends the issue to the backend server and displays the message “the report is
completely done” and the main menu.
4. After the user enters the description, if he/she chooses the cancel option, the bot
displays the main menu.

Exceptional flow:
If the user didn’t provide the necessary information about the issue, the system asks to
enter the absent information to the user.

Scenario: 7

Name of Scenario: unsubscribe

Participating actors: all users


Entry conditions:
➔ Internet connection
➔ Telegram web, desktop or app
➔ Subscription

Flow of events:
1. User selects the unsubscribe option.
2. If the user uses a standard subscription, the bot asks if the user wants to
deactivate his/her subscription with yes and no option.
3. If the user selects yes, the bot changes the status of the user to “dormant”, if not
the bot displays the main menu.
4. If the user uses premium subscription, the bot asks if the user wants to
downgrade to standard or deactivate his/her subscription.
5. If the user chooses to downgrade to standard, the bot changes the subscription
to standard and displays the main menu.
6. If the user chooses to deactivate subscription the bot changes the status of the
user to “dormant”, if not the bot displays the main menu.

Scenario: 8

Name of Scenario: login

Participating actors: admin


Entry conditions:
➔ Internet connection
➔ Web browser
➔ Username and password

Flow of events:
1. Admin enters username and password.
2. If the admin provides valid information, the system redirects him/her to the admin,
if not it displays an error message.

Exceptional flow:
If the admin entered nothing in the input field, the system will ask to input a valid input.

Scenario: 9

Name of Scenario: rate and review user profiles

Participating actors: admin


Entry conditions:
➔ Internet connection
➔ Web browser
➔ Username and password

Flow of events:
1. Admin login to the admin panel using username and password.
2. The system lists profiles of users with premium accounts.
3. Admin selects each user one by one and reviews their profile by rating them out
of 5.

Scenario: 10

Name of Scenario: verify payment transaction

Participating actors: admin


Entry conditions:
➔ Internet connection
➔ Web browser
➔ Username and password

Flow of events:
1. Admin login to the admin panel using username and password.
2. The system lists payment transactions from users.
3. If the transaction is successful the admin verifies it by clicking the verified button,
if not the admin sends the error occurred through the input field.

Exceptional flow:
If the admin entered nothing to the input when the transaction is failed, the system will ask
to input a valid message.

Scenario: 11

Name of Scenario: verify job post

Participating actors: admin


Entry conditions:
➔ Internet connection
➔ Web browser
➔ Username and password

Flow of events:
1. Admin login to the admin panel using username and password.
2. the System lists a number of job posts that need to be verified.
3. Admin checks each job post one by one.
4. If the post doesn’t meet basic criteria, the admin sends a message through the
input field if not, the admin clicks the verified button to verify the post.
Exceptional flow:
If the admin entered nothing in the input field, the system will ask to input a valid input.

Scenario: 12

Name of Scenario: manage users

Participating actors: admin


Entry conditions:
➔ Internet connection
➔ Web browser
➔ Username and password

Flow of events:
5. Admin login to the admin panel using username and password.
6. System lists a number of users
7. Admin checks each job post one by one.
8. If a certain user violates terms and agreements of the system, the admin bans
the user by deactivating his/her subscription, then the bot sends notification to
the user.

Scenario: 13

Name of Scenario: resolve issue

Participating actors: admin


Entry conditions:
➔ Internet connection
➔ Web browser
➔ Username and password

Flow of events:
1. Admin login to the admin panel using username and password.
2. System lists a number of issues and complaints that need to be resolved.
3. Admin checks each issue and complaints one by one.
4. If the issue can be resolved by the admin, the admin resolves it and sends an
“issue resolved message” through the input field, if the issue can be resolved by
the user, the admin sends steps/ methods to resolve the issue through the input
field.

Exceptional flow:
If the admin entered nothing in the input field, the system will ask to input a valid input.

You might also like