当前位置:文档之家› 2013《软件工程》期末复习资料 2

2013《软件工程》期末复习资料 2

2013《软件工程》期末复习资料 2
2013《软件工程》期末复习资料 2

2013《软件工程导论》期末复习资料

第一章软件工程概述

一、重点掌握的内容:

软件和软件工程的基本概念、软件工程的原则

二、一般掌握内容:

软件生存周期及软件开发的各种模型。

三、主要知识点:

软件:软件定义由以下三部分组成:

(1)在运行中能提供所希望的功能和性能的指令集(即程序);

(2)使程序能够正确运行的数据结构;

(3)描述程序研制过程、方法所用的文挡。

软件是一种产品,同时又是开发和运行产品的载体。作为一种产品,它表达了由计算机硬件体现的计算潜能。作为开发运行产品的载体,软件是计算机工作的基础、信息通信的基础,也是创建和控制其他程序的基础。

软件的特点:①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。③在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。④软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。⑤软件的开发至今尚未完全摆脱手工的开发方式。⑥软件的开发费用越来越高,成本相当昂贵。

软件的分类:软件依据不同的标准,可划分为不同的分类。

软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程准则可以概括为六条基本原理:(1)用分阶段的生存周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)应能清楚地审查结果;(6)合理安排软件开发小组的人员。

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

软件工程的基本内容:软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。

软件工程的七条原则:(1)抽象(2)模块化(3)信息隐藏(4)局部化(5)一致性(6)完全性(7)可验证性。

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

·问题定义

·需求分析与可行性研究

·设计

·编码

·测试

·运行与维护

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

软件开发模型:软件开发模型是跨越整个软件生存周期的系统开发、运作、维护所实施的全部工作和任务的结构框架。瀑布模型即生存周期模型,由B.M.Boehm提出,是软件工程的基础模型。其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作。采用结构化的分析与设计方法,将逻辑实现与物理实现分开。此外,还有螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型等软件开发模型。

第二章可行性研究

一、重点掌握的内容:

可行性研究的任务和步骤

二、主要知识点:

可行性研究的任务:是用最小的代价在尽可能短的时间内确定问题是否能够解决。一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面研究可行性。

可行性研究的步骤:可行性研究的步骤分为九个步骤。

第三章需求分析

一、重点掌握的内容:

需求分析的方法和面向数据流的分析方法。

二、一般掌握内容:

需求分析的任务和原则。

三、主要知识点:

需求分析的方法:需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成,它定义了表示系统逻辑视图和物理视图的方式,大多数的需求分析方法是由数据驱动的,也就是说,这些方法提供了一种表示数据域的机制,分析员根据这种表示,确定软件功能及其他特性,最终建立一个待开发软件的抽象模型,即目标系统的逻辑模型。

面向数据流的需求分析方法:结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD 来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。重点掌握结合实例画数据流图和定义数据字典。

需求分析的任务:它的基本任务是准确地回答“系统必须做什么?”这个问题。需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

一般说来,需求分析阶段的任务包括下述几方面:

①确定对系统的综合需求

对系统的综合需求主要有:系统功能需求、系统性能需求、运行需求、将来可能提出的需求。

②分析系统的数据需求

③导出系统的逻辑模型

就是在理解当前系统“怎样做”的基础上,抽取其“做什么”的本质,明确目标系统要“做什么”,可以导出系统的详细的逻辑模型。具体做法是:首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图(一般为数据流图)及对象图进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型。

④修正系统开发计划

在经过需求分析阶段的工作,分析员对目标系统有了更深入更具体的认识,因此可以对系统的成本和进度做出更准确的估计,在此基础上应该对开发计划进行修正。

⑤开发原型系统

使用原型系统的主要目的是,使用户通过实践获得关于未来的系统将怎样为他们工作的更直接更具体的概念,从而可以更准确地提出和确定他们的要求。

需求分析的步骤:1.调查研究;2.分析与综合;3.书写文档;

4.需求分析评审

需求分析的原则:其基本原则可概括为:(1)必须能够表达和理解问题的数据域和功能域;(2)按自顶向下、逐层分解问题;(3)要给出系统的逻辑视图和物理视图。

第四章软件设计

一、重点掌握的内容:

概要设计的过程和方法、结构化设计的启发式设计策略、详细设计的方法

二、一般掌握内容:

概要设计的任务、详细设计的任务

三、主要知识点:

概要设计任务:

①系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供专家审定,审定后进入设计。

②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。

③编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原

则等。

概要设计过程:概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体的实施方案;然后进行结构设计,确定软件结构。软件设计的概念与原则:

①将软件划分成若干独立成分的依据。

②如何表示不同的成分内的功能细节和数据结构。

③如何统一衡量软件设计的技术质量。

其中有几个概念:1.模块化:就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求。2.抽象:就是抽出事物的本质特性而暂时不考虑它们的细节。3.信息隐蔽:模块中所包括的信息不允许其它不需要这些信息的模块调用。4.信息局部化:是指把一些关系密切的软件元素物理地放得彼此靠近。5.模块独立性:是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。6.耦合:是对一个软件结构内各个模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,调用模块的方式,以及通过接口的信息。7.内聚:标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。

概要设计的方法:面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。面向数据流的设计要解决的任务,就是上述需求分析的基础上,将DFD图映射为软件系统的结构。

换句话说,这类设计方法允许把用DFD图表示的系统逻辑模型方便地转换成对于软件结构的初始设计描述。

结构化设计的启发式设计策略:

(1)改造程序结构,减小耦合度,提高内聚度。

(2)改造程序结构,减少高扇出,在增加程序深度的前提下追求高

扇入

(3)改造程序结构,使任一模块的作用域在其控制域之内。

(4)改造程序结构,减少界面的复杂性和冗余程度,提高协调性。

(5)模块功能应该可预言,避免对模块施加过多限制

(6)改造程序结构,追求单入口单出口的模块

(7)根据设计约束和可移植性要对软件打包(Package)

详细设计的任务:详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。主要任务如下:①为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;

②确定每一模块使用的数据结构;③确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。④要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。

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

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

④until型循环;⑤多情况型选择。

N-S图:Nassi和Shneiderman提出了一种符合结构化程序设计原则的图形描述工具,称为盒图,又称为N-S图。在N-S图中,为了表示五种基本控制结构,规定了五种图形构件。①顺序型;②选择型;

③WHILE重复型;④UNTIL重复型;⑤多分支选择型。

