1 or 2 pages introduction of the project. We are using the Inventory System from page 6
Chapter 13 Projects Graduate Diploma Level 7 (Information Technology Strand) STD511 Java Programming NQF Level 5, 10 credits Project (Worth 50% of final Mark) (50 Marks) Instructions and guidelines for the assignment: 1. Submission date and time: ___________________________________. 2. The completed assignment must be handed to the lecturer at the beginning of the class on the due date. 3. Submit a print and bonded copy of your report along with the electronic copy of all work. The lecturer will inform you how to submit the soft copy. 4. Warning: All media must be virus free! Media containing virus or media that cannot be run directly will result in a FAIL grade. 5. You must read and understand Aspire2’s policy on ‘Academic Dishonesty and Plagiarism’. Assignments completed using unfair means or plagiarised will receive a FAIL grade. 6. The report must have a title page with your name, class and id number clearly printed. 7. Start working on the assignment as soon as it has been handed out in the class. Working on the assignment right from day one will ensure that it is completed on time. 8. Work through each task, making copies of the source codes, diagrams and output produced as you complete them as they will be required as part of your submission. 9. Use the right naming and indentation style. Use comments to document each class and method. 10. Assignments will be judged on the basis of completeness, correctness and clearness. Learning Outcome Targeted: Undertake software development projects of moderate complexity using an object oriented development framework, such as Java Platform Enterprise Edition (Java EE). Project Description Your project will be a small system developed using Java. You are required to use all the knowledge acquired throughout the course. Task 1 – Project Scope (3 marks) It is important that you pick your project carefully, as you will be working on it throughout the term. It is much easier and fun to work on a project that is interesting and meaningful to you. Each student has to select one of the projects provided at the end of this document. Students are also engorged to work on other projects they would proposed but they need first to write a short description like the one given at the end of document and seek the lecturer approval. Write an introduction (1-2 page) that concludes the project idea, its main functionality, the goal and objectives of project. Task 2 – Project Design (12 marks) Once your project proposal has been approved by your lecturer you can move to design your project. The design document usually includes the UML class diagram along with description. In your design you should: Program Design 1) Have at least three classes. 2) List all the data and methods of each class. 3) Use different kind of relationships between classes. 4) Use at least one Inheritance relationship. 5) Describe the functionality of each method. 6) Describe the purpose of each data item Database design 1. Have at least two tables. 2. Describe the need for each table 3. Describe each filed in each table 4. Describe the relationships between the tables. GUI design 1. Have at least three screens 2. Have used different components like text boxes, labels, buttons, list, …etc. 3. Describe the need for each screen and the use of each element Task 3 – Project Implementation (20 Marks) In this task you need to write the Java code to implement your design, make sure to meet the object oriented programming principles such as: Objects exhibit polymorphic behaviour and persistence Objects interact with outside world through method invocation. The impact of the modification is limited by encapsulation. The use of method overloading to provide flexibility to users Inheritance is used to modify class behaviour. GUI elements are programmed properly to provide user friendly interface. JDBC is correctly used and configured to connect to database, Add, delete, and update operations are performed correctly on the database Uses language instructions that facilitate the understanding of the code (comments, indentation, code structure...) Task 4 – Project Testing (5 Marks) Perform Junit testing to test the main methods in your project (at least five) and document the testing results. Task 5: Documentation and Final Submission (10) You are required to submit a report that include the following items: 1. Introduction 2. Design document including UML Class Diagram and other supported design documents 3. Source code 4. Program output 5. Testing Code and result Sample Projects Ideas Payroll System: As an IT Professional at XYZ company, you are tasked with building a new payroll system to replace the existing system which is hopelessly out of date. XYZ needs a new system to allow employees to record time card information electronically and automatically generate paychecks based on the number of hours worked and total amount of sales (for commissioned employees). The new system will be state of the art and will have a Windows-based desktop interface to allow employees to enter timecard information, change employee preferences (such as payment method), enter purchase orders, and create various reports. The system will retain information on all employees in the company. The system must pay each employee the correct amount, on time, by the method that they specify (see possible payment methods described later). Some employees work by the hour and they are paid an hourly rate. They submit daily timecards that record the date and number of hours worked for a particular charge number. If someone works for more than 8 hours, XYZ pays them 1.5 times their normal rate for those extra hours. Hourly workers are paid every Friday. Some employees are paid a flat salary. Even though they are paid a flat salary, they submit daily timecards that record the date and hours worked. This is so the system can keep track of the hours worked against particular charge numbers. They are paid on the last working day of the month. Some of the salaried employees also receive a commission based on their sales. They submit purchase orders that reflect the date and amount of the sale. The commission rate is determined for each employee, and is one of 10%, 15%, 25%, or 35%. Sales people are paid every other Friday. One of the most requested features of the new system is employee reporting. Employees will be able to query the system for number of hours worked, totals of all hours billed to a project (i.e., charge number), remaining vacation time, etc. The reporting feature will be available either through the desktop or the web interface. Employees can choose their method of payment. They can have their paychecks mailed to the postal address of their choice, or they can request direct deposit and have their paycheck deposited into a bank account of their choosing. The employee may also choose to pick their paychecks up at the office. Employee information is maintained by the Payroll Administrator who is responsible for adding new employees, deleting employees and changing all employee information such as name, address, payment method and payment classification (hourly, salaried, commissioned), as well as running administrative reports. Inventory System: Supermarket requires stock control system to void out of stock level for each product. A purchasing admin will be able to process an order by entering product numbers and required quantities into the system. The system will display a description, price and available stock. In-stock products will normally be collected immediately by the customer from the store. If stock is not available, the purchasing admin will be able to create a backorder for the product. The system will allow products to be paid by cash. Order details for in-stock products will be printed including the quantity, product number and description. The store manager will be able at any time to print a summary report of sales in the store for a given period, including assignment of sales to sales assistants in order to calculate weekly sales. The stock manager will be able to monitor stock levels and weekly run-rates in order to set minimum stock levels and requisition products which fall below the minimum stock levels or for which demand is anticipated. When the stock arrives it will be booked in by the warehouse person. Stock that has been backordered for collection from the store is held in a separate area and the store manager advised of its arrival. The catalogue of available products will be maintained remotely. Project Marking Schedule Marking Criteria Designed Marks Awarded Mark Comment(s): Task 1: Scope Introduction (1-2 page) that concludes the project idea, its main functionality, the goal and objectives of project. 3 Total of Task 1>> 3 Task 2: Design At least three classes used in the UML class diagram and all the data and methods of each class have been listed. Different kind of relationships between classes have been used with at least one inheritance relationship. The functionality of each method and the purpose of each data item has been described At least two table has been designed, all field have been described, the relationships between tables have been identified At least three screens have been designed, different elements have been used, the description of the screen and elements have been provided. 2 2 2 3 3 Total of Task 2>> 12 Task 3: