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