辽工大邱云飞老师需求工程复习资料 - 图文 下载本文

者新增的需求一种减少风险的开发模式

4. 需求工程细节知识的实践性对不同项目的需求开发过程的差异性有没有影响?如果有,请说明影响是什么。如果没有,请说明是哪些因素产生了不同项目的需求开发过程的差异性。

解答:没有。问题域的特性导致了不同项目的需求开发过程的差异。

丁老师解答:没有影响。其实是需求开发过程的差异性一定程度上导致了细节知识的实践性。现实世界问题的复杂性和差异性主要导致了需求开发过程的差异性

第4章 需求获取概述

复习题:

缺少用户参与的原因。和解决方法。

1. 用户数量太多,选择困难——涉众分析,完整性,代表性 2. 用户认知不足,不愿意参与——积极交流,加强理解 3. 用户情绪抵制,消极参与——平衡、共赢分析 4. 没有明确的用户——用户替代源 5. 管理上的障碍——求得高层支持。

第二部分 需求获取

第5章 确定项目的前景和范围

复习题:

高层解决方案描述方法。 1. 方案问题标识 2. 方案描述 3. 方案优势 4. 方案代价 5. 方案边界 6. 方案约束

案例题

1. 你被任命为替换学生财务资助项目的项目经理。你想开发一个工作陈述来定义范围并降低范围蔓延的风险。财务资助部门的主管坚持要你15个月、600

~ 5 ~

000美元的预算内替换他现有的系统就可以了。他说这就是你需要知道的全部,不需要浪费时间开发一个工作陈述了。省略工作陈述的风险是什么?你将如何说服主管?

解答一:不做工作陈述的风险: 1. 在获取需求时,用户往往从各自的立场出发考虑问题,提出相应的功能需求。如果没有工作陈述,用户就不会从共同的方向上考虑和理解问题,对系统的期望也就产生了较大的差距。 2. 没有工作陈述,就等于在用户之间发生需求冲突时,就没有可以用来指导并且调节协商的项目前景,冲突问题也就很难解决。

风险:1需求理解错误2不能按时完成(超期超资)3做出来的不是想要的 定义范围的必要性:1.加强用户和开发人员的理解,定义一致的理解2.降低风险

解答二:省略工作陈述的风险是不能明确项目的前景和范围。如果省略了工作陈述的话,你就不能和用户进行很好的沟通与交流,这样,项目的问题也就不能明确,即,开发人员无法与涉众对问题达成共识;无法明确问题,也就无法发现正确的业务需求,无法定义良好的解决方案及系统特性,继而无法明确项目的前景和范围,这样就会造成项目的不稳定甚至失败!

解答三:通过准确的工作陈述来定义项目范围,可以帮助涉众建立现实的期望,包括第一版范围,后续版本范围、限制与排除。第一版范围概述产品的第一个版本中实现的主要特性,描述产品的质量特性,可以为不同类别的用户提供预期利益。后续版本能够实现更多的需求和特性,并完善最初的功能。尤其要说明的是,管理范围蔓延的方法之一,是定义项目包含的需求与不包含的需求之间的界限,应该列出涉众可能希望得到,但不在产品或其某个特定版本计划之内的功能和特性。

2. 某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1250个账户。为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查客户的一项或几项数据。过去半天的工作量现在增加到了每周三天。即使在确定了严重拖欠债务的账户后,如果没有查阅该账户三年内的历史资料,Liz也不能做出最后的信用决定(例如严厉的催款电话、断绝信用或将这个账户转给一个收账代理)。另外,Liz需要报告所有账户中过期未付款的、拖欠债务的、严重拖欠债务的和呆死账的比例。目前的报告中并没有给她提供这个信息。

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

~ 6 ~

问题 业务目标 高层解决方案 系统特性 帐户太多,工作减少检查人员的能够快速、自动查询建立一个数据库量太大 工作量 客户账户 系统用来存放客户账户信息 降低工作复杂度 能够分析一个客户是根据特定的判定否为问题账户 问题账户的算法检索辨别出问题账户 需查阅账户的大能够给出一个问工作人员能够检查该能够按账户号查量历史数据 题账户的三年内账户的三年内的历史询该账户三年历的历史数据 数据 史数据 问题账户所占比能够计算问题账即时显示问题账户所根据查询结果,自例没有显示 户所占比例 占比例 动计算并显示问题账户所占比例

