《软件需求分析》习题集

32、在功能分解过程中,最重要的是要保证分解过程的平衡性(Balance)。平衡性是保 证功能分解不会导致需求内容出现偏差的方法,它要求 DFD子图的输入流、输出流必须和 父过程的输入流、输出流保持一致。请对下图的平衡性做出分析。

答:

上图所表示的功能分解中,父过程的输入流为 a,父过程输出流为 b,子图的输入流为 a和 c,子图的输出流为 b。这样,虽然父过程和子图的输出流保持一致,但它们的输入流 却存在差异,于是图所描述的功能分解破坏了平衡性,是一个错误的功能分解。 六、案例分析题

1、请按下列描述,用 DeMarco-Yourdon和 Gane-Sarson表示法分别画出“食物订货系 统”的过程模型图(DFD)。

食物订货系统主要和 3种外部的实体:顾客、管理者和厨房存在交互行为。首先,食物 订货系统需要接收顾客的食物订单,并在接收后向顾客呈送一个收条,然后将订单转交系统 内部的功能处理。其次,食物订货系统要能够将已经接收的食物订单及时的转交给厨房,这 样厨房才能够根据订货的情况进行生产。最后,食物订货系统要能够基于一段时间的事务积 累,为管理者提供管理报表,反映组织的生产状况。

食物订货系统的内部功能主要有 4个。第一个功能是接收顾客的食物订单,向顾客呈送 收条,并将订单及时转交厨房,同时启动对订单的后续处理(第二个功能和第三个功能)。 第二个功能是处理顾客食物订单,根据订单生成并记录食物的销售事务。第三个功能也是处 理顾客食物订单,但其目的是根据订单更新库存信息,以保证生成的原材料供应。第四个功 能是根据一段时间内的食物销售情况和库存管理情况,生成管理报表,向管理者反映组织的 生产状况。

在食物订货系统中,食物销售记录和库存记录是为了完成系统的功能(产生管理报表), 组织希望储存的数据。

28

解答:

图 1用 DeMarco-Yourdon表示法表示的 DFD

图 2用 Gane-Sarson表示法表示的 DFD

2、在下面的描述中,辨识参与者(ACTOR)和用例(USE CASE),并画出一个用例 图。

在医生的办公室里,接待员、护士和医生使用病人记录和计划安排系统。当病人第一次 来这里看病时,接待员使用该系统来输入病人信息,并且他们安排所有的预约。护士使用系 统来跟踪病人每次看病的结果并输入护理病人的信息,如医疗和诊断。护士也可访问这些信 息以打印病人诊断结果或病人看病历史。医生主要用这个系统来查看病人的病史,偶尔也输 入病人医疗信息,但通常他让护士输入这些信息。

29

解答:

输入病人信息

接待员

安排预约

登录

医生

输入医疗信息

护士

输入护理病人(诊断)的信

打印病历

查询病人诊断结果

查询病史

打印病人诊断结果

3、从下面的事件中,你可以替 Jeannine总结出哪些教训?

投资经理 Jeannine对一个新的投资跟踪系统具有强烈的需求。她需要做出快速决策来 考虑可能进行的投资和撤销投资,耽误一个小时就可能给公司造成几千美元的损失。

最后她放弃了使用公司的信息系统,因为公司的信息系统没有给予她的请求足够高的 服务优先级。她找到软件开发商,购买了一套看似可以满足她要求的软件。但高层管理人员 不同意使用,而且还遇到了其他一些问题。

首先,财务审计员重新评估了公司的投资策略和投资政策。Jeannine并不知道这一点, 于是新的系统没有计人正在被考虑的新政策。

她自己的职员抵制这个系统产生的有关投资和撤销投资的建议。虽然新系统使用了公 司信息系统现有的文件结构,但她却发现她的职员两年前就放弃使用那些文件了,因为那些 文件没有包括全面分析可选替代投资方案所需的数据。她的职员也批评新系统的设计,说很 小的操作错误就会把系统带入“混乱”状态,而且很难恢复过来。

她的一些下级经理坚持要有图形形式的报告,而新系统无法产生这些报告。

