Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: YSYY66
SWD604 Program Design and Construction
Assignment 1
Course ai m
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.
Pu rpose
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.
A ssessment 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
L earning 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.
Plagia rism
• 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.
Submis sion 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 Submissio n
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.
A ssessment
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?wD J a .
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
7 O Z : Addl ( DddJodJiD ? a pasi 6 n ?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
7 O Z : Addl ( DddJodJiD ? a pasi 6 n ?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
7 O Z : Addl ( DddJodJiD ? a pasi 6 n ?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.