软件工程 简单总结

时间:2024.4.27

软件工程

第一章 软件工程学概述

1.软件危机:是指在计算机软件的开发和维护过程中遇到的一系列严重问题。

2.软件工程:知道计算机软件开发和维护的一门工程学科。 管理+技术—>开发+维护

3.软件工程的基本原理: (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果应能清楚的审查 (6)开发小组人员应该少而精 (7)承认不断改进软件工程实践的必要性

4.软件工程方法学:2个方法学:传统方法学 面向对象方;3个基本要素:方法 工具 过程

5.软件生命周期:(3个时期八个阶段)软件定义:问题定义,可行性研究,需求分析;软件开发:总体设计,详细设计,单元测试和编码,综合测试;运行维护:软件维护

6.软件过程:5个生命周期模型:瀑布模型,快速原型模型,增量~,螺旋~,喷泉~

第二章 可行性研究

1.可行性研究的任务:用最小的代价在尽可能短的时间内确定问题是否能够解决(不是去解决问题,而是问题是否值得去解决)

2.解法可行性的3个方面:技术可行性,经济可行性,操作可行性。

3.系统流程图:是概括的描绘物理系统的传统工具。 表达的是数据在系统各部件之间的流动情况,而不是对数据进行加工处理的控制过程。

第三章 需求分析

1.数据流图DFD:是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程所经受的变换。 没有物理部件,是描绘数据在软件流动和被处理的逻辑过程。

2.数据字典:关于数据的信息的集合

3.数据字典的内容:数据流,数据流分量(数据元素),数据存储,处理

4.数据元素:名字,别名,描述,数据类型,长度

数据存储:名字,编号,描述,定义,处理

处理:名字,编号,描述,处理,输入输出数据流

8.需求分析的任务:确定对系统的综合要求:功能需求,性能需求,可靠性需求和可用性需求,出错处理需求,接口需求,约束,逆向需求,将来可能提出的要求;分析系统的数据要求;到处系统的逻辑模型;编写文档:需求分析规格说明书,编写初步用户手册,确认测试计划,修正系统开发计划。

9.结构化分析模型:数据模型---实体联系图(ER)

功能模型----数据流图

行为模型----状态转换图

10.几个问题:ER图是面向问题的还是实现的?问题的

画ER图时先考虑关系还是属性?关系

11.层次方框图:用树形结构的一系列多层次的矩形描绘数据的层次结构。

每层的关系:顶层是一个单独的矩形框,代表完整的数据结构;下面各层矩形框代表这 个数据的子集;最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)

12.Wanier图:与层次方框图相比,多了重复(一类或一个信息元素重复复出现)和条件(是有条件出现的)

13.IPO图:是输入,处理,输出图的简称,描绘数据输入,处理,输出之间的关系

14.从哪些方面验证软件需求的正确性:一致性,完整性,现实性,有效性

第五章 总体设计

1.软件设计原理:模块化,抽象,逐步求精,信息隐藏和局部化,模块独立

2.模块独立:是模块化,抽象,逐步求精,信息隐藏和局部化的直接结果。

遵循:高内聚低耦合 耦合:衡量不同模块彼此之间互相依赖的紧密程度

内聚:衡量一个模块内部各元素彼此结合的紧密程度

3.耦合:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。

4.(1)数据耦合:低耦合,两模块彼此间通过参数交换仅仅是数据

(2)控制耦合:中等程度耦合,传递信息中有控制信息。

(3)特征耦合:整个数据结构作为参数传递

(4)公共环境耦合:低耦合:一个往公共环境环境里送,一个取

介于数据耦合和控制耦合之间:两个即从公共环境里取,又向~送

(5) 内容耦合:两模块代码重叠,两模块互相调用……

5. 7个内聚

低内聚:偶然内聚,逻辑内聚,时间内聚

中内聚:过程内聚,通信内聚

高内聚:顺序内聚,功能内聚