最后的问题是,Jeannine不能确定新系统是否可以进行适当的修改(数据库结构修改和 程序修改)以满足新的需求而不用重写所有的程序。而且她的老板也不能肯定是否会出资请 一位顾问来解决这些问题。

解答:

(1)她没有仔细认真地分析问题:

(2)她没有及时跟相关人员交流信息,没能把握住有价值信息: (3)她没能及时跟公司员工交流,引用过时的文件结构; (4)她没有仔细研究分析新引进的系统的性能需求是否满足: (5)她没有仔细研究新引进的系统的功能需求是否满足; (6)她没有仔细研究引进的系统的质量属性,对外接口是否满足。

4、根据下列描述,说明新的直接销售和财务处理系统的业务需求有哪些?

Especially for You Jewelers是大学城的一个小珠宝零售商。在过去的两年里,EspeciaIly for You在它的商业方面经历了极大的发展,可是,它的财务业绩却与它的发展不同步。现 在的事务处理系统部分手动、部分自动,不能有效地追踪客户账单和收据,Especially for You

30

难以确定为什么它的成本这么高。此外,Especially for You频繁地实行特价以吸引顾客。它 不知道这些特价是否有利可图,是否带来其他的销售。Especially for You也想增加回头客, 所以它需要一个客户数据库。Especially for You想按照一个新的直接销售和财务处理系统以 帮助解决这些问题。

解答:业务需求如 BR。

BRl:实现客户账单和收据的有效追踪;

BR2:实现产品特价时的利润和相关销售情况检查; BR3:实现一个客户数据库。

5、你被任命为替换学生财务资助项目的项目经理。你想开发一个工作陈述来定义项目 范围并降低范围蔓延的风险。财务资助部门的主管坚持要你 15个月、600 000美元的预算内 替换他现有的系统就可以了。他说这就是你需要知道的全部,不需要浪费时间开发一个工作 陈述了。省略工作陈述的风险是什么?你将如何说服主管?

解答:

省略工作陈述的风险是不能明确项目的前景和范围。如果省略了工作陈述的话,你就 不能和用户进行很好的沟通与交流,这样,项目的问题也就不能明确,即,开发人员无法与 涉众对问题达成共识;无法明确问题,也就无法发现正确的业务需求,无法定义良好的解决 方案及系统特性,继而无法明确项目的前景和范围,这样就会造成项目的不稳定甚至失败! 6、某大银行的一位银行卡办公室的收账经理 Liz遇到了一个问题。她每周都收到一份 过期未付款的账户名单。这份报告已经从两年前的 250个账户增加到现在的 1 250个账户。 为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不 同的规则确定,每个规则都要求 Liz检查客户的一项或几项数据。过去半天的工作量现在增 加到了每周三天。即使在确定了严重拖欠债务的账户后,如果没有查阅该账户三年内的历史 资料,Liz也不能做出最后的信用决定(例如严厉的催款电话、断绝信用或将这个账户转给一 个收账代理)。另外,Liz需要报告所有账户中过期未付款的、拖欠债务的、严重拖欠债务的 和呆死账的比例。目前的报告中并没有给她提供这个信息。

假设现在需要你来开发一个软件,解决 Liz面对的难题。那么你认为 Liz现在遇到的问 题有哪些?你希望新的软件应该达成哪些业务目标 ?你怎样设计软件的高层解决方案和系统 特性?

解答:

Liz现在遇到的问题有: (1)工作量的增加;

(2)客户账户的历史数据;

(3)问题账户所占比例没有显示… 新的软件应该达成的业务目标有: (1)能够快速查询客户账户;

(2)能够分析一个客户是否为问题账户;

(3)能够给出一个问题账户的三年内的历史数据: (4)能够计算问题账户所占比例… 软件的高层解决方案和系统特性:

(1)建立一个数据库系统用来存放客户账户信息;

(2)根据特定的判定问题账户的算法检索辨别出问题账户; (3)工作人员能够检查该账户的三年内的历史数据;

31

联系客服:779662525#qq.com(#替换为@)