软件工程知识点归纳总结_第1页
软件工程知识点归纳总结_第2页
软件工程知识点归纳总结_第3页
软件工程知识点归纳总结_第4页
软件工程知识点归纳总结_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文档编码:CF6S8W6D7G5——HU4M1Z6G1S9——ZZ5X9V9U6V8软件工程(简要学问点)问题定义(确定题目)软件生命周软件定义可行性争辩概要设计需求分析软件开发系统设计具体设计系统实现编码和单元测试期:综合测试运行爱惜:主要任务是使软件长期地中意用户的需要一,.软件过程五个模型对比(瀑布模型,快速原型,增量,螺旋,喷泉模型)二,可行性争辩:1,任务:用最小的代价在尽可能短的时间内确定问题是否能够解决;2,四个方面:技术,经济,操作可行性,法律3,数据流图四种成分:三,需求分析:1,源点/终点2,处理3,数据储备4,数据流1,任务:确定系统必需完成哪些工作,对目标系统提出完整,清晰,具体的要求;2,结构化方法就是面对数据流自顶向下逐步求精进行需求分析的方法;3,实体联系图:1,数据对象2,属性3,联系(1:1,1:N,M:N)四,总体设计:1.任务:回答“概括的说,系统应当如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应当确定系统的物理配置方案,并且进而确定组成系统的每个程序结构;2.系统设计阶段(确定系统具体实施方案),结构设计阶段(确定软件结构)3.模块独立:内聚和耦合4.耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统第1页,共18页5.内聚〔Cohesion〕:一个模块内各元素结合的紧密程度6.面对数据流的设计方法:变换流和事务流五,具体设计:1.任务:确定应当怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应当得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序;2.过程设计的工具(程序流程图,盒图,七,测试:PAD图,判定表,判定

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

2,集成测试:

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

3,白盒测试技术(规律掩盖,基本路经测试)第2页,共18页 白盒测试时将程序看作是一个透亮的盒子,也就是说测试人员完全明白程序的内部结构和处理过程;所以测试时依据程序内部的规律测试程序,检验程序中的每条通路是否都能按预定的要求正确工作;白盒测试又称为结构测试;4,语句掩盖就是设计足够的调试用例,使得程序中的每个语句至少执行一次;5,判定掩盖就是设计足够的测试用例,使得程序中每个判定的取 “真”分支和取“假”分支至少都执行一次,判定掩盖又称分支掩盖

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

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

8,条件组合掩盖就是设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少显现一次;9,黑盒测试技术(等价划分)

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

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

程序的功能是否正确或完善;数据的输入能否正确接收,输出是否正确;

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

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

2),等价类划分

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

(1)假如输入条件规定了取值范畴,就可划分出一个有效的等价类(输入值在此范畴内)和两个无效的等价类(输入值小于最小值,输入值大于最大值);第3页,共18页(2)假如输入条件规定了输入数据的个数,就可相应地划分出一个有效的等价类(输入数据的个数等于给定的个数要求)和两个无效的等价类(输入数据的个数少于给定的个数要求,输入数据的个数多于给定的个数要求);(3)假如输入条件规定了输入数据的一组可能的值,而且程序对这组可能的值做相同的处理,就可将这组可能的值划分为一个有效的等价类,而这些值以外的值划分成无效的等价类;(4)假如输入条件规定了输入数据的一组可能的值,但是程序对不同的输入值做不同的处理,就每个输入值是一个有效的等价类,此外仍有一个无效的等价类(全部不答应值的集合);(5)假如输入条件规定了输入数据必需遵循的规章,就可以划分一个有效的等价类(符合规章)和如干个无效的等价类(从各种角度违反规章);八,爱惜(改正性爱惜,适应性爱惜,完善性爱惜,预防性爱惜)九,预备软件可爱惜性因素(可懂得性,可测试性,可修改性,可移植性,可重用性)十,对象模型1,关联2,集合3,泛化4,依靠和细化软件工程(具体复习内容)第一章绪论1.1软件危机1,软件危机是指在运算机软件的开发和爱惜过程中所遇到的一系列庄重问题;(熟记)2,明白软件危机主要的一些典型表现;

3,显现软件危机的缘由:

4,排除软件危机的途径:第一,我们要对运算机软件有一个正确的熟识;更重要的是,必需充分熟识到软件开发不是某种个体劳动的神奇技巧,而应当是一种组织良好,治理严格,各类人员协同协作,共同完成的工程项目;最终,应该开发和使用更好的软件工具;第4页,共18页总之,为明白决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施;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个要点;第5页,共18页1.3软件生命周期

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

2,软件定义时期的任务3,软件定义时期通常进一步划分成析3个阶段:问题定义,可行性争辩,需求分4,爱惜时期的主要任务是使软件长期地中意用户的需要;

