School of Information Technology


New Zealand Diploma in Information Technology Software Development (Level 6)


Course aim

This course will introduce the basic concepts of interactive programming and Object-Oriented Programming using C# and how to create, test and debug programs.


Purpose

Learners will gain an understanding of creating interactive applications using object-oriented programming with modular design.


Assessment Information

1This is an individual open-book assessment which is worth 70% of your total assessment weighting of the entire course.

2. Resources and/or equipment which may be used for this activity:

a. NZSE issued material;

b. your own course notes; and

c. Other resources (referenced and cited).

3. You have 20 days to complete this assessment.


Learning Outcomes

This assessment is mapped to the following learning outcomes for this course:

LO2    Design object-oriented programs to solve problems.

LO4    Encapsulate logic and data with classes.ICT526

LO5    Apply appropriate data structures and algorithms in problem solving.

LO8    Develop interactive programs.

LO9    Apply programming and documentation standards.


Graduate Profile Outcomes

2    Write and maintain programs using design patterns, data structures and algorithms to meet specifications.


Plagiarism

• All cases of plagiarism and/or cheating will be investigated and dealt with according to A08: Misconduct in Assessment Policy.


Submission Instructions

You are required to ensure you have carried out the following before submitting your assessment:

• Signed assignment coversheet

• All answers are written in your own words

• Proofread and spell check all written assessment work carefully


Evidence Submission

You are required to submit the below documents as the evidence of the work done towards the assessment on Canvas

• Visual Studio projects containing all the relevant project files and folders

• Reports required for documentation (as .pdf or .doc/.docx file)

• Every document submitted online on Canvas should follow the naming convention as below: 

   Course Code_ Assessment Number_ Assessment Name_ Student Number_Document number

   For example, ICT526_A2_ProjectPortfolio_1800XXXX_1.


Assessment

The Comfort Zone is a shoes shop which sells a range of women’s, men’s and kid’s shoes, such as shoes, sandals, boots of different styles and brands, along with accessories. You have been hired to develop a point of sales application for this shop with the specification described below:

1. Users: Prospective users of the software application and what tasks they could perform using the application are as follows:

a) Admin staff: login, view a list of products, update prices, quantity, and discount rates, sales checkout process, and tax invoice generation

b) Sales staff: login, sales checkout process, tax invoice generation

2. Processes: The different processes which should be handled by the application software are as follows:

a) Sales checkout process: A user (sales staff / shop manager) who is performing the checkout process should log in to the application with his/her own login credentials (the login credentials including pairs of username and password should be loaded/stored from/in a text file). When a customer comes to the checkout counter with the (purchased) items, the staff member at the counter enters the code and quantity of the items one at a time via a checkout interface. An example is shown below:

The system should calculate the discounted price, if any discount applies, of each item and show subtotal on the screen. Once the sales staff completes entering the information of all items, the final total to pay will be displayed.

At the final stage, the user should confirm the payment by clicking on a button called “Payment Confirmed”. Then, an invoice should be displayed on the screen which includes the date and time, and a list of items’ names, code, quantity, price and the discount, and the total amount to pay and GST.

Note: All prices are GST inclusive. To find the GST amount from a GST inclusive price is:

GST Amount = GST Inclusive Price x 3 ÷ 23

To find the GST exclusive amount (Sub Total) is:

GST Exclusive Amount = GST Inclusive Price – GST Amount

The application must reset controls on the checkout form to serve the following customer after the user clicks on a “Finish” button. The quantity of the sold products should be updated and saved back in the file when sales staff closes the checkout form.


A sample invoice and correct GST Calculations is shown below:

b) Administration process: An admin staff can also view the inventory list, and update quantity, price and discount rate for one or multiple products one at a time. The product information should be saved back in the inventory list file when an admin staff hits a “Save and Close” button.

3. Inventory List management: The products information (inventory list) is stored in a text file with the format below:




Task 1: Program Design (Individual Task)

As part of the initial stage of the project, you need to create a class diagram (a minimum of 1 class per student) that describes the structure of your program by showing classes (at least 3), their attributes, operations (or methods), and the relationships among objects.

This is an individual task. Each student needs to create minimum of ONE class within the diagram.

You can use StarUML, LucidChart or any other appropriate tool for creating class diagram of your program. You should submit the class diagram document together with the coding files by the submission due date.


Task 2: User Interface (Individual Task)

You need to create an interactive user interface for the application which supports above processes and requirements. There should be a main menu that will provide you options of what the user wants to do i.e. user’s login, administration or sales checkout process. Correct error messages should appear in the events such as incorrect username and password, or no data has been input. You might need forms such as main, login, admin activities and checkout activities etc.

The members of the group needs to perform one of the below:

Member 1:

• A menu including options for user’s login, admin activities and checkout process

• Login form: Appropriate controls for username and password input and a button to login

• A warning message box for an unauthorised user, and for incorrect username and password

Member 2:

User interface for admin activities

• A form control to view list of all products

• A form control to capture a product ID and display product’s price, quantity, and discount value (warning message box for a wrong product ID)

• Controls for updating product’s price, quantity, and discount rate

• A form control to save the updated product information back in the inventory file

Member 3:

User interface for checkout process by a user (manager/sales staff)

• A textbox to capture product ID for a checkout item

• A form control to display a message when a product is not found

• Controls for adding an item with a product ID to the checkout items

• Textbox to display subtotal and the discounted price for each item

• Textbox to display total to pay

• Textbox to display Tax invoice

• A control for confirming the payment and finalising the checkout

• A control to reset the form for the next customer (when the checkout is finalised)

• Correct type of controls chosen

• Correct names/properties of the controls


Task 3: Programming Application (Individual and group task)

Based on the requirements provided on the application description, write the point of sales application using C# programming language.

• Your application must be created implementing the OOP concepts.

• Use programming standards, and relevant names for variables and controls.

• Select appropriate data types for the variables.

• Your application must contain statements which control the sequence, selection, and iteration to perform the required logic.

• Your application must contain modular and reusable functions that accept parameters and return values.

• Your application must use appropriate data structures (e.g. list, arrays, and or hash tables) to store, retrieve and process data as needed.

• You should consider exception handling for input information entry.

 The inventory list which contains products information is to be read from a file and updated fields to be saved in the same file.

• Login credentials for all authorised users should be stored in a text file containing a pair of username and password.

• Add clear and sufficient comment statements to your program to improve readability and to clarify the purpose of the whole program and different sections of it.

• Your application program MUST run, even if it means commenting out large sections that don’t work. Marks for operation will be zero if it doesn’t run.

• The code should exhibit clarity and, where possible, efficiency.

• The programme should be tested thoroughly.

This is an individual and group task.

Each student MUST create minimum of ONE class designed by him/her. Student must clearly specify (block comment) the class he/she created.

Students MUST collaborate with each other while working on EACH task to produce uniformity in design and implementation. The classes and methods must be integrated properly with group efforts.