PAD图:它是用结构化程序设计思想表现程序逻辑结构的图形工具。PAD也设置了五种基本控制结构的图示,并允许递归使用。

详细设计的原则:原则是过程描述是否易于理解、复审和维护,进而过程描述能够自然地转换成代码,并保证详细设计与代码完全一致。

第五章人机界面设计

一、重点掌握的内容:

人机界面必须考虑的一般问题

二、一般掌握内容:

人机界面的类型、人机界面应具备的特性

三、主要知识点:

人机界面的类型:命令、图形、多媒体集成的用户界面用户界面应具备的特性:(1)可使用性:使用的简单性;用户界面中的术语标准化和一致性;拥有HELP帮助功能;快速的系统响应和低的系统成本;用户界面应具有容错能力。(2)灵活性:算法的可隐可显性;用户可以根据需要制定和修改界面方式;能够按照用户的希望和需要,提供不同详细程度的系统响应信息;与其它软件系统应有的标准相一致。为使用户界面具有一定的灵活性,需要付出代价,而且有可能降低软件系统的运行效率。(3)复杂性和可靠性:用户界面的规模和组织的复杂程度就是界面的复杂性;在完成预定功能的前提下,应当使得用户界面越简单越好,但不是把所有功能和界面安排成线性序列就一定简单;用户界面的可靠性是指无故障使用的间隔时间;用户界面应能保证用户正确、可靠地使用系统,保证有关程序和数据的安全性。

人机界面必须考虑的一般问题:(1)系统响应时间(2)联机帮助(3)错误信息(4)菜单与键盘命令并存。程序编码

一、重点掌握的内容:

程序设计风范及其代表性的语言、编程风格、

二、一般掌握内容:

程序设计语言的特点、程序效率和编程安全

三、主要知识点:

程序设计语言的特点:程序设计语言是人与计算机交流的媒介。软件工程师应该了解程序设计语言各方面的特点,以及这些特点对软件

质量的影响,以便在需要为一个特定的开发项目选择语言时,能作出合理的技术抉择。其特点表现为九个方面:①名字说明;②类型说明;

③初始化;④程序对象的局部性;⑤程序模块;⑥循环控制结构;⑦分支控制结构;⑧异常处理;⑨独立编译。

程序设计语言的四种基本机制(程序设计风范)及其代表性的语言:根据基本机制可将程序设计语言分为过程式程序设计语言(C语言、Pascal)、函数式程序设计语言(LISP、ML)、逻辑程序设计语言(Prolog)和面向对象程序设计语言(C++、Java)四类。

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

源程序文档化:源程序文档化又可从四个方面来阐述,①符号名的命名;②程序的注释;③标准的书写格式;

数据说明:数据说明的次序应当规范化。使数据属性容易查找,也有利于测试,排错和维护。

语句结构:语句构造力求简单、直接,不能为了片面追求效率而使语句复杂化。可从以下几方面注意:1.使用标准的控制结构;2.尽可能使用库函数;3.程序编写首先应当考虑清晰性;4.注意使用GOTO语句;

输入/输出方法:输入/输出的方式和格式应当尽量作到对用户友善(UserFriendly),尽可能方便用户的使用。

程序效率:程序效率是指程序的执行速度及程序占用的存储空间。

影响程序效率的因素是多方面的。

编程安全:提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术;另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术;避开错误技术是进行质量管理,实现产品应有质量所必不可少的技术,也就是软件工程中所讨论的先进的软件分析和开发技术和管理技术。但是,无论使用多么高明的避开错误技术,也无法做到完美无缺和绝无错误,这就需要采用容错技术。实现容错的主要手段是冗余和防错程序设计。

第七章软件测试

一、重点掌握的内容:

测试方法、测试用例设计

二、一般掌握内容:

软件质量的有关概念、结构化的软件测试、测试的步骤

三、主要知识点:

软件质量:软件质量是各种特性的复杂组合。软件质量反映了以下三方面的问题:

(1)软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。

(2)在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。

(3)往往会有一些隐含的需求没有明确地提出来。例如,软件应具备良好的可维护性。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。

软件质量保证策略:为了在软件开发过程中保证软件的质量,主要采取下述措施:

①审查;②复查和管理复审;③测试。

结构化的软件测试:软件测试在程序员对每一个模块的编码之后先做程序测试,再做单元测试,然后再进行集成(综合或组装)测试,系统测试,验收(确认)测试,平行测试,人工测试,其中单元测试的一部分己在编码阶段就开始了。

测试:就是用已知的输入在已知环境中动态地执行系统(或系统的“部件”)。如果测试结果和预期结果不一致,则很可能是发现了系统中的错误。

软件测试:软件测试是对软件计划、软件设计、软件编码进行查错和纠错的活动(包括代码执行活动与人工活动)。

程序测试:是对编码阶段的语法错、语义错、运行错进行查找的代码执行活动。找出编码中错误的代码执行活动称程序测试。纠正编码中的错误的执行活动称程序调试。程序测试的目的是查找编码错与纠正编码错,保证算法的正确实现。

测试的原则:

(1)测试前要认定被测试软件有错,不要认为软件没有错。

(2)要预先确定被测试软件的测试结果。

(3)要尽量避免测试自己编写的程序。

(4)测试要兼顾合理输入与不合理输入数据。

(5)测试要以软件需求规格说明书为标准。

(6)要明确找到的新错与已找到的旧错成正比。

(7)测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,并选择好测试用例与测试方法。

(8)测试用例留作测试报告与以后的反复测试用,重新验证纠错的程序是否有错。

测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。

静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。

动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。这样动态测试的算法可归纳为:

①选取定义域中的有效值,或定义域外无效值。

②对已选取值决定预期的结果。

③用选取值执行程序。

④观察程序行为,记录执行结果。

⑤将④的结果与②的结果相比较,不吻合则程序有错。

动态测试既可以采用白盒法对模块进行逻辑结构的测试,又可以

用黑盒法做功能结枸的测试、接口的测试,都是以执行程序并分析执行结果来查错的。

白盒法:是通过分析程序内部的逻辑与执行路线来设计测试用例,进行测试的方法,白盒法也称逻辑驱动方法。白盒法的具体设计程序测试用例的方法有:语句覆盖、分支(判定)覆盖、条件覆盖、路径覆盖(或条件组合覆盖),主要目的是提高测试的覆盖率。掌握基本路经测试法。

