Sie sind auf Seite 1von 43

Object Oriented Analysis & Design Project Report

Project Team
Aarij Siddiqui 09-2197 Rida Sattar 09-2080 Safi Ur Rehman Siddiqui 09-2056

Submission Date

21st November, 2011

<Project code>

Software Design Specification

<Version 1.0>

Work Distribution Form

Member Name
1. Aarij Siddiqui 2. Rida Sattar 3. Safi Ur Rehman Siddiqui

Topics covered
CRC, Interface, Use Case Diagram, Scope Class Diagram, Sequence Diagram, Narrative Use Cases Narrative Use cases, Functional Hierarchy, Package Diagram

Page 2 of 43

<Project code>

Software Design Specification

<Version 1.0>

Table of Contents
1 Introduction _____________________________________________________________________________ 4 1.1 1.2 2 Project Overview ________________________________________________________________________ 4 Scope _________________________________________________________________________________ 4

Design Considerations _____________________________________________________________________ 5 2.1 2.2 Assumptions and Dependencies ____________________________________________________________ 5 Risks and Volatile Areas ___________________________________________Error! Bookmark not defined.

Functional Requirements ___________________________________________________________________ 6 3.1 Functional Hierarchy_____________________________________________________________________ 6

3.2 Use Cases ____________________________________________________________________________ 7 3.2.1 Loging in ________________________________________________________________________ 8 3.2.2 Registering on the portal___________________________________________________________9 3.2.3 Editing Profile___________________________________________________________________10 3.2.4 Searching Jobs/Profiles ___________________________________________________________11 3.2.5 Applying for Job_________________________________________________________________12 3.2.6 Editing Resume'_________________________________________________________________ 13 3.2.7 Subscribing to the job provider_____________________________________________________14 3.2.8 Viewing profile__________________________________________________________________15 3.2.9 Messaging______________________________________________________________________16 3.2.10 Putting/Updating the vacancy______________________________________________________17 3.2.11 Downloading Resume'____________________________________________________________18 3.2.12 Recovering the password__________________________________________________________19 3.2.13 Uploading video_________________________________________________________________20 3.2.14 Paying via credit card_____________________________________________________________21 3.2.15 Deleting posts on site_____________________________________________________________22 4 System Architecture ______________________________________________________________________ 24 4.1 System Level Architecture _______________________________________________________________ 24

4.2 Application Design _____________________________________________________________________ 25 4.2.1 CRC card _______________________________________________________________________ 25 4.2.2 Class Diagram ___________________________________________________________________ 28 4.2.3 Sequence Diagram _______________________________________________________________ 29 5 Interface______________________________________________________________________________ 44

Page 3 of 43

<Project code>

Software Design Specification

<Version 1.0>

1 Introduction
1.1 Project Overview
We are designing a job portal which will enable the companies to find appropriate candidate for the respective posts through the detailed resumes and profiles of job seekers on our portal.

1.2 Scope
Our project will distinguish itself from other Job Portals by incorporating all the features a potential employee or a potential employer might have need of. Our project will be conceptually divided into two parts: The employee side and the employer side. The employee side will have distinguishing features such as subscribing to particular companies for future job openings, suggestions on the basis minimal requirement (even if not subscribed), aside from these, the employee side will have the regular features of a typical job portal, i.e. Profile making, Resumes, etc. The Employer side will have the distinguishing features of not allowing applying to a job unless minimal requirements are filled so as to filter the unworthy candidates, suggestions on the basis of best met requirements, other than this, this partition too will have the general features of any typical Job Portal. The employee can create his or her account on job portal and will be informed automatically if any updates related to his job requirement arrive. The system will allow the employers to upload a video presenting their company, the videos can be seen after on the page showing the jobs posted by the company. The video presentation could be also an additional way to better present the company and the type of employees it may need. There will be functionality for the jobseekers to set their profile as public or private, the private profiles aren't available on the page allowing the employers to search jobseekers in their admin space and allow the jobseekers to protect the privacy of their data.

Page 4 of 43

<Project code>

Software Design Specification

<Version 1.0>

2 Design Considerations
Our system will resolve the problem of having an interactive system for the job seekers and providers which was not present in the present environment. There are several job portals available but they are neither very simple to use nor interactive for the providers and seekers to have a good information about each other.

2.1 Assumptions and Dependencies


We are assuming that our users are computer literate. We are assuming the users have internet facility available at their disposal.

Page 5 of 43

<Project code>

Software Design Specification