高到低:功能内聚,顺序内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚

6.启发规则: 顶层扇出比较高,中层扇出比较少,底层模块高扇入(到公共实用模块中) 深度:表示软件结构中控制层数,粗略的标识了系统的大小和复杂程度(层数越多越简单) 宽度:软件结构内同一层次上的模块总数的最大值(宽度越大,系统越复杂)

扇出:一个模块直接控制(调用)的模块数目,扇出过大意味着模块过分复杂,一般在3~4 扇入:表明多少个上级调用它;扇入越高,上级数越多。

7.描绘软件结构的图形工具:层次图,HIPO图

层次图:用来描绘软件的层次结构

与层次方框图的区别:层次图的方框代表模块,方框中连线代表调用;方框图连线表组成。 HIPO图:输入处理输出层次图;有编号。

8.面向数据流的设计方法:(1)判断数据流类型;(2)若满足变换型,变换分析,满足事务型,事务分析;(3)精化-----启发式规则

9.信息流分为:变换流,事务流

第六章 详细设计

1.什么是结构程序设计:如果一个程序的代码块仅仅通过这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则程这个程序是结构化的

2.Jackson结构程序设计方法的5个步骤:

(1)分析并确定输入输出数据的逻辑结构并用Jackson图描绘这些数据

(2)找出输入数据结构与输出数据结构中的对应关系的数据单元,直接因果关系,可以同时处理的数据单元(对于重复出现的数据单元,重复次序和次数相同才有对应关系)

(3)用3条规则从描绘数据的Jackson图导出描绘程序结构的Jackson图

(4)列出所有操作和条件,并且把他们分配到程序结构图的适当位置

(5)用伪码表示程序

第七章 实现

通常把编码和测试统称为实现

1.软件测试的的目标:是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现错误的测试计划;成功的测试是发现了迄今为止尚未发现错误的测试

2.软件测试准则:6个 所有测试都应该追溯到用户需求;应该远在测设开始之前就制定出测试计划;把Pareto原理应用到软件测试中(发现错误的80%很可能是由20%的模块造成的);应从小规模测试开始,逐步向大规模测试;穷举测试是不可能的;为了达到最佳的测试效果,应该由独立的第三方从事测试工作 。

3.测试步骤:模块测试(单元测试);子系统测试;系统测试;验收测试;平行运行。

4.集成测试的方式:渐增式:自顶向下,自底向上

非渐增式:一次性集成

5.确认测试(验收测试):验证软件有效性

确认测试的基础(软件有效性的标准):需求分析阶段产生的软件需求规格说明书,准确的描述了用户对软件的合理期望。

Alpha测试:由用户在开发者的场所进行;在开发者指导下进行;开发者记录错误。 Beta测试:有软件的最终用户们在一个或多个客户场所进行;实际环境(真实环境,不受开发者控制);用户记录问题。

6.白盒测试技术:语句覆盖(点覆盖),判定覆盖,条件覆盖,条件组合覆盖,路径覆盖

7.黑盒测试技术3种方法:等价划分;边界值划分;错误推测。

8.软件可靠性:MTTF=It/K(Et-Ec( ))

Et=B2 B1/bc (B1甲发现错误B2 乙发现错误bc 甲乙共同发现错误)

第八章 维护

1.4种维护活动:预防性维护5% 改正性维护20% 适应性维护25% 完善性维护50%

2.维护占软件生命周期的70.8%

3.提交答案后再进行维护

4.决定可维护性的因素:可理解性(直接影响软件的可维护性);可测试性;可修改性;可移植性;可重用性(可重用性越大,可维护性越大)。


第二篇:软件工程总结


软件工程过程:是为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动。针对不同类型的软件产品,同一软件开发机构也可能采用多个不同的软件工程过程。是把输入转化为输出的一组彼此相关的资源和活动。从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品)。功能模块的集合,每个功能又可以分解为若干子功能,子功能还可继续分解,分解的结果已经是系统的雏形。 结构化分析方法 ,是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示。信息建模法,是从数据的角度对现实世界建立模型的,基本工具是ER图。面向对象的分析方法(OOA)的关键是识别问题域内的对象,分析它们之间的关系,并建立起三类模型。

