河北工业大学软件工程期末复习(11页).doc
《河北工业大学软件工程期末复习(11页).doc》由会员分享,可在线阅读,更多相关《河北工业大学软件工程期末复习(11页).doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-河北工业大学软件工程期末复习-第 11 页软件工程期末复习总结第一讲 概述(选择U填空U简答)1.1 软件工程的研究内容软件工程要考虑专业软件开发所需要的理论、方法和工具-工程技术问题软件工程要考虑如何有效的在软件开发中利用有限的成本资源-工程管理的问题1.2 什么是软件?软件包括:-软件的内涵 能够提供客户所需功能与性能的计算机程序; 使程序能够适当的操作信息的数据结构; 用以描述程序开发过程及使用的文档。软件产品可以为一个特定的用户设计开发,也可以为某一类通用的市场设计开发。软件产品可以分成:一个新的软件并不一定是全新开发,可以由现有软件或可复用软件成分配置形成。1.3 什么是软件工程
2、?软件工程是涉及软件生产各个方面的一门工程学科软件工程涉及软件生命周期的各个方面,从软件需求的确定到软件退役。软件工程:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件;(2)研究(1)中的方法. IEEEIEE931.4 什么是成功的软件项目一个成功软件项目的三个要素包括:按时交付 不超预算 满足用户要求。1.5 软件过程与软件生命周期的相关概念软件过程是指开发或制作软件产品的一系列活动及其成果.所有的软件过程中都包括四个基本活动:(填空)1. 描述( Specification)- 系统应该提供的功能及其开发约束;2. 开发( Developm
3、ent)- 软件产品的生产过程;3. 有效性验证(Validation )- 检验软件产品是否满足了客户的需要;4. 进化( Evolution )- 按照用户的变更要求不断的改进软件。软件生命周期是软件过程的另一种形象描述,通常包括需求定义、分析与描述、软件设计、实现、测试、维护与退役等活动。1.6什么是优良软件的属性? P8 (填空U选择) 优良的软件应能交付相应的功能与性能,而且应具有良好的可维护性、可依赖性、有效性和可用性:(选择题,考法内涵匹配)可维护性(Maintainability)Software must evolve to meet changing needs;可依赖性(
4、Dependability)Software must be trustworthy;有效性(Efficiency)Software should not make wasteful use of system resources;可接受性(Acceptability)Software must be accepted by the users for which it was designed. This means it must be understandable, usable and compatible with other systems.第二讲 软件过程(画法+特点+结构+缺点
5、+适用场合)2.1 瀑布模型(顺序模型)(特点:变更少)(画法+特点+结构+缺点+适用场合)(中文解释)瀑布模型的缺点和适用情况这种模型生硬的把一个软件过程划分成几个界限清晰的阶段,而且这些阶段前后有严格的顺序,这导致它很难对用户的需求变更做出及时的调整;因此,瀑布模型只适合需求非常清楚和需求变更被严格限制的情况下。 实际的软件开发过程中,几乎没有多少业务系统具有稳定的需求。瀑布模型反映了工程设计的基本思想。 2.2 进化式开发模型(画法+特点+结构+缺点+适用场合)基本思想:通过开发系统原型和用户反复交互,以明确需求,使系统在不断调整与修改中得以进化成熟。又叫做原型式开发方法。两种基本类型:
6、 探索式开发; 抛弃式原型法.问题缺乏过程可见性;系统结构通常会很差;需要一些特别的技术(如原型快速开发技术),通常与主流技术不兼容.适用情况适合中小规模的交互系统;可用于大型系统的局部开发(如系统界面),可以和瀑布模型混合使用;生命周期较短的系统2.3 基于过程反复的过程模型对于大型项目而言,系统需求的变更是无法避免的,因此开发过程的反复是软件开发的必要手段;过程反复可以和任何一种一般过程模型结合使用。两种支持过程反复的过程模型:增量式开发;螺旋式开发。 增量式开发增量式开发的特点在这种开发方式中,系统不是作为一个整体交付,而是被分解成若干个增量,每个增量交付系统的部分功能。用户的需求按优先
7、级排队,优先级最高的需求被放入最早交付的增量中。这样,优先级最高的系统功能就得到最多的测试,系统的可靠性较高。由于每个增量可以交付部分系统功能,因此软件可以较早的交付用户使用(部分功能);早期交付的增量可以作为后期增量的原型帮助后期需求的确定;项目总体的失败率较低;优先级最高的系统功能得到最多的测试。螺旋式开发这种模型用螺旋线表示软件过程,而不是采用一系列活动及活动间的反馈;螺旋中的每个回路表示软件过程中的一个阶段; 这种模型充分考虑了软件开发所面临的风险,并贯穿软件过程始终。螺旋线划分成四部分目标设置、风险评估和规避、开发与有效性验证、规划2.4 基于构件的软件工程软件复用是指在两次或多次不
8、同的软件开发过程中重复使用相同或相似软件元素(通常称为可复用构件、组件或软部件)的过程。软构件是标准的、可以互换的、经过装配可随时使用的软件模块。在UML中,软构件被定义为系统中某一定型化的、可配置的和可替换的部件,该部件封装了实现并暴露一系列的接口。软件复用的意义软件复用的出发点是使软件系统的开发不再“一切从零开始”,能够充分利用已有的知识和经验。软件复用能够在软件开发中避免重复劳动,充分利用已有的开发成果,提高开发效率,降低开发成本。软件复用还可以避免全新开发可能引入的错误,从而提高软件的开发质量。构件的基本概念构件是为组装服务的!软件构件是指可以独立生产、获取和部署的、可以被组装到一个功
9、能性系统中去的可执行单元。软构件是标准的、可以互换的、经过装配可随时使用的软件模块。基于构件的软件工程第三讲 需求工程(概念+综合分析(面向对象建模UML+分析)3.1 需求工程过程需求工程过程并不具有唯一的模型,在所有的过程中都会涉及一些共同的活动,它们是:可行性研究(必不可少);需求导出与分析;需求描述;需求有效性验证;需求管理。(填空U选择)3.2 可行性研究可行性研究要决定被提议的系统是否值得去做。进行可行性研究包括信息评估、信息汇总和书写报告三部分工作。3.3 需求的两个不同层次的描述用户需求从客户的角度,采用自然语言配合以图表对目标系统应提供的服务以及系统操作要受到的约束进行的声明
10、。系统需求系统需求是一种结构化文档,要运用一些专业的模型详细的描述系统的功能及其约束。系统需求文档有时也称为功能描述,应该是精确的,它可以成为双方之间合同的重要内容,同时作为开发工作的依据3.4 功能需求与非功能需求功能需求对系统应提供的功能,系统在特定的输入下做出的反应及特定条件下的行为的描述。某些情况下还要包括系统不应做什么。非功能需求(全局的)对系统提供服务或功能时收到的约束进行描述。如时间约束、开发过程约束和标准等。领域需求这种需求来自于系统的应用领域,反映领域特征。可能是功能需求也可能是非功能需求。功能性需求与非功能性需求相比较,非功能需求往往更为关键,因为非功能需求表示的是系统的整
11、体特征,而功能性需求描述的则是局部功能。(参看课本例子加强理解)功能需求功能需求描述系统所应提供的功能或服务。取决于待开发软件的类型、未来的用户以及开发的系统类型。功能性的用户需求只需要对系统应提供的服务进行高层一般描述,对于系统需求,则应该详细的描述系统功能、输入输出及异常。非功能性需求非功能需求不直接和功能相关,但定义了实现系统功能受到的约束与系统特性。如可靠性、响应时间、存储空间、I/O设备能力等。非功能需求还常与系统的开发过程有关,表现为过程需求。如设计必须实用的特定CASE工具集、设计语言和开发方法。领域需求领域需求来自于应用领域,描述的是反映领域特点的系统特性与特征。领域需求可能是
12、新的功能需求,也可能是对现有需求的约束或定义一个特别的计算。领域需求非常重要,如果领域需求不能满足,可能会使整个系统无法运转。需求的全面性和一致性原则上,功能性需求描述应该具备全面性和一致性。全面性:包括了所有用户要求的服务。一致性:在系统服务的描述中没有冲突和矛盾需求的两个不同层次的描述用户需求:用户需求是从用户角度来描述的系统功能需求与非功能需求,这样的描述可以使不具备专业技术知识的用户能够看明白。用户需求使用任何人都看得懂的自然语言、图表和直观的图形来描述。 系统需求:相对于用户需求,系统需求是对系统功能、服务及约束的更详尽的描述。系统需求是系统实现的基本依据,会被写入合同中。因此系统需
13、求是一个完全的、一致的系统描述,是设计的起点。系统需求可以用系统模型来定义与说明。3.7 需求导出与分析这个阶段在可行性研究之后进行,通常与需求描述交叉进行。需求导出的过程活动包括:需求发现、需求的分类与组织、优先排序和冲突解决、需求文档化。需求的发现与识别是整个过程中最为关键的活动,负责收集目标系统级现存系统的相关信息并从这些信息中提炼出用户需求和系统需求。信息的来源包括已有的文件,系统的信息持有者(stakeholders)以及相近系统的规约描述。需求要从多个视点进行分析视点用来表述不同角度的需求来源(信息持有者、其它相关系统及领域)。每一个视点代表系统需求的一个子集。从多视点对系统进行分
14、析是十分重要的,因为没有那一种单一的途径能够诠释整个系统需求视点的类型:交互者视点、间接视点、领域视点3.8 结构化分析(SA)建模(概念)结构化分析方法是一种面向数据流的系统建模技术,它从数据加工的角度对系统进行规格描述;SA帮助分析者理解系统的功能,并采用模型与用户进行交流;不同的模型从不同的角度对系统进行描述。结构化分析建模结构化分析方法建立的分析模型结构如下图:结构化分析模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象。围绕着这个核心的有三种图:实体关系图(ERD)描述数据对象及数据对象之间的关系;数据流图(DFD)描述数据在系统中如何被传送或变换,以及描述如何对
15、数据流进行变换的功能(子功能);状态迁移图(STD)描述系统对外部事件如何响应,如何动作。因此,ERD用于数据建模,DFD用于功能建模,STD用于行为建模。(考试用英文)3.9 UML与面向对象分析方法(分析+设计+面向对象建模)3.9.1 理解UML UML是一种标准的图形化建模语言,它为不同领域的人们提供一种统一的交流标准,这种标准使得系统构造者能够用标准的、易于理解的方式建立能表达出他们想象力的系统蓝图,并使客户、分析员、设计人员、程序员和系统其它涉及者能够相互理解和达成一致,从而能够有效地共享和交流设计结果。3.9.3 需求导出工作流程需求精化工作流程要求掌握:1) 用例图的画法;2)
16、 用例表(用例规约描述)的基本结构及描述方法;3) 活动图的画法4) 用CRC分析法确定关键抽象类的过程;5) 用类模型表示关键抽象。3.10 需求有效性验证需求有效性验证的目的是检验需求描述是否正确地反映了客户的意愿。(判断)好的需求对软件系统的开发效率及软件质量起着至关重要的作用。一个错误发现的越晚,修改它所付出的代价就越大。Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error.需求检查对需求文档中定义的需求要进行多种检查,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 河北 工业大学 软件工程 期末 复习 11
限制150内