Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

SWD604 Program Design and Construction

Assignment 1

Course aim

This course aims to provide students with an intermediate knowledge of program implementation using  object-oriented  programming.  Principles  such  as  inheritance,  polymorphism,  encapsulation constructors etc. will be used to write basic and intermediate level programs and GUI applications.

Purpose

The  purpose  of  the  assessment  is  to  assess  students’  ability  to  discuss  the  fundamental  issues, concepts and practices associated with software design and construction. Students will develop user interface applying principles of effective user interface design and apply appropriate design techniques to the development of object-oriented software to produce desired outcome.

Assessment Information

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

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

•    NZSE issued material;

•    your own course notes; and

•    other resources (referenced and cited).

3.     You have 5 weeks to complete this assignment

Learning Outcomes

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

LO 1              Discuss  the  fundamental  issues,  concepts  and  practices  associated  with  software design and construction.

LO 2              Apply appropriate design techniques to the development of object-oriented software to produce desired outcome.

LO 3              Apply the principles of effective user interface design to the development of a user

interface for a software.

Graduate Profile Outcomes (this course is mapped to)

GPO  1:  Analyse  requirements,  apply  appropriate  modelling  tools,  SDLC  and  HCI  principles,  to  design  and document software solutions for a range of problems in an organizational context, including creating accurate and clear technical and user documentation/resources

GPO 3: Write and maintain complex programs using design patterns, data structures and algorithms to meet specifications and software development standards.

GPO  6:  Select, justify  and  apply  architecture,  patterns,  services, technologies,  and tools, to  implement  the software solution/s using current and emerging technologies.

Plagiarism

•    Any submitted assessment or part of an assessment which has plagiarised content will not be marked.

•    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

•     Place your Name, Student ID number, Assessment and Task Number on all loose documents you are submitting with the assessment.

•    All answers must be written in your own words.

•     Proofread and spell check all written assessment work carefully.

•     DO NOT email your document to your tutor, it must be uploaded to the NZSE LMS

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  (.sln)  file  containing  all  the  relevant  project  files  and  folders  using appropriate naming convention for Task and subtasks wherever applicable(For ex: Task 2_Part A, Task 2_Part B etc) - as a zipped folder

•     Documentation  that  contains  screenshots  of  your  output  screen  and  code  with  properly labelled ( .pdfor .docx file) - should not be zipped

•     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, SWD604_A1_Practical_7647XXXXX_1.

Assessment

Consider the following scenario:

You have been hired as an internat AheraTaera and have been designated to the software developer team. As a team member you are required to create a customer management system for Ahera

Taera,a new retail outlet focusing on a varied range of customers from senior citizens to kids. The   customer management system should help to main customer data, products bought by customers, discounts, and delivery mechanism.

There area few requirements stated by the product manager which areas follows:

1. System should be able to maintain customer data which includes name, age, phone number, email address, house address and products bought.

2. System should record data of all types of customers:

    New customer

    Registered customer

•    Registered customer who have bought products.

3. System can have different discount calculation as per customer:

    Normal customer will not have any discounts.

    If age is above 60, you get 10% senior discount.

•    If products are broughton weekends, you get 2% discount.

•    Customers from Auckland and Wellington will get 1% discount.

4. There are different delivery mechanisms of products to customer:

•    Home delivery through Courier (Needs to be billed $10 extra to the total).

    Pickup from shop.

Assumption: Product details are entered into the database (Product Name, Product price, Product stock, Product description) which are visible in the Customer Dashboard.

TASK 1:                                                                                                                                                 24 marks

LO 1: Discuss the fundamental issues, concepts and practices associated with software design and construction.

Theory:

a.    Discuss 3 software design issues and 3 software design practices with respect to the given scenario

b.    Discuss 3 software construction issues and 3 software construction practices with respect to the given scenario

TASK 2:                                                                                                                                                  10 marks

LO 3: Apply the principles of effective user interface design to the development of a user interface for a software.

Create a software application which has the following 5 Forms with necessary information: a.    Login/ Register

b.    Product view/ add

c.    Add to cart and apply discount

d.    Payment

e.    Customer dashboard

TASK 3:                                                                                                                                                  10 marks

LO 3: Apply the principles of effective user interface design to the development of a user interface for a software.

Identify at least five Design Principles that has been applied while creating the software interface. Provide necessary evidence.

TASK 4:                                                                                                                                                  20 marks

LO 2: Apply appropriate design techniques to the development of object-oriented software to produce desired outcome.

As part of the software development create a backend database which stores appropriate data for the given scenario as described below:

a.    Create tables with appropriate attributes/ columns (For ex: Cust., Product, Order, Discount, Payment)

b.    Make sure the following is maintained while creating the database:

•     Normalized database

    Auto increment

•     Primary key

•     Foreign key

•    Appropriate data types

TASK 5:                                                                                                                                                  26 marks

LO 2: Apply appropriate design techniques to the development of object-oriented software to produce desired outcome.

Apply at least ONE Design Pattern technique in developing each of the following part of the software: a.    Validation

b.    Customer Dashboard view

c.    Add to Cart

d.   Apply Discount

e.    Payment modes and bill generation

TASK 6:                                                                                                                                                  10 marks

LO 2: Apply appropriate design techniques to the development of object-oriented software to produce desired outcome.

To ensure the quality of the software you need to create at least 5 Unit testcases and execute them