华南理工大学软件工程复习提纲_第1页
华南理工大学软件工程复习提纲_第2页
华南理工大学软件工程复习提纲_第3页
华南理工大学软件工程复习提纲_第4页
华南理工大学软件工程复习提纲_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1第一章 软件工程概述1.什么是软件?软件是一系列按照特定顺序组织的计算机数据和指令的集合,包括程序、数据和文档2.什么是软件危机,其内容主要是指什么?(1)软件危机指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列问题的现象。(2)主要表现开发进度难以预测开发成本难以控制用户对产品功能难以满足产品质量无法保证,难以维护缺少适当的文档资料3.什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以达到提高软件质量,降低开发成本的目的。4.软件工程的目标及其组成部分(1)目标:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。2(2)组成部分方法: 是指产生某些结果的形式化过程。工具: 是用更好的方式完成某件事情的设备或自动化系统,如各种集成开发环境、编译工具、测试工具等。过程: 生产特定产品的工具和技术的结合5.软件开发方法的定义软件开发方法是一种使用早已定义好的技术集及符号表示习惯组织软件生产过程的方法。主要有:结构化方法、可视化开发方法和面向对象的开发方法等6. 好的软件的一些主要衡量指标。例如 McCall 的质量模型。第二章 过程和生命周期建模1. 什么是软件生命周期?主要分为哪些阶段?各个阶段的主要任务及产生的主要制品?(1)软件生命周期是指软件的产生直到报废或停止使用的过程。(2)阶段、任务及制品问题定义:弄清“用户需要计算机解决什么问题 ”,提出关于 “系统目标与范围的说明”,提3交用户审查和确认。可行性研究:了解用户要求和现实环境,从技术、经济、市场等方面研究并论证开发该软件系统的可行性。需求分析:确定用户对待开发软件系统的需求,包括功能、性能、运行环境约束。编写需求规格说明书和初步的用户手册。概要(总体)设计:根据 SRS 建立目标软件系统总体结构、设计全局数据库和数据结构,规定设计约束,制定集成测试计划详细设计:细化概要设计生成的各个模块,详细描述模块的内部细节(算法、数据结构等) ,形成可编程的程序模块,制定单元测试计划程序编码:根据详细设计规格说明书编写源程序集成测试:根据概要设计规格说明书,将经过单元测试的模块逐步进行集成和测试确认测试:根据软件需求规格说明书,测试软件系统是否满足用户的需求运行维护:对使用后的软件进行维护,包括修正错误,增加功能,搬迁新环境等性能维护。2.需求分析的定义。在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。即确定要计算机“做什么” ,要达到什么样的效果。3.典型的软件开发过程模型的特点(优缺点)及要求,特别是原型法、瀑布模型、螺旋模型、增量和迭代等。4一、瀑布模型需求分析系统分析程序设计编码单元测试和集成测试系统测试 验收测试运行和维护(1)要求:一个开发阶段必须在另一个开发阶段开始之前完成。当客户引发的所有需求都已经过完整性和一致性分析,并形成需求文档之后,开发团队才能够开始进行系统设计活动。每一个过程活动都有与其相关联的里程碑和可交付产品。(2)特点:优点:采用规范的结构化方法;严格规定每个阶段提交的文档;要求每个阶段交出的产品必须经过验证缺点:对如何处理开发中产品和活动的变化没有提供相关指导;将软件开发视为制造而不是创造;创造一个产品没有迭代的活动;需要等待很长的时间二、原型法原型法是指在获取一组基本的需求定义后,利用高级软件工具可视化的开发环境,快速地5建立一个目标系统的最初版本,并把它交给用户试用、补充和修改,再进行新的版本开发。反复进行这个过程,直到得出系统的“精确解” ,即用户满意为止。(1)要求(过程)确定用户的基本需求;构造初始原形;运行、评价、修改原形;形成最终的管理信息系统(2)特点优点:符合人们认识事物的规律,系统开发循序渐进,反复修改,减少开发中的风险和不确定性;开发周期短,成本相对少。缺点:忽略软件的总体质量和长期的可维护性;开发过程要经过多次反复修改评价,不便于管理;开发人员易将原型取代系统分析;缺乏规范化的文档资料适用范围:处理过程明确、简单系统;涉及面窄的小型系统三、阶段化开发:增量和迭代增量开发:需求文档中指定的系统按功能划分为子系统。定义发布时首先定义一个小的功能子系统,然后在每一个新的发布中增加新功能。迭代开发:一开始就提交一个完整的系统,然后在每一个新的发布中改变每个子系统的功能。特点:缩短循环周期,客户可以提前获得一部分系统功能四、螺旋模型6螺旋模型的每个迭代都围绕 4 个主要活动:计划;确定目标、可选方案及约束;评估可选方案及风险;开发与测试特点:优点:有利于软件重用,重视软件质量;减少过多测试缺点:风险驱动,需要丰富的风险评估经验;主要适用于内部开发的大规模软件项目;随着迭代次数增加,工作量加大,开发成本增加4. 原型法的特点以及分类:探索型(递增型)原型、实验型(抛弃型)原型和演化型原型。5.敏捷开发方法和极限编程的特点。(1)敏捷方法强调灵活性在快速、有效开发在软件中的作用相对于过程和工具,更强调个人和交互的价值更喜欢在生产运行的软件上投入时间 ,而不是在文档的编写上注重客户的合作,而不是合同谈判专注于对变化的反应,而不是创建一个计划而后遵循这个计划7(2)极限编程具有强沟通、简化设计和迅速反馈等特点,一般只适合于规模小、进度紧、需求不稳定、开发小项目的小团队。极限编程的核心有 4 个要点:交流、简单、反馈和勇气。第三章 计划和项目管理1.了解项目计划和管理的主要内容和常用方法(1)项目计划要列出软件开发要做的主要工作和任务清单,要回答“软件工程项目做什么”。强调可调性创造性分析性响应性,用于协调项目编制、指导项目执行。(2)项目管理,就是项目的管理者,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。即从项目的投资决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。主要有:阶段化管理、量化管理和优化管理三个方面。2. 软件可行性研究的内容。了解用户要求和现实环境,从技术、经济、市场等方面研究并论证开发该软件系统的可行性。第四章 获取需求1.了解需求的重要性及需求分析阶段的目标及主要产物。(1)重要性需求在软件开发起到了决策的作用,提供了开发的方向,指明了开发策略缺少需求或需求错误会导致项目开发失败8(2)目标及产物了解客户要求 分析系统的数据要求 需求规格说明书2. 需求工程包括哪些方面?需求工程包括需求开发和管理,而需求开发又包括:需求获取,需求分析,需求规格说明和需求验证。3.需求的类型:功能需求、非功能需求或质量需求、设计约束、过程约束。4. 两种需求文档:需求定义文档和需求规格说明书。5. 需求规格说明书的主要内容。略6. 常用的需求建模表示方法:ER 图、事件跟踪、状态机、 Petri 网、数据流图、用例图和原型法。第五章 UML 部分1.UML 的作用:是为软件系统的制品进行描述(specifying) 、可视化(visualizing) 、构造(constructing) 、文档化(documenting)的一种语言。2.UML 中的 41 视图:用例视图,设计视图,进程视图,实现视图,分布视图。用例视图:用来支持软件系统的需求分析,它定义系统的边界,关注的是系统的外部功能的描述。逻辑视图(设计+进程):定义系统的实现逻辑, 描述实现用例图描述的功能以及设计软件系统的设计概念。实现视图:描述组成一个软件系统的各个物理部件以各种方式组合起来,构成一个可实际运行的系统。9分布视图:描述软件产品在计算机硬件系统和网络上的安装、分发、分布。3.UML 中的三种扩展机制:构造型 Stereotype;标记值 tagged value;约束 constraint.构造型(stereotype):对 UML 词汇(建模元素)的扩充,用来描述和已有的 UML 建模元素类似,但又对特定的问题领域有特殊意义的建模元素。 (类)标记值(tagged value):对 UML 建模元素的构成(property)的扩充,用于为此建模元素增加新的规格说明。 (类的属性)约束(constraint):约束用来扩充 UML 建模元素的语义,以便增加新的规则或修改已有的规则(关系)4.UML 中所包含的 9 种图形及各自的作用。类图:包含类、接口、协同及其关系,用来描述逻辑视图的静态属性。对象图:包含对象及其关系,用来表示类图的类的对象在系统运行过程中某一时刻的状态。组件图:描述系统的物理实现,包括构成软件系统的各部件的组织和关系。类图里的类在实现时最终会映射到组件图的某个组件。一个组件可以实现多个类。分布图:描述系统的组件在运行时在运行节点上分布,一个节点可包含一个或多个组件。用例图:描述系统的边界和其上的动态行为,包括用例、系统作用者及其之间的关系。序列图和协作图:用来描述一组对象之间的动态交互。状态图和状态机:用来描述对象的动态特性。前者强调对象对外部事件的相应及

温馨提示

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

评论

0/150

提交评论