列表

详情


阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某公司承接了一个银行业务系统的软件开发项目,质量要求非常高。项目经理小赵制定了项目的整体计划,将项目划分为需求、设计、编码和测试四个阶段,他将测试阶段预留了大量的时间,以便开展充分的测试工作。
需求分析完成后,项目组编写了《需求分析报告》,项目经理小赵召集部分骨干人员召开评审会,对需求文件进行了评审。为了尽快进入下一阶段工作,评审会从早上9点一直开到晚上9点,终于把全部的文件都审完了。评审组找到了几处小问题,并当场进行了修改,项目经理宣布可以进入设计阶段了。
设计人员根据需求文件编写了《设计说明书》,并提交给小赵,小赵对设计文件仔细审阅后,便安排程序员开始编程。
编程结束后,进入了测试阶段。第一轮测试,发现了70个缺陷。项目组对发现的缺陷进行了修复,又重新提交了测试。第二轮又发现了100多个缺陷。就这样反复修改和测试,直到第6轮,发现了33个缺陷。各轮发现的缺陷数如下:

 
这时,小赵终于松了一口气,由于第六轮只剩下33个缺陷,他觉得测试工作应该很快就会结束了。

【问题1】(10分)
请问分析此项目的质量管理过程中存在哪些问题。
【问题2】(9分)
请在答题纸上标出纵坐标的刻度值,并画出测试缺陷的趋势图。

根据趋势图分析“小赵觉得测试工作应该很快就会结束了”是否有道理,并说明原因。 
【问题3】(3分)
请结合软件开发生命周期分析软件存在缺陷的可能原因。 
【问题4】(3分)
请结合实际经验说明软件项目的质量管理工作应重点完成哪些工作。

参考答案:

[问题1](10分)
1、小赵没有制定单独的质量管理计划,也没有安排质量管理人员(没有分配质量管理职责)(2分)
2、没有对项目过程进行质量检查工作(项目没有实施质量保证工作,只进行了质量控制工作)(2分)
3、质量控制方面存在问题(2分)如:
(1)项目在重大里程碑处需由干系人对阶段成果进行评审,确保结果和预期目标一致
(2)需求评审没有客户参与,可能导致最终对需求不能达成一致,设计文件未经过正式评审,可能导致设计文件有较多的错误
(3)技术评审会是为了发现问题的,而不是修改问题的,评审会没有达到预期效果
(4)需求评审控制不好。需求评审属于技术评审,评审会连续时间过长会导致效率低下(或者说评审会召开时间过长,起不到质量控制的作用)
(每项1分,最多2分)
4、测试工作,如在测试用例、测试方法、测试人员及测试环境等方面存在问题(2分)
[问题2](9分)
画出趋势图(3分)
 
不能判断测试可以结束(3分),因为6轮测试的缺陷数并没有呈整体下降并趋于稳定的趋势(3分)
[问题3](3分)
产生的原因可能是需求缺陷、设计缺陷、编码错误、测试不充分(每条1分,满分3分)。
[问题4](3分)
1、制定质量保证计划
2、应安排独立于项目组的质量保证人员负责质量保证工作
3、对软件开发的过程实施质量审计
4、注重对需求和设计等开发过程文件的技术评审工作
5、注重测试工作,应安排相对独立的测试人员
6、对发现的缺陷进行统计分析,确保软件质量
(每条1分,满分3分)

详细解析:

【问题1】
从案例背景描述来看,项目经理小赵没有制定单独的质量管理计划,也没有安排质量管理人员,并且也没有进行系统的质量保证工作,在他的眼里只有质量管理基本上等同于质量控制。
“需求分析完成后,项目组编写了《需求分析报告》,项目经理小赵召集部分骨干人员召开评审会。”表明项目开发团队有闭门造车之嫌,因为根本没有邀请相关干系人(特别是客户)来参加需求评审会。这极有可能导致各方最终对需求的理解不能达成一致。
“对需求文件进行了评审。为了尽快进入下一阶段工作,评审会从早上9点一直开到晚上9点,终于把全部的文件都审完了。评审组找到了几处小问题,并当场进行了修改,项目经理宣布可以进入设计阶段了。”这段话一方面可以看出评审会时间太长,为了评审而评审。另一方面, 另一方面评审会的作用是发现问题,并不是要当场修改问题。
“设计入员根据需求文件编写了《设计说明书》,并提交给小赵,小赵对设计文件仔细审阅后,便安排程序员开始编程。”可以看出《设计说明书》也没有得到客户的正式认可,显然这为将来的质量问题留下了隐患。
【问题2】
趋势图最大的好处就是根据过去的历史数据,来推断和预测将来的发展趋势,因此只要根据案例背景中提供的数据,把测试缺陷的趋势图完整地绘制出来后,就可以分析小赵的判断是否合理了。
【问题3】
常见的引发软件质量缺陷的原因不外乎下列因素:
需求阶段没有充分获取客户的需求,或者产生的需求规格说明书没有进行有效的验证,也没有得到客户的签字认可;软件设计存有缺陷,并且未能及时发现。编码阶段中,编码人员技术水平不够好或责任心不强,或者未建立一套行之有效的编码规范并遵照执行,或者各模块的编码人员之间缺乏及时有效的沟通,从而导致编码缺陷的大量发生;各种层面的测试工作(如单元测试、集成测试、系统测试等)没有做好,不能及时检测出软件中存在的问题。
【问题4】
要想做好一个软件项目的质量工作,以下方面是必须要考虑的:
制定有效的项目质量管理计划,明确项目质量管理标准。加强质量保证工作,安排专人负责QA工作,重点保证过程的质量。做好质量审计工作,必要时进行软件过程改进。采取有效的质量控制工具来进行质量管理。制订合理的评审计划,加强技术评审与管理评审工作。及时检测发现并纠正软件缺陷,并对发现的缺陷进行统计分析
 

上一题