软件工程复习整理.doc

上传人:博****1 文档编号:560193896 上传时间:2023-09-29 格式:DOC 页数:7 大小:133.50KB
返回 下载 相关 举报
软件工程复习整理.doc_第1页
第1页 / 共7页
软件工程复习整理.doc_第2页
第2页 / 共7页
软件工程复习整理.doc_第3页
第3页 / 共7页
软件工程复习整理.doc_第4页
第4页 / 共7页
软件工程复习整理.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《软件工程复习整理.doc》由会员分享,可在线阅读,更多相关《软件工程复习整理.doc(7页珍藏版)》请在金锄头文库上搜索。

1、名词解释n DFD图(data flow diagram)数据流图数据流图是一种图形化技术他描绘信息流和数据从输入移动到输出过程中所经历的变换n E-R图E-R图也称实体-联系图(Entity Relationship Diagram)说明:实体联系图的元素:数据对象、数据对象的属性和数据对象之间的联系n IPO图(Input Process Output):输入处理输出图 说明:需求分析阶段可以使用IPO图简略地描述系统的主要算法n HIPO(Hierarchy Plus Input/Processing/Output)图层次图加输入/处理/输出图 他是表示软件结构的工具n PAD图(Pro

2、blem Analysis Diagram):问题分析图用二维树形结构的图来表示程序的控制流n PDL(Program Design Language):伪代码它具有严格的关键字外语法,用于定义控制结构和数据结构同时它的表示实际操作和条件的内语法又是灵活自由的,可使用自然语言的词汇。 数据结构说明手段数组、链表n UML(unified modeling language):一种建模语言是用来对软件密集系统进行可视化建模的一种语言n CASE(computer aid software engineering) 结构化分析与设计工具n OOP(object oriented programmi

3、ng)面向对象编程Oop的一个基本原则是计算机程序是由若干个起到子程序作用的单元式对象组合而成。n OOD(object oriented design)面向对象设计是一种软件方法是一种工程化规范n SWEBOK: Software Engineering Body of Knowledge软件工程知识体系一、软件危机定义及其产生的原因 简答软件危机的定义:在计算机软件的开发和维护过程中所遇到的一系列的严重问题也有人将其称之为“软件萧条”或“软件困扰”。(其包含两方面问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。)原因:(1)由软件自身特点所造成的原因(2)在

4、实践过程中或多或少采用了错误的方法和技术(3)没有对用户的需求完整准确的认识就开始写代码(4)认为软件就是代码,没有认识到完整的软件应包括代码、文档和数据(5)轻视软件的维护软件的定义程序+数据+文档软件工程方法学三个要素:(1)方法:完成软件开发各项任务的技术方法(2)工具:各类自动半自动的软件工程支撑环境(3)过程:各项任务的工作内容和步骤软件工程核心问题控制复杂度传统方法学设计原理(1)采用结构化技术来完成软件开发中的各项任务(2)将生命周期分为若干阶段,然后顺序完成各阶段的任务。通常每一阶段都是对上一阶段的具体化,精化(3)每一阶段完成后都要进行审查(文档)面向对象方法学的要点(1)将

5、对象作为数据及对数据操作的统一体(2)将对象划分为类:体现了人类认识从特殊到一般的归纳(3)继承:体现了人类认识从一般到特殊的演绎(4)封装:降低了复杂性,促进了重用二、软件过程(定义:为了获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤)生命周期模型定义:用来描述生命周期的划分及各阶段的执行顺序。瀑布模型定义:基本上就是传统方法学的软件过程。具有顺序性和依赖性的特点(特点的含义:a、必须等前一阶段的工作完成之后,才能开始后一阶段的工作;b、前一阶段的输出文档就是后一阶段的输入文档,因此,前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果)快速原型模型定义:通过快

6、速建立原型来与用户交互,以期准确快速的获得用户需求增量模型定义(渐增模型):将软件分为一系列相对独立的构件来进行开发本质上与扩充已有软件功能是一致的螺旋模型定义:可以将其视为在每个阶段都增加了风险分析的快速原型模型主要适用于内部开发的大规模软件项目喷泉模型的特点:(定义:是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。)1、喷泉模型的优点喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。

7、2、喷泉模型的缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。系统流程图、数据流图、程序流程图的特点与区别系统流程图:概括的描述物理系统;用图形符号以黑盒的形式描述系统的各个部件;描述数据在系统各部件(物理设备)之间的流动情况,而不是对数据的加工或处理。数据流图:描绘了信息流和数据从输入到输出过程中的变换。没有任何具体的物理部件;描绘数据在软件中流动和被处理的逻辑过程;是系统逻辑功能的图形表示,是系统分析员和用户之间极好的通信工具;只需考虑“做什

8、么”,不需考虑“怎么做”。程序流程图:流程程序图是程序分析中最基本、最重要的分析技术,它是进行流程程序分析过程中最基本的工具。数据流图 (1)处理不一定是一个程序可能是多个程序,也可能是一个程序的一部分(2)数据流和数据存储都是数据,一个处于静止状态一个处于运动中(3)在数据流图中一般不考虑出错处理 数据字典的内容(应用题)(1)基本:数据流数据流分量数据存储处理(2)其它信息:别名数据类型数据长度等课后习题:北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0)

