软件工程重点知识复习资料及试卷.docx
《软件工程重点知识复习资料及试卷.docx》由会员分享,可在线阅读,更多相关《软件工程重点知识复习资料及试卷.docx(28页珍藏版)》请在三一文库上搜索。
1、第一章软件工程概述1、软件产品的特性是什么?产品特性:是一种逻辑产品,与物质产品有很大的区别。软件产品的生产主要是研制,生产本钱主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。软件产品不会用坏,不存在磨损,消耗。生产主要是脑力劳动,还末完全摆脱手工开发方式,大局部产品是定做的开发软件的费用不断增加,致使生产本钱相当昂贵。2、软件生产有几个阶段?各有何特征?程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。软件工程时代:这个阶段生产方
2、式是工程化的生产,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。3、什么是软件危机?主要表现在哪些方面?软件开发技术的进步未能满足开展的要求。在软件开发中遇到的问题找不到解决的方法,问题积累起来,形态锋利的矛盾,导致了软件危机。表现方面:(1)用户对开发出的软件很难满意。(2)软件产品的质量往往靠不住。(3)一般软件很难维护。(4)软件生产效率很低。(5)软件开发本钱越来越大。(6)软件本钱与开发进度难以估计。(7)软件技术的开展远远满足不了计算机应用的普及与深入的需要。4、什么是软件工程?它目标和内容是什么?软件工程:就是用科学的知识工程和技术原理来定义,开发,维护软
3、件的一门学科。软件工程的目标:付出较低开发本钱;到达要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程的内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。5、软件工程面临的问题是什么?软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。6、什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和工程开发方案,需求分析
4、概要设计,详细设计,编码,测试,维护。7、什么是软件生存周期模型?有哪些主要模型?生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。8、什么是软件开发方法?有哪些主要方法?使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一,对软
5、件工程及软件包产业的开展起了不可估量的作用。主要有:结构化方法,JACKSON方法,维也纳开发方法(VDM),面向对象开发方法。9、软件工程方法学包含3个要素分别是什么?分别是:方法、工具和过程。方法是完成软件开发的各项任务的技术方法,答复“怎样做的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。10、什么是软件过程?为了获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。在完成开发任务时必须进行一些开发活动,并且使用适当的资源,在过程结束时将把输入转化为输出。11、瀑
6、布模型的特点及优点?特点: (1)各个阶段的顺序性和依赖性; (2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;(3)每个阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。优点:可强迫开发人员采用标准的方法(例如,结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。12、螺旋模型的优点?对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试(浪费资金)或测试缺乏(产品故障多)所带来的风险;在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。螺旋模型
7、主要适用于内部开发的大规模软件工程。工程越大,风险也越大,因此,进行风险分析的必要性也越大。止匕外,只有内部开发的工程,才能在风险过大时方便地中止工程。13、快速原型的分类、特点及使用策略?分类:探索型、实验型、进化型特点:尽快向用户提供一个可在计算机上运行的目标系统的模型,以便使用户和开发者在目标系统应该“做什么这个问题上尽可能快地达成共识。快速原型应该具备的第一个特点是“快速;快速原型应该具备的第二个特点是“容易修改。原型的“修改一试用一反应过程可能重复多遍。使用策略:废弃策略和追加策略。14、软件工程的目标?付出较低开发本钱;到达要求的功能;取得较好的性能;开发的软件易于移植;只需较低的
8、维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。15、软件开发技术主要研究内容?软件开发方法,开发过程,开发工具和环境。16、软件开发管理主要研究内容?软件管理学,软件经济学,软件心理学。17、快速原型开发的步骤?快速开发、需求、构造原形、原形、运行原形、评价原形、修改意见。18、某计算机系统投入使用后、5年内每年可节省人民币2000元,假设系统的投资额为5000元,年利率为12%o试计算投资回收期和纯收入。年将来值F(元)(1+I)n现在值P(元)累计的现在值(元)120001.121785.711785.71220001.251600.003385.71320001.401
9、428.574814.28420001.571273.896088.17520001.761136.367224.53第二章可行性研究1、可行性研究的任务是什么?可行研究的任务:首先需要进行概要的分析研究,初步确定工程的规模,目标,约束和限制。分析员再进行简要的需求分析,抽象出工程的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。主要从四个方面考虑:(1) .技术可行性:一般要考虑的情况包括开发的风险即设计出的系统能否到达要求的功能和性能;资源的有效性;相关技术的开展是否支持;(2) .经济可行性:进行开发本钱的估算以及
10、了解取得效益的评估,确定要开发的工程是否值得投资。.法律可行性:要开发的工程是否存在任何侵权问题。(4).管理可行性:运行方式在用户组织内是否可行,现有管理制度、人员素质、操作方式是否可行。2、可行性研究有哪些步骤?.确定工程规模和目标;.研究正在运行的系统;收集、研究、分析现有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。(3).建立新系统的高层逻辑模型;使用数据流图和数据字典描述数据在系统中的流动和处理情况。.导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性、经济可行性、社会可行性进行评估,得到可行的解决方法。(5) .推荐可行方案;进行本钱
11、效益分析,决定该工程是否值得开发,若值得开发那么解决方案是什么,并且说明该方案可行的原因和理由。.编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研究报告。3、可行性研究过程包括哪些?1 .复查系统规模和目标2 .研究目前正在使用的系统3 .导出新系统的高层逻辑模型4 .进一步定义问题5 .导出和评价供选择的解法6 .推荐行动方针7 .草拟开发方案8 .书写文档提交审查4、什么是数据流图?其作用是什么?数据流图(DFD):以图形的方式描述数据在系统中流动和处理的逻辑过程。只反映系统必须完成的逻辑功能,是一种功能模型。5、什么是数据字典?其作用是什么?共有哪些条目?数据字典(DD
12、用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,根本加工。6、本钱一效益分析可用哪些指标进行度量?.投资回收率:通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。(2).投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。.纯收入:整个生存周期之内的累计经济效益(折成现在值)与投资之差。7、某图书管理系统有以下功能:借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借
13、书(检查库存,修改库存目录并将读者借书情况录入借书文件。)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)作罚款处理。否则,修改库存目录与借书文件。查询:通过借书文件,库存目录文件查询读者情况、图书借阅及库存情况,打印统计表。解:1层图库存文件借书文件8、某银行的计算机储蓄系统功能是:将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。请用DFD,IDEFO描绘该功能的需求,并建立相应数据字典。账卡f诸喜系统的DFO图9、一个考务处理系统的要求如下,试画出该系
14、统的数据流图。(1)对考生送来的报名表进行检查;(2)对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;(3)对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;(4)填写考生通知单(内容包含考试成绩及合格/不合格标志),送给考生;(5)按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。(1)顶层数据流图(八)顶层数据流图考生名单错误成绩表F成绩表(2)第1层数据流图(3)第2层数据流图加工1子图:加工2子图考生名册报名表考生名单10、系统流程图是概括地描绘物理系统的传统工具,表达的是数据在系统各部件之间流动
15、的情况,11、原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。原型化方法主要用于解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术工程风险承当者发现在确定和开发产品时,原型可以使他们的想象更具体化。这种方法的主要优点如下:(1) 明确并完善需求原型作为一种需求工具,它初步实现所理解的系统的一局部,用户对原型的评价可以指出需求中的许多问题。(2) 探索设计选择方案原型作为一种设计工具,可以探索不同的用户界面技术,使系统到达最正确的可用性,并且可以评价可能的技术方案。(3) 开展为最终的产品原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你
16、可以完成整个产品的开发。(4) 这种方法的主要缺点包括:(1)用户看到一个正在运行的原型便以为产品即将完成,他们会要求不再进行产品重建,而只是对原型进行一些修改就交付。由于原型没有考虑软件的总体质量和可维护性,交付原型往往造成欲速则不达的情况。(2)开发人员为了快速构造原型,可能会采用不适宜的操作系统或程序设计语言,也可能使用一些效率低的算法。在一段时间的开发之后,他们往往已经习惯了这些选择,于是便在系统中参杂了这些不理想的选择。第三章需求分析1、什么是需求分析?需求分析阶段的根本任务是什么?需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义
17、再由需求定义转换到相应的需求规格说明的过程。根本任务:问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。分析与综合,导出软件的逻辑模型。编写文档:包括编写需求规格说明书,初步用户使用手册,确认测试方案,修改完善软件开发方案。2、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。3、结构化分析方法通过哪些步骤
18、来实现?了解当前系统的工作流程,获得当前系统的物理模型。抽象出当前系统的逻辑模型。建立目标系统的逻辑模型。作进一步补充和优化。4、E-R图中包含哪几种种根本成分?实体(即数据对象)、关系和属性5、联系可分为哪几种类型?一对一联系(1:1),一对多联系(1:N),多对多联系(M:N)6、为何要进行数据结构标准化?为减少数据冗余,防止出现插入异常或删除异常,简化修改数据的过程。7、第一范式每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。8、第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一局部来决定),消除了非关键字属性对关键字属性的局部依赖。9、第三
19、范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值),消除了非关键字属性对关键字属性的传递依赖。10、S-L-C(SN0,SDEPT,SLOC,CN0,G),这里SNO表示学号,SDEPT表示系名,SLOC表示楼号,CNO表示课程号,G表示成绩。函数依赖有:(SN0,CN0)-G;SDEPTSLOC;SNOSDEPT,对关系进行标准化,到达三范式要求。(1) SC(SNO,CNO,G)和(2)S-D(SNO,SDEPT,)(3)S-L(SDEPT,SLOC)11、状态转换图状
20、态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。提供了行为建模机制。12、层次方框图层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。13、IPO图IPo图是输入、处理、输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。14、从哪些方面验证软件需求的正确性(1) 一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。(2)完整性需求必须是完整的,规格说明书应
21、该包括用户需要的每一个功能或性能。(3)现实性指定的需求应该是用现有的硬件技术和软件技术根本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。(4)有效性必须证明需求是正确有效的,确实能解决用户面对的问题。第四章总体设计1、什么是总体设计?总体设计的任务是什么?总体设计又称为概要设计或初步设计。确定系统功能是实现。根本任务是:建立软件系统结构(划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量)、数据结构和数据库的设计(数据结构设计、概念设计、逻辑设计、物理设计)、编写概要设计文档(概要设计说明书、用户手册
22、数据库设计说明书、修订测试方案)。2、总体设计分为哪两个阶段?系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。3、总体设计过程包括几个步骤?1 .设想供选择的方案2 .选取合理的方案3 .推荐最正确方案4 .功能分解5 .设计软件结构6 .设计数据库7 .制定测试方案8 .书写文档9 .审查和复审4、模块化是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。5、模块化的优点(1)模块化使软件容易测试和调试,因而有助于提高软件的可靠性。(2)模块化也有助于软件开发工程的组织管理。6、抽象就是抽出事
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 重点 知识 复习资料 试卷