<Version 1.0>

3 Functional Requirements
3.1 Functional Hierarchy

Page 6 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2

Use Cases

Page 7 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.1 Logging in
This Use Case describes the Login feature of the website.

01: Logging In

Use case Id:

01

Actors: Job Seeker, Job Provider, and Administrator Feature: Providing a Login space for Seeker, Provider, and Administrator. Pre-condition: Scenarios Step# 1. Action The user will request for Login by entering User ID, and Password. 2. The system will verify User ID, and Password by getting details from database. 3. Grant access to Site and show inform user. 4. Open Profile Page Alternate Scenarios: Alt Step 2a: Prompt User about invalid Username, or Password, and ask for re-entry. Post Conditions Step# 1: Description At the completion of this use case the user can access resources of the system depending on the authorization, edit profile, search jobs, subscribe, etc. 02: Registering on the portal Software Reaction Registration

Use Case Cross referenced

Page 8 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.2 Registering on the portal


This Use Case describes the most initial registration process on the portal.

02: Registering on the portal


Use case Id: 02

Actors: Job Seeker, Job Provider Feature: This feature is for registering any User seeking a Job or Company that wants to employ people. Pre-condition: Scenarios Step# 1. Action The user Clicks on register then enter Username, Email ID, and password. 2. The system will verify Email ID, and password. 3. The system will Send email Confirmation with 7 Day expiration period. 4. Confirm Email ID. 5. Register User. Alternate Scenarios Alt Step 2a: If users id is a repeat, or the password is smaller than the minimum limit, or greater than the maximum limit, then the system will display an error message. Post Conditions Step# 1: Description At the completion of this use case the user can Login. Logging in Software Reaction None

Use Case Cross referenced

Page 9 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.3 Editing Profile


This use case describes the editing profile facility for the job seeker and job provider by making/updating profiles.

03: Editing Profile


Use case Id: 03

Actors: Job Seeker, Job Provider Feature: This feature will allow the user to create their Online Profile on the Portal according to a pre-defined pattern. Pre-condition: Scenarios Step# Action 1. 2. The user Clicks on Edit Profile option. The user will enter the details(personal/professional/academic) Choose Expertise Category (Drop Down) 4. Verify whether every required field is filled or not. 5. Update Profile and save details. Alternate Scenarios: Alt Step 4a: Prompt the user for incomplete Profile Change. Post Conditions Step# Description 1: Profile will be viewable to potential Job Providers as per the Users privacy settings. 02: Registering on the portal, 01: Login Software Reaction Login

3.

Use Case Cross referenced

Page 10 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.4 Searching Jobs/Profiles


This use case describes the searching facility where job provider/job seeker can search each others profile and job seeker can also search jobs.

04: Searching Jobs/Profiles


Use case Id: 04

Actors: Job Seeker, Job Provider Feature: To allow seeker to search Jobs/Seekers, and Providers to search Seekers/Providers. Pre-condition: Scenarios Step# 1. Action The user will enter search query in the given search space. Choose filtering option (Seeker/Provider, Vacancy/Qualification/Location/etc.) 3. Apply filter, and output the desired results. Alternate Scenarios 3a: If the querys result does not exist the system will display error message. Software Reaction Login

2.

Post Conditions Step# 1. Description The user can view Profile and job vacancies.

Use Case Cross referenced 02: Registration, 02: Login, 08: Viewing Profile

Page 11 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.5 Applying for job

05: Applying For Job

Use case Id: Actors: Job Seeker

05

Feature: To allow seeker to apply for a Job Pre-condition: Scenarios Step# 1. Action The job seeker will browse vacancies (posts) by entering job category. 2. The system will list down the vacancy list and details. 3. The job seeker will click on Apply and send details. 4. The system will notify job providers. Alternate Scenarios 2a: The system will show error message if the required job category vacancy not available and ask for re-entering. Post Conditions Step# Description The job seeker can interact with the job provider. Use Case Cross referenced 02: Registering on the portal, 01: Logging in, 6. Editing resume, 4. Searching jobs/profiles. Software Reaction Login, Resume exists, Vacancy Available

Page 12 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.6 Editing Resume


This is for the job seeker to make/update resume so that he can apply for job by providing resume for the job provider.

06: Editing Resume


