学习资料网 >地图 >笔记 >

自考软件工程笔记总结

自考软件工程笔记总结

时间:2023-12-22 作者:学习资料网

相关推荐

自考软件工程笔记总结精选5篇。

自考软件工程笔记总结 篇1

一.什么是软件

1.满足功能要求和性能的指令或计算机程序集合;2.处理信息的数据结构;3.描述程序功能以及程序如何操作和使用所要求的文档;

二.软件危机以及产生软件危机的原因

1.软件开发生产率提高的速度,远远跟不上计算机迅速普及的趋势.软件产品“供不应求”.2.软件成本在计算机系统总成本中所占的比例逐年上升.3.软件开发人员和用户之间的信息交流往往很不充分,用户对“已完成的”的软件系统不满足的现象经常发生.4.软件产品的质量不容易保证.5.软件产品常常是不可维护的.6.软件产品的重用性差,同样的软件多次重复开发.7.软件通常没有适当的文档资料.产生软件危机的原因可归结为两个重要的方面: 软件生产本身存在的复杂性;软件开发所使用的方法和技术.三.有哪些软件工程方法学及其要素

1.使用最广泛的软件工程方法学是结构化方法学和面向对象的方法学.2.要素:方法,工具和过程.四.什么是软件生存周期 有哪些活动

4.1软件生存周期

一个软件从提出开发要求开始到软件废弃不用的整个过程.4.2 开发活动

可行性分析和项目开发计划,需求分析和定义,软件设计(先后细分为:概要设计和详细设计),编码,测试和运行维护 4.3 各活动阶段主要文档

4.3.1可行行分析和项目开发计划 可性行研究报告 项目开发计划

4.3.2需求分析中的文档 需求规格说明书 初步用户使用手册 确认测试计划

修改完善的软件开发计划 4.3.3 概要设计阶段文档 概要设计说明书 数据库说明书 用户手册

修订的测试计划(测试的策略,方法,步骤)4.4.4 详细设计阶段 详细设计说明书 4.4.5 系统测试阶段 系统测试计划文档

五.有哪些主要生命周期模型

瀑布模型,原型开发模型(快速原型模型,演化模型,增量模型),螺旋模型,喷泉模型,基于知识的模型和变化模型.5.1 瀑布模型

瀑布模型(传统的软件周期模型)严格遵循软件生命周期各阶段的固定顺序:计划,分析,设计,编程,测试和维护,上一阶段完成后才能进入到下一阶段,整个模型就像一个飞流直下的瀑布 优点:可强迫开发人员采用规范的方法,严格规定了各阶段必须提交的文档;要求每一阶段结束后,都要进行严格的评审.与它最相适应的开发方法是结构化方法.缺点:不适应用户需求的改动.5.2 原型模型

5.2.1 快速原型模型

快速原型的用途是获知用户的真正需求,一旦需求确定了,原型即被抛弃.主要用于需求分析阶段.不追求也不可能要求对需求的严格定义,而是采用了动态定义需求的方法,所以不能定义完善的文档.特征:简化项目管理,尽快建立初步需求,加强用户参与和决策.具有广泛技能水平的原型化人员是原型实施的重要保证.原型化人员应该是具有经验与才干,训练有素的专业人员.衡量原型化人员能力的重要标准是他是否能够从用户的模糊描述中快速获取需求.5.2.2 演化模型

在快速原型模型中,原型的用途是获知用户的真正需求,一旦需求确定了,原型即被抛弃.而演化模型应用于整个软件开发过程,是从初始模型逐步演化为最终软件产品的渐进过程.也就是说,快速原型模型是一种“抛弃式”的原型化方法,而演化模型则是一种“渐进式”的原型化方法.5.2.3增量模型

增量模型主要用于设计阶段,把软件产品划分为一系列的增量构件,分别进行设计,编程,集成和测试.新的增量构件不得破坏已经开发出来的产品 5.2.4 原型模型小结

从下面的有关原型化方法的叙述中,选择出正确的叙述:(1)快速原型方法是一种企图克服传统软件周期模型缺点的开发方法.(2)在用户的数据资源没有得到很好地组织和管理的时候,应该使用原型化方法.(3)在用户没有明确地肯定其需求的时候,应该使用原型化方法.(4)在用户不希望把自己的时间花在软件开发过程中的时候,应该使用原型化方法.(5)使用原型化方法时应该使用第三代编程语言.(6)原型化加强了开发过程中用户的参与和决策.(7)原型化方法大致可分为三类:抛弃式,演化式和递增式.(8)原型化方法大致可分为演化式和递增式.(9)采用原型化方法时,软件的开发成本较高.(10)采用原型化方法时,关键的因素是建立原形的速度,而不是原形运行的效率.5.3 螺旋模型

螺旋模型综合了瀑布模型和原型模型中的演化模型的优点,还增加了风险分析.螺旋线第一圈的开始点可能是一个概念项目.从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直转到软件生命期结束.5.4 喷泉模型

喷泉模型主要用于描述面向对象的开发过程.喷泉一词体现了面向对象开发过程的迭代和无间隙特征.六.软件过程基础知识 6.1 软件过程

软件过程是指人们用于开发和维护软件及相关产品的一系列活动,包括软件工程过程和软件管理过程.6.2 评估工具

软件过程的评估,通常采用软件能力成熟度 模型(Capability Maturity Model,CMM).CMM1.1的5个等级(由低级到高级): 初始级

软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力,管理是反应式(消防式)的.可重复级

建立了基本的项目管理过程来跟踪费用,进度和功能特性.制定了必要的过程纪律,能重复早先类似应用项目取得的成功.已定义级

已将软件管理和工程两方面的过程文档化,标准化,并综合成该组织的标准化软件过程.所有项目均使用经标准,裁减的标准软件过程来开发和维护软件.已管理级

收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解与控制.优化级

加强了定量分析,通过来自过程质量反馈和来自新观念,新技术的反馈使过程能持续不断地改进.七.软件工程项目管理基本知识

软件项目管理开始于任何技术活动之前,并且贯穿于整个的软件生命周期.软件工程项目管理一般分为时间管理,成本管理,人力资源管理,风险管理.7.1时间管理 7.1.1 Gantt图

是一种简单的水平条形图,它以水平线段表示子任务的工作阶段,线段的起点和终点分别对应着子任务的起始时间,线段长度指示完成该任务所需要的时间.甘特图的优点:直观简明,易学易绘,可从图上清楚地标出子任务间的时间对比,但它也有 缺点:

(a)不能显示地描绘各项彼此间的依赖关系;(b)进度计划的关键部分不明显,难以判断哪些部分应当是主攻和主控的对象;(c)计划中有潜力的部分以及潜力的大小不明确,往往造成潜力的浪费.7.1.2 PERT网图与关键路径

PERT网图是一个由箭头(标识任务)和结点(标识事件)组成的有向图.将网络方法用于工作计划安排的评审和检查.开发模块A,B,C模块的任务网络图 PERT图不仅给出了每个任务的开始时间,结束时间和完成该任务所需的时间,还给出了任务之间的依赖关系,即哪些任务完成后才能开始另一些任务,以及如期完成整个工程的“关键路径”.关键路径(Critical Path)是由一连串的任务所组成的链,距离最大的一条路径.软件项目的管理人员应该密切注视关键任务的进展情况.如果希望缩短工期,只有往关键任务中增加资源才会有效果.7.2成本管理

一种常用的成本估算方法是先估计完成软件项目所需的工作量(人月数),然后根据每个人月的代价(金额)计算机软件的开发费用: 开发费用 = 人月数×每个人月的代价

另一种方法是估计软件的规模(通常指源代码行数),然后根据每行源代码的平均开发费用(包括分析,设计,编码,测试所花的费用),计算机软件的开发费用: 开发费用=源代码行数×每行平均费用

估算源代码行数时,可以请n为有经验的专家,每位专家对软件给出3各估计值: ai---最少源代码行数(该软件可能的最小规模)bi---最大源代码行数(该软件可能的最大规模)mi---最可能的代码行数(该软件最可能的规模)然后计算出每位专家的估算期,n位专家的估算期望值的平均值就是代码行数的估算值.7.3 其他管理 人力资源管理 风险管理

风险管理的主要活动有风险识别,风险估算,风险评价和风险控制.八.模块化基本知识

模块是指执行某一特定任务的数据和可执行语句程序元素的集合,通常是指可通过名字来访问的过程,函数,子程序或宏调用等.模块化就是将一个待开发的软件划分成若干个可完成某一子功能的模块,每个模块可独立地开发,测试,最后组装成完整的程序.8.1模块特性 8.1.1 可分解性

如果一种设计方法提供了将问题分解成子问题的系统化机制,它就能降低整个系统的复杂性,从而实现一种有效的模块化解决方案.8.1.2 可组装性

如果一种设计方法使现存的(可复用的)设计构件能被组装成新系统,它就能提供一种不需要一切从头开始的模块化解决方案.8.1.3 可理解性

如果一个模块可以作为一个独立的单位(不用参考其他模块)被理解,那么它就易于构造和修改.8.1.4 连续性

如果对系统需求的微小修改只导致对单个模块,而不是整个系统的修改,则修改引起副作用就会被最小化.8.1.5 保护性

如果模块内部出现异常情况,并且它的影响限制在模块内部,不会影响其他模块,则错误引起的副作用就会被最小化.8.2 模块与模块的耦合性

耦合是对一个软件结构内不同模块之间互连程序的度量.耦合可以分成下列几种,它们之间的耦合度由高到低排列.8.2.1 内容耦合

直接操作或修改另一模块的数据,或不通过正常入口转入另一个模块.软件设计时应坚决禁止内容耦合,应设计成单入口,单出口的模块,避免病态连接.8.2.2 公共耦合

多个模块引用同一全局数据区.例如,C语言中的external数据类型,磁盘文件等都是全局数据区.8.2.3 外部耦合

模块与软件以外的环境有关联.例如,输入输出把一个模块与特定的设备,格式,通信协议耦合在一起.8.2.4 控制耦合

一模块明显把开关量,名字等信息送入另一模块,控制另一模块的功能.8.2.5 标记耦合

两个模块之间通过传递公共指针或地址相互作用的耦合.8.2.6 数据耦合

模块间通过传递数据交换信息.8.2.7 非直接耦合(无耦合)模块间无任何关系,独立工作

原则上讲,模块化设计总是希望模块之间的耦合表现为非直接耦合方式.在以上耦合中,耦合度从高到低,内容耦合度最高,非直接耦合度最低.8.3 模块的内聚性