黑盒法:是功能驱动方法,仅根据I/O数据条件来设计测试用例,而不管程序的内部结构与路径如何。黑盒法的具体设计程序测试用例的方法有:等价类划分法,边界值分析法,错误推测法,主要目的是设法以最少测试数据子集来尽可能多的测试软件程序的错误。

设计测试方案:测试方案包括预定要测试的功能,应该输入的测试数据和预期的结果,其中最困难的问题是设计测试用的输入数据(即测试用例)。通常的做法是,用黑盒法设计基本的测试方案,再用白盒法补充一些方案。

软件测试的步骤:

单元测试:单元测试也称模块测试、逻辑测试、结构测试,测试的方法一般采用白盒法,以路径覆盖为最佳测试准则。

集成测试:单元测试之后便进入组装测试。尽管模拟了驱动模块和存根模块进行单元测试,由于测试不能穷尽,单元测试又会引入新错误,单元测试后肯定会有隐藏错误,组装不可能一次成功,必须经测试后才能成功。集成测试分为增式组装测试和非增式组装测试,所

谓非增式组装,按照结构图一次性将各单元模块组装起来。所谓增式组装是指按照结构图自顶向下或自底向上逐渐安装。

确认测试:确认测试也称合格测试或称验收测试。组装后己成为完整的软件包,消除了接口的错误。确认测试主要由使用用户参加测试,检验软件规格说明的技术标准的符合程度,是保证软件质量的最后关键环节。

系统测试:一般的系统除了确认测试外还要做如下几个方面的系统测试

①恢复测试

通过系统的修复能力,检测重新初始化,数据恢复,重新启动,检验点设置机构是否正确,以及人工干预的平均恢复时间是否在允许范围内。

②安全测试

设计测试用例,突破软件安全保护的机构安全保密措施,检验系统是否安全保密的漏洞。

③强度测试

设计测试用例,检验系统的能力最高能达到什么实际的限度,让系统处于资源的异常数量、异常频率、异常批量的条件下运行测试系统的承受能力。一般取比平常限度高5一10倍的限度做测试用例。

④性能测试

设计测试用例测试并记录软件运行性能,与性能要求比较,看是否达到性能要求规格。这项测试常常与强度测试相结合进行。

第八章面向对象的分析和设计方法

一、重点掌握的内容:

面向对象的基本概念、面向对象分析方法、基于UML的需求分析过程

二、一般掌握内容:

面向对象方法的基本特征

三、主要知识点:

面向对象的基本概念:面向对象不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。而面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。面向对象方法的基本思想是,从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。面向对象核心概念:(1)对象(2)类(3)继承(4)聚集(5)消息。

面向对象=对象+类+继承+聚集+消息

面向对象方法的基本特征:

①从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。

②事物的静态特征(即可以用一些数据来表达的特征)用对象的属性表示,事物的动态特征(即事物的行为)用对象的服务(或操作)表示。

③对象的属性与服务结合为一体,成为一个独立的实体,对外屏蔽其内部细节(称作封装)。

④对事物进行分类。把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。

⑤通过在不同程度上运用抽象的原则(较多或较少地忽略事物之间的差异),可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,面向对象方法支持对这种继承关系的描述与实现,从而简化系统的构造过程及其文档。

⑥复杂的对象可以用简单的对象作为其构成部分,称作聚合。

⑦对象之间通过消息进行通信,以实现对象之间的动态联系。

⑧通过关联表达对象之间的静态关系。

面向对象分析与设计方法:OOA与OOD的职责划分是:OOA针对问题域运用OO方法,建立一个反映问题域的OOA模型,不考虑与系统的具体实现有关的因素(例如采用什么编程语言、图形用户界面、数据库等等),从而使OOA模型独立于具体的实现。OOD则是针对系统的一个具体的实现运用OO方法。其中包括两方面的工作,一是把OOA模型直接搬到OOD(不经过转换,仅作某些必要的修改和调整),作为OOD的一个部分;二是针对具体实现中的人机界面、数据存储、任务管理等因素补充一些与实现有关的部分。这些部分与OOA采用相同的表示法和模型结构。

基于UML的需求分析过程:(1)利用用例及用例图表示需求;(2)利用包图及类图表示目标软件系统的总体框架结构:设计目标

软件系统的顶层架构;形成领域概念模型;从概念模型和用例出发,研究系统中主要的类之间的关系,生成类图。

第九章软件维护

一、重点掌握的内容:

二、一般掌握内容:

软件维护步骤、维护的副作用

三、主要知识点:

软件维护:软件运行/维护阶段对软件产品所进行的修改就是维护。

维护的问题:软件维护存在的绝大多数问题,都是由于软件定义和软件开发的方法有问题。在软件生命周期的头两个时期没有严格而又科学的管理和规划,几乎必然会导致在最后阶段出现问题。

软件维护步骤及组织:为了正确、有效地修改,需要经历以下三个步骤:1.分析和理解程序;2.修改程序;3.重新验证程序;4.维护组织。

软件维护的副作用:代码的副作用、数据的副作用、文档的副作用。

第十章项目管理

一、重点掌握的内容:

二、一般掌握内容:

软件项目特点及软件管理功能、成本估算模型

三、主要知识点:

软件项目特点:软件产品与其他任何产品不同,它是无形的,完全没有物理属性。其特点表现为:①智力密集,可见性差;②单件生产:在特定机型上,利用特定硬件配置,由特定的系统软件或支撑软件的支持,形成了特定的开发环境;③劳动密集,自动化程度低:④使用方法繁琐,维护困难;⑤软件工作渗透了人的因素。

软件管理的功能:软件工程管理是对软件项目的开发管理,是对整个软件生存期的所有活动进行管理。软件管理的主要功能包括:①制定计划:规定待完成的任务、要求、资源、人力和进度等;②建立组织项目:为实施计划,保证任务的完成,需要建立分工明确的责任机构;③配备人员:任用各种层次的技术人员和管理人员;④指导:鼓励和动员软件人员完成所分配的情况。

软件估算模型:软件成本估算模型可分为两大类:理论模型和统计模型,具体如下:模块性成本模型、静态单变量模型(IBM估算模型)、动态多变量模型(Putnam估算模型)、结构性成本模型(COCOMO 模型)

模拟题

一、判断题

分子生物学复习资料绝对重点

