软件工程学位考复习_第1页
软件工程学位考复习_第2页
软件工程学位考复习_第3页
软件工程学位考复习_第4页
软件工程学位考复习_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

软件工程-Ch.1软件与软件工程,towangteng,本章主要知识点,知识点,1、软件的基本概念(如:软件的定义、文档、软件的特点等)2、软件危机的概念3、软件工程学的概念(定义)、研究的内容(三要素)4、软件工程的基本(主要)目标5、软件工程学的原理、原则6、软件生命期的概念及其包含的主要阶段7、几种主要的软件开发模型8、传统的瀑布模型分成哪几个阶段,以及基本任务9、软件工程面临的问题,软件工程-Ch.2计算机系统及可行性研究,towangteng,本章主要知识点,知识点,1、基于计算机的系统元素2、可行性研究的概念、目的及任务3、可行性研究内容包括哪几方面的可行性4、常用的系统分析方法5、系统结构模板的组成,软件工程-Ch.3软件需求工程,towangteng,本章主要知识点,知识点,1、软件需求分析的概念、原则及任务2、需求分析的过程3、软件需求建模(三个子模型数据字典)4、结构化分析方法(SA方法)的概念和描述工具(数据流图、数据字典、加工说明等)5、软件规格说明6、需求管理的基本概念,软件工程-Ch.4软件设计工程,towangteng,本章主要知识点,1、软件设计的概念,包括概要设计与详细设计2、软件设计原则3、软件设计原理(模块化、分解与抽象、逐步求精、信息隐蔽)4、软件设计的基本任务5、软件体系结构、系统分解6、模块独立性(内聚性、耦合性的划分)7、将变换流或事务流类型的数据流图转换成软件结构8、数据设计的任务9、界面设计的主要内容10、过程设计的任务及其包含的主要活动11、过程设计常用的描述工具程序流程图、盒图、PAD图、判定表等12、软件重用的概念、软件重用的成份,知识点,软件工程-Ch.5软件测试工程,towangteng,本章主要知识点,知识点,1、软件测试的定义2、软件测试的目的3、软件测试的原则4、软件测试的方法5、用白盒法设计测试用例逻辑覆盖、循环测试、基本路径测试6、程序流图及与复杂度计算(McMabe复杂度)7、用黑盒法设计测试用例等价分类法、边界值分析法、错误猜测法8、软件测试步骤及各阶段的主要任务单元测试、集成测试、确认测试、系统测试9、调试的目的及方法,软件工程-Ch.6软件维护工程,towangteng,本章重点、难点及主要知识点,知识点,1、软件维护的概念2、软件维护的分类3、与软件维护工作量有关的因素4、软件维护的流程5、软件维护的副作用与面临的问题6、软件可维护性的概念及其度量7、提高软件可维护性的途径8、软件再工程的基本概念,软件工程-Ch.7传统的开发方法,towangteng,本章主要知识点,知识点,1、结构化方法的概念2、结构化分析方法的概念及其采用的主要描述工具3、表示软件结构的图形工具4、将变换流或事务流类型的数据流图转换成软件结构5、Jackson方法的基本概念6、Jackson图(用于描述数据结构和程序结构)7、Jackson方法的设计步骤,软件工程-Ch.8快速原型的开发方法,towangteng,本章主要知识点,知识点,1、快速原型模型的基本思想2、原型开发的分类3、快速原型模型的表示,软件工程-Ch.9面向对象的开发方法,towangteng,本章主要知识点,知识点,1、面向对象的基本概念(对象、类、封装性、继承性、多态性、消息和方法)2、面向对象建模1)对象模型概念和描述工具(对象图)2)动态模型概念和描述工具(状态图)3)功能模型概念和描述工具(数据流图)3、面向对象分析1)对象模型的五个层次(主题层、类对象层、结构层、属性层、服务层)2)面向对象分析的基本过程标识类-&-对象标识结构标识主题定义属性定义服务4、面向对象设计1)面向对象设计的基本概念2)OOD模型(四个垂直部分与五个层次),软件工程-Ch.11软件质量管理,towangteng,本章主要知识点,知识点,1、软件质量的定义2、软件质量的度量与评价3、软件质量保证4、McCall质量度量模型和ISO质量度量模型5、软件复杂性的基本概念和度量方法6、软件可靠性定义、指标、模型7、软件评审8、软件容错技术,软件工程-Ch.12软件项目管理,towangteng,本章主要知识点,知识点,1、项目管理及其要素2、软件项目管理的基本概念3、软件项目计划的任务4、软件项目估算5、软件项目进度安排,软件工程-Ch.13软件配置管理,towangteng,本章主要知识点,知识点,1、软件配置项的基本概念2、版本控制的概念3、基线的概念4、软件配置的概念5、软件配置管理的定义及其过程,软件工程-Ch.14软件安全管理,towangteng,本章主要知识点,知识点,1、软件安全性的工作2、软件安全性分析3、软件安全性设计准则,考试题型,考试时间:120分钟第一部分选择题一、选择题第二部分非选择题二、填空题三、判断题四、名词解释五、简答题六、应用题,应用题总结,考核知识点:,1、分层的数据流图2、将变换流或事务流类型的DFD,转换成软件结构图3、判定表描述4、流程图、盒图、PAD图5、Jackson方法设计小型题目6、用白盒法、黑盒法设计测试用例7、McCabe度量法8、建立对象模型(对象图),一、数据流图(DFD),数据流图,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能。,举例:某个飞机机票预订系统:旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。系统为旅客安排航班,打印出取票通知单(附有应交的账款)。旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。,1、基本图形符号,数据流图有四种基本图形符号:箭头,表示数据流;数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。数据流应该用名词或名词短语命名。:圆或椭圆,表示加工;对数据流进行某些操作或变换。每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。=:双杠,表示数据存储;暂时保存的数据,可以是数据库文件或任何形式的数据组织。:方框,表示数据的源点或终点。是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。一般只出现在数据流图的顶层图。,2、画数据流图的步骤,1)首先画顶层数据流图。顶层流图只包含一个加工,定义了系统的输入输出流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。具体步骤:从问题描述中提取数据流图的四种成分。首先考虑数据的源点和终点,然后考虑加工,最后考虑数据流和数据存储。,2)细化基本系统模型,描绘系统的主要功能,一般从0层开始编号,采用自顶向下,由外向内的原则。,(1)预订机票(I:订票单;O:机票文件、取票通知单)(2)旅客取票(I:取票单,机票文件;O:机票),3)对功能级数据流程图中描绘的系统主要功能进一步细化,一般沿输入数据流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流。如果加工的内部还有数据流,则对此加工继续分解,直到每个加工足够简单,不能再分解为止。,预订机票(I:订票单;O:机票文件、取票通知单)(1)录入并校验(I:订票单;O:有效订票单)(2)安排航班(I:有效订票单,航班目录;O:机票文件,机票预订信息)(3)打印处理(I:机票预订信息;O:取票通知单),3)对功能级数据流程图中描绘的系统主要功能进一步细化,旅客取票(I:取票单,机票文件;O:机票)(1)校验(I:取票单;O:有效取票单)(2)记账(I:有效取票单,机票文件;O:记账文件,机票信息)(3)打印处理(I:机票信息;O:机票),3)对功能级数据流程图中描绘的系统主要功能进一步细化,注意事项:,命名:不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。画数据流而不是控制流:箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。一般不画物质流。数据流一般反映能用计算机处理的数据。每个加工至少有一个输入数据流和一个输出数据流。遵循加工编号规则。父图与子图的平衡。局部数据存储:随着数据流图的分解,在下层DFD中可能出现父图中没有的文件和外部项。提高数据流图的易懂性:调查表明,一张数据流图中包含的处理多于59个,人们就难以领会数据流图的含义,需要将它分层。注意分解层次的均匀性问题。终止加工分解条件加工简单,功能清晰易懂。,二、面向数据流的设计方法,SD方法的基本思想是模块化,考虑如何建立结构良好的程序系统。它提出了从反映用户需求的数据流图出发逐步产生软件结构的规则。1、数据流的类型DFD的类型一般可分为变换型和事务型两类。,1)变换型数据流图变换型的DFD是由输入、变换和输出组成,其基本思想是取得数据、变换数据和给出数据,是一个顺序结构。,2)事务型的数据流图,事务流指数据流图中的输入流被分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一条路径来执行。事务型DFD具有平行分别处理的特点。,2、设计过程,一个大型的软件系统的DFD,经常既具有变换型的特征,又具有事务型特征。面向数据流设计方法的过程如下:1、研究分析DFD,搞清数据流加工过程;2、确定DFD类型;3、分解上层模块,设计中下层模块结构;4、根据优化准则对软件结构求精;5、描述模块功能、接口及全局数据结构;6、复查,如果有错,转向(2)修改完善,否则进入详细设计。,3、变换分析设计,当DFD具有较明显的变换特征,可按以下步骤设计:1)确定DFD中的变换中心、逻辑输入和逻辑输出。几股数据流的汇合处往往是系统的主加工。,2)设计软件结构的顶层和第一层变换结构。,(1)变换中心确定以后,就相当于决定了主模块的位置,这就是软件结构的顶层。(2)主模块确定后,设计软件结构的第一层。第一层一般至少有三种功能的模块:输入模块(为顶层模块提供数据)、输出模块(输出顶层模块的信息)和变换模块(将逻辑输入进行变换加工,然后逻辑输出)。,3)设计中、下层模块。,对第一层的输入、输出、变换模块自顶向下逐层分解。(1)输入模块下属模块的设计输入模块的功能是向它的调用模块提供数据,所以必须有数据来源。每个输入模块可以设计成两个下属模块:一个接收,一个转换,用类似的方法一直分解下去,直到物理输入端。,(2)输出模块下属模块的设计,输出模块的功能是将它的调用模块产生的数据送出。这样每个输出模块可以设计成两个下属模块:一个转换,一个发送,直到物理输出端。,(3)变换模块下属模块的设计,一般对DFD中每个基本加工建立一个功能模块。,4)设计的优化。,变换型举例:,1、确定DFD中的变换中心、逻辑输入和逻辑输出。2、设计上层模块。3、设计中、下层模块。4、设计的优化。,举例:将下列数据流程图转换为控制结构图。,找出中心加工,逻辑输入和逻辑输出中心加工:计算最优解逻辑输入:校验后数据逻辑输出:最优结果,设计上层模块,主模块:整个系统要达到的目标生成最优解第一层模块:一个输入模块(得到输入)、一个变换模块(计算最优解)、一个输出模块(输出结果),设计中下层模块,输入模块:输出模块:,4、事务分析设计,1)确定DFD中事务中心和加工路径。2)设计软件结构的顶层和第一层事务结构。(1)接收分支:负责接收数据,它的设计与变换型DFD的输入部分设计方法相同。(2)发送分支:通常包含一个调度模块,它控制管理所有的下层的事务处理模块。当事务类型不多时,调度模块可与主模块合并。3)事务结构中、下层模块的设计、优化等工作同变换结构。,举例:,1、图书馆的预订图书子系统有如下功能:(1)由供书部门提供书目给采购组;(2)采购组从各单位取得要订的书目;(3)根据供书目录和订书书目产生订书文档留底;(4)将订书信息(包括书目,数量等)归类统计反馈给供书单位;(5)将未订书目通知订书者;(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。试根据要求画出该问题的数据流程图,并把其转换为软件结构图。,1)画基本系统模型,2)细化基本系统模型,描绘系统的主要功能,(1)产生订书文档(I:供书目录、有效订购书目;O:订书文档)(2)统计订书信息(I:订书书目;O:订书清单)(3)检查未订书目(I:供书目录、有效订购书目;O:未订书目)(4)检查重复订购的书目(I:要订书目、已订书目;O:重复订购书目、有效订购书目),1)找出中心加工,逻辑输入和逻辑输出,中心加工:归类统计逻辑输入:预订书目逻辑输出:订书清单,主模块:整个系统要达到的目标预订图书子系统第一层模块:输入模块(获得预订书目)、一个变换模块(归类统计)、输出模块(输出订书清单),2)设计上层模块,设计中下层模块,输入模块:输出模块:,举例:,2有一用于商业上的销售事务处理的统计软件包,其功能要求如下:根据顾客的订单记录(系统文件)进行各种统计分类:(1)根据销售日期的分类(2)根据顾客区域的分类(3)根据货物品种的分类(4)根据顾客名字的分类最后生成分类的统计报表。试根据要求画出该问题的数据流程图,并把其转换为软件结构图。,1)画基本系统模型,2)细化基本系统模型,描绘系统的主要功能,(1)根据销售日期的分类(I:销售日期;O:日期报表)(2)根据顾客区域的分类(I:顾客区域;O:区域报表)(3)根据货物品种的分类(I:货物品种;O:品种报表)(4)根据顾客名字的分类(I:顾客名字;O:顾客姓名报表),软件结构图:,一、变换型数据流图转换成软件结构图:,1、确定DFD中的变换中心、逻辑输入和逻辑输出。2、设计软件结构的顶层和第一层。第一层一般至少有三种功能的模块:输入模块、输出模块和变换模块。3、设计中、下层模块。(1)每个输入模块可以设计成两个下属模块:一个接收和一个转换;(2)每个输出模块可以设计成两个下属模块:一个转换和一个发送。,二、事务型数据流图转换成软件结构图:,1、确定DFD中事务中心和加工路径。2、设计软件结构的顶层和第一层事务结构。1)接收分支;2)发送分支:通常包含一个调度模块,它控制管理所有的下层的事务处理模块。3、事务结构中、下层模块的设计、优化等工作同变换结构。,三、判定表,能够清楚地表示复杂的条件组合与应做的动作之间的对应关系。常用于存在多个条件复杂组合的判定问题,判定表能将在什么条件下系统应做什么动作准确无误地表示出来,但不能描述循环的处理特性。判定表由四个部分组成,如下图所示,构造一张判定表,可采用以下步骤:(1)提取问题中的条件。(2)标出条件的取值。(3)计算所有条件的组合数N。(4)提取可能采用的动作或措施。(5)制作判定表。(6)完善判定表。,例3、根据下列对某种人寿保险问题的描述画出判定表。,某保险公司的一种人寿保险的参保类型划分原则如下:(1)如果年龄不满25岁,男性适用保险类型A,女性适用保险类型B。(2)如果年龄满25岁但不满50岁,已婚男性适用保险类型A,未婚男性适用保险类型B,已婚女性适用保险类型B,未婚女性适用保险类型C。(3)年龄在50岁以上者,已婚女性适用保险类型B,其余适用保险类型C。,1)提取问题中的条件条件是:年龄、性别、婚否,2)标出条件的取值年龄(不满25岁L、满25岁但不满50岁M、50岁以上H)性别(M、F)、婚否(Y、N),3)计算所有条件的组合数N,N=322=12,4)提取可能采用的动作或措施保险类型A、保险类型B、保险类型C,5)制作判定表,6)完善判定表。,四、程序流程图、盒图、PAD图,程序流程图程序流程图又称为程序框图,它是使用最广泛的一种描述程序逻辑结构的工具。,盒图(N-S图),盒图是由Nassi和Shneiderman两人于1973年提出来的,又称为N-S盒图。盒图描述三种基本控制结构的方法如下图所示。,在盒图中每个“程序的子成分”用盒子来表示。盒子中可以嵌套另一个盒子,嵌套深度没有限制。对模块的调用只能从盒子上部进入(单入口),从盒子下部出去(单出口)。盒图不提供任何随意转移控制的手段,可以保证程序只使用三种基本控制结构来构造单入口和单出口的程序。,PAD图,PAD图指问题分析图(ProblemAnalysisDiagram),是日本日立公司提出的一种算法描述工具,它是一种由左往右展开的二维树型结构。,举例:,4、下列是某程序的NS图(1)请将其转换成PAD图(2)请将其转换成程序流程图。,例5、把下面的程序段用PAD图表示出来。,WHILEPDOIFA0THENA1ELSEA2ENDIFIFB0THENB1IFC0THENC1ELSEC2ENDIFELSEB2ENDIFB3ENDWHILE,五、Jackson方法,便于表示层次;形象直观,可读性好;既能表示数据结构,也能表示程序结构。,1、逻辑数据结构,2、Jackson图的优点,3、用Jackson图表示数据结构,4、用Jackson图表示程序结构,教职工花名册,5、JSP设计步骤,用Jackson图画出输入数据和输出数据的数据结构;,找出输入数据结构与输出数据结构中有对应关系的数据单元;,按映射规则由数据结构图导出相应程序结构;,映射规则:为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框;根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框;根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。,列出所有的操作和条件;,用伪码表示程序处理过程。,举例:,6、学生成绩统计系统。每个学生有数学、英语、物理三门成绩,输入时按学生的学号及任意单门成绩输入,要求输出为以下打印文件,按学生的学号顺序输出各门成绩及平均分。,试用JACKSON的结构图描述问题的输入和输出的数据结构,并说明输入数据结构和输出数据结构之间的对应关系。,第一步:画出输入数据和输出数据的数据结构,第二步:找出输入数据结构与输出数据结构中有对应关系的数据单元,六、用白盒法、黑盒法设计测试用例,逻辑覆盖逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术,通过对程序逻辑结构的遍历实现程序的覆盖,它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。,逻辑覆盖标准,举例:,7、设有如下程序流程图根据表中的测试数据回答如下问题:(1)满足语句覆盖的最少测试组合是什么?(2)满足判定覆盖的最少测试组合是什么?(3)满足条件组合覆盖的最少测试组合是什么?,基本路径测试,基本路径测试是TomMcCabe提出的一种白盒测试技术。基本路径测试的基本步骤:1)根据过程设计结果画出相应的流图2)计算流图的环形复杂度3)确定线性独立路径的基本集合4)设计可强制执行基本集合中每条路径的测试用例,计算流图的环形复杂度,环形复杂度定量度量程序的逻辑复杂性。可以用下述三种方法之一来计算环形复杂度。流图中的区域数等于环形复杂度。流图G的环形复杂度V(G)E-N+2(其中E是流图中边的条数,N是流图中节点数)流图G的环形复杂度V(G)P+1(其中P是流图中判定节点的数目)使用基本路径测试法设计测试用例时,程序的环形复杂度决定了程序中独立路径的数量。,举例:,8、下面是某程序的流程图:(1)计算它的环路复杂性。(2)为了完成基本路径测试,求它的一组独立的路径。,独立路径指包含一组以前没有处理的语句或条件的一条路径。,(1)环路复杂性=判断数1617(个)(2)路径1:(0)(13)(19)路径2:(0)(14)(19)路径3:(0)(15)(19)路径4:(0)(16)(19)路径5:(0)(17)(19)路径6:(0)(18)(19)路径7:(0)(12)(19),等价类划分的步骤,1)根据输入条件,把输入数据划分等价类,并给出定义(如,有效等价类,无效等价类,合法的输入类,非法的输入类)。先考虑输入数据的数据类型(有效类型和无效类型),再考虑数据的范围(有效类型中的合法区间和非法区间)。2)确定测试用例:有效等价类的测试用例尽量公用,以期进一步减少测试次数;无效等价类必须每类一例,以防漏掉本来可能发现的错误。,地区码:空白或3位数字;前缀:非0或1开头的3位数字;后缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,请为被测程序设计测试方案。,第一步:划分等价类,举例:9、某城市的电话号码由

温馨提示

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

评论

0/150

提交评论