SWD604 Program Design and Construction

SWD604 Program Design and Construction Assessment 1 v1

Page | 1

School of Information Technology

New Zealand Diploma in Software Development (Level 6)

Course Code & Title:

SWD604 Program Design and Construction

Assignment Title

Assignment 1

Assessment Type

Practical

Level

6

Credits

15

Term & Cohort:

Due date:

13 September 2024

Overall Weighting:

60%

Total marks available

100

Tutor:

Nelson TSANG

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). SWD604 Program Design and Construction Assessment 1 v1

Page | 2

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 SWD604 Program Design and Construction Assessment 1 v1

Page | 3

• 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 as below:

• Course Code_ Assessment Number_ Assessment Name_ Student Number_Document

number

• For example, SWD604_A1_Practical_7647XXXXX_1.SWD604 Program Design and Construction Assessment 1 v1

Page | 4

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 mechanism.

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:

• 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 brought on 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 SWD604 Program Design and Construction Assessment 1 v1

Page | 5

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 test cases and execute themSWD604

<think>好的,用户想了解STM32的SWJ(SWD和JTAG)复用功能映射的配置信息。首先,我需要回忆一下STM32的调试接口相关的内容。STM32通常支持两种调试接口:JTAG和SWD。这两种接口共用一些引脚,比如PA13、PA14、PA15、PB3和PB4,这些引脚默认用于调试功能,但用户可能需要重新配置这些引脚作为普通IO或其他功能,这就涉及到复用功能重映射。 接下来,用户提到的引用内容中,引用[1]提到重映射步骤需要参考具体型号的数据手册和参考手册,这说明不同型号的STM32可能有不同的映射方式,必须查阅对应的文档。引用[2]给出了具体的代码示例,使用GPIO_PinRemapConfig函数来禁用JTAG,仅使用SWD模式,同时需要开启AFIO时钟。引用[3]是关于GPIO的复用功能定义,可能涉及到其他外设的配置,但这里主要关注SWJ的配置。 用户的问题主要集中在如何配置SWJ的复用功能映射,所以需要详细说明配置步骤。首先需要确认AFIO时钟的开启,因为重映射功能需要这个时钟。然后,选择合适的重映射选项,比如禁用JTAG,只保留SWD,或者完全禁用调试接口。需要指出不同的重映射选项对应的宏定义,如GPIO_Remap_SWJ_JTAGDisable,以及完全禁用时的GPIO_Remap_SWJ_Disable。同时,用户需要注意禁用调试接口后可能无法再次通过调试器连接,除非复位或重新配置,这点很重要需要提醒。 另外,用户可能需要了解如何释放特定的引脚作为普通IO或其他复用功能。例如,禁用JTAG后,PA15、PB3、PB4可以被用作普通IO,但需要配置对应的GPIO模式和复用功能寄存器。这部分也需要在步骤中详细说明,并强调参考具体型号的数据手册。 最后,生成的相关问题需要围绕配置后的影响、不同模式的区别、如何恢复以及具体的应用场景展开,确保覆盖用户可能遇到的后续疑问。</think>### STM32 SWJ (SWD and JTAG)复用功能映射配置说明 STM32微控制器的SWJ(Serial Wire and JTAG)调试接口复用功能映射可通过以下步骤配置: 1. **AFIO时钟使能** 重映射功能需先开启AFIO时钟: ```c RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); ``` 未开启时钟时,重映射配置无效[^2]。 2. **选择重映射模式** 通过`GPIO_PinRemapConfig`函数选择模式: - **仅禁用JTAG,保留SWD**(推荐调试场景): ```c GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); ``` 释放PA15、PB3、PB4为普通GPIO或其他复用功能。 - **完全禁用SWJ调试接口**(释放所有调试引脚): ```c GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); ``` 此时需通过复位或ISP工具恢复调试功能。 3. **引脚功能释放与复用** 释放后的引脚需重新配置: ```c GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15 | GPIO_Pin_3 | GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 普通输出模式示例 GPIO_Init(GPIOA, &GPIO_InitStructure); ``` 4. **外设复用功能映射** 若需将释放的引脚用于特定外设(如SPI、UART),需参考数据手册中的复用功能映射表。例如: ```c GPIO_PinAFConfig(GPIOA, GPIO_PinSource15, GPIO_AF_SPI1); // 配置PA15为SPI1功能 ``` ### 关键注意事项 - 不同型号STM32的复用功能映射表可能存在差异,需查阅对应型号的《参考手册》和《数据手册》[^1]。 - 禁用调试接口后,需通过硬件复位或BOOT引脚进入系统存储器启动模式恢复调试功能。 - 部分型号支持Partial Remap(部分重映射),可灵活组合调试接口与GPIO功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值