Use case Id: Actors: Job Seeker Feature: This feature will allow the User to make an Online Resume via predefined stencil (for fresh Seekers) Pre-condition: Scenarios Step# 1. Action The job seeker clicks on Edit Resume. The job seeker will write/put his required details (educational history/ personal info/contact details) according to the format. 3. The system will check the format details and approve. 4. The system will create resume of the job seeker and save in the database. Alternate Scenarios 3a: If the format is incorrect then the system will not approve it. 4a: The system will not create resume and show error to the job seeker. Software Reaction Login 06

2.

Post Conditions Step# 1: Description After completion the Seekers Resume can be viewed by any potential Employer. 01: Registering on the portal, 02: Logging in , 03: Edit profile

Use Case Cross referenced

Page 13 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.7 Subscribing to the Job Provider


This use case describes that job seeker can also subscribe himself to the job providers company so that he can get updates.

07: Subscribing to the Job Provider


Use case Id: Actors: Job Seeker Feature: To allow seeker to subscribe to Companies Pre-condition: Scenarios Step# 1. Action The user Clicks on Subscribe. 2. The system will inform the job provider about the recent subscription and send user details. 3: If job provider will agree on users subscription then system will update user on Company matters, and vacancies and inform user. Alternate Scenarios 3a: If job provider is not allowing/agree on the users subscription request, then system will not allow user to subscribe and inform by sending message. Post Conditions Step# 1: Description The subscriber will get updates automatically and vacancy details of the company. Software Reaction Login 07

Use Case Cross referenced 02: Registration, 01: Logging in, 08: Viewing profile.

Page 14 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.8 Viewing Profile


This use case is for the job seeker, job provider to view each others profiles and administrator can also view his members profile.

08: Viewing Profile

Use case Id:

08

Actors: Job seeker, Job Provider, Administrator Feature: All the actors can view each others profile so that they can get details. Pre-condition: Scenarios Step# 1. Action The user Clicks on View Profile by entering others username/user ID. 2. The system will check if the entered username/user ID exists or not. 3. The system will show the desired profile to the user. 3. The user will view the profile. Software Reaction Login

Alternate Scenarios: 3a: The system will display error message if the entered details are invalid and ask to re-type again.

Post Conditions Step# 1: Description At the completion of this use case the user can view others profile. 02: Logging in, 03: Editing profile

Use Case Cross referenced

Page 15 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.9 Messaging This use case defines that both job seeker and job provider can send messages to each other.

09: Messaging
Use case Id: 09

Actors: Job Seeker, Job Provider Feature: This feature will allow the Seeker, and Provider to Contact each Other. Pre-condition: Scenarios Step# 1. Action The user will go to Profile, and clicks on Message option. 2. The system will open message box for the user to write message. 3. The user will type message and hit send. 4. The system will send message to the receiver along with senders details. Alternate Scenarios: 4: In case of any error in message, the system will not send message and show error message to the sender. Software Reaction Login

Post Conditions Step# Description The job seeker and job provider can contact with each other and get required details. Use Case Cross referenced 01: Logging in, 08: viewing profile

Page 16 of 43

<Project code>

Software Design Specification

<Version 1.0>

3.2.10 Putting/Updating the Vacancy


This use case describes that job provider puts vacancies on site after getting approval from system.

10: Putting/Updating the Vacancy

Use case Id:

10

Actors: Job Provider, System control Feature: This feature will allow the provider to Update Vacancy after getting approval from system control. Pre-condition: Scenarios Step# 1. 2. Action The user Clicks on Put Vacancy. The user enters vacancy title along with its details. 3. The system will check vacancy details and approve by sending payment details. 4. The user will pay by entering credit card no and details. 5: Perform necessary Credit transactions and after verifying card the system will allow user to put vacancy. 6: Update Vacancy Alternate Scenarios: 3a: The system will send error message if post is invalid. 5a: The system will send error message if credit card details are invalid and will not allow user to put vacancy. Post Conditions Software Reaction Login

Page 17 of 43

<Project code>

Software Design Specification

<Version 1.0>

Step# 1.

Description The system will send subscribers a message and others can view vacancy. 01: Logging in, 03: Editing profile, 14: Payments via credit card.

Use Case Cross referenced

3.2.11 Downloading Resume


This use case defines the downloading resume facility which is for the job providers.

11: Downloading Resume


Use case Id: Actors: Job Provider Feature: This feature will allow the Provider to Download a Seekers Resume. Pre-condition: Scenarios Step# 1. Action The job provider view job seekers profile and then Clicks on Download to download resume. 2. The system will allow job provider to download resume and save resume download details in database Alternate Scenarios: 2: If any error occurs in downloading, the system will display error message and ask user to try again. Software Reaction Login and view job seekers profile 11

