软件工程重点知识复习资料及试卷_第1页
软件工程重点知识复习资料及试卷_第2页
软件工程重点知识复习资料及试卷_第3页
软件工程重点知识复习资料及试卷_第4页
软件工程重点知识复习资料及试卷_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、桃五-507版权所有,违版必究PAGE PAGE - 33 -软件工程概概述1软件产产品的特性性是什么?产品特性: 是一种逻逻辑产品,与与物质产品品有很大的的区别。软件产品品的生产主主要是研制制,生产成成本主要在在开发和研研制,开发发研制完成成后,通过过复制就产产生了大量量软件产品品。软件产品品不会用坏坏,不存在在磨损,消消耗。 生产主要要是脑力劳劳动,还末末完全摆脱脱手工开发发方式,大大部分产品品是定做做的开发软件件的费用不不断增加,致致使生产成成本相当昂昂贵。2软件生生产有几个个阶段?各各有何特征征?程序设计计时代:这这个阶段生生产方式是是个体劳动动,使用的的生产工具具是机器语语言,汇编编

2、语言。程序系统统时代:这这个阶段生生产方式是是小集团合合作生产,使使用的生产产工具是高高级语言,开开发方法仍仍依靠个人人技巧,但但开始提出出结构化方方法。软件工程程时代:这这个阶段生生产方式是是工程化的的生产,使使用数据库库开发工具具开发环境境网络分布式面向对象象技术来开开发软件。3什么是是软件危机机?主要表表现在哪些些方面?软件开发技技术的进步步未能满足足发展的要要求。在软软件开发中中遇到的问问题找不到到解决的办办法,问题题积累起来来,形态尖尖锐的矛盾盾,导致了了软件危机机。表现方面: (1) 用用户对开发发出的软件件很难满意意。(2) 软软件产品的的质量往往往靠不住。 (3) 一一般软件很

3、很难维护。 (4) 软软件生产效效率很低。 (5) 软软件开发成成本越来越越大。 (6) 软软件成本与与开发进度度难以估计计。(7)软件件技术的发发展远远满满足不了计计算机应用用的普及与与深入的需需要。4什么是是软件工程程?它目标标和内容是是什么?软件工程:就是用科科学的知识识工程和技技术原理来来定义,开开发,维护护软件的一一门学科。软件工程的的目标:付付出较低开开发成本;达到要求求的功能;取得较好好的性能;开发的软软件易于移移植;只需需较低的维维护费用;能按时完完成开发任任务,及时时交付使用用;开发的的软件可靠靠性高。软件工程的的内容:研研究内容包包括开发技技术和开发发管理两个个方面。开开发

4、技术主主要研究:软件开发发方法,开开发过程,开开发工具和和环境。开开发管理主主要研究:软件管理理学,软件件经济学,软软件心理学学。5软件工工程面临的的问题是什什么?软件工程需需要解决的的问题:软软件的费用用,可靠性性,可维护护性,软件件生产率和和软件的重重用。6什么是是软件生存存周期?它它有哪几个个活动?软件生存周周期:一个个软件从提提出开发要要求开始直直到该软件件报废为止止的整个时时期。包括:可行行性分析和和项目开发发计划,需需求分析,概概要设计,详详细设计,编编码,测试试,维护。7什么是是软件生存存周期模型型?有哪些些主要模型型?生存周期模模型:描述述软件开发发过程中各各种活动如如何执行的

5、的模型。对对软件开发发提供强有有力的支持持,为开发发过程中的的活动提供供统一的政政策保证,为为参与开发发的人员提提供帮助和和指导,是是软件生存存周期模型型化技术的的基础,也也是建立软软件开发环环境的核心心。主要有:瀑瀑布模型,增增量模型,螺螺旋模型,喷喷泉模型,基基于知识的的模型,变变换模型。8什么是是软件开发发方法?有有哪些主要要方法?使用早已定定义好的技技术集及符符号表示习习惯来组织织软件生产产的过程。通过使用用成功的软软件开发方方法,在规规定的投资资和时间内内,开发出出符合用户户需求的高高质量的软软件。软件件开发方法法是克服软软件危机的的重要方面面之一,对对软件工程程及软件包包产业的发发

6、展起了不不可估量的的作用。主要有:结结构化方法法,JACCKSONN方法,维维也纳开发发方法VDM,面向对对象开发方方法。9、软件工工程方法学学包含3个要素分分别是什么么?分别是:方方法、工具具和过程。方法是完成成软件开发发的各项任任务的技术术方法,回回答“怎样做”的问题;工具是为运运用方法而而提供的自自动的或半半自动的软软件工程支支撑环境;过程是为了了获得高质质量的软件件所需要完完成的一系系列任务的的框架,它它规定了完完成各项任任务的工作作步骤。10、什么么是软件过过程?为了获得高高质量软件件所需要完完成的一系系列任务的的框架,规规定了完成成各项任务务的工作步步骤。在完完成开发任任务时必须须

7、进行一些些开发活动动,并且使使用适当的的资源,在在过程结束束时将把输输入转化为为输出。11、瀑布布模型的特特点及优点点?特点:(1)各个个阶段的顺顺序性和依依赖性; (2)划分分逻辑设计计与物理设设计,尽可可能推迟程程序的物理理实现; (3)每个个阶段必须须完成规定定的文档,对对其中问题题通过复审审及早发现现,及早解解决。优点:可强迫开发发人员采用用规范的方方法(例如如,结构化化技术); 严格地规定定了每个阶阶段必须提提交的文档档;要求每个阶阶段交出的的所有产品品都必须经经过质量保保证小组的的仔细验证证。12、螺旋旋模型的优优点?对可选方案案和约束条条件的强调调有利于已已有软件的的重用,也也有

