Project Management Project
Project Management Project
Group members ID
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.
● 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
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
Development tools
Software tools
Git and GitHub Tools Git is a free open source version control
system designed to handle changes
occurring in source code.
AWS (Amazon Web Hosting platform AWS is a cloud computing platform with
Service) multiple high level programming languages
and framework support.
Hardware tools
➔ Personal computer
➔ Handbook and pen
Required resources with cost
March 21–24 March 24–27 March 27–April 3 April 3–7 April 7–9
Requirement ✔
gathering and
analysis
Design ✔
Implementation ✔
Testing ✔
Deploying ✔
Team composition
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.
● 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.
● 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 :-
Functional requirements
The functional requirements describe the core functionality of the application. The functional
requirements of the system includes
➔ 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
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.
Robustness The server automatically restarts in 5–10 seconds when a new version is
deployed or error occurs.
Domain requirements
Inverse requirements
System model
Scenario
Scenario: 1
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
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
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
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
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
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
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
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
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
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
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
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
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.