You are on page 1of 12

COMSATS University Islamabad,

Park Road, Chak Shahzad, Islamabad Pakistan

SOFTWARE DESIGN
DESCRIPTION
(SDD DOCUMENT)

for

HR Agency Suite
Version 1.0

By
Adalat Mehdi CIIT/SP16-BCS-058/ISB
Muhammad Haaris Khan CIIT/SP16-BCS-083/ISB

Supervisor
Mr. Khurram Iqbal

Submission Date: 21-05-2019

Bachelor of Science in Computer Science (2016-2020)


Table of Contents
Revision History ........................................................................................................................ 4
1. Introduction ......................................................................................................................... 6
2. Design Methodology and software process model .............................................................. 6
3. System Overview ................................................................................................................. 7
3.1 Architectural Design ............................................................................................................... 7
3.2 Process Flow/Representation .................................................................................................. 8
4. Design Models [along with descriptions] ............................................................................ 8
5. Data Design .......................................................................................................................... 9
5.1 Data Dictionary ...................................................................................................................... 9
6. Algorithm & Implementation ............................................................................................. 9
7. Software Requirements Traceability Matrix ................................................................... 11
8. Human Interface Design ................................................................................................... 11
8.1 Screen Images....................................................................................................................... 12
8.2 Screen Objects and Actions ......................................................................................................... 12
9. Appendix I ......................................................................................................................... 12
Revision History
Name Date Reason for changes Version
Application Evaluation History

Comments (by committee) Action Taken


*include the ones given at scope time both in doc and
presentation

Supervised by
Mr. Khurram Iqbal

Signature______________
1. Introduction
This project is basically developed to provide the job providers an easy way of shortlisting
their candidates. Shortlisting candidates is a tedious job and requires a lot of time. Similarly
nowadays finding a job is a very difficult so candidates can search for the job which is most
suited to them. Parameters like experience, skills, studies, area of job etc. will be introduced.
With the passage of time the requirements of the job will be changing according to the change
in the technologies.
Three interfaces will be created and Profiling will be done for the different type of users. The
two types of users will be job providers and job seekers. Firstly the user will sign up so that he
can be identified uniquely. After signing in the user will be able to view jobs and search for
the jobs by category and city. The companies will be able to post for jobs (Job
Management). The job provider will be able to edit posted jobs and delete it according to
their need off course. Moreover no one will be left behind and everyone who has signed up
will be sent an email to keep them updated on the job status, any important event
(Notification Generation). A Payment Gateway will be created to receive money from the
clients who are posting jobs as they are the ones whose time will be saved. Applying for job is
free everywhere so no price will be charged from job seeker. Every time a CV is uploaded a
QR Code will be attached to it, this will make searching easier for job providers. The Online
System that is to be developed provides the members with jobs information, online applying
for jobs and many other facilities like they will be able to see what jobs are most in demand
through graph representation. Due to online application a huge pool of applications will be
collected now in order to Shortlist Candidates we use Learning to Rank (LTR) or Average
Word Embedding (AWE), a Machine Learning Algorithm for the selection of candidates and
a list will be created which will be sent to provider on receiving the payment.
The Basic Scope of the project is given as under.
 Job Seekers Area
 Recruiters Area
 Administrator’s Panel

2. Design methodology and software process model


The software design methodology and software process model we will use for the
development of HR AGENCY SUITE application is as follows.

2.1 Software Process Methodology

We will be using Incremental model. System development is broken down into small
development projects. Partial systems are successively built to produce a final whole system.
Most important module is done first. Once the module is developed, requirement for that
increment are fixed. It is cheaper and easy changes can be done in the system being
developed.

2.2 Design Methodology


Object oriented design methodology will be used. The upkeep of code will be easier and
through encapsulation the internal representation or state of an object will be hidden from
outside.
3. System overview
This system will be deployed on web and we will be implementing MERN stack. This
system will use Express and Node.js server to operate correctly. Mongo DB will be used for
database and React will be used for front–end. The system will have two types of users
which are job seeker and job provider. The system will provide job opportunities to the
candidates whether they are fresh graduates or they are graduated for quite a while.
Moreover the project is more helpful to job providers as the shortlisting process will
shortened and time will be saved. A list of those candidates will be generated who passed
the test and those who are at the top.
Admin Panel will have the authority to remove job provider and seeker with surely other
facilities. He/she will have the authority to manage posted jobs, post some notice. It will
contain issues reported by user while using the service. Also he/she will also be taking care
of payments. Features for easy job Searching will be introduced like search job by city or
search job by category. Other features include Apply for job or Post job. All the
information will be taken in the form of fields but off course the CV has to be uploaded. A
Notification will be sent to all those who have shown interest in the particular category of
job.
Chart generation will give an overview of how many jobs have been posted and how
applicants have applied for the particular job. It will represent the data in graph form. The
CV generation will provide information required for the analysis of short listing candidates.
Learning to rank (LTR) is an application of machine learning, typically supervised, semi-
supervised or reinforcement learning, in the construction of ranking models for information
retrieval systems. It will give points to the candidates according to their education, skills,
experience, preferences etc. All of the points will be added and will be compared with other
candidates; the candidates with the top scores will be shortlisted and sent to the
administrator. Before the shortlisted candidates list is sent then the provider has to pay. Jazz
cash will be integrated in our system to keep record and provide dependable transaction to
our customers. Transaction will be in Pakistani rupees.

3.1 Architectural design


Develop a modular program structure and explain the relationships between the modules
to achieve the complete functionality of the system. This is a high-level overview of how the
system’s modules collaborate with each other in order to achieve the desired functionality.

