"将每个用户的数据和其他用户的数据隔离开"是从安全性方面提出的功能要求,这主要考虑了软件的功能性质量特性。
风险管理当中包括了对风险的量度、评估和应变策略。理想的风险管理,是针对一连串排好优先次序的过程,使当中可以引致最大损失及最可能发生的事情优先处理,而相对风险较低的事情则押后处理。现实情况中,优化的过程往往很难决定,因为风险产生的后果和发生的可能性通常并不一致,所以要权衡两者的比重,以便做出最合适的决定。
软件维护一般分为正确性维护、适应性维护、完善性维护和预防性维护。完善性维护是对软件功能的扩展和对性能的改善。题目中"修改其排序算法使其更高效"很明显是对性能的改善,属于完善性维护。
瀑布模型是W.Royce于1970年首先提出的,由可行性研究、需求分析、系统设计、编码、测试、运行和维护各阶段组成。该模型把软件生命过程比喻成瀑布的流水,每个阶段看作瀑布中的一个台阶,软件生命过程在台阶上由上向下流动。瀑布模型规定上一阶段的变换结果是下一阶段变换的输入,相邻两个阶段具有因果关系,紧密相连。为保障软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶段的工作。评审过程发现错误和疏漏后,应该反馈到前面的有关阶段修正错误、弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段。本题是要用新技术开发一个系统,并替换原有系统,客户需求明确,工作可以采用线性的方式完成,因此适合采用瀑布模型进行开发。
接口设计是在结构化设计中进行的。结构化设计是以结构化分析产生的数据流图为基础,按一定的方法转换为软件结构。
设计质量的评审内容包括以下几个方面。
评价软件的规格说明是否合乎用户的要求。
评审可靠性。
评审保密措施实现情况。
评审操作特性实施情况。
评审性能实现情况。
评审软件是否具有可修改性、可扩充性、可互换性和可移植性。
评审软件是否具有可测试性。
评审软件是否具有复用性。模块层次属于程序质量的评审内容,不属于设计质量的评审内容。
等价类划分法选择适当的数据子集来代表整个数据集,通过降低测试的数目实现"合理的"覆盖,从而覆盖更多的可能数据,以发现更多的软件缺陷。在设计测试用例的时候要考虑有效等价类和无效等价类。有效等价类:指输入完全满足程序输入的规格说明,是由有效、有意义的输入数据所构成的集合。利用有效等价类可以检验程序是否满足规格说明所规定的功能和性能。无效等价类:和有效等价类相反,指由不满足程序输入要求或者无效的输入数据构成的集合。使用无效等价类,可以鉴别程序异常情况的处理。本题中,(队长,15)、(队长,12)都是无效等价类的测试用例,当测试到队长不属于班委干部时就会抛出异常,对年龄的测试就没有意义了,因此(队长,12)不是好的测试用例。可以设计测试用例(班长,12),用于测试年龄不符合要求的情况。
各阶段的任务如下。需求分析阶段的任务是:确定待开发软件的功能、性能、数据和界面要求。概要设计阶段的任务是:采用某种设计方法,将一个复杂的系统按功能划分成模块;确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口;评价模块结构的质量。同时还要设计数据结构、设计数据库。详细设计阶段的基本任务是:对每个模块进行详细的算法设计;对模块内的数据结构进行设计;对数据库进行物理设计等。
喷泉模型是一种以用户需求为动力、以对象为驱动的模型,主要用于描述面向对象的软件开发过程。喷泉模型不像瀑布模型那样需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发
对于折半查找,有两种结果,要么查找到,要么没有查找到,这两种结果是互斥的,因此至少需要2个测试用例可以覆盖所有的可能路径。