软件工程知识点总结

软件工程知识点总结
软件工程知识点总结

软件工程(简要知识点)

一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型)

二、可行性研究:

1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。

2、四个方面:技术、经济、操作可行性、法律

3、数据流图四种成分:1、源点/终点2、处理3、数据存储

4、数据流

三、需求分析:

1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。

2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。

3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N 、M:N )

四、总体设计:

1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。

2. 系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构)

3.模块独立:内聚和耦合

4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统 问题定义(确定题目)

可行性研究

需求分析 概要设计

详细设计

编码和单元测试 综合测试

系统设计 系统实现 软件定义 软件开发 运行维护:主要任务是使软件持久地满足用户的需要

软件生命周期:

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度

6.面向数据流的设计方法:变换流和事务流

五、详细设计:

1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树)

七、测试:

1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。

2、集成测试:

在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。

3、白盒测试技术(逻辑覆盖、基本路经测试)

白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程。所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作。白盒测试又称为结构测试。

4、语句覆盖就是设计足够的调试用例,使得程序中的每个语句至少执行一次。

5、判定覆盖就是设计足够的测试用例,使得程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖

6、条件覆盖就是设计足够的测试用例,使得程序判定中的每个条件能获得各种可能的结果。

7、判定/条件覆盖就是设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。

8、条件组合覆盖就是设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次。

9、黑盒测试技术(等价划分)

黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求。黑盒测试是在程序接口进行的测试,又称为功能测试。

1)、黑盒测试检查的主要方面有:

程序的功能是否正确或完善;

数据的输入能否正确接收,输出是否正确;

是否能保证外部信息(如数据文件)的完整性等。

用黑盒法设计测试用例时,必须用所有可能的输入数据来检查程序是否都能产生正确的输出

2)、等价类划分

等价类的划分在很大程度上依靠的是测试人员的经验,下面给出几条基本原则:

(1)如果输入条件规定了取值范围,则可划分出一个有效的等价类(输入值在此范围内)和两个无效的等价类(输入值小于最小值、输入值大于最大值)。

(2)如果输入条件规定了输入数据的个数,则可相应地划分出一个有效的等价类(输入数据的个数等于给定的个数要求)和两个无效的等价类(输入数据的个数少于给定的个数要求、输入数据的个数多于给定的个数要求)。

(3)如果输入条件规定了输入数据的一组可能的值,而且程序对这组可能的值做相同的处理,则可将这组可能的值划分为一个有效的等价类,而这些值以外的值划分成无效的等价类。

(4)如果输入条件规定了输入数据的一组可能的值,但是程序对不同的输入值做不同的处理,则每个输入值是一个有效的等价类,此外还有一个无效的等价类(所有不允许值的集合)。

(5)如果输入条件规定了输入数据必须遵循的规则,则可以划分一个有效的等价类(符合规则)和若干个无效的等价类(从各种角度违反规则)。

八、维护(改正性维护、适应性维护、完善性维护、预防性维护)

九、决定软件可维护性因素(可理解性、可测试性、可修改性、可移植性、可重用性)

十、对象模型1、关联2、聚集3、泛化4、依赖和细化

软件工程(详细复习内容)

第一章绪论

1.1软件危机

1、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。(熟记)

2、了解软件危机主要的一些典型表现。

3、出现软件危机的原因:

4、消除软件危机的途径:首先,我们要对计算机软件有一个正确的认识;更重要的是,必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严格、各类人员协同配合、共同完成的工程项目;最后,应该开发和使用更好的软件工具。

总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

1.2软件工程

1、软件工程:采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。(熟记)

2、了解软件工程的本质特征:

1)、软件工程关注于大型程序的构造

2)、软件工程的中心课题是控制复杂性

3)、软件经常变化

4)、开发软件的效率非常重要

5)、和谐的合作是开发软件的关键

6)、软件必须有效地支持它的用户

7)、在软件工程的领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品

3、缺乏应用领域地相关知识,是软件开发项目出现问题的常见原因。

4、软件工程的基本原理:

1)、用分阶段的生命周期计划严格管理

2)、坚持进行阶段审评

3)、实行严格的产品控制

4)、采用现代程序设计技术

5)、结果应能清楚地审查

6)、开发小组的人员应该少而精

7)、承认不断改进软件工程实践的必要性

5、方法学(范型):在软件生命周期全过程中使用的一整套技术方法的集合。

6、软件工程方法学3要素:方法、工具和过程。

7、目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学

8、传统方法学也成为生命周期方法学或结构化范型。

9、面向对象方法学具有的4个要点。

1.3软件生命周期

1、概括地说,软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。

2、软件定义时期的任务

3、软件定义时期通常进一步划分成3个阶段:问题定义、可行性研究、需求分析

4、维护时期的主要任务是使软件持久地满足用户的需要。

5、软件开发时期通常分成4个阶段:总体设计、详细设计、编码和单元测试、综合测试。前两个阶段又称为系统设计,后两个阶段又称为系统实现。

6、软件生命周期每个阶段的基本任务:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试。

1.4软件工程

生命周期模型(过程模型):瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。

(对各种模型要了解)

第2章可行性分析

可行性分析的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。

2.1可行性研究的任务

1.研究解法的可行性的四个方面:技术可行性、经济可行性、操作可行性、法律可行性。

2.可行性研究最根本的任务:对以后的行动方针提出建议。

3.可行性研究需要的时间长短取决于工程的规模。

2.2可行性研究过程

1.复查系统规模和目标

2.研究目前正在试用的系统

3.导出新系统的高层逻辑模型

4.进一步定义问题

5.导出和评价供选择的解法

6.推荐行动方针

7.草拟开发计划

8.书写文档提交审查

2.3系统流程图

1、系统流程图:概括地描绘物理系统的工具。

