4/25/2014 3:57:00 PM ISDS 4125 4/25/2014 Student Job Search Project Team 2 Christopher Gora, John Latiolais, William Middleton Spring 2014 Table of Contents Cover Letter Table of Contents……………………………………………………… 2 Executive Summary ………………………………………………….3 System Request ………………………………………………………..3-4 Work Plan ………………………………………………………………….5 Feasibility Analysis …………………………………………………….5-6 Requirements Definition …………………………………………..6-7 Use Cases ………………………………………………………………….7-17 Process Model …………………………………………………………….18-21 Data Model …………………………………………………………………22-23 Alternative Matrix ……………………………………………………..24 Architecture Design …………………………………………………..25 Hardware and Software Specifications …………………….26 Interface Design ……………………………………………………….26-31 Physical Process Model …………………………………………….32 Structure Chart ………………………………………………………..33 Physical Data Model/E-R Diagram ……………………………34 CRUD Matrix ……………………………………………………………..35 Data Storage Design ………………………………………………..36 Program Specifications …………………………………………………….36-43 Completed Programs …………………………………………………….43-50 Completed Programs …………………………………………………….50-51 Test Plans …………………………………………………….51-55 Executive Summary These days every graduate must compete for job openings in their field with students from other schools as well as individuals already in the workforce. By implementing a job search engine for ISDS graduates, LSU students will have the upper hand in finding possible job opportunities in their degree path as well as level of experience. The search engine will allow users to find jobs specific to their degree and particular areas of interest. With Careers2Geaux, searches are too broad and confusing. Students have to spend hours sorting through poorly delivered searches. This student job search will only display jobs posted by the instructor that were received from employers contacting the school. The application would be inexpensive and easy to maintain. It will allow both students as well as graduates to take advantage of the LSU oriented application. After logging in with your PAWS ID, users would be able to change their e-mail address on file. From the main page the user will see the most recent job postings. Along the side there will be a keyword search as well as combo boxes to filter results. Students will contact the employer external to the application. System Request Project Name: Job Matching System Project Sponsor: Carolyn Borne, Internship Coordinator Business Need: This project has been initiated to improve the job placement process for both employers as well as the student/user seeing internships as well as full-time positions. LSU currently uses a system called Careers 2 Geaux, which has several distinct limitations which could be fixed quite easily. Business Requirements: The employer will post a job to the web. When creating the post, the employer will be able to select the desired skills/major required for the job posting. The student will then use the web and use their created profile (containing their various skills/job preferences) and apply for which job they desire. Students will use the job postings as well as information in the description to decide which positions to apply for. Students will be able to leave comments to employers as well as other student users. The system will record where the students are employed. Business Value: Tangible: The ISDS department will have a record of all the students and jobs as well as jobs applied for. Employers will be able to be more specific for their desired position. Students will be able to view this information at any time as well as receive push notifications periodically. Intangible: The students will be better aware of career opportunities Improved satisfaction and convenience for the student/employer Special Issues or Constraints: The project must be finished by the spring semester. This is viewed as a specific need of the ISDS students and is to be used along with, as well as an improvement of Careers 2 Geaux. Work plan Feasibility Analysis Technical Feasibility: The ISDS specific job search engine is technically feasible. It is will require extensive planning to ensure little rework for the completed product. Maintenance and upkeep will be essential to the success, speed and overall final product. Careers2Geaux is an example of a poorly delivered job search engine. The criteria and searches are too broad and not precise enough for a graduate to perform an efficient search. There are several other powerful job search engines such as monster and job builder that do work but are not directed at the graduate. Since the ISDS department usually receives or hears about most job opportunities, they are best suited to provide a connection between the graduate and their future employer. Overall there is very low risk to the final product. The few issues that could be risky are if the form did not provide the correct jobs to the student or failed to promote the jobs that are posted. Economic Feasibility: Since this product is being developed internally to the LSU ISDS program, there is no political gain to be made except for the graduate after they have received the job. There is no price involved in the upkeep except for the instructor’s time. Organizational Feasibility: This project has low organizational risk; it is more of a tool to be used by ISDS graduates to find potential jobs suited for them. Since there are job fairs, internships and other search engines available to assist, the student will not be at a high risk of missing out their next potential job. Additional Comments: The overall project will be a much needed improvement over careers2Geaux as far as ISDS students are concerned. It needs to be planned out and have useful functionality. The system should not require constant upkeep and upgrading due to the overall goal of fixing the problem, not making it bigger. Requirements Definition Functional Requirements 1 Input 1.1 1.2 1.3 1.4 The system will allow users to log in with just their PAWS ID. The system will allow users to change their e-mail address. The system will allow users to search ISDS degree specific job opportunities. The system will allow users to modify the search parameters to specific areas of interest. 1.5 The system will allow users to modify the search parameters to specific states. 1.6 The system will allow users to filter their searches by type of job position. 1.7 The system allows the user to compare their top three job choices. 1.8 The system allows the user to clear all search parameters 1.9 The system will allow users to search by date of job posting 1.10 The system allows the user to filter year of experience per areas of interest. 1.11 The system allows the users to add their e-mail address to a search parameter for when a job opportunity is not present. 1.12 The user will be able to print job listings 1.13 The user will be able to e-mail the job listing. 2 Output 2.1 The system allows users to e-mail the job posting to two separate e-mail addresses 2.2 The system will allow users to respond to a job posting and attach their resume. Non-Functional Requirements 1 2 3 4 Operational 1.1 The system will be available to all users on the LSU intranet 1.2 The system will work with both a MAC or a PC computer 1.3 All job will be organized upon search criteria 1.4 All job postings will by newest posts first. Performance 2.1 The system will function upon the users selection and preferences 2.2 The user is able to restart searches or remove previous criteria. Security 3.1 There will be no user credential except for being connected to the LSU intranet Cultural and Political 4.1 The application will allow ISDS graduates an easier platform to search job specific criteria. Use Cases Student Job Search Author (s): 4125 Group USE CASE NAME: Create New Profile Date: 2/26/14 PRIMARY BUSINESS User/Administrator ACTOR: OTHER PARTICIAPTING Employers ACTORS: DESCRIPTION: This use-case describes the event of a student job search program, which allows the user/administrator to create an active profile for the job search program. The user will create a profile which will then become the verification required for each time the user logs into the program. A new user will be prompted to create a profile and select “create profile”. The user will input all of the information requested for on the create profile page and then select “confirm”. PRE-CONDITION: The user logging into the system must either be an LSU student/alumni or be an administrator to create a profile. TRIGGER: The user has saved the profile information and is now able to log in/out of the job search program. TYPICAL COURSE OF EVENTS: Actor Action System Response Step 1: The user accesses the Step 2: The system prompts the user to log website. in or create a profile. Step 3: The user clicks on the Step 4: The system prompts the user with “create profile” button. the create profile form. Step 5: The user inputs all Step 6: The system confirms all required required information and saves fields are completed in the correct format. the profile information. Step 7: The application is saved and a new row is inserted into the table. Step 8: Once the application is successfully saved the system prompts the user with a textbox to confirm the addition. Step 9: The user is now able to log in/out of the job search program. ALTERNATE COURSES: Alt Course 1: The user failed to fill out all fields on the data input form. The system informs the user all required fields must be filled out before they are able to proceed. CONCLUSION: The case concludes with the user receiving a textbox to confirm the successfully saved addition. POST-CONDITION: The record is created and is now available for use. BUSINESS RULES n/a IMPLEMENTATION n/a CONTRAINTS AND SPECIFICATIONS ASSUMPTIONS: n/a OPEN ISSUES: n/a Corresponding Forms Update a Table, Search for job listing and Reports: USE CASE NAME: Update a Table PRIMARY BUSINESS Administrator ACTOR: DESCRIPTION: This use-case describes the event of an administrator updating the record of students/alumni. When the administrator logs into the system their information will be verified before they may proceed. The user will then select the desired hyperlink and will be prompted with a search box. The user will then be able to search any criteria necessary to find their search and the system with respond with matches from the database. A form will be prompted containing the current information in the table and is able to be edited. The user will change the necessary information and select save, which updated the record in the table. PRE-CONDITION: The user logging into the system must an employer administrator of the company profile. TRIGGER: The employer administrator edits or posts a job listing, or edits a student/alumni’s record. TYPICAL COURSE OF EVENTS: Actor Action System Response Step 1: The user accesses the Step 2: The system verifies the user’s website and enters required information and the user is granted access information to the website. Step 3: The user clicks on the Step 4: The system prompts the user with a desired hyperlink and selects search box allowing them to find the record search. to be edited. Step 5: The user will input the Step 6: The system returns all records necessary search criteria then matching the input criteria. select search. Step 7: The user edits information Step 8: The system confirms all required in the record and the selects fields are completed in the correct format. save. Step 9: The record is saved and the row is updated in the table. Step 10: Once the record is successfully saved the system prompts the user with a textbox to confirm the update. ALTERNATE COURSES: Alt Course 1: The user’s login fails. The system returns an error message informing them their credentials are invalid. Alt Course 2: The system fails to find any matches in the database with the input criteria and prompts the user to enter the correct criteria. Alt Course 3: The user failed to fill out all fields on the data input form. The system informs the user all required fields must be filled out before they are able to proceed. CONCLUSION: The case concludes with the user receiving a textbox to confirm the successfully updated record. POST-CONDITION: The record is updated and is now available for use. BUSINESS RULES n/a IMPLEMENTATION n/a CONTRAINTS AND SPECIFICATIONS ASSUMPTIONS: n/a OPEN ISSUES: n/a Corresponding Forms Student Report and Reports: USE CASE NAME: Update a Table PRIMARY BUSINESS User ACTOR: DESCRIPTION: This use-case describes the event of a user updating their email listed in their profile. When the user logs in they will be prompted to login with their required information. The user will then select “edit profile”. The user will change their email required for login to the email of their preference, then select “save”. The system will save the information and update the record in the table. PRE-CONDITION: The user logging into the system must have a current profile with the system. TRIGGER: The user selects “save” on the profile information. TYPICAL COURSE OF EVENTS: Actor Action System Response Step 1: The user accesses the Step 2: The system verifies the user’s website and enters required information and the user is granted access information to the website. Step 3: The user clicks on “edit Step 4: The system prompts the user with profile”. information able to be edited. Step 5: The user will edit their Step 6: The system confirms all required profile information to their fields are completed in the correct format. preference and select “save”. Step 7: The record is saved and the row is updated in the table. Step 8: Once the record is successfully saved the system prompts the user with a textbox to confirm the update. ALTERNATE COURSES: Alt Course 1: The user’s login fails. The system returns an error message informing them their credentials are invalid. Alt Course 2: The system fails to find any matches in the database with the input criteria and prompts the user to enter the correct criteria. Alt Course 3: The user failed to fill out all fields on the data input form. The system informs the user all required fields must be filled out before they are able to proceed. Alt Course 4: The user inputs an invalid email. The system prompts the user to enter a valid email before they are able to proceed. CONCLUSION: The case concludes with the user receiving a textbox to confirm the successfully updated record. POST-CONDITION: The record is updated and is now available for use. BUSINESS RULES n/a IMPLEMENTATION n/a CONTRAINTS AND SPECIFICATIONS ASSUMPTIONS: n/a OPEN ISSUES: n/a Corresponding Forms Student Report and Reports: USE CASE NAME: Run Reports PRIMARY BUSINESS Administrator ACTOR: DESCRIPTION: This use-case describes the event of an administrator searching for the record of students/alumni. Once the user logs in and their information is verified they click search. The user is then prompted with a search box allowing them to input necessary criteria to find the record. The user will expand the dropdown menu from the reporting tab and select the information they generate to report. Once the correct option has been selected the appropriate report will be created. PRE-CONDITION: The user logging into the system must an employer administrator of the company profile. TRIGGER: The employer administrator needs to see as well as select from a dropdown menu providing them with information TYPICAL COURSE OF EVENTS: Actor Action System Response Step 1: The user accesses the Step 2: The system verifies the user’s website and logs in with their information and the user is granted access information. to the website. Step 3: The user expands the Step 4: The system will create a report for dropdown menu and selects from the record. the information. ALTERNATE COURSES: Alt Course 1: The user’s login fails. The system returns an error message informing them their credentials are invalid. CONCLUSION: The case concludes with the user viewing the report that was just created. POST-CONDITION: The record is created and is now available for use. BUSINESS RULES n/a IMPLEMENTATION n/a CONTRAINTS AND SPECIFICATIONS ASSUMPTIONS: n/a OPEN ISSUES: n/a USE CASE NAME: Create Job Listing PRIMARY BUSINESS Administrator ACTOR: DESCRIPTION: This use-case describes the event of an administrator creating a job listing for student/alumni. When the administrator logs into the system their information will be verified before they may proceed. The administrator will select the desired hyperlink and will then be prompted with a job listing information form. The administrator will then input all desired information into the form and select “save”. The system will then add a record to a table and then be available to all student/alumni users for access. PRE-CONDITION: The user logging into the system must be a system administrator. TRIGGER: The administrator selects “save” on the job listing information form. TYPICAL COURSE OF EVENTS: Actor Action System Response Step 1: The administrator Step 2: The system verifies the user’s accesses the website and enters information and the user is granted access required information to the website. Step 3: The administrator clicks Step 4: The system prompts the user with a on “create job listing”. form requiring information to be input about the job listing. Step 5: The administrator will Step 6: The system confirms all required input the necessary information fields are completed in the correct format. into the form and select “save”. Step 7: The record is saved and the row is updated in the table. Step 8: Once the record is successfully saved the system prompts the user with a textbox to confirm the update. Step 9: Once the record is successfully saved the system prompts the user with a textbox to confirm the update. ALTERNATE COURSES: Alt Course 1: The user’s login fails. The system returns an error message informing them their credentials are invalid. Alt Course 2: The user failed to fill out all fields on the job listing input form. The system informs the user all required fields must be filled out before they are able to proceed. CONCLUSION: The case concludes with the user receiving a textbox to confirm the successfully updated record. POST-CONDITION: The record is updated and is now available for use. BUSINESS RULES n/a IMPLEMENTATION n/a CONTRAINTS AND SPECIFICATIONS ASSUMPTIONS: n/a OPEN ISSUES: n/a Corresponding Forms Student Report, Update a Record and Reports: USE CASE NAME: Search for Job Listing PRIMARY BUSINESS User, Administrator ACTOR: DESCRIPTION: This use-case describes the event of a user/administrator searching for a job listing in the program. When the user/administrator gets to the program they will be prompted to input their profile information. After their information is verified, the user will be granted access to the system. The user will then select “search job listing”, and will then be prompted by a search job listing form. The user will be able to input any criteria necessary to find the desired job and select “search”. The system will respond with any matches, and the job listing will be able to be printed. PRE-CONDITION: The user logging into the system must a student/alumni or administrator. TRIGGER: The user selects “search”. TYPICAL COURSE OF EVENTS: Actor Action System Response Step 1: The user accesses the Step 2: The system verifies the user’s website and enters required information and the user is granted access information to the website. Step 3: The user clicks on the Step 4: The system prompts the user with a “search job listing”. job listing search form. Step 5: The user will input the Step 6: The system returns all records necessary search criteria then matching the input criteria. select search. Step 7: The user selects the Step 8: The system responds to the user’s desired match and after reviewing request. The system wither prompts the information selects “Apply”, user with an application, prints the listing, or “Print”, or “Exit”. exits the listing. Step 9: Once the user submits an application, the table is updated and saved. Step 10: The user receives a textbox confirmation of a successful application addition. ALTERNATE COURSES: Alt Course 1: The user’s login fails. The system returns an error message informing them their credentials are invalid. Alt Course 2: The system fails to find any matches in the database with the input criteria and prompts the user to enter the correct criteria. Alt Course 3: The user failed to fill out all fields on the data input form. The system informs the user all required fields must be filled out before they are able to proceed. CONCLUSION: The case concludes with the user receiving a textbox to confirm the successfully updated record. POST-CONDITION: The record is updated and is now available for use. BUSINESS RULES n/a IMPLEMENTATION n/a CONTRAINTS AND SPECIFICATIONS ASSUMPTIONS: n/a OPEN ISSUES: n/a Corresponding Forms Run Reports, Update a Table and Reports: Use Case Create Profile Search for Job Listings Run Reports User Administrator Create Job Listings Update tables Process Model DFD Context DFD Level 0 DFD Level 1 DFD Level 2 Data Model Users Instructor Students o PAWS ID o E-mail address Employers Listing ID Employer ID E-mail address Location Start Date Salary Type of Hire Years of experience Required skills Required degree Job Attributes Location o States Skills o Programming and Application Development o Help Desk and Technical Support o Networking o Mobile Applications and Device Management o Project Management o Database Administration o Security o Business Intelligence/Analytics o Cloud Years of Experience o Range Job Types o Full Time o Part Time o Internship o Contract o Temp Salary o Per Year Range o Per Hour Range Degree Type Keyword search Alternative Matrix Architecture Design Home Network LSU DMZ COX Communications LSU LAN Hardware and Software Specifications Standard Client Standard Web Server Standard Database Server Operating System Windows OS X Windows Server 2008 Windows Server 2008 Special Software Adobe Reader Internet Explorer Safari IIS 7 SQL Server 2008 R2 SQL Management Studio 2008 Hardware 64 GB disk drive 500 GB disk drive 500 GB disk drive Intel Core i3 Dual-core Xeon Dual-core Xeon Broadband Dual 1 GB Ethernet Dual 1 GB Ethernet Network Interface design 1. Login Page 2. New User Form 3. Job Search Form 4. Job Title Form 5. Admin Dashboard 6. New Administrator Form 7. New Job Posting Form 8. Reports Form 9. Update Tables Form Physical Process Model Structure Chart Revised CRUD Matrix Data Storage Design Program Specification for Job Search Web Form Module_____________________________________________________________________________________ ___ Name: User_Login Purpose: Login into Job Search Form Programmer: Will Middleton Date Due: N/A Visual Basic: Yes HTML: SQL: Events: Login by typing user name and password and then clicking the Login button Input Name UserName Type Char (30) Provided By User Notes Output Name Found Not_Found Type Char (30) Char (30) Used By Program Program Notes Username not found Pseudocode________________________________________________________________________________ ___ (User_Login) not_found=False For Username in User table If username matches username, open Job_Search page Found=True End If End For Return Program Specification for Job Search Web Form Module_______________________________________________________________________ _________________ Name: Create_New_User Purpose: Create new user account Programmer: Will Middleton Date Due: N/A Visual Basic: HTML: SQL: Yes Events: Input Name Type Provided By Username Char (30) User Password Char (15) User Output Name Type Used By Returns to login Notes Notes Program Pseudocode____________________________________________________________________ _______________ Create_New_User Insert into User (0000#, UserName, Password) Other_________________________________________________________________________ _________________ Business rule: Note: Program Specification for Job Search Web Form Module_______________________________________________________________________ _________________ Name: Criteria_Search Purpose: To narrow the search criteria Programmer: Will Middleton Date Due: N/A Visual Basic: Yes HTML: SQL: Yes Events: Input Name Type Provided By Select_Degree Char (60) User Select Skill Char (60) User Select Certification Char (60) User Selection Location Char (30) User Output Name Type Used By Criteria_Search Program Notes Notes Pseudocode____________________________________________________________________ _______________ Select Degree FROM Degree Select Skill From Skill Select Certification From Certification Select Location From Location Other_________________________________________________________________________ _________________ Business rule: Note: ______________________________________________________________________________ ___________________ Program Specification for Job Search Web Form Module_______________________________________________________________________ _________________ Name: New_Job_Search Purpose: Search for a new job Programmer: Will Middleton Date Due: N/A Visual Basic: HTML: SQL: Yes Events: Input Name Type Provided By Job_Search String User Output Name Type Used By Job_Display String Program Notes Notes Pseudocode____________________________________________________________________ _______________ Select (JobTitle, PostDate, Location, CompanyName, HireType) FROM Jobs Other_________________________________________________________________________ _________________ Business rule: Note: ______________________________________________________________________________ ___________________ Program Specification for Job Search Web Form Module_______________________________________________________________________ _________________ Name: Job_Display Purpose: Select job fitting search criteria Programmer: Will Middleton Date Due: N/A Visual Basic: HTML: SQL: Yes Events: Input Name Type Provided By Select_Job String User Output Name Type Used By Display_Job String Program Notes Notes Pseudocode____________________________________________________________________ _______________ Select (JobTitle, JobDescription, HireDate PostDate, Location, CompanyName, ContactEmail, Degree, Skills, Certifications, HireType) FROM Jobs Other_________________________________________________________________________ _________________ Business rule: Note: 1. Job Search 2. User Login 3. New Job Posting 4. New Admin Profile 5. Admin Dashboard 6.New User Profile 6. Reports 7. Update Tables Project Assessment Team Review: Throughout the project all members of the team worked diligently towards completing the project to the best of our ability. The combination of the different skill sets in the team was key in having a successful project. Tasks were delegated, as well as reviewed by one another to ensure everything was on track. Team 2 had exceled in managing the project’s issues and either working through the issues or around them. As for improvements, Team 2 could use a bit more programming experience. Although able to complete the task at hand, we had to work modify some ideas originally planned due to programming experience. As a whole, it was a successful project and team 2 worked very well together. System Review: I think everyone from team 2 can say that we have learned a lot from this project. All of us have taken away a lot of experience after completing this project. Throughout the project we have learned much more about visual basic and VB code. As well as that we have all learned a lot about creating and operating a database. Looking back on the project, if we were to start over I believe we would spend more time planning the design of our program in comparison to our skill sets. In order to enhance or broaden the project, allocating more time allowed for phase 4 as opposed to the first 3 phases would be extremely beneficial. Phase 4 was the most difficult phase and with less of a time constraint, the project could be significantly enhanced. System Conversion Strategy In order to convert to our Student Job Search Program, the user must be willing to make some changes. Compared to alternatives like Careers 2 Geaux or Monster.com, our program is designed with a simpler user interface as well as designed to focus on ISDS and computer science majors. From an employer standpoint, our program is designed for more specific criteria selection in order to better find potential job applicants. With our new system, there should be no need for any drastic policy changes regarding data entry and reports. Since our program is intended to be an improved Careers 2 Geaux, it is very similar to the rules and regulations LSU would require. As for training, we have specifically designed our program to be as simple as possible. Although it is more specific than some alternatives like Careers 2 Geaux, it is a very straightforward system that is meant for the most basic of users. Ultimately, there is no training necessary for our system besides our user’s manual. Test Plans Form: Job Search Validation Good Input ddlDegree + ddlCertification + ddlSkills + ddlCity + ddlState + ddlHireType + ddlExperience + ddlKeywordSearch + Buttons Worked btnSearch + btnReset + btnEmail + Bad Input Error Form: Login Validation Good Input txtUserName + txtPassword + Buttons Worked btnLogin + btnCreateProfile + Bad Input Error Form: New Job Posting Validation Good Input txtCompany + txtJobTitle + txtJobDescription + txtRefCode + txtRecruiterName + txtRecruiterEmail + txtContactEmail + ddlLocation + ddlHireType + txtPayAmount + ddlPayRate + ddlDegree + ddlCertification + Buttons Worked btnSubmit + btnEmail + Bad Input Error Form: New Admin Profile Validation Good Input txtUserName + txtPassword + txtEmail + Buttons Worked btnSubmit + btnCreateProfile + Bad Input Error Form: Admin Dashboard Buttons Worked btnNewUser + btnNewAdmin + btnNewJobPost + btnNewJobSearch + btnUpdateTables + btnReports + Error Form: New User Profile Validation Good Input txtUserName + txtPassword + txtEmail + Buttons Worked btnSubmit + btnCreateProfile + Bad Input Error Form: Reports Buttons Worked btnCurrentUsers + btnCurrentJobs + btnCurrentrecruiters + btnJobs + Error Form: Update Tables Validation Good Input txtDegree + txtCertification + txtSkills + txtLocation + txtCity + txtState + Buttons Worked btnSubmit + Bad Input Error