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  provides students an introduction to the design and construction of Object-Oriented software. It will extend individual design and programming skills developed in earlier programming courses, with an emphasis on the quality, modularity, and reusability of the software developed. Students will be introduced to current techniques used in software development that allow the goals of software development projects to be realised.

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 60% 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 4 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 2: 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  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 ( .pdf or .docx file) - should not be zipped

•    Every document submitted online on Canvas should follow the naming convention 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 intern at Ahera Taera 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 mechanisms.

There are a few requirements stated by the product manager which are as 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:

a.    New customer

b.    Registered customer

c.    Registered customers who have bought products.

3] System can have different discount calculations as per customer:

a.    Normal customers will not have any discounts.

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

c.    If products are brought on weekends, you get a 2% discount.

d.    Customers from Auckland and Wellington will get a 1% discount.

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

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

b.    Pickup from the 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 user interface for the software based on the above scenario which has the following 5 forms with the necessary information and applies principles of effective user interface design:

a.    Login/ Register

b.    Product view/ add

c.    Add to cart and apply discount

d.    Payment

e.    Customer dashboard

TASK 3:                                                                                                                                                 10 marks

7O e: Addl( ?Va dJinOidlas oJ aJJaO?iva nsaJ in?aJJDOa pasi6n ?o ?Va pavalodman? oJ D nsaJ in?aJJDOa JoJ D soJ?wDJa.

Identify at least five design principles that  have been applied while creating the  user interface for the software. Provide necessary evidence.

TASK 4:                                                                                                                                                 20 marks

7O Z: Addl( DddJodJiD?a pasi6n ?aOVnibnas ?o ?Va pavalodman? oJ oq!aO?-oJian?ap soJ?wDJa ?o dJopnOa pasiJap on?Ooma.

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 )」oJ ax: Dns?.‘ dJopnO?‘ OJpaJ‘ aisOonn?‘ dD(man?(

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

7O Z: Addl( DddJodJiD?a pasi6n ?aOVnibnas ?o ?Va pavalodman? oJ oq!aO?-oJian?ap soJ?wDJa ?o dJopnOa pasiJap on?Ooma.

Apply at least ONE design pattern technique in developing each of the following parts 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

7O Z: Addl( DddJodJiD?a pasi6n ?aOVnibnas ?o ?Va pavalodman? oJ oq!aO?-oJian?ap soJ?wDJa ?o dJopnOa pasiJap on?Ooma.

To ensure the quality of the software you need to create at least 5 unit test cases and execute them.