2、系统流程图的基本思想:用图形符号以黑盒子形式描绘组系统的每个部件(程序、文档、数据库、人工过程等)。

3、P39符号

4、系统流程图的习惯画法:使信息在图中从顶向下或从左向右流动。

5、面对复杂的系统时,一个比较好的方法时分层次地描绘这个系统。

2.4数据流图

1.数据流图(DFD):一种图形化技术,它描绘信息流和数据从输入移动到输

出的过程中所经受的变换。

2.数据流图的四种基本符号

3.数据存储(静止状态)和数据流(运动)都是数据。

4.数据流图的基本要点是描绘“做什么”,而不是考虑“怎么做”。

5.星号(*)是数据流之间的“与”关系;加号(+)表示“或”关系;⊕号表

示只能从中选一个(互斥关系)。

6.画数据流图的基本目的是利用它作为交流信息的工具。

2.5数据字典

1.数据字典应由对下列4类元素的定义组成:数据流、数据流分量(即数据元

素)、数据存储、处理。

2.由数据元素组成数据的方式的三种基本类型:顺序、选择、重复。+可选

3.用以下符号描述由数据元素组成数据的关系:=意思是等价于(或定义为)、

+意思是和(即连接两个分量)、[ }意思是或(通常用“|”号隔开供选择的分量)、{ }意思是重复、()意思是可选。

4.数据字典最重要的用途是作为分析阶段的工具。

2.6成本/效益分析

1.成本/效益分析的目的:从经济角度分析开发一个特定的新系统是否划算,

从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。

2.软件开发成本:主要表现为人力消耗。

第3章需求分析

1、需求分析是软件定义时期的最后一个阶段。

2、基本任务:准确地回答“系统必须做什么?”这个问题。

3、用于需求分析的结构化分析方法必须遵守下述准则:

(1)、必须理解并描述问题的信息域,根据这条准则应该应该建立数据模型。E-R图

(2)、必须定义软件应完成的功能,这条准则要求建立功能模型。数据流图(3)、必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。状态图

(4)、必须对描述信息、功能和行为的模型进行分解,用层次的方式展开细节。

3.1需求分析的任务

4、对软件系统的综合要求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求。

5、需求分析的任务:确定对系统的综合要求

分析系统的数据要求

导出系统的逻辑模型

修正系统开发计划

3.2与用户沟通获取需求的方法

1、访谈、面向数据流自顶向下求精、简易地应用规格说明技术,快速建立软件原型。

2、结构化分析方法就是面向数据流自顶向下求精进行需求分析的方法。

3、快速建立软件原型是最准确、最有效、最强大的需求分析技术。

3.3分析建模与规格说明

1、需求分析过程应建立3种模型:数据模型、功能模型、行为模型。

2、数据流图是建立功能模型的基础。

3、状态转换图是行为建模的基础。

3.4实体-联系图(E-R)

E-R图中包含着实体(即数据对象)、关系和属性3种基本成分。

第5章总体设计

5.1设计过程

总体设计过程通常有两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件的结构。

典型的总体设计过程包括下述9个步骤:

1)、设想选择的方案

需求分析阶段得出的数据流程图是总体设计的极好的出发点。

2)、选择合理的方案

对每个合理的方案,分析员都应准备下列四份材料:

A.系统流程图

B.组成系统的物理元素清单

C.成本/效益分析

D.实现各个系统的进度计划

3)、推荐最佳方案

4)、功能分解

5)、设计软件结构

软件结构可以用层次图或结构图来描绘。

6)、设计数据库

7)、制定测试计划

8)、书写文档

这个阶段完成的文档有:系统说明、用户手册、测试计划、详细的实现计划、数据库设计结果。

9)、审查和复查

5.2设计原理

1.模块化、抽象、逐步求精、信息隐藏和局部化、模块独立

2.模块是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代

表它。

3.模块是构成程序的基本构件。

4.模块化就是把程序分成独立命名且可独立访问的模块,每个模块完成一个

子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

5.抽象:把相似的方面集中和概括起来,暂时忽略它们之间的差异,或者

说,抽出事物的本质特性而暂时不考虑它们之间的细节。

6.逐步求精是人类解决复杂问题时采用的基本方法,也是许多软件工程技术

的基础。定义:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。

7.信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信

息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。

8.局部化:把一些关系密切的软件元素物理地放得彼此靠近。

9.模块独立的概念是模块化,抽象,信息隐藏和局部化概念的直接结果。

10.模块独立化重要性的原因:

第一,有效地模块化的软件比较容易开发出来;

第二,独立的模块化比较容易测试和维护。

11.模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦

合。

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

13.耦合的强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以

及通过接口的数据。

14.如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那

么这种耦合称为数据耦合。

15.如果传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出

现),则这种耦合称为控制耦合。

16.数据耦合是低耦合。

17.最高程度的耦合式内容耦合。

18.内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局

部化概念的自然扩展。

19.偶然内聚、逻辑内聚、时间内聚

5.3启发规则

1.软件结构提高模块独立性

2.模块规模应该适中

3.深度、宽度、扇出和扇入都应适当

4.模块的应用域应该在控制域之内

5.力争降低模块接口的复杂程度

6.设计单入口单出口的模块

7.模块功能应该可以预测

5.4描绘软件结构的图形工具

1、层次图和HIPO图

2、结构图

5.5面向数据流的设计方法

1.面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映

射的方法。

2.信息流分成两种类型:变化流、事物流(概念)

3.变换分析是一系列设计步骤的总称,经过这些步骤吧具有变换流特点的数

据流图按预先确定的模式映射成软件结构。

4.变换分析的设计步骤。

第6章详细设计

目标:1.确定应该怎样具体的实现所要求的系统

2.设计出程序的“蓝图”

3.详细设计的结果基本决定了最终的程序代码的质量

6.1 结构程序设计