8、助于把把软件质量量作为软件件开发的一一个重要目目标;减少了过多多测试(浪浪费资金)或或测试不足足(产品故故障多)所所带来的风风险;在螺旋模型型中维护只只是模型的的另一个周周期,在维维护和开发发之间并没没有本质区区别。螺旋模型主主要适用于于内部开发发的大规模模软件项目目。项目越越大,风险险也越大,因因此,进行行风险分析析的必要性性也越大。此外,只只有内部开开发的项目目,才能在在风险过大大时方便地地中止项目目。13、快速速原型的分分类、特点点及使用策策略?分类:探索索型、实验验型、进化化型 特点:尽快向用用户提供一一个可在计计算机上运运行的目标标系统的模模型,以便便使用户和和开发者在在目标系统统应

9、该“做什么”这个问题题上尽可能能快地达成成共识。快速原型应应该具备的的第一个特特点是“快速”;快速原型应应该具备的的第二个特特点是“容易修改改”。原型的的“修改试用反馈”过程可能能重复多遍遍。使用策略:废弃策略略和追加策策略。14、软件件工程的目目标?付出较低开开发成本;达到要求求的功能;取得较好好的性能;开发的软软件易于移移植;只需需较低的维维护费用;能按时完完成开发任任务,及时时交付使用用;开发的的软件可靠靠性高。15、软件件开发技术术主要研究究内容?软件开发方方法,开发发过程,开开发工具和和环境。16、软件件开发管理理主要研究究内容?软件管理学学,软件经经济学,软软件心理学学。17、快速

10、速原型开发发的步骤?快速开发、需求、构构造原形、原形、运运行原形、评价原形形、修改意意见。18、某计计算机系统统投入使用用后、 55年内每年年可节省人人民币 22O0O元元,假设系系统的投资资额为50000元,年年利率为 12。试计算投投资回收期期和纯收入入。可行性研究究1、可行性性研究的任任务是什么么?可行研究的的任务:首首先需要进进行概要的的分析研究究,初步确确定项目的的规模,目目标,约束束和限制。分析员再再进行简要要的需求分分析,抽象象出项目的的逻辑结构构,建立逻逻辑模型。从逻辑模模型出发,经经过压缩的的设计,探探索出若干干种可供选选择的解决决方法,对对每种解决决方法都要要研究它的的可行

11、性。主要从四个个方面考虑虑:.技术可可行性:一一般要考虑虑的情况包包括 开发发的风险即即设计出的的系统能否否达到要求求的功能和和性能;资资源的有效效性;相关关技术的发发展是否支支持;.经济可可行性:进进行开发成成本的估算算以及了解解取得效益益的评估,确定要开开发的项目目是否值得得投资。.法律可可行性:要要开发的项项目是否存存在任何侵侵权问题。(4).管管理可行性性:运行方方式在用户户组织内是是否可行,现有管理理制度人员素质质操作方式式是否可行行。2、可行性性研究有哪哪些步骤?.确定项项目规模和和目标;.研究正正在运行的的系统;收收集研究分析现有有系统的文文档资料,实实地考察系系统访问有有关人员

12、,然然后描绘现现有系统的的高层系统统流程图。.建立新新系统的高高层逻辑模模型;使用用数据流图图和数据字字典描述数数据在系统统中的流动动和处理情情况。 .导出和和评价各种种方案;导导出若干较较高层次的的物理解决决方法,根根据技术可可行性经济可行行性社会可行行性进行评评估,得到到可行的解解决方法。.推荐可可行方案;进行成本本效益分分析,决定定该项目是是否值得开开发,若值值得开发那那么解决方方案是什么么,并且说说明该方案案可行的原原因和理由由。.编写可可行性研究究报告;将将上述可行行性过程的的结果写成成相应文档档,即可行行性研究报报告。3、可行性性研究过程程包括哪些?1. 复查查系统规模模和目标2.

13、 研究究目前正在在使用的系系统3. 导出出新系统的的高层逻辑辑模型4. 进一一步定义问问题5. 导出出和评价供供选择的解解法6. 推荐荐行动方针针7. 草拟拟开发计划划8. 书写写文档提交交审查4、什么是是数据流图图?其作用用是什么?数据流图(DDFD):以图形的的方式描述述数据在系系统中流动动和处理的的逻辑过程。只反映系系统必须完完成的逻辑辑功能,是是一种功能能模型。5、什么是是数据字典典?其作用用是什么?共有哪些些条目? 数据字典(DDD)用来来定义数据据库流图中中的各个成成分的具体体含义。有有以下四类类条目:数数据流,数数据项,数数据存储,基基本加工。6、成本效益分分析可用哪哪些指标进进

14、行度量?.投资回回收率:通通常把建立立系统若干干年后能取取得的收益益折算成现现在的价值值和开发系系统所需的的费用进行行比较得出出投资回收收率。.投资回回收期:就就是使累计计的经济效效益等于最最初的投资资费用所需需的时间。.纯收入入:整个生生存周期之之内的累计计经济效益益(折成现现在值)与与投资之差差。7、某图书书管理系统统有以下功功能: 借书:输输入读者借借书证。系系统首先检检查借书证证是否有效效,若有效效,对于第第一次借书书的读者,在在借书证上上建立档案案。否则,查查阅借书文文件,检查查该读者所所借图书是是否超过110本,若若已达100,拒借,末末达10本本,办理借借书(检查查库存,修修改库

15、存目目录并将读读者借书情情况录入借借书文件。) 还书:从从借书文件件中读出与与读者有关关的记录,查查阅所借日日期,如超超期(3个个月)作罚罚款处理。否则,修修改库存目目录与借书书文件。 查询:通通过借书文文件,库存存目录文件件查询读者者情况图书借阅阅及库存情情况,打印印统计表。 解:8、某银行行的计算机机储蓄系统统功能是:将储户的的存户填写写的存款单单或存款单单输入系统统,如果是是存款,系系统记录存存款人姓名名住址存款类型型存款日日期利率率等信息,并并打印出存存款单给储储户;如果果是取款,系系统计算清清单给储户户。请用DDFD,IIDEF00描绘该功功能的需求求,并建立立相应数据据字典。 9、

