CPT203 Software Engineering I
CPT203软件工程I
Coursework 1 – Case study and Report
课程1-案例研究和报告
Release date | 8th Oct 2024 |
Submission date | 8th Nov 2024 |
Coursework type | 1. enter your answers into the two templates; 2. save the completed templates into ONE pdf file; 3. one group member per team submits this PDF for the team. |
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
第1款.介绍
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的客户将使用Web浏览器查看可用书籍列表并下订单。客户还可以检查其订单的状态以及取消订单(直到订单已打包并发货,在这种情况下,取消必须被忽略)。
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 “Stock Receiving” and “Pack Order” 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)
二、识别和分析案例研究的道德问题,并做出合理的道德选择。(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:
第4款. 提交说明和提交模板:
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
您必须在上述提交日期之前通过学习商城提交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学年第一学期
<Date>
<D ate>
Group number: < x >
组编号:< x>
Student 1 Name: <Shang Zhang> Student 1< ID: 123456> who submits this coursework on the learning mall
学生1姓名:%3 C张尚%3 E学生1%3 CID:123456%3E在学习商城上提交此课程作业的人
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 “Stock Receiving” and “Pack Order” use cases. (10 marks)
为“库存接收”和“包装订单”用例生成用例描述。(10分)
< max 3 pages>
<最多3页>
Draw a sequence diagram for the ‘Place Order’, and ‘Cancel Order’ use cases. (10 marks)
为“下订单”和“取消订单”用例绘制一个序列图。(10分)
<to insert the diagram>
<插入图表>
Draw an activity diagram for the ‘Stock Receiving’ and ‘Manage Out-of-Print’ use case. (10 marks)
为“库存接收”和“管理绝版”用例绘制活动图。(10标记)
<to insert the diagram>
<插入图表>
Draw a class diagram for the system. (10 marks)
为系统画一个类图。(10标记)
<to insert the diagram>
<插入图表>
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)
二、识别和分析案例研究的道德问题,并做出合理的道德选择。(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. What challenges might arise when working in collaboration, and what do you propose to overcome these challenges? (10 marks)
四、在合作中可能会遇到哪些挑战,您有什么建议来克服这些挑战?(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
端