内聚是指一个模块内各个元素彼此结合的紧密程序,它是信息隐蔽和局部的概念的自然扩展.设计时应该力求高内聚,理想内聚的模块应当恰好做一件事情.1).偶然内聚:一个模块的各成分之间毫无关系.比如:一组语句在程序的多处出现,为了节省内存空间,这些语句放在一个模块中,该模块的内聚是偶然内聚的.2)逻辑内聚:把几种逻辑上相关的功能组放在同一模块中.3)瞬时内聚(时间内聚):一个模块所包含的任务必须在同一时间间隔内执行,例如初始化模块.4)过程内聚:一个模块的处理元素是相关的,而且必须按特定的次序执行.5)通信内聚:一个模块的所有成分都结合再同一个数据结构上.6)顺序内聚:模块的成分同一个功能密切相关,且输出,作为另外一个成分的输入.7)功能内聚:模块内的所有成分属于一个整体,完成单一的功能.在以上的内聚中,内聚度从低到高,偶然内聚度最低,功能内聚度最高.模块的高内聚,低耦合的原则称为模块独立原则,也称为模块设计的原则.8.4 模块的深度,宽度,扇出与扇入 深度:表示软件结构中控制的层数.宽度是软件结构中同一个层次上的模块总数的最大值 一个模块的扇入是指直接调用该模块的上级模块的个数.一个模块的扇出是指该模块直接调用的下级模块的个数.设计原则:低扇出 高扇入 8.5 模块作用域和控制域

软件设计时,模块的作用域应在控制域之内.8.6 模块化基础知识小结

通过模块的合并和分解,降低模块的耦合度.模块的扇入应尽量大,扇出应尽量小.一个模

块的扇入是指直接调用该模块的上级模块的个数.一个模块的扇出是指该模块直接调用的下级模块的个数.扇入大表示模块的重用性高,利用率高.扇出大表示模块的复杂度高.所以要高扇入低扇出.要将模块的作用范围限制在模块的控制范围之内.降低模块之间的复杂性,避免“病态连接”.九.什么是软件开发方法 有哪些主要方法

软件开发方法:使用已定义好的技术集及符号表示习惯组织软件生产的过程.结构化方法,面向对象方法,JACKSON方法,维也纳开发方法(VDM).9.1 结构化方法学

结构化方法学也称为生命周期方法学(瀑布模型方法),是一种面向数据流的需求分析方法.它的基本思想是自顶向下逐层分解.为了在需求改变时对软件的影响较小,结构化分析时应该使程序结构与问题结构相对应.常用工具: 数据流图(DFD),数据字典(DD),实例—关系图(E—R图)及描述加工处理的结构化语言,判定表,判定树.9.1.1数据流图(DFD图)DFD的基本成分

数据流图主要由4种成分组成

数据流(data flow):由一组固定成分的数据组成,表示数据的流向.它可以从源,文件流向加工,也可以从加工流向文件和宿,还可以从一个加工流向另一个加工.通常每个数据流必须有一个合适的名字,一方面是为了区别,另一方面也给人一个直观的印象,使人容易理解这个数据流的含义.但流向文件或从文件流出的数据流不必命名,因为这种数据流的组成部分就是相应文件的组成部分.加工(process):描述了输入数据流到输出数据流之间的变换,也就是输入数据流做了什么处理后变成了输出数据流.每个加工有一个名字和一个编号.编号反映了该加工位于分层DFD的哪个层次和哪张图中以及它是哪个加工分解出来的子加工.文件(file):可以表示数据文件,也可以表示一个数据记录.流向文件的数据流表示写文件,流出文件的数据流表示读文件,双向箭头表示对文件既读又写.每个文件都有一个文件名.源/宿(source/sink):源是指系统所需数据的发源地,宿(也称数据池)是指系统所产生的数据的归宿地.无论源或宿,均对应于外部实体,在框内应加注实体的名字,在一个软件各级软件系统中,有些源和宿可以是一个外部实体,外部实体是指存在于软件系统之外的人员或组织,它指出系统所需数据的发源地和系统所产生数据的归宿地.分层数据流图

一套分层的的数据流图由顶层,底层,和中间层组成.画分层数据流图基本原则与注意事项 a.自外向内,自顶向下,逐层细化,完善 求精.b.保持父图与子图的平衡.也就是说,父

图中某加工的输入数据流中的数据必须与它的子图的输入数据流在数量和名字上相同.c.保持数据守恒.也就是说,一个加工所 有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据.c.加工细节隐藏.根据抽象原则,在画父

图时,只需画出加工和加工之间的关系,而不必画出各个加工内部的细节.d.简化加工间关系.在数据流图中,加工

间的数据流越少,各加工就越相对独立,所以应尽量减少加工间输入输出数据流的数目.e.均匀分解.应该使一个数据流中的各个 加工分解层次大致相同.f.适当地为数据流,加工,文件,源/宿命

名,名字应反映该成分的实际意义,避免空洞的名字.g.忽略枝节.应集中精力于主要的数据流, 而暂不考虑一些例外情况,出错处理等枝节性问题.h.表现的是数据流而不是控制流.i.每个加工必须既有输入数据流,又有输

出数据流.在整套数据流图中,每个文件必须既有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读没有写或者只有写没有读.小结:一个软件系统,其数据流图往往有多层.如果父图有N个加工(Process),则父图允许有0~N张子图,但是每张子图只能对应一张父图.在一张DFD图中,任意两个加工之间可以有0条或多条名字互不相同的数据流;在画数据流图时,应该注意父图和子图的平衡,即父图中某加工的输入输出数据流必须与其输入输出流在数量和名字上相同.DFD信息流大致可分为两类:交换流和事务流.9.1.2 数据字典

数据字典是关于数据的信息的集合也就是对 数据流图中包含的所有元素的定义的集合.组成部分: a.数据项条目 b.数据流条目 c.文件条目 d.加工条目

加工条目是对数据流图中每一个不能再分 解的基本加工的精确说明.对于加工的描述是数据字典的组成内容之一,常用的加工描述方法有结构化语言,判定树和判定表.9.1.3 结构化语言

结构化语言实际上是一种半形式化语言, 它的结构通常可分为内外两层.外层接近于形式化语言,而内层近似于自然语言的描述.9.1.4 实体——关系图(E—R图)实体——关系图(Entity-Relabionship Diagram),简称E-R图,包含实体,关系和属性等3种基本成分.通常用矩形框代表实体,并用直线把实体(或关系)与其属性连接起来.E-R图通常用于数据库应用系统.9.2 结构化设计

结构化设计通常可分为概要设计和详细设计,但是主要用于概要设计阶段.概要设计的任务是确定软件系统的结构,进行模块划分,确定每个模块的功能,接口以及模块间的调用关系.详细设计的任务是为每个模块设计实现的细节.9.2.1 概要设计

经过需求分析阶段的工作,系统必须“做什么”已经清楚了,概要设计的基本目的就是回答“概括地说,系统应该如实现 ”这个问题.概要设计的重要任务:

将一个复杂的系统按功能化分为模块,确

定每个模块的功能,确定模块之间的调用关系,确定模块之间的接口(模块之间传递的信息),评价模块的结构质量.1.软件结构图形工具

结构化设计方法(SD)方法采用结构图(Structure Chart),层次图和HIPO图描述软件结构.结构图的主要成分有模块,调用和数据,结构图中的模块用矩形表示,在矩形框内可标上模块的名字.模块间如有箭头或直线相连,表明它们之间有调用关系.层次图用来描绘软件的层次结构.层次图中一个矩形框代表一个模块,方框间的连线表示模块间的调用关系.HIPO图实际上就是层次图加输入/处理/输出图.HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”,是在层次图里出了最顶层的方框之外,每个方框都加了编号.编号规则和数据流图的编号规则一样.2.概要设计中的信息流

变换流:信息沿着输入通道进入系统,然后通过变换中心(也称主加工)处理,再沿着输出通道离开系统.具有这一特性的信息流称为变换流.具有变换流型的数据流图可明显地分成输入,变换(主加工),输出三大部分.事务流:信息流沿着输入通道到达一个事务中心,事务中心根据输入信息(即事务)的类型在若干个动作序列(称为活动流)中选择一个来执行,这种信息流称为事务流.事务流有明显的事务中心,各活动以事务中心为起点呈辐射状流出.9.2.2 详细设计

概要设计已经确定了每个模块的功能和接口,详细设计的任务就是为每个模块设计其实现的细节.详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,得出对目标系统的精确描述.1.详细设计阶段的内容

为每个模块进行详细的算法设计.为模块内部的数据结构进行设计.对数据库进行物理设计.其他

详细设计工具主要包括程序流程图(系统流程图),盒图(N-S图),PAD图和伪码(PDL).2.人机界面设计

人机界面的设计质量,直接影响用户对软件产品的评价.界面的美观,灵活和风格都很重要,但人机界面设计中最重要的也是最基本的目标是软件的易操作性.人机界面设计主要包括系统响应时间,用户帮助设计,出错信息处理和命令交互设计等几个方面.9.3 Jackson方法

上面讲的结构化设计方法是面向数据流的,另外还有一种面向数据结构的设计方法, Jackson方法是最著名的面向数据结构的设计方法,而不是面向数据流的设计方法.Jackson方法的基本步骤是:建立系统的数据结构;以数据结构为基础,对应地建立程序结构;列出程序中要用到的各种基本操作,再将这些操作分配到程序结构适当的模块中.9.4 面向对象分析方法(00A)OTM方法的三个模型,分别从三个不同侧面描述了所要开发的系统:功能模型指明了系统应该“做什么”;动态模型明确了什么时候做;对象模型则定义了做事情的实体.对象模型描述了系统中对象的静态结构及对象间的联系,用对象模型图来表示.动态模型描述了与时间和操作次序有关的系统属性.动态模型由多张状态图组成.各个类的状态图通过共享事件组成系统的动态模型.功能模型描述系统内数据值的变化,它由数据流图组成.数据流图说明数据流是如何从外部输入,经过操作和内部存储而得到输出的.十.软件工具

软件工具是指用于辅助软件开发,运行,维护,管理,支持等过程中的活动的软件.通常也称为CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具.按软件过程的活动分为软件开发工具,软件维护工具和软件管理工具等.十一.软件开发环境

集成型开发环境通常可由工具集和环境集成机制两部分组成.这种环境应具有开放性和可裁减性.环境集成机制主要有数据集成机制,控制集成机制和界面集成机制.十二.软件质量管理基础知识 12.1 软件质量

ISO/IEC 9126软件质量模型可从软件功能性,可靠性,可用性,效率,可维护性,可移植性6个方面来衡量.(1).功能性

与功能及其指定的性质的一组软件属性.(2)可靠性

软件在规定的一段时间内和规定的条件下保持其性能水平有关的一组软件属性.也可以称为在规定的条件下和规定的时间间隔内,软件实现其规定功能的概率.(3)可用性

与使用的难易程序及规定或隐含用户对使用 方式所做的评价有关的软件属性.(4)效率

与在规定条件的性能水平与所用资源量之间的关系有关的一组软件属性.(5)可维护性

与软件维护的难易程序有关的一组软件属性.(6)可移植性

