This is the documentation for a course project in COMP305 Software Engineering, Spring 2017. The project is based upon this template and this description, and follows the development of an information technology system for a small business, Showtime Sound & Lighting.
The purpose of this report is to document the current status of the information technology systems at Showtime Sound & Lighting and to lay out a plan of action to replace these systems with a new, custom-built system.
Showtime Sound & Lighting has, to date, been using a system intended for a single user. At that small a scale, all of the information of the company can be said to exist in the mind of that single user, and whatever system they design for themselves is the best case. Unfortunately, such systems generally do not scale well for multiple employees, and with the current larger roster of employees, and future plans to further grow the company, developing a system that will function well for a larger number of employees is of critical importance.
The system to be designed is for use by the employees of Showtime Sound & Lighting. All interaction with the system by customers will be mediated by employees of the company, thus reducing the complication of outward-facing functionalities.
The report begins with this introductory section, covering the purpose, background information, and scope of the project. From there, it goes to define the standards and specifications used for the documentation of the project, and the environment in which the software was developed. From there, it goes to an in-depth system specification, laying out the way the system will be designed. Next is the program specification, similar to the system specification but focusing on what the programmer(s) will need to construct and deliver the programs in the system. Then come the implementation details, covering the budget, staffing, and time needed to develp the system. Finally comes the conclusion, providing a high-level summary of the report.
The documentation for this project follows the Unified Modeling Language structure, and will follow the various object-oriented design techniques described within that system.
For a detailed explanation of any of the content used herein, see Systems Analysis & Design: An Object-Oriented Approach with UML by Dennis, Wixom, and Tegarden.
The software will be developed on and for the Microsoft Windows computing environment, specifically making use of the Windows Forms software platform. Any computer capable of running Microsoft Windows 7 or later will be capable of running the client-side software. Also necessary will be a single computer to function as the central server, hosting the database and document storage systems.
Developing the system within the Microsoft Windows software environment allows the employees to continue using the equipment they already have without the steep learning curve required by a new system. This also allows the company to continue using equipment they already have without requiring large-scale purchases.
SSL, as a small company, has a capital budget of $15,000 for system development. Without development of the new system, however, an estimated loss of 5-10% of customers due to inefficiencies can cause a serious decrease in revenue.
Since SSL currently only has 4 employees, training all of them to use a new system - especially one well-designed around the needs of the company - would not require a significant time investment. Switching to the new system now, prior to the planned increase in the staffing of the company, also allows the use of the new system to replace the use of the old system in new employee training, and thus reduces the burden on all employees.
Click on the title of a use case scenario to view it.
The use case begins when the executive requests that the system allow them to manage an employee's records.
The flow begins when the executive requests that the system generate a report.
None.
The flow begins when a technician finishes a contract and returns with the equipment, or when the technician is going to repair any equipment that has been logged as damaged.
The flow begins at the end of a job, when a technician accesses the system to log the performance of the contract/temporary worker(s) that was/were on the job.
The flow begins when a customer requests a proposal for work.
The flow begins when a customer accepts a proposal.
The flow begins when work for a customer on an order has been completed.
The flow begins when an employee or contract/temporary worker has logged hours.
The flow begins when an employee needs to view schedules.
The flow begins when the manager wants to see which equipment is currently rented out.
The flow begins when the manager wants to view a history of rentals.
The flow begins when a manager wants to view the list of contract/temporary workers.
The database used will be a central Microsoft Access database. A template file can be used to generate the database in Microsoft Access, and is available for download here.
Upon accessing the system, users are asked to log in.
Upon logging in, the user is presented with all the functions they have access to; for example, the main menu for all employees, and the technicians-only menu for employees marked in the system as technicians.
When managing data, users are presented with either a detailed single-point-at-a-time view or with a table to manage large amounts of data at a time. Their ability to edit, add, or delete data is restricted based on their user type.
When editing data for which they have partial access, users are able to see all of the data, for context, but are only able to edit the data for which they have permission.
Five programmers, headed by Jane Ackerman and John Holmes. Each programmer should have knowledge of Access, C#, and other such skills. There should be no need for specialists. Since the budget for this program is minimal, $15,000 dollars, the staffing team should be small.
The project should be backed up on the team's hard drive, and online. When programming, the programmers should back up their work on the central git repository. Recovering corrupted or overwritten information is much easier when using a cloud-based git repository like Github.
Tom Smith wishes to expand his business to fifteen employees in the next five years. This project should be completed within a year, beginning on May 29th, 2017 and ending on May 25th, 2018. The planning phase is from May 29th to July 28th, 2017. Next, the analysis phase will take place from July 31st to November 24th, 2017. Then, the design phase will take place from November 25th, 2017 and end January 25th, 2018. Finally, the implementation will be from January 26th to May 25th, 2018. After its completion, the program should aid Mr. Smith's expansion throughout the next four years.
This report documented the current status of the information technology systems at Showtime Sound & Lighting and laid out a plan of action to replace those systems with a new, custom-built system. To date, SSL has been using a single-user system based upon a mix of paper forms and Microsoft Office documents. As the company has expanded, and plans to continue doing so, developing a system that will function better at a larger scale is very necessary to prevent major inefficiencies from costing the company customers and revenue.
This report contains design documents for a new system that SSL could use. The system is designed for the current and future needs of the company, and would allow for much easier scaling of their information technology systems to keep pace with the planned rate of growth for the company.
To SSL, we recommend they move forward with the development and, later, the use of the system designed within this document.