1.概念:结果程序设计是一种设计程序的技术,它采用自顶向下逐步求精的的设计方法和单入口但出口的控制结构。

2.三种基本控制结构:

1)顺序结构:相当于“A、B”

2)选择结构:相当于“If exp then A else B endif;”

3) 循环结构:相当于“While exp do A”

3.扩充的两种控制结构:

1)多分支结构:相当于“Case I of I=1:C1;……I=n:Cn;”

2)UNTIL循环结构:相当于“Repeat A until exp;”

6.3 过程设计的工具

6.3.1 程序流程图

程序流程图:是一种描述程序的控制结构流程和指令执行情况的有向图。

程序流程图的主要缺点:

1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序

的控制流程,而不去考虑程序的全局结构。

2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不

顾结构程序设计的精神,随意转移控制。

3)程序流程图不易表示数据结构。

6.3.2 盒图

盒图特点:

1)功能域明确,可以从盒图上一眼就看出来。

2)不可能任意转移控制。

3)很容易确定局部和全程数据的作用域。

4)很容易表现嵌套关系,也可以表示模块的层次结构。

PAD图是一种问题分析图。PAD图优点:

1)使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序

2)PAD图所描绘的程序结构十分清晰。图中最左面的竖线是程序的主线,即第

一层结构。随着德程序层次的增加,PAD图逐渐向右延伸,每次增加一个层次,图形向右扩展竖线。PAD图中竖线的总条数就是程序的层次数。

3)用PAD图表现程序逻辑,易懂、易读、易记。PAD图是二维树形结构的图

形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。

4)容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,

从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。

5)即可用于表示程序逻辑,也可用于描绘数据结构。

6)PAD图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义

一个抽象的程序,随着设计工作的深入而使用def符号逐步增加细节,直至完成详细设计。

判定表

判定表由四部分组成:左上部列出所有条件;左下部是所有可能做的动作;右上部是表示各种条件组合的一个矩阵;右下部是和每种条件组合相对应的动作

6.3.5 判定树

判定树是判定表的变种。

过程设计语言

过程设计语言(PDL)也称为伪码。

PDL的优点:

1)可以作为注释的直接插在源程序中间

2)可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDl的书写和

编辑工作

3)已经有自动处理PDL的程序存在,而且可以自动由PDL生成程序代码。PDL缺点:不如图形工具形象直观。

第7章测试

概念:编码和测试统称为实现。

编码:把软件设计结果翻译成程序。

测试:检测程序并改正错误的过程。

7.2软件测试基础

1.有关测试的一些规则:

1)测试是为了发现程序中的错误而执行程序的过程

2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试

3)成功的测试是发现了至今为止尚未发现的错误的测试

2.测试方法

1)黑盒测试

2)白盒测试

3. 测试步骤

单元测试、集成测试、确认测试、系统测试

4、单元测试重点:

模块接口、局部数据结构、重要的执行通路、出错处理通路、边界条件

5、集成测试

自顶向下集成

自顶向下集成是一种递增的装配软件结构的方法,这种应用方法非常广泛。它需要存根程序,不需要驱动程序。

自底向上集成

自底向上集成是从软件结构最底层模块开始进行组装和测试,它与自顶向下结合方法相反,需要驱动程序,但是不需要存根程序。

6、确认测试

确认测试的两种可能的结果:

功能和性能与用户要求一致,软件是可以接受的

功能和性能与用户要求有差距

7、Alpha和Beta测试

Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。

Beta测试由软件的最终用户在一个或多个客户场所进行

8、白盒测试

逻辑覆盖、语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖

点覆盖、边覆盖、路径覆盖

9、黑盒测试技术

等价划分、边界值分析、错误推断

10、调试

调试过程

调试途径:

蛮干法、回溯法、原因排除法

第8章维护

8.1软件维护定义

1.软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而

修改软件的过程。

2.维护的种类:

改正性维护、适应性维护、完善性维护、预防性维护

8.2软件的可维护性

决定软件可维护性的因素

可理解性、可测试性、可修改性、可移植性、可重用性

文档是影响软件可维护性的决定因素。

包括:1)用户文档

2)系统文档

第9章面向对象方法学引论

9.1面向对象方法学概述

9.1.1 面向对象方法学的要点

1.认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以

有比较简单的对象以某种方式组合而成

2.把所有对象都划分成各种对象类,每个类定义了一组数据和一组方法

3.按照子类与父类的关系,把若干个对象类组成一个层次结构的系统。

4.对象彼此之间仅能通过传递消息互相联系。

5.面向对象方法学的优点

与人类习惯的思维方法一致、稳定性好、可重用性好、

轻易开发大型软件产品

可维护性好

9.2面向对象的概念

1.对象是封装了数据结构及可以施加在这些数据上的操作的封装体,这个封装

体有可以唯一的表示它的名字,而且向外界提供一组服务。

2.类:是具有相同属性和行为的一个或多个对象的描述

3.封装

4.继承

9.4 对象模型

9.4.1 类图的基本符号

1.定义类

2.定义属性

3.定义服务

9.4.2 表示关系的符号

1.关联

普通关联、关联角色、限定关联、关联类

2.聚集

1)共享聚集2)组合聚集

3.泛化

1)普通泛化2)受限泛化

4.依赖和细化

依赖关系、细化关系

9.5动态模型

表示瞬时的、行为化的系统的“控制”性质,它规定了对象型中的对象的合法变化序列。

9.6功能模型

表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。

用例图

1.系统

2.用例

特征:1)用例代表某些用户可见的功能,实现一个具体的用户目标2)用例总是被行为者启动,并向行为者提供可识别的值

3)用例必须是完整的

3.行为者

4.用例之间的关系

用例建模

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件设计实习报告

