版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 软件工程概论1什么是软件危机?软件危机是是指在计算机机软件的开发发和维护过程程中所遇到的的一系列严重重问题。这些些问题表现在在以下几个方方面:(1)用用户对开发出出的软件很难难满意。(2)软软件产品的质质量往往靠不不住。(3)一一般软件很难难维护。(4)软软件生产效率率很低。(5)软软件开发成本本越来越大。(6)软软件成本与开开发进度难以以估计。(7)软软件技术的发发展远远满足足不了计算机机应用的普及及与深入的需需要。2为什么会产产生软件危机机?(1) 开开发人员方面面,对软件产产品缺乏正确确认识,没有有真正理解软软件产品是一一个完整的配配置组成。造造成开发中制制定计划盲目目、编程草率
2、率,不考虑维维护工作的必必要性。 (2) 软软件本身方面面,对于计算算机系统来说说,软件是逻逻辑部件,软软件开发过程程没有统一的的、公认的方方法论和规范范指导,造成成软件维护困困难。(3) 尤尤其是随着软软件规模越来来越大,复杂杂程度越来越越高,原有软软件开发方式式效率不高、质质量不能保证证、成本过高高、研制周期期不易估计、维维护困难等一一系列问题更更为突出,技技术的发展已已经远远不能能适应社会需需求。3怎样克服软软件危机?(1) 充充分吸收和借借鉴人类长期期以来从事各各种工程项目目中积累的行行之有效的有有效原理、概概念、技术与与方法,特别别是吸取几十十年来人类从从事计算机硬硬件研究和开开发的
3、经验教教训。在开发发软件的过程程中努力作到到良好的组织织,严格的管管理,相互友友好的协作。(2) 推推广在实践中中总结出来的的开发软件的的成功的技术术和方法,并并研究更好、更更有效的技术术和方法,尽尽快克服在计计算机系统早早期发展阶段段形成的一些些错误概念和和作法。(3) 根根据不同的应应用领域,开开发更好的软软件工具并使使用这些工具具。将软件开开发各个阶段段使用的软件件工具集合成成一个整体,形形成一个很好好的软件开发发支环环境。总之为了解决软软件危机,既既要有技术措措施(方法和和工具),又又要有必要的的组织管理措措施。4.构成软件项项目的最终产产品:应用程序、系系统程序、面面向用户的文文档资
4、料和面面向开发者的的文档资料。5什么是软件件生存周期?软件生存周周期是指从软软件定义、开开发、使用、维维护到淘汰的的全过程。6软件生存周周期为什么划划分成阶段? (1) 任任何一个阶段段的具体任务务不仅独立,而而且简单,便便于不同人员员分工协作,从从而降低整个个软件开发工工作的困难程程度。(2) 可可以降低每个个阶段任务的的复杂程度,简简化不同阶段段的联系,有有利于工程的的组织管理,也也便于采用良良好的技术方方法。(3) 使使软件开发的的全过程以一一种有条不紊紊的方式进行行,保证软件件的质量,特特别是提高了了软件的可维维护性。7应该怎样来来划分阶段?(1)每一一个阶段的任任务尽可能独独立;(2
5、)同一一阶段内的任任务性质尽可可能相同;(3)每一一个阶段任务务的开始和结结束有严格的的标准。8软件开发模模型有几种?它们的开发发方法有可特特点?软件开发模模型有瀑布型型、渐增型和和变换型。瀑布型开发发方法是按照照软件生存周周期的划分依依次实施,每每一个阶段有有明确规定的的任务。它的的特点:(1)各各个阶段的顺顺序性和依赖赖性;(2)划划分逻辑设计计与物理设计计,尽可能推推迟程序的物物理实现;(3)每每个阶段必须须完成规定的的文档,对其其中问题通过过复审及早发发现,及早解解决。渐增型开发发方法及特点点:(1) 从部分需求求出发,先建建立一个不完完全的系统,通通过测试运行行该系统取得得经验和信息
6、息反馈,加深深对软件需求求的理解,进进一步使系统统扩充和完善善。如此反复复,直至软件件人员和用户户对所设计完完成的软件系系统满意为止止。(2) 在渐增型开开发下的软件件是随软件开开发的过程而而逐渐形成的的。(3) 渐增型开发发方法适合于于知识型软件件的开发,设设计系统时对对用户需求的的认识开始不不是很清楚的的,需要在开开发过程中不不断认识、不不断获得新的的知识去丰富富和完善系统统。多数研究究性质的试验验软件,一般般采用此方法法。变换型开发发方法及特点点:(1)从从软件需求的的形式化规格格说明出发,经经过一系列的的程序变换,得得到最终的程程序系统。(2)该该方法必须有有严格的数学学理论和形式式化
7、技术的支支持。9.什么是软件件工程?软件工程是是指导计算机机软件开发和和维护的工程程学科。(1) 它采用工程程的概念、原原理、技术和和方法来开发发和维护软件件;(2) 它将管理技技术与当前经经过时间考验验的而证明是是正确的技术术方法结合起起来;(3) 它强调使用用生存周期方方法学和结构构分析和结构构技术;(4) 经过人们长长期的努力和和探索,围绕绕着实现软件件优质高产这这个目标,从从技术到管理理两个方面做做了大量的努努力,逐渐形形成了软件件工程学这这一新的学科科。10什么是软软件工程环境境:方法与工具的结结合,加上配配套的软、硬硬件支持称为为软件工程环环境。它能支支持开发者按按照软件工程程的方
8、法,全全面完成生存存周期中的各各项任务。第二章可行性性研究习题题答案1. 问题定义义的任务和主主要工作?问题定义的的任务:将用用户提出的要要求具体化、定定量化;确定定研制系统的的范围,明确确研制的边界界。问题定义阶阶段的工作:(1) 通通过调查研究究,了解系统统需求;(2) 确确定系统的功功能需求、性性能需求、可可靠性需求、安安全及保密性性、资源、开开发费用及开开发进度等的的需求;(3) 问问题定义阶段段的产品-系统目标与与范围说明书书。2.可行性研究究目的?确定在问题题定义中所提提出的问题是是否值得去解解,在限制条条件下,问题题能否解决。3可行性研究究的任务?(1) 进进一步分析和和澄清问题
9、的的定义,在澄澄清问题的基基础上,导出出系统的逻辑辑模型;(2) 从从系统逻辑模模型中,选择择问题的若干干种主要解法法,研究每一一种解法的可可行性,为以以后的行动提提出建议;(3) 如如果问题没有有可行的解,建建议停止系统统开发;如果果问题有可行行的解,应该该推荐一个较较好的解决方方案,并为工工程制定一个个初步的计划划。4可行性研究究包括哪几方方面的内容?(1)技术术可行性:现现有技术能否否实现本系统统,现有技术术人员能否胜胜任,开发系系统的资源能能否满足;(2)经济济可行性:经经济效益是否否超出开发成成本;(3)操作作可行性:系系统操作在用用户内部行得得通吗?(4)法律律可行性:新新系统开发
10、是是否会侵犯他他人、集体或或国家利益,是是否违反国家家法律。5可行性研究究的步骤?(1)复查查系统的规模模和目标;(2)研究究目前正在使使用的系统,总总结现有系统统的优劣,提提出新系统的的雏形;(3)导出出新系统的高高层逻辑模型型;(4)推荐荐建议方案; (5)推荐荐行动方针;(6)书写写计划任务书书(可行性报报告); (7)提交交审查。6. 可行性研研究报告的主主要内容?可行性分析析的结果是可可行性研究报报告,内容包包括:(1) 系系统概述:说说明开发的系系统名称,提提出单位和开开发单位。(2) 可可行性研究的的前提:系统统目标;要求求;约束和限限制;可行性性研究的基本本准则等。(3) 对对
11、现有系统的的分析:处理理流程,图示示说明现有系系统的处理流流程和数据流流程;现有系系统存在的问问题。 (4) 系系统需求:主主要功能;主主要性能及其其要求;操作作要求;信息息要求;限制制性要求。(5) 建建议系统:系系统目标;处处理流程;系系统结构,功功能,性能;系统技术可可行性;投资资和效益分析析;操作可行行性;法律可可行性。(6) 其其它可选方案案:与国内外外同类型方案案的比较;提提出一两个可可行性方案供供论证和探讨讨。(7) 制制定下一阶段段的预算。(8) 结结论性意见:由用户方、设设计方和投资资方共同签署署意见。第三章需求分分析习题答答案1.需求分析的的描述工具有有哪些?有数据流图图、
12、数据字典典、判定表、判判定树、结构构化自然语言言、层次方框框图、Warrnier图图、IPO图图和需求描述述语言等。2.需求分析的的基本任务是是什么?准确定义未未来系统的目目标,确定为为了满足用户户的需要系统统必须做什么么。3.怎样建立目目标系统的逻逻辑模型?要要经过哪些步步骤?建立目标系系统的逻辑模模型的过程也也就是数据流流图的分解过过程。它的导导出过程如图图: 4.什么是结构构化分析?它它的结构化体体现在哪里?结构化分析析:使用数据据流程图、数数据字典、结结构化英语、判判定表和判定定树等工具,来来建立一种新新的、称为结结构化说明书书的目标文档档-需求规格格说明书。结构化体现现在将软件系系统
13、抽象为一一系列的逻辑辑加工单元,各单元之间间以数据流发发生关联。5.软件需求规规格说明书由由哪些部分组组成?组成包括:(1) 引引言:编写目目的、背景说说明、术语定定义及参考资资料等。(2) 概概述主要功能能、约束条件件或特殊需求求。(3) 数数据流图与数数据字典。(4) 用用户接口、硬硬件接口及软软件接口。(5) 性性能需求、属属性等。(6) 其其它需求,如如数据库、操操作及故障处处理等。6.为什么数据据流图要分层层?画分层的的DFD要遵遵循哪些原则则?分层的目的的:便于逐步步细化、结构构清晰。画分层的DDFD要遵循循哪些原则:(1)父图图与子图之间间数据要平衡衡。(2)分解解的深度和层层次
14、达到使加加工足够简单单、易于理解解的基本加工工为止。(3)区分分局部文件和和局部外部项项(局限于数数据流中某一一层或某几层层的文件和外外部项)。(4)不要要把控制流作作为数据流。(5)忽略略琐碎的枝节节。(6)每个个数据流要有有一个合适的的名字,尽量量使用现实系系统中有具体体意义的名字字。7.系统流程图图与数据流程程图有什么区区别?系统流程图图描述系统物物理模型的工工具,数据流流程图描述系系统逻辑模型型的工具。系统流程图图从系统功能能的角度抽象象的描述系统统的各个部分分及其相互之之间信息流动动的情况。数据流程图图从数据传送送和加工的角角度抽象的描描述信息在系系统中的流动动和数据处理理的工作状况
15、况。8.数据字典包包括哪些内容容?它的作用用是什么?数据字典是是描述数据流流图中数据的的信息的集合合。它对数据据流图上每一一个成分:数数据项、文件件(数据结构构)、数据流流、数据存储储、加工和外外部项等给以以定义和说明明;它主要由由数据流描述述、加工描述述和文件描述述三部分组成成。对用户来来讲,数据字字典为他们提提供了数据的的明确定义;对系统分析析员来讲,数数据字典帮助助他们比较容容易修改已建建立的系统逻逻辑模型。9.描述加工逻逻辑的工具有有哪些?有决策树(又称判定树树)、决策表表(又称判断断表)和结构构化语言等。10.某单位拟拟开发一个计计算机房产管管理系统,要要求系统具有有分房、 调调房、
16、退房和和查询统计等等功能。房产产科将用户申申请表输入系系统 后,系系统首先检查查申请表的合合法性,对不不合法的申请请表,系统拒拒绝接收;对对合法的申请请表根据类型型分别进行处处理。 (1) 如如果是分房申申请,则根据据申请者的情情况(年龄、工工龄、职称、职职务、家庭人人口等)计算算其分数,当当分数高于阀阀值分数时,按按分数高低将将申请单插到到分房队列的的适当位置。在在进行分房时时,从空房文文件中读出空空房信息,如如房号、面积积、等级、单单位面积房租租等,把好房房优先分给排排在分房队列列前面的符合合该等级房条条件的申请者者;从空房文文件中删掉这这个房号的信信息,并从分分房队列中删删掉该申请单单,
17、再把此房房号的信息和和住户信息一一起写到住房房文件中,输输出住房分配配单给住户,同同时计算房租租,并将算出出的房租写到到房租文件中中。 (2) 如如果是退房申申请,则从住住房文件和房房租文件中删删除有关信息息,再把此房房号的信息写写到空房文件件中。(3) 如如果是调房申申请,则根据据申请者的情情况确定其住住房等级,然然后在空房文文件中查找属属于该等级的的空房,退掉掉原住房,再再进行与分房房类似的处理理。 (4) 住住户可以向系系统查询目前前分房的阀值值分数,居住住某类房屋的的条件,某房房号的单位面面积及房租等等信息。房产产科可以要求求系统打印住住房情况的统统计表,或更更改某类房屋屋的居住条件件
18、、单位面积积和房租等。用数据流图图描绘该系统统的功能需求求;在数据字字典中给出主主要的数据流流、文件和加加工说明。 参考第四章4.5应用举例例教案之二分分析。 第四章 总体设设计习题答答案1. 系统设计计包括哪两个个阶段?系统设计包包括总体设计计与详细设计计两个阶段。2. 总体设计计的主要任务务是什么?总体设计的的主要任务是是完成软件结结构的设计,确定系统的的模块及其模模块之间的关关系。3. 什么是模模块?模块具具有哪几个特特征?总体设设计主要考虑虑什么特征?模块是数据据说明、可执执行语句等程程序对象的集集合,可以单单独命名且可可通过名字来来访问。模块具有输输入和输出(参数传递)、功能、内内部
19、数据结构构(局部变量量)和程序代代码四个特性性。概要设计主主要考虑输入入、输出(参参数传递)和和功能两个特特性。4. 什么是模模块化?模块块设计的准则则?模块化是按按规定的原则则将一个大型型软件划分为为一个个较小小的、相对独独立但又相关关的模块。模块设计的的准则:(1) 改改进软件结构构, 提高模模块独立性:在对初步模模块进行合并并、分解和移移动的分析、精精化过程中力力求提高模块块的内聚,降降低藕合。(2) 模模块大小要适适中:大约550行语句的的代码,过大大的模块应分分解以提高理理解性和可维维护性;过小小的模块,合合并到上级模模块中。(3) 软软件结构图的的深度、宽度度、扇入和扇扇出要适当。
20、一一般模块的调调用个数不要要超过5个。(4) 尽尽量降低模块块接口的复杂杂程度;(5) 设设计单入口、单单出口的模块块。(6) 模模块的作用域域应在控制域域之内。5. 变换型数数据流由哪几几部分组成?变换型结构构由三部分组组成:传入路路径、变换(加工)中心心和传出路径径。6. 变换分析析设计的步骤骤?(1) 区区分传入、传传出和变换中中心三部分,划划分DFD图图的分界线;(2) 完完成第一级分分解:建立初初始SC图的的框架;(3) 完完成第二级分分解:分解SSC图的各个个分支;(4) 对对初始结构图图按照设计准准则进行精化化与改进。7. 事务型数数据流由哪几几部分组成?事务型结构构由至少一条条
21、接受路径、一一个事务中心心与若干条动动作路径组成成。8. 事务分析析设计的步骤骤?(1) 在在DFD图中中确定事务中中心、接收部部分(包含全全部接收路径径)和发送部部分(包含全全部动作路径径);(2) 画画出SC图框框架,把DFFD图的三部部分分?quuot;映射射为事务控控制模块,接接收模块和动动作发送模块块.一般得到到SC图的顶顶层和第一层层(如果第一一层简单可以以并入顶层);(3) 分分解和细化接接收分支和动动作分支,完完成初始的SSC图;(4) 对对初始结构图图按照设计准准则进行精化化与改进。9. 比较层次次方框图与结结构图是的异异同?(1) 层层次方框图描描绘数据的层层次结构, 结构
22、图描绘绘的是软件结结构。(2) 二二者都采用多多层次矩形框框树形结构。层层次方框图的的顶层矩形框框代表完整的的数据结构, 下面各层层矩形框依次次代表上个框框数据的子集集;结构图是在层次次图的每一个个方框内注明明模块的名字字或主要功能能,方框之间间的直线表示示模块的调用用关系,用带带注解的箭头头表示模块调调用过程中传传递的信息。10.欲开发一一个银行的活活期存取款业业务的处理系系统:储户将将填好的存/取款单和存存折交给银行行工作人员,然然后由系统作作以下处理;(1)业务务分类处理:系统首先根根据储户所填填的存/取款款单,确定本本次业务的性性质,并将存存/取款单和和存折交下一一步处理;(2)存款款
23、处理:系统统将存款单上上的存款金额额分别记录在在存折和帐目目文件中,并并将现金存入入现金库;最最后将存折还还给储户;(3)取款款处理:系统统将取款单上上的取款金额额分别记录在在存折和帐目目文件中,并并从现金库提提取现金;最最后将现金和和存折还给储储户。绘制该系统统的数据流图图和软件结构构图。 顶层一层二层 软件结构图图第五章 习题参参考答案一.回答问题1.详细设计的的目的?为软件结构图(SC图或HHC图)中的的每一个模块块确定采用的的算法和块内内数据结构,用某种选定定的表达工具具给出清晰的的描述.2.详细设计的的主要任务?编写软件的“详详细设计说明明书”.软件人员员要完成的工工作:(1) 为每
24、每一个模块确确定采用的算算法, 选择择某种适当的的工具表达算算法的过程,写出模块的的详细过程描描述.(2) 确定定每一模块使使用的数据结结构.(3) 确定定模块结构的的细节,包括括对系统外部部的接口和用用户界面,对对系统内部其其它模块的接接口,以及关关于模块输入入数据、输出出数据及局部部数据的全部部细节.(4) 为每每一个模块设设计出一组测测试用例,以以便在编码阶阶段对模块代代码(即程序序)进行预定定的测试.3.结构化程序序设计的基本本原则?在详细设计中所所有模块都使使用单入口、单单出口的顺序序、选择、循循环三种基本本控制结构. 4.比较面向数数据流和面向向数据结构两两类设计方法法的异同?相同
25、点:(1) 遵守守结构程序设设计“由顶向下”逐步细化的的原则,并以以其为共同的的基础;(2) 均服服从“程序结构必必须适应问题题结构”的基本原则则,各自拥有有从问题结构构(包括数据据结构)导出出程序结构的的一组映射规规则。不同点:(1) 面向向数据流的设设计以数据流流图为基础,在在分析阶段用用DFD表示示软件的逻辑辑模型,在设设计阶段按数数据流类型,将将数据流图转转换为软件结结构。面向数数据结构的设设计以数据结结构为基础,从从问题的数据据结构出发导导出它的程序序结构。(2) 面向向数据流的设设计的最终目目标是软件的的最终SC图图,面向数据据结构的设计计的最终目标标是程序的过过程性描述。5.比较
26、Jacckson方方法和LCPP方法的异同同? Jacksonn与LCP设设计方法都是是以数据结构构为出发点,以以程序的过程程描述为最终终目标,设计计步骤基本相相似。它们的的主要差别是是:(1)使用不同同的表达工具具,其中LCCP方法中的的表达工具WWarnieer图 比比Jacksson设计方方法中的表达达工具Jacckson图图有更大的通通用性;(2)Jackkson方法法的步骤和指指导原则有一一定的灵活性性,而LCPP设计 方方法则更加严严密。6.详细设计的的描述工具应应具备什么功功能?无论哪类描述工工具不仅要具具有描述设计计过程,如控控制流程、处处理功能、数数据组织及其其它方面的细细节
27、的能力,而且在编码码阶段能够直直接将它翻译译为用程序设设计语言书写写的源程序。 二.给出一组数数从小到大的的排序算法,分分别用下列工工具描述其详详细过程:(1)(1) 流程图图;(2)NNS图;(33)PAD图图;(4)PPDL语言。 PDL语言略略三.根据后面面给出“卡片的分类类及统计”项目说明,完完成下列工作作: (1)用用Jacksson图表示示输入与输出出数据结构,找找出它们之间间的对应单元元; (2)画画出用Jacckson图图表示的程序序结构; (3)列列出程序所需需用的操作,并并加到上一步步画出的程序序结构图上; (4)用用Jacksson伪代码码写出程序的的过程表示。 输入卡片
28、分析程程序。一叠输输入卡片按内内容分为K11、K2、KK3三类,卡卡片的排列规规则是:以KK1卡始,以以K2卡终。起起始卡之前属属前置部分,不含K1卡卡;起始卡与与终了卡之间间属分批部分分,不含K22卡。如图: 试用Jacksson方法编编一程序,要要求依次完成成下列分析工工作: -统计起始始卡前卡片的的张数,存入入A; -打印起始始卡的内容; -统计起始始卡后出现的的K1卡和KK3卡总批数数,存入B; -统计起始始卡后出现的的K1卡的张张数,存入CC; -统计起始始卡后出现的的K3卡的批批数,存入DD; -打印终了了卡的内容; -打印A、BB、C、D四四个统计值。程序的过程表示示及伪代码略略
29、第六章 习题题参考答案1. 编码的任务务?使用选定的程序序设计语言,把把模块的过程程性描述翻译译为用语言书书写的源程序序(源代码)。 2. 对源程序基基本要求?源程序要求:正正确可靠、简简明清晰、效效率高。(1) 源程序的正正确性是对程程序质量的最最基本要求;(2) 源程序的简简明清晰,便便于验证源代代码和模块规规格说明的一一致性,容易易进行测试和和维护;(3) 对于大多数数模块,编码码时应该把简简明清晰放在在第一位;(4) 除了编码阶阶段产生源代代码外,在测测试阶段也需需要编写一些些测试程序,用用于对软件的的测试。3. 程序设计语语言的特点?(1) 名字字说明:程序序中使用对象象的名字,能能
30、为编译程序序所检查和识识别;(2) 类型型说明:定义义对象的类型型,确定该对对象的使用方方式;(3) 初始始化:为变量量提供适当的的初始值或由由系统给变量量赋一特殊的的表明未初始始化的值;(4) 对象象的局部性:程序中真正正需要的那部部分才能访问问的对象;(5) 程序序模块:控制制程序对象的的名字;(6) 循环环控制结构:如FOR语语句、WHIILE-DOO语句、REEPEAT-UNTILL语句等;(7) 分支支控制结构:如IF语句句、CASEE语句等;(8) 异常常处理:为程程序运行过程程中发生的错错误和意外事事件提供检测测和处理上的的帮助;(9) 独立立编译:能分分别编译各个个程序单元。4
31、. 选择程序设设计语言需要要考虑的因素素?(1) 选择用户熟熟悉、便于用用户维护的语语言。(2) 选择目标系系统的环境中中可以提供的的编译程序所所能选用的语语言。(3) 选择可以得得到的软件工工具,能支持持程序开发中中可以利用的的语言。(4) 根据工程规规模的大小、目目标系统应用用范围,如实实时应用选择择Ada语言言或汇编语言言,系统软件件开发选择CC语言或汇编编语言,软件件开发中若含含有大量数据据操作则选择择SQL、ddBASE等等数据库语言言等。(5) 选择程序员员熟悉的语言言。(6) 选择标准化化程度高、程程序可移植性性好的语言。(7) 根据算法与与计算的复杂杂性、数据结结构的复杂性性选
32、择。如对对于系统程序序和结构复杂杂的应用程序序,选择支持持数组、记录录(或结构)与指针动态态数据结构的的Pascaal语言或CC语言。(8) 根据实时要要求系统需要要的响应速度度和效率选择择相应的语言言。5. 编码风格的的指导原则。(1) 源程序:包包括适当的标标识符、适当当的注解、程程序清单的合合理布局与清清晰;(2) 数据说明:数据结构或或数据类型的的说明次序标标准化;变量量名称尽量有有意义;对复复杂的数据结结构在注解中中要说明在程程序设计中实实现这个数据据结构的方法法。(3) 语句的构造造简单明了:不要为节省省空间将多个个语句写在同同一行;尽量量避免复杂的的条件及“非”条件的测试试;避免
33、大量量使用循环嵌嵌套和条件嵌嵌套;括号的的使用是为了了使逻辑表达达式和算术表表达式的运算算顺序清晰直直观。(4) 效率:考虑虑程序运行的的时间存储器器效率、输入入/输出的效效率;在处理理程序正确性性、清晰与效效率之间的关关系时先求程程序正确后求求快;先求清清楚后求快;保持程序简简单以求快;书写清楚,不为“效率”牺牲清晰。6. 第四代语言言(4GL)应具备哪些些的特征?(1) 具有很强的的数据管理能能力,能对数数据库进行有有效的存取、查查询和其它有有关操作;(2) 能提供一组组高效的、非非过程化的命命令,组成语语言的基本语语句,编程时时用户只需用用这些命令说说明“做什么”,不必描述述实现的细节节
34、;(3) 能满足多功功能、一体化化的要求。为为此,语言中中除必须含有有控制程序逻逻辑与实现数数据库操作的的语句外,还还应包括生成成与处理报表表、表格、图图形,以及实实现数据运算算和分析统计计功能的各种种语句,共同同构成一个一一体化的语言言,以适应多多种应用开发发的需要。第七章 习题题参考答案一.回答问题 1.软件件测试的基本本任务?软件测试是按照照特定的规则则,发现软件件错误的过程程;好的测试试方案是尽可可能发现迄今今尚未发现错错误的测试;成功的测试试方案是发现现迄今尚未发发现错误的测测试; 2.测试试与调试的主主要区别?(1) 测试试从一个侧面面证明程序员员的失败;调调试证明程序序员的正确;
35、(2) 测试试从已知条件件开始,使用用预先定义的的程序,且有有预知的结果果,不可预见见的仅是程序序是否通过测测试;调试从不可知知内部条件开开始,除统计计性调试外,结结果是不可预预见的;(3) 测试试有计划并且且要进行测试试设计;调试试不受时间约约束;(4) 测试试是发现错误误、改正错误误、重新测试试的过程;调调试是一个推推理的过程;(5) 测试试执行是有规规程的;调试试执行要求程程序员进行必必要的推理;(6) 测试试由独立的测测试组在不了了解软件设计计的件下完成成;调试由了解详详细设计的程程序员完成;(7) 大多多数测试的执执行和设计可可由工具支持持;调试用的工具具主要是调试试器。 3.人工工
36、复审的方式式和作用?人工复审的方式式:代码会审审、走查和排排练和办公桌桌检查;人工复审的作用用:检查程序序的静态错误误。 4.什么么是黑盒测试试?黑盒测试试主要采用的的技术有哪些些?黑盒测试也称为为功能测试,它着眼于程程序的外部特特征,而不考考虑程序的内内部逻辑结构构。测试者把把被测程序看看成一个黑盒盒,不用关心心程序的内部部结构。黑盒盒测试是在程程序接口处进进行测试,它它只检查程序序功能是否能能按照规格说说明书的规定定正常使用,程程序是否能适适当地接收输输入数据产生生正确的输出出信息,并且且保持外部信信息(如数据据库或文件)的完整性。黑盒测试主要采采用的技术有有:等价分类类法、边沿值值分析法
37、、错错误推测法和和因果图等技技术。 5.什么么是白盒测试试?白盒测试试主要采用的的技术有哪些些?测试者了解被测测程序的内部部结构和处理理过程,对程程序的所有逻逻辑路径进行行测试,在不不同点检查程程序状态,确确定实际状态态与预期状态态是否一致。白盒测试主要采采用的技术有有:路径测试试技术和事务务处理流程技技术,对包含含有大量逻辑辑判断或条件件组合的程序序采用基于逻逻辑的测试技技术。 6.路径径测试技术中中几种主要覆覆盖的含义?举例说明?语句覆盖:至少少执行程序中中所有语句一一次。 判定覆盖:使被被测程序中的的每一个分支支至少执行一一次。故也称称为分支覆盖盖。条件覆盖:执行行所有可能的的穿过程序的
38、的控制路流程程。条件组合测试:设计足够的的测试用例,使使每个判定中中的所有可能能条件取值组组合至少执行行一次。(例略) 7.等价价分类法的测测试技术采用用的一般方法法?举例说明明?(1) 为每每个等价类编编号;(2) 设计计一个新的测测试方案,以以尽可能多的的覆盖尚未被被覆盖的有效效等价类,重重复这一步骤骤,直到所有有有效等价类类被覆盖为止止。(3) 设计计一个新的测测试方案,使使它覆盖一个个尚未被覆盖盖的无效等价价类, 重复复这一步骤,直到所有无无效等价类被被覆盖为止。(例略) 8.软件件测试的一般般步骤?单元测试、子系系统测试、系系统测试、验验收测试、平平行测试。 9.比较较集成试的两两种
39、方式的优优劣?非渐增式测试方方式:分别测测试模块,再再把所有模块块按设计要求求放在一起组组成所要的程程序。该方法法编写测试软软件工作量大大,模块间的的接口错误发发现得晚,错错误定位较难难诊断,总体体测试有的错错误容易漏掉掉,测试时间间相对较少,可可以并行测试试所有模块,能能充分利用人人力,加快工工程进度。渐增式测试方式式:把下一个个要测试的模模块,同已经经测试好的那那些模块结合合起来进行测测试。该方法法利用已测试试过的模块作作测试软件,开销小,较较早发现模块块间的接口错错误,错误定定位往往和最最近入的模块块相关,对已已测试好的模模块可在新加加入模块的条条件下受到新新的检验,测测试更彻底,需需要
40、较多的测测试时间,不不能并行测试试。总的来说,渐增增式测试方法法比较好。 10.软件件测试的策略略?(1) 在任任何情况下都都应使用边界界值分析的方方法。(2) 必要要时用等价类类划分法补充充测试方案。(3) 必要要时再用错误误推测法补充充测试方案。(4) 对照照程序逻辑,检检查已设计出出的测试方案案。(5) 根据据对程序可靠靠性的要求采采用不同的逻逻辑覆盖标准准,再补充一一些测试方案案。二.某电力公司司有A、B、CC、D共四类类收费标准,并并规定,居民民用电每月2200度以下下按A类收费费, 2000度以上按BB类收费。动动力电以每月月1万度为分分界,非高峰峰用电不足11万度按B类类收费,达
41、到到或超过1万万度按C类收收费。高峰用用电不足1万万度按C类收收费,达到或或超过1万度度按D类收费费。试用基于于逻辑的测试试方法为它设设计足够的测测试用例实现现条件组合的的完全覆概。规则号123456居民用电200度以下Y200度以上Y动力用电非高峰1万度以下Y1万度以上Y高峰1万度以下Y1万度以上Y收费标准A类B类C类D类测试用例用电类型输入数据预期结果居民用电90度/月A110度/月B动力用电非高峰8000度/月月B12000度/月C高峰9000度/月月C11000度/月D三.如图显示某某程序的逻辑辑结构。 试为它设设计足够的测测试用例,分分别实现对程程序的判定覆覆概、条件覆覆概和条件组组
42、合覆概。设计测试方案覆盖种类需满足的条件测试数据期望结果判定覆盖A1,B=00A=2,B=00执行S1A1,B00或A1,B=00或A1,B00A=2,B=11或A=1,B=00或A=1,B=11执行S2条件覆盖以下四种情况各各出现一次A1B=0A=2,B=00执行S1A1B0A=1,B=11执行S2条件组合覆盖A1,B=00A=2,B=00执行S1A1,B00A=2,B=11执行S2A1,B=00A=1,B=00执行S2A1,B00A=1,B=11执行S2四.某城市电话话号码由三部部分组成。它它们的名称和和内容分别是是: 地区区码:空白或或三位数字; 前 缀:非0或1的三位数字字; 后 缀:
43、4位位数字。 假定定被测程序能能接受一切符符合上述规定定的电话号码码,拒绝所有有不符合规定定的电话号码码。根据该程程序的规格说说明,作等价价类的划分,并并设计测试方方案。 1.划分等等价类输入条件有效等价类无效等价类地区码1.空白;2.三位数;1. 有非数字字字符;2.少少于三位数字字;3.多于三位数数字。前 缀3.从200到到999之间间的三位4.有非数字字字符;5.起起始位为0;6.起始位为1; 7.少于于三位数字;8.多于三位数数字。后 缀4.四位数字。9.有非数字字字符;10.少于四位数数字;11.多于四位位数字。设计测试方案方案内容输 入预期输出地区码前缀后缀1空白2009999之间
44、的三位位数字四位数字( )2776-23445有效2三位数字四位数字(635)8005-93221有效3有非数字字符(20A)7223-45667无效4少于三位数字(33 )2334-56778无效5多于三位数字(5555)3345-67789无效6有非数字字符(345)5AA2-34556无效7起始位为0(345)0112-34556无效8起始位为1(345)1332-34556无效9少于三位数字(345) 992-34556无效10多于三位数字(345)45562-34456无效11有非数字字符(345)3442-3A56无效12少于四位数字(345)3442- 3556无效13多于四位数
45、字(345)5662-345567无效第八章 软件维维护习题答答案1.为什么说软软件的维护是是不可避免的的?因为软件的的开发过程中中,一般很难难检测到所有有的错误,其其次软件在应应用过程中需需要随用户新新的要求或运运行环境的变变化而进行软软件的修改或或完成功能的的增删等,为为了提高软件件的应用水平平和使用寿命命,软件的维维护是不可避避免的。2.软件的维护护一般分为哪哪几类?改正性维护护:满足用户户对已开发产产品的性能与与运行环境不不断提高的要要求,进而达达到延长软件件寿命的目的的。适应性维护护:对程序使使用期间发现现的程序错误误进行诊断和和改正的过程程,配合变化化了的环境进进行修改软件件的活动
46、;完善性维护护:满足用户户在使用过程程中提出增加加新的功能或或修改已有功功能的建议而而进行的工作作; 预防性维护护:为了改善善未来的可维维护性或可靠靠性而修改软软件的工作。3.影响软件维维护的因素有有哪些?开发方法:采用模块化化详细设计文文档有助于理理解软件的结结构、界面功功能和内部流流程;开发过过程中严格而而科学的管理理规划及清晰晰可靠的文档档资料对发生生错误后的理理解与纠错是是至关重要的的;开发过程程中模块的独独立程度越高高,对软件修修改越容易,对对软件的改进进和移植越方方便。开发条件:软件开发及及维护人员的的水平决定了了软件开发的的质量和维护护的效率;开开发过程中使使用标准的程程序设计语
47、言言和标准的操操作系统接口口,可以大大大提高软件的的可维护性;在测试过程程中用例的有有效性,可极极大地减少软软件存在的错错误;其次使使用规范化的的文档资料可可为维护提供供更好的依据据。 4.软件维护困困难主要表现现在什么方面面?(1) 一一般来讲,维维护人员对开开发人员写的的程序及文档档,理解都比比较困难,对对维护工作不不会喜欢;(2) 维维护持续时间间都很长,在在开发人员不不在现场的轻轻快下,维护护软件通常是是很困难的;(3) 绝绝大多数软件件在设计时对对将来的软件件修改都没有有考虑或考虑虑不多,尤其其未能在设计计中强调并认认真解决好模模块的独立性性,使软件的的修改既困难难又易发生差差错。5
48、.决定软件可可维护性的因因素?(1) 软软件的可理解解性、可测试试性、可修改改性; (2) 文文档描述符合合要求、用户户文档简洁明明确、系统文文档完整并且且标准。6.软件价格应应该计入维护护成本吗?为为什么?在软件的生生命周期中,软软件维护的工工作量非常大大,不同应用用领域的维护护成本差别也也很大。一般般大型软件的的维护成本远远远高于开发发成本若干倍倍。因此软件件价格中应该该计入维护成成本。7.对前面各章章中分析的各各应用系统,提提出改进和扩扩充功能的要要求?(1) 教教材销售采购购系统;(2) 图图书管理系统统;(3) 房房产管理系统统。(略)第九章 软件工工程管理习习题答案1.软件工程管管
49、理的内容?(1) 费费用管理: 对软件开发发进行成本核核算,使软件件生产按照商商品生产的规规律办事。包包括:以简单单、科学方法法估算软件开开发费用,作作为签定开发发合同的根据据;管理开发发费用的有效效使用,即用用经济手段来来保证产品如如期按质完成成。(2) 质质量管理: 按项目的质质量保证计划划,确保各个个开发阶段的的开发和维护护工作全部按按软件工程的的规范进行,保证软件产产品的质量。(3) 配配置管理:通通过对于程序序、文档和数数据的各种版版本所进行的的管理,保证证资料的完整整性与一致性性。(4) 项项目管理:制制定项目实实施计划,按按照计划的内内容组织和实实施软件的工工程化生产。最最终目标
50、是以以合理的费用用和进度,圆圆满完成计划划所规定的软软件项目。2.软件项目有有哪些特点?(1) 软软件项目与其其他任何产业业项目不同,它它是算法、思思想、概念、组组织、流程、效效率、优化等等的融合体;(2) 开开发软件项目目产品,在多多数情况下,用户给不出出明确的想法法和要求。(3) 在在开发过程中中,程序及其其相关的文档档资料常常需需要修改,在在修改过程中中又可能带来来新的问题,且且这些问题要要在很久以后后才会发现。(4) 在在研制开发过过程中,文档档资料是不可可缺少的,但但工作量又是是巨大的,往往往也是人们们不愿去作的的。(5) 参参加软件项目目的工作人员员,要求具有有一定的业务务水平和实
51、际际工作经验,而而很难完全避避免的人员流流动,对工作作的影响是很很大的。离开开的人员不仅仅带走了重要要的信息,而而且带走了工工作经验。3.软件成本估估算的一般方方法?自顶向下估估计: 首先先估算出项目目总的开发成成本,然后在在项目内部进进行成本分配配。由少数专专家参与,依依靠他们过去去的经验,将将要开发的软软件与过去开开发过的软件件进行类比比,以估计计新的软件开开发所需要的的工作量和成成本。自底向上估估计: 将开开发任务分成成若干子任务务,子任务又又分成子子任任务,直到每每一个单元内内容足够明确确为止;把各各个任务单元元的成本估计计出来,汇合合成项目的总总成本。该方方法得到的结结果比较接近近实
52、际。4.为什么在软软件开发中,不不能用简单增增加人员的方方法来缩短开开发时间? 大量软件开开发实践说明明:向一个已已经延迟的项项目追加开发发人员,可能能使它完成得得更晚。因为为当开发人员员以算术级数数增长时,而而人员之间的的通信将以几几何级数增长长,往往得得不偿失。5.影响软件质质量的主要因因素有哪些?(1) 产产品运行:正正确性、风险险性、效率、完完整性、健壮壮性和可用性性;(2) 产产品修改:可可理解性、可可维护性、灵灵活性、可测测试性;(3) 产产品转移:可可移植性、可可重用性和互互运行性。6.本章第四节节的例子是某某个软件项目目的PERTT图。(1)找出出关键路径和和完成项目的的最早时
53、间;(2)标出出每项活动的的最早起止时时间与最迟起起止时间。 (见该章教教案举例)7.将上题的内内容改用Gaantt图来来表示。(见该章教教案举例)第十章 软件工工程环境习习题答案1.软件工具是是什么?按照照软件生存周周期可将其分分为几类?软件工具是是指为支持计计算机软件及及其文档的开开发、维护、模模拟、移植或或管理而研制制的程序系统统。按照软件件生存周期可可将其分为如如下几类: (1) 需需求分析:如如数据流图绘绘制与分析工工具、状态转转换图绘制与与分析工具、面面向对象的模模型和分析工工具、快速原原型构造工具具、数据字典典与数据库工工具等。(2) 软软件设计:如如HIPO图图、PDL(程序设计语语言)或PAAD(问题分分析图)支持持工具等。(3) 编编码:集成化化的程序员工工作平台。如如各种正文编编辑器和常规规的编译程序序、汇编程序序、连结程序序及符号调试试器等。(4) 软软件测试:如如静态分析器器、动态覆盖盖率测试器、测测试用例生成成器、测试报报告生成器及及环境模拟器器等。(5) 软软件维护:如如反汇编程序序、反编译程程序、程序结结构分析器、源源程序格式化化工具、文档档生成工具、源源程序至PAAD(问题分分析图)或流流程图的自动动转换工具等等。2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作总结之电大幼儿园实习总结
- 电工电子技术(第3版) 课件 4.2.1 三相异步电机启动控制电路
- 2024年住房金融项目资金需求报告
- 采购过程合规性与纪律要求制度
- 《信息传输基础》课件
- 《项目沟通培训》课件
- 公园有多宽课件
- 新年工作计划(17篇)
- 感恩演讲稿范文汇编(33篇)
- 幼儿园食品安全工作总结15篇
- SPC&CPK 超全EXCEL模板
- 运动场监理大纲
- 化工设计说明书
- 部编本语文八年级上全册文言文课下注释
- 十二种健康教育印刷资料
- 德力西系列变频器说明书
- UleadGifAnimator教程
- 凯旋帝景地产杯篮球争霸赛方案
- 烟草专卖(公司)内部专卖管理监督工作制度
- CFG桩施工中常见问题及处理措施
- 医疗废物处置流程图
评论
0/150
提交评论