广州大学《软件工程》实验报告一需求分析

news/2024/11/15 6:18:34/

广州大学学生实验报告(一)

开课学院及实验室:

学院

年级/专业/班

姓名

学号

实验课程名称

软件工程导论实验

成绩

实验项目名称

需求分析

指导老师

一、实验目的

掌握需求建模技术,能够撰写需求规格说明文档。

二、实验器材

  • 计算机一台;
  • Rational Rose 等支持需求建模的软件。

三、实验内容

本实验需要完成如下任务:

  1. 系统概述以及自己负责的功能模块或子系统的描述;

系统概述:

网络书城系统是一个综合性的电子商务平台,旨在为用户提供便捷、多样化的图书购物和浏览体验。系统主要分为网络书城用户管理系统和网络书城商品管理系统两大模块,涵盖了游客、用户、商家和客服等多个角色,以满足不同用户需求和提供良好的服务体验。

网络书城系统通过用户管理和商品管理两大模块的协同作业,为用户提供了全面的购物和服务体验,涵盖了从浏览图书到下单购买再到售后服务的完整流程。

网络书城用户管理系统该部分由我的小组同学负责

网络书城用户管理系统主要包括系统中图书的查询与购买等操作、账号的注册与登录等操作、个人信息的修改等。该子系统的主要参与人员为游客和用户。具体如下:

游客的相关行为:

①游客具有查询图书信息和在线浏览图书的权限。由查询图书信息拓展出来了普通查询和高级查询的查询选项;

②游客具有登录账号的权限。由此扩展出了忘记密码用例和注册账号用例。其中,注册账号又可以泛化为手机号注册、微信注册、QQ注册;

用户的相关行为:

①用户具有查询图书信息和在线浏览图书的权限。由查询图书信息拓展出来了普通查询和高级查询的查询选项;

②用户具有登录账号的权限。由此扩展出了忘记密码用例和注册账号用例。其中,注册账号又可以泛化为手机号注册、微信注册、QQ注册;

③用户具有查询浏览记录的权限。由此扩展出了删除浏览记录的用例;

④用户具有修改个人信息的权限。修改个人信息的范围包括:绑定/修改手机号、绑定/修改QQ、绑定/修改微信、修改支付密码、修改昵称、修改个人简介、修改收货地址;

⑤用户具有购买图书的权限。用户购买图书时,可以选择直接将需要购买的图书直接提交订单,也可以先将需要购买的图书加入到购物车中,然后再进行提交订单;

⑥用户能够通过客服进行咨询。由此扩展出了评价客服的用例。

网络书城商品管理系统:

网络书城商品管理系统主要包括系统中图书订单的处理操作、图书的管理等。该子系统的主要参与人员为商家和客服。具体如下:

商家的相关行为:

①商家具有发布图书信息的权限。由此拓展出来了图书信息发布后的更新图书信息功能;

②商家具有查询某类图书的库存信息和更新图书库存信息的权限;

③商家具有处理图书订单的权限,具体包括:修改客户订单、删除客户订单、拆分订单(实际上这个操作由系统自动完成,无需商家手动操作)、查询订单。

客服的相关行为:

①客服具有查询图书订单的权限;

②客服具有查询某类图书的库存信息的权限;

③客服应该与客户进行对接,其需要处理客户咨询,必要时,记录下客户的有效反馈信息。

系统自动完成的行为:

①用户提交订单后,系统会自动生成相应的订单,并提示用户在规定时间内需要完成订单的支付。若超过规定时间,该订单自动取消;

②系统自动生成相应的订单后,用户可以取消订单或修改个人信息。其中,修改个人信息包括修改收货地址和修改收货联系方式;

③用户完成订单支付的方式包括三种,即银行卡支付、微信支付、支付宝支付。用户完成订单支付后不想购买次商品了,若用户尚未收到图书,可以选择退款;若已收到图书,可以选择退货退款。若用户拍错了图书或者是图书质量欠佳,也可以选择换货。

  1. 绘制完整用例图,并对其中的3个用例进行用例描述;

用例编号

UC001

用例名称

生成订单。

用例描述

该用例描述用户下单的行为。

参与者

用户。

前置事件

用户成功登录网络书城系统并点击图书信息发布选项。

后置事件

如果满足要求,下单成功,提示“订单支付成功”;否则,提示“用户订单未完成”。

基本事件流

  1. 用户请求下单界面;
  2. 获取单品号和单品类型;
  3. 获取单品号对应的库存量;
  4. 判断该单品号对应的库存量是否为空;
  5. 弹出填写订单界面;
  6. 用户选择购买商品数量、优惠券;
  7. 用户提交订单;
  8. 用户选择支付方式;
  9. 判断用户是否支付成功;
  10. 更新产品库存量。

扩展事件流

5a、该单品号对应的库存量为空,提示“无货”;

9a、用户取消支付,提示“订单待支付”。

用例编号

UC002

用例名称

库存更新。

用例描述

该用例描述商家对图书库存进行更新的行为。

参与者

商家。

前置事件

商家成功登录网络书城系统并点击库存更新选项。

后置事件

如果满足要求,图书库存更新成功;否则,提示“图书库存更新失败”。