软件设计实习报告 实习之后我们需要写相关的实习报告,大家一起看看下面的软件设计实习报告,欢迎各位阅读哦! 一、实习目的: 检验与巩固理论知识,提高实际操作能力与社会实践能力。 二、实习时间: 20xx-07-27至20xx-10-23 三、实习地点: 广东广州 四、实习单位与部门: 广州**网络科技有限公司·软件开发部 五、实习内容: 应学校要求,本人于七月二十七号来到广州**网络科技有限公司实习。初到该公司,听公司负责人讲解了公司状况以及工作要求,就马上开始我的工作。从该负责人得知,公司的软件开发业务并没有多长时间,所以公司的很多工作流程还不太规范。在3个月的实习时间里,我参与了一个类似于erp的项目。项目的大致内容是:为一家中型制造业企业量身订做一套综合管理系统,包括了仓库管理,销售管理,采购管理,生产管理,财务管理以及人事管理,共六个子系统,且这六个子系统是有机的组合,以方便该企业的管理生产资源,人力资源以及财务。在整个参与过程中,在不同时间里担任的工作任务也不同。

1、八月份 据了解,该项目早在3月份就开始了,而且该项目一直是处于不受控状态,控制不了的原因有诸多,例如客户的需求发生了巨大变动,该项目进行期间有很多其他的项目插入到开发过程中等等。于是,我参与了测试程序的工作,以熟悉整个项目的具体内容,功能实现,设计方法等。在做测试工作的过程中,发现实习单位目前对测试不太重视,在以前的项目中也很少有全面的软件测试阶段。主要表现在:一方面,在我实习期间,就陆续有以前做的系统拿回来,重新做测试工作并修改。据了解,目前国内的绝大多数软件企业也是重编码轻测试,导致软件的强壮性低下,而在售后的维护阶段中经常性需要大幅度修改。这样一来,经常有不同的新老系统并行,给新系统的项目进度带来了外部干扰;另方面,公司要求的测试方法也较为简单,且测试文档的书写格式极其简单,这种书写格式在一些功能上的错误和明显的数据错误上有很好的表意效果,但是在表达程序的逻辑错误和内部数据错误时有很大的欠缺。在整个测试工作中也大概了解了该系统的各方面特性。该系统采用b/s结构开发,随着inter的高速发展、电信部门对网络线路的投入、带宽的增加等各个对b/s结构有利的条件下,采用b/s结构可以节省很多的成本。在以前采用c/s结构开发的系统中,需要为系统开发客户端,而且在维护过程中,除了对服务器端的维护,还要对各个客户端进行维护,而目前盛行的b/s结构,则只需要开发和维护服务器端,相比之下,开发和维护的成本也就大大降低。另外,b/s结构在inter里的应用性比较高。但是,b/s结

化工分离工程知识点培训资料

1.什么叫相平衡?相平衡常数的定义是什么? 由混合物或溶液形成若干相,这些相保持物理平衡而共存状态。热力学上看物系的自由焓最小;动力学上看相间表观传递速率为零。Ki=yi/xi 2.简述分离过程的特征?什么是分离因子,叙述分离因子的特征和用途。 答:分离过程的特征:分离某种混合物成为不同产品的过程,是个熵减小的过程,不能自发进行,因此需要外界对系统作功(或输入能量)方能进行。 分离因子表示任一分离过程所达到的分离程度。定义式:i j ij i j y y x x α= 3.请推导活度系数法计算汽液相平衡常数的关系式。 汽液相平衡关系:L i V i f f ??= 汽相:P y f i V i V i φ??= 液相:OL i i i L i f x f γ=? 相平衡常数:P f x y K V i OL i i i i i φγ?== 4.请写出活度系数法计算汽液相平衡常数的关系式,并指出关系式中各个物理量的含义 5.什么是设计变量,如何通过各单元设计变量确定装置的设计变量。 在设计时所需要指定的独立变量的数目,即设计变量。 )2(+-+∑-∑=∴C n N N N N r e c e v u i ① 在装置中某一单元以串联的形式被重复使用,则用r N 以区别于一个这种单元于其他种单元的联结情况,每一个重复单元增加一个变量。 ② 各个单元是依靠单元之间的物流而联结成一个装置,因此必须从总变量中减去那些多余的相互关联的物流变量数,或者是每一单元间物流附加(C+2)个等式。 6. 什么叫清晰分割法,什么叫非清晰分割法?什么是分配组分与非分配组分?非关键组分是否就一定是非分配组分? 答:清晰分割法指的是多组分精馏中馏出液中除了重关键组分(HK)之外,没有其它重组分;釜液中除了轻关键组分(LK)之外,没有其它轻组分。非清晰分割表明各组分在顶釜均可能存在。 在顶釜同时出现的组分为分配组分;只在顶或釜出现的组分为非分配组分。

工程制图复习知识要点

工程制图复习知识要点 工程制图复习知识要点 第一章(投影和视图) 1.积聚性 2.真实性 3.类似性 4.平行性 单面投影:点不定位,体不定形。 第二章(视图间的投影规律) 主、俯视图长对正 主、左视图高平齐 俯、左视图宽相等 第三章(线面关系) 一、直线与平面平行 几何条件: 1.若直线平行于平面上任意直线,则线、面平行。 2.若线、面平行,则过平面内任一点必能在平面内作一直线平行于已知直线。 二、两平面互相平行 几何条件:两平面内各有一对相交直线分别对应平行。 三、直线与平面相交 交点的性质: 1.是直线与平面的公有点;

2.是可见与不可见的分界点。 从几何元素有积聚性的投影入手,先利用公有性得到交点的一个投影,再根据从属关系求出交点的另一个投影。 当直线垂直于特殊位置平面时,平面的积聚性投影垂直于直线的同面投影。 四、平面与平面相交 1.交线是两平面的公有线。(凡两平面的公有点都在交线上) 2.交线的投影是直线,可由其上两个(公有)点的投影确定。 3.求一平面内的一直线与另一平面的交点来确定公有点(转化为线、面交点问题)。 实际交线应在两平面投影的公共范围之内。 两特殊位置平面互相垂直时,它们具有积聚性的同面投影互相垂直。 当两特殊位置平面相互平行时,它们具有积聚性的同面投影互相平行。 第四章(换面法) 一、新投影面的选择原则 1.新投影面必须对空间物体处于最有利的解题位置。(平行于新的投影面、垂直于新的投影面) 2.新投影面必须垂直于某一保留的原投影面,以构成一个相互垂直的两投影面的新体系。 二、新旧投影之间的关系一般规律: 1)点的新投影和保留旧投影的连线垂直于新轴。 2)点的新投影到新轴的距离等于点的旧投影到旧轴的距离。 三、作图规律:

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、四个方面:技术、经济、操作可行性、法律 3、数据流图四种成分:1、源点/终点2、处理3、数据存储 4、数据流 三、需求分析: 1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。 2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N) 四、总体设计: 1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 2.系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 3.模块独立:内聚和耦合 4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度 6.面向数据流的设计方法:变换流和事务流 五、详细设计: 1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树) 七、测试: 1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2、集成测试: 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3、白盒测试技术(逻辑覆盖、基本路经测试)