软件可从某一环境转移到另一环境的能力有关的一组属性.即软件从一个计算机系统转换到另一个计算机系统运行的难易程度是指软件的可移植性.为了提高可移植性,应注意提高软件的设备独立性.采用表格驱动程序有助于提高设备独立性.为了提高可移植性,还应有完备的文档资料.使用C语言开发的系统软件具有较好的可移植性.12.2 软件质量保证

软件质量保证的主要困难表现在以下几个方面: 1)软件开发的管理人员往往关心项目开发的成本与进度.因为成本和进度是显而易见的,而软件质量则难以度量.如果软件开发的管理人员对交付的软件含有多少隐患并不必负什么责任,他们必定没有太高的热情去控制开发的质量,更不必说保证质量并不容易且代价昂贵.开发人员的习惯一旦形成难以改变,他们的形为也难于控制,而高质量的软件产品,又主要取决于参与开发的人员.复杂的软件项目需要许多技术人员和管理人员参与,对问题的不同认识和误解如不能及时消除必然影响软件质量.软件开发人员的频繁流动,特别是骨干开发人员的流失,也会使软件质量受到一定的影响.软件质量的保证手段: 开发初期制定质量保证计划,并在开发中坚持实行.开发前选定或制定开发标准或开发规范,并遵照实施.从开始就选择分析设计方法和工具,形成高质量的分析模型和设计模型.严格执行阶段评审,以便及时发现问题.各个开发阶段的测试.对软件的每次“变动”都要经过申请,评估,批准,实施等步骤.软件质量特性的度量化.软件生存期的各阶段都要完整的文档.12.3 代码评审技术

常用方法有代码走查和代码审查技术.代码走查

程序员和测试员组成审查小组,通过逻辑运行程序.第一步:小组成员提前阅读设计规格书,程序文本等相关文档;第二步:利用测试用例,使程序逻辑运行,记录程序的踪迹,发现,讨论,解决问题 代码审查

程序员和测试员组成审查小组.第一步:小组成员提前阅读设计规格书,程 序文本等相关文档;第二步:召开程序审查会,开发人员读程序,审查小组讨论,发现,解决问题.两者的区别

代码审查是一种正式的评审活动,而代码走 查的讨论过程是非正式的.十三.成本-效益分析可用哪些指标进行度量

投资回收率:通常把建立系统若干年后所取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率.投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间.纯收入:整个软件生命周期之内的累计经济效益(折成现在值)与投资之差.十四.第四代语言(4GL)的主要特征

友好的用户界面

兼有过程性和非过程性两种特性 高校的程序代码 完备的数据库 应用程序生成器

十五.软件测试

软件测试的费用已经超过软件开发费用的30%左右.“高产”测试是指用少量的测试用例,发现被测试程序尽可能多的错误.15.1 软件测试经过的步骤

单元测试->集成测试->确认测试->系统测试 15.2 测试与软件开发各阶段的关系

单元测试对程序中每一个程序单元进行测试,检查各个模块是否争取实现规定的功能,从而发现模块在编码中或算法中的错误,该阶段涉及编码和详细设计文档.集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效.确认测试主要是检查已实现的软件是否满足需求规格说明书中已确定了的各种需求.系统测试是把已确认的软件与其他系统元素(如硬件,其他支持软件,数据,人工等)结合在一起进行测试,以确定软件是否可以支付使用.15.3 白盒测试

白盒测试又称为结构测试.可以把程序看成装在一个透明盒子里,测试者(一般为编程者)完全知道程序的结构和处理算法.按照程序内部逻辑设计测试用例,检测程序中的主要执行通路是否能按预定要求正常工作.白盒测试多用于单元测试阶段.逻辑覆盖是主要的白盒测试技术.白盒测试时,确定测试数据应根据程序的内部逻辑和指定的覆盖方式.采用一下几种逻辑覆盖标准: 语句覆盖 判定覆盖 条件覆盖

判定/条件覆盖 条件组合覆盖 路径覆盖

满足条件组合覆盖测试用例,也一定满足判定条件覆盖.因此,条件组合覆盖是上述五种覆盖标准中最强的一种.15.4 黑盒测试

黑盒测试,又称为功能测试.把软件看做是一个不透明的黑盒子,完全不考虑(或不了解)软件内部结构和处理算法,它只检测软件功能是否能按照软件需求说明书的要求正常使用,软件是否能适当的接受输入数据并产生正确的输出信息,软件运行过程中能否保持外部信息(例如文件和数据库)的完整性等.常用的黑盒测试技术包括等价类划分,边值分析,错误推测和因果图等.其中等价类划分和边界值分析法方法最常用.如果两者结合使用,更有可能发现软件中的错误.15.4灰盒测试

灰盒测试介于白盒测试和黑盒测试之间,它把软件看做是一个半透明的灰盒子,结合考虑软件的内部结构和外部功能设计测试用例 15.5 回归测试

纠正了程序中的错误之后,选择部分或全部原先已测试过的测试用例,对修改后程序重新测试以验证对软件修改后有没有引出新的错误,称为回归测试.15.6 单元测试

单元测试(Unit testing)也称为模块测试或结构测试,通常可放在编程阶段(实现阶段),主要采用逻辑覆盖技术,由程序员对自己编写的模块自行测试,检查模块是否能实现了详细设计说明书中规定的功能和算法.单元测试主要发现编程和详细设计中产生的错误.测试一个模块时需要为该模块编写一个驱动模块和若干个桩(stub)模块.顶层模块测试时不需要驱动模块,底层模块测试时不需要桩模块.在进行单元测试时,常用的方法是白盒测试(采用逻辑覆盖的测试技术),辅之以黑盒测试.15.7集成测试

集成测试(integration testing)也称为组装测试,在单元测试的基础之上,把所有的模块组装成一个系统进行测试.主要测试设计阶段产生的错误,集成测试计划应该在概要设计阶段制定.非渐增式集成测试

首先将每个模块分别进行单元测试,再把所有的模块组装成一个完整的系统进行测试.目前在进行集成测试时已普遍采用渐增式集成.渐增式集成测试

又可以分为自顶向下集成和自底向上集成.自顶向下集成先测试上层模块,再测试下层模块,由于测试下层模块时上层模块已经测试过,所以不必要另外编写驱动模块.自底向上集成,先测试下层模块,再测试上层模块.顶层模块测试时不需要驱动模块,底层模块测试时不需要桩模块.软件的集成测试最好由不属于该软件开发组的软件设计人员承担,以提高集成测试的效果.三明治测试

从系统的三个角往中间包围测试的方法.15.8 确认测试

在系统验收测试中,验证测试是在模拟的环境中进行强度测试的基础上进行,主要依据软件需求说明书检测软件的功能,性能及其他特征是否与用户的要求一致,而确认测试是在一个实际环境中使用真实数据运行系统.确认测试计划应该在需求分析阶段制定.α测试

由用户在开发者的场所进行,并且在开发者的指导下进行测试.开发者负责纪录发现的错误和使用中遇到的问题,也就是说α测试是在受控的环境中进行的.β测试是在一个或多个用户的现场由该软件的最终用户实施的,开发者通常不在现场,用户负责记录发现的错误和使用中遇到的问题并把这些问题报告给开发者.也就是说,β测试是在受控的环境中进行的.经过确认测试之后的软件通常就可以交付使用了.15.9 系统测试

系统测试是将已经确认的软件,计算机硬件,外设和网络等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方.包括以下的测试: 恢复测试:监测系统的容错能力

安全性测试:监测系统的安全机制,保密措施是否完善等防范能力.强度测试:测试软件的异常情况的处理能力.性能测试:监测系统是否满足系统设计方案说明书对性能的要求.可靠性测试:从平均失效间隔是否超过了规定的时限,因故障而停机的时间在一年中不应超过的时间来进行检测.安装测试:监测软件在安装过程中是否有错误,是否容易操作等.系统测试计划在系统测试阶段初期制定.十六.软件工程标准和软件文档

GB/T8566-2001,GB/T12504-1990,GB/T12505-1990是我国现阶段最重要的三个软件开发规范标准.国家标准局1988年1月批准并发布的《GB/T8567-1988计算机软件产品开发文件编制指南》规定在一项软件开发过程中应该产生14中文件 可行性研究报告 项目开发计划 软件需求说明书 数据要求说明书 概要设计说明书 详细设计说明书 数据库设计说明书 用户手册 操作手册 模块开发卷宗 测试计划 测试分析报告 开发进度月报 项目开发总结报告

软件运行和维护基础知识

管理人员主要使用:项目开发计划,可行性研究报告,模块开发卷宗,开发进度月报,项目开发总结报告.开发人员:项目开发计划,可行性研究报告,软件需求说明书,数据要求说明书,数据库设计说明书,概要设计说明书,详细设计说明书,测试计划,测试分析报告.维护人员:概要设计说明书,详细设计说明书,数据库设计说明书,模块开发卷宗,测试分析报告,维护报告.用户:用户手册,操作手册.十七.软件维护

用于软件维护的花费约为整个软件生命周期花费的75%(或60%~80%之间)而且还在逐年上升.17.1 软件维护类型

根据引起软件维护的原因,软件维护可分为以下四种类型(1)改正性维护

使用过程中发现了隐蔽的错误后,为了诊断和改正这些隐蔽错误而修改软件的活动(2)适应性维护

为了适应环境的变化而修改软件的活动(3)完善性维护

为了扩充或完善原有软件的功能或性能而修改软件的活动.(4)预防性维护

预防性维护是指为了提高软件的可维护性和可靠性,为未来的进一步改进打下基础而修改软件的活动.17.2 软件的可维护性 通常影响软件可维护性的因素有可理解性,可测试性和可修改性.(1)可理解性

可理解性是指维护人员理解软件的结构,接口,功能和内部过程的难易程度.采用良好的编程风格有助于提高软件的易理解性.(2)可测试性

可测试性是指测试和诊断软件错误的难易程度.(3)可修改性

可修改性是指修改软件的难易程度.怎样提高软件的可维护性

在软件生命周期的各个阶段都必须充分考虑维护问题.结构化设计的几条主要原则,如模块化,信息隐藏,高内聚,低耦合等,对于提高软件的可理解性,可测试性和可修改性也都有重要的作用.书写详细正确的文档,书写源文件的内部注解,使用良好的编程语言,具有良好的程序设计风格,也有助于提高软件的可理解性.使用先进的测试工具,保存以前的测试过程和测试用例,则有助于提高软件的可测试性.十八.软件的可靠性

在给定的时间内,在给定的环境条件下系统完成所指定工作的概率.衡量的标准是:平均失效等待时间MTTF 和平均失效间隔时间MTBF.

自考软件工程笔记总结 篇2

法学概论名词解释

一、名词解释:

1.[我国宪法规定的公民的]政治权利和自由 :就是公民管理国家、参加国家政治生活的权利和自由。

2.行政复议:是指公民、法人、或者其他组织认为行政机关的具体行为侵犯其合法权益,按照法定的程序和条件向作出该具体行政行为的上一级行政机关提出申请,由受理申请的行政机关对具体行政行为依法进行审查并作出处理决定的活动。

