CPT203 Software Engineering I
CPT20 3软件工程I
Coursework 1 – Case study and Report
课程作业1 –案例研究和报告
Release date | 8th Oct 2024 |
Submission date | 8th Nov 2024 |
Coursework type | A report in PDF |
Percentage in final marks | 15% |
Submission method | CPT203 of Learning Mall Core |
Late submission policy | 5% of the awarded marks shall be deducted for each working day after the submission date, up to a maximum of five working days. Late submission for more than five working days will be not accepted. |
Important notes | Any use of Generative AI is not allowed. Plagiarism results in award of ZERO mark; all submissions will be checked by TurnItIn The formal procedure for submitting coursework at XJTLU is strictly followed. Submission link on Learning Mall will be provided in due course. The submission timestamp on Learning Mall will be used to check late submission. |
This document contains
本文档包含
Section 1. Introduction
第 1 节 简介
Section 2. Case study
第 2 节 案例研究
Section 3. Coursework tasks with marking scheme
第 3 节:带有评分方案的课程作业
Section 4. Submission template
第 4 节.提交模板
Section 5. Peer review form template
第 5 节:同行评审表格模板
Section 1. Introduction
第一节 简介
Learning Outcomes to be assessed
学习成果待评估
A. Appreciate and describe the issues and methods involved in designing and building computer systems to meet business goals.
A. 理解并描述设计和构建计算机系统以满足业务目标所涉及的问题和方法。
B. Understand how user requirements are elicited and incorporated into the design of a computing system while being able to identify and analyse relevant legal, social, ethical and professional concerns informed by professional codes of conduct.
B. 了解如何引出用户需求并将其纳入计算系统的设计,同时能够识别和分析专业行为准则所告知的相关法律、社会、道德和专业问题。
D. Apply an object-oriented approach to the design and development of software systems and their components.
D. 应用面向对象的方法来设计和开发软件系统及其组件。
E. Adopt a holistic and proportionate approach to the mitigation of security risks using a risk management process to identify, evaluate and mitigate and risks associated with a software engineering activities.
E. 采用整体且适当的方法来减轻安全风险,使用风险管理流程来识别、评估和减轻与软件工程活动相关的风险。
General instruction
一般说明
Read the case study in Section 2
阅读第 2 部分中的案例研究
We will facilitate grouping on the learning mall. Students will be self-grouped or allocated to a team of 5 students.
我们将促进学习城上的分组。学生将自行分组或分配到 5 人一组。
Write a report to answer the following questions in Section 3, using the template provided in Section 4 and using the peer review form in Section 5.
使用第 4 节中提供的模板并使用第 5 节中的同行评审表,撰写一份报告,回答第 3 节中的以下问题。
Student contribution and marking.
学生贡献和评分。
The submission is a group work as in Section 3. The total mark is 100.
如第 3 节所示,提交的作品是小组作业。总分为 100 分。
In a team, each member may contribute differently to the submission. Therefore, students are required to fill up, sign, and submit the peer review form in Section 5. The contribution (%) in the form indicates the overall contribution of a team member on their submission. The team should arrange a meeting to discuss and complete the peer review form in the presence of all members. The contribution percentage for everyone must be agreed upon by all team members. In the case where a contribution cannot come to an agreement, the team could seek help from the module leader.
在团队中,每个成员对提交的贡献可能不同。因此,学生需要填写、签署并提交第 5 节中的同行评审表。表格中的贡献 (%) 表示团队成员对其提交的总体贡献。团队应安排一次会议,在所有成员在场的情况下讨论并完成同行评审表。每个人的贡献百分比必须得到所有团队成员的同意。如果贡献无法达成一致,团队可以向模块负责人寻求帮助。
Section 2. Case study
第 2 节 案例研究
Proposed Web-based Book Distributor: BookMaster
拟议的网络图书发行商: BookMaster
User Requirements
用户需求
BookMaster is a web-based book distributor. The software requirement act as a preliminary version of the software to demonstrate the basic concept, much of the full functionality of a real system is left out so you can finish the Coursework in a reasonable time. Examples of functionality intentionally left out include:
BookMaster是一家基于网络的图书分销商。软件需求作为软件的初步版本来演示基本概念,省略了真实系统的大部分完整功能,以便您可以在合理的时间内完成课程作业。故意省略的功能示例包括:
Creating, deleting, modifying customers
创建、删除、修改客户
Creating, deleting, modifying publishers
创建、删除、修改发布者
Creating, deleting, modifying books
创建、删除、修改书籍
Partial orders (both to the customer and from the publisher) Promising delivery dates to the customers
部分订单(向客户和出版商发出) 向客户承诺交货日期
Returned merchandise and refunds Credit card vs. cash payment And much, much more
退货和退款 信用卡与现金支付 还有很多很多
BookMaster’s customers will use a web browser to view the list of available books and place orders. Customers will also be able to check on the status of their orders as well as cancel orders (up to the point that the order has been packed and shipped, in which case the cancellation must be ignored).
BookMaster 的客户将使用网络浏览器查看可用图书列表并下订单。客户还可以检查订单状态以及取消订单(直到订单已包装并发货,在这种情况下,必须忽略取消订单)。
People in the BookMaster warehouse will interact with the system (also web based) to: -
BookMaster仓库中的人员将与系统(也是基于网络的)进行交互,以:-
find which orders they should start the packing process,
找到他们应该开始包装过程的订单,
tell the system that some customer’s order has been packed and is on the dock ready to ship.
告诉系统某个客户的订单已经包装好并在码头准备发货。
Packing is a manual process. The warehouse worker gets the detail order from the system, they pick the ordered items from the warehouse and pack them into shippable form. The worker will send the shippable orders to the dock waiting for the transport.
包装是一个手动过程。仓库工作人员从系统中获取详细订单,他们从仓库中挑选订购的物品并将其包装成可发货的形式。工作人员将可发货的订单发送到码头等待运输。
The managers will use the system, through dedicated terminals on their desks, to define the list of books that will be offered for sale. They will also need to maintain the list of publishers that the titles are obtained from. The manager’s most important use of the system is to obtain the monthly inventory report and the monthly sales/profit report.
经理们将通过办公桌上的专用终端使用该系统来定义待售书籍的清单。他们还需要维护从中获取图书的出版商列表。经理对系统最重要的用途是获取每月库存报告和每月销售/利润报告。
When a customer orders some books, the system needs to record that order. The order will consist of information like date ordered, a ship-to address, and the quantity of each title ordered. The order will be packable by the warehouse people when the stock on hand for each title in the order is greater than the quantity of that title ordered. Of course, the order can’t be packed until there is a sufficient amount of stock on hand for each title ordered (remember, no partial orders in this preliminary version).
当客户订购一些书籍时,系统需要记录该订单。订单将包含订购日期、送货地址以及订购的每个图书的数量等信息。当订单中每个商品的现有库存大于该商品订购的数量时,仓库人员将可以打包该订单。当然,只有在每个订购的图书都有足够数量的库存之前,才能打包订单(请记住,在此初步版本中没有部分订单)。
When a warehouse person marks an order as packed and ready for shipment, the stock on hand for each title ordered needs to be reduced by the quantity that was packed. If the stock on hand falls below the reorder limit for that title, then a replenish order is created for the publisher of that book. BookMaster will specify a reorder amount for each title, that’s the quantity to order from the publisher.
当仓库人员将订单标记为已包装并准备发货时,每个订购商品的现有库存需要减去已包装的数量。如果现有库存低于该图书的重新订购限制,则会为该图书的出版商创建补货订单。 BookMaster将为每本书指定重新订购量,即从出版商处订购的数量。
The warehouse people will use their web GUI to tell the system when a replenish order was received. When this happens, the system needs to go through the received order and increase the stock on hand for each received title by the amount ordered (remember, no partial replenish orders in this version). They will use the same GUI to tell the system when a batch of customer orders have been picked up by the shipper.
仓库人员将使用其 Web GUI 告诉系统何时收到补货订单。发生这种情况时,系统需要检查收到的订单,并根据订购的数量增加每个收到的标题的现有库存(请记住,此版本中没有部分补充订单)。他们将使用相同的 GUI 来告诉系统发货人何时收到一批客户订单。
Publishers will send eMail to the address notice@BookMaster.com using the following format to tell the system that a book has just been declared out of print:
出版商将使用以下格式向地址notice@BookMaster.com发送电子邮件,告诉系统某本书刚刚被宣布绝版:
Subject: out-of-print
主题:绝版
Contents of the message: <book title>
消息内容:<书名>
The publisher’s computer systems can format the message so that this system will never have to worry about spelling errors and the like. Once a title goes out of print, BookMaster managers will manually go through the orders and figure out how to handle them based on how old the orders are, how many copies were ordered, and how many are left in stock.
出版商的计算机系统可以对消息进行格式化,这样该系统就永远不必担心拼写错误等问题。一旦图书绝版, BookMaster经理将手动检查订单,并根据订单的时间、订购的数量以及库存剩余数量来确定如何处理它们。
Customers should be able to browse the books by Title, Author, and Subject. This needs to be a glitzy page with lots of bells and whistles to make the customer want to buy books from BookMaster. The warehouse people will need their GUI to be as absolutely simple as possible. Likewise, an easy- to-use interface for the managers is also a definite requirement. And since the managers are used to the format of some existing monthly sales and profit reports, you’ll need to use exactly this same format (assume you will get a copy real soon).
客户应该能够按标题、作者和主题浏览书籍。这需要是一个华丽的页面,有很多花哨的东西,才能让客户想要从BookMaster购买书籍。仓库人员需要他们的 GUI 尽可能简单。同样,为管理者提供易于使用的界面也是一个明确的要求。由于经理们习惯了一些现有的月度销售和利润报告的格式,因此您需要使用完全相同的格式(假设您很快就会得到一份真正的副本)。
End.
结尾。
Section 3. Coursework tasks with marking scheme
第 3 节:带有评分方案的课程作业
Your team has been hired to conduct a system requirements study based on the provided case. You are required to discuss the case in detail as a group to initiate the system requirements study. The case is intentionally presented as simple user requirements, which, like in the real world, are often incomplete and ambiguous, as opposed to exact functional specifications. Your team should work together methodically, as developers would in a real-world software project, to analyze and formalize the system requirements.
您的团队已受聘根据所提供的案例进行系统需求研究。您需要以小组形式详细讨论该案例,以启动系统需求研究。该案例有意呈现为简单的用户需求,与现实世界一样,这些需求通常是不完整且含糊的,而不是精确的功能规范。您的团队应该有条不紊地合作,就像开发人员在现实世界的软件项目中一样,分析和形式化系统需求。
Interview sessions with stakeholders are scheduled for the 15th and 22nd of October 2024. Prior to these sessions, familiarize yourselves as much as possible with the case so that you can ask constructive questions. The engineer in your team has produced an initial use-case diagram, which is illustrated on the next page. Use the diagram as a starting point for your work, but remember to refine it as you gain more insight. Work in group to produce the following: -
利益相关者的访谈计划于2024 年10 月 15 日至 22 日举行。在这些会议之前,请尽可能熟悉案例,以便可以提出建设性的问题。您团队中的工程师已经制作了一个初始用例图,如下页所示。使用该图表作为您工作的起点,但请记住在获得更多见解时对其进行完善。小组合作,完成以下工作:-
1. System requirements modeling (50%)
1. 系统需求建模(50%)
2. Report (50%)
2. 报告(50% )
Part 1: System requirements modelling (50 marks and no page limit)
第 1 部分:系统需求建模(50 分,无页数限制)
As part of the system requirements study, produce the following system requirements model, using the template in Section 4.
作为系统需求研究的一部分,使用第 4 节中的模板生成以下系统需求模型。
1. Produce a use-case description for all use cases. (10 marks). The diagram is below and please write a description.
1. 为所有用例生成用例描述。 (10 分)。如下图,请写出说明。
2. Draw a sequence diagram for the ‘Place Order’, and ‘Cancel Order’ use cases. (10 marks)
2.绘制“下订单”和“取消订单”用例的序列图。 (10 分)
3. Draw an activity diagram for the ‘Stock Receiving’ and ‘Manage Out-of-Print’ use case. (10 marks)
3. 绘制“库存接收”和“管理绝版”用例的活动图。 (10 分)
4. Draw a class diagram for the system. (10 marks)
4. 画出系统的类图。 (10 分)
5. From the class diagram, identify the classes with potentially complex states. Draw state machine diagrams for these classes. (10 marks)
5. 从类图中,识别具有潜在复杂状态的类。绘制这些类的状态机图。 (10 分)
Part 2: Software engineering analysis (50 marks and 3 pages)
第 2 部分:软件工程分析(50 分,3 页)
The 2nd part of the coursework writes a max THREE-page group report (excluding the cover page and appendices). The part should answer the following questions
课程作业的第二部分撰写最多三页的小组报告(不包括封面页和附录)。该部分应回答以下问题:
1. Which software process is most suitable for the project described in the case? Justify your answer. (10 marks)
1.哪种软件流程最适合案例中描述的项目?证明你的答案合理。 (10 分)
2. Identify and analyze ethical concerns for the case study and make reasoned ethical choices. (10 marks)
2 .识别并分析案例研究的道德问题,并做出合理的道德选择。 (10 分)
3. What are the non-functional requirements that might impact the system, and how might they do so? (10 marks)
3 .可能影响系统的非功能性需求是什么?它们会如何影响系统? (10 分)
4. What challenges might arise when working in collaboration, and what do you propose to overcome these challenges? (10 marks)
4 .合作时可能会出现哪些挑战,您有何建议来克服这些挑战? (10 分)
5. What measures can BookMaster take to ensure that the warehouse interface is user-friendly for employees of all backgrounds, including those with different levels of technical proficiency? (10 marks)
5 . BookMaster可以采取哪些措施来确保仓库界面对所有背景的员工(包括具有不同技术熟练程度的员工)来说都是用户友好的? (10 分)
Section 4. Submission notes and submission template:
第四节提交须知和提交模板:
Submission notes:
投稿须知:
You must submit the report in PDF format via Learning Mall by the above submission date. Name the report as CPT203-CW1-groupnNumber.pdf
您必须在上述提交日期之前通过 Learning Mall 提交 PDF 格式的报告。将报告命名为 CPT203-CW1-groupnNumber.pdf
Use font size 11.
使用字体大小 11。
Submission template
提交模板
Students are encouraged to copy the template below and enter your answers.
我们鼓励学生复制下面的模板并输入您的答案。
CPT203
Coursework 1
课程作业1
2024/2025 Semester 1
2024/2025 第 1 学期
<Date>
<日期>
Group number: < x >
组号: < x >
Student 1 Name: <Shang Zhang> Student 1< ID: 123456> who submits this coursework on the learning mall
学生 1 姓名: <张尚>学生 1 < ID:123456 >在学习商城提交此课程作业
Student 2 Name: Student 2 ID:
学生 2 姓名: 学生 2 ID:
Student 3 Name: Student 3 ID:
学生 3 姓名: 学生 3 ID:
Student 4 Name: Student 4 ID:
学生 4 姓名: 学生 4 ID:
Student 5 Name: Student 5 ID:
学生 5 姓名: 学生 5 ID:
Part 1: System requirements modelling (50 marks and no page limits)
第 1 部分:系统需求建模(50 分,无页数限制)
Produce a use-case description for all use cases. (10 marks)
为所有用例生成用例描述。 (10 分)
< limit the length to 1 page >
<将长度限制为 1 页>
Draw a sequence diagram for the ‘Place Order’, and ‘Cancel Order’ use cases. (10 marks)
绘制“下订单”和“取消订单”用例的序列图。 (10 分)
<to insert the diagram>
<插入图表% 3E
Draw an activity diagram for the ‘Stock Receiving’ and ‘Manage Out-of-Print’ use case. (10 marks)
绘制“库存接收”和“管理绝版”用例的活动图。 (10 分)
<to insert the diagram>
<插入图表% 3E
Draw a class diagram for the system. (10 marks)
画出系统的类图。 (10 分)
<to insert the diagram>
<插入图表% 3E
5. From the class diagram, identify the classes with potentially complex states. Draw state machine diagrams for these classes. (10 marks)
5. 从类图中,识别具有潜在复杂状态的类。绘制这些类的状态机图。 (10 分)
<list the classes>
<列出类>
<to insert the diagram>
<插入图表>
Part 2: Software engineering analysis (50 marks and max 3 pages)
第 2 部分:软件工程分析(50 分,最多 3 页)
Enter your answers to the following questions
输入您对以下问题的答案:
1. Which software process is most suitable for the project described in the case? Justify your answer. (10 marks)
1 .哪种软件流程最适合案例中描述的项目?证明你的答案合理。 (10 分)
<to insert your answer>
<插入您的答案>
2. Identify and analyze ethical concerns for the case study and make reasoned ethical choices. (10 marks)
2 .识别并分析案例研究的道德问题,并做出合理的道德选择。 (10 分)
<to insert your answer>
<插入您的答案>
3. What are the non-functional requirements that might impact the system, and how might they do so? (10 marks)
3 .可能影响系统的非功能性需求是什么?它们会如何影响系统? (10 分)
<to insert your answer>
<插入您的答案>
4. Identify potential security risks. Justify your answers and propose how you would mitigate these risks. (10 marks)
4 .识别潜在的安全风险。证明你的答案并提出如何减轻这些风险的建议。 (10 分)
<to insert your answer>
<插入您的答案>
5. What measures can BookMaster take to ensure that the warehouse interface is user-friendly for employees of all backgrounds, including those with different levels of technical proficiency? (10 marks)
5 . BookMaster可以采取哪些措施来确保仓库界面对所有背景的员工(包括具有不同技术熟练程度的员工)来说都是用户友好的? (10 分)
<to insert your answer>
<插入您的答案>
Section 5. Peer review form template
第 5 节:同行评审表格模板
CPT203 Coursework
CPT203课程作业
Peer review
同行评审
Individual Contribution for Group Report
团体报告的个人贡献
Group Number: <x>
组号: <x>
Name | ID Number | Contribution (%) Please enter an integer, for example 15% contribution, please enter 15 The sum of this column should be 100 | Signature |
1. <my name> | <123456> | <15> | |
2. | |||
3. | |||
4. | |||
5. |
END
结尾