基本事件流

  1. 图书库存信息修改界面对商家修改库存请求进行响应;
  2. 验证商家身份;
  3. 获取图书类型图书数量;
  4. 显示当前图书库存信息;
  5. 商家指定需要修改的图书类型库存数量;
  6. 判断指定图书类型对应的库存数量是否为空;
  7. 更新指定图书类型对应的库存数量。
  8. 指定图书类型对应的库存数量更新成功。

扩展事件流

2a、商家权限异常,图书库存更新出错,提示“无法进行图书库存更新”;

6a、指定图书类型对应的库存数量为空,提示“图书库存更新失败”;

用例编号

UC003

用例名称

拆分订单。

用例描述

该用例描述一个订单拆分为多个订单的行为。

参与者

系统。

前置事件

用户下单并成功支付。

后置事件

如果满足要求,订单已成功拆分,进行发货处理;否则,提示“拆分出错”,等待下一步处理。

基本事件流

  1. 系统对新收到的订单进行响应;
  2. 循环遍历订单中的每一个订单项;
  3. 获取订单项中的商家号及其对应的商品型号;
  4. 系统检测该商家号对应的商品型号库存是否为空;
  5. 系统验证该商家号及其商品型号是否已存在于送货单中;
  6. 为送货单创建商家号、商品型号及产品号记录;

7、订单中的所有订单项拆分成功。

扩展事件流

4a、该商家号对应的商品型号库存为空,订单拆分出错,提示“某商家号某型号的商品库存不足”;

5a、商家号及其商品型号已存在于送货单中,在该商家号对应的型号中添加新的产品号,送货单中该型号的产品数量+1;

6a、用户修改订单,满足用户修改订单的相关请求;

6b、用户取消订单,将所有相关记录作废(但不删除记录),返还用户支付费用。

四、实验感想

1、在本实验中,我们根据课堂上写过的网络书城系统用例图进行优化升级,更加深入地领悟到了用例图的设计思想以及用例描述的撰写。

2、在网络书城系统这个用例图中,没有用包含关系,因为包含关系的条件(父用例的实现要求所有子用例均满足)在此系统中没有得到满足。反而,用到的更多的是直线的形式来表示不同用例之间的关系,因为在很多情况下,用例之间的关系不满足包含关系、泛化关系和扩展关系,所以用直线表示。

3、在网络书城系统用例图的设计过程中,我和小组成员共同设计,查漏补缺,从系统参与人员的视角和系统子模块的视角来设计用例图。


http://www.ppmy.cn/news/1441552.html

相关文章

大数据时代,保护个人隐私小Tips Get 起来!

随着大数据时代的到来,我们的隐私正处于越来越易被侵犯的风险中。在各种社交媒体和信息共享平台上,我们需要输入各种个人信息,而这些信息可能被不法分子盗取,甚至被用来进行欺诈行为。在如今的大数据时代,保护个人隐私…

初学软件工程后对其的希望及个人目标

(学校作业) flag: 希望这学期可以做出人生中第一个亲手开发的软件。 对软件工程的希望: 1、希望能在软件工程学到更多在软件方面的技能,可以对软件有更加深刻的理解。 2、希望这个专业可以发展的越来越好,软…

在虚拟环境中找到Qt Designer

Pyqt5中找到Qt Designer 安装Pyqt5和Qt Designer: pip install pyqt5-tools 假设Python的虚拟环境名为:d2l ,虚拟环境在d2l文件夹中 D:\Software\d2l\Lib\site-packages\qt5_applications\Qt\bin 双击Qt designer启动 Pyside2中找到Qt Designer d2l是虚拟环境…

2024 年最好的免费数据恢复软件,您可以尝试的几个数据恢复软件

由于系统崩溃而丢失数据可能会给用户带来麻烦。我们将重要的宝贵数据和个人数据保存在我们的 PC、笔记本电脑和其他数字设备上。您可能会因分区丢失、意外删除文件和文件夹、格式化硬盘驱动器而丢失数据。数据丢失是不幸的,如果您不小心从系统中删除了文件或数据&am…

CISSP通关学习笔记:共计 9 个章节(已完结)

1. 笔记说明 第 0 章节为开篇介绍,不包括知识点。第 1 - 8 章节为知识点梳理汇总,8 个章节的知识框架关系如下图所示: 2. 笔记目录 「 CISSP学习笔记 」0.开篇「 CISSP学习笔记 」1.安全与风险管理「 CISSP学习笔记 」2.资产安全「 CISSP…

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(一)

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(一) Meta 通过推出新的开源 AI 模型 Llama 3 以及新版本的 Meta AI,正在加强其在人工智能 (AI) 竞赛中的竞争力。该虚拟助手由 Llama 3 提供支持,现已可在所有…

Meta Llama 3本地部署

感谢阅读 环境安装收尾 环境安装 项目文件 下载完后在根目录进入命令终端(windows下cmd、linux下终端、conda的话activate) 运行 pip install -e .不要控制台,因为还要下载模型。这里挂着是节省时间 模型申请链接 复制如图所示的链接 然后…

opencv改变像素点的颜色---------c++

改变像素点的颜色 #include <opencv2/opencv.hpp> #include <opencv2/core.hpp> #include <filesystem>bool opencvTool::changeColor(const std::string image_p, int x_coor, int y_coor, const cv::Scalar color) {std::filesystem::path file(image_p);…