将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。

软件工程过程定义: 方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑。

软件工程过程的四种基本过程活动:plan 软件规格说明,规定软件的功能及其运行的限制;do软件开发,产生满足规格说明的软件;check软件确认,确认软件能够完成客户提出的要求;action软件演进,为满足客户的变更要求,软件必须在使用的过程中改进。

软件工程过程的特性:⑴ 易理解性⑵ 可见性⑶ 可支持性⑷ 可接受性⑸ 可靠性⑹ 健壮性⑺ 可维护性⑻ 速度。 软件工程包括三要素:方法、工具和过程。

软件生存周期:是软件产品的一系列相关活动的整个生命周期,即从形成概念开始经过开发,交付使用,在使用中不断修改和演进,直到最终被废弃,让位于新的软件产品为止的整个时期。

软件生存周期包含三个阶段:软件定义、软件开发及软件运行维护。

软件生存周期模型:是软件工程思想的具体化,是跨越软件生存周期的系统开发、运行、维护所实施的全部活动和任务的过程框架。有瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型,快速应用开发( RAD )模型。

得到软件生存周期的六个步骤:制定计划 ,需求分析,软件设计,程序编写,软件测试 ,运行/维护。

划分软件生存周期的目的和实质:⑴ 便于控制开发工作的复杂性。⑵ 通过有限的步骤,把用户的需求从抽象的逻辑概念逐步转化为具体的物理实现。

瀑布模型:各项活动按自上而下,相互衔接的固定次序,如同瀑布逐级下落,每项活动均处于一个质量环(输入-处理-输出-评审)中。阶段间具有顺序性和依赖性。推迟实现的观点。每个阶段必须完成规定的文档;每个阶段结束前完成文档审查。

瀑布模型优点:⑴ 消除非结构化软件⑵ 降低软件的复杂度⑶ 促进软件开发工程化。

需求分析方法:不同的开发方法,需求分析的方法也有所不同,常见的分析方法有:功能分析方法 :将系统看作若干

需求分析的任务:⑴ 正确地确定对系统综合要求,充分理解和表达用户的需求。也就是详细定义开发软件的功能、性能、外部接口、设计限制、数据库需求、确定硬件和软件支持环境、辅助软件以及将来可能提出的要求。⑵ 通过结构分析的方法对系统进行分解,以确定软件系统的主要成分或软件系统的构成。⑶ 是对以上已进行的两项工作进行描述,以形成需求文档,也就是编制“需求规格说明书”。 ⑷ 编写用户手册概要,迫使分析员从用户的角度看待软件,及早考虑用户界面工作,此时编写的重点在系统输入和输出。⑸ 编写验收计划,作为今后验收测试的依据。⑹ 修正可行性研究阶

段所制订的软件项目开发计划。

需求分析的目标之一就是把数据流和数据存储定义到元素级。

结构化方法:是一种传统的软件开发方法,它由结构化分析SA,结构化设计SD和结构化程序设计三部分有机组合而成的。它的基本思想是:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。基本要点是:自顶向下,逐步求精,模块化设计,结构编码。原则为:(1)抽象与自顶向下,逐层细化,用分层抽象方法,有效控制软件开发的复杂性。(2)模块化(3)信息隐蔽和封装化(4)局部化(5)一致性(6)完备性(7)可验证性。 结构化分析实质上是一种创建模型的活动,建立3种模型:(1)数据模型 ,用实体-联系图(ER图)(2)功能模型,用数据流图描绘(3)行为模型, 状态转换图(简称为状态图)。 数据字典:是结构化分析方法的核心,与各模型的图形表示配合,能清楚地表达数据处理的要求。对在数据流图中每一个命名的图形元素均给予定义,其内容有图形元素的名字、别名或编号、分类、描述、定义、位置等。⑴ 数据流词条描述⑵ 数据元素词条描述⑶ 数据文件词条描述⑷ 加工逻辑词条描述。

