软考高级架构师:软件工程需求分析中,功能模型、行为模型和数据模型

在需求分析中,功能模型、行为模型和数据模型是三种重要的建模方法,它们各自关注系统的不同方面。为了更好地理解它们的区别,我们可以用一个简单的例子来说明:想象一下我们要设计一个网上书店系统。
在这里插入图片描述

功能模型

功能模型描述的是系统应该做什么,即系统的功能和操作。

  • 定义:功能模型关注的是系统的各个功能和操作,以及这些功能之间的关系。
  • 工具:常用的工具包括用例图和功能分解图。
  • 例子:在网上书店系统中,功能模型可能包括以下功能:
    • 用户注册和登录
    • 搜索书籍
    • 浏览书籍详情
    • 添加书籍到购物车
    • 结账和支付

行为模型

行为模型描述的是系统如何做,即系统在不同情况下的动态行为和反应。

  • 定义:行为模型关注的是系统在不同事件和条件下的状态变化和响应。
  • 工具:常用的工具包括状态图、活动图和时序图。
  • 例子:在网上书店系统中,行为模型可能包括:
    • 用户登录后的状态转换(从未登录状态到已登录状态)
    • 购物车中的状态变化(从空购物车到有商品的购物车)
    • 结账过程中不同步骤的活动(选择支付方式、输入支付信息、确认支付)

数据模型

数据模型描述的是系统中的数据结构和数据关系,即系统需要处理和存储的数据。

  • 定义:数据模型关注的是系统中数据的组织、存储和管理方式。
  • 工具:常用的工具包括实体-关系图(ER图)和类图。
  • 例子:在网上书店系统中,数据模型可能包括:
    • 用户数据(用户ID、用户名、密码、地址等)
    • 书籍数据(书籍ID、书名、作者、价格等)
    • 订单数据(订单ID、用户ID、书籍列表、总金额等)

总结

  • 功能模型侧重于描述系统需要实现的功能。
  • 行为模型侧重于描述系统在不同情况下的动态行为。
  • 数据模型侧重于描述系统中数据的结构和关系。

通过这个网上书店的例子,我们可以更清晰地看到功能模型、行为模型和数据模型各自的侧重点和它们之间的区别。

这是我最喜欢的东东之一!在这个关于软件工程的新专栏里,作者将结合理论知识,实践案例,优秀的工具介绍,经典文章导读,告诉您软件工程中最重要的一个过程――需求过程各方各面的知识。通过阅读,您将了解到,需求的知识体系,需求的过程能力,相关的软件工程知识,在实践中如何做好需求分析。文章虽然有很多的例子,但是,文章主要还是偏向于宣传一种思想,一种面向对象的思想,一种实践的思想。 第一篇 1.1. 从猴子说起有这样一个笑话:一个旅客走进硅谷的一家宠物店,浏览展示的宠物。这时,走进一个顾客,对店主说:"我要买一只C猴。"店主点了点头,走到商店一头的兽笼边,抓出一只猴,递给顾客说:"总共5000美元。"顾客付完款,然后带走了他的猴子。这位旅客非常惊讶,走到店主跟前说:"那只猴子也太贵了!"店主说:"那只猴子能用C编程,非常快,代码紧凑高效,所以值那么多钱。"这时,旅客看到了笼子中的另一只猴子,它标价10000美元。于是又问:"那只更贵了!它能做什么?"店主回答:"哦,那是一只C++猴;它会面向对象的编程,会用Visual C++,还懂得一点Java,是非常有用的。"旅客又逛了一会儿,发现了第三只猴子,它独占一个笼子,脖子上的标价是50000美元。旅客倒抽一口气,问道:"那只猴子比其他所有猴子加起来都贵!它究竟能做什么?"店主说:"我们也不知道它究竟能这是我最喜欢的东东之一!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明明如月学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值