资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
复习课第一章1、什么是软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2、什么是软件工程,软件工程的本质特性概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。它采用工程的概念,原理,技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效得维护它。本质特性:1) 软件工程关注于大型程序的构造2) 软件工程的中心课题是控制复杂性3) 软件经常变化4) 开发软件的效率非常重要5) 和谐地合作是开发软件的关键6) 软件必须有效地支持它的用户7) 在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品3、瀑布模型、快速原型模型、增量模型、螺旋模型-的:基本思想、特点瀑布模型:将软件开发活动中的各项活动规定为按线性顺序联接的若干阶段工作特点:1)阶段间具有顺序性和依赖性2) 推迟实现的观点3) 质量保证的观点适用场合:适合于功能和性能明确、完整、无重大变化的软件开发。快速原型模型:快速建立起来的、可在计算机上运行的程序,它所能完成的功能往往是最终的软件产品所能完成的功能的子集。优点:1)使用这种软件过程开发出的软件产品通常能满足用户的真实需求; 2)软件产品的开发过程基本上是线性顺序过程。适用场合:适合于不能预先确切定义需求的软件系统的开发,或项目组成员不能很好的交流或通信有困难的情况。增量模型(渐增模型):把软件产品作为一系列的增量构件来设计、编码、集成和测试,并且能够完成特定的功能。优点:1)能在较短时间内向用户提交可完成部分工作的产品 ; 2) 逐步增加产品功能,从而使用户有较充裕的时间学习和适应新产品,减少一个全新的软件给客户组织带来的冲击 。适用场合:适合于项目规模较大,比较容易分解;项目分解后的子项目独立性强;对已有基础的系统进行功能的改善和补充。螺旋模型:使用原型及其他方法来尽量降低风险。(可看成是在每个阶段之前都增加了风险分析过程的快速原型模型)优点 :1)有利于已有软件的重用 2)有助于把软件质量作为软件开发的一个重要目标 3)减少了过多测试或测试不足所带来的风险 4)软件维护与软件开发没有本质区别 适用场合:适合于大型软件项目的开发,要求项目所有阶段直接考虑技术风险,即需要有相当丰富的风险评估经验和专门知识的人。喷泉模型:一种以用户需求为动力,以对象为驱动的模型,且软件开发过程自下而上周期的各阶段是相互迭代和无间隙的。 适用场合:适合于面向对象的软件开发。4、 在软件工程中,软件工具所起的作用 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境,辅助软件开发任务的完成。提高开发效率和软件质量。第二章1、什么是:经济可行性、技术可行性、运行与操作可行性、法律可行性技术可行性:使用现有的技术能否实现这个系统吗?经济可行性:这个系统的经济效益能否超过它的开发成本? 操作可行性:系统的操作方式在这个用户组织内是否行得通?法律可行性:系统的开发使用,在当国当地当时合法吗?2、物理模型的简单描述工具1)系统流程图的定义:是概括地描绘物理系统的传统工具。它用图形符号以黑盒子形式描绘组成系统的每个部件。 系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,是物理数据流图而不是程序流程图。2)数据流图的定义:它是一种图形化技术,它描述信息和数据从输入移动到输出过程中所经历的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。 数据流图的基本符号:正方形(或立方体) 表示数据的源点或终点; 圆角矩形(或圆形) 代表变换数据的处理; 开口矩形(或两条平行横线) 代表数据存储; 箭头线 表示数据流,即特定数据的流动方向。3)数据字典的定义:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。 数据字典的内容:数据流、数据流分量、数据存储、处理 第三章1、需求分析的任务需求分析的任务:(1)确定对系统的综合要求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求(2)分析系统的数据要求:(3)导出系统的逻辑模型(4)修正系统开发计划2、数据流图、状态转换图、E-R图、数据字典,的详细结构(组成元素、描述的内容)1)E-R图的定义:即实体-联系图,是表示数据对象及其之间关系的图形语言机制,是建立数据模型的图形工具。 E-R图的基本成份和使用的符号 :实体(即数据对象)-矩形框,关系-菱形框, 属性-椭圆形或圆角矩形。 E-R图描述的模型:用来建立数据模型,ER模型使用简单的图形符号表达系统分析员对问题域的理解 2) 状态转换图的定义:通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。 状态转换图的基本成份和使用的符号:基本成分是状态、事件、状态转换。 状态转换图描述的模型:用来建立系统的行为模型。3、结构化分析应建立哪三大模型,分别用什么工具描述 建模的核心是数据字典,它描述了所有的在目标系统中使用的和生成的数据对象。 (1) 数据模型,用实体-联系图描述; (2) 功能模型,用数据流图描述; (3)行为模型,用状态转换图描述。4、需求采集的各种方法1)访谈2) 问卷调查3) 观察用户工作流程4) 情景分析技术5、数据规范化的目的和方法目的:为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程方法:范式定义6、 需求分析阶段结束形成的完整文档包含哪两部分软件需求规格说明书包含详细的数据流图和数据字典第五章1软件总体结构的描述工具是什么,结构图和层次图的区别(1)软件层次图定义:是用来描绘软件层次结构的图形工具。一个矩形框代表一个模块,方框间的连线表示模块间的调用关系。软件层次图的示例:(2)HIPO图定义:即层次图 + 输入/处理/输出图,由一张H图和一组IPO图组成。通常将HIPO图作为软件结构的描绘,列入设计文档。H图,是给每个模块加上编号的层次图。IPO图,即为H图中的每个模块画一张IPO图。(3)结构图(SC)定义:描述了软件的模块结构,表示了一个系统的层次分解关系;反映了模块间的联系以及块内联系;反映了模块间的信息传递。结构图一般不列入设计文档,只用于设计阶段检查模块设计的正确性和模块独立性。结构图(SC)的基本符号: A 方框,内有名称,表示模块; 直线,表示上层模块对下层模块的调用; 尾部带空心圆的箭头,表示按方向传递的数据信息; 尾部带实心圆的箭头,表示按方向传递的控制信息; 判定为真时调用A,为假时调用B 模块M循环调用模块A、B、C2两种不同类型的数据流图分别是什么、结构如何数据流分类:SD方法把信息流(数据流图)映射成软件结构,信息流的类型决定了映射的方法。DFD中的数据流可分为两类:变换型数据流、事务型数据流;可转换为相应的软件结构:变换型结构、事务型结构。3如何将两种不同类型的数据流图映射(设计)为初始软件结构图/层次图(1)变换分析-从变换流到变换型结构的映射过程:(2)事物分析-从事物流到事物型结构的映射过:4、软件工程的中心课题是控制软件的复杂度;在总体设计阶段,软件复杂度主要体现为模块独立性;描述模块独立性的两个指标分别是耦合和内聚;软件设计要做到高内聚、低耦合。耦合的含义,各级耦合的具体含义,如何判断两个模块间的耦合级别(1)耦合定义:它是对一个软件结构内不同模块之间互连程度的度量;耦合分类:耦合使用原则:尽量使用数据耦合,小用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合,最终降低模块间接口的复杂性。内聚的含义,各级内聚的具体含义,如何判断一个模块的内聚级别(2)内聚定义:它标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。内聚分类:内聚使用原则:设计时力求高内聚,设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。(3)耦合和内聚两者关系:耦合与内聚都是模块独立性的定性标准,都反映模块独立性的良好程度。其中内聚更重要。内聚与耦合密切相关。同其它模块强耦合的模块意味着它自己是弱内聚的;强内聚模块意味着与其它模块间松散耦合。所以设计的目标应该是力争高内聚、低耦合。5信息隐藏的定义和原因信息隐藏是指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。原因:信息隐藏主要是为了提高软件的可重用性和可维护性。由于信息隐藏造成了系统各个部分耦合性低,而系统是由各个部分构成的,如果这些部分耦合性低的话,那么将会提高模块的独立性,从而减少修改或维护时的影响面。6总体设计阶段结束形成的文档包含哪些部分(1)系统说明(2)用户手册(3)测试计划(4)详细的实现计划(5)数据库设计结果第六章1什么是结构化程序结构化程序设计,模块内部是由顺序结构、选择结构和循环结构三种控制结构连接起来的。2详细设计的描述工具:程序流程图、盒图(N-S图)、PAD图、判定表/判定树-什么是,基本符号和含义,画法,工具的具体作用(1)程序流程图定义:又称为程序框图,它是历史最悠久、使用最广泛的描述过程设计的方法,然而它也是用得最混乱的一种方法。程序流程图的基本符号:(2)盒图(N-S图)定义:出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman提出了盒图。它有下述特点:(1) 功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来。(2) 没有箭头,不可能任意转移控制。(3) 很容易确定局部和全程数据的作用域。(4) 很容易表现嵌套关系,也可以表示模块的层次结构。盒图(N-S图)的基本符号:(a) 顺序;(b)IF_THEB_ELSE型分支;(c)CASE型多分支;(d)循环;(e)调用子程序(3)PAD(问题分析图)定义: 1973年由日本日立公司发明。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。PAD(问题分析图)的基本符号:(a) 顺序;(b)选择(IF C THEN P1 ELSE P2);(c)CASE型多分支;(d)WHILE型循环(WHILE C DO P);(e)UNTIL型循环(REPEAT P UNTIL C);(f)语句标号;(g)定义3在详细设计阶段,软件复杂度主要体现为程序的复杂程度,可用程序模块的环形复杂度(McCabe方法)来度量,或用Halstead方法来度量4程序的环形复杂度:计算工具:流图-退化了的程序流程图计算方法:3种
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号