-
Notifications
You must be signed in to change notification settings - Fork 0
pythonik/software-engineering-project
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
================================== =EMS - Employee Management System= ================================== Coded by - Dylan Blass-Svedvik Evan Burgess Dale Hildebrandt Ryan Klippenstine Kun Su Sections: 1. Compiling and Set-up 1a. Restoring the database 2. Testing 3. Executing 3a. Employee Window -New Timesheet window -Details window 3b. Manager Window -Employee Details window 3c. Financial Window -Title Summary window -Pay Stub window 4. Code Packages 4a. application 4b. business 4c. models 4d. persistence 4e. presentation 4f. test packages 4g. resources 5. Change Log 5a. Iteration 2 ============== =1. Compiling= ============== To compile the project, run the included Compile.bat file from the project directory. The source files will be compiled, and the class objects added to the "bin" directory. 1a. If something goes wrong with the database or the database just needs to be cleared, run the included RestoreDB.bat file. The database will be cleared of all new data and returned to its initial state with the original set of data. ============ =2. Testing= ============ To test the class objects created by Compile.bat, run the included RunUnitTest.bat file from the project directory. This will run all of the included unit tests (using the AllTests class), which should result in 70/70 successful runs. ============== =3. Executing= ============== To run the program, run the included Run.bat file from the project directory. The project's log-in screen will appear. The project has two primary views - the manager view and the employee view. Which view the user sees depends on which employee is selected from the log-in screen. At present, Smith, A (the default option) is the only manager, and every other name is an employee. Once a name is selected, press the Log In button (no password necessary right now) and the corresponding window will appear. 3a. If a regular employee is selected, the employee view will be opened. The employee's name will appear on the top left. In the middle of a screen, there is a table with all of the employee's previous timesheet entries. This will display the Date, Start Time, End Time, Project Name, and Hours Worked for that entry. On the bottom left, the "Quit" button will exit the program. The "Log Out" button will return the user to the log-in screen. The "New" button on the bottom- right will allow the user to enter a new timesheet, and the "Details" button will show employee details - specifically, how many hours the employee has worked on each project. The New button brings up a new window used to enter timesheet information. While this window is active, the main Employee window will be disabled. The calendar on the top-left is used to denote the start date; there is a box on the middle-right to set the end date. The boxes on the top right are used to set the start time and end time, respectively (though the minutes are presently ignored). The "project" drop-down on the bottom is used to select which project the time was spent on. The cancel button will return to the employee view, while the submit button will send the entered information to the database before returning to the employee view. On submit, the table on the employee view will be refreshed to reflect the new entry. The Details button will bring up a page displaying the employee's details. It will show their name, as well as how many hours they have worked on each project. The Close button will return to the employee view. 3b. If a manager is selected from the log-in screen, the manager view will be opened. The manager view is similar to the employee view, only the manager view allows the user to view the timesheets for all of the employees in their management group. The Quit and Log Out buttons work as they did in the employee view. On the top-right, there is a drop-down box used to change which employee's timesheets are displayed on the table. The Details button will bring up the Employee Details window for the employee selected. This will show how many hours the selected employee has worked on each project, the same as it did in the employee view. 3c. If a financial user is selected from the log-in screen, the financial view will be opened. The financial view shows the financial summary of other users within the current pay period, including how many other users exist and how much they have earned in total. The Per-Title Summary button displays a window showing data on individual titles for the current pay period. The financial user may also select an employee in the combo box and generate their pay stub by selecting "view paystub." The Quit and Log Out buttons work as they did in the other user windows. The Per-Title Summary button displays a window which shows the total hours and total amount earned, grouped by title, by employees during the last pay period. The View Paystub button displays a window showing financial data for the selected user over the last pay period. It displays the employee's name, the pay period, the hours worked by the employee, the employee's wage, and the total amount earned by the employee; this information represents a generated paystub. The "Close" button closes the Paystub window and returns to the financial view. The "Print" button is disabled and unimplemented; it is simply there to show intended functionality, which is to automatically generate and then print a paystub for the financial users. ================== =4. Code Packages= ================== 4a. application The application package is a very simple package. It contains only the "Main" class; this class is used to set up and create the rest of the application. 4b. business The business package is used primarily by the presentation package (and other classes in the business package) to perform various tasks. Any calculations are handled by the business package. The business package is also used to serve data to the presentation layer and, where needed, format this data to suit the presentation package's needs. 4c. models The models package holds the data types used in the application. Projects, timesheets, users, etc. When the rest of the application passes data back and forth, the data is primarily stored in one of the model classes. 4d. persistence The persistence package is where the data is stored and accessed. It holds the class that interfaces between the application and the database. It also holds the classes that serve this data to the business package. 4e. presentation The presentation package is where all of the GUI classes are stored. When the application is run, these classes define what the user will see, and how they interact with the program data and the other packages. The package is primarily used to present data to the user, and allows them to manipulate that data. 4f. test packages The test packages store the unit tests for the various other packages in the project. The tests package itself stores the class responsible for running all of the other tests. The tests.business package holds the test for the business package, testing the various calculations and other functions in the business package. The tests.models package holds tests for the models, ensuring that the data each model deals with is being stored and retrieved correctly. The tests.stub package ensures that the stub database is being constructed correctly, and tests to make sure that the data held in the stub can is being accessed appropriately. 4g. resources The resources package holds the non-code resources used by the application - in other words, the EMS logo. This ensures that the image is not lost in compilation. ============ =5. Changes= ============ 5a. Iteration 2 -Moved the main application from the stub database to the real database. -Added the Financial view to the application. -Added the ability for financial users to generate pay stubs. -Broke the "Calculation" class into several more specialized classes: CalculateDate, CalculateHours, and FinancialCalculator. -Changed the "New Timsheet" window; both the start date and the end date are now text boxes.
About
2012 Summer Comp 3350 project. An employee time and pay management system for small/medium business owner.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published