3、票据法律关系是指票据当事人在票据的签发和流通、转让等过程中,依照有关规定所形成的权利义务关系。4.外交特权与豁免 :依照国际法和国际惯捕或判刑的人,根据有关国家的请求,移交给请求国审判或处罚。

26、国际经济法:是一个新兴的法律部门,它是调整国际关系的法律原则和规范的总称。

27、要约:即是一方向对方提议订约,并提出合同的主要条款,以供对方考虑是否同意签订合同。

28承诺:即对于一方的要约,他方表示同意接受提出的各项条款和成立合同关系。

29、证据:根据刑事诉讼法的规定,凡能证明案件真实情况的一切事实,都是证据。30、冲突规范:又称法律适用规范,或法选择规范,是指明各种涉外民事关系应适用的法律的规范。填空、会经济制度。(√)

3.宣告失踪即引起被宣告人权利能力的消灭。(×)

4.财产所有权是一种绝对权。(√)5.人民法院审理民事案件时,只要当事人拒绝就不能进行公开宣判。(×)1.违反社会主义道德的行为,并非都是违法行为。√2.所有刑事犯罪分子都没有选举权和被选举权,3.男女双方只要进行媚姻登记,领取了结婚证,媚姻关系就正式成立。(√)4.对已经生效的判决和裁定,当享人可以申请再审。√5.国务院是最高国

家权力机关。

6.法定代表人就是法人。例,外交代表机关和外交代表在他国执行职行时,在互惠的前提下,享有驻在国给予的特殊权利和待遇,并免受驻在国的管辖。这些统称为外交特权和豁免权。5.国家的内部构成形式,即国家整体与部分之间、中央与地方之间的相互关系。6.一个人犯了数罪,人民法院对其所犯各罪分别定罪量刑后,依法确定应当执行的刑罚。7.公民或法人为设立、变更、终止民事权利义务关系而实施的合法行为。8.所有人依法对自己的财产享有占有、使用、收益和处分的权利。

9.人民法院为使将来的判决得到执行,对与案件有关的财产所采取的强制性的保全措施。

10.法的体系:即一国现行法规范的内部结构,一国现行的规范总是分成不同部门的一个统一的、有机联系的整体系统。11.无记名投票:就是在选票上不以任何方式标明投票人姓名的一种投票制度。12.民法:民法是调整平等主体之间的财产关系和人身关系的法律规范的总称。13.离婚:离婚是夫妻双方依照法律规定程序解除婚姻关系的行为。

14.经济合同法:是调整法人之间或法人与其他经济实体之间经济合同关系的法律规范的总称。

15.民事管辖:是指人民法院之间受理第一审民事案件的具体分工和职权范围。16.罚金:是人民法院叛处犯罪分子向国家缴纳一定数额金钱的刑罚方法。

17.国家公务员:即国家行政工作人员,是指依照法律规定,通过选任或考核程序担任一定的国家行政职务,行使国家权力、执行国家公务的人员。

18、法的渊源:即法的外部表现形式。

19、人民代表大会制度是以民主集中制为原则,由人民选举代表组成各级人民代表大会,并以人民代表大会为基础,建立全部国家机构,来行使国家权力,实现人民当家作主的制度。

20、法的实现:指法律规范的要求在实际生活中的体现,即法律规范的要求转化成了人们的行为,权利被享受了,义务被履行了,禁令被遵守了。

21、中央军事委员会:是中国共产党和中华人民共和国的最高军事领导机关,领导全国武装力量。由军委主席、副主席、委员若干人组成。每届任期5年。实行中央军委主席工作负责制

22、合同:又叫契约,是当事人之间设立、变更、终止民事关系的协议。

23、遗赠:是指公民以遗嘱形式表示在本人死后,将其财产的一部或全部赠送给国家、集体组织、社会团体或其他人的法律行为。

24、当事人:是指因民事法律关系发生争议,为保护自己的民事权益,而以自己的名义进行诉讼并受人民法院的裁判所拘束的人

25、引渡:是指一目把在其境内而被他国追

1.从逻辑结构上说,任何一个法律规范都由适用条件、行为准则和法律后果这三个部分组成。2.我国社会主义法律关系的客体一般认为包括:物、非物质财富和行为。3.民族平等是我国解决民族问题和处理民族关系的基本原则。4.我国公民的政治权利和自由包括选举权和被选举权,以及言论、出版集会、结社、游行、示威等自由。5.行政制裁措施包括行政处分、行政处罚。6.我国民法通则规定一般诉讼时效时间为二年。7.根据我国民事诉讼法的规定,对妨害民事诉讼的强制措施包括:拘传、训诫、责令退出法庭、罚款、拘留。8.在行政诉讼法中,主要由被告一方负举证责任。1.国家结构形式一般分为_单—制__和_联邦制_两种。2.全国人民代表大会每届任期_五_年,每年举行__一_次会议。3.民事主体制度、所有权制度和合同制度是民法的三大制度。

4.工业产权包括_专利权和商标权5.我国刑罚的主刑种类有拘役、管制、有期徒刑、无期徒刑、死刑。

6.国家领土由领陆、领水、领空、底上 四部分构成。

1.法律规范在逻辑上总是由三个因素构成,即_.假定、处理和制裁。

2.实现社会主义法治的基本要求是:_有法可依、有法必依、执法必严、违法必究__。3.民事主体制度是确认_自然人_和_法人的民事主体地位的制度。

4.女方在_怀孕期间和分娩后 一 年内,男方不得提出离婚。

5.因继承遗产发生的诉讼,由_前户籍所在地 或主要遗产所在地 人民法院管辖。6.教唆犯

7.国家元首_是国家对外关系的最高代表。

二、判断正误

1.的合法行为指法律所不禁止的一切行为。

(√)2.人民行使国家权利的机关是国务院和地方

各级人民政府。(×)

3.显失公平的民事行为是无效的民事行为。

(×)4.基层人民法院管辖除法律规定由中级人民

法院管辖的争议民事案件外的一切。(√)

5.有期徒刑期限为6个月以上20年以下。

(×)

6.我国国籍法规定,一人一籍原则。√)1.划分法律部门的主要根据是法律规范的调整对象。(√)2.决定一个国家性质的首要因素是该国的社

二、单项选择题

1.在法律解释中,属于正式解释的有(C)C行政解释2.近代宪法的发源地是(A)A.英国3.现行宪法规定,我国的基本经济制度是(C)C.公有制为主体、多种所有制经济共同发展

4.我国城市的居民委员会和农村的村民委员会是(D)D.基层群众性自治组织5.依据行政处罚法的规定,可以设定限制人身自由的行政处罚的规范性文件是(A.法律)6.依据我国民法通则的有关规定,民事活动必须遵守法律,法律没有规定的,应当遵守C.国家政策

7.对营利法人,在我国民法通则中,将它们统称为(A)A.企业法人

8.依据民法通则的规定,在下列各项中,属于当然无效民事行为的是(A)A.无民事行为能力人实施的民事行为 9.依据我国民法通则的规定,下落不明的公民的利害关系人得向法院申请宣告其失踪,在一般情况下,其失踪的时间应满B.2年 10.我国反不正当竞争法调整的对象范围是(A)A.同行业的经营者相互之间的竞争关系

11.纳税人采取伪造、变造、隐匿、擅自销毁账簿或记账凭证,在账簿多列支出或者不列、少列收入,或者进行虚假的纳税申报的手段,不缴或少缴应纳税款的行为,属于(A)A.偷税行为

12.依据我国破产法的有关规定,破产财产的分配顺序为(B)B.(1)企业所欠职工工资和劳动保险费用;(2)企业所欠国家税款;(3)破产债权13.依据我国公司法的规定,成立有限责任公司的股东人数(A)A.得少于50人

14.下列各项中,不属于票据法调整的对象是(A)A.股票关系

