Internship2Career:2011 Fall Requirements and Analysis Document

Client Profile
UNH Manchester's Internship Program is set up to connect students with prospective organizations for internship opportunities.

A university education can transform student thinking, but it may not always be clear how class work is relevant to a future career. In today's competitive world, the UNH Manchester internship program gives an edge to student interns and to the companies who host them.

The goal of the internship program at UNH Manchester is to provide students with hands-on work experience that will enhance their degree and help prepare them for a successful career. Internships enable students to make important career decisions, apply classroom knowledge and acquire new skills and contacts while earning academic credit. UNH Manchester urban location provides students with a wide variety of relevant opportunities for our students.

Students who participate in UNH Manchester's Internship program connect their coursework to the real world while they gain practical, meaningful experience. Students widen their perspectives on career options, apply classroom knowledge and acquire new skills and contacts while earning academic credit.

Problem Description
UNH Manchester's internships are difficult to access and rarely up-to-date. This is due to a multiple platform system that uses an external Microsoft Access database and Blackboard. It takes a lot of time to make changes to the content within the database, and it is even more cumbersome to port over the information to the UNH Blackboard site. Because of the difficulty using and managing the system, it does not support the purpose of the Internship Program at UNH in bringing internship opportunities to students and vice verse.

Objectives

 * 1) A single web application to control all functions for the Internship Program at UNH at Manchester.
 * 2) Compatibility with multiple sub-systems.
 * 3) Easy-to-use functionality for all users.
 * 4) Consistent code base that enables multiple user development and modification.

Current System
Users - Manager (Donna McIntire), Assistant (Work Study), Student (UNH Student)

In the current system organizations request an intern by contacting the Manager through an email link on the UNHM website. A form would then be sent, filled out with the proper information, and sent back to the Manager for review. After review, the content would be added to an Access database manually, either by the Manager or the Assistant.

The required information that is added to the database includes: company name, company address, contact name, phone number, extension, fax number, internship title, description, responsibilities, requirements, availability, # of positions available, paid or unpaid, amount of pay, category, other info, date updated, and company description.

Once the information is added to the database, a form must be generated, saved, and a hard copy printed out for physical record keeping. Once this form is saved on the computer, it must then be uploaded to the UNH blackboard site manually. Each record that is updated must first be manually deleted from the system and then the new updated record can be uploaded.

Records are viewed online in a pre-generated format by the Student User. When the Student User finds an internship that interests them, they must then write down the number associated with it in order to retrieve its details. The details for the internship are stored in a separate files. All of these files are stored on the UNH Blackboard site.

Proposed System
The Internship2Career system will be a web application to be used by students and administrators to view, store, edit, and manipulate data stored on a mySQL database in a simple fashion.

Functional Requirements

 * 1) Assign User Privileges - This system should allow the Program Manager to assign different privileges to applicable users. Students will only be able to view and print internship data.
 * 2) Update Internship Database - This system should allow for the Program Manager and their assistant to add, delete, and update the Internship Database.
 * 3) Display Internship Opportunities - This system should display a visual representation of the internship opportunities contained within the database.
 * 4) Searches - This system should conduct searches for internship opportunities under specified requirements.
 * 5) Generate Reports - This system should generate reports of the information contained in the Internship Database.
 * 6) Print - This system should allow printing of specified Internship Opportunities and Reports for physical record keeping.

Non-Functional Requirements

 * Usability - I2C needs high usability as the system is going to be used by general computer users who have no background in the underlying technologies of the system. As such, the system needs to be easy to use and understand. The I2C users should be able to use the system with ease. I2C must have a graphical user interface and a user manual written in natural language that describes all the required interactions the users have with the system.


 * Interface - The I2C User Interface must support the tasks of the I2C users by having—and displaying—high utility. I2C must use a graphic interface to display information to the screen, with a simple set of tools and intuitive interfaces with tasks and information organized in an easy-to-read manner. The graphic interface provides users with the ability to initiate I2C functions by initiating individual use cases.


 * Legal - I2C must be licensed as open source (see GNU GPL and Creative Commons licenses).

Target environment
The target environment for the Internship2Career (I2C) system must consist of a computer that uses Windows XP or higher, XAMPP, and a local UNHM network server and web interface.

Application Domain Classes and Class Diagram

 * Opportunity
 * The internship opportunity that is presented to students by an organization


 * Organization
 * The name of the organization that is sponsoring the internship opportunity


 * Contact
 * The individual who is the point of contact for an internship opportunity


 * User
 * The individual that is accessing the system. (ie. Manager, Assistant, or Student User)



Log In
and establish user privilages. (odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows all users to enter the Internship2Career web application
 * Participating Actors: Internship Program Manager, Assistant, and Students
 * Goals: To establish user privilages
 * Entry conditions:
 * 1) The user is presented with Internship2Career site screen.
 * Exit conditions
 * 1) The user has submitted their username and password.
 * 2) The user has navigated away from the Internship2Career site screen.
 * Steps:
 * 1) The user submits their username and password.
 * 2) The system verifies the user and presents them with the main menu for their respective privilages.

View Internships
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows all users to view all internships with filtering options.
 * Participating Actors: Internship Program Manager, Assistant, and Students
 * Goals: To view internships with filtering options.
 * Entry conditions:
 * 1) The user has logged into the Internship2Career system.
 * 2) The user is presented with Internship2Career main menu that has the View Internship button.
 * Exit conditions
 * 1) The internships have been generated in alphabetical order and made visible to the user.
 * Steps:
 * 1) The user chooses View Internships from the menu.
 * 2) The system generates the report.
 * 3) The user views the report and terminates the session or chooses View/Print Internship Details.