16、一个考考务处理系系统的要求求如下,试试画出该系系统的数据据流图。(1) 对对考生送来来的报名表表进行检查查;(2) 对对合格的报报名表编好好准考证号号码后将准准考证送给给考生,并并将汇总后后的考生名名单送给阅阅卷站;(3) 对对阅卷站送送来的成绩绩表进行检检查,并根根据考试中中心指定的的合格标准准审定合格格者;(4) 填填写考生通通知单(内内容包含考考试成绩及及合格不合格标标志),送送给考生;(5) 按按地区、年年龄、文化化程度、职职业、考试试级别等进进行成绩分分类统计及及试题难度度分析,产产生统计分分析表。(1)顶层层数据流图图 (2) 第1层数数据流图(33) 第22层数据流流图 加工11

17、子图: 加工2子子图10、系统统流程图是概括地描描绘物理系系统的传统统工具,表表达的是数数据在系统统各部件之之间流动的的情况,11、原型型化方法主主要用于解解决什么问问题?试说说明这种方方法的主要要优缺点。原型化方法法主要用于于解决在产产品开发的的早期阶段段需求不确确定的问题题,用户、经理和其其他非技术术项目风险险承担者发发现在确定定和开发产产品时,原原型可以使使他们的想想象更具体体化。 这这种方法的的主要优点点如下:(1)明确并并完善需求求 原型作作为一种需需求工具,它它初步实现现所理解的的系统的一一部分,用用户对原型型的评价可可以指出需需求中的许许多问题。(2) 探索设设计选择方方案 原型

18、型作为一种种设计工具具,可以探探索不同的的用户界面面技术,使使系统达到到最佳的可可用性,并并且可以评评价可能的的技术方案案。(3)发展为最最终的产品品 原型作作为一种构构造工具,是是产品最初初子集的完完整功能实实现,通过过一系列小小规模的开开发循环,你你可以完成成整个产品品的开发。(4)这种方方法的主要要缺点包括括:(1) 用户看到到一个正在在运行的原原型便以为为产品即将将完成,他他们会要求求不再进行行产品重建建,而只是是对原型进进行一些修修改就交付付。由于原原型没有考考虑软件的的总体质量和可维维护性,交交付原型往往往造成欲速则不不达的情情况。(2) 开开发人员为为了快速构构造原型,可可能会采

19、用用不合适的的操作系统统或程序设设计语言,也也可能使用用一些效率率低的算法法。在一段段时间的开开发之后,他他们往往已已经习惯了了这些选择择,于是便便在系统中中参杂了这这些不理想想的选择。 需求分析 1、什么是是需求分析析?需求分分析阶段的的基本任务务是什么? 需求分析:开发人员员准确地理理解用户的的要求,进进行细致的的调查分析析,将用户户非形式的的需求陈述述转化为完完整的需求求定义,再再由需求定定义转换到到相应的需需求规格说说明的过程程。 基本任务: 问题识别别:双方确确定对问题题的综合需需求,这些些需求包括括功能需求求,性能需需求,环境境需求,用用户界面需需求。 分析与综综合,导出出软件的逻

20、逻辑模型 。编写文档档:包括编编写需求求规格说明明书,初步用户户使用手册册,确确认测试计计划,修改完善善软件开发发计划 。2、什么是是结构分析析方法?该该方法使用用什么描述述工具? 结构化分析析:简称SSA,面向向数据流进进行数据分分析的方法法。采用自自顶向下逐逐层分解的的分析策略略。顶层抽抽象地描述述整个系统统,底层具具体地画出出系统工程程的每个细细节。中间间层则是从从抽象到具具体的过渡渡。使用数据流流图,数据据字典,作作为描述工工具,使用用结构化语语言,判定定表,判定定树描述加加工逻辑。3、结构化化分析方法法通过哪些些步骤来实实现? 了解当前前系统的工工作流程,获获得当前系系统的物理理模型

21、。 抽象出当当前系统的的逻辑模型型。 建立目标标系统的逻逻辑模型。 作进一步步补充和优优化。4、E-RR图中包含含哪几种种种基本成分分?实体(即数数据对象)、关系和和属性5、联系可可分为哪几几种类型?一对一联系系(11),一对对多联系(1N),多对对多联系(MN)6、为何要要进行数据据结构规范范化?为减少数据据冗余,避避免出现插插入异常或或删除异常常,简化修修改数据的的过程。7、第一范范式每个属性值值都必须是是原子值,即即仅仅是一一个简单值值而不含内内部结构。8、第二范范式满足第一范范式条件,而而且每个非非关键字属属性都由整整个关键字字决定(而不是由由关键字的的一部分来来决定),消除了了非关键

22、字字属性对关关键字属性性的部分依依赖。9、第三范范式符合第二范范式的条件件,每个非非关键字属属性都仅由由关键字决决定,而且且一个非关关键字属性性不能仅仅仅是对另一一个非关键键字属性的的进一步描描述(即一个非非关键字属属性值不依依赖于另一一个非关键键字属性值值),消除了了非关键字字属性对关关键字属性性的传递依依赖。10、S-L-C(SNO,SDEPPT,SLLOC,CCNO,GG),这里里SNO表示示学号,SSDEPTT表示系名名,SLOOC表示楼楼号,CNNO表示课课程号,GG表示成绩绩。 函数依赖赖有: (SNO,CNO)G; SSDEPTTSLOCC; SNNOSDEPPT,对关关系进行规