(完整word版)最新软件设计师知识点汇总.(良心出品必属精品)

-----------------------计算机系统组成------------------------------------------ 计算机系统组成------------- 运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。CPU的功能:程序控制、操作控制、时间控制、数据处理(最根本的。 相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。 CACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块、全相联映像(主存分块、组相联映像(主存分区,区分块、块成 组,CACHE分块成组。替换算法:随机、先进先出、近期最少用、优化替换算法。性能分析:H为CACHE命中率,t c为Cache存取时间、t m为主存访问时间,Cache等效访问时间t a=H t c+(1-Ht m提高了t m/t a倍。虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成。 RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作。 内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间。优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口。 廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N 倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘。

分离工程考题(选择,填空)

重点:掌握分离过程的特征,分离因子和固有分离因子的区别,平衡分离和速率分离的原理。 难点:用分离因子判断一个分离过程进行的难易程度,分离因子与级效率之间的关系。 ?1、说明分离过程与分离工程的区别 ?2、实际分离因子与固有分离因子的主要不同点是什么 ?3、怎样用分离因子判断分离过程进行的难易程度 ?4、比较使用ESA与MSA分离方法的优缺点。 ?5、按所依据的物理化学原理不同,传质分离过程可分为那两类 ?6、分离过程常借助分离剂将均相混合物变成两相系统,举例说明分离剂的类型. 1、下列哪一个是机械分离过程() (1)蒸馏(2)吸收(3)膜分离(4)离心分离 2、下列哪一个是速率分离过程() (1)蒸馏(2)吸附(3)膜分离(4)沉降 3、下列哪一个是平衡分离过程() (1)蒸馏(2)热扩散(3)膜分离(4)离心分离 1、分离技术的特性表现为其()、()和()。 2、分离过程是(混合过程)的逆过程,因此需加入()来达到分离目的。 3、分离过程分为()和()两大类 4、分离剂可以是()或(),有时也可两种同时应用。 5、若分离过程使组分i及j之间并没有被分离,则()。 6、可利用分离因子与1的偏离程度,确定不同分离过程分离的()。 7、平衡分离的分离基础是利用两相平衡(组成不等)的原理,常采用()作为处理 手段,并把其它影响归纳于()中。 8、传质分离过程分为()和()两类。 9、速率分离的机理是利用溶液中不同组分在某种()作用下经过某种介质时的() 差异而实现分离。 10、分离过程是将一混合物转变为组成()的两种或几种产品的哪些操作。 11、工业上常用()表示特定物系的分离程度,汽液相物系的最大分离程度又称为 ()。 12、速率分离的机理是利用传质速率差异,其传质速率的形式为()、()和()。 13、绿色分离工程是指分离过程()实现。 14、常用于分离过程的开发方法有()、()。 1、分离过程是一个() a.熵减少的过程; b.熵增加的过程; c.熵不变化的过程; d. 自发过程 2、组分i、j之间不能分离的条件是() a.分离因子大于1; b.分离因子小于1; c.分离因子等于1 3、平衡分离的分离基础是利用两相平衡时()实现分离。 a. 组成不等; b. 速率不等; c. 温度不等 4、当分离因子()表示组分i及j之间能实现一定程度的分离。 a. ; b. ; c. 5.下述操作中,不属于平衡传质分离过程的是() a. 结晶; b. 吸收; c. 加热; d. 浸取。 6、下列分离过程中属机械分离过程的是(): a.蒸馏; b. 吸收; c. 膜分离; d.离心分离。 7、当分离过程规模比较大,且可以利用热能时,通常在以下条件选择精馏法():

(完整word版)工程制图笔记

《工程制图》学习方法 --机电工程学院 引言:《工程制图》是我们机械专业学生的必修技术基础课程,是其它后续专业课的基础。所以它对我们的重要性不言而喻。经过了一个多学期的学习,作为学习委员的我有好多经验和心得可以和大家进行交流和体会。 一、基础视图部分 1.对课程的认识 《工程制图》是我们机械专业学生以及其他理工科专业学生的必修技术基础课程,是其它后续专业课的基础。本课程的学习,对正投影的基本理论及其应用,机械图样的绘制和阅读等有一个比较深入的了解。利用基本理论和基本定理,对空间几何问题进行分析和求解作图。利用线面分析法和形体分析法,对组合体、零件、装配体进行分析和作图。并为图解实际的机械问题打下良好的基础。 2.经过课程学习后要具备的能力 我们做为未来的工程技术人员,通过本课程的学习,我感觉自己熟练地掌握这一技术语言,具备绘制和阅读工程图样基本能力。我们在工程制图的学习过程中,渐渐地养成了以下几种能力。 1)绘制和阅读工程图样的基本能力; 2)解决空间几何问题的图解能力,以及将科学技术问题抽象为几何问题的初 步能力; 3)空间构思能力、分析能力和表达能力; 4)计算机绘图的基本技能方法; 5)耐心细致的工作作风和严肃认真的工作态度。

