Professional Documents
Culture Documents
By
Sidrah Aslam
A Project Report Submitted To Department Of Computer Sciences, Quaid-i-Azam University As A Partial Fulfillment Of The Requirements For The Award Of Degree Of M.Sc. In Computer Science. July 2007
Project Brief
Recruitment
Management
Ms. Sidrah Aslam Ms. Muddassira Arshad Lecturer Department of Computer Science Quaid-i-Azam University, Islamabad.
Starting Date: Completion Date: Tool Used: Operating System: System Used:
February 2007. July 2007. Microsoft Visual Studio.Net. Microsoft Windows XP Professional. Intel Pentium 4 CPU 1.80GHz.
DEDICATED TO
Acknowledgement
First of all I would like to extend my sincere and humble gratitude to Almighty Allah whose blessings and guidance has been a real source of all my achievements in my life. I am grateful to my supervisor Ms. Muddassira Arshad for her sincere help and guidance during my studies and project work. I will be failing in my duties if I dont express my warmest thanks to my external supervisor Mr. Chaudhry Rizwan (Information Architects) for his help, guidance and valuable suggestions in algorithm design, reading materials and other difficulties of the project. It is my bounden duty to pay tributes to my worthy teachers and staff members guidance. I am indebted to my parents, Especially my Father whose love and support enabled me to be successful in every field of my life, I am fortunate to have love affection and encouragement of my brothers Shahzad & Sajjad sisters Munnazza & Misbah studies. My sincere thanks are also to all my classmates and friends especially Naveed, Zaira, Hina, Maria, Arshia, and my roommates Farah and Sara for their sincere help, encouragement and enjoyable company during my student life. They are really great source of inspiration for me in my difficulties. I am also thankful to my sweet juniors and seniors especially Faiza, Rizwan, Hassan, Saqib and Saleem for their support and prayers. Thanx all . for their prayers and moral support during my of Department of Computer Science Quaid-i-Azam University Islamabad. Greatest thanks go to all my teachers for their kind help and
Sidrah Aslam
Contents
PROJECT BRIEF.................................................................................................................................................2 PROJECT TITLE: RECRUITMENT MANAGEMENT SYSTEM (RMS) ..................................................................................2 TO MY LOVING PARENTS,..............................................................................................................................3 SONU & MANO....................................................................................................................................................3 ACKNOWLEDGEMENT..................................................................................................................4 1. INTRODUCTION..............................................................................................................................................7 1.2 INTRODUCTION TO ORGANIZATION.........................................................................................................................7 1.3 PURPOSE OF THE DOCUMENT................................................................................................................................7 1.4 SCOPE..............................................................................................................................................................8 1.5 VISION.............................................................................................................................................................8 1.6 AIMS AND OBJECTIVES.......................................................................................................................................9 1.7 AUTOMATION OF RECRUITMENT MANAGEMENT....................................................................................................10 1.8 GLANCE AT REQUIREMENTS...............................................................................................................................10 1.9 DETAILED FUNCTIONAL REQUIREMENTS..............................................................................................................12 1.10 NON FUNCTIONAL REQUIREMENTS...................................................................................................................16 1.10.1 Document Conventions.......................................................................................................................16 1.10.2 Intended Audience and Reading Suggestions....................................................................................16 1.10.3 Product Perspective...........................................................................................................................17 1.10.4 User Classes and Characteristics......................................................................................................17 1.10.5 Operating Environment......................................................................................................................18 1.10.6 General Constraints...........................................................................................................................18 1.10.7 Assumptions and Dependencies.................................................................................................19 1.11 EXTERNAL INTERFACE REQUIREMENTS...............................................................................................................19 1.11.1 User Interfaces...................................................................................................................................19 1.11.2 Software Interfaces..........................................................................................................................20 1.11.3 Hardware interfaces.......................................................................................................................20 1.12 OTHER NONFUNCTIONAL REQUIREMENTS...........................................................................................................20 1.12.1 Performance Requirements................................................................................................................20 1.12.2 Safety Requirements...........................................................................................................................21 1.12.3 Security Requirements........................................................................................................................21 1.12.4 Accuracy.............................................................................................................................................21 1.12.5 Simplicity............................................................................................................................................21 1.12.6 Scalability...........................................................................................................................................21 1.12.7 Reliability...........................................................................................................................................22 1.12.8 Adaptability........................................................................................................................................22 2 ANALYSIS.........................................................................................................................................................23 2.1 USE CASE ANALYSIS.................................................................................................................................23 3 SYSTEM DESIGN............................................................................................................................................29 3.1 PRELIMINARY OBJECT-ORIENTED DOMAIN ANALYSIS............................................................................................29 3.1.1 Class Modeling ....................................................................................................................................29 3.2 SYSTEM SEQUENCE DIAGRAMS...........................................................................................................................32 3.3 DESIGN DECISION.............................................................................................................................................39 Conclusion: In this chapter, I have discussed about various design principles I had followed in designing my application in order to have the clear understanding about design of the application. This included Class Diagram & sequence Diagrams...........................................................................................................40 4 SYSTEM IMPLEMENTATION.....................................................................................................................40
4.1 OVERVIEW OF IMPLEMENTATION.........................................................................................................................40 4.2 PLATFORM SELECTION.......................................................................................................................................41 4.3 SELECTION OF DEVELOPMENT TOOL...................................................................................................................41 4.3.1 VB .NET ...............................................................................................................................................41 4.3.2 ASP.Net ................................................................................................................................................41 4.3.3 SQL Server 2000 DBMS......................................................................................................................42 4.3.4 Internet Information Services (IIS).......................................................................................................43 5 TESTING..........................................................................................................................................................59 5.1 INTRODUCTION.................................................................................................................................................59 6 RISK MANAGEMENT....................................................................................................................................63 Project Management & Gantt Chart.54 Webliography... .56 Bibliography ...56 Glossary..57
1.
Introduction
1.1 Background
In the current era of science and technology it is necessary to develop cost effective and useful software for general public. The huge rise in number of job seekers are now using internet for finding their next carrier. For the employer successful online recruitment can reduce process cost, increases the speed to hire, improve productivity and reach the best applicants. Web Based Recruitment is an independent online recruitment consultancy to help companies with all aspects of their online recruitment activities.
Page
7 of 67
1.4 Scope
A new on-line Recruitment Management System (RMS). This web-based system will facilitate and automate many of the labor-intensive, paper-driven aspects of the staff recruitment and hiring processes RMS will allow its intended User (Organization) to post all vacant classified positions, which they intend to fill, into the current centralized system referred to as the Recruit. The requisitions for the vacant positions will be advertised to the public through the Department of Human Resource Managements (DHRM) web site. The system should allow agencies to track agency applicant data that is received in response to the requisitions, completely through the hiring process, from receipt of application through candidate selection. RMS, by providing an online application, should also provide job applicants with a solution that will make applying for a job from any where in the world in a very convenient and efficient manner. RMS will be equipped with the dynamic reporting engine which will perform the all reporting work for the client.
1.5 Vision
The Recruitment Management System (RMS) is an innovative, practical tool which is designed to save the employer time and cost during the recruitment cycle. It is a highly flexible web-based system allowing on-line applications and automatic filtering of candidates via a structured series of tailored web-based questions. Candidates can be contacted at any time, via SMS or email. The RMS tracks all candidates giving an instant overview of any application - making the management of vacancies fast and simple. Ideal for organizations with ongoing recruitment needs, the RMS modules can accommodate high volume response management through to low volume individual vacancies. Job specific questioning, based on both hard (factual) like questionnaire, written tests and soft (personality) information, provides a Personal overview of each applicant. Further features within the system allow for the uploading of documents such as CVs exactly when the client requires them, often after initial screening. The RMS can generate a searchable database of job applicants and candidates who wish to work for you - making proactive job filling cheaper, easier and more focused.
Page
8 of 67
Page
9 of 67
Page
10 of 67
RMS will incorporate following highlighted features: Job Requisition - The creation and advertisement of a job announcement, to include capture of recruitment costs and where the position was posted( Newspaper) On-Line Employment Application Applicant Tracking Reporting Resume Building Online creation of the resume which includes complete bio data of the candidate. That will be sorted according to the qualification and experience basis. Panel Selection Once the Vacancy will be announced the panel will be selected from the existing employees by the top management. Short listing and Call Generation The intended system will short list the candidates by sorting them according to the desired qualification and experience and the generate the test calls to selected candidates. Final Screening Final screening of the candidates will be made after the test and the interview and basic data of the candidate will be online send to the central server. Dynamic Reporting This will be separate module that will not only be help full in RMS but very general in purpose. and will incorporate following features: The core module will be filtration that consists of two parts first is Dynamic query analyzer and second is parsing of the format to the Reporting tool. Query analyzer will generate the queries according to the user defined criteria (what view of the data user is interested) and parsing module will transform this criterion to the user defined format. Finally the display the reports in all the desired formats in the crystal report: In the end RMS along with the Dynamic reporting capabilities will the serve the need of Basic recruitment of the organization and polishing its capabilities by the use of reporting.
Page
11 of 67
R1. JOB REQUISITION General The List of all services currently running on the remote server. Description Importance Need for Constraints Details Top level Administrative purposes. Information must be updated on each request. The job postings entered into the system will be referred to as requisitions and will include all information that is necessary for posting and advertising job vacancies. The system will generate a unique requisition number for each job posting that will serve as an identifier for tracking the requisition and related applicant data through the system. The system will allow agencies to create job requisitions for vacant job. R2. Create New Requisition General This option will provide the user with a data entry screen that Description Importance Need for Constraints Details should include the following fields for the information of the candidate Top level Administrative purposes. Candidate must have to enter the required information The system will permit authorized users to create new open requisitions. The user will not be allowed to enter the position data on a requisition.
R3. Update Requisition General This option will provide the user to update screen that will include Description Importance Need for Constraints Details the following fields for the information of the candidate Top level Administrative purposes. Candidate must have already entered the required information The system will permit authorized users to update open requisitions. The user will not be allowed to update the position data on a requisition. This will prevent the user from having the ability to use the same requisition to post vacancies for multiple positions.
Page
12 of 67
R4. Close Requisition General The system will close a requisition at 5:00 p.m. to reflect the close Description Importance Need for Constraints Details of business for the requisition closing date Top level Administrative purposes. -- -The system will close a requisition at 5:00 p.m. to reflect the close of business for the requisition closing date. Example - If the close date on a requisition is March 25, 2007, the system will close the requisition at 5:00 p.m. on March 25, 2007. The system will permit authorized users to close a requisition that has been created with either of the options "open until filled" or "continuous recruitment". R5. View / Open Requisitions General The system will provide an option that will allow authorized Description Importance Need for Constraints Details users to view all open requisitions. Top level Administrative purposes. ---The user will be able to define the order in which to view the requisitions. Suggested choices: a. Requisition Number Order b. Requisition Creation Date Order c. Filled Requisitions d. Closed Requisitions e. Currently Open Requisitions
R6. Delete Requisition General The system will permit authorized users to key in the reason Description Importance Need for Constraints Details for deleting requisitions. Top level User purposes. ---The system will permit authorized users to key in the reason for deleting requisitions for which there are no applicant data records. The requisition number for a deleted requisition cannot be used again by the system. Requisition should not be closed unless in errorthis could be used to support no applicants available or a difficult to fill position
Page
13 of 67
R7. ON-LINE EMPLOYMENT APPLICATION Submission General The online job application component of the RMS will provide Description Importance Need for Constraints Details job applicants with the ability to complete the employment application online. Top level Administrative purposes. Information must be updated on each request from user. The online job application component of the RMS will provide job applicants with the ability to complete the employment application online. After completing the application, the application data can be submitted electronically into the central applicant database in response to a specific job requisition. The application data should be saved and accessed by the applicant using a Username and password for updating and future submission. The applicant will also be allowed to print the application data. Each electronically submitted application must create an applicant record in the database.
Screening will be done by the panel of higher management to shortlist the candidates. Top level Administrative purposes. Information must be updated after every selection period Final screening of the candidates will be made after the test and the interview and basic data of the candidate will be online send to the central server.
R9. User Interface General The system will Description Importance Need for Constraints Details
will include but not limited to the following options: Top level Administrative purposes. --User interface will provide the following Screens. 1. Instructions for System Use 2. Create New Employment Application 3. Print Application 4. Update/Submit Employment Application 5. Save Application
Page
14 of 67
6. Exit
R10. Interaction with client General Candidates can be contacted at any time, via SMS or email. Description Importance Need for Constraints Details The RMS tracks all candidates giving an instant overview of any application Top level Administrative purposes. ---The system will generate
pre-defined
applicant
correspondence. The system will provide the flexibility to allow the user to develop agency specific correspondence or select from a list of pre-defined letters.
R11. Applicant Ranking and List General System will produce a report listing of applicants and their Description Importance Need for Constraints Details rankings according to their test and interview criteria. Top level Administrative purposes. Candidate must be registered first. The user can define the maximum number of rankings to report. i.e. top 5 candidates. User should set priority of screening criteria to include multiple criteria
R12. Reporting engine General This section helps the user to create many kinds of reports Description Importance Need for Constraints Details that will be dynamic in nature as this can also be considered as separate module; Top level Administrative purposes. -- ---Reporting engine will be equipped with the dynamic query generation and basic automated reporting that will map the report in the crystal report format. R13. Help General Description
This section helps the user learn how to use software. It is needed to help users when they first use the product and make them understand how to use it in the future for the company
Page
15 of 67
Top level Administrative purposes. ---Text based. A button allowing the user to return to the main and directions to use the back button on the user's browser.
Font Name: Verdana. All Headings are Bold and numbered properly. Points under headings are arranged with bullets
1.10.2
Information in this document is at a level that can be reviewed and understood by different audience. This documents audience includes: Project Manager Developers Testers Client
The following are recommend readings for each audience group: 1.10.2.1 Project Manager and Developer
Project Managers and Developers should read this document from top to bottom paying attention to the requirements themselves, both functional and non-functional. This document is meant to be read in its entirety and in sequential order. Descriptions and explanations are often built upon previously revealed information. Use cases especially should be read in sequential order. Often the text will direct the
Page
16 of 67
reader to a specific section of this document to enhance understanding of the current reading material. Developers who define and implement interpreters and involved in the development of libraries and applications. 1.10.2.2 Testers
Testers shall derive system test cases from reading the Related Requirements of each feature and interface requirement. Testers are required to thoroughly read and understand the use cases in section four of this document. The use cases should be read in sequential order. All notations and references should be unearthed. The tester should experiment with the prototype in conjunction with the use cases to develop a complete understanding of correct functionality. The tester should also understand the non-functional requirements in this document. Additionally, familiarization with the external interface requirements is strongly suggested. 1.10.2.3 Client
Client should be extremely familiar with the Vision and Scope document for RMS Wizard. They also should have a clear understanding of the external interface requirements and non-functional requirements mentioned in this document.
1.10.3
Product Perspective
RMS is the product demanded by Info Architect Limited. Project Managers, Team Leaders and Software Engineers in INFO ARCHITECT will use the RMS Wizard. The system is self-contained and PC based. However, it is possible to migrate data of a database placed in one system with other system through external interface if required. This wizard is a newly developed product for INFO ARCHITECT.
1.10.4
The End users will mainly use the Application. The following table describes general users characteristics that will affect the functionality of the software product.
Page
17 of 67
How the user Type of User User Characteristic User Technical Expertise characteristic and technical expertise affect RMS Wizard functionality Good understanding to RMS operation .i.e. Applicant, panel, Enduser management Responsible for RMS operation. Administrator. Must have the knowledge of provided databases Average in technical proficiency User interface with less input steps. Easy to learn and control able.
Table 1.1:
1.10.5
Operating Environment
The Windows operating system will be used. The languages used to support the features and functionality of the application is Visual Basic.NET and SQL.
1.10.6
1.10.6.1
General Constraints
The Product Must work on Windows Operating System Adequate checks are to be incorporated to ensure proper acceptance and validation of critical data. Must have clear help/error messages
Page
18 of 67
Hardware Constraints Monitors: 800x600 minimum resolution at 256 colors minimum I/O: Two button mouse and standard 101-key keyboard MHz: at least 333 MHz should be on the computer Operating System Microsoft Windows XP, 2000 Software Tools Methods and Techniques Microsoft Visual Studio .NET Memory Constraints
The operation of RMS will be constrained by the amount of memory available in the local machine. At least 64MB of RAM is expected in the local machine and there are no upper memory constraints.
1.10.7
There are several important assumptions for the project and its team members:
It is assumed that the project development team (I) has sufficient knowledge to undertake and complete the project. The support for the technologies will be available for the duration of the project (VB.NET and ASP.NET) It is being assumed that required operating system is available to the user.
1.11.1
User Interfaces
Page
19 of 67
The proposed application will interface with user in order to do the migration tasks, which are mentioned above. The dialogues to be established must be simple and easy understandable.
Step-By-Step interfaces will be provided to user for the RMS process as well as for installing the software. The interface will be visual and in case of errors and bugs in any of the communicative tasks the interface must provide information to the user through messages in rich text box or through message box. It will be multitasking window oriented interface. Interface must be less typographic and should be instructive. Proper shortcut keys in the main screen must be given. Process successful and completion messages will be provided. Exit, Cancel, Next, Start and Finish buttons will be provided. It will allow the user to interact with the product using mouse and keyboard.
1.11.2
Software Interfaces
The application will interface with the system software and also with the user through a friendly user interface.
1.11.3
Hardware interfaces
The hardware interface for the system will be a standard keyboard, mouse, and monitor. The system will also require a server to interface with the databases.
1.12.1
Performance Requirements
The overall performance depends on the time of translation of data. We need to define a threshold that in what time the translation should be completed. Performance also depends on Response Time. The system will run stably, capable to furnish enough power for all demand conditions, and capable to furnish enough power in case of rapid demand increases, and has capability for the resilience to data
Page
20 of 67
base outage, etc. Response time will depend upon the speed of the processor and the size of the database.
1.12.2
Safety Requirements
System may have bugs and has data subject to corruption from environmental accidents, such as electric power loss or from the viruses entering the system on the PC in which the software operates. Well-designed system will be able to detect corruption, repair damage, define the problem, and alert the user with emphasis that varies from system to system
1.12.3
Security Requirements
Authorization requirement for system operation. All user data information is confidential. Access to some features will be restricted by username and passwords.
1.12.4
Accuracy
The system will provide complete correctness of data and data storage. This feature is the capital feature. The functionality will provide a complete confident to the organization while tracking the its recruitment process.
1.12.5
Simplicity
The system will be developed keeping in mind that the Recruitment process is designed according to the workflow of the actual process and thus will be easy to use.
1.12.6
Scalability
Page
21 of 67
The system must be able to maintain its functionality; any performance constraint must be product of the limitations of the machine the system is running on (for example, processor or memory limitations), but not from the software itself.
1.12.7
Reliability
Reliability is vital to RMS. The RMS wizard should not have any unscheduled down time during operational hours. This can be ensured by using proper outage at weekends and downtimes.
1.12.8
Adaptability
Page
22 of 67
2 2.1
Reporting Module Extract the Tables and views from the databases Built criteria. Built Dynamic query Parsing to Crystal report format
Page
23 of 67
Page
24 of 67
Page
25 of 67
Summary Actors Pre conditions Description Invariants Post conditions Normal paths Use case name Summary Actors Pre conditions Description Invariants Post conditions Normal paths Use case name Summary Actors Pre conditions Description Invariants Post conditions Normal paths Use case name Summary Actors Pre conditions Description
This use case will register the user as a candidate Administrators Open the recruit web site This use case begins when the new candidate wants to register with the system. The system will generate the Unique id and save its ID and password ----Registration Data saved in Databases User must access the Subjected web site. Create / Replace Resume This use case will allow the user to create or replace Resume . User User must be already registered This use case begins when the new candidate wants to Resume or an existing candidate wants to update his resume. User must have true ID ,Password Resume saved in Databases User must access the Subjected web site. Generate Vacancy This Use case will be responsible for the generation of new vacancies in organization System Login as administrator This use case begins with the new requirement of the vacancy in the subject organization. Vacancy with the complete description will be loaded in the databases ----vacancy saved in Databases User must access the Subjected web site. Advertise Vacancy This Use case will be responsible for the advertisement of the generated vacancy on the Organizations Website Administrator Vacancy needed to generated first This use case will be responsible for the advertisement of the vacancy on the site with its complete description and the time starting and closing of the vacancy along with require experience and qualification. ----Advertise Data saved in Databases status must be mentioned (open/close) User must access the Subjected web site. Apply for the Vacancies This Use case will be responsible for the applying for the vacancy. User
Invariants Post conditions Normal paths Use case name Summary Actors
Page
26 of 67
Pre conditions Description Invariants Post conditions Normal paths Use case name Summary Actors Pre conditions Description Invariants Post conditions Normal paths Use case name Summary Actors Pre conditions Description Invariants Post conditions Normal paths Use case name Summary Actors Pre conditions Description Invariants Post conditions Normal paths
Vacancy Status must be open and the User must have a resume. This use case will register the candidates for the subject vacancy that is advertise Status of vacancy must be open Check user resume against the selected vacancy in Databases User must access the Subjected web site. Selection of the Panel This Use case selects the employees i.e. mangers or others for the selection of the candidates. Administrator There should be a Vacancy advertised. This use case will select the employees that will conduct test and interviews of the candidates ----Panel names saved in Databases Access the local databases for the employee selection. Initial Screening and Generate test calls This Use case will manage the initial Screening as per criteria defined for the particular vacancy and calls the candidates for test. Administrator There should be a Vacancy advertised and its status must be closed. This Use case will manage the initial Screening as per criteria defined in the job description and expertise required matched from the resume of the candidate ----Candidates names saved in Databases Select Resume from the databases Selection and interview calls After the result of the panel of test the interview calls will be generated. Administrator There should be a Vacancy advertised and its status must be closed and tests must be conducted This Use case will manage the Screening as per test results and the generation of the interview calls. ----List of the candidates saved in Databases
Final Screening This use case will involve final selection and sending call via mail to the recipient and sending required data to data bases. Administrator
Page
27 of 67
Pre screening tasks are done (short listing) This use case will manage the final screening and the generation of the offer latter to the candidate. ----List of the candidates saved in Databases
Reporting Module
Use case name Summary Actors Pre conditions Description Invariants Post conditions Normal paths Use case name Summary Actors Pre conditions Description Invariants Post conditions Normal paths Use case name Summary Actors Pre conditions Description Invariants Post conditions Normal paths Manage extraction of tables and views from databases This use case will involve final selection of the all the tables and views for the databases. Administrator Login to data base server This use case will manage the selection of all the tables and views along with its columns listed from the selected data bases ---------
Built Criteria This use case will mange Dynamic user selection of criteria Administrator Tables are loaded in the dataset This use case will allow the user to select the required fields from the table and mange where clause restrictions ----Query must be displayed
Built Dynamic query This use case will display the Dynamic user selection of criteria in the form of Query the will generated correspondingly. Administrator User selection must be finalized This use case will manage the dynamic user criteria for the report including its header and different clauses in the form of the SQL query. ----Query must be displayed
Parsing to Crystal report format This use case will parse the query it to the crystal report format System
Page
28 of 67
Data query should be parsed and data set is available This use case will perform the main task of parsing the dynamic query to its recipient Crystal report format ----Report must be generated in the crystal report format.
3
3.1
System Design
Preliminary Object-Oriented Domain Analysis
Class Modeling
3.1.1
Design allows a software engineer to model the system or product that is to be built. The aim of design is to produce a model or representation that exhibits firmness, commodity, and delight.
Page
29 of 67
The software design is aimed at finding the conceptual solution that fulfils the requirements, rather than its implementation. For example description of database schema and software objects. The system design is the bridge through which requirements are transformed into the actual software. It is an essential part of software development. It develops the architectural detail required to build a system or product. The design must contain the following characteristics: The design ensures the accurate translation of customer requirements. It should be readable and understandable. It should provide complete picture of the software. Design forms basis for programming and maintenance which will be implemented.
Class Relationship:The objects of classes communicate with each other to perform any function. The type of relationship at class level defines this communication. The interaction of different class objects defines in class relationship diagram. Class diagram is UML standard for describing the class interactions Identified Classes for recruitment management Job administrator candidate Resume Vacancy Advertisement Qualification Experience Basic Info Panel Selection Short listing Test Database
Page
30 of 67
Page
31 of 67
3.2
System Sequence Diagram A sequence diagram shows the sequence of method calls of different objects of classes to implement a use case. 1. Register User
Applicant Get Applicant info ( ) Databases
Enter Login Id ( )
Send Unique ID ( )
Page
32 of 67
Resume
Databases
Save resume ( )
3. Generate/Update Vacancy
Page
33 of 67
Administrator Login ( )
Vacancy
Databases
Send Vacancy Id ( )
Open/close Vacancy ( )
Opened/closed ( )
4. Dynamic Reporting
Administrator Login ( )
Report
Data Bases
Extract Objects ( )
Parse Data ( )
Display Report( )
Database Design
Page
34 of 67
Database associated with the system is not very complicated one yet it is quite significant since the proper working of the system depends on the information provided by the database. Tables are formatted like this to meet the requirements of already HRM system on the client side. RMS is basically data base driven project so it contains large table, views and function: Main tables involved and fields are described as below: RM_Users RM_Vacanies RM_Resume RM_Countries RM_Cities RM_Panel RM_Panel/Vacancy RM_Screened candidates
Page
35 of 67
Table Description: This table Contains the list of all the Users/candidates that will be registered on the site.
Field Name User_id User_Name Date_Time_Ad ded Password IS_Local Data Type numeric varchar Date Time numeric numeric Length 3 50 8 6 2 P.K/F.K P.K ------------Null/Not Null Not Null Not Null NOT NULL Not Null Null Description --Name Date time --Is the key to suggest whether the user is candidate or local ser
Table Description: This table is used to store information about all the Vacancies that created and also maintains its history
Field Name VC_id VC_Name Status Department Data Type numeric varchar Boolean Varchar Length 3 50 1 50 P.K/F.K P.K ---------Null/Not Null Not Null Not Null Not Null NULL Description -Name of vacancy Whether vacancy is open or not Name of department is launched the for
Table Description: This table is used to store all the Basic Resume that will be created
Length 3 50
Page
36 of 67
Candidate_Name Gender DOB Objective Nationality ID_Card_NO Country City Address Zip _Code Contact NO Mobile No Email
nvarchar numeric Date/time Nvarchar Varchar Numeric Varchar Varchar Varchar Numeric Numeric Numeric Varchar
50 2
-------
Not Null Not Null Not Null NULL Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null
800 50 9 12 12 50 10 10 10 12
-----------
----
--
Table Description: This table is used to store the information all the countries of the
Length 3 12
P.K/F.K PK --
Table Description: This table contains the name of the cities against the respective
Length 3
P.K/F.K P.K
Description City ID
Page
37 of 67
CID C_Name
Numeric Varchar
3 50
F.K ------
Table Description: This table will contain the panel name and the nominees of the
Data Type Numeric Numeric Varchar Length 3 3 50 P.K/F.K P.K F.K -----Null/Not Null Not Null Not Null Null Description Panel ID Country Id ---
Table Description: This table is used to store information about the entire Panel that is assigned against a vacancy
Field Name VC_id P_ID Data Type numeric numeric Length 3 3 P.K/F.K F.K F.K Null/Not Null Not Null Not Null Description ---
Table Description: This table is used to store information about the entire Panel that is assigned against a vacancy
Length 3 3 3
Description --This the candidate it that will be taken against the candidate
Page
38 of 67
3.3
Design Decision
Application Design: I opt for three tier architecture, a special type of client/server architecture consisting of three well-defined and separate processes, each running on a different platform: 1. The user interface, which runs on the user's computer (the client). Highlighted classes are: Vacancy Resume Applicant Experience Basic info Qualification Advertisement
2. The functional modules that actually process data. This middle tier runs on a server and is often called the application server. Highlighted classes are: clsVacancy clsResume clsApplicant clsExperience clsBasic info clsQualification clsAdvertisement
3. A database management system (DBMS) that stores the data required by the middle tier. This tier runs on a second server called the database server. Highlighted class is Databases. The three-tier design has many advantages over traditional two-tier or single-tier designs, the chief ones being: The added modularity makes it easier to modify or replace one tier without affecting the other tiers. Separating the application functions from the database functions makes it easier to implement load balancing.
Page
39 of 67
Interface Decision: The interface in the front end will be light and fast in loading. This efficiency will be achieved by breaking the images e.g. banner and other bars into smaller length images (some of them to pixel size) and reunite them at time enabling the very fast loading.
Conclusion: In this chapter, I have discussed about various design principles I had followed in designing my application in order to have the clear understanding about design of the application. This included Class Diagram & sequence Diagrams.
4
4.1
System Implementation
Overview of Implementation
The implementation phase will tell the tool to implement the design and reason for selecting the tool will also be discussed. The classes used in implementation are also mentioned here. This phase tell us how the wizard performs migration through algorithms.
Page
40 of 67
4.2
Platform Selection
A Platform selection in the software implementation phase is very critical .When choosing an operating System you must ensure that all those features that your software requires are supported by operating system. Microsoft Windows 2003 server was selected as a development platform. The main reason to choose this operating system is that servers that will be monitored by this software has windows 2003 server running on them.
4.3
In my project I was left with numerous languages tool and technologies by I opted for the following due to the potential reasons described below. Following technologies has been used in this software. 1) VBNET 2) ASP.NET 3) SQL Server DBMS 2000. I opt for VB.net with Asp.net as they both maps up to provide extremely flexible and smooth working when coupled with the SQL server 2000 and platform independent.
4.3.1
VB .NET
VB.net is a simple, modern, object oriented, and type-safe (a reference (when not null) is always guaranteed to point to an object that is of the type specified and that has already been allocated on the heap. In my project I make use of vb.net vb.netNet provides many built in libraries that provides a great deal of flexibility for the potential web application development .
4.3.2
ASP.Net
ASP.NET is a set of components that provide developers with a framework with which to implement complex functionality. ASP.NET is scalable in that it provides state services that can be utilized to manage session variables across multiple Web servers in a server farm. Additionally, ASP.NET possesses a high performance process model that can detect application failures and recover from them. I make use of ASP.NET and work on three tiers Architecture along with improved availability and scalability. Layers are
Page
41 of 67
1. Presentation Layer 2. Business Layer 3. Database Layer Asp.Net provides Code behind file which automatically divide the presentation layer form the implementation code. My choice for ASP.NET is extremely trivial as it prove to be extremely flexible and implement able and provides a great access to database. consider the following code /*this small piece of code interact with data base and returns a dataset .this piece of code is shared by more then one class public System.Data.DataSet GetCDDriveInfo(string NID) { string strSql=""; int rcount=0; clsCommon objCommon=new clsCommon(); if(NID=="0") { strSql="Select NID,DriveLabel,Caption,Manufacturer,Description,Medialoaded,SCSIBus CDDrive"; } else { strSql="Select DriveLabel,Caption,Manufacturer,Description,Medialoaded,SCSIBus where NID='"+NID+"'"; } return objCommon.ExecProc(strSql,ref rcount,null,null); } from CDDrive from
4.3.3
I opt for the SQL Server 2000 because of following pointed reasons.
Page
42 of 67
It is Provides very flexible handling with database during the project life cycle. Mainly because it is developed by Microsoft as I am using Asp.Net and Asp.Net provide a special layer of SQL Client when interacting with Sql which provides a great performance boost.
4.3.4
Internet Information Services (IIS) is a powerful Web server that provides a highly reliable, manageable, and scalable Web application infrastructure for all versions of Windows Server 2003. IIS helps organizations increase Web site and application availability while lowering system administration costs. IIS supports the Microsoft Dynamic Systems Initiative (DSI) with automated health monitoring, process isolation, and improved management capabilities. I make use of IIS because I am using VB.net and ASP.Net which need IIS to run.
4.4
Page
43 of 67
Dim _SQLParameter As SqlParameter Try _SQLCommand = New SqlCommand("sp_HR_RC_InsertManualApply") _SQLCommand.Connection = a_SQLConnection _SQLCommand.Transaction = a_SQLTransaction _SQLCommand.CommandType = CommandType.StoredProcedure _SQLParameter = _SQLCommand.Parameters.Add("@VacancyId", SqlDbType.BigInt) _SQLParameter.Value = a_VacancyId _SQLParameter = _SQLCommand.Parameters.Add("@ResumeId", SqlDbType.BigInt) _SQLParameter.Value = m_ResumeId _SQLParameter = _SQLCommand.Parameters.Add("@CurrentStateId", SqlDbType.Int) _SQLParameter.Value = mdCommon.State.Pending _SQLCommand.ExecuteNonQuery() Catch ex As Exception Throw ex End Try End Function
Code for the Screening Dim _SQLCommand As SqlClient.SqlCommand Dim _SQLTransaction As SqlClient.SqlTransaction Dim _SQLConnenction As SqlClient.SqlConnection Dim _SQLParameter As SqlClient.SqlParameter Try _SQLConnenction = New SqlClient.SqlConnection(strConn) _SQLConnenction.Open()
Page
44 of 67
_SQLTransaction = _SQLConnenction.BeginTransaction() If IsEdit Then _SQLCommand SqlClient.SqlCommand("sp_HR_RC_UpdateResumeShortListing") Else _SQLCommand SqlClient.SqlCommand("sp_HR_RC_InsertResumeShortListing") End If _SQLCommand.CommandType = CommandType.StoredProcedure _SQLCommand.Connection = _SQLConnenction _SQLCommand.Transaction = _SQLTransaction = New = New
'If a_Status = mdCommon.State.NotExists Then ' Me.m_Status = mdCommon.State.Pending 'End If _SQLParameter = _SQLCommand.Parameters.Add("@Id", SqlDbType.BigInt) _SQLParameter.Value = Me.m_ShortListId _SQLParameter = _SQLCommand.Parameters.Add("@ApprovalDate", SqlDbType.DateTime) _SQLParameter.Value = Me.m_ShortListDate _SQLParameter = _SQLCommand.Parameters.Add("@ListRefNo", SqlDbType.VarChar, 50) _SQLParameter.Value = Me.m_ListRefNo _SQLParameter = _SQLCommand.Parameters.Add("@CurrentStateId", SqlDbType.SmallInt) _SQLParameter.Value = Me.m_Status
_SQLCommand.ExecuteNonQuery() 'SaveShortListCandidate(arr_CandVac, arr_Cand, _SQLConnenction, _SQLTransaction, IsEdit) 'SaveShortListVacancy(arr_Vac, _SQLConnenction, _SQLTransaction, IsEdit)
Page
45 of 67
'objcommon.AddAuditLogEntry(_SQLConnenction, _SQLTransaction, m_Action, m_RecordId, m_UserId, "Income m_IP, Tax HRBOL.mdCommon.Documents.docIncomeTaxRebateConfiguration, Rebate Configuration", m_BusinessUnitId, m_BranchId) _SQLTransaction.Commit() Catch ex As Exception _SQLTransaction.Rollback() Throw ex End Try End Function Reporting Parser Private Sub btnAddField_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnAddField.Click ReverseBind() Try If Me.dgCriteria.Items.Count <> 0 Then If CType(Me.dgCriteria.Items(Me.dgCriteria.Items.Count 1).FindControl("ddField"), DropDownList).SelectedIndex DropDownList).SelectedIndex = 0 = 0 Or Or CType(Me.dgCriteria.Items(Me.dgCriteria.Items.Count - 1).FindControl("ddoptions"), Trim(CType(Me.dgCriteria.Items(Me.dgCriteria.Items.Count 1).FindControl("txtUserText"), TextBox).Text) = "" Then Me.lblError.Text = "Please fill all the fields to proceed" Exit Sub End If End If Dim _dataRow As DataRow _dataRow = Me.dsCriteria.Tables(0).NewRow _dataRow.Item("Id") = 0 _dataRow.Item("FeildName") = "" _dataRow.Item("Feildvalue") = "" _dataRow.Item("Options") = "" _dataRow.Item("Optionvalue") = "" _dataRow.Item("UserText") = "" _dataRow.Item("rdlist") = 1
Page
46 of 67
Me.dsCriteria.Tables(0).Rows.Add(_dataRow) Me.dsCriteria.AcceptChanges() Me.dgCriteria.DataSource = Me.dsCriteria.Tables(0) Me.dgCriteria.DataBind() Catch ex As Exception Me.lblError.Text = ex.Message End Try End Sub Private Sub ReverseBindSort() Dim gridrow As DataGridItem Dim datarow As DataRow Try If Not dsItems.Tables(0).Rows Is Nothing Then For Each gridrow In Me.dgSort.Items If CType(gridrow.FindControl("ddField"), DropDownList).SelectedIndex <> 0 Then datarow = dsItems.Tables(0).Rows(gridrow.DataSetIndex) datarow.Item(0) = 0 datarow.Item(1) = CType(gridrow.FindControl("ddField"), DropDownList).SelectedValue datarow.Item(2) = CType(gridrow.FindControl("ddField"), DropDownList).SelectedItem.Text datarow.Item(3) = CType(gridrow.FindControl("rdlist"), RadioButtonList).SelectedValue dsItems.Tables(0).Rows(gridrow.DataSetIndex).ItemArray = datarow.ItemArray Else If Not dsItems Is Nothing Then If Not dsItems.Tables(0) Is Nothing Then If dsItems.Tables(0).Rows.Count > 0 Then Try dsItems.Tables(0).Rows(gridrow.DataSetIndex).Delete() Catch ex As Exception End Try End If
Page
47 of 67
End If End If End If Next Else Dim _dr As DataRow _dr = dsItems.Tables(0).NewRow datarow = dsItems.Tables(0).Rows(gridrow.DataSetIndex) datarow.Item(0) = 0 datarow.Item(1) = CType(gridrow.FindControl("ddField"), DropDownList).SelectedValue datarow.Item(2) = CType(gridrow.FindControl("ddField"), DropDownList).SelectedItem.Text datarow.Item(3) = CType(gridrow.FindControl("rdlist"), RadioButtonList).SelectedValue dsItems.Tables(0).Rows.Add(_dr) End If dsItems.AcceptChanges() Catch ex As Exception lblError.Text = ex.Message End Try End Sub Public Sub ReverseBind() Dim gridrow As DataGridItem Dim datarow As DataRow Try If Not dsCriteria.Tables(0).Rows Is Nothing Then For Each gridrow In Me.dgCriteria.Items If DropDownList).SelectedIndex DropDownList).SelectedIndex <> 0 CType(gridrow.FindControl("ddoptions"), CType(gridrow.FindControl("ddField"), <> 0 And And
Trim(CType(gridrow.FindControl("txtUserText"), TextBox).Text) <> "" Then datarow = dsCriteria.Tables(0).Rows(gridrow.DataSetIndex) datarow.Item(0) = 0 datarow.Item(1) = CType(gridrow.FindControl("ddField"), DropDownList).SelectedValue datarow.Item(2) = CType(gridrow.FindControl("ddField"), DropDownList).SelectedItem.Text
Page
48 of 67
datarow.Item(3) = CType(gridrow.FindControl("ddoptions"), DropDownList).SelectedValue datarow.Item(4) = CType(gridrow.FindControl("ddoptions"), DropDownList).SelectedItem.Text datarow.Item(5) = Trim(CType(gridrow.FindControl("txtUserText"), TextBox).Text) datarow.Item(6) = CType(gridrow.FindControl("rdlist"), RadioButtonList).SelectedValue dsCriteria.Tables(0).Rows(gridrow.DataSetIndex).ItemArray = datarow.ItemArray Else If Not dsCriteria Is Nothing Then If Not dsCriteria.Tables(0) Is Nothing Then If dsCriteria.Tables(0).Rows.Count > 0 Then Try dsCriteria.Tables(0).Rows(gridrow.DataSetIndex).Delete( ) Catch ex As Exception End Try End If End If End If End If Next Else Dim _dr As DataRow _dr = dsCriteria.Tables(0).NewRow datarow = dsCriteria.Tables(0).Rows(gridrow.DataSetIndex) datarow.Item(0) = 0 datarow.Item(1) = CType(gridrow.FindControl("ddField"), DropDownList).SelectedValue datarow.Item(2) = CType(gridrow.FindControl("ddField"), DropDownList).SelectedItem.Text datarow.Item(3) = CType(gridrow.FindControl("ddoptions"), DropDownList).SelectedValue
Page
49 of 67
datarow.Item(4) = CType(gridrow.FindControl("ddoptions"), DropDownList).SelectedItem.Text datarow.Item(5) = Trim(CType(gridrow.FindControl("txtUserText"), TextBox).Text) datarow.Item(6) = CType(gridrow.FindControl("rdlist"), RadioButtonList).SelectedValue dsCriteria.Tables(0).Rows.Add(_dr) End If dsCriteria.AcceptChanges() Catch ex As Exception lblError.Text = ex.Message End Try End Sub
Page
50 of 67
Registration Screen:
Page
51 of 67
Page
52 of 67
Page
53 of 67
Admin Homepage:
Page
54 of 67
Page
55 of 67
Page
56 of 67
Page
57 of 67
Conclusion This provides the brief overview of tools and technologies used in the development of the system. The coding convention used in the software source code is also mentioned in this chapter and system also provides the deployment of the system.
Page
58 of 67
5
5.1
Testing
Introduction
Simply stated, quality is very important. It is much easier to explain to a customer why there is a missing feature than to explain to a customer why the product lacks quality. A customer satisfied with the quality of a product will remain loyal and wait for new functionality in the next version. Quality is a distinguishing attribute of a system indicating the degree of excellence. The importance of software testing can not be overemphasized. Once the source code has been generated, software must be tested to allow errors to be identified and removed before the delivery of software. While it is not possible to remove every error in large software package, our goal is to remove as many as possible in the early software development cycle.
Page
59 of 67
of
DRIVER: Sign-in button is the driver class. STUB: login is the stub class. Input the User name=sidrah, password=sidrah and click on the Sign-In button. The test started by clicking the test case at the specified location. Login.aspx is opened User Inputs the User name, password and click on the Sign-In button. Progress bar appears, after 10 seconds Login page appears The user should have a user name and password.
Special Req.
Req. No. Test Case Identifier Test Location Features to be tested: Feature Pass/Fail Criteria Means Control Data Test Procedure of
R.2 Create Resume E:/Document Editor/test cases/testR2 Validation of user resume creation, Validation of the data saved in data base The test passes if the message data has been saved successfully is will be displayed DRIVER: create resume button in the driver class. STUB: login as applicant in the first page of i.e. basic information Input user information includes basic information, objective, career information and other related information. The test started by clicking the test case at the specified location. Create resume page will be opened User Inputs the required information and clicks on the next page and fills all the pages of resume then user can view and save its resume by clicking these buttons. Progress bar appears, after 10 seconds at every page appears The user should have to register first.
Special Req.
Page
60 of 67
E:/Document Editor/test cases/testR3 Validation of vacancy applying procedure, Validation of the whether the vacancy is generated against required job
The test passes if the message data has been saved successfully is will be displayed DRIVER: generate vacancy button in the driver class. STUB: vacancy generated page appear Input vacancy information includes basic information, objective , criteria information and other related information. The test started by clicking the test case at the specified location. Create vacancy page will be opened User Inputs the required information and clicks on the next page and fills all the pages of requirements of the vacancy then user can view and save its vacancy by clicking these view button. Progress bar appears, after 10 seconds at every page appears The user should be a administrator.
Special Req.
R.4 Change resume E:/Document Editor/test cases/testR4 Validation of edition of the resume, Validation of the whether the resume can be modified and the data in the database can be altered accordingly
The test passes if the message data has been saved successfully is will be displayed DRIVER: Edit resume button in the driver class. STUB: data has been saved page appear Input user information includes updated information, objective, career information and other related information.
Page
61 of 67
Test Procedure
The test started by clicking the test case at the specified location. Create resume page will be opened in edit mode User changes the required information and clicks on the next page and optionally edits all the pages of resume then user can view and save its resume by clicking these buttons. Progress bar appears, after 10 seconds at every page appears The user should have a resume r.
Special Req.
5.3
System Evaluation
Evaluation is the final step in the development of any system. Almost all the systems, no matter how carefully designed and developed, still have a chance of logical or runtime errors. That is why the system evaluation forms an important phase of the software development process. System evaluation involves whether the system meets the requirements stated in the requirement analysis phase or not. Following table gives an indication whether the functional and non-functional requirements match. Following requirements are cleared Register user Create resume Update resume Create multiple resume Built screening criteria Online apply for vacancy Strong and reliable database in sql server 2000 User friendly interface Reporting engine Reporting parser
5.4
System Limitations
Log on Dependent Every user must be log on and also registered in the network and user site
Page
62 of 67
Privilege factor System . Operating System System is presumed to be used on Windows XP and Windows 2003 Server, Windows 2000 and Windows NT Workstation 4.0 SP4 and later. is presumed to be used on workstations controlled by restricted administrative rights, so that clients cannot disable the see the hidden data on it.
Risk Management
Risk Management Risk# 1 2 3 Risk Inability to meet the dead line System Crash Lack of training on new tools to be used Category Project risk Product Risk The Development Environment Risk Risk Mitigation, Monitoring and Management Plan Impact critical critical marginal
Page
63 of 67
Risk#1
Mitigation Schedule of each task to be done in the project will prepared and followed. Monitoring In following the Spiral Model more importance will be given to schedule risks. Management If in spite of all these efforts if I will be failed to meet the deadline then I will throwaway prototypes made for modules not yet completed and made some enhancement to them to integrate them with developed system.
Risk#2
Mitigation I will make sure before starting the project that the system I am going to use is virus free and its parts are not out of order. Monitoring System scan will be performed at the start and end of the day to ensure no virus are present in system Taking regular backup of project by the DBA(data base administrator) Management The backup taken during the monitoring plan will be used in case of system crash.
Risk#3
Mitigation Online help will be use to master tool and technology Manual ,books or documentation of tool helps a lot
Monitoring I will purchase good books search the relevant material on the net. Management If the things go wrong I will be consulting with the some language and tool professional.
Page
64 of 67
Project Management
Gantt chart: When creating a software project schedule, the planner begins with a set of tasks. If automated tools are used, the work break down is input as a task network or task out line. Effort, duration and start date are then input for each task. As a consequence of this input, a time line chart also called Gantt chart is created. The Gantt chart for EOBSM is as follows:
Page
65 of 67
Page
66 of 67
References [PRE04] Pressman R. S., Software Engineering - A Practitioners Approach, 5th Edition. McGraw Hill Inc. [OES05] Oestereich B., Developing Software with UML- Object oriented analysis and design in practice, Addison Wesley Publishing Company Inch. [SOM00] Sommerville I., Software Engineering, 5th Edition, Addison Wesley Publishing Company Inc. [MSDN02] Microsoft Developing Network Library, April 2002. [LAR00] Larman C., Applying UML and Patterns An Introduction To ObjectOriented Analysis And Design, Prentice Hall PTR. [1] Documentation of MySQL [ULL01] Ullman L., Php and MySQL .Peachpit Press Techmedia [SCO00] Scollo Ch., Professional PHP programming WROX inc. [ARE00] Arehart ch., Professional WAP WROX inc. Webliography: 1. http://www.java.sun.com 2. http://www.java.developers.com 3. http://www.jguru.com 4. http://www.w3schools.com 5. http://www.zend.com 6. http://www.mysql.com 7. http://www.php.net 8. http://www.wrox.com 9.http://www.w3.org Bibliography 1 Herb Schildt The Complete Reference C# Tata McGraw Publications 2. Chris Payne SAMS teach yourself ASP.Net in 21 days, Publications. 3. Powell, Thomas, The Complete Reference HTML, 2nd Edition 4. Jaworski, James Mastering JavaScript and Jscript, BPB Publication. 5. Larman, Craig Applying UML and Patterns An Introduction To Object Oriented Analysis And Design, Prentice Hall PTR.2000. 6. Somerville, Ian (Lancaster University) (1998), Software Engineering, 5th Edition. Addison Wesley Publishing Company. 7. Elmasri, Fundamentals of Database Systems, 3rd Edition.
Page
67 of 67