版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、桃五-507版权所有,违版必究PAGE 67 -软件工程概述1软件产品的特性是什么?产品特性: 是一种逻辑产产品,与物质质产品有很大大的区别。软件产品的生生产主要是研研制,生产成成本主要在开开发和研制,开开发研制完成成后,通过复复制就产生了了大量软件产产品。软件产品不会会用坏,不存存在磨损,消消耗。 生产主要是脑脑力劳动,还还末完全摆脱脱手工开发方方式,大部分分产品是定定做的开发软件的费费用不断增加加,致使生产产成本相当昂昂贵。2软件生产有有几个阶段?各有何特征征?程序设计时代代:这个阶段段生产方式是是个体劳动,使使用的生产工工具是机器语语言,汇编语语言。程序系统时代代:这个阶段段生产方式是是
2、小集团合作作生产,使用用的生产工具具是高级语言言,开发方法法仍依靠个人人技巧,但开开始提出结构构化方法。软件工程时代代:这个阶段段生产方式是是工程化的生生产,使用数数据库开发工具开发环境网络分布式面向对象技技术来开发软软件。3什么是软件件危机?主要要表现在哪些些方面?软件开发技术的的进步未能满满足发展的要要求。在软件件开发中遇到到的问题找不不到解决的办办法,问题积积累起来,形形态尖锐的矛矛盾,导致了了软件危机。表现方面: (1) 用户对对开发出的软软件很难满意意。(2) 软件产产品的质量往往往靠不住。 (3) 一般软软件很难维护护。 (4) 软件生生产效率很低低。 (5) 软件开开发成本越来来
3、越大。 (6) 软件成成本与开发进进度难以估计计。(7)软件技术术的发展远远远满足不了计计算机应用的的普及与深入入的需要。4什么是软件件工程?它目目标和内容是是什么?软件工程:就是是用科学的知知识工程和技技术原理来定定义,开发,维维护软件的一一门学科。软件工程的目标标:付出较低低开发成本;达到要求的的功能;取得得较好的性能能;开发的软软件易于移植植;只需较低低的维护费用用;能按时完完成开发任务务,及时交付付使用;开发发的软件可靠靠性高。软件工程的内容容:研究内容容包括开发技技术和开发管管理两个方面面。开发技术术主要研究:软件开发方方法,开发过过程,开发工工具和环境。开开发管理主要要研究:软件件
4、管理学,软软件经济学,软软件心理学。5软件工程面面临的问题是是什么?软件工程需要解解决的问题:软件的费用用,可靠性,可可维护性,软软件生产率和和软件的重用用。6什么是软件件生存周期?它有哪几个个活动?软件生存周期:一个软件从从提出开发要要求开始直到到该软件报废废为止的整个个时期。包括:可行性分分析和项目开开发计划,需需求分析,概概要设计,详详细设计,编编码,测试,维维护。7什么是软件件生存周期模模型?有哪些些主要模型?生存周期模型:描述软件开开发过程中各各种活动如何何执行的模型型。对软件开开发提供强有有力的支持,为为开发过程中中的活动提供供统一的政策策保证,为参参与开发的人人员提供帮助助和指导
5、,是是软件生存周周期模型化技技术的基础,也也是建立软件件开发环境的的核心。主要有:瀑布模模型,增量模模型,螺旋模模型,喷泉模模型,基于知知识的模型,变变换模型。8什么是软件件开发方法?有哪些主要要方法?使用早已定义好好的技术集及及符号表示习习惯来组织软软件生产的过过程。通过使使用成功的软软件开发方法法,在规定的的投资和时间间内,开发出出符合用户需需求的高质量量的软件。软软件开发方法法是克服软件件危机的重要要方面之一,对对软件工程及及软件包产业业的发展起了了不可估量的的作用。主要有:结构化化方法,JAACKSONN方法,维也也纳开发方法法VDM,面向对象象开发方法。9、软件工程方方法学包含33个
6、要素分别别是什么?分别是:方法、工工具和过程。方法是完成软件件开发的各项项任务的技术术方法,回答答“怎样做”的问题;工具是为运用方方法而提供的的自动的或半半自动的软件件工程支撑环环境;过程是为了获得得高质量的软软件所需要完完成的一系列列任务的框架架,它规定了了完成各项任任务的工作步步骤。10、什么是软软件过程?为了获得高质量量软件所需要要完成的一系系列任务的框框架,规定了了完成各项任任务的工作步步骤。在完成成开发任务时时必须进行一一些开发活动动,并且使用用适当的资源源,在过程结结束时将把输输入转化为输输出。11、瀑布模型型的特点及优优点?特点:(1)各个阶段段的顺序性和和依赖性; (2)划分逻
7、辑辑设计与物理理设计,尽可可能推迟程序序的物理实现现; (3)每个阶段段必须完成规规定的文档,对对其中问题通通过复审及早早发现,及早早解决。优点:可强迫开发人员员采用规范的的方法(例如如,结构化技技术); 严格地规定了每每个阶段必须须提交的文档档;要求每个阶段交交出的所有产产品都必须经经过质量保证证小组的仔细细验证。12、螺旋模型型的优点?对可选方案和约约束条件的强强调有利于已已有软件的重重用,也有助助于把软件质质量作为软件件开发的一个个重要目标;减少了过多测试试(浪费资金金)或测试不不足(产品故故障多)所带带来的风险;在螺旋模型中维维护只是模型型的另一个周周期,在维护护和开发之间间并没有本质
8、质区别。螺旋模型主要适适用于内部开开发的大规模模软件项目。项项目越大,风风险也越大,因因此,进行风风险分析的必必要性也越大大。此外,只只有内部开发发的项目,才才能在风险过过大时方便地地中止项目。13、快速原型型的分类、特特点及使用策策略?分类:探索型、实实验型、进化化型 特点:尽快快向用户提供供一个可在计计算机上运行行的目标系统统的模型,以以便使用户和和开发者在目目标系统应该该“做什么”这个问题上上尽可能快地地达成共识。快速原型应该具具备的第一个个特点是“快速”;快速原型应该具具备的第二个个特点是“容易修改”。原型的“修改试用反馈”过程可能重重复多遍。使用策略:废弃弃策略和追加加策略。14、软
9、件工程程的目标?付出较低开发成成本;达到要要求的功能;取得较好的的性能;开发发的软件易于于移植;只需需较低的维护护费用;能按按时完成开发发任务,及时时交付使用;开发的软件件可靠性高。15、软件开发发技术主要研研究内容?软件开发方法,开开发过程,开开发工具和环环境。16、软件开发发管理主要研研究内容?软件管理学,软软件经济学,软软件心理学。17、快速原型型开发的步骤骤?快速开发、需求求、构造原形形、原形、运运行原形、评评价原形、修修改意见。18、某计算机机系统投入使使用后、 55年内每年可可节省人民币币 2O0OO元,假设系系统的投资额额为50000元,年利率率为 12。试计算投投资回收期和和纯
10、收入。可行性研究1、可行性研究究的任务是什什么?可行研究的任务务:首先需要要进行概要的的分析研究,初初步确定项目目的规模,目目标,约束和和限制。分析析员再进行简简要的需求分分析,抽象出出项目的逻辑辑结构,建立立逻辑模型。从从逻辑模型出出发,经过压压缩的设计,探探索出若干种种可供选择的的解决方法,对对每种解决方方法都要研究究它的可行性性。主要从四个方面面考虑:.技术可行性性:一般要考考虑的情况包包括 开发的的风险即设计计出的系统能能否达到要求求的功能和性性能;资源的的有效性;相相关技术的发发展是否支持持;.经济可行性性:进行开发发成本的估算算以及了解取取得效益的评评估,确定要要开发的项目目是否值
11、得投投资。.法律可行性性:要开发的的项目是否存存在任何侵权权问题。(4).管理可可行性:运行行方式在用户户组织内是否否可行,现有有管理制度人员素质操作方式是是否可行。2、可行性研究究有哪些步骤骤?.确定项目规规模和目标;.研究正在运运行的系统;收集研究分析现有系系统的文档资资料,实地考考察系统访问问有关人员,然然后描绘现有有系统的高层层系统流程图图。.建立新系统统的高层逻辑辑模型;使用用数据流图和和数据字典描描述数据在系系统中的流动动和处理情况况。 .导出和评价价各种方案;导出若干较较高层次的物物理解决方法法,根据技术术可行性经济可行性性社会可行性性进行评估,得得到可行的解解决方法。.推荐可行
12、方方案;进行成成本效益分分析,决定该该项目是否值值得开发,若若值得开发那那么解决方案案是什么,并并且说明该方方案可行的原原因和理由。.编写可行性性研究报告;将上述可行行性过程的结结果写成相应应文档,即可可行性研究报报告。3、可行性研究究过程包括哪些?1. 复查系统统规模和目标标2. 研究目前前正在使用的的系统3. 导出新系系统的高层逻逻辑模型4. 进一步定定义问题5. 导出和评评价供选择的的解法6. 推荐行动动方针7. 草拟开发发计划8. 书写文档档提交审查4、什么是数据据流图?其作作用是什么?数据流图(DFFD):以图图形的方式描描述数据在系系统中流动和和处理的逻辑辑过程。只反反映系统必须须
13、完成的逻辑辑功能,是一一种功能模型型。5、什么是数据据字典?其作作用是什么?共有哪些条条目? 数据字典(DDD)用来定义义数据库流图图中的各个成成分的具体含含义。有以下下四类条目:数据流,数数据项,数据据存储,基本本加工。6、成本-效效益分析可用用哪些指标进进行度量?.投资回收率率:通常把建建立系统若干干年后能取得得的收益折算算成现在的价价值和开发系系统所需的费费用进行比较较得出投资回回收率。.投资回收期期:就是使累累计的经济效效益等于最初初的投资费用用所需的时间间。.纯收入:整整个生存周期期之内的累计计经济效益(折折成现在值)与与投资之差。7、某图书管理理系统有以下下功能: 借书:输入读读者
14、借书证。系系统首先检查查借书证是否否有效,若有有效,对于第第一次借书的的读者,在借借书证上建立立档案。否则则,查阅借书书文件,检查查该读者所借借图书是否超超过10本,若若已达10,拒拒借,末达110本,办理理借书(检查查库存,修改改库存目录并并将读者借书书情况录入借借书文件。) 还书:从借书书文件中读出出与读者有关关的记录,查查阅所借日期期,如超期(33个月)作罚罚款处理。否否则,修改库库存目录与借借书文件。 查询:通过借借书文件,库库存目录文件件查询读者情情况图书借阅及及库存情况,打打印统计表。 解:8、某银行的计计算机储蓄系系统功能是:将储户的存存户填写的存存款单或存款款单输入系统统,如果
15、是存存款,系统记记录存款人姓姓名住址存款类型存款日期利率等信息息,并打印出出存款单给储储户;如果是是取款,系统统计算清单给给储户。请用用DFD,IIDEF0描描绘该功能的的需求,并建建立相应数据据字典。 9、一个考务处处理系统的要要求如下,试试画出该系统统的数据流图图。(1) 对考生生送来的报名名表进行检查查;(2) 对合格格的报名表编编好准考证号号码后将准考考证送给考生生,并将汇总总后的考生名名单送给阅卷卷站;(3) 对阅卷卷站送来的成成绩表进行检检查,并根据据考试中心指指定的合格标标准审定合格格者;(4) 填写考考生通知单(内内容包含考试试成绩及合格格不合格标志志),送给考考生;(5) 按
16、地区区、年龄、文文化程度、职职业、考试级级别等进行成成绩分类统计计及试题难度度分析,产生生统计分析表表。(1)顶层数据据流图 (22) 第1层层数据流图(33) 第2层层数据流图 加工工1子图: 加工2子图图10、系统流程程图是概括地描绘物物理系统的传传统工具,表表达的是数据据在系统各部部件之间流动动的情况,11、原型化方方法主要用于于解决什么问问题?试说明明这种方法的的主要优缺点点。原型化方法主要要用于解决在在产品开发的的早期阶段需需求不确定的的问题,用户户、经理和其其他非技术项项目风险承担担者发现在确确定和开发产产品时,原型型可以使他们们的想象更具具体化。 这这种方法的主主要优点如下下:(
17、1)明明确并完善需需求 原型作作为一种需求求工具,它初初步实现所理理解的系统的的一部分,用用户对原型的的评价可以指指出需求中的的许多问题。(2) 探探索设计选择择方案 原型型作为一种设设计工具,可可以探索不同同的用户界面面技术,使系系统达到最佳佳的可用性,并并且可以评价价可能的技术术方案。(3)发展展为最终的产产品 原型作作为一种构造造工具,是产产品最初子集集的完整功能能实现,通过过一系列小规规模的开发循循环,你可以以完成整个产产品的开发。(4)这这种方法的主主要缺点包括括:(1) 用户户看到一个正正在运行的原原型便以为产产品即将完成成,他们会要要求不再进行行产品重建,而而只是对原型型进行一些
18、修修改就交付。由由于原型没有有考虑软件的的总体质量和可维护性性,交付原型型往往造成欲速则不达达的情况。(2) 开发人人员为了快速速构造原型,可可能会采用不不合适的操作作系统或程序序设计语言,也也可能使用一一些效率低的的算法。在一一段时间的开开发之后,他他们往往已经经习惯了这些些选择,于是是便在系统中中参杂了这些些不理想的选选择。 需求分析 1、什么是需求求分析?需求求分析阶段的的基本任务是是什么? 需求分析:开发发人员准确地地理解用户的的要求,进行行细致的调查查分析,将用用户非形式的的需求陈述转转化为完整的的需求定义,再再由需求定义义转换到相应应的需求规格格说明的过程程。 基本任务: 问题识别
19、:双双方确定对问问题的综合需需求,这些需需求包括功能能需求,性能能需求,环境境需求,用户户界面需求。 分析与综合,导导出软件的逻逻辑模型 。编写文档:包包括编写需需求规格说明明书,初初步用户使用用手册,确认测试计计划,修修改完善软件件开发计划 。2、什么是结构构分析方法?该方法使用用什么描述工工具? 结构化分析:简简称SA,面面向数据流进进行数据分析析的方法。采采用自顶向下下逐层分解的的分析策略。顶顶层抽象地描描述整个系统统,底层具体体地画出系统统工程的每个个细节。中间间层则是从抽抽象到具体的的过渡。使用数据流图,数数据字典,作作为描述工具具,使用结构构化语言,判判定表,判定定树描述加工工逻辑
20、。3、结构化分析析方法通过哪哪些步骤来实实现? 了解当前系统统的工作流程程,获得当前前系统的物理理模型。 抽象出当前前系统的逻辑辑模型。 建立目标系系统的逻辑模模型。 作进一步补补充和优化。4、E-R图中中包含哪几种种种基本成分分?实体(即数据对对象)、关系和属属性5、联系可分为为哪几种类型型?一对一联系(111),一对多多联系(1N),多对多多联系(MN)6、为何要进行行数据结构规规范化?为减少数据冗余余,避免出现现插入异常或或删除异常,简简化修改数据据的过程。7、第一范式每个属性值都必必须是原子值值,即仅仅是是一个简单值值而不含内部部结构。8、第二范式满足第一范式条条件,而且每每个非关键字
21、字属性都由整整个关键字决决定(而不是由关关键字的一部部分来决定),消除了非非关键字属性性对关键字属属性的部分依依赖。9、第三范式符合第二范式的的条件,每个个非关键字属属性都仅由关关键字决定,而而且一个非关关键字属性不不能仅仅是对对另一个非关关键字属性的的进一步描述述(即一个非关关键字属性值值不依赖于另另一个非关键键字属性值),消除了非非关键字属性性对关键字属属性的传递依依赖。10、S-L-C(SNOO,SDEPPT,SLOOC,CNOO,G),这这里SNO表示学学号,SDEEPT表示系系名,SLOOC表示楼号号,CNO表示课课程号,G表示成绩。 函数依赖有有: (SNNO,CNOO)G; SD
22、DEPTSLOC; SNOSDEPTT,对关系进进行规范化,达达到三范式要要求。(1)SC(SSNO,CNNO,G)和和 (2)S-D(SNO,SDEPTT,) (33) S-LL(SDEPPT ,SLOC)11、状态转换换图状态转换图(简简称为状态图图)通过描绘系系统的状态及及引起系统状状态转换的事事件,来表示示系统的行为为。提供了行行为建模机制制。12、层次方框框图层次方框图用树树形结构的一一系列多层次次的矩形框描描绘数据的层层次结构。树树形结构的顶顶层是一个单单独的矩形框框,它代表完完整的数据结结构,下面的的各层矩形框框代表这个数数据的子集,最最底层的各个个框代表组成成这个数据的的实际数
23、据元元素(不能再分割割的元素)。13、IPO图图IPO图是输入入、处理、输输出图的简称称,能够方便便地描绘输入入数据、对数数据的处理和和输出数据之之间的关系。14、从哪些方方面验证软件件需求的正确确性(1) 一致性性所有需求必必须是一致的的,任何一条条需求不能和和其他需求互互相矛盾。(2) 完整性性需求必须是是完整的,规规格说明书应应该包括用户户需要的每一一个功能或性性能。(3) 现实性性指定的需求求应该是用现现有的硬件技技术和软件技技术基本上可可以实现的。对对硬件技术的的进步可以做做些预测,对对软件技术的的进步则很难难做出预测,只只能从现有技技术水平出发发判断需求的的现实性。(4) 有效性性
24、必须证明需需求是正确有有效的,确实实能解决用户户面对的问题题。 总体设计1、什么是总体体设计?总体体设计的任务务是什么?总体设计又称为为概要设计或或初步设计。确定系统功能是实现。基本任务是:建立软件系统结构(划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量)、数据结构和数据库的设计(数据结构设计、概念设计、逻辑设计、物理设计)、编写概要设计文档(概要设计说明书、用户手册、数据库设计说明书、修订测试计划)。2、总体设计分分为哪两个阶阶段?系统设计阶段,确确定系统的具具体实现方案案;结构设计计阶段,确定定软件结构。3、总体设计过过程包括几个个步骤?1. 设想供选选择的方案2
25、. 选取合理理的方案3. 推荐最佳佳方案4. 功能分解解5. 设计软件件结构6. 设计数据据库7. 制定测试试计划8. 书写文档档9. 审查和复复审4、模块化是把程序划分成成独立命名且且可独立访问问的模块,每每个模块完成成一个子功能能,把这些模模块集成起来来构成一个整整体,可以完完成指定的功功能满足用户户的需求。5、模块化的优优点 (1)模块块化使软件容容易测试和调调试,因而有有助于提高软软件的可靠性性。 (2)模模块化也有助助于软件开发发工程的组织织管理。6、抽象就是抽出事物的的本质特性而而暂时不考虑虑它们的细节节。7、抽象化包括括哪些?过程的抽象 、数数据抽象。8、模块的独立立程度的定性性
26、标准度量是是什么?好的的模块应满足足什么标准?内聚和耦合;高高内聚低耦合合。9、什么耦合?模块间的耦耦合有哪些?指衡量不同模块块彼此间互相相依赖(连接)的紧密程度度;有非直接耦合合、标记耦合、数据耦合 、控制耦合 、外部耦合、公共耦合和内容耦合 。10、非直接耦耦合如果两个模块之之间没有直接接关系,它们们之间的联系系完全是通过过主模块的控控制和调用来来实现的,这这就是非直接接耦合。这种种耦合的模块块独立性最强强。11、标记耦合合如果一组模块通通过参数表传传递记录信息息,就是标记记耦合。这个个记录是某一一数据结构的的子结构,而而不是简单变变量。12、数据耦合合如果一个模块访访问另一个模模块时,彼
27、此此之间是通过过简单数据参参数 (不是是控制参数、公公共数据结构构或外部变量量) 来交换换输入、输出出信息的,则则称这种耦合合为数据耦合合。13、控制耦合合如果一个模块通通过传送开关关、标志、名名字等控制信信息,明显地地控制选择另另一模块的功功能,就是控控制耦合。14、外部耦合合一组模块都访问问同一全局简简单变量而不不是同一全局局数据结构,而而且不是通过过参数表传递递该全局变量量的信息,则则称之为外部部耦合。15、公共耦合合若一组模块都访访问同一个公公共数据环境境,则它们之之间的耦合就就称为公共耦耦合。公共的的数据环境可可以是全局数数据结构、共共享的通信区区、内存的公公共覆盖区等等。16、内容
28、耦合合如果发生下列情情形,两个模模块之间就发发生了内容耦耦合 (1) 一一个模块直接接访问另一个个模块的内部部数据; (2) 一个个模块不通过过正常入口转转到另一模块块内部; (3) 两个个模块有一部部分程序代码码重迭(只可能出现现在汇编语言言中); (4) 一一个模块有多多个入口。17、内聚衡量一个模块内内部各个元素素彼此结合的的紧密程度。功能内聚 ,信息内聚 ,通信内聚 ,过程内聚,时间内聚,逻辑内聚,巧合内聚。19、功能内聚聚 一个模块中各个个部分都是完完成某一具体体功能必不可可少的组成部部分,或者说说该模块中所所有部分都是是为了完成一一项具体功能能而协同工作作,紧密联系系,不可分割割的
29、。则称该该模块为功能能内聚模块。20、信息内聚聚 这种模块完成多多个功能,各各个功能都在在同一数据结结构上操作,每每一项功能有有一个唯一的的入口点。这这个模块将根根据不同的要要求,确定该该执行哪一个个功能。由于于这个模块的的所有功能都都是基于同一一个数据结构构(符号表),因因此,它是一一个信息内聚聚的模块。21、通信内聚聚 如果一个模块内内各功能部分分都使用了相相同的输入数数据,或产生生了相同的输输出数据,则则称之为通信信内聚模块。通通常,通信内内聚模块是通通过数据流图图来定义的。22、过程内聚聚使用流程图做为为工具设计程程序时,把流流程图中的某某一部分划出出组成模块,就就得到过程内内聚模块。
30、例例如,把流程程图中的循环环部分、判定定部分、计算算部分分成三三个模块,这这三个模块都都是过程内聚聚模块。23、时间内聚聚时间内聚又称为为经典内聚。这这种模块大多多为多功能模模块,但模块块的各个功能能的执行与时时间有关,通通常要求所有有功能必须在在同一时间段段内执行。例例如初始化模模块和终止模模块。24、逻辑内聚聚这种模块把几种种 相关的功功能组合在一一起,每次被被调用时,由由传送给模块块的判定参 数来确定定该模块应执执行哪一种功功能。25、巧合内聚聚巧合内聚又称为为偶然内聚。当当模块内各部部分之间没有有联系,或者者即使有联系系,这种联系系也很松散,则则称这种模块块为巧合内聚聚模块,它是是内聚
31、程度最最低的模块。26、扇出是一个模块直接接控制(调用)的模块数目目。27、扇入一个模块的扇入入表明有多少少个上级模块块直接调用它它。28、模块的作作用域定义为受该模块块内一个判定定影响的所有有模块的集合合。29、模块的控控制域是这个模块本身身以及所有直直接或间接从从属于它的模模块的集合。30、模块化的的优点。模块化使软件容容易测试和调调试,因而有有助于提高软软件的可靠性性,提高软件件的可修改性性。模块化也有助于于软件开发工工程的组织管管理。31、逐步求精精、分层过程程与抽象等概概念之间的相相互关系如何何?“自顶向下,逐逐步求精”是Niklaaus Wiirth提出出的设计策略略:即将软件件的
32、体系结构构按自顶向下下方式,对各各个层次的过过程细节和数数据细节逐层层细化,直到到用程序设计计语言的语句句能够实现为为止,从而最最后确立整个个的体系结构构。这样的结构实际际就是一个模模块的分层结结构,即分层层的过程。在在实施时,采采用抽象化的的方法,自顶顶向下,给出出不同的抽象象层次。在最最高的抽象层层次上,可以以使用问题所所处环境的语语言概括地描描述问题的解解法。而在较较低的抽象层层次上,则采采用过程化的的方法。在描描述问题的解解法时,我们们可以配合使使用面向问题题的术语和面面向现实的术术语。但最后后在最低的抽抽象层次上,应应使用能够直直接实现的方方式来描述这这个解法。32、什么是软软件结构
33、图?简述软件结结构设计优化化准则。软件系统的模块块层次结构,反反映了整个系系统的功能实实现,即将来来程序的控制制体系。准则则:高内聚低低耦合、作用用范围在控制制范围内、软软件的深度、宽宽度、扇入、扇扇出适当、模模块大小适中中、接口简单单清晰易懂。33、什么是模模块的控制范范围和作用范范围?他们的的关系如何?控制范围:是模模块本身和它它的下属模块块的集合。作作用范围:模模块中的一个个判定影响的的所有模块的的集合。作用用范围应该在在控制范围内内。33、什么是变变换流?什么么是事物流?变换流由输入、变变换(或处理理)、输出三三部分组成。事物流某个加工工将它的输入入流分离成许许多发散的数数据流,形成成
34、许多加工路路径,并根据据输入选择其其中一个路径径来执行。34、试述变变换分析事物分析析设计步骤骤。变换分析设计步步骤:确定变换中心心,逻辑输入入和输出。 设计软件结构构的顶层和第第一层-变变换结构:顶顶层的功能是是完成所有模模块的控制(名名称应是系统统名,以体现现完成整个系系统功能) 第一层至少有三三种功能模块块:输入输出和变换换模块 设计中下层层模块,对第第一层的模块块自顶向下分分解。 输入模块由两部部分组成:接接收数据转换成调用用模块所需信信息。 输出模块由两部部分组成:将将数据转换成成下属模块所所需的形式 发送数据据变换模块:对每每个基本加工工建立一功能能模块 设计的优化 :输入部分分求
35、精,每个个物理输入设设置专门模块块,以体现系系统的外部接接口。其它输输入模块与转转换数据模块块都很简单时时,可将它们们合并。输出部分求精:每个物理输输出设置专门门模块,其它它也可适当合合并。变换部分求精:根据设计准准则,对模块块适当合并。 事务分析的设计计步骤:确定事务中心心和加工路径径 设计顶层(事事务机构)和和第一层 顶顶层模块有两两个功能:接接收数据和根根据事务类型型调动相应处处理模块。 中下层模块的的设计优化工作与与变换结构相相同。 事务型软件结构构包括两部分分: 接收分分支 发送分分支出 通常常包括一调度度模块,当事事务类型不多多时,可与主主模块合并 。35、请将下图图的DFD转转换
36、为软件结结构图。解:详细设计详细设计的基本本任务是什么么?有那几种种描述方法?设计模块的数据据结构、设计计数据库的物物理结构、设设计模块的详详细算法、其其它(代码设设计、输入/输出格式设设计、人机对对话设计)、编编写详细设计计说明书、评评审。程序流程图、PPAD图、PDL。2、请使用流程程图、PADD图和PDLL语言描述下下列程序的算算法。(1)在数据AA(1)AA(10)中中求最大数和和次大数。3、输入三个正正整数作为边边长,判断该该三条边构成成的三角形是是等边、等腰腰还是一般三三角形。使用用流程图、PPAD图和PPDL语言描描述。解:如图:4、画出下面用用PDL写出出的程序的PPAD图。W
37、HILE PP DO IFF A OO THENN A1 EELSE AA2 ENDDIF; S11; IFF B0 THEN B1; WHHILE CC DO SS2;S3 ENDWHHILE; ELLSE B22 ENNDIF; B33 ENNDWHILLE;编码与测试1、软件测试的的目的是什么么?软件测试试中,应注意意哪些原则?答:软件测试的的目的是为了了发现软件的的错误。软件测试中应注注意的原则有有:(1)测试用例例应由输入数数据和预期的的输出数据两两部分组成。这这样便 于对对照检查,做做到有的放矢矢。 (2)测试且例例不仅选用合合理输入数据据,还要选择择不合理的输输入数据。这这样能更
38、多地地发现错误,提提高程序的可可靠性。对于于不合理的输输入数据,程程序应拒绝接接受,并给出出相应的提示示。 (3)除了检查查程序是否做做了它应该做做的事,还应应该检查程序序是否做了它它不应该做的的事。 (4)应制定测测试计划并严严格执行,排排除随意性。 (5)长期保留留测试用例。 (6)对发现错错误较多的程程序段,应进进行更深入的的测试。 (7)程序员应应避免测试自自己的程序。测测试是一种挑剔性的的行为,心理理状态是测试试自己程序的的障碍。 2、什么是白盒盒测试法?有有哪些覆盖标标准?试对他他们的检错能能力进行比较较?答:白盒法测试试法把测试对对象看作一个个打开的盒子子,测试人员员须了解程序序
39、内部结构和和处理过程,以以检查处理过过程的细节为为基础,对程程序中尽可能能多的逻辑路路径进行测试试,检验内部部控制结构和和数据结构是是否有错,实实际的运行状状态与预期的的状态是否一一致。白盒法有下列几几种覆盖标准准:语句覆盖:设计计若干个测试试用例,运行行被测程序,使使得每一可执执行语句至少少执行一次。判定覆盖:设计计若干个测试试用例,运行行被测程序,使使得程序中每每个判断的取取真分支和取取假分支至少少经历一次。条件覆盖:设计计若干个测试试用例,运行行被测程序,使使得程序中每每个判断的每每个条件的可可能取值至少少执行一次。判定/条件覆盖盖:设计足够的的测试用例,使使得判断中每每个条件的所所有可
40、能取值值至少执行一一次,同时每每个判断中的的每个条件的的可能取值至至少执行一次次。 条件组合覆盖:设计足够的的测试用例,运运行被测程序序,使得每个个判断的所有有可能的条件件取值组合至至少执行一次次。路径覆盖:设计计足够的测试试用例,覆盖盖程序中所有有可能的路径径。从上到下的覆盖盖标准其检错错能力也从弱弱到强,其中中条件组合发发现错误的能能力较强,凡凡满足其标准准的测试用例例,也必然满满足前四种覆覆盖标准。在在实际的逻辑辑测试中,一一般以条件组组合覆盖为主主设计测试用用例,然后再再补充部分用用例来达到路路径覆盖的测测试标准。3、什么是黑盒盒测试法?采采用黑盒技术术测试用例有有哪几种方法法?这些方
41、法法各有什么特特点?答:黑盒测试法法把被测试对对象看成是一一个黑盒子,测测试人员完全全不考虑程序序的内部结构构和处理过程程,只在软件件接口处进行行测试,依据据需求规格说说明书,检查查程序是否满满足功能要求求。采用黑盒技术测测试用例的方方法有:等价类的划分、边边界值分析、错错误推测和因因果图。等价类的划分:是将输入数数据按有效的的或无效的(也称合理的的或不合理的的)划分成若若干个等价类类,测试每个个等价类的代代表值就等于于对该类其他他值的测试。这这样就把漫无无边迹的随机机测试改为有有针对性的等等价类测试,用用少量有代表表性的例子代代替大量测试试目的相同的的例子,能有有效地提高测测试效率。但但这个
42、方法的的缺点是没有有注意选择某某些高效的、能能够发现更多多错误的测试试用例。边界值分析法:是将测试边边界情况作为为重点目标,选选取正好等于于、刚刚大于于和刚刚小于于边界值的测测试数据。(边界情况是是指输入等价价类和输入等等价类边界上上的情况。)这种方法可可以查出更多多的错误,因因为在程序中中往往在处理理边界情况时时易发生错误误。错误推测法:是是在测试程序序时,人们根根据经验或直直觉推测程序序中可能存在在的错误,从从而有针对性性地编写检查查这些错误的的测试用例。因果图:能够有有效地检测输输入条件的各各种组合可能能会引起的错错误。它的基基本原理是通通过画因果图图,把用自然然语言描述的的功能说明转转
43、换为判定表表,最后为判判定表的每一一列设计一个个测试用例。这几种方法都不不能提供一组组完整的测试试用例,在实实际测试中应应把各种方法法结合起来使使用。综合策略:就是是联合使用上上述几种测试试方法,尽可可能多地发现现程序中的错错误。4、软件测试要要经过哪些步步骤?这些测测试与软件开开发各阶段之之间有什么关关系?答:软件测试要要经过的步骤骤是:单元测测试集成测试确认测试系统测试。单元测试:对源源程序中每一一个程序单元元进行测试,检检查各个模块块是否正确实实现规定的功功能,从而发发现模块在编编码中或算法法中的错误。该该阶段涉及编编码和详细设设计文档。集成测试:是为为了检查与设设计相关的软软件体系结构
44、构的有关问题题,也就是检检查概要设计计是否合理有有效。确认测试:主要要是检查已实实现的软件是是否满足需求求规格说明书书中确定了的的各种需求。系统测试:是把把已确认的软软件与其他系系统元素(如如硬件、其他他支持软件、数数据、人工等等)结合在一一起进行测试试。以确定软软件是否可以以支付使用。5、单元测试有有哪些内容?测试中采用用什么方法?答:单元测试主主要针对模块块的以下五个个基本特征进进行测试:(1)模块接口口 (2)局部数据据结构 (3)重要的执执行路径 (4)错误处理理 (5)边界条件件 测试的方法是为为被测试模块块编写驱动模模块和桩模块块来实现被测测试单元的可可运行。通过过驱动模块来来模拟
45、被测试试模块的上级级调用模块,以以上级模块调调用被测模块块的格式驱动动被测模块,接接收被测模块块的测试结构构并输出。桩桩模块则用来来代替被测试试模块所调用用的模块。它它的作用是返返回被测模块块所需的信息息。6、什么是集成成测试?非渐渐增式测试与与渐增式测试试有什么区别别? 渐增式式测试如何组组装模块?答:集成测试是是指在单元测测试的基础上上,将所有模模块按照设计计要求组装成成一个完整的的系统进行的的测试。非渐增式测试是是指首先对每每个模块分别别进行单元测测试,再把所所有模块组装装成一个完整整的系统进行行的测试。而而渐增式测试试就是逐个把把未经测试的的模块组装到到已经过测试试的模块上去去进行集成
46、测测试,每加入入一个新模块块进行一次集集成测试,重重复此过程直直到程序组装装完毕。渐增增式测试有两两种不同的组组装方法:自自顶向下和自自底向上结合合。两者区别是:(1)非渐增式式方法把单元元测试和集成成测试分成两两个不同的阶阶段,前一阶阶段完成模块块的单元测试试,后一阶段段完成集成测测试。而渐增增式测试往往往把单元测试试和集成测试试合在一起,同同时完成。(2)非渐增式式需要更多的的工作量,因因为每个模块块都需要驱动动模块和桩模模块,而渐增增式利用已测测试过的模块块作为驱动模模块或桩模块块,因此工作作量少。(3)渐增式可可以较早地发发现接口之间间的错误,非非渐增式最后后组装时才发发现。(4)渐增
47、式有有利于排错,发发生错误往往往和最近新加加入的模块有有关,而非渐渐增式发现接接口错误推迟迟到最后,很很难判断是哪哪一部分接口口出错。(5)渐增式比比较彻底,已已测试的模块块和新的模块块再测试。(6)渐增式点点用时间较多多,但非渐增增式所需更多多的驱动模块块和桩模块也也占用一些时时间。(7)非渐增式式开始可并行行测试所有模模块,能充分分利用人力,对对测试大型软软件很有意义义。7、什么是确认认测试?该阶阶段有哪些工工作?答:确认测试又又称有效性测测试。它的任任务是检查软软件的功能与与性能是否与与需求规格说说明书中确定定的指标相符符合。因而需需求说明是确确认测试的基基础。确认测测试阶段有两两项工作
48、:进进行确认测试试与软件配置置审查。8、调试的目的的是什么?调调试有哪些技技术手段?答:调试则是在在进行了成功功的测试之后后才开始的工工作。调试的的目的是确定定错误的原因因和位置,并并改正错误,因因此调试也称称为纠错(DDebug)。调试的技技术手段有简简单的调试方方法、归纳法法、演绎法和和回溯法等。9、将正确答案案的编号填入入题目空白处处:在白盒测试用例例中,有语句句覆盖、条件件覆盖、判定定覆盖、路径径覆盖等,其其中(A)是是最强的覆盖盖准则。为了了对下图所示示的程序进行行覆盖测试,必必须适当地选选取测试数据据。若X,YY是两个变量量,可供选择择的测试数据据组共有I,III,IIII,IV四
49、组组(如表中给给出),则实实现语句覆盖盖至少应采用用的测试数据据组是(B);实现条件件覆盖至少应应采用的测试试数据组是(C);实现现路径覆盖至至少应采用的的测试数据组组是(D)或或(E)。可供选择的答案案:A:(1)语句句覆盖 (22)条件覆盖盖 (3)判判定覆盖 (4)路径覆覆盖BE:(1)I和II组组 (2)III和IIII级 (3)III和IIV组 (44)I和IVV组 (5)I、II和和III组 (6)III,III和和IV组 (7)I,IIII和IV组组 (8)II、II和IIV组答:A:(4) B:(11) C:(4) D:(5) EE:(8)10、请对“判判定三角形类类别”程序算
50、法用用等价类划分分和边界值分分析法设计测测试用例,并并检查逻辑覆覆盖标准。解:先划分等价价类并编号:为合理等价类设设计测试用例例,对于表中中对应的四个个合理等价类类,用三个测测试用例覆盖盖。为每一个个不合理等价价类设计一个个测试用例:用边界值法设计计测试用例:11、某“调整整工资”处理模块接接受一个“职称”的变量,根根据职称的不不同(助教,讲讲师,副教授授,教授)作作不同的处理理,其中若是是助教还必须须输入工龄,只只有工龄超过过两年才能调调整工资。请请用等价类划划分法设计测测。1.划分等价类类: 计测试用例:第七章 HYPERLINK http:/51/rjgc/NO00064.htm 软件维
51、维护1、软件维护有有哪些内容? 答:(1)校正正性维护。在在软件交付使使用后,一些些隐含的错误误在某些特定定的使用环境境下会暴露出出来。为了识识别和纠正错错误,修改软软件性能上的的缺陷,应进进行确定和修修改错误的过过程,这个过过程就称为校校正性维护。 (2)适应性维维护。为了使使应用软件适适应计算机硬硬件、软件环环境及数据环环境的不断发发生的变化而而修改软件的的过程称为适适应性维护。 (3)完善性维维护。为增加加软件功能、增增强软件性能能、提高软件件运行效率而而进行的维护护活动称为完完善性维护。 (4)预防性维维护。为了提提高软件的可可维护性和可可靠性而对软软件进行的修修改称为预防防性维护。
52、2、 软件维护护的特点是什什么? 答:主要体现在在三个方面: (1) 非结构构化维护和结结构化维护。软软件的开发过过程对软件的的维护有很大大的影响。若若不采用软件件工程的方法法开发软件,则则软件只有程程序而无文档档,维护工作作非常困难,这这是一种非结结构化的维护护。若采用软软件工程的方方法开发软件件,则各阶段段都有相应的的文档,容易易进行维护工工作,这是一一种结构化的的维护。 (2) 维护的的困难性。软软件维护的困困难性是由于于软件需求分分析和开发方方法的缺陷。软软件生存周期期中的开发阶阶段没有严格格而又科学的的管理和规划划,就会引起起软件运行时时的维护困难难。(3) 软件维护的费用用。软件维
53、护护的费用在总总费用中的比比重是在不断断增加的,这这是软件维护护有形的代价价。另外还有有无形的代价价,即要占有有更多的资源源。软件维护护费用增加的的占有原因是是软件维护的的生产率非常常低。 3、 软件维护护的流程是什什么? 答:软件维护的的流程如下:提交维护申请请报告、审查查申请报告并并批准、运行行维护并做详详细记录、复复审。 4、 软件维护护的副作用有有哪些? 答:维护的副作作用有以下三三种: (1) 编码副副作用。在使使用程序设计计语言修改源源代码时可能能引入的错误误。 (2) 数据副副作用。在修修改数据结构构时,有可能能造成软件设设计与数据结结构不匹配,因因而导致软件件错误。数据据副作用
54、是修修改软件信息息结构导致的的结果。但它它可以通过详详细的设计文文档加以控制制。 (3) 文档副副作用。如果果对可执行软软件的修改没没有反映在文文档中,就会会产生文档副副作用。 5、什么是软件件可维护性?可维护性度度量的特性是是什么?答:软件可维护护性的定义:软件能够被被理解、校正正、适应及增增强功能的容容易程度。软软件的可维护护性可用以下下七个质量特特性来衡量,即即可理解性、可可测试性、可可修改性、可可靠性、可移移植性、可使使用性和效率率。 6、 提高可维维护性的方法法有哪些? 答:(1)建立立明确的软件件质量目标。 (2)使用先进进的软件开发发技术和工具具。 (3)建立明确确的质量保证证。
55、 (4)选择可维维护性的程序序设计语言。 (5)改进程序序的文档。 选择题(每题11分,20 题共20 分)1. 下述哪个个选项不是采采用瀑布模型型的条件( )。 (A)在项项目开发早期期需求可能有有所变化。(B)低风险项项目(对目标标、环境很熟熟悉)。 (C)用户户使用环境很很稳定。 (D)用户户除提出需求求以外,很少少参与开发。2. 下列中不不属于非功能能需求的是( )(A)性能要求求 (B)数数据处理要求求(C)安全性要要求 (D)可靠靠性要求3. 衡量模块块独立性的标标准是()(A)模块的抽抽象程度(B)耦耦合性和内聚聚性(C)模块的封封装性 (DD)内聚的类类型4. 设计软件件时,模
56、块内内部最好是( )(A) 时间内内聚 (B) 功能内聚聚 (C) 逻辑辑内聚 (D)通信内聚5. 下面不属属于软件设计计原理的是( ) (A) 抽象 (B) 分解 (C) 封装 (D) 自顶向向下6. 在结构化化分析方法(SA)中,用用E-R图建建立的是系统统的()(A)业务模型型(B)物理理模型(C)数据模型型 (D)功功能模型7. 面向对象象开发方法中中,静态模型使用用的建模工具是()(A) 顺序图图(B) 状态图 (C) 活活动图 (D) 类图8. 业务模型型是开发方为为了理解客户户的业务及需需求,并与客客户达成业务务理解上的共共识而建立的的模型,以下下说法不正确确的是( )。A、业务
57、模型不不需要考虑计计算机环境。B、业务模型必必须尊重当前前业务的事实实。C、用计算机语语言描述业务务模型。D、业务模型在在建立后需要要得到客户的的签字认可。9. 软件架构构(概要)设设计的主要任任务是要确定定( )(A) 模块/构件之间的的操作细节 (B) 模块/构件之间的的相似性(C) 模块/构件之间的的组成关系 (D) 模块/构件的具体体功能10. 下述哪哪个关系不是是类图中类和和类之间的关关系()。(A)扩展关系系 (B)依赖赖关系(C)关联关系系 (DD)泛化关系系11. 在下述述关于软件测测试的观点中中,哪个是不不准确的()。(A)测试的目目的是证明软软件无错,(B)在软件开开发过程
58、中,测测试是带有“破坏性的”。(C)软件测试试是软件质量量保障的关键键措施。(D)系统软件件测试主要是是为了发现BBug12对模块进进行单元测试试时,有时需需要一个()模块用来来模拟被测模模块的上级调调用模块。(A) 理解(B) 驱动 (C) 管理理 (D) 桩13 . 若有有一个计算类类型的程序,它它的输入量只只有一个X,其其范围是-1.0,11.0,设设计这组测试试用例采用的的是黑盒测试试中的边界值值方法。下列列哪组测试用用例是合理的的()。(A)-1.00,1.0。(B)-1.00,1.0,11.001。(C)-1.0001,-11.0,1.0,1.0001。(D)-1.0001,-11
59、.0,1.0。14. 有开发发人员或者测测试人员在场场,客户在开开发环境下使使用软件的测测试为( )。(A)Alphha测试 (BB)Betaa测试(C)单元测试试 (D)集成成测试15. 改正软软件在使用过过程中逐渐暴暴露的缺陷或或错误的维护护工作为( )。(A)纠错性维维护 (B)适适应性维护(C)完善性维维护 (DD)预防性维维护16. 软件维维护中,因改改变一个数组组的大小而引引起的错误属属于修改( )副作用用。(A)编码(B)数数据结构(C)文文档(DD)设计17. CCMM的能力成熟熟度分为5个个等级,其中中( )级级的特征为项项目上的经验验,能对新项项目进行策划划和管理。(A)可
60、重复级级 (B)已定定义级(C)已管理级级 (DD)优化级18. 下面哪哪个选项不属属于软件配置置管理中的三三个库( )(A)软件开发发库 (B)软软件文档库(C)软件基线线库 (DD)软件产品品库19. 模块的的( )表表示有多少模模块可直接调调用它,它反反映了该模块块的复用(rreuse)程度,因此此值越大越好好。(A)扇入 (B)扇扇出 (C)宽宽度 (DD)深度20. ( )描述软件件构件及构件件之间的依赖赖关系,显示示代码的静态态结构。(A)类图 (BB)部件图 (CC)部署图 (D)对对象图填空题(每空11分,共200 空,共200 分)1软件是由程程序、_、_三部分组成成的。2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年航空安全员职业素养考核试题及答案
- 2026年海外留学申请政策解读试题及答案
- 2026年公开选调干部政策理论水平笔试试题
- 2026年高中安全教育试题及答案
- 2026年移动公司劳动合同(1篇)
- 电力故障导致的数据恢复方案企业IT部门预案
- 中小企业网络营销策略手册
- 智能制造生产线自动化升级与改造方案
- 数据驱动的高效办公手册
- 旅客服务周到热情承诺书(9篇)
- 产业引导资金实施方案
- 解读《特种设备使用管理规则》TSG 08-2026与2017版对比
- 2026年法律硕士(法学)考研复试高频面试题包含详细解答
- 湖北省武汉市2026届高中毕业生三月调研考试数学试题含答案
- 自动控制原理试题库(含答案)
- 深圳一模讲评课件
- 【答案】《数字电子技术基础》(华北电力大学)章节作业慕课答案
- 2026年私域流量运营美妆私域种草调研
- 体育赛事组织与管理流程及注意事项
- 医疗急救人员服务礼仪要求
- 大学毛概课件南方谈话
评论
0/150
提交评论