分子生物学复习资料 (第一版) 一名词解释 1 Southern blot / Northern blot—DNA斑迹法 / RNA转移吸印技术。是为了检测待检基因或其表达产物的性质和数量(基因拷贝数)常用的核酸分子杂交技术。二者均属于印迹转移杂交术,所不同的是前者用于检测DNA样品;后者用于检测RNA样品。 2 cis-acting element / trans-acting factor—顺式作用元件 / 反式作用因子。均为真核生物基因中的转录调控序列。顺式作用元件是与结构基因表达调控相关、能被基因调控蛋白特异性识别和结合的特定DNA序列,包括启动子和上游启动子元件、增强子、反应元件和poly (A)加尾信号。反式作用因子是能与顺式作用元件特异性结合、对基因表达的转录起始过程有调控作用的蛋白质因子,如RNA聚合酶、转录因子、转录激活因子、抑制因子。 3VNTR / STR—可变数目串联重复序列 / 短串联重复。均为非编码区的串联重复序列。 前者也叫高度可变的小卫星DNA,重复单位约9~24bp,重复次数变化大,变化高度多态性;后者也叫微卫星DNA,重复单位约2~6 bp,重复次数约10~60次,总长度通常小于150bp 。(参考第7题) 4 viral oncogene / cellular oncogene—病毒癌基因 / 细胞癌基因。病毒癌基因指存在于逆转录病毒中、体外能使细胞转化、体内能导致肿瘤发生的基因;细胞癌基因也叫原癌基因,指存在于细胞内,与病毒癌基因同源的基因序列。正常情况下不激活,与细胞增殖相关,是维持机体正常生命活动所必须的,在进化上高等保守。当原癌基因的结构或调控区发生变异,基因产物增多或活性增强时,使细胞过度增殖,从而形成肿瘤。 5 ORF / UTR—开放阅读框 / 非翻译区。均指在mRNA中的核苷酸序列。前者是特定蛋白质多肽链的序列信息,从起始密码子开始到终止密码子结束,决定蛋白质分子的一级功能;后者是位于前者的5'端上游和3'端下游的、没有编码功能的序列,主要参与翻译起始调控,为前者的多肽链序列信息转变为多肽链所必需。 6 enhancer / silencer—增强子 / 沉默子。均为顺式作用元件。前者是一段含多个作用元件的短DNA序列,可特异性与转录因子结合,增强基因的转录活性,可以位于基因任何位置,通常在转录起始点上游-100到-300个碱基对处;后者是前者内含的负调控序列,结合特异蛋白因子时,对基因转录起阻遏作用。 7 micro-satellite / minisatellite—微卫星DNA / 小卫星DNA 。卫星DNA是出现在非编码区的串联重复序列,特点是有固定重复单位且重复单位首尾相连形成重复序列片段,串联重复单位长短不等,重复次数大小不一。微卫星DNA即STR;小卫星DNA分为高度可变的小卫星DNA(即VNTR)和端粒DNA。(参考第3题) 8 SNP / RFLP—单核苷酸多态性 / 限制性片段长度多态性。前者是指在基因组水平上由单个核苷酸的变异所引起的DNA序列多态性,它是人类遗传变异中最常见的一种,占所

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝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)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

筑业工程资料管理系统软件技术要求及功能

筑业工程资料管理系统软件技术要求及功能 一功能以参数如下: 1.自动填表:表格通用信息可实现自动导入。 2.自动计算:对有计算功能表格,填写基础数据,软件可自动计算出结果。 3.自动编号:表格自动编号,也可对模板已编号的表格重新编号。 4.表格排序:表格顺序能实现任意调整。 5.导入、导出:方便的导入、导出到文本文件和Excel文件及PDF文件。 6.智能评定:软件根据国标或企标能自动评定检验批质量验收表格的检测值等级。 7.替换查找:可快速定位查找内容。 8.表格套打:能实现表格模板套打功能。 9.工程表格批量打印:能批量打印整个工程表格。 10.电子组卷及组卷目录打印:能对工程数据进行分类组卷,打印输出组卷目录。 11.图形编辑器功能:实现可视化图形控件画图,能灵活方便的绘制建设行业常用图形,直接嵌入表格,可插入CAD图。 12.数据自动保存:能实现自动保存数据,保证数据安全。 13.查阅法规资料:软件内置的PDF阅读器可以方便查阅相关法律法规规范。

14.附件管理:可以统一管理附件文件。 15.工程文件的合并:能把多个工程文件进行合并整理。 16.软件供应商企业注册资本需不低于500万元。 17.软件供应商企业需经过ISO9001质量管理体系认证。 18.所有提供的软件需有正版软件版本登记证书。 ----------------------------------------------------------------------------- 电力工程造价软件 2012版 发电(建筑、安装)、变电(建筑、安装)、送电线路五合一 一.适用范围 适用于以下新建、扩建工程项目的建筑工程(其中的生活福利工程除外)。——单机容量50MW级~1000MW级机组的火力发电厂工程;——35kV~500kV变电站工程、±500kV以下换流站工程、通信工程。本定额是根据国家和有关主管部门颁发的现行技术规定、规范、施工质量检验及评定标准为依据编制的。2007-03-01实施。 二.使用单位 1.各级电力主管部门; 2.建设单位、设计单位、施工企业; 3.监理企业、招标代理机构和造价咨询等单位。 三、编制依据与定额 1.2006年电力建设工程预算定额(1-6):第一册建筑工程(上、下册),第二册热力设备安装工程,第三册电气设备安装工程,第四册送电线路工程,第五册加工配制品,第六册调试工程(2006年),电力建设工程施工机械台班费用定额(2006年版)。 2.2006年电力建设工程概算定额(1-3):第一册建筑工程,第二册热力设备安装工程,第三册电气设备安装工程。 3.电网工程建设预算编制与计算标准(2006版); 4.大力发电工程建设预算编制与计算标准(2006版); 5.《电力工业基本建设预算管理制度及规定》(2002年); 6.2001年电力建设工程概算定额(1-3册):第一册建筑工程,第二册热力设备安装工程,第三册电气设备安装工程。 7.2001年电力建设工程预算定额(1-6册):第一册建筑工程(上、下册),第二册热力设备安装工程,第三册电气设备安装工程,第四册送电线路工程,第五册加工配制品,第六册调试工程(2001年),电力建设工程施工机械台班费用定额(2001年版)。 8.电力建设工程量清单计价规范火力发电厂工程(DL/T 5369-2007)

山东大学分子生物学相关资料