23、规范化,达达到三范式式要求。(1)SCC(SNOO,CNOO,G)和和 (2)S-D(SNOO,SDEEPT,) (3) S-LL(SDEEPT ,SLOCC)11、状态态转换图状态转换图图(简称为状状态图)通过描绘绘系统的状状态及引起起系统状态态转换的事事件,来表表示系统的的行为。提提供了行为为建模机制制。12、层次次方框图层次方框图图用树形结结构的一系系列多层次次的矩形框框描绘数据据的层次结结构。树形形结构的顶顶层是一个个单独的矩矩形框,它它代表完整整的数据结结构,下面面的各层矩矩形框代表表这个数据据的子集,最最底层的各各个框代表表组成这个个数据的实实际数据元元素(不能再分分割的元素素)。

24、13、IPPO图IPO图是是输入、处处理、输出出图的简称称,能够方方便地描绘绘输入数据据、对数据据的处理和和输出数据据之间的关关系。14、从哪哪些方面验验证软件需需求的正确确性(1) 一一致性所有有需求必须须是一致的的,任何一一条需求不不能和其他他需求互相相矛盾。(2) 完完整性需求求必须是完完整的,规规格说明书书应该包括括用户需要要的每一个个功能或性性能。(3) 现现实性指定定的需求应应该是用现现有的硬件件技术和软软件技术基基本上可以以实现的。对硬件技技术的进步步可以做些些预测,对对软件技术术的进步则则很难做出出预测,只只能从现有有技术水平平出发判断断需求的现现实性。(4) 有有效性必须须证

25、明需求求是正确有有效的,确确实能解决决用户面对对的问题。 总体设计计1、什么是是总体设计计?总体设设计的任务务是什么?总体设计又又称为概要要设计或初初步设计。确定系统统功能是实实现。基本本任务是:建立软件件系统结构构(划分模模块、定义义模块功能能、模块间间的调用关关系、定义义模块的接接口、评价价模块的质质量)、数数据结构和和数据库的的设计(数数据结构设设计、概念念设计、逻逻辑设计、物理设计计)、编写写概要设计计文档(概概要设计说说明书、用用户手册、数据库设设计说明书书、修订测测试计划)。2、总体设设计分为哪哪两个阶段段?系统设计阶阶段,确定定系统的具具体实现方方案;结构构设计阶段段,确定软软件

26、结构。3、总体设设计过程包包括几个步步骤?1. 设想想供选择的的方案2. 选取取合理的方方案3. 推荐荐最佳方案案4. 功能能分解5. 设计计软件结构构6. 设计计数据库7. 制定定测试计划划8. 书写写文档9. 审查查和复审4、模块化化是把程序划划分成独立立命名且可可独立访问问的模块,每每个模块完完成一个子子功能,把把这些模块块集成起来来构成一个个整体,可可以完成指指定的功能能满足用户户的需求。5、模块化化的优点 (1)模块化使软件容易测试和调试,因而有助于提高软件的可靠性。 (22)模块化化也有助于于软件开发发工程的组组织管理。6、抽象就是抽出事事物的本质质特性而暂暂时不考虑虑它们的细细节

27、。7、抽象化化包括哪些些?过程的抽象象 、数据据抽象。8、模块的的独立程度度的定性标标准度量是是什么?好好的模块应应满足什么么标准?内聚和耦合合;高内聚聚低耦合。9、什么耦耦合?模块间的的耦合有哪哪些?指衡量不同同模块彼此此间互相依依赖(连接)的紧密程程度;有非直接耦耦合、标记耦合合、数据耦合合 、控制耦合合 、外部耦合合、公共耦合合和内容耦合合 。10、非直直接耦合如果两个模模块之间没没有直接关关系,它们们之间的联联系完全是是通过主模模块的控制制和调用来来实现的,这这就是非直直接耦合。这种耦合合的模块独独立性最强强。11、标记记耦合如果一组模模块通过参参数表传递递记录信息息,就是标标记耦合。

28、这个记录录是某一数数据结构的的子结构,而而不是简单单变量。12、数据据耦合如果一个模模块访问另另一个模块块时,彼此此之间是通通过简单数数据参数 (不是控控制参数、公共数据据结构或外外部变量) 来交交换输入、输出信息息的,则称称这种耦合合为数据耦耦合。13、控制制耦合如果一个模模块通过传传送开关、标志、名名字等控制制信息,明明显地控制制选择另一一模块的功功能,就是是控制耦合合。14、外部部耦合一组模块都都访问同一一全局简单单变量而不不是同一全全局数据结结构,而且且不是通过过参数表传传递该全局局变量的信信息,则称称之为外部部耦合。15、公共共耦合若一组模块块都访问同同一个公共共数据环境境,则它们们

29、之间的耦耦合就称为为公共耦合合。公共的的数据环境境可以是全全局数据结结构、共享享的通信区区、内存的的公共覆盖盖区等。16、内容容耦合如果发生下下列情形,两两个模块之之间就发生生了内容耦耦合 (1) 一个模模块直接访访问另一个个模块的内内部数据; (2) 一个模块块不通过正正常入口转转到另一模模块内部; (3) 两个模块块有一部分分程序代码码重迭(只可能出出现在汇编编语言中); (4) 一个模模块有多个个入口。17、内聚聚衡量一个模模块内部各各个元素彼彼此结合的的紧密程度度。功能内内聚 ,信息内聚聚 ,通信内聚聚 ,过程内聚聚,时间内聚聚,逻辑内聚聚,巧合内聚聚。19、功能能内聚 一个模块中中各

30、个部分分都是完成成某一具体体功能必不不可少的组组成部分,或或者说该模模块中所有有部分都是是为了完成成一项具体体功能而协协同工作,紧紧密联系,不不可分割的的。则称该该模块为功功能内聚模模块。20、信息息内聚 这种模块完完成多个功功能,各个个功能都在在同一数据据结构上操操作,每一一项功能有有一个唯一一的入口点点。这个模模块将根据据不同的要要求,确定定该执行哪哪一个功能能。由于这这个模块的的所有功能能都是基于于同一个数数据结构(符符号表),因因此,它是是一个信息息内聚的模模块。21、通信信内聚 如果一个模模块内各功功能部分都都使用了相相同的输入入数据,或或产生了相相同的输出出数据,则则称之为通通信内