View/Print Internship Details
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows all users to view and/or print the details for an internship.
 * Participating Actors: Internship Program Manager, Assistant, and Students
 * Goals: To view and/or print details related to a selected internship.
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has submitted the View/Print Internship Details button.
 * Exit conditions
 * 1) The internships details have been generated and made visible to the user.
 * Steps:
 * 1) The user views the report and chooses View/Print Internship Details.
 * 2) The system generates the report.
 * 3) The user terminates the session, returns to the report, or submits the print button.

Manage Internships
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows users to manage the internship database.
 * Participating Actors: Internship Program Manager and Assistant
 * Goals: To manage the internship database
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has selected Manage Internships from the Internship2Career menu screen.
 * Exit conditions
 * 1) The user has terminated the session, returned to the main menu, or selected an action item.
 * Steps:
 * 1) The user chooses Manage Internships from the menu.
 * 2) The system presents the user with the Delete, Add, Update, and View/Print options.
 * 3) The user selects the Delete Internship option. (include use case  Delete Internship)
 * 4) The system generates a report with a delete option.
 * 5) The user selects the Add Internship option. (include use case Add Internship)
 * 6) The system generates a form to add an internship.
 * 7) The user selects the Update Internship option. (include use case Update Internship)
 * 8) The system generates a report with an update option.
 * 9) The user selects the View/Print report option. (include use case View/Print Report)
 * 10) The system generates a report with a print option.

Manage Users
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows users to manage the user privileges.
 * Participating Actors: Internship Program Manager
 * Goals: To manage the user privileges
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has selected Manage Users from the Internship2Career menu screen.
 * Exit conditions
 * 1) The user has terminated the session, returned to the main menu, or selected an action item.
 * Steps:
 * 1) The user chooses Manage Users from the menu.
 * 2) The system presents the user with the Delete, Add, and Update options.
 * 3) The user selects the Delete User option. (include use case  Delete User)
 * 4) The system generates a report with a delete option.
 * 5) The user selects the Add User option. (include use case Add User)
 * 6) The system generates a form to add a user.
 * 7) The user selects the Update User option. (include use case Update User)
 * 8) The system generates a report with an update option.

Delete Internship
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows users to delete an internship listing
 * Participating Actors: Internship Program Manager, Assistant
 * Goals: To delete an internship from the Internship database
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has submitted the Delete Internship button.
 * Exit conditions
 * 1) The user has terminated the session or returned to the main menu.
 * Steps:
 * 1) The user chooses Delete Internship from the main menu.
 * 2) The system generates a report with the delete option.
 * 3) The user selects a record to be deleted.
 * 4) The system deletes the selected record from the database.

Add Internship
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows users to add an internship listing
 * Participating Actors: Internship Program Manager, Assistant
 * Goals: To add an internship to the Internship database
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has submitted the Add Internship button.
 * Exit conditions
 * 1) The user has terminated the session or returned to the main menu.
 * Steps:
 * 1) The user chooses Add Internship from the main menu.
 * 2) The system generates a form to add an internship.
 * 3) The user inputs the required information and submits the add button.
 * 4) The system adds the new record to the database.

Update Internship
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows users to update an internship listing
 * Participating Actors: Internship Program Manager, Assistant
 * Goals: To update an internship from the Internship database
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has submitted the Update Internship button.
 * Exit conditions
 * 1) The user has terminated the session or returned to the main menu.
 * Steps:
 * 1) The user chooses Update Internship from the main menu.
 * 2) The system generates a report with the update option.
 * 3) The user selects a record to be updated.
 * 4) The system generates a form with the current internship data.
 * 5) The user makes the appropriate changes and submits the update button.
 * 6) The system updates the record in the database.

View/Print Report
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows all users to view and/or print a report of all internship listings.
 * Participating Actors: Internship Program Manager and Assistant
 * Goals: To view and/or print a complete report of all internship listings.
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has submitted the View/Print Report button.
 * Exit conditions
 * 1) The user has terminated the session or returned to the main menu.
 * Steps:
 * 1) The user views the report and chooses View/Print Report.
 * 2) The system generates the report.
 * 3) The user terminates the session, returns to the report, or submits the print button.

Delete User
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows users to delete a user from the system.
 * Participating Actors: Internship Program Manager
 * Goals: To delete a user from the Internship database
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has submitted the Delete User button.
 * Exit conditions
 * 1) The user has terminated the session or returned to the main menu.
 * Steps:
 * 1) The user chooses Delete User from the main menu.
 * 2) The system generates a report with the delete option.
 * 3) The user selects a record to be deleted.
 * 4) The system deletes the selected record from the database.

Add User
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows users to add another user to the database.
 * Participating Actors: Internship Program Manager
 * Goals: To add a user to the Internship database
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has submitted the Add User button.
 * Exit conditions
 * 1) The user has terminated the session or returned to the main menu.
 * Steps:
 * 1) The user chooses Add User from the main menu.
 * 2) The system generates a form to add a user.
 * 3) The user inputs the required information and submits the add button.
 * 4) The system adds the new record to the database.

Update User
(odd-numbered steps are done the actor, even-numbered steps are done by the system)
 * Description: This use case allows users to update user information.
 * Participating Actors: Internship Program Manager
 * Goals: To update a user from the Internship database
 * Entry conditions:
 * 1) The user is logged into the Internship2Career system.
 * 2) The user has submitted the Update User button.
 * Exit conditions
 * 1) The user has terminated the session or returned to the main menu.
 * Steps:
 * 1) The user chooses Update User from the main menu.
 * 2) The system generates a report with the update option.
 * 3) The user selects a record to be updated.
 * 4) The system generates a form with the current user data.
 * 5) The user makes the appropriate changes and submits the update button.
 * 6) The system updates the record in the database.

User Interface Mock-ups
This is the possible main page of the I2C system for student users. It allows students to search for and view different internship opportunities