5,软件开发时期通常分成4个阶段:总体设计,具体设计,编码和单元测试,综合测试;前两个阶段又称为系统设计,后两个阶段又称为系统实现;6,软件生命周期每个阶段的基本任务:问题定义,可行性争辩,需求分析,总体设计,具体设计,编码和单元测试,综合测试;1.4软件工程生命周期模型(过程模型):瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型;(对各种模型要明白)第2章可行性分析可行性分析的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决;2.1可行性争辩的任务1.争辩解法的可行性的四个方面:技术可行性,经济可行性,操作可行性,法律可行性;2.可行性争辩最根本的任务:对以后的行动方针提出建议;3.可行性争辩需要的时间长短取决于工程的规模;2.2可行性争辩过程1.复查系统规模和目标第6页,共18页2.争辩目前正在试用的系统

3.导出新系统的高层规律模型4.进一步定义问题5.导出和评判供挑选的解法

6.举荐行动方针7.草拟开发方案

8.书写文档提交审查2.3系统流程图1,系统流程图:概括地描画物理系统的工具;

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

4,系统流程图的习惯画法:使信息在图中从顶向下或从左向右流淌;5,面对复杂的系统时,一个比较好的方法时分层次地描画这个系统;2.4数据流图1.数据流图(DFD):一种图形化技术,它描画信息流和数据从输入移动到输出的过程中所经受的变换;2.数据流图的四种基本符号

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

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

5.星号(*)是数据流之间的“与”关系;加号(+)表示“或”关系;⊕号表示只能从中选一个(互斥关系);6.画数据流图的基本目的是利用它作为沟通信息的工具;数据字典1.数据字典应由对以下4类元素的定义组成:数据流,数据流重量(即数据元素),数据储备,处理;2.由数据元素组成数据的方式的三种基本类型:次序,挑选,重复;+可选第7页,共18页3.用以下符号描述由数据元素组成数据的关系:=意思是等价于(或定义为),+意思是和(即连接两个重量),[}意思是或(通常用“|”号隔开供挑选的重量),{}意思是重复,()意思是可选;4.数据字典最重要的用途是作为分析阶段的工具;2.6成本/效益分析1.成本/效益分析的目的:从经济角度分析开发一个特定的新系统是否划算, 从而帮忙客户组织的负责人正确地作出是否投资于这项开发工程的预备;2.软件开发成本:主要表现为人力消耗;第3章需求分析1,需求分析是软件定义时期的最终一个阶段;

2,基本任务:精确地回答“系统必需做什么?”这个问题;

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

(1),必需懂得并描述问题的信息域,依据这条准就应当应当建立数据模型;E-R图 (2),必需定义软件应完成的功能,这条准就要求建立功能模型;数据流图 (3),必需描述作为外部大事结果的软件行为,这条准就要求建立行为模型;状态图 (4),必需对描述信息,功能和行为的模型进行分解,用层次的方式开放细节;3.1需求分析的任务4,对软件系统的综合要求:功能需求,性能需求,牢靠性和可用性需求,出错处理需求,接口需求,约束,逆向需求,将来可能提出的要求;5,需求分析的任务:确定对系统的综合要求分析系统的数据要求导出系统的规律模型修正系统开发方案第8页,共18页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.实现各个系统的进度方案第9页,共18页3),举荐正确方案

4),功能分解

5),设计软件结构

软件结构可以用层次图或结构图来描画;

6),设计数据库

7),制定测试方案

8),书写文档 这个阶段完成的文档有:系统说明,用户手册,测试方案,具体的实现方案,数据库设计结果;9),审查和复查5.2设计原理

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

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

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

4.模块化就是把程序分成独立命名且可独立拜望的模块,每个模块完成一个 子功能,把这些模块集成起来构成一个整体,可以完成指定的功能中意用 户的需求;

5.抽象:把相像的方面集中和概括起来,临时忽视它们之间的差异,或者 说,抽出事物的本质特性而临时不考虑它们之间的细节;

6.逐步求精是人类解决复杂问题时接受的基本方法,也是很多软件工程技术 的基础;定义:为了能集中精力解决主要问题而尽量推迟对问题细节的考 虑;

7.信息隐匿原理指出:应当这样设计和确定模块,使得一个模块内包含的信 息(过程和数据)对于不需要这些信息的模块来说,是不能拜望的;8.局部化:把一些关系亲热的软件元素物理地放得彼此靠近;

9.模块独立的概念是模块化,抽象,信息隐匿和局部化概念的直接结果;10.模块独立化重要性的缘由:

第一,有效地模块化的软件比较简洁开发出来;第10页,共18页 其次,独立的模块化比较简洁测试和爱惜;

11.模块的独立程度可以由两个定性标准度量,这两个标准分别称为 内聚和耦合;12.耦合是对一个软件结构内不同模块之间互连程度的度量;

13.耦合的强弱取决于模块间接口的复杂程度,进入或拜望一个模块的点,以 及通过接口的数据;

14.假如两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那 么这种耦合称为数据耦合;

15.假如传递的信息中有把握信息(尽管有时这种把握信息以数据的形式出 现),就这种耦合称为把握耦合;

16.数据耦合是低耦合;

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

18.内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐匿和局 部化概念的自然扩展;19.偶然内聚,规律内聚,时间内聚启示规章1.软件结构提高模块独立性

2.模块规模应当适中

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