4.学习方法和注意的问题 1)要紧密联系前面所学习过的点、线、面的投影性质,熟记平面立体、曲 面立体的投影特点;进而理解和掌握用平面截切圆柱、圆锥、圆球的 截交线形状;相贯线的弯曲方向及特殊情况下的相贯线; 2)要熟习掌握以下基本作图方法:平面立体、曲面立体表面上取点、取线 的作图方法;截交线的作图方法;相贯线作图中的表面取点法和辅助 平面法。 3)熟习掌握求截交线和相贯线的分析方法,以便在作图前预见到截交线和 相贯线的投影特征,同时,熟练掌握其作图步骤。由于学习中仅要求 掌握某一曲面立体处于特殊位置时的立体相贯,因而,相贯线的投影 必有一个或两个具有积聚性;截平面也限于特殊位置,因而截交线的 投影也有一个或两个具有积聚性。 4)作为基本知识和基本作图方法以后,具体作图时须时常联系已经学习过 的知识,如:三面投影中,X、Y、Z坐标之间的关系、“三面共点的 原理、影响相贯线的三个主要因素——相交物体表面性质、相对位置 和大小,求出截交线和相贯线后,要整理轮廓线,认真检查作图结果。 5)作相贯线的题目比较困难,只要掌握基本作图原理和作图方法,掌握一 般的规律,学会归纳,问题就会变得简单一些。两曲面相贯不外乎有 柱——柱、柱——锥、柱——球、锥——锥、锥——球、球——球等 情况。当选用投影面平行面为辅助平面时截切曲面立体所得的截交线 为最简单。还要熟记一些典型表面相贯线的特点,善于运用对比的方 法和运动的观点分析和想象相贯线形状的变化规律。具体作图时,将 特殊点标明,至少求两个一般点,方能更准确地画出相贯线的弯曲情 况。

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件设计师知识点

·在输入输出控制方法中,采用DMA可以使设备与主存之间的数据块传送无须CPU干预。 ·内存容量为4GB,即内存单元的地址宽度为32位;字长为32位,即要求数据总线的宽度为32位。 ·ARP攻击造成网络无法跨网段通信的原因是:伪造网关ARP报文使得数据包无法发送到网关。 ·软件商标权的权利人是:软件注册商标所有人。 ·利用商业秘密权可以对软件的信息、经营信息提供保护。(管理方法、经营方法、产销策略、客户情报、软件市场的分析、预测报告、和对未来的发展规划、招投标中的标底以及标书内容)。 ·某项目组拟开发了一个大规模系统,且具备了相关领域以及类似规模系统的开发经验,则瀑布模型最适合开发此项目。 ·编译程序分析源程序的阶段依次是:词法分析、语法分析、语义分析。 ·结构冗余:按其方法可以分为静态、动态和混合冗余。 信息冗余:为了检测或纠正信息在运算或传输中的错误另外加的一部分信息。时间冗余:以重复执行指令或程序来消除瞬时错误带来的影响。 冗余附加技术:是指为实现上述冗余技术所需要的资源和技术。 ·软件过程的改进框架:过程改进基础设施、过程改进线路图、软件过程评估方法、软件过程改进计划。每一次改进要经历4个步骤:评估、计划、改进和监控。 ·软件复杂性度量的参数:软件的规模、软件的难度、软件的结构、软件的智能度。 ·软件系统的可维护性评价指标包括可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率,不包括可扩展性。 ·开-闭原则是面向对象的可复用设计的基石。开-闭原则是指一个软件实体应当对扩展开放,对修改关闭;里氏代换原则是指任何基类对象可以出现的地方,子类对象一定可以出现。依赖倒转原则就是要依赖于抽象,而不依赖于实现,或者说要针对接口编程,不要针对实现编程。 ·汇编语言的指令语句必须要有操作码字段,可以没有操作数字段。 ·贪心算法不能保证求得0-1背包问题的最优解。

《生物分离工程》知识点整理(DOC)讲解学习

《生物分离工程》知识点整理(D O C)

生物分离工程 第一章(绪论) 生物分离工程的定义和过程 生物分离工程定义(名词解释): 为提取生物产品时所需的原理、方法、技术及相关硬件设备的总称,指从发酵液、动植物细胞培养液、酶反应液和动植物组织细胞与体液等中提取、分离纯化、富集生物产品的过程。 过程: 目标产物捕获 目标产物初步纯化(萃取、沉淀、吸附等方法) 目标产物高度纯化和精制 细胞分离三种手段:重力沉降离心沉降过滤 第二章 离心分离原理和方法: 原理:离心沉降是在离心力的作用下发生的。 单位质量的物质所受到的离心力: 式中: r为离心半径,即从旋转轴心到沉降颗粒的距离; ω为旋转角速度; N为离心机的转数,s-1

方法:(1)差速离心分级 (2)区带离心(差速区带离心、平衡区带离心) 离心分离设备: 离心力(转速)的大小:低速离心机、高速离心机、超离心机 按用途:分析性、制备性 按工业应用:管式离心机、碟片式离心机 实验室用以离心管式转子离心机,离心操作为间歇式 悬浮液的预处理方法和目的: 方法: 1.加热:最简单和最廉价的处理方法。黏度、促凝聚、固体成分体积、破坏凝胶结构、增加空隙率 调pH值:方法简单有效、成本低廉 2.凝聚:在凝聚剂(如铝盐、铁盐、石灰和NaCl)作用下,细胞蛋白质等胶体去稳定,并聚集成1mm大小的凝聚块的过程。(机理:破坏双电层,水解后胶体吸附,氢键结合等) 3.絮凝:在絮凝剂高分子聚合电解质的作用下,胶体颗粒和聚合电解质交连成网,形成10mm大小的絮凝团过程。(机理:絮凝剂主要起中和电荷、桥架和网络作用)

