完整软件生存周期流程图
- 格式:pdf
- 大小:275.77 KB
- 文档页数:1
1、瀑布模型把软件生命周期划分为八个阶段:问题旳定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大旳阶段:计划阶段、开发阶段和( C )。
A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从构造化旳瀑布模型看,在它旳生命周期中旳八个阶段中,下面旳几种选项中哪个环节出错,( C)对软件旳影响最大。
A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在构造化旳瀑布模型中,哪一种阶段定义旳原则将成为软件测试中旳系统测试阶段旳目旳( A)。
A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程旳出现重要是由于( C )。
A、程序设计措施学旳影响B、其他工程科学旳影响C、软件危机旳出现D、计算机旳发展5、软件工程措施学旳目旳是:使软件生产规范化和工程化,而软件工程措施得以实行旳重要保证是(C )A、硬件环境B、软件开发旳环境C、软件开发工具和软件开发旳环境D、开发人员旳素质6、软件开发常使用旳两种基本措施是构造化和原型化措施,在实际旳应用中,它们之间旳关系体现为 ( B )A、互相排斥B、互相补充C、独立使用D、交替使用7、UML是软件开发中旳一种重要工具,它重要应用于哪种软件开发措施( C )A、基于瀑布模型旳构造化措施B、基于需求动态定义旳原型化措施C、基于对象旳面向对象旳措施D、基于数据旳数据流开发措施8、在下面旳软件开发措施中,哪一种对软件设计和开发人员旳开发规定最高( B)A、构造化措施B、原型化措施C、面向对象旳措施D、控制流措施9、构造化分析措施是一种预先严格定义需求旳措施,它在实行时强调旳是分析对象旳(B )A、控制流B、数据流C、程序流D、指令流10、软件开发旳构造化生命周期措施将软件生命周期划提成( C)A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用旳构造化生命周期措施,由于其特性而一般称其为( A)A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发旳瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为也许占用人员最多旳阶段是(A )A、分析阶段B、设计阶段C、编码阶段D、测试阶段13、需求规格阐明书旳作用不应当包括( D)。
软件生存周期一般可以划分为什么?基于软件的功能划分,软件可以划分成哪三种?答:系统软件,支撑软件,应用软件:数据流图的哪些基本四种成分;答::数据源、对数据的加工处理、数据的流向、单表或报表;软件详细设计工具可分为哪些3类?答:图形,表格,语言:1.什么是软件工程?2.3.什么是黑盒测试法?黑盒测试又称功能测试。
在这里,盒子指的是被测试的软件,“黑盒”就是只知道被测试软件的外部情况,主要是界面和接口,被测试软件的内部逻辑结构和数据结构,对测试人员来说是不可见的,主要关注被测试软件的功能实现。
4.耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?耦合性 7种从低到高依次是非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合内聚性 7种从高到低功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,巧合内聚,根据下面的伪代码程序,完成相应要求。
(3分)STARTIF C1THENWHILE C2 DOfENDDOELSEBLOCKgpENDBLOCKENDIFREPEAT UNTIL C3qrENDREPSTOP1)画出程序流程图和N—S图2)3)a)有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X=10ELSE X=lENDIFIF N>=20THEN Y=20ELSE Y=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。
复习资料答案将在考试以后公布将下面的关系按继承关系、聚集关系或普通关联进行分类。
小汽车---------红旗轿车(继承)小汽车---------驾驶员(普通)班级------------学生(聚集)2、将下列各项分为类或类的实例我的汽车(类的实例)交通工具(类)软件生命期各阶段的任务是什么?软件重用的效益是什么?自顶而下渐增测试与自底而上渐增测试各有何优、缺点?简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。
《软件工程实用教程》第2、3、4、5章习题与参考答案第2章软件生存周期及开发模型1.简述什么是软件生存周期?根据国家标准《计算机软件开发规范》,软件生存周期主要包括哪几个阶段?答案要点:软件生存周期是指软件产品从功能确定、设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。
国家标准GB8566-1988《计算机软件开发规范》将软件生命周期划分为几个阶段:可行性研究、项目计划、需求分析、总体设计、详细设计、编码实现(包括单元测试)、集成测试、确认测试、系统运行和维护。
这几个阶段又可以归纳为3个大的阶段,即软件定义阶段,软件开发阶段和软件运行维护阶段。
2.瀑布模型有哪些特点?对于里程碑,你有哪些认识?答案要点:瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件项目按规程管理提供了便利。
例如,按阶段制定项目计划,分阶段进行成本核算,进行阶段性的评审等。
这为提高软件产品质量提供了有效保证。
瀑布模型的特点:•阶段性:前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是后一阶段的输入文档。
•阶段评审:在每一阶段工作完成后都要进行评审,以便尽早发现问题,避免后期的返工,如果评审不合格,则不开始下一阶段的工作。
•文档管理:在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶段的任务。
3.试说明原型模型的两种实现方案各有什么特点?各适用于什么情况?答案要点:原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。
将模拟的手段引入需求分析的初期阶段,通过建立原型缩短用户与分析人员之间的距离。
快速原型方法具有以下一些特点。
•快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。
一旦需求或设计确定下来,原型就将被抛弃。
因此快速原型要求快速构建、容易修改,以节约原型创建成本,加速开发速度。
快速原型往往采用软件生成工具来创建,例如,4GL语言。
软件生命周期软件的生命周期是一个孕育、诞生、成长、成熟和衰亡的生存过程,也就是所谓的软件定义、软件开发和运行维护3个时期组成。
而每个时期又有所要完成的不同的基本任务。
软件定义时期的主要任务是解决“做什么”的问题,通俗的讲就是做此项目的主要功能及可行性报告等。
比如说网上选课系统,在软件定义阶段,要确定以下几个功能模块:管理员管理课程、教师、学生的增删改查和对教师、学生的权限授予等功能,教师对自己信息的修改和对自己课程的上传、修改、删除、查询等功能,学生对课程的选择、退选及查询等功能。
针对此项目,从技术、经济、法律、成本、可获得的效益、开发的进度做出一系列的估算,制定出具体的实施计划。
软件开发时期的主要任务是解决“如何做”的问题,也就是如何完成此项目的过程,要解决每个构建所要完成的工作以及完成此工作的顺序。
选择编写源程序的开发工具,把软件设计转换成计算机可以接受的程序代码。
比如说网上选课系统,在软件开发阶段,我们确定先要进行管理员的模块编写,再进行教师模块的编写,进而进行学生模块的编写,另外也要确定是运用某种软件开发工具,如java、C语言等进行模块的开发等。
运行维护时期的主要任务是使软件持久地满足用户的需要,通常包括:改正性维护、适应性维护、完善性维护和预防性维护。
在此阶段主要是把前期的各个模块组装起来进行测试,保证按需求分析的要求完成软件功能的测试并对此进行确认,交与开发方运行测试。
比如网上选课系统,在运行维护阶段,要对前期的管理员、教师、学生这三个模块进行组合,并按照需求分析的功能进行核对,有不符合需求规格说明书之处进行修改,直到完全符合并测试成功,交与开发方测试及运用。
软件的生命周期是一个耗时长的工程。
在软件工程生命周期的3个时期中,各个阶段又有着其不同的基本任务:一、问题定义和可行性研究此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
在这个阶段中我们需要从开发的技术、成本、效益等各个方面来衡量这个项目,进行可行性分析,形成可行性分析报告书,并以此为基础进行需求分析等后期的工作。
其他系统西安交通大学——软件工程概论所有答案原型特征分为几种类型?答案是:"原型特征有下列类别(1)、系统的界面形式,用原型来解决系统的人机交互界面的结构。
(2)、系统的总体结构,用原型来确定系统的体系结构。
(3)、数据库模式,用原型来确定系统的数据库结构。
"什么是探索型原型模型?答案是:这是一种把原型思想用于需求分析阶段的快速原型模型。
通过对原型的开发来明确用户的需求。
适用于一个开发目标模糊、用户与开发者均缺乏这种项目开发经验的软件项目。
一旦通过原型的开发运行,明确了用户的需求,可按瀑布模型的设计、编码、测试进行开发。
这种原型模型是在研究需求分析阶段的方法设计中产生的。
什么是实验型原型模型?答案是:这是一种把原型思想用于设计阶段的快速原型模型。
若对于一个大型软件系统的设计方案没有把握时,要考核设计方案是否正确、能否实现,可通过原型模型的开发运行来证实。
一旦通过原型模型的开发运行,证实设计方案是正确的、能实现的,可废弃这个原型,按照开发过程来开发。
什么是软件危机?软件危机表现在哪些方面?答案是:"在计算机软件的开发和维护过程中所遇到的一系列严重问题,长期找不到解决这些问题的办法,使问题逐渐积累起来,形成了尖锐的矛盾,从而导致了软件危机。
软件危机的表现有以下几个方面:(1)、对于软件开发的成本和进度的估计很不准确。
由于缺乏软件开发的经验和软件开发数据的积累,使得很难制定出合理有效的开发工作计划。
(2)、开发的软件产品不能完全满足用户要求,用户对已完成开发的软件系统不满意的现象常常发生。
(3)、开发的软件可靠性差。
(4)、软件的可维护性差。
(5)、软件通常没有适当的文档。
(6)、软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
"什么是软件生存周期?它有哪些活动?答案是:"软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
中南大学现代远程教育课程考试(专科)复习题及参考答案软件工程一、单项选择题1、下列哪个阶段不是软件生存期三个阶段中的内容()。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为 ( )A、可用性B、可靠性C、正确性D、完整性3、需求分析阶段结束后,应交出的文档中不包括()。
A、数据流图B、数据字典C、简明的算法描述D、项目的经费预算4、关于数据流图不正确的描述是()。
A、数据流图是结构化系统分析的主要工具。
B、在数据流图中,*号标识相邻的数据流只取其一。
C、加工是以数据结构或数据内容作为加工对象的。
D、数据流图的主图中必须包括全部四种基本元素。
5、瀑布模型的存在问题是()A、用户容易参与开发B、缺乏灵活性C、用户与开发者易沟通D、适用可变需求6、软件调试技术包括()A、边界值分析B、演绎法C、循环覆盖D、集成测试7、软件维护产生的副作用,是指()A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作8、软件测试不包括()方面的差错和纠错。
A、软件计划B、软件设计C、软件编码D、软件价格9、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是()A、探索型模型B、演化型模型C、实验型模型D、提交型模型10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是()A、数据控制B、数据定义C、数据操纵D、数据约束11、软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据而且也影响软件的()A、可使用性B、可操作性C、可维护性D、可开发性12、在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般被归属于()A、定义时期B、分析论证时期C、调研时期D、初始阶段13、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的()A、数据流B、数据元素C、数据结构D、数据约束14、软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于()A、修改源代码B、阅读设计文档C、阅读源代码D、修改设计文档15、以实体、联系和属性等基本概念为基础的实体联系图是基本实体联系图。
软件工程学习资料(1)一、填空1、软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。
2、N-S图中的顺序结构:在PAD图中表示为:PAD图设置五种基本控制结构,并允许递归使用。
3、模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。
耦合衡量不同模块彼此之间相互依赖的紧密程度。
内聚衡量一个模块内部各个元素彼此结合的紧密程度。
4、软件测试方法按测试过程是否在实际应用环境中分为静态分析和动态测试。
二、单项选择题1、模块在同一段时间内完成各种初始化工作,这属于。
A.偶然内聚B.逻辑内聚C.时间内聚D.过程内聚2、在编程安全方法方面,一般来说无法做到。
A. 避开错误B.完美无缺,绝无错误C. 冗余D.设计防错程序3、在衡量软件质量时,最重要的标准是。
A. 成本低B. 可维护性好C. 符合要求D. 界面友好4、下列工具中,不属于详细设计工具的是。
A. 测试工具B. 图形工具C. 表格工具D. 语言工具5、下列哪个做法会导致不利的语句结构A.避免使用ELSE GOTO结构B.对递归定义的数据结构尽量不再使用递归过程C.模块功能尽可能单一化,模块间的耦合能够清晰可见D.利用信息隐蔽,确保每一个模块的独立性三、判断题1、Jackson系统开发方法是一种典型的面向对象的分析设计方法。
(×)2、HIPO图是由一组IPO图加一张HC图组成,是美国IBM公司在软件设计中使用的主要表达工具。
(√)3、在软件开发中采用原型系统策略的主要困难是成本问题。
(√)4、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。
(√)5、下图表示的是WHILE 型循环。
(×6的顺序,而数据流图只反映数据的流向,不反映处理逻辑的先后。
(√)四、问答题1、什么是软件答:软件是一种产品,包含下面三方面的含义。
(1)在运行中能提供所希望的功能和性能的指令集(即程序);(2)使程序能够正确运行的数据结构;(3)描述程序研制过程、方法所用的文档。