软件工程期末复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、白盒与黑河的区别:
(1)黑盒测试:把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程;对程序接口进行测试,检查程序功能是否能按规格说明书的规定正常使用;程序是否能适当地接受输入数据并产生正确的输出信息;程序运行过程中能否保持外部信息的完整性
(2) 白盒测试:把程序堪称装在一个透明的白盒子里,测试者完全知道程序的结构处理算法;按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
2、测试步骤:模块测试,子系统测试,系统测试,验收测试,平行运行。
3、集成测试是测试和组装软件的系统化技术,即是在把模块按照设计要求组装起来的同时进行测试,由模块组装成程序时两种方法:非渐增式测试方法和渐增式测试方法。
4、软件生命周期的定义:生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序
5、软件生命周期的划分为几个阶段,以及每一个阶段的任务:分为8个阶段1.问题定义:问题定义阶段必须回答的关键问题是:“要解决的问题是什么”2.可行性研究:该阶段要回答的关键问题是:“上一个阶段所确定的问题是否有行得通的解决办法”。3.需求分析:这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题。这个阶段的另外一项重要任务,是用正式文档准确地记录对目标系统的需求,这份文档通常称为规格说明。 4.概要设计:这个阶段的基本任务是,概括地回答“怎样实现目标系统?”概要设计的另一项主要任务就是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块间的关系。5.详细设计:详细设计阶段的任务就是把解法具体化,也就是回答“应该怎样具体地实现这个系统”这个关键问题。这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。6.编码和单元测试:这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。7.综合测试:这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。8.软件维护:维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要通常有四类维护活动:改正性维护、适应性维护、完善性维护、预防性维护
6、软件生命周期模型:1、瀑布模型优点:可强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。瀑布模型的成功在很大程度上是由于它基本上是一种文档驱动的模型缺点:“瀑布模型是由文档驱动的”,缺乏灵活性:仅通过静态的规格说明很难全面正确地认识动态的软件产品。要求用户不经过实践就提出完整准确的需求是不切实际的。由于瀑布模型完全依赖于书面的规格说明,很可能导致最终开发出的软件不能真正满足用户的需要。适用范围:需求明确的中小型软件开发。2、快速原型优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险;有助于获取用户需求,加强对需求的理解尽早发现软件中的错误支持需求的动态变化缺点:所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下适用范围:需求模糊的小型软件开发3、增量模型优点:能在较短的时间内向用户提交可完成部分功能的产品逐步增加产品功能可以使用户有较充裕的时间学习和适应困难:在把每个新的增量构件集成到现有的软件体系结构中时,必须不破坏原来已经开发的产品软件体系结构必须是开放的适用范围:容易分块的大型软件开发4、螺旋模型优点:有助于获取用户需求,加强对需求的理解尽早发现软件中的错误支持需求的动态变化支持风险分析,可降低或者消除软件开发风险缺点:过多的迭代次数会增加开发成本,延迟提交时间只适合大型软件项目的开发,否则,每个阶段的风险分析将占用很大一部分资源,增加成本对开发人员的风险分析能力是极大的考验适用范围:容易分块的大型软件开发5、喷泉模型优点:可以提高软件项目开发效率,节省开发时间适应于面向对象的软件开发过程。缺点:需要大
量的开发人员,因此不利于项目的管理。要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。适用范围: 6、构件集成模型特点:面向对象基于构件库融合螺旋模型特征支持软件开发的迭代方法软件重用缺点:过分依赖于构件,构件库的质量影响着产品质量。适用范围:具有不确定性的大型软件开发7、转换模型特点:形式化软件开发方法形式化需求规格说明变换技术程序自动生成技术确保正确使用范围:理想化的模型,尚无成熟的工具支持
四、应用题(每小题10分*3=30)
1.某培训中心要研制一个计算机管理系统。它的业务是:
将学员发来的信件收集分类后,按几种不同的情况处理。
(1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
(3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
要求:
(1)对以上问题画出数据流程图。
(2)画出该培训管理的软件结构图。
解答:
(1)数据流图
(2)软件体系结构
2.建立窗口系统的对象模型,问题陈述如下:“窗口分为对话窗、图形窗、滚动窗三种。
对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。图形窗中有若干形状元素,形状元素分为一维形状和二维形状。一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动窗。”解答:(泛化关系)
3.假设某航空公司规定,乘客可以免费托运行李的重量不超过30公斤。当行李的重量超出30公斤时,对一般舱的国内乘客超重部分每公斤收费4元,对头等舱的国内乘客超重部分每公斤收费6元。对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。试画出相应判定表。
4.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。
(1) a=5 b=1 (2) a=5 b=-1 (3) a=5 b=1 (4) a=5 b=1
a=-5 b=-1 a=0 b=-1 (5) a=5 b=-1 (6) a=5 b=1
a=-5 b=1 a=0 b=0
a=-5 b=-1 a=-5 b=-1
(7) a=5 b=1 (8) a=5 b=1