3. 职工福利和工资顾问遇到了一些问题。她的工作是为雇员提供他们的福利建议。公司刚刚磋商了一个新的医疗保险方案,这个方案要求雇员从7个保健组织和首选的供应商方案中进行选择。保健组织和供应商按照雇员的分类、贡献、免赔额、受益人、服务内容和允许的服务提供商而各不相同,目的是尽可能为雇员提供最灵活的福利,用以使公司的花费极小化并控制付给保险商的费用(这将对公司被收取的后续保险费产生一定的影响)。

这个顾问被请来为雇员选择最合适的保险方案。她目前以手工方式答复这些请求。但目前的选择比新计划中的选择要直接得多。她需要解释新的选择:它们包括什么,不包括什么,它们的费用和可能费用是多少,具有什么优缺点。但是,雇员对新计划不信任,这种情况迫使她需要向雇员提供更多具体的建议和答复。

她可能不得不为许多雇员逐步建立假定情境——可能的最坏假定情境。这种假定将要根据每个雇员的收入、婚姻和家庭状况、目前的健康风险等进行个人定制。在逐步建立一些样本假定时,她发现:(1)从信息系统部门获得工资和个人数据需要一天时间。(2)雇员数据存储在许多文件夹中,而且并不总是被正确地更新。当冲突数据变得很明显时,除非解决了矛盾,否则就不可能继续她的工作。(3)计算复杂。为一个雇员创建投资和退休假定常常需要花费一整天或更长时间。(4)有些人担心保险计划会被提供给未授权的个人,例如以前的配偶或者非直系亲属。(5)计算中可变条件的复杂性导致经常出错,很多错误可能一直未被发现。

假设现在需要你来开发一个软件,解决职工福利和工资顾问的问题。那么你认为她现在遇到的问题有哪些?你希望新的软件应该达成哪些业务目标?你怎样设计软件的高层解决方案和系统特性?解决方案有哪些重要的约束? 解答: 问题 业务目标 高层解决方案 ~ 7 ~

不能有效地从信息部门获得工资和个人数据 减少从信息部门获得工资和个人数据的时间; 度量标准(Scale):一次从信息部门获得工资和个人数据的时间; 计量方法(Meter):检查信息部门数据库日志; 理想标准:减少50%;一般标准:减少30%;最低标准:减少20%; 雇员数据太过集中雇员数据,并且正确更新 分散,而且不能及时正确地更新 由软件从信息部门的数据库中检索出工资和个人数据,减少所需信息获取的时间 由软件来分析雇员数据的各种特征,及早识别出数据所在位置;或由软件集中处理雇员数据,及早识别出不准确的或没有及时更新的数据,提交人工处理或自行更新 计算复杂 降低计算的复杂性 由软件来处理投资和退休假定的计算的复杂过程 雇员信息不能及时有效正确地更新雇员信由软件来分析个人数据的准得到及时有效息 确性,及早识别出不准确的个正确的更新 人信息,提交人工处理; 或定时更新数,提高数据的准确性; 计算中可变条降低计算中可变条件的复杂由软件来处理计算中可变条件的复杂性 性 件的复杂性,降低出错率 (1) 系统特性: ? 根据信息部门提供的数据库查询工资和个人数据; ? 根据原始数据重新整理数据并更新; ? 提交查询信息;

? 创建投资和退休假定的计算过程;

? 通过公司的内联网访问系统,根据个人情况更新信息; ? 模拟计算中可变条件的变化; ? 提供最灵活的福利方案。

重要的约束有: 约束源 约束 操作性 雇员信息必须有备份 设备预算 有自己已有的系统上开发 技术要求 应用面向对象的方法 行政要求 需要信息部门的信息 系统 空间不应该超过20M字节 环境 安全性

~ 8 ~