31、聚模模块。通常常,通信内内聚模块是是通过数据据流图来定定义的。22、过程程内聚使用流程图图做为工具具设计程序序时,把流流程图中的的某一部分分划出组成成模块,就就得到过程程内聚模块块。例如,把把流程图中中的循环部部分、判定定部分、计计算部分分分成三个模模块,这三三个模块都都是过程内内聚模块。23、时间间内聚时间内聚又又称为经典典内聚。这这种模块大大多为多功功能模块,但但模块的各各个功能的的执行与时时间有关,通通常要求所所有功能必必须在同一一时间段内内执行。例例如初始化化模块和终终止模块。24、逻辑辑内聚这种模块把把几种 相关关的功能组组合在一起起,每次被被调用时,由由传送给模模块的判定定参 数来

32、确确定该模块块应执行哪哪一种功能能。25、巧合合内聚巧合内聚又又称为偶然然内聚。当当模块内各各部分之间间没有联系系,或者即即使有联系系,这种联联系也很松松散,则称称这种模块块为巧合内内聚模块,它它是内聚程程度最低的的模块。26、扇出出是一个模块块直接控制制(调用)的模块数数目。27、扇入入一个模块的的扇入表明明有多少个个上级模块块直接调用用它。28、模块块的作用域域定义为受该该模块内一一个判定影影响的所有有模块的集集合。29、模块块的控制域域是这个模块块本身以及及所有直接接或间接从从属于它的的模块的集集合。30、模块块化的优点点。模块化使软软件容易测测试和调试试,因而有有助于提高高软件的可可靠

33、性,提提高软件的的可修改性性。模块化也有有助于软件件开发工程程的组织管管理。31、逐步步求精、分分层过程与与抽象等概概念之间的的相互关系系如何?“自顶向下下,逐步求求精”是Nikllaus Wirtth提出的的设计策略略:即将软软件的体系系结构按自自顶向下方方式,对各各个层次的的过程细节节和数据细细节逐层细细化,直到到用程序设设计语言的的语句能够够实现为止止,从而最最后确立整整个的体系系结构。这样的结构构实际就是是一个模块块的分层结结构,即分分层的过程程。在实施施时,采用用抽象化的的方法,自自顶向下,给给出不同的的抽象层次次。在最高高的抽象层层次上,可可以使用问问题所处环环境的语言言概括地描描

34、述问题的的解法。而而在较低的的抽象层次次上,则采采用过程化化的方法。在描述问问题的解法法时,我们们可以配合合使用面向向问题的术术语和面向向现实的术术语。但最最后在最低低的抽象层层次上,应应使用能够够直接实现现的方式来来描述这个个解法。32、什么么是软件结结构图?简简述软件结结构设计优优化准则。软件系统的的模块层次次结构,反反映了整个个系统的功功能实现,即即将来程序序的控制体体系。准则则:高内聚聚低耦合、作作用范围在在控制范围围内、软件件的深度、宽度、扇扇入、扇出出适当、模模块大小适适中、接口口简单清晰晰易懂。33、什么么是模块的的控制范围围和作用范范围?他们们的关系如如何?控制范围:是模块本本

35、身和它的的下属模块块的集合。作用范围围:模块中中的一个判判定影响的的所有模块块的集合。作用范围围应该在控控制范围内内。33、什么么是变换流流?什么是是事物流?变换流由输输入、变换换(或处理理)、输出出三部分组组成。事物流某个个加工将它它的输入流流分离成许许多发散的的数据流,形形成许多加加工路径,并并根据输入入选择其中中一个路径径来执行。34、试述述变换分分析事物分分析设计计步骤。变换分析设设计步骤:确定变换换中心,逻逻辑输入和和输出。 设计软件件结构的顶顶层和第一一层-变变换结构:顶层的功功能是完成成所有模块块的控制(名名称应是系系统名,以以体现完成成整个系统统功能) 第一层至少少有三种功功能

36、模块:输入输出和变变换模块 设计中下层模块块,对第一一层的模块块自顶向下下分解。 输入模块由由两部分组组成:接收收数据转换成调调用模块所所需信息。 输出模块由由两部分组组成:将数数据转换成成下属模块块所需的形形式 发送数数据变换模块:对每个基基本加工建建立一功能能模块 设计的优优化 :输输入部分求求精,每个个物理输入入设置专门门模块,以以体现系统统的外部接接口。其它它输入模块块与转换数数据模块都都很简单时时,可将它它们合并。输出部分求求精:每个个物理输出出设置专门门模块,其其它也可适适当合并。变换部分求求精:根据据设计准则则,对模块块适当合并并。 事务分析的的设计步骤骤:确定事务务中心和加加工

37、路径 设计顶层层(事务机机构)和第第一层 顶顶层模块有有两个功能能:接收数数据和根据据事务类型型调动相应应处理模块块。 中下层模模块的设计计优化工作作与变换结结构相同。 事务型软件件结构包括括两部分: 接收分分支 发送送分支出 通常包括括一调度模模块,当事事务类型不不多时,可可与主模块块合并 。35、请将将下图的DFFD转换为为软件结构构图。解:详细设计详细设计的的基本任务务是什么?有那几种种描述方法法?设计模块的的数据结构构、设计数数据库的物物理结构、设计模块块的详细算算法、其它它(代码设设计、输入入/输出格格式设计、人机对话话设计)、编写详细细设计说明明书、评审审。程序流程图图、PADD图