4.惰性助滤剂:一种颗粒均匀、质地坚硬的粒状物质,用于扩大过滤表面的适应范围,减轻细小颗粒的快速挤压变形和过滤介质的堵塞。(使用方法:预涂层;按一定比率混合。 助滤剂种类:硅藻土、纤维素、未活化的炭、炉渣、重质碳酸钙等。) 目的:提高过滤速度和过滤质量是过滤操作的目标。 各种细胞破碎技术原理和优缺点: 原理:许多生物产物在细胞培养过程中保留在细胞内,需破碎细胞,使目标产物选择性地释放到液相。破碎的细胞或其碎片去除后,上清液用于进一步的分离纯化。 细胞破碎技术分为:机械破碎法、化学法、物理渗透法 机械法和化学法的比较 机械破碎法缺点: A、高能、高温、高噪音、高剪切力,易使产品变性失活; B、非专一性,胞内产物均释放,分离纯化困难; C、细胞碎片大小不一,难分离。 化学破碎法缺点: A、费用高; B、化学或生化试剂的添加引起新的污染; C、破碎速度低,效率差,一般只有有限的破碎,常与机械 法连用。 物理渗透法

机械制图知识点总结

机械识图知识点总结 图之功能各国标准尺度比例线之种类与用途角法与视图 图之功能 1. 信息传递:把设计者之构想绘制成图,传递给加工制作人员、检验人员等。 2. 国际性:图为技术界的国际语言,即须具有国际语言之性格,如图形表法,标注方法或符号定义必须完全统一规格。 3. 泛用性:随着技术的发展,目前在各种产业上的互相关连加深,因此需画出各种行业均能了解之图。 TOP 各国标准 TOP 尺度比例 尺度单位 工至机械制图用基本长度单位,通常采用 mm ,可以不用在图中表示。儒需使用其它单位时,则必须注明单位符号。英制则以 in. 为基本长度单位,而不必标注。

常用比例 机械制图再绘图时,因尽量画出较大之圆形,以便于微缩影储存。通常以 2,5,10 之倍数为常用比例或按实物大小画出。 长用比例如下所列: 实大比例:1:1 缩小比例:1:2,1:2.5,1:4,1:5,1:10,1:20,1:50,1:100,1:200,1:500,1:1000 。 放大比例:2 :1,5:1,10:1,20:1,50:1,100:1。 TOP 线之种类与用途

线之粗细与其使用 通常绘图时,粗实线之线宽须按图之大小与其复杂程度而订定,在同一张图中使用粗线之线宽必须均匀一致,中线与细线亦同理。 虚线之起讫与交会 虚线之起讫,如下图所示,虚线与其它线条交会时,除虚线无实线之延长外,其余应尽量维持相交。 1.实线与虚线相交 2.虚线与虚线相交 TOP

投影与视图 第一角法与第三角正投影法之比较 第一角投影法起于法国,盛行于欧洲大陆、德、法、义、俄等国,其中美、日及荷兰等国原先亦采用第一角投影法,后来改采用第三角法讫今。目前国内使用第一角投影法之机构约 35% ,而采用第三角投影法之机构约 65% 。因此为适应国内使用者之需求,于最新修订之 CNS3 , CNS3-1 , CNS3-2 ,…, CNS3-11 等工程制图国家标准规定“第一角法及第三角法同等适用”。唯于同一张图中,不的同时使用两种投影法,且每张图上均应于明显部位标示“投影法”,以资鉴别。 第一角投影法与第三角投影法之异同如下: (1) 对同一投影方向上而言,两者投影面之位置不同。第一角投影法之投影面在物体之后方,而第三角投影法之投影面则在物体前方。 (2) 两中投影法之各视图彼此完全相同。 (3) 两者之投影相于展开后视图排列,则因投影面之不同而有所分别,以前视图为基准而展开时,除前视图以外,其它各视图之位置相反。 (4) 判断视图为第一角或第三角时,可先假定为其中任一者,以侧视图之轮廓线判断误,表示假定正确,若虚实线相反,表示假定错误。 剖视图 对物体作假想剖切,以了结其内部形状,假想之割切面称为割面,而割面体所见之线,称为割面线,如图 1-1 所示。割面线可以转折,两端及转折处用粗实线画出,中间以细链线连接。转折处之大小如图 1-2 所示。 如有多个割面图时,应以大楷拉丁字母区别之,同一割面之两端以相同字母标示,字母写在箭头外侧,书写方向一律朝上。割面线箭头标示剖视图方向,割面线之两端需伸出视图外约10mm ,其箭头之大小形状如图 1-3 所示。 割面及剖面线 假想剖切所得剖面,须以细实线画出剖面线,剖面线虚为与主轴线或机件外形线成45 °之均匀并行线,(但应避免将剖面线画成垂直或水平)。若剖面线与轮廓线平行或近平行时,必须改变方向如图 1-4 所示。 同一机件被剖切后,其剖面线之方向与间隔必须完全相同。在组合图中,相邻两机件,其剖面线应取不同之方向或不同之间隔,如图 1-5 所示。机件剖面之面积较大时,其中间部分之剖面线可以省略,但画出之剖面线须整齐,如图 1-6 所示机件剖面之面积甚为狭小时,

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

2020年计算机软考软件设计师知识点精选集