黑盒测试:等价类划分,边界值分析,错误推测法,因果图,功能图,接口测试

*这种方法是把测试对象看做一个黑盒,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功

能规格说明,检查程序的功能是否符合它的功能说明。 *黑盒测试叫做功能测试或数据驱动测试。

*一种特殊的黑盒测试叫做接口测试,它不管程序的需求和实现细节,仅依据程序与其外部环境的接口来选择测试数据。

*黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:

(1)是否有不正确或遗漏了的功能?

(2)在接口上,输入能否正确地接受? 能否输出正确的结果?

(3)是否有数据结构错误或外部信息(例如数据文件)访问错误?

(4)性能上是否能够满足要求? (5)是否有初始化或终止性错误?

白盒测试:逻辑覆盖,判定结构分析,循环结构分析,基本路径覆盖

*此方法把测试对象看做一个玻璃盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

*通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

*软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:

(1)对程序模块的所有独立的执行路径至少测试一次 — 路径覆盖测试;

(2)对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次 — 逻辑覆盖测试;

(3)在循环的边界和运行界限内执行循环体— 控制流测试;

(4)测试内部数据结构的有效性 — 数据流测试、领域测试等。

编码是软件开发的最终目标,它作为软件工程过程的一个阶段,是设计工作的继续。它是将“设计”变换成用程序设计语言编写的源程序,使软件的需求真正付诸实现。

*编码是在详细设计的基础上进行的,其主要任务是将软件的详细设计转换成用程序设计语言实现的程序代码,也就是根据详细设计阶段给出的程序逻辑结构的描述,选择某种计算机能够接受的诸如汇编、FORTRAN、C之类的程序语言,按照编程规范,编写出高质量的、具有一致性、可移植性、可维护性和高效率的程序代码。

因此,程序设计语言的性能和设计风格对于程序设计的效能和质量有着直接的关系。

*编码的目的就是使用选定的程序设计语言把模块的过程性描述翻译成用程序设计语言书写的源程序。

*设计是编码的先导,程序的质量就首先取决于设计的质量。

程序设计风格所谓程序设计风格是指书写源程序的习惯、程序代码的逻辑结构与习惯的编程技术。从软件工程要求出发,程序设计风格应包括以下要素: (1)源程序文档化:① 符号名的命名,② 程序的注释③ 视觉组织

(2)数据说明 (3)语句结构

(4)输入/输出方法

概要设计将软件需求转化为软件体系结构, 确定系统级接口,全局数据结构或数据库模式。

概要设计的基本任务就是将需求转换为数据结构和软件的体系结构。

其具体的工作有以下几个方面:

⑴ 制定规范

⑵ 软件系统结构的总体设计这个阶段主要完成四个任务,这就是: ① 采用某种设计方法,将一个复杂的软件系统按功能划分成模块的层次结构;② 决定每个模块的功能,建立与已确定软件需求的对应关系;③ 决定每个模块的调用关系;④ 决定模块间的接口,即模块之间的传递信息,设计接口的信息结构。⑤ 评估模块划分的质量及寻出模块结构的规则。

⑶ 处理方式设计

① 确定为实现软件系统的功能需求所必需的算法的性能;② 确定为满足软件条件的性能需求所必需的算法和模块之间的控制方式,性能主要指标;

ⅰ 周转时间;ⅱ 响应时间;ⅲ 吞吐量;ⅳ 精度: ③取得外部信号的接收发送形式。 ⑷ 数据结构设计

