自考02333软件工程复习重点_第1页
自考02333软件工程复习重点_第2页
自考02333软件工程复习重点_第3页
自考02333软件工程复习重点_第4页
自考02333软件工程复习重点_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

自考02333软件工程复习重点软件工程作为一门指导软件开发和维护的工程学科,其知识体系庞大且实践性强。对于自考学习者而言,抓住核心要点,理解并能运用相关概念和方法,是顺利通过考试并将知识应用于实践的关键。以下为大家梳理本课程的复习重点,希望能为各位备考提供有益的指引。一、软件工程概述1.1软件与软件工程的基本概念理解软件的定义、特性(如无形性、复杂性、易变性、依赖性等)及其分类(系统软件、支撑软件、应用软件)。软件工程则是以系统化、规范化、可度量的方法应用于软件的开发、运行和维护的过程,以及对这些方法的研究。其核心目标是在给定成本、进度的前提下,开发出具有可维护性、可靠性、有效性和高效率的软件产品。1.2软件危机深刻认识软件危机的表现(如开发成本和进度失控、质量低下、维护困难等)及其产生的原因(如用户需求不明确、缺乏正确的理论指导、软件规模扩大带来的复杂性等)。软件工程的诞生正是为了应对软件危机。1.3软件工程三要素掌握方法、工具和过程这三个核心要素。方法提供了软件开发的技术手段;工具支持软件的开发、管理和文档生成;过程则将方法和工具有机结合,定义了软件开发中应遵循的一系列活动和任务。1.4软件过程模型重点掌握几种典型的软件过程模型及其适用场景:*瀑布模型:线性阶段划分,需求明确且稳定时适用,强调阶段评审。*快速原型模型:快速构建原型以获取用户反馈,适用于需求模糊或不确定的情况。*增量模型:将软件分解为增量构件,逐步开发和交付,能较早看到部分成果。*螺旋模型:结合了瀑布模型和原型模型的思想,引入风险分析,适用于大型复杂项目。*喷泉模型:体现了面向对象开发的迭代和无缝特性。二、软件需求分析2.1需求分析的任务与过程明确需求分析的根本任务是准确地定义“软件系统必须做什么”,具体包括确定系统的功能需求、非功能需求(如性能、可靠性、安全性、可维护性等)和约束条件。理解需求分析的基本过程:需求获取、需求分析与建模、需求规格说明、需求验证。2.2需求获取方法掌握常用的需求获取技术,如访谈法、问卷调查法、观察法、原型法、联合需求计划(JRP)等,并理解各自的优缺点和适用场景。2.3需求分析方法*结构化分析方法(SA):重点掌握数据流图(DFD)的绘制与解释,数据字典(DD)的建立,以及判定表、判定树等工具的应用。*面向对象分析方法(OOA):理解用例图、类图、对象图、状态图、活动图等UML图在需求分析中的作用,特别是用例模型的构建。2.4需求规格说明书(SRS)了解SRS的主要内容和作用,它是需求分析阶段的主要输出,是后续设计、实现和测试的重要依据。三、软件设计3.1软件设计的基本原理与原则掌握模块化、抽象、信息隐藏与局部化、模块独立性(耦合性与内聚性)等基本原理。深刻理解高内聚、低耦合是模块设计的重要目标。3.2结构化设计方法(SD)*概要设计(总体设计):将系统分解为模块,确定模块间的接口和调用关系,形成系统的模块结构图(如层次图、HIPO图)。重点理解模块化设计和模块独立性准则在概要设计中的应用。*详细设计:对每个模块的具体实现细节进行设计,常用工具包括程序流程图、N-S图(盒图)、PAD图、伪代码(PDL)等。3.3面向对象设计方法(OOD)理解面向对象设计与面向对象分析的衔接,掌握从用例模型、分析类模型到设计类模型、交互模型、状态模型、部署模型等的演化过程。重点关注类的设计(职责分配、属性和方法设计)、继承与多态的运用、接口设计、包的组织等。3.4界面设计了解人机界面设计的重要性、基本原则(如一致性、简洁性、反馈性、容错性等)和设计过程。四、软件实现(编码)4.1程序设计语言的选择了解选择程序设计语言时应考虑的因素,如项目应用领域、软件开发人员的熟悉程度、软件的性能要求、可移植性要求等。4.2编码风格与规范掌握良好的编码风格,包括程序内部文档、数据说明、语句构造、输入输出等方面的规范,以提高程序的可读性、可维护性和可靠性。4.3程序效率了解影响程序效率的因素,以及在编码阶段如何在保证正确性和可读性的前提下提高程序效率,但需注意避免过度优化。五、软件测试5.1软件测试的基本概念理解软件测试的定义、目的(发现错误而非证明无错)、原则(如测试应尽早开始、测试用例应包含输入数据和预期输出、程序员应避免测试自己的程序等)。5.2测试级别掌握软件测试的不同级别及其主要任务:*单元测试:对软件中的最小可测试单元进行检查和验证。*集成测试:将模块按照设计要求组装起来进行测试,重点测试模块间的接口。*确认测试(验收测试):验证软件的功能和性能是否符合需求规格说明书的要求。*系统测试:将软件作为整个基于计算机系统的一个元素,与系统中其他部分结合起来进行测试。5.3测试方法*黑盒测试:不考虑程序内部结构,仅根据规格说明来设计测试用例,如等价类划分法、边界值分析法、因果图法、错误推测法等。*白盒测试:基于程序内部逻辑结构进行测试,如逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖)。5.4测试用例设计掌握设计测试用例的基本方法,并能结合具体实例进行应用。5.5软件调试理解调试与测试的区别,了解常用的调试方法(如蛮力法、回溯法、原因排除法)。六、软件维护6.1软件维护的概念与类型理解软件维护的定义及其重要性。掌握维护的四种类型:*改正性维护:修复软件在运行中发现的错误。*适应性维护:为适应环境变化而进行的修改。*完善性维护:为增加新功能或改进性能而进行的修改(占比通常最大)。*预防性维护:为提高软件的可维护性和可靠性而进行的修改。6.2软件可维护性了解影响软件可维护性的因素(如可理解性、可测试性、可修改性、可移植性等),以及如何提高软件的可维护性。6.3维护过程与文档理解软件维护的一般过程,以及文档在维护中的重要作用。七、软件工程管理7.1软件项目计划了解项目计划的主要内容,包括范围定义、资源估算(人力、成本、时间)、进度安排、风险评估等。7.2软件配置管理理解软件配置项、版本控制、变更控制等基本概念,认识配置管理在协同开发和版本控制中的作用。7.3软件质量保证了解软件质量的概念、质量特性(如ISO9126模型),以及软件质量保证的主要活动(如评审、审计、测试等)。7.4风险管理了解软件项目中常见的风险类型,以及风险识别、风险分析、风险应对和风险监控的基本方法。八、面向对象方法学8.1面向对象的基本概念深刻理解对象、类、封装、继承、多态、消息等核心概念。8.2UML建模掌握UML的基本概念,重点理解和绘制常用的UML图,如用例图、类图、序列图、活动图等,并理解其在软件开发不同阶段的应用。复习建议1.理解为先:软件工程的概念和理论较多,务必在理解的基础上记忆,不要死记硬背。2.构建体系:将各个章节的知识点联系起来,形成完整的知识体系,例如从软件生命周期的角度串联各个阶段的活动。3.关注应用:结合实例理解各种方法和工具的应用场景及优缺点。4.多做练习:通过做习题和案例分析,检验对知识点的掌握程度,提高分析和解决问题的能力。特别是数据流图、模块结

温馨提示

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

评论

0/150

提交评论