Section A - Cells and macromolecules 1.The glycosylation of secreted proteins takes place in the . . . A mitochondria. B peroxisomes. C endoplasmic reticulum. D nucleus. 2.Which of the following is an example of a nucleoprotein? A keratin. B chromatin. C histone. D proteoglycan. 3.Which of the following is not a polysaccharide? A chitin. B amylopectin. C glycosaminoglycan. D glycerol. 4. Transmembrane proteins A join two lipid bilayers together. B have intra- and extracellular domains. C are contained completely within the membrane. D are easily removed from the membrane. Section B - Protein structure 1. Which of the following is an imino acid? A proline. B hydroxy lysine. C tryptophan. D histidine. 2.Protein family members in different species that carry out the same biochemical role are described as . . . A paralogs. B structural analogs. C heterologs. D orthologs. 3. Which of the following is not a protein secondary structure? A α-helix. B triple helix. C double helix. D ?-pleated sheet. 4.In isoelectric focusing, proteins are separated . A in a pH gradient. B in a salt gradient. C in a density gradient. D in a temperature gradient. 5.Edman degradation sequences peptides . . .

品茗二代施工资料软件

品茗资料软件详解 施工资料的制作与管理是施工管理工作中的一项重要组成部分。施工资料是工程建设及竣工验收的必备条件,也是对工程进行检查、维护、管理、使用、改建和扩建的原始依据。为此,建设部与各省市建设部门多次强调要搞好技术资料管理工作,明确指出:任何一项工程如果技术资料不符合标准规定,则判定该项工程不合格,对工程质量具有否决权。 针对“施工资料制作与管理”这一相对滞后的环节,杭州品茗科技有限公司以“用最好的软件服务于建筑行业”为己任,组织大量人力物力,历时半年,在相关管理单位领导的直接指导下,汇集多名专家研制开发了这套《品茗二代施工资料管理软件》。该项新技术,彻底改变了过去落后的手工资料填制方式,极大地提高了资料员的工作效率,并且制作的资料样式美观,归档规范。应该说,它的问世给施工资料的制作与管理带来了一场新的技术革命。 “数字化”档案管理是一个初露端倪的趋势。城建档案的数字化,在可以预见的将来必将全面实施。而从目前落后的手工填制的资料到未来的数字化档案,如此巨大的鸿沟,我们建筑行业将如何来填平?《品茗二代施工资料管理软件》将完美地完成这一过渡,使城建档案的无纸化、数字化悄然来到您的身边。 品茗软件,将不断为您提供高品质、人性化的建筑行业软件,并将为建筑行业的信息化贡献出自己的一份力量。 软件快速入门 一、新建工程 步骤一:软件登陆 打开桌面上的快捷方式,启动品茗二代资料,显示软件登陆界面,输入用户名,密码,点击确定;默认用户名:Admin ,密码:admin

步骤二:专业选择 首次打开软件,请选择工程下拉菜单中的新建功能按钮: 在弹出的新建工程向导界面中选择专业及模板名称,右侧显示模板的预览节点。

软件工程复习资料

1、下列哪一模型是软件的基础模型 A.瀑布模型 B.快速原型 C.增量模型 D.螺旋模型 2、划分软件生存周期的阶段时所应遵循的基本原则是 A.各阶段的任务尽可能相对独立 B.各阶段的任务在时间上连续 C.各阶段的任务尽可能相关性 D.各阶段的任务在时间上相对独立 3、下列哪个办法不属于解决软件危机的途径之一 A.采用软件工程的解决途径 B.研制新一代智能计算机 C.采用面向对象的软件设计方法 D.大力扶持软件企业 4、下列哪个不属于软件工程的内涵之一 A.扶持培养软件高手的学院 B.开发既可靠又能有效运行的软件 C.应用完善的科学与工程原理 D.经济地开发软件 5.造成大型软件开发困难的根本原因在于 A.开发人员缺乏足够的开发经验 B.项目开发进度不合理 C.软件系统的复杂性 D.对软件开发的资金投入不足 6.软件会逐渐退化而不会磨损,其原因在于 A.软件备件很难订购 B.不断的变更使组件接口之间引起错误 C.软件错误在经常使用之后会逐渐增加 D.软件通常暴露在恶劣的环境下 7.下面说法正确的是 A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化 B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产 C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功 D.购买大多数计算机系统所需的硬件比软件更昂贵 8.Ariane 5火箭发射失败的事例告诉我们 A.(2)软件后备系统可以通过复制生成 B.(3)软件重用必须重新进行系统论证和系统测试 C. 选项(1)和(3) D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制

9.软件危机的主要原因是 A.软件本身的特点及开发方法。 B.软件工具落后。 C.软件生产能力不足。 D.对软件的认识不够。 10.下面的描述正确的是 A.软件质量是在开发过程中逐渐构建起来的。 B.软件质量是由产品的功能、性能、易用性等外在特性决定的。 C.运行正确的软件就是高质量的软件。 D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。 11、可行性研究主要包括哪几项? A.技术可行性、经济可行性和操作可行性 B.技术可行性、经济可行性和道德可行性 C.技术可行性、法律可行性和操作可行性 D.技术可行性、操作可行性和法律可行性 12、成本/效益分析的目的是帮助()正确地作出是否投资于这项开发工程的决定。 A.系统分析员 B.客户组织的负责人 C.项目经理 D.软件开发人员 13、在进行成本/效益分析的时候,需要考虑() A.开发成本 B.运行费用 C.系统带来的经济效益 D.系统使用寿命 14、数据流图和数据字典共同定义了新系统的逻辑模型。 A.错 B.正确 15、可行性研究可行性研究需要的时间长短和所研究系统的规模关系不大。 A. 正确 B.错误 16、把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。 A.正确 B.错误 17、结构化分析方法遵守的准则之一——定义软件需要完成的功能,需要建立的模型是 A.功能模型 B.数据模型 C.行为模型 D.动态模型 18、下列叙述中,()不属于数据字典的作用。 A.为用户与开发人员之间统一认识 B.为需求分析阶段定义各类条目

分子生物学复习资料(2)