15.依据我国企业破产法的规定,对破产案件拥有管辖权的人民法院是(C C债务人所在地人民法院16.在法律的溯及力问题上,我国1997年修订的刑法采取的原则是(C)C.从旧兼从轻原则则

17.妇女甲卧病在床。某日深夜乙潜入甲的住室,将甲紧紧抱住,压在床上,企图实施强奸。甲奋力反抗,并大声呼救。住在隔壁的甲母闻声赶来,见状大怒,顺手拿起床前的座椅向乙砸去,恰好击中乙的后脑勺。乙抽搐一阵后死亡。甲母的行为属于(A)A.正当防卫

18.某甲因邻居某乙多次调戏其妻,遂欲行报复,并自制土炸弹一枚,准备伺机投入乙的住室,但因无机可乘而未能实施。某甲的行为属于(B)B.犯罪预备

19.某甲具有刑事责任能力,其行为也已发生严重危害社会的结果,但是某甲在主观上并不具有故意和过失。某甲对其行为(A)A.不负刑事责任

20.下列四种犯罪中,既可以由直接故意构成,也可以由间接故意构成的犯罪是(CC.杀人罪

21.依据我国法律的有关规定,在刑事案件的审判中(D)D.公诉案件不得实行调解,自诉案件可以实行调解

25.依据我国民事诉讼法的有关规定,民事诉讼中的举证责任应由(D)D.权利主张人承担 29.“侵权责任适用侵权行为地法”这一规定属于(B)B.双边冲突规范

30.一方当事人不履行我国涉外仲裁机构的裁决,对方当事人申请强制执行的法院应是(D)

D.被申请人住所地或财产所在地的中级人民法院 l、按照法律的效力范围的不同,可将法律分为(4)④一般法和特别法

2、阐述某项法律规范在一定法律体系中的地位的解释,属于(3)③系统解释

3、根据马克思主义的观点,法律的最本质的属性是(3)③阶级性

4、健全我国社会主义法制的中心环节是(2)②有法必依

5、宪法规定,我国的根本制度是(3)③社会主义制度

6、在我国国家机关中,有权制定行政法规的是(2)②国务院

7、在下列各项中,不属于行政处罚的是(3)③免职

8、行政法与行政法规的关系是 ④行政法规是行政法的渊源之一

9、民事法律行为的最基本构成要素是 ②行为人的意思表示

10、在下列各项中,属于民法而不属于商法的是(4)④物权法

11、所有权人因所有权被侵害而请求保护时,有一种保护方法是必须适用的,那就是(1)①确认所有权、12、依据继承法的规定,下列各项中不属于法定继承第一顺序继承人的是(4)④兄弟姐妹

13、在我国,民事违法行为(1)①不属于民事法律行为,但能够发生民事法律后果

14、在下列各项中,属于犯罪构成的必要条件是 ③犯罪行为

15、我国刑法规定完全负刑事责任的年龄为③巳满18周岁

16、有权适用刑罚的机关是(1)①人民法院

17、依根我国刑法的规定,判处有期徒刑、拘役或管制的数罪并罚,实行①限制加重原则

18、依据我国刑法的规定,对于累犯,(3)③应当从重处罚

19、依据我国。法律的规定,危害国家安全的第一审刑事案件应当由②中级人民法院管辖

20、在下列各项中,只适用于刑事诉讼而不适用于民事诉讼和行政诉讼的原则是(3)③未经人民法院依法判决不得确定有罪

21、在刑事诉讼中,有权发布通辑令的机关是(4)④公安机关

22、在下列各种民事案件中,应当由原告住所地人民法院管辖的是④对被监禁人提起的诉讼

23、甲乙二人因房产纠纷弓!起民事诉讼,在宣判前,原告甲申请撤诉,他的申请(4)④须经人民法院裁定准许后才能发生法律效力

24、下列各项中,只适用于行政诉讼而不适用于刑事诉讼和民事诉讼的原则或制度是②不适用调解

25、在行政诉讼中,对于行政机关显失公正的行政处罚决定,人民法院可以判决①变更原处罚决定

26、行政诉讼中的举证责任主要由(2)②被告方承担

27、在下列各项中,属于联合国下设的主要机构的是③安全理事会

28、在原始国籍取得上,我国1980年国籍法采取 ④双系血统主义与出生地主义相结合的原则

29、依据民法通则的规定,中国公民和外国人结婚,适用(3)③婚姻缔结地法

30、依据民法通则的规定,涉外扶养关系,适用④与被扶养人有最密切联系的国家的法律

三、多项选择1、法律区别于其他社会规范的重要特征有(2)(3)(4)②法律由国家制定或者认可 ③法律对社会具有普遍的约束力。④法律由国家强制力保证其实施

2、我国宪法规定,行使国家立法权的机关是①全国人民代表大会②全国人民代表大会常务委员会

3、依据我国法律的规定,在下列各项中,属于不得违反法律禁止结婚的规定(义称消极条件)的有 ①三代以内的旁系血亲③患有麻疯病③精神失常未经治愈

4、依据我国保险法的规定,设立保险公司应具备的条件有 ①有符合公司法和保险法规定的章程 ②有符合保险法规定的不少于2亿元人民市的注册资本③有具备任职专业知识和业务工作经验的高级管理人员 ④有健全的组织机构和管理制度 ⑤有符合要求的营业场所和与业务有关的其他设施

5、我国九届人大一次会议以来(1998—2000年)全国人民代表大会审议通过的基本法律有

②中华人民共和国合同法 ④中华人民共和国立法法

1.命令性规范包括(BE)

B.义务性规范 E.禁止性规范2.在下列各项中,既是我国公民的基本权利,也是我国公民的基本义务的是 B劳动E.受教育3.依据《行政法规制定程序暂行规定》的规定,行政法规的名称有A.条例 C.规定 D.办法4.在下列各项中,受1999年3月颁布的《中华人民共和国合同法》调整的有A.买卖合同 B.技术合同 C.劳动合同 E.融资租赁合同

5.依据我国行政诉讼法的规定,公民、法人或者其他社会组织拒绝履行人民法院发生效力的判决或裁定的,行政机关可以 A.依法强制执行 C.向第一审人民法院申请强制执行

1、法律意识的内容包括

A、对法律的基本看法B.对行为和发行的评价 序

3、根据我国宪法的规定,决定特赦的权利属于B.全国人民代表大会常务委员会

5、根据《中华人民共和国治安管理处罚条例》的规定,有条例中所列举的违反交通管理行为不够刑事处罚的,可处以 A.15日以下拘留 C.200元以下罚款D.警告

6、就行政法与行政法规的关系而言 C.行政法规是行政法的渊源之一D.行政法与行政法规是效力不同的法律规范

9、外国人在我国领域内犯罪B

B.除了享有外交特权和豁免权的外国人一律适用我国刑法

12、在下列各项中,法律规定必须使用注册商标的商品是D.药品

15、根据我国婚姻法的规定,婚姻登记机关对于离婚申请,必须查明ACD A.双方对于离婚是否确实处于自愿 C.双方对子女问题是否已有适当处理D.双方对财产问题是否已有适当处理

16、人民检察院在审查起诉中,遇到下列那种情况可以做出不起诉决定A犯罪嫌疑人、被告人死亡的 C.罪行轻微,危害不大的1.以下权利中属于政治权利的是。(AD)A.选举权D.言论自由

2.下列行为中属于行政处分的有。(BC)B.责令停产停业C.拘留3.公民满岁,就是具有完全行为能力人。(D)D.18

4.下列人员中属于第一顺序的继承入的有。A.父母B.子女5.下列证据中,属于刑事证据的有。(ABCD)A.书证B.物证C.证人征言D.视听资料 6.下列人员中属于诉讼当事人的是A.原告B.被告简答:

1、接选举的概念及其在我国各级人民代表大会代表选举中的实际运用 答:直接选举就是代表由选民投票直接选出。间接选举就是指代表不是由选民直接投票,而必须由选民选出的代表进行投票选出。我国选举法规定,县、乡两级人民代表大会采用直接选举方式,省和全国两级人民代表大会、自治州、较大的市、设区的市人民代表大会采用间接选举方式。

2.公、检、法三机关在刑事诉讼中的分工负责,互相配合,互相制约的原则。P3363.民事诉讼中的处分原则 答;这一原则是指,民事诉讼当事人有权在法律规定范围内处分自己的民事权利和诉讼权利,当事人的民事权益受到侵犯或发生争议时是否起诉,是否提起上诉一般由当事人自己决定,但是,当事人对自己民事权利和诉讼权利的处分,不得损害国家和社会公共利益,必须限于法律允许的范围之内。

1、人民法院实行公开审判有何意义? 答:把人民法院的审判活动置于人民群众的监督之下,利于提高审判工作的质量,保护当事人的合法权益,对人民进行法制的宣传教育。2.什么是法律部门?我国有那些主要法律部门?

答:法律部门是调整某一社会关系的那些法律规范的总和。

我国主要有:宪法、行政法、刑法、民法、经济法和诉讼法。

1.犯罪未遂具有什么特征?

要点:已经着手实施犯罪,由于犯罪分子意志以外的原因而未得逞的,是犯罪未遂。犯罪未遂具有如下特征:(1)已经着手实施犯罪;(2)犯罪能得逞;(3)犯罪未得逞是由于犯罪分子意志以外的原因。

2.担保有哪几种形式?要点:主要有五种:(1)保证;(2)抵押权;(3)定金;(4)留置权;(5)违约金。

3.现代国际法的基本原则。要点:现代国际法的基本原则主要有:①互相尊重主权及领土完整; ②互不侵犯;③互不干涉内政; ④平等互利;⑤和平共处;⑥民族自决

1、简述代理的概念及其特征。

答:代理是行为人根据法律的直接规定或他人的授权,以他人名义与第三人进行的,后果由该他人承受的民事法律行为。其特征是:(1)代理人以被代理人名义实施法律行为。(2)代理的事务有法律意义。(3)代理人在代理权限内独立进行民事法律行为。

2、试述民事法律行为的要件。1.要点:民事法律行为是指公民或法人为设立、变更、终止民事权利义务关系而实施的合法行为。

民事法律行为的实质要件包括:1.行为人具有相应的民事行为能力;2.意思表示真实;3.不违反法律或社会公共利益。民事法律行(4)产生的后果由被代理人承受。

2、简述行政法的特点。

答:行政法的特点:(1)没有一部系统编纂的法典,由大量单行法规及有关规范构成。(2)其不仅在行政管理方面,而且对审判、检察均有一定效力。(3)它具有直接的、强烈的法律约束力。

1.民事法律关系的特征有哪些?答:1.(1)主体之间法律地位平等。(2)以民事权利义务力内容。(3)当事人权利义务平等一致,相互对应,具有等价性。(4)当事人可以交换权利实现利益。

2.什么是我国婚姻法的基本原则?我国家庭关系包括哪三种? 答:1)婚姻自由:(2)一夫一妻;(3)男女平等;(4)保护妇女、儿童和老人的合法权益;(5)实行计划生育。夫妻关系;父母子女关系;其它家庭成员间的关系。3.什么是犯罪未遂,构成犯罪未遂的条件是什么?

答:是指已经着手实行犯罪。由于犯罪分子意志以外的原因而未得逞。(1)犯罪分子已经着手实行犯罪。(2)没有得逞。(3)犯罪没有得逞,是由于犯罪分子意志以外的原因。

1、“公民在法律面前一律平等”的主要含义。、答:(1)它是社会主义法制的一项基本原则,也是社会主义法律适用必须遵循的原则。(2)它的主要含义: 第一,我国的法律对于全体公民,不分民族、种族、性别、职业、家庭出身、宗教、教育程度和财产状况,都一律适用; 第二,公民平等地享有法律赋予的权利,平等地履行法律规定的义务; 第三,任何公民的违法行为都必须平等地受到追究与制裁。

2、列出我国关于缺陷产品致人人身及财产损害的生产者可以请求免责的条件。

答:(l)末将产品投入流通的(2)产品投人流通时,引起损害的缺陷尚不存在;(3)将产品投人流通时的科学技术尚未达到能发现缺陷的水乎。

3、证据的概念及其特征。、答:(l)证据是指用以证明案件真实情况的一切事实(2)证据具有客观性、相关性、法律性(或法定性)三个特征。第一,证据的客观性是指证据属于客观上确实存在的事实。这是证据最本质的特 第二,证据的相关性是指证据同案件相关并对证明案件真实情况有实际意义的事第三,证据的法律(定)性是指审判人员、检察人员和侦查人员依照法律程序收集并经查证属实的事实。论述:

1、略论依法治国的重要意义。

答1)依法治国,就是广大人民群众在党的领导下,依照宪法和法律规定,通过各种途径和形式管理国家事务,管理经济文化事业,管理社会事务,保证国家各项工作都依法进行,逐步实现社会主义民主的制度化,法律化,使这种制度和法律不因领导人的改变而改变,不因领导人看法和注意力的改变而改变。(2)依法治国的重要意义: 依法治国是我国基本的治国方略。依法治国是建立和完善社会主义市场经济的需要。依法治国是扩大社会主义民主,实现国家政治体制改革的需要。依法治国是建设社会主义精神文明的需要。

为的形式,主要指当事人意思表示的形式,民事法律行为可以采用书面形式、口头形式或者其他形式,但法律规定采用特定形式的,应当依照法律的规定。

3、行政诉讼被告如何确定?

答: ①公民、法人或者其他组织对于行政机关作出的具体行政行为,未经申请行政复议而直接向人民法院提起诉讼的,作出具体行政行为的行政机关是被告。②经过复议的案件,复议机关决定维持原具体行政行为的,作出原具体行政行为的行政机关哇被告;复议机关改变原具体行政行为的,复议机关是被告。③两上以上行政机关作出同一具体行政行为的,共同作出具体行政行为的行政机关是共同被告。④由法律、法规授权的组织所作的具体行政行为,该组织是被告。⑤由行政机关委托的组织所作的具体行政行为,委托的行政机关是被告⑥行政机关被撤销的,继续行使其职权的行政机关是被告。

