20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx

上传人:b****4 文档编号:14376522 上传时间:2022-10-22 格式:DOCX 页数:11 大小:31.87KB
下载 相关 举报
20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx_第1页
第1页 / 共11页
20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx_第2页
第2页 / 共11页
20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx_第3页
第3页 / 共11页
20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx_第4页
第4页 / 共11页
20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx

《20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx》由会员分享,可在线阅读,更多相关《20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx(11页珍藏版)》请在冰豆网上搜索。

20XX级爱恩学院软件工程期末复习知识点小结andy caoWord下载.docx

  2,可行性研究目的及几个方面:

P53

  可行性分析是立项的前提,立项是可行性分析的后果。

立项和合同的区别:

立项有两个分析1.投资2.经济效应;

合同只有一个分析经济分析。

3,画分层DFD图的基本原则P128

  数据守恒所谓数据守恒是指加工的输入输出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。

或者说一个加工至少有一个输入数据流,一个输出数据流。

加工分解的原则自然性:

概念上合理、清晰;

  均匀性:

理想的分解是将一个问题分解成大小均匀的几个部分;

  分解度:

一般每一个加工每次分解最多不要超过7个子加工,分解应分解到基本加工为止。

  子图与父图的“平衡”父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同(相对应),分层数据流图的这种特点称为子图与父图“平衡”。

  合理使用文件  当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同时表达出来。

画分层DFD图的方法:

“先全局后局部,先整体后细节,先抽象后具体”

  通常可将这种分层的DFD图,分为顶层、中间层、底层。

具体步骤:

  1。

先确定系统范围,画出顶层的DFD图。

  2。

逐层分解顶层DFD图,获得若干中间层DFD图。

  3。

画出底层的DFD图。

  顶层图说明了系统的边界,即系统的输入和输出数据流,顶层图只有一张。

底层图一些不能再分解的加工组成,这些加工都已足够简单,称为基本加工。

在顶层和底层之间的是中间层。

中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解。

  画各层DFD图时,“外向内”。

4,软件设计原理p121

  1)设计方法概论:

软件设计的输入是《需求规格说明书》,输出是《概要设计说明书》和《详细设计说明书》。

概要设计:

概要设计,一是要覆盖《需求规格说明书》的全部内容,二是要作为指导详细设计的依据。

概要设计注重于宏观上和框架上的设计,它是软件系统的总体结构设计、全局数据库(包括数据结构)设计、外部接口设计、功能部件分配设计、部件之间的接口设计。

概要设计又称为架构设计。

详细设计,一是要覆盖《概要设计说明书》的全部内容,二是要作为指导程序设计的依据。

详细设计注重于微观上和框架内的设计,它是各子系统的公用部件实现设计、专用模块实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计、其他详细设计等。

在设计之前要确定命名规范。

包括系统命名规范,模块命名规范,构件命名规范,变量命名规范,以及表名、字段名、索引名、视图名、存储过程名的命名规范等。

软件设计时,一方面要善于将需求规格说明书中的冗余去掉,将公用功能提炼出来,并将它设计为构件,标准化后加入到公司构件库中。

另一方面,还要尽量调用公司构件库中已有的构件。

按照“五个面向理论”,概要设计主要方法是面向数据,详细设计和程序设计主要方法是面向对象。

所有的详细设计都是面向模块(部件/构件)的,不是面向组织结构或部门单位的。

一个组织或单位,根据角色的不同授权,可以挂上不同的模块或部件。

  2)软件设计原理

  原理1:

抽象  

(1)控制抽象:

面向过程设计,通过控制抽象(控制流程和接口),对软件进行分解,达

  到降低软件复杂度的目的。

面向对象设计,通过数据抽象和控制抽象,实现使数据和控制溶为一体,构成一个完整的对象。

(2)过程抽象:

将数据处理抽象成函数或方法,获得最终的执行结果,而不必去关心它们的内部实现细节。

(3)数据抽象:

在数据库建模和面向对象建模时,使用数据抽象,设计出数据库的表及字段,或设计出类及类的属性。

  原理2:

分解

(1)在架构设计中,将软件系统分解为子系统和模块;

(2)在详细设计中,将子系统和模块分解成类和接口。

原理3:

低耦合高内聚

  原理4:

封装:

封装是将信息隐藏在一个实体中,使其内部细节对外部不可见。

封装是实现“低耦合高内聚”的技术手段之一。

要进行正确的封装,必须遵守下列原则:

  

(1).实体间相互隐藏内部实现;

(2).尽量减少全局的共享数据。

原理5:

接口和实现分离3)详细设计的任务与步骤1.基本任务:

回答的关键问题:

“怎样具体地实现这个系统”。

主要任务是设计出程序的“蓝图”,供程序员日后根据这个蓝图编写出实际的程序代码。

  2.基本步骤a.确定模块如何实现b.编写详细设计说明书c.制定单元测试计划d.评审详细设计4)面向对象详细设计

  软件系统的架构设计完成后,利用UML的描述工具:

类图、顺序图、状态图、部件图、部署图,分别将架构中的部件(组件/构件)进行实现设计,直到可以编程为止;

在实现设计中,对类的属性定义、类的方法算法、接口说明、接口实现、类之间的关系、对象与消息之间的关系、实体之间的状态转换,均要详细说清楚。

  5,耦合性和内聚性p123

  模块的独立程度的两个标准:

(内聚和耦合)。

内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。

内聚和耦合都是进行模块化设计的有力工具,但是实践表明内聚更重要。

1).耦合(衡量不同模块间互相依赖的程度)

  耦合是对一个软件结构内不同模块之间互连程度的度量。

耦合强弱取决于模块间接口的复杂程度。