2020年计算机软考软件设计师知识点精选集 需求分析:开发人员准确地理解用户的要求,实行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相对应的需求规格说明的过程。 它有以下几难点: ⑴问题的复杂性。由用用户需求涉及的因素繁多引起,如运行环境和系统功能 ⑵交流障碍。需求分析涉及人员较多,这些人具备不同的背景知识,处于不同角度,扮演不同角色,造成相互之间交流困难。 ⑶不完备性和不一致性。用户对问题的陈述往往是不完备的,各方面的需求可能还存有矛盾,需求分析要消除矛盾,形成完备及一致的定义。 ⑷需求易变性。 近几年来已提出多种分析和说明方法,但都必须适用以下原则: ⒈必须能够表达和理解问题的数据域和功能域。数据域包括数据流(数据通过一个系统时的变化方式)数据内容和数据结构,功能域反映上述三方面的控制信息。 ⒉能够把一个复杂问题按功能实行分解并可逐层细化。 ⒊建模。可更好地理解软件系统的信息,功能,行为。也是软件设计的基础。 需求分析的任务: ⒈问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。 ⒉分析与综合,导出软件的逻辑模型

⒊编写文档:包括编写"需求规格说明书""初步用户使用手册""确认测试计划""修改完善软件开发计划" 结构化分析:简称SA,面向数据流实行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 结构化(SA)分析步骤: ⑴了解当前系统的工作流程,获得当前系统的物理模型。 ⑵抽象出当前系统的逻辑模型。 ⑶建立目标系统的逻辑模型。 ⑷作进一步补充和优化。 【篇二】2020年计算机软考软件设计师知识点:数据流图 以图形的方式描述数据在系统中流动和处理的过程。只反映系统必须完成的逻辑功能,是一种功能模型。 画数据流图的步骤: ⑴首先画系统的输入输出,即先画顶层数据流图。顶层图只包含一个加工,用以表示被开发的系统。 ⑵画系统内部,即画下层数据流图。将层号从0号开始编号,采用自顶向下,由外向内的原则。画更下层数据流图时,则分解上层图中的加工,一般沿着输出入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,一直实行到输出数据流。如果加工的内部还有数据流,则继续分解,直到每个加工充足简单,不能再分解为止。不能分解的加工称为基本加工。 ⑶注意事项:

(完整版)分离工程试题总结(最终版)

一、填空题 1、分离作用是由于加入(分离剂)而引起的,因为分离过程是(熵减过程)。 2、分离因子(等于1),则表示组分i 及j 之间不能被分离。 3、分离剂可以是(能量ESA )或(物质MSA ),有时也可两种同时应用。 4、速率分离的机理是利用溶液中不同组分在某种(推动力)作用下经过某种介质时的(传质速率)差异而实现分离。 5、萃取精馏塔在萃取剂加入口以上需设(萃取剂回收段)。 6、多组分精馏根据指定设计变量不同可分为(设计)型计算和(操作)型计算。 7、在塔顶和塔釜同时出现的组分为(分配组分)。 8、流量加合法在求得 ij x 后,由(H )方程求 j V ,由(S )方程求 j T 。 9、对窄沸程的精馏过程,其各板的温度变化由(组成的改变)决定,故可由(相平衡方程)计算各板的温度。 10、三对角矩阵法沿塔流率分布假定为(衡摩尔流)。 11、精馏过程的不可逆性表现在三个方面,即(通过一定压力梯度的动量传递),(通过一定温度梯度的热量传递或不同温度物流的直接混合)和(通过一定浓度梯度的质量传递或者不同化学位物流的直接混合)。 12、对多组分物系的分离,应将(分离要求高)或(最困难)的组分最后分离。 13、热力学效率定义为(系统)消耗的最小功与(过程)所消耗的净功之比。 14、分离最小功是分离过程必须消耗能量的下限它是在分离过程(可逆)时所消耗的功。 15、在相同的组成下,分离成纯组分时所需的功(大于)分离成两个非纯组分时所需的功 16 件即处于两相区,可通过(物料平衡和相平衡)计算求出其平衡汽液相组成。 17、分离过程可分为 机械分离 和传质分离两大类。其中传质分离过程的特点是过程中有 质量传递 现象发生。常见的传质分离过程有 精馏 、 吸收 、 萃取 。 18、在泡点法严格计算过程中,除用修正的M-方程计算 液相组成 外,在内层循环中用S- 方程计算 级温度 ,而在外层循环中用H-方程计算 汽相流率 。 19、影响气液传质设备处理能力的主要因素有 液泛 、 雾沫夹带 、 压力降 和 停留时间 。 20、常见的精馏节能技术有 多效精馏 、 热泵精馏 、 采用中间冷凝器和中间再沸器的精馏 和 SRV 精馏 。 21、常压下 苯-甲苯 物系的相平衡常数更适合于用公式Ki= pis/ P 计算。 22、清晰分割法的基本假定是:馏出液中除了 重关键组分 外没有其他 重组分 ,而釜液中除了 轻关键组分 外没有其他 轻组分 。 23、下列各单元中,混合器 单元的可调设计变量数为0 , 分配器 单元的可调设计变量数为1。 二、简答题 1、怎样判断混合物在T ,P 下的相态,若为两相区其组成怎样计算? 答:对进料作如下检验 = 1 B T T = 进料处于泡点,0=ν i i Z k ∑ > 1 T >B T 可能为汽液两相区,ν>0 < 1 T 1 T D T 进料为过热蒸汽 2、精馏过程的不可逆性表现在哪些方面?节省精馏过程能耗有哪些措施? 3、根据两相状态不同 , 平衡分离过程可分成几类 (1) 假定有一绝热平衡闪蒸过程,所有变量表示在所附简图中。求: 1) 总变更量数Nv; 2) 有关变更量的独立方程数Nc ; 3) 设计变量数Ni;

相关文档
最新文档