4、、试述我国选举制度体现了哪些社会主义民主原则。

答:我国选举制度体现了如下的民主原则:(1)选举权的普遍性。(2)选举权的平等性。(3)直接选举和间接选举同时并用(4)无记名投票。5)选民对代表实行监督和罢兔。6)国家对选举的保障。

5、试述我国宪法的特征答:1.我国宪法以坚持四项基本原则作为总的指导思想,坚持和保证了社会主义的根本方向。2.我国宪法确认了我国国家政权的人民民主专政的性质,并通过实行人民代表大会制度,保证了以工人阶级为领导的广大人民当家作主的权利。规定公民享有广泛的权利、自由和公民权利义务的一致性。3.我国宪法规定社会主义制度是我国的根本制度,确认生产资料公有制是我国经济制度的基础,规定社会主义的公共财产神圣不可侵犯,规定实行各尽所能,按劳分配的社会主义分配原则。4.我国宪法规定了进行社会主义精神文明建设的内容。

7、简述如何正确行使我国宪法赋予公民的自由和权利。

答:宪法规定,我国公民在行使自由和权利的时候,不得损害国家的、社会的、集体的利益和其他公民的合法的自由和权利。此规定是公民行使自由和权利时必须遵循的准则。为此,公民应树立正确的权利观,明确认识:(l)任何权利和自由都不可能是绝对的、不受限制的。权利和自由不仅受客观规约和社会经济文化条件的限制,还要受法律的限制。(2)在我国社会主义制度下,国家利益、集体利益和公民个人利益在根本上是公民个人的自由和权利,只有在国家利益、集体利益和广大人民群众的利益都得到保障和发展的前提下,才能切实、充分地得到实现。

自考软件工程笔记总结 篇3

第一章 绪论

1.1 软件工程的产生

1.1.1 软件的特点

软件的定义:计算机程序及其说明程序的各种文档 软件的特性:

(1)软件是一种逻辑产品,它与物质产品有很大的区别

(2)软件产品的生产主要是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发研制完成后,通过复制就产生了大量软件产品

(3)软件产品不会用坏,不存在磨损、消耗问题

(4)软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是“定做”的

(5)软件费用不断增加,软件成本相当昂贵

1.1.2 软件生产的发展

1)程序设计时代(1946年~1956年)

这个阶段的生产方式是个体手工劳动,使用的工具是机器语言、汇编语言。

开发方法是追求编程技巧,追求程序运行效率 程序难读、难懂、难修改

硬件特征是价格贵、存储容量小、运行可靠性差

软件特征是只有程序、程序设计概念,不重视程序设计方法 2)程序系统时代(1956年~1968年)

这个阶段的生产方式是作坊式的小集团合作生产,生产工具是高级语言

开发方式仍旧靠个人技巧,但开始提出结构化方法

硬件特征是速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长

软件特征是程序员数量猛增,大量其他行业人员进入这个行业,因为缺乏训练,因而开发人员素质差

这时已意识到软件开发的重要性,但开发技术没有新的突破,大量软件开发的需求已提出,但开发人员的素质和落后的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐的矛盾,导致了软件危机的产生

3)软件工程时代(1968年至现在)

这阶段的生产方式是工程化的生产,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件

硬件特征是向超高速、大容量、微型化以及网络化方向发展

软件特征是开发技术有很大进步,但是未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机

1.1.3 软件危机

1.软件危机的产生

软件发展到第二阶段末期,软件开发技术的进步跟不上硬件发展的速度

2.软件危机的表现 1.1.4(1)经费预算经常突破,完成时间一再拖延(2)开发的软件不能满足用户要求(3)开发的软件可维护性差(4)开发的软件可靠性差 3.软件危机的原因

(1)软件的规模越来越大,结构越来越复杂(2)软件开发管理困难而复杂(3)软件开发费用不断增加(4)软件开发技术落后(5)生产方式落后(6)开发工具落后 软件工程

1968年北大西洋公约组织的工作会议上首先提出“软件工程”的概念,要用工程化的思想来开发软件 1.软件工程定义

用科学知识和技术原理来定义、开发、维护软件的一门科学 2.软件工程的性质

软件工程是一门综合性的交叉学科,涉及计算机科学、工程科学、管理科学、数学等领域

计算机科学中的研究成果均可用于软件工程,但计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统

软件工程要用工程科学中的观点来进行费用估算、制定进度、制定计划和方案

软件工程要用管理科学的方法和原理进行软件的生产和管理 软禁工程要用数学的方法建立软件开发中各个种模型和各种算法 3.软件工程目标

目的是成功的建造一个大型软件系统 所谓成功,是要达到

付出较低的开发成本

达到要求的软件功能

取得较好的软件性能

开发的软件易于移植

需要较低的维护费用

能按时完成开发任务,及时交付使用

开发的软件可靠性高 4.软件工程内容

主要是软件开发技术和软件管理两个方面

软件开发技术中主要研究软件开发方法、软件开发过程、软件开发工具和环境

软件开发管理中主要研究软件管理学、软件经济学、软件心理学 5.软件工程面临的问题

a)软件费用 b)软件可靠性 c)软件维护 d)软件生产率 e)软件重用

1.2 软件工程过程和软件生存周期

1.2.1 软件工程过程

目的是为各种人员提供一个公共的框架,以便用相同的语言进行交流

(1)获取过程(2)供应过程(3)开发过程(4)操作过程(5)维护过程(6)管理过程(7)支持过程 1.2.2 软件生存周期

指一个软件从提出开发要求开始直到该软件报废为止的整个过程

(1)可行性分析和项目开发计划

必须要回答的问题是“要解决的问题是什么”,有可行的解决办法吗,如果有需要多少费用多少资源时间 明确项目性质 明确项目目标 明确项目规模

确定该问题有没有可行的解决办法 指定项目开发计划(2)需求分析

确定软件系统必须做什么

确定软件系统必须具备哪些功能(3)概要设计

把确定的各项功能需求转换成需要的体系结构 设计软件的结构,明确该结构的模块组成(4)详细设计

为每个模块完成的功能进行具体描述,把功能描述转变为精确地、结构化的过程描述(5)编码

把每个模块的控制结构转换成计算机可接受的程序代码,即写成以某种特定程序设计语言表示的“原程序清单”(6)测试

保证软件质量的重要手段(7)维护

1.3 软件生存周期模型、方法和工具

1.3.1 软件生存周期模型

描述软件开发过程中各种活动如何执行的模型 1.瀑布模型

将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型 包括所有的软件生存周期环节,规定了由前至后、相互衔接的固定次序 1.3.2 缺点:

理想的线性开发模式,缺乏灵活性

开发过程中用户看不到软件是什么样子,造成开发方向错误 2.增量模型

一种非整体开发的模型,软件在该模型中是“逐渐”开发出来的,开发一部分展示一部分,可以及早发现问题。或者开发一个“原型”软件,完成部分主要功能再逐步完善

具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目 缺点:

对于复杂的大型软件,开发一个原型往往达不到要求 3.螺旋模型

将瀑布模型与增量模型结合起来,加入了两种模型均忽略了的风险分析

开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合 每个周期内分四个工作不:制定计划、风险分析、开发实施、用户评估

适合于大型软件的开发 缺点:

需要有相当丰富的风险评估经验和专门知识,使得应用受到一定限制 4.喷泉模型

一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法

克服了瀑布模型不支持软件重用和多想开发活动集成的局限性 是开发过程具有迭代性和无间隙性 5.基于知识的模型

又称只能模型,它把瀑布模型和专家系统结合在一起 还处于研究实验阶段,还未达到实用阶段 6.变换模型

适合于形式化开发的模型 软件开发方法

使用早已定义好的技术集和符号表示习惯来组织软件生产的过程 1.结构化方法

由结构化分析,结构化设计、结构化程序设计构成,是一种面向数据流的开发方法。简单实用,应用较广,技术成熟 2.Jackson方法

面向数据结构的开发方法 3.维也纳开发方法(VDM)

一种形式化的开发方法,软件需求用严格的形式语言描述,然后把描述模型逐步变换成目标系统 4.面向对象的开发方法

90年代主流

基本出发点是尽可能按照人类认识世界的方法和思维方式来分析和解决问题

包括面向对象分析、面向对象设计、面向对象实现

1997年推出统一建模语言UML,是面向对象的标准建模语言

1.3.3 软件开发工具

1. 软件工具的重要性

为了支持软件人员开发和维护活动而使用的软件

项目估算工具、需求分析工具、编码工具、测试工具、维护工具等 2. 工具箱

将各种软件工具简单组合起来就构成工具箱

工具箱的工具界面不同意,工具内部无联系,工具切换由人工操作 3. 软件开发环境

工具系统的整体化及集成化,使之形成完整的软件开发环境 使软件工具支持整个生存周期 4. 计算机辅助软件工程

新的软件工具目的是实现软件生存周期各个环节的自动化,主要用于软件的分析和设计,使用这些工具开发人员可以以对话的方式建立各种软件系统

计算机辅助软件工程可以简单的定义为软件开发的自动化,CASE 结构化方法可以用于瀑布模型、增量模型、螺旋模型进行开发 Jackson方法可以用于瀑布模型、增量模型 维也纳方法只能用于变换模型进行开发

第二章 软件可行性研究与项目开发计划

2.1 可行性研究

目的是用最小的代价在尽可能短的时间内去确定该项目是否能够开发,是否值得开发

在较高层次上以较抽象的方式进行需求分析和设计过程 2.1.1 可行性研究的任务

进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,列举出来。然后进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型,从逻辑模型出发经过压缩的设计,探索出若干种可供选择的解决办法,对每种解决方法都要研究它的可行性

可以从以下三个方面分析研究每种解决方法的可行性

1.技术可行性、技术可行性一般要考虑的情况包括(1)开发的风险(2)资源的有效性(3)技术

(4)开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果

2.经济可行性

进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发 3.社会可行性

要开发的项目时候存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行

2.1.2 可行性研究的具体步骤

1.确定项目规模和目标

2.研究正在运行的系统

3.建立新系统的高层逻辑模型

使用建立逻辑模型的工具——数据流图和数据字典描述数据在系统中的流动和处理情况。不是需求分析阶段,不是完整详细的描述,只是概括的描述高层的数据处理和流动

4.导出和评价各种方案

5.推荐可行的方案

6.编写可行性研究报告

2.1.3 可行性研究报告的主要内容

1.引言

2.可行性研究前提

3.对象有系统的分析

4.所建议系统的技术可行性分析

5.所建议系统的经济可行性分析

6.社会因素可行性分析

7.其他可供选择方案

8.结论意见 2.2 系统流程图

1.系统流程图的作用

用图形符号来表示系统中的各个元素。表达了系统中各个元素之间的心理流动的情况

2.系统流程图的符号

3.系统流程图的例子

2.3

成本——效益分析