38、、PDLL。2、请使用用流程图、PAD图图和PDLL语言描述述下列程序序的算法。(1)在数数据A(11)A(10)中中求最大数数和次大数数。3、输入三三个正整数数作为边长长,判断该该三条边构构成的三角角形是等边边、等腰还还是一般三三角形。使使用流程图图、PADD图和PDDL语言描描述。解:如图:4、画出下下面用PDDL写出的的程序的PPAD图。WHILEE P DDO IF AA O THENN A1 ELSEE A2 ENDIIF; S1; IF BB0 TTHEN B1; WHIILE CC DO S2;SS3 ENNDWHIILE; ELSEE B2 ENDIIF; B3 ENDWWHI

39、LEE;编码与测试试1、软件测测试的目的的是什么?软件测试试中,应注注意哪些原原则?答:软件测测试的目的的是为了发发现软件的的错误。软件测试中中应注意的的原则有:(1)测试试用例应由由输入数据据和预期的的输出数据据两部分组组成。这样样便 于对对照检查,做做到有的放放矢。 (2)测试试且例不仅仅选用合理理输入数据据,还要选选择不合理理的输入数数据。这样样能更多地地发现错误误,提高程程序的可靠靠性。对于于不合理的的输入数据据,程序应应拒绝接受受,并给出出相应的提提示。 (3)除了了检查程序序是否做了了它应该做做的事,还还应该检查查程序是否否做了它不不应该做的的事。 (4)应制制定测试计计划并严格格

40、执行,排排除随意性性。 (5)长期期保留测试试用例。 (6)对发发现错误较较多的程序序段,应进进行更深入入的测试。 (7)程序序员应避免免测试自己己的程序。测试是一一种挑剔剔性的行行为,心理理状态是测测试自己程程序的障碍碍。 2、什么是是白盒测试试法?有哪哪些覆盖标标准?试对对他们的检检错能力进进行比较?答:白盒法法测试法把把测试对象象看作一个个打开的盒盒子,测试试人员须了了解程序内内部结构和和处理过程程,以检查查处理过程程的细节为为基础,对对程序中尽尽可能多的的逻辑路径径进行测试试,检验内内部控制结结构和数据据结构是否否有错,实实际的运行行状态与预预期的状态态是否一致致。白盒法有下下列几种覆

41、覆盖标准:语句覆盖:设计若干干个测试用用例,运行行被测程序序,使得每每一可执行行语句至少少执行一次次。判定覆盖:设计若干干个测试用用例,运行行被测程序序,使得程程序中每个个判断的取取真分支和和取假分支支至少经历历一次。条件覆盖:设计若干干个测试用用例,运行行被测程序序,使得程程序中每个个判断的每每个条件的的可能取值值至少执行行一次。判定/条件件覆盖:设计足够够的测试用用例,使得得判断中每每个条件的的所有可能能取值至少少执行一次次,同时每每个判断中中的每个条条件的可能能取值至少少执行一次次。 条件组合覆覆盖:设计足够够的测试用用例,运行行被测程序序,使得每每个判断的的所有可能能的条件取取值组合至

42、至少执行一一次。路径覆盖:设计足够够的测试用用例,覆盖盖程序中所所有可能的的路径。从上到下的的覆盖标准准其检错能能力也从弱弱到强,其其中条件组组合发现错错误的能力力较强,凡凡满足其标标准的测试试用例,也也必然满足足前四种覆覆盖标准。在实际的的逻辑测试试中,一般般以条件组组合覆盖为为主设计测测试用例,然然后再补充充部分用例例来达到路路径覆盖的的测试标准准。3、什么是是黑盒测试试法?采用用黑盒技术术测试用例例有哪几种种方法?这这些方法各各有什么特特点?答:黑盒测测试法把被被测试对象象看成是一一个黑盒子子,测试人人员完全不不考虑程序序的内部结结构和处理理过程,只只在软件接接口处进行行测试,依依据需求

43、规规格说明书书,检查程程序是否满满足功能要要求。采用黑盒技技术测试用用例的方法法有:等价类的划划分、边界界值分析、错误推测测和因果图图。等价类的划划分:是将输入入数据按有有效的或无无效的(也也称合理的的或不合理理的)划分分成若干个个等价类,测测试每个等等价类的代代表值就等等于对该类类其他值的的测试。这这样就把漫漫无边迹的的随机测试试改为有针针对性的等等价类测试试,用少量量有代表性性的例子代代替大量测测试目的相相同的例子子,能有效效地提高测测试效率。但这个方方法的缺点点是没有注注意选择某某些高效的的、能够发发现更多错错误的测试试用例。边界值分析析法:是将测试试边界情况况作为重点点目标,选选取正好

44、等等于、刚刚刚大于和刚刚刚小于边边界值的测测试数据。(边界情情况是指输输入等价类类和输入等等价类边界界上的情况况。)这种种方法可以以查出更多多的错误,因因为在程序序中往往在在处理边界界情况时易易发生错误误。错误推测法法:是在测试试程序时,人人们根据经经验或直觉觉推测程序序中可能存存在的错误误,从而有有针对性地地编写检查查这些错误误的测试用用例。因果图:能能够有效地地检测输入入条件的各各种组合可可能会引起起的错误。它的基本本原理是通通过画因果果图,把用用自然语言言描述的功功能说明转转换为判定定表,最后后为判定表表的每一列列设计一个个测试用例例。这几种方法法都不能提提供一组完完整的测试试用例,在在

45、实际测试试中应把各各种方法结结合起来使使用。综合策略:就是联合合使用上述述几种测试试方法,尽尽可能多地地发现程序序中的错误误。4、软件测测试要经过过哪些步骤骤?这些测测试与软件件开发各阶阶段之间有有什么关系系?答:软件测测试要经过过的步骤是是:单元测测试集成测试试确认测试试系统测试试。单元测试:对源程序序中每一个个程序单元元进行测试试,检查各各个模块是是否正确实实现规定的的功能,从从而发现模模块在编码码中或算法法中的错误误。该阶段段涉及编码码和详细设设计文档。集成测试:是为了检检查与设计计相关的软软件体系结结构的有关关问题,也也就是检查查概要设计计是否合理理有效。确认测试:主要是检检查已实现现

