软件工程示范教学2ppt课件_第1页
软件工程示范教学2ppt课件_第2页
软件工程示范教学2ppt课件_第3页
软件工程示范教学2ppt课件_第4页
软件工程示范教学2ppt课件_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

3:44:23,.,1,1,软件项目管理,软件工程示范教学,1、理论教学2、实践教学,.,2,软件工程,软件工程的基本概念,(1)什么是软件危机?软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。,.,3,(2)什么是软件工程?建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。,.,4,(3)什么是软件生命周期(lifecycle)指软件孕育、诞生、成长、成熟、衰亡的生存过程。,3:44:23,.,5,(4)什么是软件过程模型指软件项目从需求定义直至软件经使用后废弃为止,跨越整个生存周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。常见的有:瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型。,.,6,1、问题定义与可行性研究,点菜系统的问题定义电子点菜系统的功能如下:(1)用户在主界面上点击“开桌”按钮,系统生成订单号,并转向菜品浏览界面。系统以表格形式显示所有菜品,用户输入筛选条件,点击“筛选”按钮可缩小菜品浏览范围,菜品浏览显示项有:菜名、单价、详细、点菜等。点击“详细”可显示该菜的详细信息,包括菜系、口味、营养成份、主要适用人群、成品图片等。点击“选择”可将该菜加入到用户菜单中。用户确认“菜单”后,系统生成订单。订单中有一项显示菜的状态,有三个状态:待做、正在做和已完成。订单提交前,所有菜的状态为“待做”。订单提交后,系统即将订单传给厨师。用户用完餐后,点击“结帐”,系统生成最后的订单,系统将该订单传给收银员。(2)厨师收到订单后即开始做菜。每开始做一道菜就将该菜的状态由“待做”修改为“正在做”,菜做完后,将菜的状态由“正在做”修改为“已完成”,并通知传菜员上菜。提交订单后,用户仍可以随时向菜单中添加菜,如果菜的状态是“待做”还可以从订单中删除该菜。一旦订单中的菜的状态是“正在做”或“已完成”,则该菜不可以从订单中删除。(3)收银员完成收银工作,并将该订单转为历史菜单。,.,7,2、需求分析,软件需求指用户对所开发的软件在功能、性能、环境、可靠性、出错处理、逆向需求、约束等各方面的要求。需求分析主要回答待开发的系统必须“做什么”,并用需求规格说明书的形式准确、详细、规范地表达出来。,需求分析r的四项主要任务:1、确定对系统的综合要求2、分析系统的数据要求3、导出系统的逻辑模型4、修正系统开发计划,.,8,分正式和非正式访谈。可采用调查表形式可使用情景分析技术:就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。(1)用户参与;(2)模拟演示系统的行为。,.,9,例:某出版社系统调查表,.,10,分析建模什么是模型?为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。模型通常由一组图形符号和组织这些符号的规则组成。,.,11,结构化分析方法中的模型数据流图,描绘数据在软件系统内从输入移动到输出的过程中所经受到变换;数据字典:定义数据流图中包含的元素;实体关系(ER)图:从用户角度描述数据;状态变迁图图:是描述系统的状态如何响应外部信号,而进行转换的一种图形表示。,.,12,结构化分折模型的组成结构,.,13,基本概念实体:客观世界中存在的,可区分的事物。数据对象:实体在数据模型中的体现,能由一组属性来定义的实体都可以被认为是数据对象。属性:实体或数据对象所具有的性质。联系:客观事物之间的联系。联系分为三种:一对一(1:1)一对多联系(1:N)多对多联系(M:N),实体关系图,.,14,例:教学E-R图,.,15,通过图形的方法,从数据传递和数据处理的角度,刻画数据流从输入到输出的移动变换过程。数据流三个重要属性:数据流名字数据组成流向,数据流图(DFD,DataFlowDiagram),.,16,符号,.,17,分层数据流图,.,18,返回,例子:数据流图的画法,假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告结定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。,.,19,返回,第一步:从问题描述中提取数据流图的四种成分。数据的源点:仓库管理员;数据的终点:采购员;数据处理:处理事务,产生报表;数据流:事务,定货报表;数据存储:库存清单,定货信息。,.,20,返回,组成DFD的元素可以从描述问题的信息中提出,.,21,返回,第二步:画出系统的基本系统模型。,.,22,返回,第三步:细化基本系统模型为功能级。1、将定货系统分解为“处理事务”和“产生报表”两个处理;2、增加“库存清单”和“定货信息”两个数据存储;3、与数据存储相连的数据流与数据存储相同。,.,23,返回,第四步:把功能级数据流图中描绘的系统主要功能进一步细化。,.,24,DD是对数据流图中包含的所有元素的定义的集合,使得每个图形元素的名字都有一个精确的、严格的定义。数据流图和词典结合在一起,能清楚地表达数据处理的要求,构成了“需求说明书”,数据字典(DD,datadictionary),.,25,.,26,.,27,状态转换图(STD)状态转换图是一种常用的动态分析方法。描述系统的状态如何响应外部信号,而进行转换的一种图形表示。,.,28,状态转换图(STD)状态转换图是一种常用的动态分析方法。描述系统的状态如何响应外部信号,而进行转换的一种图形表示。,.,29,电话系统的状态图,.,30,3、软件设计,工作产品:(1)软件体系结构设计(总体设计);(2)接口设计;(3)构件设计(详细设计);(4)部署表示。,.,31,将需求分析摸型转换为软件设计,软件结构设计以需求分析中得到的数据流图为基础而进行。,.,32,软件设计的两个阶段:(1)概要设计(2)详细设计(包含界面设计),第一阶段:概要设计(总体设计)根据软件需求,设计软件系统结构和数据结构,确定程序的组成模块及模块之间的相互关系。回答“概括地说,系统应该如何实现?”。,.,33,描绘软件结构的图形具,层次图:层次图中,一个方框代表一个模块,方框间的连线表示调用关系。HIPO图=层次图IPO图,.,34,主要成分说明:一个方框表示一个模块;一个模块指向另一个模块的箭头或直线,表示前一模块对后一模块的调用;调用直线边的小箭头,表示调用时从一个模块传给另一个模块的数据,也指出了传送方向。,结构图(SCStructureChart),.,35,.,36,SC中的四种模块,从下属模块取得数据,经过处理,再传入上级模块,从上级模块获得数据,经过处理,再传送给下属模块,加工模块。从上级模块获得数据,经过处理,转换成其他形式,再送回上级模块。,对所有下属模块进行协调和管理的模块,.,37,.,38,面向数据流的设计方法,概念把信息流映射成软件结构,信息流的类型决定了映射的方法,信息流可分为两种类型:变换型流事务型流,.,39,变换型数据流基本模型,特点:具有明确的传入、变换(或称主加工)和传出界面的DFD,.,40,变换型数据流举例,.,41,事务型数据流基本模型,事务中心的任务:接受输入数据(事务)分析每个事务以确定它的类型。根据事务类型选取一条活动通路,+,+,.,42,事务型数据流举例,+,+,.,43,针对两种数据流的设计方法,.,44,混合型(既有变换型又有事务型)一般以变换分析为主,以事务分析为辅。分析方法:(1)确定哪些是事务处理,哪些是变换处理;(2)找出变换中心;(3)确定系统软件的顶层结构;(4)在以下各层中按上面介绍的方法分析设计它们的软件结构图。,.,45,.,46,第二阶段:详细设计(过程设计)(1)确定模块内部的算法和数据结构;(2)选定某种过程描述语言来描述各种算法;(3)产生精确描述各模块程序过程的详细文档,并进行评审。,.,47,详细设计的工具,(1)图形工具程序流程图(FC)盒图(NS)问题分析图(PAD)(2)表格工具判定表判定树(3)语言工具过程设计语言(PDL),.,48,标准符号,(1)程序流程图(FC),.,49,返回,实例:求头100个奇数平方和,C语言源程序main()ints,i;s=0;for(i=1;i1)THENX:=X+1END,3:44:23,.,79,返回,(1)语句覆盖:即每个语句至少能执行一次输入测试数据:测试用例1=(A=2,B=0,X=4),(A=2,B=0,X=3)执行路径:acef特点:语句覆盖只关心判定表达式的值,而没有分别测试判定表达式中每个条件的取值情况。语句是很弱的逻辑覆盖。例如在判定中,如果将and写成了or,在判定中将X1写成了X1,则测试用例1是检查不出来的。,2,3,黑盒测试技术,黑盒测试主要是为了发现以下错误:是否有不正确或遗漏了的功能?能否正确地接受输入?能否正确的输出结果?是否有数据结构错误或外部数据库访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?几种黑盒测试技术:等价类划分、边界值分析、错误推测法、因果图,等价类划分,基本思想:把所有可能的输入数据(包括有效或无效的),划分成若干数据类(等价类),然后从每个数据类中选取少数有代表性的数据做为测试用例。这种方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。,等价类测试步骤,步骤1:划分等价类(列出等价类表)等价类是指输入数据的子集合。在该子集合中,各输入数据对于发现程序中的错误都是等效的。根据程序功能说明,确定有效和无效的等价类步骤2:根据等价类设计测试用例包括有效等价类和无效等价类的设计。,步骤1:划分等价类,等价类分为:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。,步骤2:测试用例设计,原则1:为每一个等价类规定一个唯一编号;原则2:设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类

温馨提示

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

评论

0/150

提交评论