目的是从经济角度评价开发一个新的软件项目是否可行

估算将要开发的系统的开发成本,与可能取得的效益进行比较和权衡 效益分有形效益和无形效益 有形效益的分析 1. 货币的时间价值 2. 投资回收期 3. 纯收入 2.4 项目开发计划

1.项目概述

2.实施计划

3.人员组织及分工

4.交付期限

第三章 软件需求分析

3.1 需求分析的任务

3.1.1 需求分析的概念

开发人员要准确的理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义装换到相应的形式功能规约(需求规格说明)的过程 需求分析的难点:(1)问题的复杂性(2)交流障碍

(3)不完备性和不一致性(4)需求易变性

软件需求分析与说明的方法适用的基本原则:(1)必须能够表达和理解问题的数据域和功能域

(2)可以把一个复杂问题按功能进行分解并可逐层细化(3)建模

结构化分析方法和面向对象分析方法都遵循以上原则

3.1.2 需求分析的基本任务

要准确的定义新系统的目标,为了满足用户的需要,回答系统必须“做什么”的问题。可行性研究和软件计划阶段对这个问题的回答是概括的、粗略的 本阶段主要进行以下几个方面的工作: 1.问题识别

双方确定对问题的综合需求,这些需求包括:

(1)功能需求:所开发的系统必须具备什么样的功能,这是最重要的(2)性能需求:待开发的软件的技术性能指标。存储容量,运行时间(3)环境需求:软件运行时所需要的软、硬件的要求

(4)用户界面需求:人机交互方式、输入输出数据格式等等

另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求 2.分析与综合,导出软件的逻辑模型

对获取的需求,进行分析检查,逐步细化软件的功能,划分成各个子功能,以确定系统的构成及主要成分,建立新系统的逻辑模型 3.编写文档

(1)编写“需求规格说明书”(2)编写初步用户使用手册(3)编写确认测试计划(4)修改完善软件开发计划

3.1.3 需求规格说明书主要内容 3.2 结构化分析方法

简称SA,是面向数据流进行需求分析的方法

3.2.1 自顶向下逐层分解的分析策略

对一个复杂问题分析人员不可能一开始就考虑到问题的所有方面及全部细节,对此采取的策略是分解,把一个复杂问题划分成若干小问题,然后分别解决,将问题的复杂性降低到人可以掌握的程度

分解可分层进行,先考虑问题最本质的方面,忽略细节形成问题的高层概念,然后逐层添加细节。顶层抽象的概括整个系统,底层具体画出系统的每个细节,中间层是逐步过渡

这种层次分解使分析人员分析问题时不至于一下子陷入细节,而是逐步的去了解更多细节

依照这个策略,对于任何复杂的系统,分析工作都可以有计划、有步骤、有条不紊的进行

3.2.2 描述工具

SA方法的描述工具是:

(1)数据流图(2)数据字典

(3)描述加工逻辑的结构化语言、判定表、判定树

数据流图描述系统的分解,及系统由哪几部分组成,各部分之间的联系等等 数据字典定义了数据流图中每一个图形元素 结构化语言、判定便或判定树详细描述数据流图中不能被再分解的每一个加工

3.2.3 SA分析步骤

(1)了解当前系统的工作流程,获得当前系统的物理模型(2)抽象出当前系统的逻辑模型(3)建立目标系统的逻辑模型(4)做进一步补充和优化

3.3 数据流图(DFD)

简称DFD,是SA方法中表示系统逻辑模型的一种工具,只反应系统必须完成的逻辑功能,所以是一种功能模型

3.3.1 基本图形符号

数据流图有四种基本图形符号:

(1)数据流。是数据在系统内传播的路径,由一组成分固定的数据项组成,必须有流向,除了与数据存储之间的数据流不用命名,其他用名词或名词短语命名

(2)加工(又称为数据处理)。对数据流进行某些操作或变换。加工用动词短语命名

(3)数据存储(又称为文件)。指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。流向数据存储的数据流可以理解为写入文件或查询文件,流出的数据可以理解为从文件读取数据或得到查询结果

(4)数据源点或终点:软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称为外部实体

在一张图上可重复画同名的源/终点,在方框的右下角加斜线则表示是一个实体。有时数据存储也需重复标识

3.3.2 画数据流图的步骤

按问题的层次结构进行逐步分解,并以一套分层的数据流图反应这种结构关系

(1)首先画系统的输入输出,即先画顶层数据流图。

顶层流图只包含一个加工,用以表示被开发的系统,然后考虑系统的输入输出数据。顶层图的作用在于表明被开发的系统范围以及它与周围化境的数据交换关系

(2)画系统内部,即画下层数据流图。一般将层号从0开始编号,采用自顶向下,由外向内的原则。一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流。知道每一个加工足够简单,不能再分解为止,不能再分解的加工称为基本加工(3)注意事项

a)命名

b)画数据流而不是控制流

图中不反应加工的执行顺序 c)一般不画物质流

d)每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果 e)编号

子图的编号就是父图中相应加工的编号,加工的编号由子图号,小数点和局部号组成 f)父图与子图的平衡

子图的输入输出数据流同父图相应加工的输入输出数据流必须一致 保证了数据流图的一致性 g)局部数据存储

h)提高数据流图的易理解性

注意合理分解

为了使数据流图便于在计算机上输入与输出,以下给出了描述数据流图的另一套基本符号

3.3.3 实例——售票管理系统

3.4 数据字典(DD)

简称DD,用来定义数据流图中各个成分的具体含义,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述 它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分

3.4.1 数据字典的内容及格式

数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅 数据字典有以下四类条目: 数据流 数据项 数据存数 基本加工

数据项是组成数据流和数据存储的最小元素。源点终点一般不在字典中说明 1.数据流条目

数据流条目给出了DFD中数据流的定义,通常列出数据流的各组成数据项

在定义数据流或数据存储组成时,使用下表给出的符号:

2.数据存储条目

数据存储条目是对数据存储的定义,主要内容举例如下:

3.数据项条目 数据项条目是不可再分解的数据单位,其定义格式及举例如下:

4.加工条目

加工条目是用来说明DFD中基本加工的处理逻辑的,由于上层的加工是由下层的基本加工分解而来,只要有了基本加工的说明,就可理解其他加工

加工条目的内容及举例如下:

数据字典中的加工逻辑主要描述该加工“做什么”,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。加工逻辑有几种常用的描述方法,结构化语言、判定表、判定树

3.4.2 数据字典的实现

建立数据字典一般有两种形式:

1.手工建立:数据字典的内容用卡片形式存放

(1)按四类条目规范的格式印制卡片(2)在卡片上分别填写各类条目的内容

(3)先按图号顺序排列,同一图号的所有条目按数据流、数据项、数据存储和数据加工的顺序排列(4)同一图号中的同一类条目(如数据流卡片)可按名字的字典顺序存放,加工一般按编号顺序存放

(5)统一成分在父图和子图都出现时,则只在父图上定义(6)建立索引目录

2.利用计算机辅助建立并维护(1)编制一个“字典生成与管理程序”,可以按规定的格式输入各类条目,能对字典条目增、删、改,能打印查询报告和清单,能进行完整性一致性检查。美国密执安大学研究的PSL/PSA就是这样一个系统(2)利用已有的数据库开发工具,针对数据字典建立一个数据库文件,可将数据流、数据项、数据存储和加工分别以矩阵表的形式来描述各个表项的内容,如数据流的矩阵表为:

有的DBMS本身包含一个数据字典子系统,建库时能自动生成数据字典

计算机辅助开发数据字典比手工建立数据字典有更多的优点,能保证数据的一致性和完整性,使用也方便,但增加了技术难度与积极开销

3.5 加工逻辑的描述

加工逻辑也称为“小说明”,描述加工逻辑一般用一下三种工具:

结构化语言

判定表

判定树

3.5.1 结构化语言

介于自然语言和形式语言之间的一种半形式语言

结构可分为外层和内层两层:

1.外层:用来描述控制结构,采用顺序、选择、重复三种基本结构

(1)顺序结构:是一组祈使语句、选择语句、重复语句的顺序排列(2)选择结构:一般用IF——THEN——ELSE——ENDIF、CASE——OF——ENDCASE等关键词(3)重复结构:一般用DO——WHILE——ENDDO、REPEAT——UNTIL等关键字

2.内层:一般是采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其动词含义要具体,尽量不用形容词和副词来修饰。还可使用一些简单的算术运算和逻辑运算符号

3.5.2 判定表

在有些情况下,数据流图中的某个加工的一组动作依赖于多个逻辑条件的取值。这时用判定表就能够清楚地表示复杂的条件组合与应作的动作之间的对应关系

判定表由四部分组成,用双线分隔开四个区域:

构造一张判定表,可采取以下步骤: 1.提取问题中的条件 2.标出条件的取值

3.计算所有条件的组合数N 4.提取可能采取的动作或措施 5.制作判定表 6.完善判定表

初始的判定表可能不完善,表现在以下几个方面:(1)缺少判定列中应采取的动作

(2)有冗余的判定列:两个或多个规则中,具有相同的动作,而与它所对应的各个条件组合中有取值无关的条件

判定表能够把在什么条件下系统应做什么动作准确无误的表示出来,但不能描述循环的处理特性,循环处理还需结构化语言 例子:

3.5.3 判定树

判定树是判定表的变形,一般情况下它比判定表更直观,更易于理解和使用

这三种描述加工逻辑的工具各有优缺点

对于顺序执行和循环执行的动作,用结构化语言描述

对于存在多个条件复杂组合的判断问题,用判定表和判定树 判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到,可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树

经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。将这些共同的理解进行整理,最后形成文档——需求说明书

3.6 IDEF方法

IDEF方法是美国空军在1981年针对集成化计算机辅助制造工程项目中用于进行复杂系统分析和设计的方法。IDEF方法分为三部分:

IDEF0:用来描述系统的功能活动及其联系,建立系统的功能模型 IDEF1:用来描述系统的信息及其联系,建立系统的信息模型 IDEF2:用来进行系统模拟,建立系统的动态模型

3.6.1 IDEF0的图形表示

该方法中,将系统功能称为活动,将表示系统功能的图形称为活动图形

一个活动可以没有输入,但一定要有控制

3.6.2 建立功能模型的基本方法

1.确定建模的范围、观点及目的 2.建立系统的内外关系图——A-0图 3.建立顶层图——A0图 4.建立低层次的图形

分解时,应遵循两条原则:

首先,保持在同一水平上分解(宽度优先),如A1,A2,A3等图,而不是A1,A11,A111(深度优先),可避免较高层次的变化影响较低层次,造成可能的重复工作,同时可较早的查出错误及遗漏

其次,对于同一水平层次上的各个方框,选择难度最大的部分往下分解,其后分解较容易的部分

在IDEF0图中几个活动之间无明确的顺序和时间,要注意分解时箭头表示的上下层之间的平衡关系。

3.6.3 IDEF0方法的特点