确定软件涉及的文件的结构及数据库的模式,子模式进行数据完整性和安全性的设计。① 确定输入:输出文件的详细的数据结构;② 组合算法设计:确定算法所必须的逻辑结构及 操作;③ 确定对逻辑数据结构所必须的那些操作的程序模 块(软件包),限制和确定各个数据设计决策等影响范围;④ 若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则。 ⑤ 数据保护性设计:ⅰ 防卫性设计; ⅱ 一致性;ⅲ 冗余设计。⑸ 可靠性设计⑹ 编写概要设计文档 ⑺ 概要设计评审

详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节 详细设计要完成的工作有:

⑴ 确定软件各个组成部分内的算法及各部分的内部数据组织。

⑵ 选定某种过程的表达形式来描述各种算法。 ⑶ 进行详细设计评审。

通常采用两个标准来度量模块的独立性:模块的耦合和模块的内聚。

内聚是指模块内部各个成分之间的关系,又称为块内联系,是模块功能相对强度的度量。是指一个模块内部的各成分之间(如语句之间或语句段之间)的联系。内聚性越高,模块的性能越好。

内聚分为:低内聚包括:偶然内聚、逻辑内聚、时间内聚; 中等程度内聚包括:过程内聚、通讯内聚; 高内聚包括:顺序内聚、功能内聚。

耦合是指一个模块与其它模块之间的联系,又称为块间联系,是模块之间相对独立性的度量。是对模块间相互关联程度的一种度量。它表现了模块的外部特征。模块间的耦合越低,模块的独立性越好。 模块的耦合有以下几种:

低耦合:包括非直接耦合、数据耦合、标记耦合。 中耦合:包括控制耦合、外部耦合。 高耦合:包括公共耦合、内容耦合。

模块内聚性越强,功能独立性越好,对于形成的模块结构有比较好的作用。

要求模块结构达到高内聚,低耦合。

程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。在流程图中只能使用下述的五种基本控制结构。①顺序型;②选择型;③ while型循环;④ until型循环;⑤ 多情况型选择。

详细设计的任务:详细设计就是要在概要设计的结果

的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。主要任务如下:①为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;②确定每一模块使用的数据结构;③确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。④要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)分析、设计及维护提供了有关元素的一致的定义和详细的描述。

内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量

软件生命周期:软件生命周期是指软件产品从考虑其概念开始到该软件产品不再能使用为止的整个时期 软件生命周期可分为六个阶段:制定计划,需求分析、进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。

详细设计的方法:程序流程图、N-S图、PAD图、HIPO图

编程风格:编码风格又称程序设计风格或编程风格,

实际上指编程的原则。表现为四个方面:源程序文档化,数据说明的方法,语句结构和输入/输出方法。

3.1 为什么结构化分析要叫“结构化”?有其他可替代的术语吗?

“结构化”一词应来源于“结构化程序设计”,先有“结构化程序设计”的思想,后有结构化设计及结构化分析。有时称传统的分析方法,指的就是结构化分析方法。

结构化分析方法传统的分析建模方法称为结构化分析(SA)方法。它是一种建模技术,在模型的核心是数据字典,它描述了所有的在目标系统中使用的和生成的数据对象。围绕这个核心有3种图:数据流图(DFD),实体-关系图(ER图)和状态-迁移图(STD)。

CMM是能力成熟度模型(Capability Maturity Model)。划分为5个等级:1级被认为是成熟度最低,5级则是成熟度最高。

CMM给出了从混乱的个别过程达到成熟的规范化过程的一个框架。

软件生存周期:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期一般可分为以下阶段:

·问题定义

·需求分析与可行性研究 ·设计 ·编码 ·测试 ·运行与维护

软件生存期也可以分为三个大的阶段:计划阶段。开发阶段和维护阶段。

数据字典以词条方式定义在数据模型、功能模型和行为模型中出现的数据对象和控制信息的特征,给出它们的准确定义,包括数据流、加工、数据文件、数据元素,以及数据点、数据汇点等。

数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的

软件设计、程序编写、软件测试、运行与维护等六个部分