9、,若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用定义数据字典的方法,定义上述的电话号码。l 数据结构的描述 符 号 含 义 举 例 被定义为 与 x = ab.,. 或 .|. 或 x = a , b,x = a | b . 或 m.n 重复 x = a, x = 3a8(.) 可选 x = (a)“.” 基本数据元素 x = “a” . 连结符 x = 1.9答案:l 电话号码=校内电话号码|校外电话号码l 校内电话号码=非零数字+ 3 位数字 /后面继续定义l 校外电话号码=本市号码|外地号码l 本市号码=数字零+8位数字l 外地号码=数字零+3位数字+8位数字l 非零数字

10、=1|2|3|4|5|6|7|8|9l 数字零0l 3位数字3数字3 /3至3个数字l 8位数字=非零数字+7位数字l 7位数字=7数字7l 数字0|1|2|3|4|5|6|7|8|9软件设计基本原理(p:94)(1) 模块化:把程序划分成独立命名且可以独立访问的模块(2)抽象:将相似的方面集中和概括起来,而忽略差异或者说抽象就是抽出事物的本质特性而不考虑细节(3)逐步求精:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑(4)信息隐藏和局部化A、信息隐藏:使一个模块内包含的信息对于不需B、要这些信息的模块是不可访问的EX.面向对象局部化:把一些关系密切的软件元素放得彼此靠近(5)模块独立

11、性:每个模块完成一个相对独立的特定子功能,并且和其他模块间关系很简单模块独立性模块独立性:每个模块完成一个相对独立的特定子功能,并且和其他模块间关系很简单模块独立性的意义:A、便于开发,特别是针对多人合作的时候B、容易测试和维护,错误传播范围小,易于扩充功能衡量独立性的标准:内聚和耦合耦合与内聚概念与排序(P98)耦合:衡量不同模块彼此间相互依赖的紧密程度。耦合强度取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。尽可能做到松散耦合。p 完全独立:耦合度最低。p 数据耦合:低耦合p 控制耦合:中等程度的耦合p 特征耦合:作为参数传递的某数据结构中的一部分数据被调用,导致数

12、据结构中的其他数据失去控制p 公共环境耦合:复杂程度随耦合的模块个数增加而复杂程度增加p 内容耦合:最高程度的耦合内聚:一个模块内各元素结合的紧密程度,追求高内聚。p 偶然内聚:有关系也很松散p 逻辑内聚:完成任务在逻辑上相同或相似p 时间内聚:包含的任务必须在同一时间段完成p 过程内聚:一个模块内的处理元素相关,且必须以特定顺序执行p 通信内聚:使用同一输入或产生同一输出p 顺序内聚:与过程内聚相似,通常上一输出作下一输入p 功能内聚:属于同一整体,完成单一功能(最高程度的内聚)指导思想p 尽量使用数据耦合p 少用控制耦合和特征耦合p 限制公共环境耦合的范围p 完全不使用内容耦合p 没有必要

13、精确确定内聚级别p 力争高内聚,识别低内聚并进行修正面向数据流的设计方法(1)变换分析*(应用题)(P104)(2)事务分析n 需求分析阶段建立的三种模型及其作用 简答*数据模型功能模型行为模型作用:数据模型:描述问题的信息域功能模型:定义软件应完成的功能行为模型:描述作为外部时间结果的软件行为需求分析是软件定义时间的最后一个阶段需求分析的任务:确定系统应该完成那些工作,而不是怎么完成那些工作软件需求包括三个不同的层次,即业务需求、用户需求和功能需求n 需求分析:功能需求与性能需求功能需求:定义了开发人员必须实现的软件功能,从而满足了业务需求性能需求:系统必须满足的定时约束和容量约束比如:信息

14、速率、安全性、主存容量、磁盘容量。n 数据规范化与范式的概念数据规范化:减少数据冗余、避免数据添加或删除的异常、简化数据修改的过程级别越高数据冗余程度越低、级别越高存储同样的数据就需要更多的表、级别越高同样的操作,需要访问的表就越多、级别越高数据的存储结构与问题域的匹配程度也下降范式:定义消除数据冗余的程度第一范式:每个属性都不能包含内部结构第二范式:满足第一范式,且每个非关键字都由关键字来决定第三范式:满足第二范式,且每个非关键字属性不能是另一个非关键字属性的进一步描述n ER图的特点人们通常用实体、联系和属性这3个概念来理解现实问题,因此er模型比较接近人的思维习惯,此外,er模型使用简单的图形符号表达系统分析员对问题的理解,er可以视为用户和分析员之间的有效交流工具n 状态转换图的特点状态:行为模式,规定了系统对事件的响应方式初态:只能有一个终态:可以有多个,或者零个中间状态事件:是在某个特定时刻发生的事情,引起系统状态转换的控制信息带箭头的连线代表状态转换n 环形复杂度的定义与三种计算方法 应用*p 区域数等于环行复杂度p V(G)=E(流图中边的条数)-

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号