1. Your supervisor has requested that you design a secure application that will keep track of inventory in the warehouse of the ABC Computer Parts Corporation. This application will be accessible both within the warehouse itself, and outside (via the Internet and/or smart phones). What data fields are necessary to keep track of this information? What size and data types (string, Integer, Floating Point) should define these fields? What other restrictions on input (no negative values for item number) should be defined for these fields? For example if Social Security was a required field: SSN: SIZE: Min: 9 Characters (string) Max: 9 Characters (string) Restrictions: Valid SSN Format Notice that it is characters, not Integer because no calculations will be done on as SSN number.
2. Develop a logical design of the ABC Computer Parts Inventory application. This design should include all possible programs, interfaces, and data storage. The application design must be three tier (Interface, Business Rules, and Data).
3. Create a PHP program which will provide the interface for entering in the ABC Computer Parts Corporation inventory items for the warehouse. The PHP class must verify the contents of the information passed from each field (via the set methods) to ensure that no corruption has taken place. Set and Get methods must exist within the class. The constructor will use the set methods to populate the properties. Create an interface program which will make an instance of the class, and test the ability to populate the properties. The test program should also generate a report of the item placed in inventory.
4. validate all information as it is entered into an HTML form is validated it is passed to the business rules tier. The business rules tier will validate the information received and filter out any harmful information. Once the information is accepted (and stored in the properties) the application will display all fields of the product stored in the warehouse of the ABC Computer Parts Company. The Interface Tier and the Business Rules Tier must be separated using dependency injection (via an XML file)
5. Update the ABC Computer Parts Warehouse Inventory application to include exception handling. The application should attempt to handle all exceptions, and errors, when possible.
User exceptions should be logged to a user log. All other exceptions should be logged to a system log. If the error is considered to be extreme (cause the program to otherwise crash), an e-mail should be sent to the system administrator. The Try/Catch block should only exist within the Interface Tier.
6. Update the ABC Computer Parts Inventory program to include storage of the data (XML or JSON format) and complete backup and recovery capability. The application should include a change log to indicate any data changes. Additional support programs should be included to allow for easy recovery of any corrupted data.
7. Update the ABC Computer Parts Inventory application allow complete delete, update, and insert ability (as shown in this chapter). Add CSS to each program within the application to provide a more professional display of the information. Add any code needed to insure that the user is login to access any part of the application. List a limitations that still exist within this application.