2022年软件工程导论期末复习大纲 .pdf
《2022年软件工程导论期末复习大纲 .pdf》由会员分享,可在线阅读,更多相关《2022年软件工程导论期末复习大纲 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程导论期末复习大纲第一章软件工程概述软件=程序+数据+文档1. 软件危机:定义:电脑软件的开发和维护过程中所遇到的一系列严重问题。表现:软件开发的成本和进度估计常常不准确;用户对“已完成的”软件系统不满意的现象经常发生;软件产品的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件产品供不应求,跟不上电脑普及速度。产生原因:与软件本身的特点;与关软件开发与维护的方法不正确有关。解决方法: 消除各自为阵的理念;使用在实践中总结出来的成功的经验,探索更有效地技术和方法;开发和使用更好的软件工具。2. 软件工程:定义: 指导电脑软件开发和维护的一门工程学科。七条基本原理 :用
2、分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚地审查;开发小组的人员应该少而精;承认不断改良软件工程实践的必要性。3. 软件工程方法学:定义:通常把在软件生命周期全过程中使用的一整套技术方法的集合。两种方法学: 传统方法学、面向对象方法学。优点传统方法学:把软件生命周期划分成假设干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,降低了整个软件开发过程的困难程度;在每个阶段都采用科学的管理技术和良好的技术方法,每个阶段都从技术和管理两个方面进行严格审查,保证软件的质量;提高了软件的可维护性,提高开发成功率。面向对象方法学
3、:符合人们通常的思维方式,提高了软件的可理解性;对象是相对独立的实体,重用性好;可维护性好。三种要素: 方法、工具、过程。4. 软件生命周期:软件定义系统分析:问题定义、可行性研究、需求分析;软件开发:总体设计+详细设计系统设计、编码和单元测试、+测试系统实现;运行维护:软件维护。5. 软件过程:生命周期模型:瀑布模型快速原型模型增量模型螺旋模型喷泉模型 RUP模型优点瀑布模型:可强迫开发人员采用标准的方法,严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证;它基本上是一种文档驱动的模型。精选学习资料 - - - - - - - - - 名师归纳总结
4、 - - - - - - -第 1 页,共 9 页快速原型模型:减少了软件需求不明确给开发工作带来的风险。增量模型:很有用;减少由于软件需求不明确而给开发工作带来的风险; 缩短产品提交时间快。螺旋模型:对可选方案和约束条件的强调有利于已有软件的重用和把软件质量看作软件开发的一个重要目标;开发者和客户都可以更好地理解和应对风险。缺点瀑布模型:不适应需求经常发生变更的环境;每一步的工作都必须以前一阶段的输出为输入顺序性,可能导致“阻塞”;可能最终开发出的软件产品不能真正满足用户的需要R:几乎完全依赖于书面的规格说明;用户只能通过文档来了解产品是什么样的。增量模型:软件体系结构必须是开放的;本身是自
5、相矛盾的;具有无法集成的风险。螺旋模型:开发人员需要相当丰富的风险评估经验和专门知识。适合场所瀑布模型:用户需求明确、完整、无重大变化的软件项目开发。快速原型模型:需求不完整的软件开发项目。增量模型:适用可多批看到和开发时间快的软件产品开发项目。螺旋模型:高风险的大型软件。喷泉模型和 RUP 模型:需求不稳定、不全面的软件项目开发。特点:瀑布模型:具有顺序性。快速原型模型:线性顺序进行。增量模型:分批地逐步向用户提交产品,减少全新软件给客户带来的冲击。喷泉模型:迭代、无缝对接 RUP模型:迭代、渐增第二章、可行性研究分析方面: 技术可行性、经济可行性、操作可行性数据流图 DFD 第三章、需求分
6、析8 个需求: 获取需求的方法综合使用:访谈、面向数据流自顶向下求精、简易的应用规格说明技术、快速建立软件模型。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 9 页3.6.状态转换图会画第五章、总体设计5.2.设计原理: 模块化为什么模块化、耦合、内聚、 层次图一般为三层:第六章、详细设计6.1.结构程序设计 顺序、选择、循环、单入单出6.3.过程实际的工具 描述与算法之间的转换6.5.程序复杂程度的定量度量计算程序复杂程度第九章、面向对象方法学引论三种模型:对象模型、动态模型、功能模型第十章、面向对象分析8 分大题目。问题:1、什么
7、是软件工程、软件过程?软件过程与软件工程方法学有何关系?答: 软件工程是指导电脑软件开发和维护的一门工程学科。软件过程是为获得高质量软件所需完成的一系列任务的框架,规定了完成各项任务的工作步骤。关系:软件过程是软件工程方法学的三个重要组成部分之一。2、什么是软件生命周期模型?有哪些主要模型?各种模型的适用范围及特点?传统方法学和面向对象方法学分别采用哪些模型?答:软件生命周期模型是描述软件过程的模型。3、简要介绍软件生命周期每个阶段的基本任务。答:问题定义:明确要解决的问题是什么。可行性研究:明确对所确定的问题是否有行得通的解决方法。需求分析:确定目标系统所必须具备的功能。总体设计:设计几种方
8、案来实现目标系统。详细设计:设计出程序的详细规格说明来说明怎样实现系统。编码:写程序模块。单元测试:对每个模块进行测试。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 9 页综合测试:通过各种类型的测试使软件到达预定的要求。4、简要介绍软件工程的7 条基本原理。答:5、需求分析的基本任务是什么?通常对软件系统有哪些需求?答:需求分析的基本任务是确定对系统的综合要求;分析系统的数据要求;导出系统的逻辑模型;修正系统开发计划;撰写需求规格说明书。需求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提
9、出的要求。6、模块化有什么好处?答:模块化的好处:开发成本降低、结构清晰、便于共享。7、定性衡量模块独立性的两个标准是什么?它们表示什么含义?答:标准:耦合、内聚。耦合:对一个软件结构内不同模块之间互联程序的度量。内聚:模块内各个元素彼此结合的紧密程度。8. 传统的方法学是如何降低软件危机的?答:传统方法学在软件生命周期的每个阶段都采用科学的管理技术合肥那个发,且在每个阶段结束前都从技术和管理两个角度进行严格的审查,合格之后才开始下一阶段的工作,这样保证了软件的质量,提高了软件的可维护性,降低了软件危机。数据流图 DFD 步骤:把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据
10、流,以及系统发送数据流到哪些外部实体,可画出输入输出图。顶层图把顶层图的加工分解成假设干加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过假设干加工处理后,变成顶层图的输出数据流。 0 层图从一个加工画出一张数据流图的过程就是对加工的分解。确定加工:在数据流的组成或值发生变化的地方应该画出一个加工,这个加工的功能就是实现这一变化,也可以根据系统的功能决定加工。确定数据流:用户把假设干数据当作一个单位来处理这些数据一起到达,一起处理时,可以把这些数据看成一个数据流。数据存储:对于一些以后某个时间要使用的数据,可以组织成为一个数据存储来表示。精选学习资料 - - - - - - - -
11、- 名师归纳总结 - - - - - - -第 4 页,共 9 页3、画加工的内部把每个加工看作一个小系统,把加工的输入输出数据流看成小系统的输入输出流。于是可以像画0 层图一样画出每个小系统的加工DFD图。4、画子加工的分解图对第三步分解出来的DFD图中的每个加工,重复第三步的分解过程,直到图中尚未分解的加工都是足够简单的。分层数据流图5、对数据流图和加工编号对于一个软件系统,其数据流图可能有许多层,每层又有许多张图。为了区分不同的加工和不同的DFD子图,应对每张图进行编号,以便管理。顶层图只有一张,图中的加工也只有一个,故不必为其编号。0 层图只有一张,图中的加工号分别是0.1 、0.2
12、、,或 1、2。子图就是父图中被分解的加工号。子图的加工号是由图号、圆点和序号组成。*应适当的为数据流、加工、数据存储以及外部实体命名名字反映的是该成分的实际含义。*画数据流图,不是画控制流。*一个加工的输出数据流,不应与输入数据流同名,即使他们的组成完全相同。*允许一个加工有多条数据流流向另一个加工,也允许一个加工有两条相同的输出数据流流向不同的加工。*保持父图和子图的平衡。父图中某加工的输入输出流必须与它的子图的输入输出流在数量上和名字上相同假设父图中的一个输入/ 输出数据流对应于子图中的几个输入 / 输出数据流且子图中组成这些数据流的数据项的全体正好是父图中的这一数据流,那么它们仍然平衡
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年软件工程导论期末复习大纲 2022 软件工程 导论 期末 复习 大纲
限制150内