基于软件工程的结构化分析实验

1. 实验目的和要求

(1)掌握结构化分析方法进行建模的原则及使用场景。

(2)熟悉结构化分析建模的符号和绘制规则。

(3)使用结构化分析方法分析实际问题,绘制数据流图、状态转换图。

2. 实验原理

需求分析是需求获取、分析建模、需求描述和需求验证与评审的过程。一句话概括:需求分析要回答"系统做什么"这个问题。

分析建模是为了理解事物而对事物做出的一种抽象,通常由一组符号和组织这些符号的规则组成。需求分析阶段常用的建模方法有数据流图、实体---联系图、状态转换图、控制流图、用例图、类图、对象图等。

本次实验使用数据流图、状态转换图,对于"在线购物系统"进行结构化分析,使用规范的符号计建模机制描述系统需求。

3. 实验内容

在Visio2016集成开发环境下使用开展实验,利用相应的结构化分析方法,结合"在线购物系统"内容分别进行功能建模、数据建模及行为建模。

在线购物系统相关对象有:普通用户、管理员、支付平台。分析可知,存在以下数据流:

①用户到系统:注册信息、登录信息、商品浏览请求、下单信息、支付信息。

②系统到用户:注册结果、登录结果、商品信息、订单确认信息、支付结果。

③管理员到系统:商品添加信息、商品修改信息、商品删除指令、订单管理指令、用户管理指令。

④系统到管理员:商品列表信息、订单列表信息、用户列表信息、操作结果反馈。

⑤系统到支付平台:支付请求。

⑥支付平台到系统:支付结果通知。

另外,系统需要持久存储的数据包括:用户信息存储、商品信息存储、订单信息存储。主要实现了:用户管理子功能、商品管理子功能、订单管理子功能、支付子功能。

(1)使用结果化分析方法,画出该系统的顶层数据流图?

(2)根据(1)中提示使用结果化分析方法,画出该系统的1层数据流图?

(3)在线购物系统有用户功能模块,用户身份状态节点包括:未注册、已注册未登录、已登录、信息已修改(临时状态)。

存在状态转换分别是:

①注册:未注册 →(提交注册信息)→ 已注册未登录。

②登录:已注册未登录 →(验证登录信息)→ 已登录。

③退出登录:已登录 →(退出操作)→ 已注册未登录。

④修改信息:已登录 →(更新信息)→ 信息已修改 →(保存后)→ 已登录。

(4)请构设用户角色状态转换图?

4. 实验小结

本次"在线购物系统"结构化分析实验顺利完成,通过实际操作,我对结构化分析方法有了更为深入的理解与掌握,实验达到了预期目标。熟悉了结构化分析建模中数据流图和状态转换图所使用的符号及其绘制规则。

在绘制顶层数据流图时,准确运用外部实体、数据流、加工和数据存储等符号,清晰界定了系统与外部环境的交互边界;在绘制 1 层数据流图时,对顶层数据流图中的加工进行分解,使用更详细的符号表示各子加工之间的数据流动关系。在绘制状态转换图时,合理运用状态、事件、转换等符号,准确描述了系统中对象的状态变化过程。这些符号和规则的掌握为后续准确建模奠定了坚实基础。

深入领会了结构化分析方法进行建模的原则,明确了该方法适用于系统功能明确、流程相对固定且注重数据处理的场景。例如,在"在线购物系统"中,用户从浏览商品到下单付款,再到物流配送的整个流程,数据流动清晰、环节明确,结构化分析方法能够很好地对系统功能进行拆解与分析,帮助我理解如何根据系统特点选择合适的建模方法。通过运用结构化分析方法对"在线购物系统"这一实际问题进行分析,我学会了如何从复杂的业务需求中提取关键信息,并将其转化为直观的图形模型。

本次实验让我在结构化分析方法方面取得了显著的进步,我将继续努力,不断提升自己的专业能力,为今后的系统开发和设计工作打下坚实的基础。

相关推荐
汗流浃背了吧,老弟!1 分钟前
BPE 词表构建与编解码(英雄联盟-托儿索语料)
人工智能·深度学习
软件聚导航9 分钟前
从 AI 画马到马年红包封面,我还做了一个小程序
人工智能·chatgpt
啊森要自信25 分钟前
CANN ops-cv:AI 硬件端视觉算法推理训练的算子性能调优与实战应用详解
人工智能·算法·cann
要加油哦~28 分钟前
AI | 实践教程 - ScreenCoder | 多agents前端代码生成
前端·javascript·人工智能
玄同76529 分钟前
从 0 到 1:用 Python 开发 MCP 工具,让 AI 智能体拥有 “超能力”
开发语言·人工智能·python·agent·ai编程·mcp·trae
新缸中之脑31 分钟前
用RedisVL构建长期记忆
人工智能
J_Xiong011738 分钟前
【Agents篇】07:Agent 的行动模块——工具使用与具身执行
人工智能·ai agent
SEO_juper44 分钟前
13个不容错过的SEO技巧,让您的网站可见度飙升
人工智能·seo·数字营销
小瑞瑞acd1 小时前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
CoderJia程序员甲1 小时前
GitHub 热榜项目 - 日榜(2026-02-06)
人工智能·ai·大模型·github·ai教程