Post Conditions Step# Description

Page 18 of 43

<Project code>

Software Design Specification

<Version 1.0>

1:

The job provider will have the downloaded PDF of seekers Resume. 01: Logging in, 08: Viewing Profile

Use Case Cross referenced

3.2.12 Recovering the Password


This Use Case describes the scenario in which the User forgets their Password.

12: Recovering the Password

Use case Id: Actors: System Control

12

Feature: This Use Case presents the feature in which the User forgets their Password and system will recover the password. Pre-condition: Scenarios Step# 1. Action The user Clicks on Forget Password then enters Email ID. 2. Check whether the given ID matches any in the system. 3. The system will ask the security question. 4. The user will give answer to the security question. 5. Verify the answer. 6. The system will send email containing password on the given address. Alternate Scenarios: Alt Step 2a: If email ID does not match, prompt User for invalid/unregistered Email ID. Alt Step 5a: If the answer to the question does not match with the system database, prompt User for invalid answer and let him/her try again. Software Reaction Registered

Page 19 of 43

<Project code>

Software Design Specification

<Version 1.0>

Post Conditions Step# 1: Description User can now Login into the System and access resources again. 02: Registering on the portal, 01: Logging in.

Use Case Cross referenced

3.2.13 Uploading Video


This use case describes the action performed by the job provider of the company to upload video on the site.

13: Uploading Video

Use case Id: Actors: Job Provider

13

Feature: Each job providers can upload video on the site. Pre-condition: Scenarios Step# 1. Action The job provider will click on Upload video and send video details. 2. The system will check video details and if post is valid then upload video on the site. 3. The system will save the video details in database. Alternate Scenarios: 2a: In case of invalid Software Reaction Login

Post Conditions

Page 20 of 43

<Project code>

Software Design Specification

<Version 1.0>

Step# 1:

Description At the completion of this use case job provider can put vacancy on the job portal website and can update this vacancy in future. 02: Logging in, 10: putting/ updating vacancy after approving

Use Case Cross referenced

3.2.14 Paying via Credit card


This use case describes the payments of the vacancies posted by the job provider. The job provider will pay via credit card.

14: Paying via Credit card

Use case Id: Actors: Job Provider

14

Feature: Each job providers will pay on the vacancy posts and system will then verify the payments via credit card. Pre-condition: Scenarios Step# 1. Action The job provider will click on Payment. 2. The system will fetch payments details from database and display to the job provider. 3. The user pays the bill by entering credit card number and details. 4. The system will verify the payment via credit card by checking its validity and amount. Alternate Scenarios: Software Reaction Login

Page 21 of 43

<Project code>

Software Design Specification

<Version 1.0>

Alt Step 4a: If the credit card is expired or having insufficient amount then the system will display an error message and will not allow job provider to put vacancy on the site.

Post Conditions Step# 1: Description At the completion of this use case job provider can put vacancy on the job portal website and can update this vacancy in future. 02: Logging in, 10: putting/ updating vacancy after approving

Use Case Cross referenced

3.2.15 Deleting Posts on Site


The use case describes the deletion of incorrect/invalid posts of the site by the administrator.

15: Deleting Posts on Site

Use case Id: Actors: Administrator Feature: Pre-condition: Scenarios Step# 1. Action

15

Login

Software Reaction

The administrator will view and select posts. The administrator clicks on Delete. 3. The system will delete the posts and perform updates. 4. The system will display message to the administrator about deletion.

2.

Alternate Scenarios:

Page 22 of 43

<Project code>

Software Design Specification

<Version 1.0>

3a: In case of any error, the system will display error message and ask administrator to try again.

Post Conditions Step# 1: Description At the completion of this use case, site will contain all the valid/correct posts. 02: Logging in

Use Case Cross referenced

Page 23 of 43

<Project code>

Software Design Specification

<Version 1.0>

4 System Architecture
4.1 System Level Architecture

Page 24 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2 Application Design


4.2.1 Class Responsibility Collaboration Card

Object Name: Job Seeker Responsibilities Collaborators

To keep all the information about the candidate for e.g. His name, SSN, DOB, Address, etc. This class will also allow job searching, applying, making the profile, resume, etc

System Controls, interface, resume

Object Name: Job Provider Responsibilities Collaborators

To keep all the information about the Job Provider for e.g. His name, SSN, DOB, Address, etc. This class will also allow the job provider to download resumes of various seekers, making the profile, uploading the video and etc.

