查看原文
其他

[答疑]启动软件是用例吗

UMLChina 2023-06-27

沙亚雄 2020-8-13 14:06

潘老师,你好,最近读了您的软件方法,结合自己的项目发现始终有一个疑问?那就是启动软件算不算一个用例,因为软件在启动的时候一般都要实例化一些对象,读一些配置文件等等。那启动软件或者软件关闭软件算一个用例吗?是系统用例还是其他用例的扩展呢?

UMLChina潘加宇

不算。

用例是需求,需求描述系统作为一个整体(黑箱)必须有的表现(功能、性能、强加的约束)——“不这样不行”。

那我们来看:

(1)“启动软件”在涉众看来属于“不这样不行”吗?

其实不是,涉众要的是我们系统为他提供的核心域相关的价值。如果我们的系统从面对涉众开始就一直可以使用,让它计算什么就计算什么,不需要启动,涉众是很高兴的。怎么做到?这不关需求的事。参见第二章“投币法”,我们的系统是外星人做的,这点有什么做不到的?

(2)“软件在启动的时候一般都要实例化一些对象,读一些配置文件”——这很可能不是需求。

“实例化”、“读取”、“加载”实际上是从设计角度猜想的一种设计方案。

系统是一个黑箱,不存在“实例化”、“读取”、“加载”,把这些删掉,然后问“为什么,不这样可能会怎样”,回答可能是“不这样,可能做某个计算的时候,从输入到输出的时间会比较长,那就被竞争对手甩下了”——这个才是系统作为一个整体不得不满足的。我们的系统是外星人做的,外星人有没有“实例化”、“读取”、“加载”我们怎么知道,外星人能给我做到速度比对手快就行了呗。

(3)和当前系统、当前用例相关吗?

可能有的人说,不管是谁启动,系统总得先启动吧?这是傻子都知道的,和当前系统、当前用例没有特定关系,不用写。


但是,就像我在“废话迷”一文中说的,很多人会乐意把“启动”当成用例,然后每个项目都写一遍,不用思考,还可以凑工作量,爽!


当然,如果“启动”就是目标系统的核心价值,它就是用例。例如,一个提供“远程跨平台启动应用程序”服务的软件。


UMLChina建模竞赛题大全-题目全文+分卷自测(10套100题)



《软件方法》书中自测题-题目全文+分卷自测(1-8章)16套111题


9月19-20、26-27晚网络软件需求设计方法学全程实例剖析公开课


[9月15日新增EA009试看]全程字幕-司法调解、房产抵押评估、博物馆安全、跨组织结算、远程求医、期货仓单-建模示范视频



软件开发团队的脓包(3)废话迷


《非程序员》电子杂志下载(39-51期)


《非程序员》电子杂志下载(1-38期)


中文书籍中对《人月神话》的引用(完结,共110本):软件工程通史1930-2019、实用Common Lisp编程……


CTO也糊涂的常用术语:功能模块、业务架构、用户需求、文档……(2020年3月更新素材)


UMLChina服务介绍




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存