划分软件生命周期的目的和实质 ⑴ 便于控制开发工作的复杂性。

⑵ 通过有限的步骤,把用户的需求从抽象的逻辑概念逐步转化为具体的物理实现

软件维护包括:改正性维护,适应性维护,完善性维护和预防性维护

瀑布模型

瀑布模型的特点

⑴ 从上一项开发活动接受该项活动的工作对象,作为输入。 ⑵ 利用这一输入,实施该项活动应完成的工作内容。 ⑶ 给出该项活动的工作成果,作为输出传给下一项活动。 ⑷ 对该项目活动实施的工作成果进行评审。若工作得到确认,则继续进行下一次开发活动,否则返回前一项,甚至更前项的活动。 瀑布模型的优点 ⑴ 消除非结构化软件。 ⑵ 降低软件的复杂度。 ⑶ 促进软件开发工程化 瀑布模型存在的问题

⑴ 阶段与阶段划分完全固定,阶段间产生的大量文档,极大地增加了工作量。

⑵ 由于开发模型呈线性,所以当开发成果尚未经过测试时,用户无法看到软件的效果。这样,软件与用户见面的时间较长,也增加了一定的风险。

⑶ 前面未发现的错误传到后面的开发活动中,可能会扩散,进而可能会造成更不理想的效果。

可行性研究的目的就是用最小的代价在尽可能短的时间内

确定问题是否能够解决。

可行性研究主要集中在以下四个方面:系统可行性,经济可行性,法律可行性,用户操作可行性

可行性研究最根本的任务是对以后的行动方针提出建议。 可行性研究报告的内容:1. 项目背景2管理概要与劝告 3.候选方案4.系统描述5技术可行性6经济可行性7法律可行性8用户操作可行性9其他与项目有关的问题10结论意见 需求分析的任务:需求获取 需求建模 需求规格说明 需求评审

需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统 “做什么” 的问题。⑴ 正确地确定对系统综合要求,充分理解和表达用户的需求。⑵

通过结构分析的方法对系统进行分解,以确定软件系统的主要成分或软件系统的构成。(3)编制“需求规格说明书” 需求分析常用的方法:SA, JSD,DSSD,OOA

概要设计的基本任务就是将需求转换为数据结构和软件的体系结构。方法:⑴ 制定规范

⑵ 软件系统结构的总体设计 ⑶ 处理方式设计 ⑷ 数据结构设计 ⑸ 可靠性设计

⑹ 编写概要设计文档 ⑺ 概要设计评审

数据流图的性质:① 数据流图中的箭头仅能表示在系统中流动的数据;② 与程序流程图不同,DFD不能表示程序的控制结构;③ DFD表现的范围具有很大的灵活性。 画数据流图的基本目的是利用它作为交流信息的工具 目前实现数据字典有三种常见的途径:全人工过程,全自动化过程和混合过程

数据字典的特点:⑴ 通过名字能方便地查阅数据的定义; ⑵ 没有冗余;

⑶ 尽量不重复在规格说明的其他组成部分中已经出现的信息;

⑷ 容易更新和修改;

⑸ 能单独处理描述每个数据元索的信息; ⑹ 定义的书写方法简单方便而且严格。

l

结构化分析方法:结构化分析方法是利用抽象模型的概念,按照软件内部数据传递,变换的关系,自顶向下,逐步分解,直到找到满足功能要求的所有可实现的软件为止。 l 程序设计风格包括4个方面: 源程序文档化,数据说明,语句结构,输入输出方法 l 程序复杂性主要指模块内程序的复杂性

l 程序复杂性度量(1) 代码行度量法(2) McCabe度量法(3) Halstead的软件科学

l 程序复杂性度量的参数主要有:规模,难度 ,结构,智能度

l 测试方法:黑盒测试,白盒测试

l 黑盒测试叫做功能测试或数据驱动测试。 l 白盒测试又称为结构测试或逻辑驱动测试。 l