Don’t go into too much detail about the individual subsystems. The main purpose is to gain
a general understanding of how and why the system was decomposed, and how the individual
parts work together.

Provide a diagram showing the major subsystems and their connections. Use a simple Line-Box-
Diagram for simpler systems and detailed diagrams (MVC, Client-Server, Layered, Multi-
tiered) for complex systems.
Process flow/Representation
Provide a representation of the flow of MAJOR processes of your system in the form of an
activity diagram. DO NOT CREATE ACTIVITY DIAGRAMS FOR LOGIN OR SIGN-UP
UNLESS THEY INVOLVE SIGNIFICANT COMPLEXITY. Include only the major
processes.

4. Design models
Following diagrams discuss design model for HR Agency Suite:

4.1 Class Diagram


The class diagram consists of 14 classes. These classes fetch or insert data from database. View
classes are implemented on typescript. Controller classes are developed using Express.Js running
on Node.Js server. They require mongoose for generating schema and data manipulation.

Following are the classes for HR Agency Suite:

Admin Login Class:

Admin Info Class:

Person Class: It consists of different attributes related to user that are same for all users like full
name and last name.

Job Seeker Class:

Job Provider Class:


Resume Class:

Education Class:

Job Category Class:

Jobs Class:

Request Class:

Confirm Class:

Notification Class:

Payment Class:

Candidate Selection Class:

Data design
Explain how the information domain of your system is transformed into data structures.
Describe how the major data or system entities are stored, processed and organized.

List any databases or data storage items.

Data dictionary
Alphabetically list the system entities or major data along with their types and descriptions. If
you provided a functional description, list all the functions and function parameters. If
you provided an OO description, list the objects and its attributes, methods
and method parameters.

Algorithm & Implementation


Notification algorithm:
This algorithm will notify users about the jobs offered and in the field they have shown interest in. On
time notifications are important so that opportunities are not missed.

1. Get send notification request.


2. Get destination address.
3. Generate an automated text.
4. Send notification through text.
5. Send notification from admin panel.

Job managing description:


This feature manages jobs on both the ends provider and seeker. Allows permission to post the job and
collects the list of candidates to select the most suited ones.

1. Get job post request.


2. Forward job post request to admin.
3. After approval the job is allotted to particular job provider in database.
4. Start displaying the job in selected category.
5. On ‘Apply for job’ button clicked, get resume and add the name in the list of candidates.
6. On delete, remove active status from job database.
7. Send notification API the request to inform the respective users.

Payment routine description:


For selecting the most suitable candidates for the job provider, the admin charges some money for it.
This feature deals with it.

1. Request admin for the list of selected candidates.


2. On request arrival the admin checks if the job provider has paid or not.
3. If paid then the list of candidates is forwarded to the job provider.
4. If not paid then the admin send request to job provider to pay first.
5. Send notification API the request to inform the respective users.

Search Job description:


This feature helps finding the proper or suitable job for the job seeker. Instead of scrolling through the
website, the user can find the job with suitable keyword.

1. Go to search bar.
2. Select the parameter you want to use.
3. Enter the keyword with which you want to search.
4. Executes key results
5. Matches keywords by query in database.
6. Returns Results.

Learning to Rank Algorithm (LTR):


At search time, individual queries are also parsed into tokens. The search engine then looks up
the tokens from the query in the inverted index, ranks the matching documents, retrieves the text
associated with those documents, and returns the ranked results to the user.
1. The query is issued to the index.
2. The best results from that query are passed into the model.
3. Re-ordered before being returned to the user the parameter you want to use.

Following are the API which will use in HR Agency Suite

Name of API Description Purpose List Down Function


Names in which it is used
JazzCash All the payment Single business addFunds();
Transactions for the account for HR
Agency Suite. transferFunds();
portal will be handled
Upon calls it add, withdraw funds();
by it.
removes and transfer withdrawEarnings();
funds from this
account to the
accounts of users.

Rest Api Allows two programs A RESTful API is an GET


to communicate with application program PUT
each other. interface (API) that POST
uses HTTP requests. DELETE
More robust because
REST favours less
bandwidth, making it
more suitable for
internet usage.

Software requirements traceability matrix


This section should contain a table that summarises how each software requirement has been met
in this document. The tabular format permits one-to-one and one-to-many relationships to be
shown.

Table 1 Requirements Traceability Matrix


Req. Number Ref. Item Design Component Component Items
FR01 Class Diagram ClassName FunctionName(s)
OR
FR01 DFD DiagramNumber/Level FunctionName(s)

Human interface design


Describe the functionality of the system from the user’s perspective. Explain how the user will
be able to use your system to complete all the expected features
and the feedback information that will be displayed for the user.
Screen images
Display screenshots showing the interface from the user’s perspective. These can be hand-drawn,
or you can use an automated drawing tool. Just make them as accurate as possible. (Graph paper
works well.)

8.2 Screen objects and actions


A discussion of screen objects and actions associated with those objects

Appendix I
 How to design using UML (OOP): For guidance please follow the instructions mentioned
in the link: http://agilemodeling.com/artifacts/

 How and when to design ER diagrams: For guidance please follow the instructions
mentioned in the link:
http://people.inf.elte.hu/nikovits/DB2/Ullman_The_Complete_Book.pdf

 Data flow diagrams: For guidance please follow the instructions mentioned in the link
and book:
o http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm
o Software Engineering –A Practitioner’s approach by Roger Pressman
 Architecture diagram: For guidance please follow the instructions mentioned in the link
and book:
o Ian Sommerville – Software Engineering 9th Edition– Chapter 6

You might also like