分子生物学复习资料 一、名词解释: 分子生物学:在分子水平上研究生命现象的科学。通过研究生物大分子(核酸、蛋白质)的结构、功能和生物合成等方面来阐明各种生命现象的本质。 RNA组学:对细胞中全部RNA分子的结构与功能进行系统的研究,从整体水平阐明RNA的生物学意义即为RNA组学(RNomics)。 减色效应:变性DNA复性时,紫外吸收减少的现象叫减色效应。 增色效应:DNA变性时紫外吸收增加的现象称增色效应。 Tm:DNA热变性时,其紫外吸收增加值到达总增加值一半时的温度,称为DNA的解链温度。 解链曲线:如果在连续加热DNA的过程中以温度对A260值作图,所得的曲线称为解链曲线。 DNA复性:在适当条件下,变性DNA的两条互补链可恢复天然的双螺旋构象,这一现象称为复性。 核酸分子杂交:在DNA变性后的复性过程中,如果将不同种类的DNA单链分子或RNA分子放在同一溶液中,只要两种单链分子之间存在着一定程度的碱基配对关系,在适宜的条件(温度及离子强度)下,就可以在不同的分子间形成杂化双链。这种杂化双链可以在不同的DNA与DNA之间形成,也可以在DNA和RNA分子间或者RNA与RNA分子间形成。这种现象称为核酸分子杂交。 基因:原核生物、真核生物以及病毒的DNA和RNA分子中具有遗传效应的核苷酸序列,是遗传的基本单位。 断裂基因:不连续的基因称为断裂基因,指基因的编码序列在DNA上不连续排列而被不编码的序列所隔开。 重叠基因:核苷酸序列彼此重叠的2个基因为重叠基因,或称嵌套基因。 致死基因:导致个体或细胞死亡的基因称致死基因。 基因冗余:一条染色体上出现一个基因的很多复本的现象称为基因冗余。 DNA重组:DNA分子内或分子间发生遗传信息的重新组合,又称为遗传重组或基因重排。 同源重组:发生在同源序列间的重组称为同源重组,又称基本重组。

软件工程讲义

课程概述 一、软件工程学科介绍 二、学习目标 三、部分参考资料 四、课程特点和学习的注意事项 五、教材简介 六、课程考核方式 一、软件工程学科介绍 软件程学科发展历史 三个阶段:概念提出、学科雏形、学科确立 第一阶段:概念提出 1968 年NATO 会议(北大西洋公约组织的计算机科学家的国际会议)提出“软件工程”概念。 当时对“软件工程”代表性定义:为了经济地获得在真实机器上可靠工作的软件而制定和使用的合理工程原则和方法。 1972 年IEEE 学会的计算机分会IEEE 一CS 第一次出版了“软件工程学报” 第二阶段:学科雏形 上世纪70 年代末,美国将软件工程教程列入研究生教育计划。 1980 年代末和1990 年代初,软件工程教育得到卡内基一梅隆大学软件工程研究所(CMU / SEI )的支持。 1991 年,“软件工程”被ACM (美国计算机协会)和IEEE / CS 列为计算学科的九个知识领域之一。 1993 年,IEEE 一CS 和ACM 为了把软件工程建设成为一个专业,建立了IEEE 一CS / ACM 联合指导委员会。 第三阶段:学科确立 2004 年8 月,IEEE 一CS 和ACM 给出: 软件工程知识体(SWEBOK , Software Engineering Body of Knowledge ) 软件工程教育知识体(SEEK ) 最终版,标志着软件工程学科在世界范围正式确立。 软件工程、计算机科学、计算机工程、信息系统、信息技术并列成为计算学科下的独立学科。 软件工程知识体(SWEBOK ) :全面描述了软件工程实践所需的知识。 SWEBOK (软件工程知识体》10 个领域 ●软件需求 ●软件设计 ●软件构造 ●软件测试 ●软件维护 ●软件配置管理 ●软件工程管理 ●软件工程过程

软件工程复习资料-完整版

一、选择题: 1、用例图中,用来表示用例的符号为(B)。 A B. C. D. 2、协作图中包含的元素包括(A)。 A. 对象 B. 链 C. 激活 D. 消息 3、在类图中,哪种关系表达整体与部分的关系(D)。 A.泛化 B. 实现 C. 依赖 D. 聚合 4、下列各种图形符号中,用来表示组成关系的符号为(B)。 A. B. C. D. 5、(A)工具在软件的详细设计中不能使用。 A.DFD B. N-S图 C. 流程图 D. PDL 6、“软件危机”是指(C)。 A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 7、快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。

A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 8、从严格意义上讲,下列4个选项中属于顺序图的元素是(ABCD)。 A. 对象 B. 参与者 C. 消息 D. 激活 9、下列UML图形中,(ABCD)属于UML的动态视图。 A. 协作图 B. 状态图 C. 活动图 D. 顺序图 10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(D)。 A. 数据库设计 B. 数据通信 C. 数据关系描述 D. 数据定义 11、详细设计与概要设计衔接的图形工具是(D)。 A. DFD图 B. 程序图 C. PAD图 D. SC图 12、UML中,大多数建模者把节点分为(AC) A. 设备 B. 构件 C. 处理器 D. 显示器 13、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。 A.时间图 B. 流程图 C. 活动图 D. 状态图 14、(A)描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。 A. 状态图 B. 序列图 C. 协作图 D. 活动图 15、下列特点属于描述用例的特点的是(D)。 A. 相对独立:不需要与其他用例交互,即功能是完备的

软件工程考研资料

软件工程复习提纲 第一章软件工程基本概念 1、软件危机的概念:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 2、软件危机包含两方面的问题:1)如何开发软件以满足对软件日益增长的需求; 2)如何维护数量不断膨胀的已有软件。 3、软件危机的原因:1)与软件本身的特点有关;2)和软件开发与维护的方法不正确有关。 4、软件危机的消除途径:解决软件危机,既要有技术措施(方法和工具), 又要有必要的组织管理措施。 5、软件工程的概念:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而 建立和使用完善的工程原理。 6、软件工程的基本原理:1)用分阶段的生命周期计划严格管理 2)坚持进行阶段评审 3)实行严格的产品控制 4)采用现代程度设计技术 5)结果应能清楚地审查 6)开发小组的人员应该少而精 7)承认不断改进软件实践的必要性 7、软件工程方法学(3个要素):通常把在软件生命周期全过程中使用的一整套技术方法的集合称为 方法学,也称为范型。三要素:方法、工具和过程。 8、软件生命周期:从软件定义、软件开发和运行维护,直到最终被废弃,要经历一个漫长的时期, 通常把软件经历的这个漫长的时期称为生命周期。 1)软件定义:问题定义、可行性研究和需求分析; 2)软件开发:总体设计、详细设计、编码和单元测试、综合测试; (前两个称系统设计,后两个称系统实现) 3)运行维护:软件维护; 9、软件过程及其特点:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任 务的工作步骤。 1)瀑布模型:a.阶段间具有顺序性和依赖性;①前一阶段的工作完成后,才 能开始后一阶段的工作;②前一阶段的输出文档是后一阶段的 输入文档,前一阶段的输出文档正确,后一阶段的工作才能获 得正确的结果。 b.推迟实现的观点;对于规模较大的软件项目来说,往往编码 开始得越早最终完成开发工作所需要的时间反而越长。 c.质量保证的观点;①每个阶段都必须完成规定的文档。 ②每个阶段结束前都要对所完成的文档进行评审,以便尽早发 现问题,改正错误。 优点:文档驱动。