白盒测试方法:路径覆盖测试,逻辑覆盖测试,控制流测试,数据流测试,逻辑测试

更多相关推荐:
以下是水利工程招投标工作的一点简单总结

以下是水利工程招投标工作的一点简单总结,抛砖引玉吧,也不知对你们是否有用200_年度重点水利工程招投标工作总结今年的重点水利工程招投标工作已大体结束了。至此共完成了__个工程的公开招标和__个工程的邀请招标。2…

毕业论文答辩的简单总结

答辩前你是否能进入到答辩环节,除去你的论文是否合格,学分是否够(东北大学MBA学分要求为48)等客观因素外,最主要的就在于你的导师。如果你的导师不同意你答辩,那么你是一定没有机会参加答辩的。一般来讲,导师至少看…

简单总结

网络交友项目实践总结1.实用工具和环境配置首先安装jdk1.5以及最新版本下载地址如下:Tomcat5.0以及最新版本下载地址:a.数据库是使用MS-SQLServer20xx或者是MS-SQLServer20…

高中从句简单总结

一、定语从句先行词人,物人人物人,物关系代词:thatwhowhomwhichwhoseas(固定用法)缺成分主,宾主,宾宾主,宾定关系副词:whenwherewhy(看先行词决定)1,先行词被any,Only…

减数分裂中的知识点简单总结

一、同源染色体的识别依据:同源染色体的定义,即:①大小(长度)…………………………相同②形状(着丝点的位置)………………相同二、减数分裂各期的染色体、DNA、同源染色体、四分体等数量计算(1)染色体的数目=着丝…

减数分裂中的知识点简单总结

减数分裂中的知识点简单总结.txt13母爱是迷惘时苦口婆心的规劝;母爱是远行时一声殷切的叮咛;母爱是孤苦无助时慈祥的微笑。一、同源染色体的识别依据:同源染色体的定义,即:①大小(长度)…………………………相同②…

简单总结根尘不偶用药框架

(一)五象概论:1.中土,象:缓和,柔和,中正庸和。味甘,气香,挺香的香气。代表药物,甘草。2.乙木,象:柔润升发,草木萌发,阳光柔和,雨露飘然。味酸,气臊,比较冲的一个味。代表药物,当归。3.丁火,象:充分饱…

C语言学习简单总结

任务1:C语言概念学习搞明白以下内容:1.C语言与B语言的区别,二者各有什么特点2.C语言规范(重要)(1)有哪些数据类型(2)有哪些常量,怎么定义(3)变量的定义和使用方法(4)常用运算符号及表达式(5)函数…

假面舞会的简单总结

值得学习的地方:1.荧光棒,气球,彩纸,彩带和剪纸的合理使用;2.必要时可以围场。需要注意的地方:1.前期工作人员工作的安排(我18:20到达会场,现场有一些工作人员在闲聊,一些却很忙碌的干活,估计是各协会之间…

北大光华08金融硕就业简单总结zz

北大光华08金融硕就业简单总结现在的小孩很彪悍,我问过经管金融硕今年的毕业生,除了人数少点,基本上和光华的去向一样。光华的详细就业情况每年就业中心均会出具就业报告,可以查询,里面包括光华所有专业本科、硕士的详细…

简单工作总结

第一章20xx年工作总结(一)建立与完善行政人事管理制度1、出台人事考勤制度2、明确各部门个工作岗位3、初步完成公司组织结构图及相关行政人事表格4、制定《员工内部合同》(二)根据组织结构图为企业配置人才1、人员…

现将本次听课视导情况作简单总结20xx年秋小学听课视导总结

20xx年秋小学听课视导总结根据教育局和教研室统一安排,小学组从20xx年x月x日开始,先后对我县30所小学进行了随机听课,近160节次,涉及语文、数学、英语、思品、科学、体育、美术等学科。视导中采取了先听课、…

简单总结(135篇)