4.模块的应用域应当在把握域之内

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

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

7.模块功能应当可以估计5.4描画软件结构的图形工具

1,层次图和HIPO

2,结构图第11页,共18页5.5面对数据流的设计方法1.面对数据流的设计方法把信息流映射成软件结构,信息流的类型预备了映射的方法;2.信息流分成两种类型:变化流,事物流(概念)3.变换分析是一系列设计步骤的总称,经过这些步骤吧具有变换流特点的数据流图按预先确定的模式映射成软件结构;4.变换分析的设计步骤;具体设计第6章目标:1.确定应当怎样具体的实现所要求的系统2.设计出程序的“蓝图”

3.具体设计的结果基本预备了最终的程序代码的质量结构程序设计1.概念:结果程序设计是一种设计程序的技术,它接受自顶向下逐步求精的的设计方法和单入口但出口的把握结构;2.三种基本把握结构:

1)次序结构:相当于“A,B”2)挑选结构:相当于“IfexpthenAelseBendif”3〕循环结构:相当于“WhileexpdoA”3.扩充的两种把握结构:1)多分支结构:相当于“CaseIofI=1:C1;I=n:Cn;”2〕UNTIL循环结构:相当于“RepeatAuntil

exp;”过程设计的工具程序流程图程序流程图:是一种描述程序的把握结构流程和指令执行情形的有向图;程序流程图的主要缺点:第12页,共18页1〕程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的把握流程,而不去考虑程序的全局结构;2〕程序流程图中用箭头代表把握流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,任凭转移把握;3〕程序流程图不易表示数据结构;盒图盒图特点:1〕功能域明确,可以从盒图上一眼就看出来;2〕不行能任意转移把握;3〕很简洁确定局部和全程数据的作用域;4〕很简洁表现嵌套关系,也可以表示模块的层次结构;PAD图是一种问题分析图;PAD图优

点:

1〕使用表示结构化把握结构的PAD符号所设计出来的程序必定是结构化程 序

2〕PAD图所描画的程序结构特别清晰;图中最左面的竖线是程序的主线,即 第

一层结构;随着德程序层次的增加,PAD图逐步向右延长,每次增加一个 层

次,图形向右扩展竖线;PAD图中竖线的总条数就是程序的层次

数;

3〕用PAD图表现程序规律,易懂,易读,易 PAD图是二维树形结构的 记; 图

形,程序从图中最左竖线上端的结点开头执行,自上而下,从左向右次序执行,遍历全部结点;4〕简洁将PAD图转换成高级语言源程序,这种转换可用软件工具自动完 成, 从而可省去人工编码的工作,有利于提高软件牢靠性和软件生产率;5〕即可用于表示程序规律,也可用于描画数据结构;6〕PAD图的符号支持自顶向下,逐步求精方法的使用;开头时设计者可以定 义

一个抽象的程序,随着设计工作的深化而使用 def符号逐步增加细节,直至完成具体设计;判定表判定表由四部分组成:左上部列出全部条件; 左下部是全部可能做的动作;右上部是表示各种条件组合的一个矩阵;右下部是和每种条件组合相对应的动作第13页,共18页 判定树

判定树是判定表的变种;过程设计语言

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

PDL的优

点:

1〕可以作为注释的直接插在源程序中间2〕可以使用一般的正文编辑程序或文字处理系统,很便利地完成 编辑工作PDl的书写和3〕已经有自动处理PDL的程序存在,而且可以自动 由

PDL缺点:不如图形工具形象直

观;第7章测试概念:编码和测试统称为实现;编码:把软件设计结果翻译成程序;测试:检测程序并改正错误的过程;7.2软件测试基础1.有关测试的一些规章:1〕测试是为了发觉程序中的错误而执行程序的过程PDL生成程序代

码;2〕好的测试方案是极可能发觉迄今为止尚未发觉的错误的测试3〕胜利的测试是发觉了至今为止尚未发觉的错误的测试2.测试方法

1)黑盒测试2)白盒测试

3.测试步骤单元测试,集成测试,确认测试,系统测试4,单元测试重点:模块接口,局部数据结构,重要的执行通路,出错处理通路,边界条件第14页,共18页5,集成测试

自顶向下集成自顶向下集成是一种递增的装配软件结构的方法,这种应用方法特别广泛;它需要存根程序,不需要驱动程序;自底向上集成自底向上集成是从软件结构最底层模块开头进行组装和测试,它与自顶向下结合方法相反,需要驱动程序,但是不需要存根程序;6,确认测试

确认测试的两种可能的结果:功能和性能与用户要求一样,软件是可以接受的功能和性能与用户要求有差距7,Alpha和Beta测试

Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试;Beta测试由软件的最终用户在一个或多个客户场所进行8,白盒测试规律掩盖,语句掩盖,判定掩盖,条件掩盖,判定点掩盖,边掩盖,路径掩盖9,黑盒测试技术

等价划分,边界值分析,错误推断10,调试

调试过程调试途径:蛮干法,回溯法,缘由排除法/条件掩盖,条件组合掩盖第15

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论