46、的软件是是否满足需需求规格说说明书中确确定了的各各种需求。系统测试:是把已确确认的软件件与其他系系统元素(如硬件、其他支持持软件、数数据、人工工等)结合合在一起进进行测试。以确定软软件是否可可以支付使使用。5、单元测测试有哪些些内容?测测试中采用用什么方法法?答:单元测测试主要针针对模块的的以下五个个基本特征征进行测试试:(1)模块块接口 (2)局部部数据结构构 (3)重要要的执行路路径 (4)错误误处理 (5)边界界条件 测试的方法法是为被测测试模块编编写驱动模模块和桩模模块来实现现被测试单单元的可运运行。通过过驱动模块块来模拟被被测试模块块的上级调调用模块,以以上级模块块调用被测测模块的格

47、格式驱动被被测模块,接接收被测模模块的测试试结构并输输出。桩模模块则用来来代替被测测试模块所所调用的模模块。它的的作用是返返回被测模模块所需的的信息。6、什么是是集成测试试?非渐增增式测试与与渐增式测测试有什么么区别? 渐增式测测试如何组组装模块?答:集成测测试是指在在单元测试试的基础上上,将所有有模块按照照设计要求求组装成一一个完整的的系统进行行的测试。非渐增式测测试是指首首先对每个个模块分别别进行单元元测试,再再把所有模模块组装成成一个完整整的系统进进行的测试试。而渐增增式测试就就是逐个把把未经测试试的模块组组装到已经经过测试的的模块上去去进行集成成测试,每每加入一个个新模块进进行一次集集

48、成测试,重重复此过程程直到程序序组装完毕毕。渐增式式测试有两两种不同的的组装方法法:自顶向向下和自底底向上结合合。两者区别是是:(1)非渐渐增式方法法把单元测测试和集成成测试分成成两个不同同的阶段,前前一阶段完完成模块的的单元测试试,后一阶阶段完成集集成测试。而渐增式式测试往往往把单元测测试和集成成测试合在在一起,同同时完成。(2)非渐渐增式需要要更多的工工作量,因因为每个模模块都需要要驱动模块块和桩模块块,而渐增增式利用已已测试过的的模块作为为驱动模块块或桩模块块,因此工工作量少。(3)渐增增式可以较较早地发现现接口之间间的错误,非非渐增式最最后组装时时才发现。(4)渐增增式有利于于排错,发

49、发生错误往往往和最近近新加入的的模块有关关,而非渐渐增式发现现接口错误误推迟到最最后,很难难判断是哪哪一部分接接口出错。(5)渐增增式比较彻彻底,已测测试的模块块和新的模模块再测试试。(6)渐增增式点用时时间较多,但但非渐增式式所需更多多的驱动模模块和桩模模块也占用用一些时间间。(7)非渐渐增式开始始可并行测测试所有模模块,能充充分利用人人力,对测测试大型软软件很有意意义。7、什么是是确认测试试?该阶段段有哪些工工作?答:确认测测试又称有有效性测试试。它的任任务是检查查软件的功功能与性能能是否与需需求规格说说明书中确确定的指标标相符合。因而需求求说明是确确认测试的的基础。确确认测试阶阶段有两项

50、项工作:进进行确认测测试与软件件配置审查查。8、调试的的目的是什什么?调试试有哪些技技术手段?答:调试则则是在进行行了成功的的测试之后后才开始的的工作。调调试的目的的是确定错错误的原因因和位置,并并改正错误误,因此调调试也称为为纠错(DDebugg)。调试试的技术手手段有简单单的调试方方法、归纳纳法、演绎绎法和回溯溯法等。9、将正确确答案的编编号填入题题目空白处处:在白盒测试试用例中,有有语句覆盖盖、条件覆覆盖、判定定覆盖、路路径覆盖等等,其中(A)是最最强的覆盖盖准则。为为了对下图图所示的程程序进行覆覆盖测试,必必须适当地地选取测试试数据。若若X,Y是是两个变量量,可供选选择的测试试数据组共

51、共有I,III,IIII,IVV四组(如如表中给出出),则实实现语句覆覆盖至少应应采用的测测试数据组组是(B);实现条条件覆盖至至少应采用用的测试数数据组是(C);实实现路径覆覆盖至少应应采用的测测试数据组组是(D)或(E)。可供选择的的答案:A:(1)语句覆盖盖 (2)条件覆盖盖 (3)判定覆盖盖 (4)路径覆盖盖BE:(1)I和和II组 (2)III和IIII级 (3)IIII和IVV组 (44)I和IIV组 (5)I、II和IIII组 (6)III,IIII和IVV组 (7)I,IIII和IIV组 (8)I、II和IIV组答:A:(4) BB:(1) C:(4) DD:(5) E:(8)

52、10、请对对“判定三角角形类别”程序算法法用等价类类划分和边边界值分析析法设计测测试用例,并并检查逻辑辑覆盖标准准。解:先划分分等价类并并编号:为合理等价价类设计测测试用例,对对于表中对对应的四个个合理等价价类,用三三个测试用用例覆盖。为每一个个不合理等等价类设计计一个测试试用例:用边界值法法设计测试试用例:11、某“调整工资资”处理模块块接受一个个“职称”的变量,根根据职称的的不同(助助教,讲师师,副教授授,教授)作作不同的处处理,其中中若是助教教还必须输输入工龄,只只有工龄超超过两年才才能调整工工资。请用用等价类划划分法设计计测。1.划分等等价类: 计测试用用例:第七章 HYPERLINK