1.采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束条件及实现机制 IDEF0图宜作为正式文档

2.采用严格的自顶向下、逐层分解的方式建立系统功能模型

因此,IDEF0是建立系统功能模型的有效方法。在开发CIMS——计算机集成制造系统的管理信息系统(MIS)过程中,大都采用此方法建立软件需求分析的功能模型

3.7 结构化分析方法小结

结构化分析方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种方法,它较适合于开发数据处理型软件的需求分析 SA方法的弱点主要表现在:(1)不适合描述实时控制系统(2)

(3)

(4)

(5)为了解决实时软件的需求分析,提出了控制流图(CFD)的定义,也有用描述系统动态行为的状态转换图(STD)代替CFD SA方法使用DFD在分析与描述“数据要求”方面是有局限的

数据库技术使许多大型数据处理系统中的数据都组织成数据库的形式,DFD应与数据库技术中的实体联系图(ER图)结合起来 DFD不适合描述人机界面系统的需求

对于一些频繁的人机交互的软件系统,SA方法往往对这一部分用自然语言做补充,对这类系统可采用其它的分析方法(如面向对象分析方法)不便于实现自动化

SA方法可与形式化方法结合起来,形式化是软件自动化发展的基础 形式化方法典型的有基于模型的Z语言及VDM开发方法 需求分析的质量及效率不够高 可以借助需求分析工具提高

自考软件工程笔记总结 篇4

实习日志

16.1.12 雪

今天是实习的第四天,还有一天我们的实习就要结束了。IT职场,一个最具现代社会市场竞争特色的圈子。虽是急需人才的行业,出来的大学生也面临三难:就业难、找好单位难、过好日子难。所以大学四年一定要有所规划。以下课程在大学中再学好:计算机专业的八门核心课程:C语言程序设计、离散数学、数据结构、计算机组成原理、计算机网络、数据库管理系统、操作系统、软件工程.所讲内容是关于职业生涯规划。前几天也有接触过,但今天所讲更直接。更直观的感受就是老师所讲编程就是青春饭。而且程序员如果三十岁还在打码,那么前途几乎是没有,也证明前面几年没有努力。大学四年严格来说是三年一定要非常努力,打好基础。

接下来了解软件的各个就职岗位。上升得有:需求分析师、架构师、项目经理、技术总监、技术副总。平移或下降:技术支持、售前(售后)培训、咨询、维护、实施、销售。职业定位:技术型、管理型、安全型、自主型、风险型。还有职业发展的责任,个人职业性与选择,市场需求分析。期间老师还加入许多生动的例子,人也非常幽默。让我们更加了解程序员的生活和以后的定位。

今天最大的感悟是 要想做一名出色的人才就要在可以拼搏的年龄,拼搏,打好基础。

自考软件工程笔记总结 篇5

何谓科学,何谓工程?(第一章)

科学是反映自然、社会、思维的发展与变化规律的知识体系。科学(研究)是以发现为核心的人类活动,探索事物的本质和运动规律,追求真理,认识世界,回答“为什么”,体现非物质形态财富。

工程是与生产、建设相关,运用自然科学理论和技术原理得以实现的活动(狭)。以构建、运行与集成为核心的人类活动,遵循社会需求,追求一定条件下的集成与综合优化。

2什么是可移植性(方法)?P347

把一个程序从一个硬件或软件系统环境移植到另一个环境所需的工作量。

3什么是软件生存周期?p7

软件生存周期是软件产品从形成概念,经过开发、使用和维护直至最后退役的全过程。大致分为如下6个阶段计算机系统工程、需求分析、设计、编码、测试、运行和维护

4.什么是可维护性p347

定位和修复程序中一个错误所需的工作量。

5文档功能是记录软件­____开发___活动和阶段成果,能供人和机器阅读,是有永久保存属性。

6.计算机软件是指与计算机系统有关的程序、规则、规程有任何与之有关的文档和数据。包括机器可执行的程序及有关数据;机器不可执行的与软件开发、运行、维护、使用和培训有关的文档。P1 程序:用程序设计语言描述的,计算机能够处理的语言序列。

文档:一种数据媒体及其上所记录的数据。文档(功能/作用)记录软件开发活动和阶段成果,能供人和机器阅读,具有永久保存属性。

7软件开发包括哪些阶段,主要解决什么问题?P19

概念定义,具体包括计划和需求分析阶段,主要解决做什么的问题。

开发,具体包括设计,编码,测试阶段,主要解决怎么做的问题。

使用维护,即运行维护阶段,包括些交付、安装、运行、维护和退役等。

8.软件概念定义包括那三部分,主要解 决什么问题。P4P1

(英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲划分为系统软件、支撑软件和应用软件。

9软件需求是指用户对目标系统在功能、行为、性能、设计、约束等方面的 期望P48

10.什么是模块?

模块指具有一定功能的可以用名字调用的程序语句集合。

模块化是指把一个待开发的软件划分成若干小的简单部件,每个部件称为一个模块,每个模块完成一个相对独立的一个子功能,所有这些模块集成起来就可以完成软件系统的指定功能,满足问题的要求。P66 模块化的目的是使程序的结构清晰,易阅读、易测试和修改。采用模块化方法,可以控制复杂问题的求解规模,减低问题复杂度和减少求解成本。

11什么 模块耦合度,什么是模块内聚度?P68

耦合是一个软件结构内不同模块彼此之间互相连接(依赖)的紧密程度。

耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。耦合度衡量不同模块彼此间相互依赖的紧密程度。

内聚是一个模块内部各个元素彼此结合的紧密程度。好内聚的模块只做一件事情。内聚度衡量同一个模块内部的各个元素彼此结合的紧密程度。

模块的独立性可以由两项指标来衡量:内聚度与耦合度。.结构图最主要的质量指标是模块的 内聚度和 偶合度。(第五章)

13在设计用户界面(也称人机界面)的过程中,几乎总会遇到系统响应时间,用户求助机制,出错­­信息处理和命令交互方式四个方面的问题。P242

14.什么是系统响应时间?P242

系统响应时间指从用户执行某个控制动作(如按回车键或单击鼠标)到软件做出响应(期望的输出或动作)的时间。

15简答有哪三类人机界面设计指南(黄金原则)?p243

让用户拥有控制权;减少用户的记忆负担;保持界面一致

16.简述什么是编码?第十章P251

编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。

17何谓程序设计风格或编码风格?P255

程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等.在程序设计中要使程序结构合理、清晰,形成良好的编程习惯,对程序的要求不仅是可以在机器上执行,给出正确的结果,而且要便于程序的调试和维护,这就要求编写的程序不仅自己看得懂,而且也要让别人能看懂。

包括4个方面:源程序文档化、数据说明、语句结构、和输入输出。256

编写规则:文档化、结构化、模块化、节简化、简单化、格式化。

18.为一个开发项目选择程序设计语言时,通常会考虑 项目所属的领域 ;算法和计算复杂性;软件运行环境;用户需求中关于性能方面的要求;数据结构的复杂性,软件开发人员的知识水平因素。P255 19软件测试的目标是什么?P263PPT 第11章

软件测试就是在软件投入生产性运行之前,尽可能多地发现软件中的错误,进而改正错误的过程。发现和改正错误越多,交付的软件就质量越高,后期纠错性维护就越少。测试是一项很艰苦的工作,也是一项“建设性”活动

测试目标1.期望用最少的时间和人力找出软件中潜在的各种错误和缺陷 2.证明软件的功能和性能与规格说明的吻合程度3.为可靠性分析提供依据 4.通常测试每一种可能情况是不现实的5.没有发现程序中的错误,并不能证明软件没有错误

20.基本路径测试的基本思想是什么?P273程序环路复杂性有什么意义?PPT 第11章

基本思想:根据软件详细设计或代码中的控制结构流程确定复杂度,然后以该复杂度定义执行路径的基本集合,并由此导出一组测试用。

程序的环路复杂性确定程序基本路径集合中的独立路径条数。独立路径是指包括一组以前没有处理的语句或条件的一条路径。用流图术语描述,一条独立路径至少包含一条在其他独立路径中从没有过的边的路径。21简析等价类划分法?P277PPT 第11章

等价类划分法是把程序的输入数据集合按输入条件划分成若干个等价类,每一个等价类相对于输入条件表示为一组有效或无效的输入,然后据此为每一个等价类设计一个测试用例。

22.简述驱动模块和桩模块的作用? PPT 第11章

驱动模块调用被测模块,接收测试输入数据并把这些数据传送给被测试的模块,被测模块调用后,驱动模块接受被测模块的返回数据。

桩模块也叫存根模块,它代替被测试的模块所调用的模块。桩模块使用被它代替的模块的接口,但内部只做少量的数据操作,并且把控制和模拟结果归还给调用它的模块。

23为何要引入驱动模块和桩模块? PPT 第11章

驱动模块和桩模块是测试使用的软件,它们不是软件的组成部分,但需要一定的开发费用。简单的驱动模块和桩模块不能完成某些模块的测试任务,只能在集成测试过程中同时完成对这些模块的详尽测试。

引用驱动模块和桩模块原则有:单元测试通常与编码工作结合起来,通常,模块本身不是一个独立的程序,因此在测试模块中必须为每一个被测模块开发一个(引用)驱动模块和若干个桩模块。

24.何谓调试? PPT 第11章

调试,又名排错,它是根据测试出问题的外部现象(又名错误或外错),分析找出问题的内在原因(又名故障或内错)并加以改正的代码执行与人工活动。调试的任务就是确定错误的准确位置(定位错误)、分析引发错误的原因,最终排除错误。

黑盒测试(行为测试)检查程序功能是否符合按照规格说明书的规定,测试只在程序界面上进行。包括等价类划分、边界值分析、比较测试、错误猜测何因果图方法。

白盒测试(结构测试)检验程序中的每条逻辑通路能否都按预定要求正确工作,测试按照程序内部的逻辑进行。包括逻辑覆盖测试、基本路径测试、数据流测试和循环测试。

25旅行社把预定机票的旅客信息,如姓名、年龄、单位、身份证号、旅行时间、目的地等输入预定机票系统,系统为旅客安排航班,打印出取票通知单(附有应交的账款)旅客在飞机起飞前交付票款,系统检查无误后,输出机票给旅客。

试用结构化分析方法描述系统的逻辑模型(系统的功能需求)并建立相应的数据字典,要求数据字典中至少包括一个数据流、一个数据文件、一个加工的详细的定义。

26.为方便储户,某银行拟开发计算机储蓄管理系统,储户填写的存款单或取款单由银行柜台业务员键入系统,如果是存款,系统记录存款人姓名,住址,存款日期,利率等信息,并印出存款单给储户;如果是取款,系统进行取款处理并印出结算单给储户,请用结构化分析方法描述系统的逻辑模型(系统的功能需求),并建立相应的数据字典,要求数据字典中至少包括一个数据流,一个文件和一个加工的详细定义。

本文来源://www.xxy333.com/x/205.html