xplore jobs

Upload: amitkrishnawarish

Post on 08-Apr-2018

235 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Xplore Jobs

    1/85

    A PROJECT REPORT ON

    XPLORE- JOBS

    SUBMITTED IN PARTIAL FULFILLMENT FOR THE AWARD OF

    DEGREE OF MASTER OF COMPUTER APPLICATION

    BYAMIT KUMAR YADAV

    ROLL NO-0715514006

    Ewing Christian Institute of Management and

    Technology Allahabad

    JUNE 2010

    1

  • 8/6/2019 Xplore Jobs

    2/85

    Acknowledgement

    First of al l I would l ike to thank almighty God who gave me theinspiration to take up this task.

    With immense pleasure, I take this opportunity to express my sincere thanks anddeep gratitude to all those people who extended their wholehearted co-operation andtheir help for me in completing this project successfully.

    I express my humble to Mr. Belal Ahmad (Project leader), for his valuableguidance and inspiration in my taking up this project. I think that with out him, I couldntcomplete my project.

    I am personally very thankful to Mr. Sandeep Karan for providing me theinformation about .net and help me.

    I would like to express my gratitude to Mr.Anurag Sewak (HOD) ECIMT Allahabad forall his information related to project & support.

    I am also grateful to the lab assistant and our seniors who have helped usin completing this project.

    At last but not the least I give my hearty thanks to my family members and wellwishers who supported me morally and encouragement constructive criticism given tome during the project period.

    Amit Kumar Yadav

    2

  • 8/6/2019 Xplore Jobs

    3/85

    Declaration

    I, Amit Kumar Yadav, hereby declare that the report of the project entitled

    Xplore-Jobs has not been presented as a part of any other academic work to

    get any degree or certificate except to Ewing Christian Institute of

    management & Technology, Allahabad for the fulfillment of the requirement of

    the award of degree ofMASTER OF COMPUTER APPLICATION.

    Date: Amit Kumar YadavPlace:

    3

  • 8/6/2019 Xplore Jobs

    4/85

    Table of Contents

    1) Company Profile. 12)Abstract..4

    3) Introduction ...... 4(i) Objectives of the Project .5(ii) Hardware and Software Tools used .5

    Software Interfaces5

    Hardware Interfaces ...54) Requirement Analysis..6

    Purpose6

    Existing System..6

    Proposed System...6

    Benefits. ..75) User Requirement Specification .. .8

    Product Perspective......8

    User Types ....86) System Analysis 9

    Introduction of User..9

    Definition of System.....9

    Identification of Need 10

    Preliminary Investigation 11

    Module Description.127) Feasibility Study..13

    Technical Feasibility 14

    Economical Feasibility 14

    Operational Feasibility 148) Project Planning 15

    Team Structure 15

    Topic Understanding. 15

    Modular Break-up of the System.159) Process Logic for each Module .1710) Database Requirements 1711) Programming Language & Development Tools...18ENVIRONMENT: Introducing the .NET Platform 18

    The Execution Flow in .Net 22

    TECHNOLOGY: ASP.NET ..25

    PROGRAMMMING LANUAGE: C#.Net ..26

    SQL Server 2005 ..2812) System Design 3013) Design Methodology.3214) Data Flow Diagram.. 32

    Zero Level DFD ..32

    1st Level DFD. .33

    2nd Level DFD 34

    ER Diagram ..35

    4

  • 8/6/2019 Xplore Jobs

    5/85

    15) Database Design..38

    Introduction to data dictionary .38

    List of Database tables..39

    Relationship in Tables44

    16) Optimization of Code...4417) Screenshots..4617) Screenshots..46

    18)18) Testing 6519) Implementation..67

    20) Maintenance Criteria..6921) Security..71Security Configuration...71Code Access Security...73Security Measures taken...7322) Limitations............................................................................................... .................7423) Future Enhansments.................................................................................................7424) Annexure76

    DFD Notations76

    ER Diagram Notations..7725) Bibliography...............................................................................................................7826) Appendix....................................................................................................................7927) Conclusion.................................................................................................................80

    5

  • 8/6/2019 Xplore Jobs

    6/85

    Company ProfileNewgen Infosoft Pvt. Ltd. is one of the leading IT vendors with proven capabilities in

    Application Development Services. As preferred application development outsourcingvendors, we have delivered significant benefits to our customers. Newgen Infosoftsmatured application development process encompasses all the phases of softwaredevelopment life cycle (SDLC), starting from translating business needs into projectrequirements through implementation and post-production user support. A maturedelivery model supported by technical and domain excellence characterizes NewgenInfosoft 's Application Development Services. This helps our clients achieve flexibility,scalability, quality and a reduced time-to-market. We work closely with our customers toensure that we meet the service levels on the most critical parameters of 'on time','within budget' and 'defect free' application development. Our suite of ApplicationDevelopment outsourcing service offerings includes:

    Customized application development

    New application development, Rapid application development.

    Mission & Values

    Mission is to coup with the worlds emerging and established software leaders to helpthem bring great products to market in less time and at less cost. To do this, NewgenInfosoft is committed to providing:

    World-class software engineers who partner with and extend the capabilities ofour clients existing engineering teams to take on new areas of development.

    Rigorous product engineering method and platform based on distributed agilesoftware development and open source tools to ensure complete visibility and

    accountability at each stage during the product development lifecycle. Structured partnerships that fully incorporate client objectives while guaranteeing

    quality, cost savings and time-to-market satisfaction.

    Furthermore we adhere to a strict business philosophy based on the following values:

    Integrity

    Newgen infosoft team believes in treating people with respect. We believe in alwaysdoing what we say we will and when we say we will do it. We always hold ourselvesto the highest ethical standards and take personal responsibility for our words andactions.

    Openness

    Newgen infosoft team greatly values our people and seeks to empower them. Webelieve in the free flow of information, regardless of rank or power, so that everyonehas access to the most complete data in order to make the best decisions. Wemaximize transparency to create an environment where every individual is accessibleand encouraged to contribute, and where each thought is valued and factored intomaking decisions.

    Teamwork

    6

  • 8/6/2019 Xplore Jobs

    7/85

    Newgen infosoft team believes that a good team is stronger than the sum of its parts.True teamwork and true partnership assumes an intimate understanding andalignment of each others goals and requires each party to actively care for and trustthe other. We always strive to treat our clients, investors and colleagues as partners.

    Innovation

    Newgen infosoft team believes in always learning and innovating. We encourage andreward those who challenge conventional wisdom, take risks and speak out. Webelieve that inspiring people to grow is good for the individual, good for our clients andgood for the business.

    Solutions

    Application Development

    Application development outsourcing helps organizations adapt to the rapidtechnology advancements and evolving business processes. Outsourcing software

    development helps them fulfill their need for newer customized solutions ortransformation of existing systems to state-of-the-art environments, while retainingthe embedded business processes, rules and logic.

    Web Technology Solutions

    In this competitive world Web became mainstream technology, it has transformed theway companies do business. From procurement to payment processing, Web-basedsolutions are creating new opportunities, streamlining processes and integratingoperations. In the past few years, the Web has opened new opportunities apart fromdoing eCommerce on the Web, like social networking sites, e-Learning applications,etc. The right partner one with proven expertise in extending business processesto the Web can help you maximize process improvement and operational savings

    that can be attained from implementing Web solutions.

    Newgen Infosofts Web development services deliver measurable value,incorporating a broad range of technologies. We provide high-performance e-Business and eCommerce solutions to help our clients provide the high levels ofquality and service required for competitive differentiation.

    Newgen infosoft team builds and implements end-to-end e-Business solutions thatseamlessly integrate with diverse business applications. For example, NewgenInfosoft s portfolio of successful Web projects includes Web Portals, SocialNetworking sites, Customer relationship management applications, contentmanagement and Workflow solutions, e-Learning portals, storefronts, integration withback-end applications, Web-enabling of legacy applications.

    Newgen infosoft teams expertise spans a wide range of industries includinginsurance, financial services, manufacturing, telecommunications, retail, energy andutilities. Newgen Infosofts comprehensive suite of Web technology solutionsincludes:

    Architecture Services

    SOA Consulting Services

    7

  • 8/6/2019 Xplore Jobs

    8/85

    Portal and Content Management

    Web 2.0

    Workflow and Business Process Management

    Security and User Management

    Web solutions bring together expertise in middleware integration, application servers,portal development frameworks, and content management solutions, on the latesttechnology platforms such as Microsoft .NET and J2EE.

    Application DevelopmentApplication development outsourcing helps organizations adapt to the rapid technologyadvancements and evolving business processes

    Why newgensoft're SpecialNewGen INFOSOFT s is a leading Company of Professionals specializing in WebDesign, Web Development, SEO, Flash Design, ERP Consulting, CRM Solution,Content Writing, Software Development and PHP Solutions with supporting services,one stop shopping under one roof, we can optimize your website(s).

    ERP ConsultingWe build and implement end-to-end e-Business solutions that seamlessly integrate withdiverse business applications.

    CRM SolutionsIn this competitive world Web became mainstream technology, it has transformed theway companies do business.

    Address: D-55, A1 Block2nd floor,Sector-7Noida-201301Website: www.

    newgeninfosoft.com

    8

  • 8/6/2019 Xplore Jobs

    9/85

    Abstract

    Title-Xplore-jobsThe title of the project is start with the word Xplore which is new style to write the

    word explore . Explore means search. My project guide suggest me to give the nameof project in new style. So I decided to write Xplore in place of Xplore in the project titleXplore-jobs

    Training Place: - D-55, A1 Block2nd floor,Sector-7Noida-201301Website: www.newgeninfosoft.com

    Project guide: Mr. Belal AhmadSoftware & Language Tools

    Platform: .netLanguage: C#RDBMS: SQL sever 2005Technology: asp.net

    Data Access Tool: ADO.NET

    INTRODUCTIONXplore-Jobs is a web-portal made for Consultancy. Objective of this project is to

    automate the recruitment process of the consultancy. The project entitled Xplore-Jobshelps in finding solutions to the manual systems being used in Consultancy. This

    web-portal will be most useful for Consultants for searching of matching Job withJobseekers etc. The web-portal has few sections, which is discussed a below.

    An Administrator is provided through which user can enter Recruiters records/type ofjobs/Jobseekers description. A registration form is provided through which user canenter details of company like location of company / types of job / status of job /Qualification of Jobseekers. This data once entered can be edited/deleted asrequired when there will be vast entries of data user can scroll the data.

    There are sections provided for Recruiter Requirement/Resource.

    Recruiter

    In Recruiter sections, user can enter the details of companies through the help ofportal. The portal has forms that will ask details like company

    id/name/location/address/city /country/contact person/contact number/contact email-id.Once after entering the details the data will be saved by clicking save button and thedetails will be stored in the Recruiter database.

    Requirements

    In Requirements section, various vacancies of various companies are stored. Allthe details like Job id, Job title, Job type, Job period, Job location, Functional Skills,Technical Skills, company id, contact person, contact number, contact email-id arestored in the database.

    9

  • 8/6/2019 Xplore Jobs

    10/85

    Resource

    In Resource section, details of various Jobseekers are stored. All the Personal detailsand Technical and Educational background, work experience, Nature of work andposition held in last job are stored in the database.

    Search

    In Search section, the jobseeker can search job according to his profile or according tohis need. And recruiter can search candidate according to need of his company.

    OBJECTIVES OF THE PROJECTObjective of this project is to automate the recruitment process of theconsultancy. The project entitled Xplore-Jobshelps in finding solutions to themanual systems being used in Consultancy. The system analyses the problem ofdealing with the great deal of manual work. Manually maintenance of Jobseekerand Recruiter details can create a lot of problem.

    Hardware and Software Tools usedThe Web-portal Requirements Specification is produced at the culmination of the

    analysis task. The function and performance allocated to Web-portal as part of systemengineering are refined by establishing a complete information description, a detailedfunctional description, a representation of system behavior, an indication of performancerequirements and design constraints, appropriate validation criteria, and otherinformation pertinent to requirements.

    The Introduction of the Web-portal requirement specification states the goals andobjectives of the Web-portal, describing it in the context of the computer-based system.Actually the introduction may be nothing more than the software scope of the planningdocument. The information description provides a detailed description of the problemthat the Web-portal must solve. Information content, flow, and structure are documented.Hardware, Software and human interfaces are described for external system elementsand internal software functions. For this project we need some special type ofenvironment for setup. This is as follows:

    Software Interfaces

    Following software are required for developing Web based application:

    I. Operating System Windows NT, 2000, XP Prof Etc.

    II

    .

    Environment VisualStudio.Net

    III.

    Front-end Tool C# with .net, CSS, Java script, Ajax.

    IV.

    Technology ASP.NET.

    10

  • 8/6/2019 Xplore Jobs

    11/85

    V.

    Web server Tools IIS 5.0.

    V

    I.

    Backend Tool SqlServer2005.

    VII.

    Data Access Tool ADO.NET.

    VIII.

    Reports Crystal Report.

    Hardware Interfaces

    It's a web based project, so a robust hardware configuration is required. The hardwarerequirements are:

    I. Processor PIII 700 MHz and above.

    II.

    Motherboard Intel 845 and above

    II

    I.

    RAM 256 to 768 MB

    IV.

    Hard Disk 2.5 GB for Visual Studio .NET and1 GB for MicrosoftSQLServer2005.

    V.

    Network Card Standard Ethernet card for networking.

    VI.

    I/O Devices Keyboard, mouse and Color monitor

    VII.

    Wires Twisted pair for networking.

    Requirement Analysis

    11

  • 8/6/2019 Xplore Jobs

    12/85

    Purpose

    Xplore-jobs is a web-portal which automates recruitment process for a consultancy. Itis self-contained and new web based project. This is developed on .net plate form withC# language. The web pages of this web-portal softly run on various browser for

    example IE 7.0 and above, Firefox, Google chrome, opera etc. It uses the asp.nettechnology.

    Existing System

    In the existing manual system, huge expenditure and a lot of time is spent incommunicating. So there is a need of integrated automated system, which has somecentralized control over the entire process.Manually maintenance of Jobseeker details and Recruiter details can create a lot ofproblem. Such as: -

    Slow process

    Time taking

    Difficulty to retrieve information

    Difficulty to analyze the related data

    More staff

    More paper work

    Proposed SystemIn today's world of computing one has to scope with the fast trend of changing

    world and globalization a consultancy has to interact with Recruiters (variouscompanies), keep records and knowledge of various vacancies in these companies. Italso keeps resumes of several kinds of Jobseekers. And maintain resources(Jobseekers and match the bio-data according to the job requirement) and then inform

    the Jobseeker about the job and Recruiters. Computerized and web based Xplore-Jobswill help a user i.e. a consultant in many ways. The key features of the projectare:

    To facilitate easy maintenance of records of various Recruiters(Companies), Jobs and Jobseekers.

    To check details of prospective Jobseekers through quick searchprovided in the portal.

    To check for matching Job with Jobseekers.

    To facilitate preparation of records in the mechanized process andthereby producing accurate documents/datas for recording details.

    Quick access of all records

    To match the suitable candidate to appropriate job

    Reduce manual work

    Generation of Quick report

    Prevent and reduce human error

    BENEFITS

    12

  • 8/6/2019 Xplore Jobs

    13/85

    In order to quantify the benefits of your job placement software, you first have to knowwhat to look for. Job tracking solutions can help you in different ways. Here are some ofthe areas to look for benefits in implementing a software system:

    Paper ReductionXplore-Jobs can reduce the cost associated with creating and distributing paperrequirements and resumes. Cost savings result from:

    Direct savings from reduced paper, printing, and distribution costs Indirect savings from time spent handling paper documents

    Paperwork TransferA big expense with a manually maintain job records and requirement system is that oftransferring of records from one person to another. For example, the employee needs toget to know about the requirement of an organization from the HR consultants or fromany other source. They had to forward the resume and then had to move over to theconsultant manager of any consultant. The manager checks and verifies the resumesand then selects the appropriate one with to that of the requirement of the organizationand then forwards them to the concerned HR department of the particular organization.A very conservative estimate of the direct time spent on simply transferring the recordsaround would be wasted per employee each time.

    Improved Data QualityManual resumes must be then entered into a computer in order to be processed forfurther process or may be maintained into database for future requirement. Wheneverdata is keyed into a computer from a hand-written document, errors will be made. Theseerrors can cost you in many direct and indirect ways:

    Incorrect selection may take place. When employees are appointed itmay be the wrong selection that may had occurred due to the consultant oradjustment is costly for organization. Without accurate information, you lose the ability to perform usefuldecision support. You should have accurate information about thebackground of the employee as well as the employer, departments worked in,

    areas the organization is working in etc. for your decision support.

    Fewer Inquiries to the Human Resources Department

    A good automated Human Resource Management System will provide usefulinformation to the jobseekers online that they traditionally request from the HRdepartments. By making this information available online, your HR departments willspend less time answering questions from jobseekers and recruiters. A good system willbe able to track the following information for each jobseeker and make available:

    The professional record of the jobseeker History of the jobseekers experience The major skills of the jobseeker The personal information about it The areas the organization work in

    The following information can be tracked for each recruiter

    The Contact persons responsible for recruitment

    Assigned Projects of the organization

    Training sessions if it providing any

    Position title and the experience it is seeking

    Performance Reviews of the organization.

    13

  • 8/6/2019 Xplore Jobs

    14/85

  • 8/6/2019 Xplore Jobs

    15/85

    Jobseeker can search job according to his profile and educational background.

    Then he can apply on line to that job. He can also block the company to not send

    resume to them. User can change his password and can edit his profile. He can

    register to Xplore-jobs for free to take the services of consultancy online.

    Recruiter

    A registered recruiter can post jobs. He can also see updated resume of job-

    seeker. He can edit his profile also. He can delete any job posted by him.

    System AnalysisSystem Analysis refers to the process of examining a business situation with the

    intent of improving it through better procedures and methods Requirement analysis isthe first technical step in Web-portal process. It is a process of discovery, refinement,

    modeling and specification. It is the systematic use of proven principles, techniques,languages and tools for the cost-effective analysis, documentation and on-goingevolution of user needs and the specification of external behavior of a system to satisfythose user needs.

    The very first thing is the problem recognition. After the need of the project isidentified the implementation of the project is identified who is going to use the Web-portal, what all are the points needed in modeling the design of the Web-portal.

    Introduction of user

    The term user is widely used in the system analysis and design. The term end-user iswidely used by the analysts to refer to people who are not professional information

    systems specialists but who can use computers to perform their Jobs. We can groupend-user into four categories.

    Hands-on Users actually interact with the system. They fed in data or receiveoutput, perhaps using a terminal.

    Indirect Users benefits form the results or reports produced by these systems butdo not directly interact with the hardware or software. These users may be managersof business functions using the system.

    End-Users are not alike. Some are intermittent users. The end-user can also be acompetitor, not an employee of the firm.

    User manages have management responsibilities for application systems.

    Senior Manager Users are fourth types of users and is talking increasedresponsibility for the development of information systems.

    Definition of System

    In the broad sense, a system is simply a set of components that interact toaccomplish some purpose. Systems are all around us. As computers are used moreand more by persons who are not computer professionals, the face of systems

    15

  • 8/6/2019 Xplore Jobs

    16/85

    development is taking on an additional dimension. Users themselves are undertakingdevelopment of some of the systems they use, as the executive in the vignetteemphasized. These different situations are represented by three distinct approaches tothe development of computer information systems: -

    Systems Development Life Cycle.

    Structured Analysis Development Method.

    Systems Prototype Method.Systems development, a process consisting of two major steps of systems analysis anddesign, starts when management of sometimes systems development personnelrealizes that a particular business system needs improvement. Systems development isclassically thought of as the set of activities that analysts, designers and users carry outto develop and implement an information system. Different parts of the project can be invarious phases at the same time, with some components undergoing analysis whileother advanced stages.

    Systems development consists of following activities:

    Preliminary investigation.

    Determination of system requirements.

    Design of system.

    Development of Web-portal.

    System testing.

    Implementation and evaluation.

    System analysis is conducted with the following objectives in mind:

    Identify the users need.

    Evaluate the system concept for feasibility.

    Perform economic and technical analysis.

    Allocate functions to hardware, software, people, database and other systemelements.

    Establish cost and schedule constraints.Create a system definition that forms the foundation for all subsequent engineeringwork. Both hardware and software expertise are required to successfully attain theobjectives listed above.As our Web-portal Xplore-Jobs is going to be used by the people who may ormay not be computer literate, we had tried to make it user-friendly.

    Identification of Need

    This step is initiation of system analysis .An overview of the customersrequirement has been done. The basic need of the user to opt for such kind of

    project is analyzed. Manually maintenance can create a lot of problem. Such as:1. Slow process2. Time consuming.3. Lacks accuracy.4. Difficulty to hide information from unauthenticated staff.5. Difficulty to retrieve information6. Difficulty to analyze the related data7. More staff

    16

  • 8/6/2019 Xplore Jobs

    17/85

    8. More paper workComputerizing the A Human Resource Management Systemwill help a user i.e.

    a consultant to quick access of all records; match the suitable candidate to appropriatejob. It also maintains all the files in databases to provide quick access and save the time.

    The objective of the project is to develop Web-portal for handling the record ofconsultancy and easy to update according users requirement. The main aim of the

    project is to increasing the efficiency of the management process and to better maintainthe records of both Jobseekers and Recruiters. And when need records should availableeasily. The user is accessed to the main menu from which he/she can select appropriateJobseeker for job requirement of several companies.

    Information is needed in organizations for planning, staffing and controllingpurposes. Regardless of the nature of the information required, the information shouldpossess the characteristics of accuracy, timeliness, completeness and relevancy. In therecent years, need for information improvement by reports lacking one or more of thesecharacteristics and by increased paper work volume, rising costs, and pressures fromoutside changes.

    Fortunately computers thrive on repetitive large volume processing tasks, arefast and accurate. The processing capability in many organizations has been strained by

    1. Growth in size and complexity of the organizations2. The increased requirements for data from external sources and3. The demand of administrators for more information.

    More than a million new pages of data are generated each minute of the day inoffices. Compare to other processing methods, the use of computers may make itpossible for certain administrative costs to be reduced while the level of processingactivity remains stable. The increased cost and clerical labor materials and otherexpenses associated with the data processing operation require eventual managerialattention.

    We all agree that meaningful information is timely information. But with an increasein volume and size of an organization, there is only a reduction in the speed ofprocessing. Rapid changes are taking place in the world socially, economically and

    technically. Such changes have a significant impact on the environment in whichorganizations must operate, on the planning that managers must do, and on theinformation that they must have. But if a data processing operation is strained to orbeyond the capacity for which if was originally planned, inaccuracies will begin toappear. Inadequate control will permit inadequate performance. It is due to thesepressures (increased paper work volume, costs, pressure from outside changes, anddemand for timeliness & demand for quality) that most of the organizations today areopting for computers to do data processing for them. The project is mainly aninformation-processing sub-package. It aims at providing information about roomsavailable in the hotel. Each time a customer checks in the availability of a room ischecked and then allotted, and his personal detail is stored. The problem if handledmanually the information might lose the characteristics of either timeliness or accuracy.

    Hence the need for this project was realized.All the data has to be first fed in the computer. Once it is stored in the files any queryregarding this data can be answered satisfactorily. The retrieval process involves muchless time and the information is accurate. Any updating is easily accommodated.

    Preliminary Investigation

    17

  • 8/6/2019 Xplore Jobs

    18/85

  • 8/6/2019 Xplore Jobs

    19/85

    Contacts of Consultancies to Jobseeker

    Consultancies match the job with resumes and inform the Jobseeker through phone oremail.

    Contacts of Consultancies to Companies

    After selecting suitable candidate consultancies give their information to companies.

    Selection

    Company selects appropriate Jobseeker which is sent by consultancies and fixes timefor interviews. After final selection information is send to Jobseeker.

    Prepare Invoice

    Companies sending information about the selection of Jobseeker to consultancies andconsultancies make invoices according to selected Jobseeker and send to company.

    PaymentCompany checks invoices against requirement which is send by consultancies andmake payment accordingly either through cash or cheque.

    Validation of Data Entered by the User and Error Handling

    In this module, the validity of data entered by the user during the various processes ischecked through various validation checks. For example, there shouldnt be anycharacters entered in the numeric fields, likewise if there is any error occurs that itshould handle that particular error and give the required messages.

    Feasibility Study

    Depending on the results of the initial investigation, the survey is expanded to amore detailed feasibility study. Feasibility study is a test of system proposal according toits work ability, impact on the organization, ability to meet user needs, and effective useof resources. The objective for this phase is not to solve the problem but to acquire asense of scope. During the study, the problem definition is crystallized and aspects ofthe problem to be included in the system are determined.

    Information processing systems are capital investments because resources are

    being spent currently in order to achieve benefits to be received over a period of timefollowing completion. There should be a careful assessment of each project before it isbegun in terms of economic justification, technical feasibility, operational impact andadherence to the master development plan.

    We started the project by listing the possible queries that the user might want tobe satisfied. And on these lines we guided the project further. The three main points,kept in mind at the time of project, are:

    Possible (To build it with the given technology and resources)

    19

  • 8/6/2019 Xplore Jobs

    20/85

    Affordable (given the time and cost constraints of the organization)

    Acceptable (for use by the eventual users of the system)

    The three major areas to consider while determining the feasibility of a project are: ---

    TECHNICAL FEASIBILITY

    This involves financial consideration to accommodate technical enhancements. If thebudget is a serious constraint, then the project is judged not feasible. The analyst thinksabout the technical feasibility of the system. In the proposed system, the application hasmade in this way so that it is technically feasible for the sales promotion. There are somecertain types of reports being used in the system to make the application more usersfriendly i.e. the Data Report is used. The system has made in such away that it is beingused for a single user as well as multi-user environment. The operating systems areWindows NT 4.0/Windows 2000/Windows XP/2003. Thus we see that the system ismore technically feasible regarding to operating system. We are using Microsoft SQLServer 2000 as backend for maintaining the database. SQL Server is a relational

    database management system of an object that is formed by the database and aninstance of the SQL Server. SQL Server 2000 is Windows based RDBMS. This is one ofthe powerful RDBMS due to its menu driven facility. This provides a better service to theuser in the sense of taking the backup of data and then restores it. We can easily mirrorthe database in the SQL Server 2000.

    ECONOMICAL FEASIBILITY

    An evaluation of development cost weighed against the ultimate income or benefitderived from the developed system. Today, software is the most expensive element ofvirtually all computer-based systems. A large cost estimation error can make the

    difference between profit and loss. Estimation of resources, cost, and schedule for asoftware engineering effort requires experience, access to good historical information,and the courage to commit to quantitative predictions. Estimation carries inherent riskand this risk leads to uncertainty. Project complexity has a strong effect of theuncertainty inherent in planning. Complexity, however, is a relative measure that isaffected by familiarity with past effort. Project size is another important factor that canaffect the accuracy and efficiency of estimates. As size increases, the interdependencyamong various elements of the software grows rapidly. Software cost and effortestimation will never be an exact science. Too many variables-human, technical,environmental, political-can affect the ultimate cost of software and effort applied todevelop it. However, software project estimation can be transformed from a black art to aseries of systematic steps that provide estimates with acceptable risk. The system is nottoo costly according to the features of the application. The cost of the project isbalanced. The cost of the project might be increase or decrease as according to

    requirement of the customer. The system has developed systematically.

    OPERATIONAL FEASIBILITY

    This application is very easy to operate as it is made user friendly. Main consideration isusers easy access to all the functionality of the application.

    20

  • 8/6/2019 Xplore Jobs

    21/85

    Documentation of the Feasibility StudyThe findings of a feasibility study are generally documented in what is called a feasibilityreport. The degree of detail in such reports would be greatly dependent on the native ofthe project. The content of this project would be as given in:

    Introduction

    Statement of problemImplementation EnvironmentConstraintsManagement summery and recommendationsImportant findingsCommentsRecommendationsImpactAlternativesAlternative system configurationsCriteria used in selecting the final approachSystem description

    Abbreviated statement of scope.Feasibility of allocated elementsCost Benefit AnalysisEvaluation of technical RiskLegal ramificationsOthers Project Specific Topics

    PROJECT PLANNING

    I took assignment for developing a computerized system of Xplore-Jobs.Planning of this project will include following things:

    Team Structure.

    Topic understanding.

    Modular break-up of the system

    Processor logic for each module

    Database requirements

    TEAM STRUCTUREThe project team comprises of five members who worked as developers and a projectleader who assigned the whole task and provided the finest details of the problem. Theproject coordinator supervises the whole project work and sort out the problemsoccurred during the development phase.

    TOPIC UNDERSTANDINGIt is vital that the field of application as introduced in the project may be totally a newfield. So as soon as I took this project, I carefully went through the project to identify therequirements of the project.

    21

  • 8/6/2019 Xplore Jobs

    22/85

    MODULAR BREAK-UP OF THE SYSTEMIt consists of following phases:

    Identify the various modules in the system

    List them in the right hierarchy

    Identify their priority of development

    Description of the ModulesThis project consists of different interfaces, which will be accessed through a MDI(Multiple Document Interfaces) window. Different modules which makeup this systemarebrieflydescribed below:

    Login Module

    In this module, there are three types of login- admin login, job-seeker, and recruiterlogin. Here check authentication and authorization of user. If the password and user-IDis valid then he is allowed to enter, otherwise Invalid User/Password message isdisplayed.

    Job-Seeker Registration

    In this module a job-seeker can register easily by filling the form. He can submit all detaillike educational, personal. He chooses a unique id as user name. He enters thepassword for security feature. He can submit his resume.

    Recruiter RegistrationIn this module the recruiter can register by filling the form. He has to give some

    necessary data like company name, website, email-ID, address, contact no. etc

    Place Requirement

    Recruiter can post the job according to his requirement. In this module the recruiter caneasily post the job. Consultancy sends this information to job-seeker. Consultanciescontact to several companies and gather information regarding several vacancies andstore them into their database.

    Place Resumes

    Jobseekers gather information about the several consultancies and prepare theirresumes according to job requirement mentioning their technical and educational skillsand send resumes to consultancies.

    Jobseeker Account

    In this module jobseeker can preview his profile, can edit his profile like contact details,educational details, password etc. He can block any company where he not wants tosend to resume. He can also see recommended jobs.

    Recruiter accountIn this module, recruiter can see his profile and can edit. He can see posted jobs by him.He can contact to consultancy. He can see jobseekers information sent by consultancy.

    22

  • 8/6/2019 Xplore Jobs

    23/85

    Contacts of Consultancies to JobseekerConsultancies match the job with resumes and inform the Jobseeker through phone oremail.

    Contacts of Consultancies to CompaniesAfter selecting suitable candidate consultancies give their information to companies.

    SelectionCompany selects appropriate Jobseeker sended by consultancies and fixes time forinterviews. After final selection information is send to Jobseeker.

    Prepare InvoiceCompanies sending information about the selection of Jobseeker to consultancies andconsultancies make invoices according toselected Jobseeker and send to company.

    PaymentCompany checks invoices against requirement send by consultancies and make

    payment accordingly either through cash or cheque.

    Validation of Data Entered by the User and Error HandlingIn this module, the validity of data entered by the user during the various processes ischecked through various validation checks. For example, there shouldnt be anycharacters entered in the numeric fields, likewise if there is any error occurs that itshould handle that particular error and give the required messages.

    PROCESS LOGIC FOR EACH MODULE

    In the first module, validity of password is checked against a particular user.In the second module, whenever a new entity is entered it should be checked for the

    duplicate data. In the third module and fourth module, just like the first module it shouldhave the proper checks for every entity being modified or updated. In last module, againthe validation checks are made and the different reports are generated to ease thebusiness processes and decision-making.

    DATABASE REQUIREMENTS

    Identify the various tables required.

    Fields for these tables.

    The various key fields (for example Primary key and foreign key).

    Identify the various constraints like not null, Unique etc.

    23

  • 8/6/2019 Xplore Jobs

    24/85

    PROGRAMMING LANGUAGE &

    DEVELOPMENT TOOLS

    ENVIRONMENT: Introducing the .NET PlatformThe .NET Framework is a managed type-safe environment for application developmentand execution. The .NET Framework manages all aspects of your programs execution.It allocates memory for the storage of data and instructions, grants or denies theappropriate permissions to your application, initiates and manages application execution,and manages the reallocation of memory from resources that are no longer needed. The.NET Framework consists of two main components: the common language runtime andthe .NET Framework class library.

    The common language runtime can be thought of as the environment thatmanages code execution. It provides core services, such as code compilation, memoryallocation, thread management, and garbage collection. Through the common type

    system (CTS), it enforces strict type-safety and ensures that code is executed in a safeenvironment by also enforcing code access security.

    The .NET Framework class library provides a collection of useful and reusabletypes that are designed to integrate with the common language runtime. The typesprovided by the .NET Framework are object-oriented and fully extensible, and they allowyou to seamlessly integrate your applications with the .NET Framework. The .NETFramework is designed for cross-language compatibility, which means, simply, that .NETcomponents can interact with each other no matter what supported language they werewritten in originally. So, an application written in Microsoft Visual Basic .NET mightreference a dynamic-link library (DLL) file written in Microsoft Visual C#, which in turnmight access a resource written in managed Microsoft Visual C++ or any other .NETlanguage. This language interoperability extends to full object-oriented inheritance. A

    Visual Basic .NET class might be derived from a C# class, for example, or vice versa.This level of cross-language compatibility is possible because of the common

    language runtime. When a .NET application is compiled, it is converted from thelanguage in which it was written (Visual Basic .NET, C#, or any other .NET-compliantlanguage) to Microsoft Intermediate Language (MSIL or IL). MSIL is a low-levellanguage that the common language runtime can read and understand. Because all.NET executables and DLLs exist as MSIL, they can freely interoperate. The CommonLanguage Specification (CLS) defines the minimum standards to which .NET languagecompilers must conform. Thus, the CLS ensures that any source code successfullycompiled by a .NET compiler can interoperate with the .NET Framework.The CTS ensures type compatibility between .NET components. Because .NETapplications are converted to IL prior to deployment and execution, all primitive data

    types are represented as .NET types. Thus, a Visual Basic Integer and a C# int are bothrepresented in IL code as a System.Int32. Because both languages use a common typesystem, it is possible to transfer data between components and avoid time-consumingconversions or hard-to-find errors.

    Visual Studio .NET ships with languages such as Visual Basic .NET, Visual C#,and Visual C++ with managed extensions, as well as the JScript scripting language. Youcan also write managed code for the .NET Framework in other languages. Third-partytools and compilers exist for Fortran, Cobol, Perl, and a host of other languages. All ofthese languages share the same cross-language compatibility and inheritability. Thus,

    24

  • 8/6/2019 Xplore Jobs

    25/85

    you can write code for the .NET Framework in the language of your choice, and it will beable to interact with code written for the .NET Framework in any other language.

    Microsoft .NET Architecture Hierarchy

    Features of the .NET Platform Multilanguage Development

    Platform and Processor Independence

    Versioning Support

    Security

    Components of the .NET Architecture

    As we mentioned earlier, there is a lot to the .NET Framework. In this section,We identify the individual components and describe their features and how theyFit into the overall picture.

    . NET Runtime

    The heart of the .NET Framework is the CLR. Similar in concept to the Java VirtualMachine, it is a runtime environment that executes MSIL code. Unlike the Java

    environment, which is the concept of one language for all purposes, the .NET platformsupports multiple programming languages through the use of the Common LanguageSpecification, which defines the output required of compilers that want to target the CLR.

    Managed/Unmanaged Code

    Because all code targeted at the .NET platform runs with the CLR environment, it isreferred to as managed code. This simply means that the execution of the code and itsbehavior is managed by the CLR. The metadata available with managed code contains

    25

    COM+ ServicesWindows

    Common Language Specification (CLS)

    .Net Framework Classes

    ADO.Net and XML

    Common Language Runtime

    Window

    s Forms

    C# Jscript.Vb.net VI

    S

    U

    A

    L

    S

    T

    U

    D

    I

    O

    .

    Ne

    t

    Web Form Web Service

  • 8/6/2019 Xplore Jobs

    26/85

    the information required to allow the CLR to manage its safe execution. By safeexecution we mean memory and security management, type safety, and inter-languageinteroperability. Unmanaged code can write to areas of memory it does not own, executeinstructions at arbitrary locations in memory, and exhibit any number of other badbehaviors that cannot be managed or prevented by the CLR. Most of the applicationsrunning on Windows today are unmanaged.

    Intermediate Language

    The .NET intermediate language, MSIL, is defined in the Common LanguageSpecification. It is an amalgam of a low-level language similar in many ways to aMachine language and a higher object language. You can write applications directlyIn MSIL, much as you can write directly in assembly language. Thankfully, this isNot necessary for most purposes.

    Compiling

    Running your C# code through the C# compiler produces two important pieces ofInformation: code and metadata. The following sections describe these two items andthen finish up by examining the binary building block of .NET code: the assembly.

    Microsoft Intermediate Language (MSIL)

    The code that is output by the C# compiler is written in a language called MicrosoftIntermediate Language or MSIL. MSIL is made up of a specific set of instructions thatSpecify how your code should be executed. It contains instructions for operations suchas variable initialization, calling object methods, and error handling, just to name a few.C# is not the only language in which source code changes into MSIL during thecompilation process. All .NET-compatible languages, including Visual Basic .NET and

    Managed C++, produce MSIL when their source code is compiled. Because all of the.NET languages compile to the same MSIL instruction set, and because all of the .NETlanguages use the same runtime, code from different languages and different compilerscan work together easily.

    MSIL is not a specific instruction set for a physical CPU. It knows nothing aboutthe CPU in your machine, and your machine knows nothing about MSIL. How, then,does your .NET code run at all, if your CPU can't read MSIL? The answer is that theMSIL code is turned into CPU-specific code when the code is run for the first time. Thisprocess is called "just-in-time" compilation, or JIT. The job of a JIT compiler is totranslate your generic MSIL code into machine code that can be executed by your CPU.You may be wondering about what seems like an extra step in the process. Whygenerate MSIL when a compiler could generate CPU-specific code directly? After all,compilers have always done this in the past. There are a couple of reasons for this.

    First, MSIL enables your compiled code to be easily moved to different hardware.Suppose you've written some C# code and you'd like it to run on both your desktop anda handheld device. It's very likely that those two devices have different types of CPUs. Ifyou only had a C# compiler that targeted a specific CPU, then you'd need two C#compilers: one that targeted your desktop CPU and another that targeted your handheldCPU. You'd have to compile your code twice, ensuring that you put the right code on the

    26

  • 8/6/2019 Xplore Jobs

    27/85

    right device. With MSIL, you compile once. Installing the .NET Framework on yourdesktop machine includes a JIT compiler that translates your MSIL into CPU-specificcode for your desktop.

    Installing the .NET Framework on your handheld includes a JIT compiler thattranslates that same MSIL into CPU-specific code for your handheld. You now have a

    single MSIL code base that can run on any device that has a .NET JIT compiler. The JITcompiler on that device takes care of making your code run on the device. Anotherreason for the compiler's use of MSIL is that the instruction set can be easily read by averification process. Part of the job of the JIT compiler is to verify your code to ensurethat it is as clean as possible. The verification process ensures that your code isaccessing memory properly and that it is using the correct variable types when callingmethods that expect a specific type. These checks ensure that your code doesn'texecute any instructions that could make the code crash.

    The MSIL instruction set was designed to make this verification process relativelystraightforward. CPU-specific instruction sets are optimized for quick execution of thecode, but they produce code that can be hard to read and, therefore, hard to verify.

    Having a C# compiler that directly outputs CPU-specific code can make code verificationdifficult or even impossible. Allowing the .NET Framework JIT compiler to verify yourcode ensures that your code accesses memory in a bug-free way and that variable typesare properly used.

    27

  • 8/6/2019 Xplore Jobs

    28/85

    The Execution Flow In .Net

    28

  • 8/6/2019 Xplore Jobs

    29/85

    Common Type SystemThe .NET applications, regardless of their source languages all share a common typesystem. What this means is that you no longer have to worry when doing development inmultiple languages about how a data type declared in one language needs to be

    declared in another. Any .NET type has the same attributes regardless of the language itis used in. Furthermore, all .NET data types are objects, derived from System. Object.Because all data types derive from a common base class, they all share some basicfunctionality, for example the ability to be converted to a string, serialized, or stored in acollection.

    . NET Base Class Library (BCL)If I could have bought a library that offered everything the .NET Base Class Libraryoffers when I started programming, a years salary would have seemed reasonablethere really is that much to it. Almost everything in the .NET environment is containedwithin the BCL. Lets look at a Hello World example:Using System;

    Class Hello{Public static void Main ()

    { Console.WriteLine ("Hello World");}}

    The only function contained in this simple program is a call to the WriteLinemethod of the Console class. What is really unique about the .NET environment isthat .NET languages dont have to implement even the most basic functions; they areavailable in the BCL. Because all .NET languages share the same common set oflibraries, the code being executed by your C# program is the same code being executedby a program written in another language. This means that all languages that targetthe .NET environment essentially share the same capabilities, except they have differentsyntax.

    AssembliesAssemblies are the means of packaging and deploying applications and componentsIn .NET. Just like a compiled application or component today, assemblies can be madeup of either single or multiple files. An assembly contains metadata information (coveredin the next section), which is used by the CLR for everything from type checking andsecurity to actually invoking the components methods. All of this means that you dontneed to register .NET components, unlike COM objects.Sometimes, you will use C# to build an end-user application. These applications arepackaged as executable files with an extension of .EXE. Windows has always workedwith .EXE files as application programs, and C# fully supports building .EXE files.However, there may be times when you don't want to build an entire application. Instead,

    you may want to build a code library that can be used by others. You may also want tobuild some utility classes in C#, for example, and then hand the code off to a VisualBasic .NET developer, who will use your classes in a Visual Basic .NET application. Incases like this, you won't be building an application. Instead, you'll be building anassembly. An assembly is a package of code and metadata. When you deploy a set ofclasses in an assembly, you are deploying the classes as a unit; and those classesshare the same level of version control, security information, and activationrequirements. Think of an assembly as a "logical DLL." If you're familiar with Microsoft

    29

  • 8/6/2019 Xplore Jobs

    30/85

    Transaction Server or COM+, you can think of an assembly as the .NET equivalent of apackage. There is two types of assemblies: private assemblies and global assemblies.When you build your assembly, you don't need to specify whether you want to build aprivate or a global assembly. The difference is apparent when you deploy yourassembly. With a private assembly, you make your code available to a singleapplication. Your assembly is packaged as a DLL, and is installed into the same

    directory as the application using it. With a deployment of a private assembly, the onlyapplication that can use your code is the executable that lives in the same directory asyour assembly. If you want to share your code among many applications, you mightwant to consider deploying your code as a global assembly. Global assemblies can beused by any .NET application on the system, regardless of the directory in which it isinstalled. Microsoft ships assemblies as a part of the .NET Framework, and each of theMicrosoft assemblies is installed as a global assembly. The .NET Framework contains alist of global assemblies in a facility called the global assembly cache, and the .NETMicrosoft Framework SDK includes utilities to both install and remove assemblies fromthe global assembly cache.

    Metadata

    The compilation process also outputs metadata, which is an important piece of the .NETcode sharing story. Whether you use C# to build an end-user application or you use C#to build a class library to be used by someone else's application, you're going to want tomake use of some already-compiled .NET code. That code may be supplied byMicrosoft as a part of the .NET Framework, or it may be supplied by a user over theInternet. The key to using this external code is letting the C# compiler know what classesand variables are in the other code base so that it can match up the source code youwrite with the code found in the precompiled code base that you're working with.Think ofmetadata as a "table of contents" for your compiled code. The C# compiler placesmetadata in the compiled code along with the generated MSIL. This metadata accuratelydescribes all the classes you wrote and how they are structured. All of the classes'methods and variable information is fully described in the metadata, ready to be read by

    other applications. Visual Basic .NET, for example, may read the metadata for a .NETlibrary to provide the IntelliSense capability of listing all of the methods available for aparticular class. If you've ever worked with COM (Component Object Model), you maybe familiar with type libraries. Type libraries aimed to provide similar "table of contents"functionality for COM objects. However, type libraries suffered from some limitations, notthe least of which was the fact that not all of the data relevant to the object was put intothe type library. Metadata in .NET does not have this shortcoming. All of the informationneeded to describe a class in code is placed into the metadata. You can think ofmetadata as having all of the benefits of COM type libraries without the limitations.

    Just In Time CompilationThe .NET CLR utilizes Just In Time (JIT) compilation technology to convert the IL code

    back to a platform/devicespecific code. In .NET, you currently have three types of JITcompilers: ss.comPre-JIT: This JIT compiles an assemblys entire code into native code at one stretch.You would normally use this at installation time.Econo-JIT: You would use this JIT on devices with limited resources. It compiles the ILcode bit-by-bit, freeing resources used by the cached native code when required.Normal JIT: The default JIT compiles code only as it is called and places the resultingnative code in the cache. In essence, the purpose of a JIT compiler is to bring higherperformance to interpreted code by placing the compiled native code in a cache, so that

    30

  • 8/6/2019 Xplore Jobs

    31/85

  • 8/6/2019 Xplore Jobs

    32/85

    Simplified deployment: With .NET components, deployment is as easy as copying acomponent assembly to its desired location.

    Cross-client capability: One of the foremost problems facing developers today iswriting code that can be rendered correctly on multiple client types. For example, writingone script that will render correctly in Internet Explorer 5.5 and Netscape Navigator 4.7,

    and on a PDA and a mobile phone is very difficult, if not impossible, and timeconsuming. ASP.NET provides rich server-side components that can automaticallyproduce output specifically targeted at each type of client.

    Web services: ASP.NET provides features that allow ASP.NET developers toeffortlessly create Web services that can be consumed by any client that understandsHTTP and XML, the de facto language for inter-device communication.Performance: ASP.NET pages are compiled whereas ASP pages are interpreted.When an ASP.NET page is first requested, it is compiled and cached, or saved inmemory, by the .NET Common Language Runtime (CLR). This cached copy can thenbe re-used for each subsequent request for the page. Performance is thereby improvedbecause after the first request, the code can run from a much faster compiled version.

    PROGRAMMMING LANUAGE: C#.NetIntroducing C#C#, the new language introduced in the .NET Framework, is derived from C++.However, C# is a modern, objected-oriented (from the ground up) type-safe language.

    Language featuresThe following sections take a quick look at some of the features of the C# language

    ClassesAll code and data in C# must be enclosed in a class. You can't define a variable outsideof a class, and you can't write any code that's not in a class. Classes can have

    constructors, which execute when an object of the class is created, and a destructor,which executes when an object of the class is destroyed. Classes support singleinheritance, and all classes ultimately derive from a base class called object. C#supports versioning techniques to help your classes evolve over time while maintainingcompatibility with code that uses earlier versions of your classes. As an example, take alook at a class called Family. This class contains the two static fields that hold the firstand last name of a family member as well as a method that returns the full name of thefamily member.Class Class1{Public string FirstName;Public string LastName;

    Public string FullName (){Return FirstName + LastName;}}

    Note Single inheritance means that a C# class can inherit from only one baseclass.C# enables you to group your classes into a collection of classes called a namespace.

    32

  • 8/6/2019 Xplore Jobs

    33/85

    Namespaces have names, and can help organize collections of classes into logicalgroupings. These classes are contained within the Microsoft namespace.

    Data typesC# lets you work with two types of data: value types and reference types. Value typeshold actual values. Reference types hold references to values stored elsewhere in

    memory. Primitive types such as char, int and float, as well as enumerated values andstructures, are value types. Reference types hold variables that deal with objects andarrays. C# comes with predefined reference types (object and string), as well aspredefined value types (sbyte, short,int, long, byte, ushort, uint, ulong, float, double,bool, char, and decimal). You can also define your own value and reference types inyour code. All value and reference types ultimately derive from a base type called object.

    C# allows you to convert a value of one type into a value of another type. Youcan work with both implicit conversions and explicit conversions. Implicit conversionsalways succeed and don't lose any information (for example, you can convert an int to along without losing any data because a long is larger than an int). Explicit conversionsmay cause you to lose data (for example, converting a long into an int may result in aloss of data because a long can hold larger values than an int). You must write a cast

    operator into your code to make an explicit conversion happen.You can work with both one-dimensional and multidimensional arrays in C#.Multidimensional arrays can be rectangular, in which each of the arrays has the sameDimensions, or jagged, in which each of the arrays has different dimensions. Classesand structures can have data members calledproperties and fields. Fields are variablesthat are associated with the enclosing class or structure. Properties are like fields, butenable you to write code to specify what should happen when code accesses the value.If the employee's name must be read from a database, for example, you can write codethat says, "When someone asks for the value of the Name property, read the name fromthe database and return the name as a string."

    Functions

    A function is a callable piece of code that may or may not return a value to the code thatoriginally called it. An example of a function would be the FullName function shownearlier, in this chapter, in the Family class. A function is generally associated to pieces ofcode that return information whereas a method generally does not return information.For our purposes however, we generalize and refer to them both as functions.

    C# and the CLR work together to provide automatic memory management. Youdon't need to write code that says "allocate enough memory for an integer" or "free thememory that this object was using." The CLR monitors your memory usage andautomatically retrieves more when you need it. It also frees memory automatically whenit detects that it is no longer being used (this is also known as Garbage Collection).C#provides a variety of operators that enable you to write mathematical and bitwiseexpressions. Many (but not all) of these operators can be redefined, enabling you to

    change how the operators work. Classes can contain code and data. Each classmember has something called an accessibility scope, which defines the member'svisibility to other objects.

    VariablesVariables can be defined as constants. Constants have values that cannot changeduring the execution of your code. The value of pi, for instance, is a good example of aconstant, because its value won't be changing as your code runs. Enum type

    33

  • 8/6/2019 Xplore Jobs

    34/85

    declarations specify a type name for a related group of constants. C# provides a built-inmechanism for defining and handling events. If you write a class that performs a lengthyoperation, you may want to invoke an event when the operation is completed. Clientscan subscribe to that event and catch the event in their code, which enables them to benotified when you have completed your lengthy operation. The event handlingmechanism in C# uses delegates, which are variables that reference a function. Note an

    event handler is a procedure in your code that determines the actions to be performedwhen an event occurs, such as the user clicking a button. If your class holds a set ofvalues, clients may want to access the values as if your class were an array. You canwrite a piece of code called an indexerto enable your class to be accessed as if it werean array. Suppose you write a class called Rainbow, for example, that contains a set ofthe colors in the rainbow. Callers may want to write MyRainbow [0] to retrieve the firstcolor in the rainbow. You can write an indexer into your Rainbow class to define whatshould be returned when the caller accesses your class, as if it were an array of values.

    InterfacesC# supports interfaces, which are groups of properties, methods, and events that specifya set of functionality. C# classes can implement interfaces, which tell users that the class

    supports the set of functionality documented by the interface. You can developimplementations of interfaces without interfering with any existing code, which minimizescompatibility problems. Once an interface has been published, it cannot be changed, butit can evolve through inheritance. C# classes can implement many interfaces, althoughthe classes can only inherit from a single base class.

    AttributesAttributes declare additional information about your class to the CLR. In the past, if youWanted to make your class self-describing, you had to take a disconnected approach inwhich the documentation was stored in external files such as IDL or even HTML files.Attributes solve this problem by enabling you, the developer, to bind information toclasses any kind of information. For example, you can use an attribute to embed

    documentation information into a class. Attributes can also be used to bind runtimeinformation to a class, defining how it should act when used. The possibilities areendless, which is why Microsoft includes many predefined attributes within the .NETFramework.

    SQL SERVER 2005A database is stored in a very structured manner. Each database requires some way fora user to interact with the information within. Such interaction is performed by adatabase management system (DBMS). SQL Server is a member of a large category ofproducts known as database management systems (DBMS). The general purpose of aDBMS is to provide for the definition, storage, and management of data in a centralized

    area that can be shared by many users. SQL Servers database management system ispatterned on the relational model. Relational databases allow us to store vast amountsof data with far sampler maintenance and smaller storage requirements than theequivalent flat database. Relations among tables in a relational database are establishedusing keys. A primary key is a field that uniquely identifies a record so it can bereferenced from a related table. A foreign key is a field that holds identification values torelate records stored on other tables.

    Querying the database

    34

  • 8/6/2019 Xplore Jobs

    35/85

    With each query of the database, we form a virtual table that contains the results of ourquery. Database queries are made with a specific language named SQL (structuredquery language).

    SQL Server 2000 has many performance improvements and features whichallows us to build and manage large databases, query them fast, insert data into them athigh rates, partition them for fast loading and backup and store very large objects or

    whole files. Central, Shared, Accessible, Backed up, Version etc.. SQL, as a relationaldata language supports certain basic functions to control, define and manipulate data.SQL uses the term row to refer to a database record and the term column to refer todatabase field

    The Data type that a Cell can hold

    Data Type DescriptionCHAR (size)

    :

    This data type is used to store character strings valuesof fixed length. The size in brackets determines thenumber of characters the cell can hold. The maximumnumber of characters this data type can hold is 255characters

    VARCHAR (size) : This data type is used to store variable lengthalphanumeric data. The maximum this data type canhold is 2000 character.

    int (P, S) : The int data type is used to store numbers (fixed offloating point). Numbers of virtually any magnitudemay be stored up to 10 digits of precision.

    DATE : This data type is used to represent data and time. Thestandard format is DD-MM-YY as in 24-JAN-03. Toenter dates other than the standard format, use theappropriate functions. Date Time stores date in the 24-hour format.

    LONG : This data type is used to store variable length characterstrings containing up to 2GB. LONG data can be storearrays of binary data in ASCII format.

    SYSTEM DESIGNSystem development can generally be through of as having two major

    components Analysis and Design. Systems development consists of followingactivities:

    Preliminary investigation.

    Determination of system requirements.

    Design of system.

    Development of software.

    System testing.

    Implementation and evaluation.

    35

  • 8/6/2019 Xplore Jobs

    36/85

    AnalysisSystem analysis is conducted with the following objectives:

    Identify the users need.

    Evaluate the system concept for feasibility.

    Perform economic and technical analysis.

    Allocate functions to hardware, software, people, database and other systemelements.

    Establish cost and schedule constraints.Both hardware and software expertise are required to successfully attain the objectiveslisted above.

    System DesignSoftware design is a multi step process, which focuses on distinct attributes of program:data structure, software architecture, interface representation, and procedural detail. Thedesign process translates requirements into a representation of the software that can beassessed for quality before coding begins. According to requirement, the design isdocumented. The design must be translated into a machine-readable form. The code

    generation step perform this task .If design is performed in a detailed manner; codegeneration can be accomplished.

    The design phase is the first step while moving from the problem domain tosolution domain. This phase begins when the requirement specification document for thenewly developing system is available. The aim of this phase is to produce a model or arepresentation of the system, which is useful to have an overall look of the systemwithout even developing the entire system. This model of the system is a plan fordeveloping the system. There are three characteristics for the evaluation of a gooddesign.

    The design should implement all the requirements of the user, which are specified inthe SRS and it must accommodate all the requirements that may not be specified by

    the Recruiter in the analysis phase. The design should be readable and understandable for the people who involve in

    developing and testing the system.

    The design should provide a complete picture of the system, addressing the datafunctional domains from the implementation perspective.

    36

  • 8/6/2019 Xplore Jobs

    37/85

    JobseekerXplore-jobs

    DESIGN METHODOLOGY

    The following approach is used to design this system, which is called iterativewaterfall model. It is same as waterfall model but the deference is that we can go reverse

    to any phase during any phase:-

    1. System / information engineering and modeling.

    2. Software requirement analysis.

    3. Design.

    4. Code generation.5. Testing.

    6. Maintenance.

    Data Flow Diagram

    Zero Level DFD:

    37

    Recruiter

    System

    Analysis

    Design

    Code

    Testing

    Maintenance

  • 8/6/2019 Xplore Jobs

    38/85

  • 8/6/2019 Xplore Jobs

    39/85

    39

    RECRUITER Xplore-JobsPlacerequirement

    RECRUITERGenerate

    jobspecification

    categorywise

    Job entry

    Sent toconsultant

    Xplore-Jobs

    JOBSEEKER Placeresume

    Xplore-Jobs

    JOBSEEKERGather

    informationabout

    consultant

  • 8/6/2019 Xplore Jobs

    40/85

    40

    Xplore-Jobs

    Prepareresume

    according tojob profile

    Enterpersonal

    andtechnical

    informationSendresume

    Xplore-Jobs JOBSEEKERContact

    JOBSEEKER

    Xplore-Jobs

    Match thejob

    requirement with

    resume

    Contactthroughphone/e-

    mail

    Xplore-Jobs

    Selectapplicant

    according tojob profile

  • 8/6/2019 Xplore Jobs

    41/85

    41

    Sendinformation

    about the

    applicant to

    RECRUITER

    RECRUITERTake

    Interview ofJOBSEEKER

    JOBSEEKER

    RECRUITERSelecting

    applicant sendby consultant

    FixInterviews

    Inform to

    applicant

    FinalSelection

    Xplore-Jobs RECRUITERInvoice

  • 8/6/2019 Xplore Jobs

    42/85

    DATABASE DESIGNA database management system (DBMS) consists of a collection of interrelated dataand a set of programs to access those data. The collection of data, usually referred to asthe database, contains information about one particular enterprise. The primary goal of aDBMS is to provide an environment that is both convenient and efficient to use inretrieving and sorting database information.

    Database systems are designed to manage large bodies of information. Themanagement of data involves both the definition of storage of information and theprovision of mechanisms for the manipulation of information. We used relationaldatabase management system (RDBMS) for developing this system. The goal of arelational- database management system (RDBMS) design is to generate a set of

    42

    Xplore-Jobs Prepare in-novice ofApplicant

    RECRUITER

    RECRUITER Xplore-JobsPayment toconsultant

    RECRUITER

    Xplore-Jobs

    Check theinvoice

    against therequirement

    Makepayment

    accordingly

    RECRUITER Xplore-Jobs

    Sendinginformation

    aboutselection ofapplicant

  • 8/6/2019 Xplore Jobs

    43/85

  • 8/6/2019 Xplore Jobs

    44/85

    CompanyLogin table

    Companydetails table

    44

  • 8/6/2019 Xplore Jobs

    45/85

    Jobdetails table

    Jobuserdetails table

    jobseekerdetails table

    45

  • 8/6/2019 Xplore Jobs

    46/85

  • 8/6/2019 Xplore Jobs

    47/85

  • 8/6/2019 Xplore Jobs

    48/85

    48

  • 8/6/2019 Xplore Jobs

    49/85

    RELATIONSHIP IN TABLES

    49

  • 8/6/2019 Xplore Jobs

    50/85

  • 8/6/2019 Xplore Jobs

    51/85

    SCREENS SHOTSSCREENS SHOTS

    51

  • 8/6/2019 Xplore Jobs

    52/85

    Home page of the site

    52

  • 8/6/2019 Xplore Jobs

    53/85

    Jobseeker Login page of the site

    53

  • 8/6/2019 Xplore Jobs

    54/85

    Registration page of the Jobseeker

    54

  • 8/6/2019 Xplore Jobs

    55/85

    Registration page of the Jobseeker

    55

  • 8/6/2019 Xplore Jobs

    56/85

    Registration page of the Jobseeker

    56

  • 8/6/2019 Xplore Jobs

    57/85

    Registration page of the Jobseeker

    57

  • 8/6/2019 Xplore Jobs

    58/85

    User Account after login

    58

  • 8/6/2019 Xplore Jobs

    59/85

    Page for block the company by user

    59

  • 8/6/2019 Xplore Jobs

    60/85

    Logout page of the site

    60

  • 8/6/2019 Xplore Jobs

    61/85

  • 8/6/2019 Xplore Jobs

    62/85

    Recruiter Registration

    62

  • 8/6/2019 Xplore Jobs

    63/85

  • 8/6/2019 Xplore Jobs

    64/85

    Successful Recruiter Registration page of the site

    64

  • 8/6/2019 Xplore Jobs

    65/85

    Forgot password page of the site

    65

  • 8/6/2019 Xplore Jobs

    66/85

    66

  • 8/6/2019 Xplore Jobs

    67/85

    Search Job Page

    67

  • 8/6/2019 Xplore Jobs

    68/85

  • 8/6/2019 Xplore Jobs

    69/85

    Post Job page of the site

    69

  • 8/6/2019 Xplore Jobs

    70/85

    TESTING STRATEGIES

    TESTING TECHNIQUE AND TESTING Strategies

    There are following rules that can serve well as testing objectives:i ) Tes t i ng i s a p rocess o f e xecu t i ng a p rogram w it h t he

    in ten t o f f ind ing an e r ro r .i i) A g ood t es t c ase i s one t ha t h as a h igh p robab i l i t y of

    f ind ing an as -ye t -und iscovered e r ro r .i i i ) A success fu l t es t i s one t hat uncover s as -yet -

    und iscovered e r ro r .There a re two types o f tes t ing techn iques :

    i ) Wh i te box t es t i ng .i i ) B lack box tes t ing .

    White box testing :W hi te b ox t es t f oc us o n t he p ro gr am c on tr ol

    s t ru c tu re . Te s t ca se s a re d e r i ve d t o e n su re t h a t a l l s t a te me nt i n t h e p rogram has been execu ted a t leas t once dur ing tes t ing and tha t a l l l o g ic a l c o nd i t i on h a s b e e n e x e rc i s ed . B a si c p a t h t e s t i ng , a w h i teb ox t es t i ng , m ak es u se o f p ro gr am g ra ph t o d er iv e t he s et o f l i n e a r l y i n d e p e n d e nt t e s t t h a t w i l l e n su re co ve ra g e.

    Condit ion Testing :

    C o nd i ti o n t es t in g i s t e st s c a se d es i gn m et h od t h at e xe r ci s e t h elo g i ca l co n d i t i o n s co n ta in i n a p ro g ra m mo d u le . a s imp le co n d i t i o nis a Boo lean va r iab le o r a re la t iona l exp ress ion .

    Branch Testing :I h a ve u se d B ra n ch t e s t i n g i s p ro b a b ly t h e f o r co m p o u n d co n d i t i o n ,the t rue and fa lse ( in p ro jec t i .e . nu l l va lues) fo r each b ranch .

    Data Flow Testing :I h a v e u s e d d a t a f l o w t e s t i n g d u e t o c h e c k t h e p a t h o f p r o g r a ma cco rd in g t o t h e l o ca t i o n s o f d e f i n i t i o n s a n d u se s o f va r i a b le s i n t h eprogram.

    Loop Testing:

    I n o u r p r o j e c t I h a v e u s e o n l y s i m p l e l o o p. A n d I h a ve u s e m p a ssth rough the loop where m

  • 8/6/2019 Xplore Jobs

    71/85

  • 8/6/2019 Xplore Jobs

    72/85

    pe rsons o the r than the deve loper h imse l f . i f some changes werede s i red i n t he p rogram the developer were required to use another setup.Retrieve, which copied back the latest version of the program to developer areas.

    As in this system data is entered at different levels I considered providing various typesof checks like range check, validity check, completeness check etc. in different dataentry screens according to the requirements.

    Since the user are not familiar to the new system the data screens were designed insuch a way that were-.

    consistent

    easy to use

    has a fast response timeThe following convention were used while designing the various screen:

    Unit Testing:In unit testing I have testing a single program module in an isolated environment.

    Testing of the processing procedures is the main focus.

    Integration Testing:Because of interfaces among the system modules, we use integrat ion

    test ing. In o ther word s i t ensures that the data moving between themodules is handled as intended .

    System Testing:System testing is the testing of the system against its init ial objective. I tis done either in a simulated environment or in l ive environment.

    Test Review:Test rev iew is the process that ensures that test ing is carr ied out asplanned. Test review decides whether or not the program is ready to beshipper out for implementation

    Security Testing:Security testing attempt to verify that protection mechanism built into a system

    will, in fact, protect it form penetration mechanisms.

    SYSTEM IMPLEMENTATION

    Imp lementa t ion is the p rocess o f hav ing sys tem personne l check ou ta nd p ut n ew e qu ip me nt i nt o u se t ra in u se rs i ns ta ll t he n ewapp l ica t ion and cons t ruc t any f i les o f da ta needed to use i t .D e p e n d i n g o n t h e s i z e o f t h e o r g a n i z a t i o n t h a t w i l l b e i n v o l v e d i nus ing t he app l ica t io n and t he r isk as soc ia t ed w it h i t s usedeve lopers may choose

    T o p il ot t he o pe ra ti on i n o nl y o ne a re a o f t he f ir m s ay i n o ned e p a r t m e n t o r w i t h o n l y o n e o r t w o p e r s o n s . S o m e t i m e s t h e y w i l lrun the o ld and new sys tems toge ther to compare the resu l t s . In s t i l lo t h e r s i t u a t i o n s d e ve lo p e rs w i l l s t o p u s in g t h e o ld sys te m o n e -d a yan d beg in to use t he new one t he nex t day . Anyway eachimp lementa t ion s t ra tegy has i t s mer i t sD ep en di ng o n t he C li ni c s it ua ti on i n w hi ch i t i s c on si de re d.Re g a rd le ss o f t h e im p le m en ta t i o n s t ra te g y u se d d e ve lo p e rs s t r i ve t oe n su re t h a t t h e sys te m s in i t i a l l y u se d i s t ro u b le f re e .

    72

  • 8/6/2019 Xplore Jobs

    73/85

    On ce in s ta l l e d a p p l i ca t i o n s a re o f t e n u se d f o r m a n y ye a rs . Ho we ve r b o th t h e o rg a n i za t i o n a n d t h e u se r w i l l ch a n g e a n d t h e e n v i ro n m e ntw i l l b e d i f f e re n t o ve r we e ks a n d m o n th s . Th e re fo re t h e a p p l i ca t i o nw i l l b e d i f f e re n t o ve r we e ks a n d m o n th s . Th e re fo re t h e a p p l i ca t i o nw i l l u n d o u b te d l y h a ve t o b e m a in ta in e d . Mo d i f i ca t i o n s a n d ch a n g e sw i l l b e m a d e t o so f twa re , f i l e s o r p ro ce d ure s t o m e e t e m e rg in g u se r

    r e qu i re me nt s . S in c e o r ga ni z at i on s y st em s a nd t he S ha r eB az a r e n v ir o n me n t u n de r g o c o n ti n u al c h a ng e , t h e i n f or m a ti o n s y s te m ss ho ul d k ee p p ac e. I n t hi s s en se i mp le me nt at io ns a n o ng oi ngp ro ce ss .

    DATA LOADING

    1 -Th e wh o le d a ta b a se c re a te d e a r l i e r f o r d e ve lo p m e nt p u rp o se wa s

    d ro p p e d a n d t h e n u s in g ca se t o o l s t h e e n t i r e d a ta b a se wa s f re sh l y

    c rea ted .

    2 -Re q u i re d d a ta f i l e s e xe cu ta b le s sc r i p t s we re re le a se d i n to c l i e n t

    se rve r f rom the deve loper mach ine .

    USER TRAINING

    U s e r s o f t h e p r o p o s e d s y s t e m h a d a l r e a d y t h e f e e l o f t h e s y s t e mdu r ing t he deve lopment s tages . They wer e g i ven user documenta t ion , wh ich gave them the exac t s teps to be pe r fo rmed fo r g e t t i n g t h e i r j o b d o n e s ta r t i n g f ro m g e t t i n g t h e t e rm in a l s o n . Mo s t o f t h e u s e r s w e r e q u i ck t o g e t t h e i r j o b d o n e i n a r i g h t w a y a f t er t h eve ry f i r s t t r a in in g c la ss . Th e y we re g i ve n t h e e xp l i c i t a d va n ta ge s o f the new sys tem and a lso the a reas i t was hav ing shor tcomings .A f t e r t h i s wa s t h e s ta b i l i z i n g t h e sys te m a s t h e u se rs s ta r t e d t o g i vei n n ew s u gg es t io ns a nd r e qu i re me nt s . F or u s t h e m ai n te na nc ephase had begun .

    Scope of future enhancement

    I t i s u n re a so na b le t o co n s id e r a co m p ute r b a se d i n fo rm a t io n sys te mco m p le te o r f i n i sh e d ; t h e sys te m co n t i n u e s t o e vo l ve t h ro u g h o ut i t sl i f e cyc le , e ve n i f i t s su cce ss fu l . Du e t o t h e c re a t i ve n a tu re o f t h ed es ig n, t he re r em ai n s om e l ap se s i na cc ur at e c om mu ni ca ti on s

    b e t w e e n t h e u s e r s a n d t h e d e v e l o p e r s . S o , c e r t a i n a s p e c t s o f t h es y s t em m u s t b e m o di f i e d a s o p er a t i on a l e x pe r i e nc e i s g a i ne d w i t hi t . A s u s e r s w or k w i t h t h e s y s te m , t h ey d e v e lo p i d e as f o r c h a n geand enhancements .

    Maintenance of the project is very easy due to its modular design and conceptany modification can be done very easily. All the data are stored in the software as peruser need & if user wants to change he has to change that particular data, as it will bereflected in the software every where. Some of the maintenance applied is: -

    73

  • 8/6/2019 Xplore Jobs

    74/85

  • 8/6/2019 Xplore Jobs

    75/85

  • 8/6/2019 Xplore Jobs

    76/85

  • 8/6/2019 Xplore Jobs

    77/85

    NTLM/Kerberos) in addition to the ASP.NET built-in authentication solutions(Passport and Cookie).

    Authorizationonce a client request is authenticated, authorizationdetermines whether this identity is allowed to have access to the requestedresource.

    Impersonationthrough impersonation ASP.NET applications can get theidentity of a client and behave like the client on whose behalf they are nowoperating.

    Code Access SecurityIn ASP.NET you can make use of .NET Framework features. So you haveaccess to the security solutions that the runtime provides. These are, forexample, code access or role-based security. Code access security is a way toprotect your server from malicious mobile code and allows benevolent mobilecode to run safely. Code access security gives you an answer to the question:Are you the code you told me you were?The presented security solutions only work for ASP.NET resources. Other filestypes such as .gif, .txt, or .asp are still accessible, but you can map such filesexplicitly to the ASP.NET security system by configuring IIS.

    AUTHENTICATIONASP.NET supports three authentication providers. These providers validate thecredentials a client sends along with a request against some authority. If thecredentials are valid, an authenticated identity is given to the client.The three providers are:

    Windows authentication, which works hand in hand with IIS security.

    Passport authentication, which is a centralized authentication servicepro