53、 http:/51/rjgc/NO00064.htm 软软件维护1、软件维维护有哪些些内容? 答:(1)校校正性维护护。在软件件交付使用用后,一些些隐含的错错误在某些些特定的使使用环境下下会暴露出出来。为了了识别和纠纠正错误,修修改软件性性能上的缺缺陷,应进进行确定和和修改错误误的过程,这这个过程就就称为校正正性维护。 (2)适应应性维护。为了使应应用软件适适应计算机机硬件、软软件环境及及数据环境境的不断发发生的变化化而修改软软件的过程程称为适应应性维护。 (3)完善善性维护。为增加软软件功能、增强软件件性能、提提高软件运运行效率而而进行的维维护活动称称为完善性性维护。 (4)预防防性维护。为

54、了提高高软件的可可维护性和和可靠性而而对软件进进行的修改改称为预防防性维护。 2、 软件件维护的特特点是什么么? 答:主要体体现在三个个方面: (1) 非非结构化维维护和结构构化维护。软件的开开发过程对对软件的维维护有很大大的影响。若不采用用软件工程程的方法开开发软件,则则软件只有有程序而无无文档,维维护工作非非常困难,这这是一种非非结构化的的维护。若若采用软件件工程的方方法开发软软件,则各各阶段都有有相应的文文档,容易易进行维护护工作,这这是一种结结构化的维维护。 (2) 维维护的困难难性。软件件维护的困困难性是由由于软件需需求分析和和开发方法法的缺陷。软件生存存周期中的的开发阶段段没有严格

55、格而又科学学的管理和和规划,就就会引起软软件运行时时的维护困困难。(33) 软件维护的的费用。软软件维护的的费用在总总费用中的的比重是在在不断增加加的,这是是软件维护护有形的代代价。另外外还有无形形的代价,即即要占有更更多的资源源。软件维维护费用增增加的占有有原因是软软件维护的的生产率非非常低。 3、 软件件维护的流流程是什么么? 答:软件维维护的流程程如下:提提交维护申申请报告、审查申请请报告并批批准、运行行维护并做做详细记录录、复审。 4、 软件件维护的副副作用有哪哪些? 答:维护的的副作用有有以下三种种: (1) 编编码副作用用。在使用用程序设计计语言修改改源代码时时可能引入入的错误。

56、(2) 数数据副作用用。在修改改数据结构构时,有可可能造成软软件设计与与数据结构构不匹配,因因而导致软软件错误。数据副作作用是修改改软件信息息结构导致致的结果。但它可以以通过详细细的设计文文档加以控控制。 (3) 文文档副作用用。如果对对可执行软软件的修改改没有反映映在文档中中,就会产产生文档副副作用。 5、什么是是软件可维维护性?可可维护性度度量的特性性是什么?答:软件可可维护性的的定义:软软件能够被被理解、校校正、适应应及增强功功能的容易易程度。软软件的可维维护性可用用以下七个个质量特性性来衡量,即即可理解性性、可测试试性、可修修改性、可可靠性、可可移植性、可使用性性和效率。 6、 提高高

57、可维护性性的方法有有哪些? 答:(1)建建立明确的的软件质量量目标。 (2)使用用先进的软软件开发技技术和工具具。 (3)建立立明确的质质量保证。 (4)选择择可维护性性的程序设设计语言。 (5)改进进程序的文文档。 选择题(每每题1分,220 题共200 分)1. 下述述哪个选项项不是采用用瀑布模型型的条件( )。 (A)在在项目开发发早期需求求可能有所所变化。(B)低风风险项目(对对目标、环环境很熟悉悉)。 (C)用用户使用环环境很稳定定。 (D)用用户除提出出需求以外外,很少参参与开发。2. 下列列中不属于于非功能需需求的是( )(A)性能能要求 (BB)数据处处理要求(C)安全全性要求

58、 (D)可可靠性要求求3. 衡量量模块独立立性的标准准是()(A)模块块的抽象程程度(B)耦耦合性和内内聚性(C)模块块的封装性性 (DD)内聚的的类型4. 设计计软件时,模块内部最好是( )(A) 时时间内聚 (BB) 功能内内聚 (C) 逻辑内内聚 (D)通信内聚聚5. 下面面不属于软软件设计原原理的是( ) (A) 抽抽象 (B) 分解解 (C) 封装 (D) 自顶顶向下6. 在结结构化分析析方法(SSA)中,用用E-R图图建立的是是系统的()(A)业务务模型(BB)物理模模型(C)数据据模型 (D)功功能模型7. 面向向对象开发发方法中,静态模型使用的建模工具是()(A) 顺顺序图(B

59、) 状态态图 (C) 活动图图 (D) 类图8. 业务务模型是开开发方为了了理解客户户的业务及及需求,并并与客户达达成业务理理解上的共共识而建立立的模型,以以下说法不不正确的是是( )。A、业务模模型不需要要考虑计算算机环境。B、业务模模型必须尊尊重当前业业务的事实实。C、用计算算机语言描描述业务模模型。D、业务模模型在建立立后需要得得到客户的的签字认可可。9. 软件件架构(概概要)设计计的主要任任务是要确确定( )(A) 模模块/构件件之间的操操作细节 (B) 模模块/构件件之间的相相似性(C) 模模块/构件件之间的组组成关系 (D) 模模块/构件件的具体功功能10. 下下述哪个关关系不是类

60、类图中类和和类之间的的关系()。(A)扩展展关系 (B)依依赖关系(C)关联联关系 (DD)泛化关关系11. 在在下述关于于软件测试试的观点中中,哪个是是不准确的的()。(A)测试试的目的是是证明软件件无错,(B)在软软件开发过过程中,测测试是带有有“破坏性的的”。(C)软件件测试是软软件质量保保障的关键键措施。(D)系统统软件测试试主要是为为了发现BBug12对模模块进行单单元测试时时,有时需需要一个()模块用用来模拟被被测模块的的上级调用用模块。(A) 理理解(B) 驱动动 (C) 管理 (D) 桩13 . 若有一个个计算类型型的程序,它它的输入量量只有一个个X,其范范围是-1.0,11.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论