(1)非直接耦合

(2)数据耦合(或参数传递耦合),属于低级别耦合。

例如,模块间通过参数传递或数据结构来访问标记耦合(4)控制耦合,属于中级别耦合。

例如,操作系统中的进程调度程序,通过就绪进程的优生级来调度。

那么调度程序与进程之间的耦合,就是控制耦合。

(5)外部耦合(或共用耦合),它属于高级别耦合。

例如,模块间共享全局变量,或共同访问全局数据区中的数据项,就是共用耦合。

(6)当两个或多个模块通过一个公共数据环境相互作用时,它们之间的耦合称为公共环境耦合;

(7)内容耦合,它属于最高级别耦合。

例如,一个模块利用分支或跳转技术,转入到另一个模块中去执行,就是内容耦合。

耦合可发生在软件设计、软件编程之中。

  2)内聚性.内聚

  内聚有如下7类:

(1)如果一个模块完成一组任务,这些任务彼此间即使有关系,关系也是很松散的,就叫做偶然内聚。

逻辑内聚(3)如果一个模块包含的任务必须在同一段时间内执行,就叫时间内聚。

过程内聚通信内聚信息内聚(7)如果模块内所有处理元素属于一个整体,完成一个单一的功能,则称为功能内聚。

功能内聚是最高程度的内聚。

  6,软件需求分析的目的,重点,任务以及工具p56

  7,软件维护的定义,分类以及可维护性的四条性质p179

  所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。

其基本任务是保证软件在一个相当长的时期能够正常运行。

用于维护工作的劳动可以分成生产性活动(例如,分析评价,修改设计和编写程序代码等)和非生产性活动(例如,理解程序代码的功能,解释数据结构、接口特点和性能限度等)。

  

(1)在程序使用期间,用户必然会发现程序错误,把诊断和改正错误的维护称为改正性维护。

(2)为了和变化了的环境适当地配合而进行的修改软件的活动,是适应性维护。

  (3)在使用软件的过程中用户往往提出增加新功能或修改已有功能的建议,称为完善性维护。

  (4)为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,称为预防性维护(例如千年虫)。

  与软件维护有关的绝大多数问题,都可归因于软件定义和软件开发的方法有缺点。

下面列出和软件维护有关的部分问题:

  理解别人写的程序通常非常困难。

  需要维护的软件往往没有合格的文档,或者文档资料显著不足。

当要求对软件进行维护时,往往原来写程序的人已经不在附近了。

绝大多数软件在设计时没有考虑将来的修改。

  软件维护不是一项吸引人的工作。

形成这种观念很大程度上是因为维护工作经常遭受挫折。

  维护是软件生命周期的最后一个阶段,也是持续时间最长代价最大的一个阶段。

软件工程学的主要目的就是提高软件的可维护性,降低维护的代价。

可以把软件的可维护性定性地定义为:

维护人员理解、改正、改动或改进这个软件的难易程度。

在前面的章节中曾经多次强调,提高可维护性是支配软件工程方法学所有步骤的关键目标。

决定软件可维护性的因素主要有下述5个:

1.可理解性2.可测试性3.可修改性4.可移植性5.可重用性软件生命周期每个阶段的工作都和软件可维护性有密切关系。

因此,在软件生命周期的每个阶段都必须充分考虑维护问题。

  8,软件生命周期的定义以及几种模型的优缺点p33

  软件的生存周期与选择的开发模型有关,不同的开发模型,对应不同的生存周期。

常用的4种软件开发模型:

瀑布模型、增量模型、迭代模型和原型模型,以及开发模型。

瀑布模型  特点阶段间具有顺序性和依赖性质量保证的观点选择条件不是任何软件都可以采用瀑布模型的,选择瀑布模型,必须满足下列条件:

在开发时间内需求没有变化或很少变化。

分析设计人员对该应用领域很熟悉,包括对目标、环境很熟悉。

用户除提出需求以外,不参与开发。

优缺点瀑布模型有许多优点:

(1)可强迫开发人员采用规范的方法;

(2)严格地规定了每个阶段必须提交的文档;

(3)要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

模型的缺点:

  可维护性差,表现在失。

  

(2)于文档驱动,错误的传递,会采取发散扩大的方式。

---若软件系统的组装和拆卸性不强,---或开发人员全局把握水平不高,  都不宜采用这种模型。

  用户使用环境很稳定。

  

(1)于逆转性很差,所以返工会造成重大损增量模型(任务或功能模块驱动)

(1)任务或功能模块驱动,可以分阶段提交产品;

(2)有多个任务单,这些多个任务单的集合,构成项目的一个总任务书(总用户需求报告)。

选择模型的条件:

在开发过程中,客户接受分阶段交付。

开发人员对应用领域不熟悉,难以一步到位。

工期过紧的中等或高风险项目。

用户可参与到整个软件开发过程中。

原型模型(原型驱动)模型的缺点:

  因为事先有一个展示性的产品原型,所以在一定程度上,不利于开发人员的创新。

9,几种软件工程方法的定义,优缺点以及地位p11

  软件工程中软件开发方法的集合,称为软件工程方法论。

  1)面向过程方法:

习惯上称为传统软件工程开发方法,或结构化方法,来自于面向过程的程序设计语言,如汇编语言、C语言。

面向过程方法包括面向过程需求分析、面向过程设计、面向过程编程、面向过程测试、面向过程维护、面向过程管理。

也可以说,它包括结构化分析、结构化设计、结构化编程、结构化测

  试、结构化维护。

面向过程的方法,有时又称面向功能的方法,即面向功能分析、面向功能设计、面向功能编程、面向功能测试、面向功能维护。

此可见,面

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1