Payment, interface, system controls, vacancy, video Details

Object Name: Video Details Responsibilities Collaborators

This class is responsible for keeping the details about the video, that has been uploaded by the Job provider, like its length and its title.

Job provider, interface

Object Name: Administrator Responsibilities Collaborators

Just like candidate and Job provider classes, this class is responsible for keeping the detailed information about

System controls, interface

Page 25 of 43

<Project code>

Software Design Specification

<Version 1.0>

administrator, some extra features includes viewing member list.

Object Name: System Controls Responsibilities Collaborators

This class will verify the user details before registering him on the portal, it will also inspect vacancy before it gets available on the portal and it will also send notifications to the users.

Vacancy, interface, payment, job seeker, job provider

Object Name: Payment Responsibilities Collaborators

This class will verify the credit card number, user ID, due date for the next payment and other details related to payment.

Card Details, job provider, system controls

Object Name: Card Details Responsibilities Collaborators

This class will execute the billing through credit card, deducting the said amount from users account, checking the amount etc.

Payment

Object Name: Resume Responsibilities Collaborators

This class will keep the job seekers resume details and enable the user to edit and update it.

Job seeker

Page 26 of 43

<Project code>

Software Design Specification

<Version 1.0>

Object Name: Vacancy Responsibilities Collaborators

This class is responsible for keeping the information related to a vacancy, like when it is added, whats the placement date and etc.

Job provider, system control, approved vacancies

Object Name: Interface Responsibilities Collaborators

It will display the welcome, and various pages of our job portal and user interacts with rest of the system through this class.

System control, job provider, job seeker

Object Name: Approved Vacancies Responsibilities Collaborators

This class is responsible for keeping the information related to a vacancy, like when it is added, whats the placement date and etc.

Vacancy, system controls

Page 27 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.2 Class Diagram

Page 28 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3 Sequence Diagram


4.2.3.1 <Logging in> It will allow users (administrator, job provider and job seeker) to login into our system. The system control will fetch details from database and then match user details for verification and grant access.

Page 29 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.2 <Registering on the portal>


This feature of our system allows the (administrator, job provider and job seeker) to register to our system. The system will take the specific details of the user and enter it to our database.

Page 30 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.3 <Editing Profiles>


The job provider and job seeker will be allowed to edit their profiles to make them more attractive. The system will update the details in the database and in case of first time it will create the user profile.

Page 31 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.4 <Searching Jobs/profiles>


The feature allows job seeker and job provider to search each others profile and also to search jobs through respective keywords from the database.

Page 32 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.5 <Applying for job>


Once the job seeker has found an appropriate job for himself by browsing (considering that his domain is compatible with his qualifications), he will be allowed to apply for the job and a notification will be sent to the respective Job Provider.

Page 33 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.6 <Editing Resume>


The job seeker is supposed to make a resume for the job provider to see his details in an official manner. Job seeker, after logging in to our system, will be allowed to edit or make his resume in a particular format. Resume is one of the important features in getting a successful job.

Page 34 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.7 <Subscribing to the job provider>


The job seeker is also allowed to subscribe to the job provider so that he can catch up with upto-date information on the companies job openings.

Page 35 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.8 <Viewing Profile>


The job seeker and provider is also allowed to view each others profile only if the user makes his privacy settings to viewable, but the administrator will be allowed to view the profiles in any case.

Page 36 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.9 <Messaging>
The job seeker and job provider are allowed to message each other, only if their privacy setting allows them to do that.

Page 37 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.10 <Putting/Updating the Vacancy after approval>


The job provider will open a vacancy and it will be available for the job seeker after systems approval.

Page 38 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.11 <Downloading resume>


The job provider will be allowed to download the job seekers resume.

Page 39 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.12 <Recovering the password>


The system will recover the password for the users, the security question will be asked and then email will be sent to their respective email address.

Page 40 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.13 <Uploading Video>


The job provider will upload the video about his company and other details about the available job. The video should match the specifications (length, resolution, etc.) mentioned on the portal.

Page 41 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.14 <Payments via Credit Card>


The job provider will pay a percentage on each vacancy he opens, our system will verify the credit card details and deduct the said amount.

Page 42 of 43

<Project code>

Software Design Specification

<Version 1.0>

4.2.3.15 <Deleting the post on site>


The administrator is allowed to delete any post on the portal via system control.

Page 43 of 43

Das könnte Ihnen auch gefallen