软件工程实践实验指导书XXXX

《软件工程实践》实验指导书 学院:数学与计算机学院 专业:计算机专业 年级: 指导教师:汪璟玢 系主任(或教研室主任):

本课程实验教学目的和基本要求: 知识方面:通过本课程设计,让学生进一步了解软件项目管理、需求分析、系统设计和软件测试的基本原理和方法,在软件开发的各个阶段熟悉并掌握一种表达工具,实现一个小规模的系统开发。 能力方面:在本课程设计过程中,注重培养学生分析问题和独立解决问题的能力。 素质方面:通过本课程设计,着重培养学生具备以下两方面的良好素质:一是针对实际系统中存在的问题,能够善于运用所学基本理论知识分析问题;二是规范地表达分析和设计方案。 本课程设计要求学生3-6人一组完成一个系统,并按照软件工程的规范形成相关文档资料。 参考资料: 1.《软件工程实践者的研究方法》(第六版)(美)Roger S.Pressman著, 郑人杰马素霞白晓颖译,机械工业出版社 2.《软件工程实践者的研究方法》(第五版)(美)Roger S.Pressman著, 梅宏译,机械工业出版社 3.《软件工程》(第六版)(英)Ian Sommerville著,程一剑陈霞译,机 械工业出版社 4.《软件工程》郑人杰主编, 清华大学出版社 5.《软件工程—理论、方法与实践》孙家广主编,刘强编著,高等教育出版 社

实验一:项目选择与用例图表达 目的:结合具体的项目,要求学生结合用例图和用例文本的方法将系统功 能表达清楚。 内容:项目选择、参与者确定、用例识别、用例间的关系表达,用例文本的表达 要求:能够发现任务与用例的关系、用例间的关系并准确表达、用规范的 用例文本描述用例。 开发环境和工具要求掌握:Windows200 Advanced Server、Rational Rose2003、MS visio2003 实验二:系统需求分析报告—类图 目的:通过本次实验掌握对具体项目进行类的识别和分析,并完成系统类图。 内容:识别类、确定类的属性和操作、分析类间的关系完成类图 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 进行类的分析。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003 实验三:系统需求分析报告—数据流图 目的:结合具体项目,训练学生的抽象分析及分层描述问题的能力,联系 数据和功能,分层次表达系统的功能。 内容:任务分解;识别外部实体、加工、数据存储和数据流;分层次表达的方法。 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 分解进行数据流图的绘制。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003

(完整版)筑业北京市建筑工程资料管理软件

筑业北京市建筑工程资料管理软件2013版 一、软件主要编制依据: 1.北京市《建筑工程资料管理规程 DB11/T695-2009》 2.北京市《建筑工程资料管理规程 DBJ01-51-2003》 3.《建筑工程施工质量验收统一标准 GB50300-2001》 二、适用对象: 北京市建筑、安装、市政等施工企业或监理企业编制内业技术资料。 三、包含内容: 01.北京市《建筑工程资料管理规程 DB11/T695-2009》配套表格 02.北京市《建筑工程资料管理规程 DBJ01-51-2003》配套表格 03.北京市《建设工程监理规程 DBJ01-41-2002》配套表格

04.北京市《居住建筑节能保温工程施工质量验收规程 DBJ01-97-2005》配套表格 05.北京市《建筑结构长城杯工程质量评审标准 DBJ/T01-69-2003》配套表格 06.北京市《建筑长城杯工程质量评审标准 DBJ/T01-70-2003》配套表格 07.《建筑工程施工质量验收规范 GB50300-2001》配套表格 08.《建筑施工安全检查标准 JGJ59-99》配套表格 09.《智能建筑工程质量验收规范 GB50339-2003》配套表格 10.《自动喷水灭火系统施工及验收规范 GB50261-2005》配套表格 11.《人民防空工程质量检验评定标准 RFJ01-2002》配套表格 12.《建筑节能工程施工质量验收规范 GB50411-2007》配套表格 13.《住宅工程质量分户验收管理规定》配套表格 14.提供建筑工程常用技术规范、海量施工图库等(赠送) 15.提供建筑工程技术交底、安全交底资料电子文档(赠送) 16.施工方案132篇(word格式)、应急预案37篇(word格式)、施工工法与施工工艺223篇(word 格式)、市政施工安全技术交底95篇(word格式)、施工技术交底30篇(word格式) 17.施组设计:建筑\安装\市政工程施组设计精选模板50多份(包含住宅\商用\学校建筑工程,市政工程,装饰工程等) 18.《GB50203-2011砌体结构工程施工质量验收规范》19.《GB50208-2011地下防水工程质量验收规范》20.《GB50209-2010建筑地面工程施工质量验收规范》21.《GB50693-2011坡屋面工程技术规范》 22. 建筑物防雷工程施工与质量验收规范(GB50601—2010)配套表格 四、发布单位:北京市建设工程质量监督总站北京市建设监理协会 软件开发单位:北京筑业软件 出版单位:清华同方光盘电子出版社 五、报价:750元 六、产品清单:

软件工程参考资料

第一章、软件工程学概述 软件是程序、数据及相关文档的完整集合。 软件危机是指在就是那几软件的开发和维护过程中所遇到的一系列严重问题。其表现有: 1.对软件开发成本和进度的估计常常很不准确。 2.用户为“已完成的”软件系统不满意的现象经常发生。 3.软件产品质量往往靠不住。 4.软件常常不可维护。 5.软件通常没有适当的文档资料。 6.软件成本在计算机系统总成本总所占的比例逐年上升。 7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正式从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。软件工程的定义:概括地说,软件工程是指计算机软件卡发和维护的一门工程学科。采用工程的概念、原理、技术方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程的7条基本原理及其关系: 1.用分阶段的生命周期计划严格管理。 2.坚持进行阶段评审。 3.实行严格的产品控制。 4采用现代程序设计技术。 5.结果应能清楚地审查。 6.开发小组的人员应该少而精。 7.承认不断改进软件工程实践的重要性。 关系:这7条原理是互相独立的,其中任意6条原理的组合都不能代替另一条原理,因此,它们是缺一不可的最小集合,然而这7条原理又是相当完备的,人们虽然不能用数学方法严格证明它们是一个完备的集合,但是,可以证明在此之前已经提出的100多条软件工程原理都可以由这7条原理的任意组合蕴含或派生。 软件工程包括技术和管理两方面的内容,是技术于管理紧密结合所形成的工程学科。 所谓管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,已达到既定目标的过程。 软件工程方法学包含3个要素:方法、工具和过程。 软件生命周期:概括地说,软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干阶段。 软件定义时期通常进一步划分为:问题定义、可行性研究、需求分析。 开发时期:总体设计、详细设计、编码和单元测试、综合测试。前面两个是系统设计,后面的为系统实现。 瀑布模型特点:1.阶段间具有顺序性和依赖性。2.推迟实现的观点。3.质量保证的观点。 优点:可强迫开发人员采用规范的方法严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的成功在很大程度上市由于它基本上是一种文档驱动的模型。但也是它的一个主要缺点。(客户不懂设计什么样子了)(需求明确的项目) 快速原型模型:快速建立模型给用户看。(需求不明确的项目) 增量模型:使用增量模型开发软件时,把软件产品作为一系列的增量构建来设计、编码、集

医学分子生物学复习总结学习资料.doc

医学分子生物学复习资料

蛋白质、糖蛋白与蛋白聚糖、脂蛋白、细胞信号传导 名词解释: 1、构型:指一个有机分子中各个原子特有的固定的空间排列。这种排列不经过 共价键的断裂和重新形成是不会改变的。不同构型之间相互转化会涉及化学键 的断裂,构型的改变往往使分子的光学活性发生变化。 2、构象:构成分子的原子和基团因为化学键的旋转而形成在三维空间的不同的 排布、走向。不同的构象之间可以相互转化而不涉及化学键的破裂。构象改变 不会改变分子的光学活性。 3、肽平面:肽键具有部分双键性质而不能自由旋转,这样C、N 原子同它们连接的 O、H和两个 Cα共六个原子就被约束在一个刚性平面上,这个平面被称为肽平面。 4、基序或模体:相邻的几个二级结构相互作用形成有规则的组合体称为超二级 结构,是特殊的序列或结构的基本组成单元,又称为基序或模体。 5、结构域:蛋白质的超二级结构进一步组合折叠成半独立紧密的球状结构域。 6、糖蛋白:在分子组成中以蛋白质为主,其一定部位以共价键与若干糖链(约4%)相连所构成的分子。 7、蛋白聚糖:蛋白聚糖是一类由蛋白质和糖胺聚糖通过共价键相连而成的化合物,其分子中的含糖量通常为50%~90%。 8、血脂:血浆所含的脂类统称为血脂,它包括甘油三酯、磷脂、胆固醇及游离 脂酸。 9、血浆脂蛋白:在血浆中血脂与蛋白质结合,形成血浆脂蛋白。 10、载脂蛋白:血浆脂蛋白中蛋白质部分称为载脂蛋白。 11、脂蛋白受体:脂蛋白受体是一类位于细胞膜上的糖蛋白,它们能以高亲和 性的方式与其相应的脂蛋白配体相互作用,介导细胞对脂蛋白的摄取和代谢, 从而进一步调节血浆脂蛋白和血脂的水平。 12、细胞通讯( cell communication):指一个细胞发出的信息通过介质传递 到另一个细胞产生相应反应的过程。

软件工程讲义名词解释

1.软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 2.软件危机的典型表现:1)对软件开发成本和进度的估计常常很不正确; 2)用户对“已完成”的软件系统不满意的现象经常发生; 3)软件产品的质量往往靠不住; 4)软件常常是不可维护的 5)软件通常没有适当的文档资料 6)软件成本在计算机系统总成本中所占的比例逐年上升 7)软件开发生产率提高的速度,跟不上计算机应用的普及深入趋势 3.产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关; 1)是计算机系统中的逻辑部件而不是物理部件 2)显著特点:规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升 4.解决软件危机:既要有技术实施(方法与工具),又要有必要的组织管理措施。 5.软件工程:是指导计算机软件开发和维护的一门工程学科;采用工程的概念、原理技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效的维护它 6.软件工程方法学包含3个要素:方法、工具和过程。 7.传统方法学也称为生命周期方法学式结构化范型 8.软件生命周期:由软件定义、软件开发和运行维护3个时期组成, 1)软件定义时期通常进一步划分为3个阶段:问题定义、可行性研究和需求分析; 2)开发时期由4个阶段组成:总体设计、详细设计、编码和单元测试,综合测试(前两个称为系统设计,后两个阶段称为系统实现); 3)维护时期不用划分时期,花费时间最多。 第2章1、可行性研究的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决 2、可行性研究的任务回答能不能做,可不可以做。【最短时间内找出方法】 3.至少从下述3个方面研究每种解法的可行性: 1)技术可行性:使用现有的技术能实现这个系统吗? 2)经济可行性:这个系统的经济效益能超过它的开发成本吗? 3)操作可行性:系统的操作方式在这个用户组织内行得通吗? 4.数据字典:关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 5.数据流图和数据字典共同构成系统的逻辑模型。 6.数据字典由下列4类元素的定义组成:数据流、数据流分量、数据存储处。 第3章1需求分析基本任务是准确地回答“系统必须做什么?”这个问题(即注明系统功能) 第5章: 1、总体设计(又叫概要设计)由两个主要阶段组成系统设计阶段,确定系统的具体实现方案;结构设 计阶段确定软件结构。 2、模块化:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成 起来构成一个整体,可以完成指定的功能满足用户的需求。 3、局部化:指把一些关系密切的软件元素、物理地放得彼此靠近。 4、模块的独立程度可由两个定性标准度量:内聚(衡量一个模块内各个元素,彼此结合的紧密程度),耦合(衡量不同模块彼此间互相依赖链接的紧密程度) 5、模块包含的语句数不可超过30 6、模块接口复杂是软件发生错误的一个主要原因 7、结构化设计方法(5D方法)是基于数据流的设计方法

相关主题
文本预览
相关文档 最新文档