软件工程导论张海潘(第六版)第1-13章总结-P课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程导论张海潘(第六版)第1-13章总结-P课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 张海潘 第六 13 总结 课件
- 资源描述:
-
1、1 1 1、软件危机、软件危机 在计算机软件的开发和维护过程中所遇到的一系列严重在计算机软件的开发和维护过程中所遇到的一系列严重问题。问题。几乎所有的软件,都不同程度地存在着这些问题。几乎所有的软件,都不同程度地存在着这些问题。软件危机主要包括如下两方面的问题软件危机主要包括如下两方面的问题:如何开发软件,满足增长需求;如何开发软件,满足增长需求;如何维护软件;如何维护软件;2 2、解决软件软件危机的途径、解决软件软件危机的途径 解决软件危机的途径是软件工程。解决软件危机的途径是软件工程。按工程化的原则和方法组织软件开发工作是有效的,是摆按工程化的原则和方法组织软件开发工作是有效的,是摆脱软件
2、危机的一个主要出路。脱软件危机的一个主要出路。第一章第一章 软件工程学概述软件工程学概述2 3 3、软件软件 软件是程序、数据及文档的完整集合。软件是程序、数据及文档的完整集合。其中:其中:程序是能够完成预定功能和性能的可执行的指令序列;程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构;数据是使程序能够适当地处理信息的数据结构;文档是开发、使用和维护程序的图文资料。文档是开发、使用和维护程序的图文资料。4 4、软件工程软件工程 软件工程是采用工程的软件工程是采用工程的概念、原理、技术和方法概念、原理、技术和方法来来开发开发与维护与维护软件一门工程学科,从
3、而软件一门工程学科,从而经济地开发出高质量的软件经济地开发出高质量的软件并有效地维护它并有效地维护它。5 5、软件工程方法学、软件工程方法学 在软件在软件生命周期全过程生命周期全过程中使用的一整套中使用的一整套技术方法的集合技术方法的集合称称为软件工程方法学。为软件工程方法学。软件工程软件工程 第一章第一章 3 6 6、方法学三要素?、方法学三要素?工程方法学包含工程方法学包含3 3个要素:个要素:方法、工具方法、工具和和过程过程;方法方法:是完成软件开发的各项任务的技术方法,回答:是完成软件开发的各项任务的技术方法,回答“怎怎样做样做”的问题。的问题。工具工具:是为运用方法而提供的自动的或半
4、自动的软件工程:是为运用方法而提供的自动的或半自动的软件工程支撑环境。支撑环境。过程过程:是为了获得高质量的软件所需要完成的一系列任务:是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。的框架,它规定了完成各项任务的工作步骤。软件工程软件工程 第一章第一章 4 7 7、传统方法学、面向对象方法学、传统方法学、面向对象方法学 (1)传统方法学)传统方法学(生命周期方法学或结构化范型生命周期方法学或结构化范型)强调自顶向下;强调自顶向下;(2)面向对象方法学)面向对象方法学 强调主强调主动地多次反复迭代;动地多次反复迭代;(3)面向对象方法学)面向对象方法学4个要
5、点:个要点:对象;对象;类;类;继承;继承;消息消息软件工程软件工程 第一章第一章 5 8 8、软件生命周期、软件生命周期 软件孕育、诞生、成长、成熟、衰亡的生存过程。软件孕育、诞生、成长、成熟、衰亡的生存过程。软件工程软件工程 第一章第一章 6 软件生命周期软件生命周期1.问题定义2.可行性研究3.需求分析4.总体设计5.详细设计6.编码和单元测试7.综合测试8.软件维护7 各阶段具体任务:各阶段具体任务:1.问题定义:必须回答的关键问题是:问题定义:必须回答的关键问题是:“要要解决的问题解决的问题是什么?是什么?”。2.可行性研究:阶段回答的关键问题是:可行性研究:阶段回答的关键问题是:“
6、对于上一个阶段所确定的对于上一个阶段所确定的问题问题有行得通的解决办法有行得通的解决办法吗?吗?”3.需求分析:需求分析:“目标系统目标系统必须做什么必须做什么”,确定目标系统必须具备哪些,确定目标系统必须具备哪些功能。功能。4.总体设计:必须回答的关键问题是:总体设计:必须回答的关键问题是:“概括地说,应该概括地说,应该怎样实现怎样实现目目标系统?标系统?”总体设计又称为概要设计。总体设计又称为概要设计。5.详细设计:关键问题是:详细设计:关键问题是:“应该应该怎样具体地实现怎样具体地实现这个系统呢?这个系统呢?”6.编码和单元测试:关键任务是写出正确的容易理解、容易维护的程编码和单元测试:
7、关键任务是写出正确的容易理解、容易维护的程序模块。序模块。7.综合测试:关键任务是通过各种类型的测试使软件达到预定的要求。综合测试:关键任务是通过各种类型的测试使软件达到预定的要求。8.软件维护:通过各种必要的维护活动使系统持久地满足用户的需要。软件维护:通过各种必要的维护活动使系统持久地满足用户的需要。8 8 8、软件过程、软件过程 为为获得高质量软件所需要完成的获得高质量软件所需要完成的一系列任务的框架一系列任务的框架,它规定,它规定了完成各项任务的了完成各项任务的工作步骤工作步骤。是软件工程三要素之一的是软件工程三要素之一的过程过程。9 9、软件生命周期模型、软件生命周期模型 软件过程通
8、常用软件过程通常用软件生命周期模型软件生命周期模型来描述,它规定了把生命来描述,它规定了把生命周期周期划分成哪些阶段划分成哪些阶段以及各个以及各个阶段执行的顺序阶段执行的顺序,也称为过程,也称为过程模型。模型。1010、典型的生命周期模型、典型的生命周期模型 瀑布模型、瀑布模型、快速原型模型快速原型模型 增量模型、增量模型、螺旋模型螺旋模型 喷泉模型喷泉模型软件工程软件工程 第一章第一章 9 1111、瀑布模型、瀑布模型、软件工程软件工程 第一章第一章 实际的瀑布模型实际的瀑布模型传统的瀑布模型传统的瀑布模型10 1212、快速原型模型、快速原型模型 软件工程软件工程 第一章第一章 实线箭头实
9、线箭头表示开发过程表示开发过程 虚线箭头虚线箭头表示维护过程表示维护过程11 1313、增量模型、增量模型软件工程软件工程 第一章第一章 增量模型增量模型风险更大的增量模型风险更大的增量模型12 1414、螺旋模型:增加了、螺旋模型:增加了风险分析风险分析过程的过程的快速原型快速原型。软件工程软件工程 第一章第一章 简单得螺旋模型简单得螺旋模型完整的螺旋模型完整的螺旋模型13 1515、喷泉模型:、喷泉模型:面向对象软件开发迭代迭代和无缝无缝的特性软件工程软件工程 第一章第一章 喷泉模型喷泉模型14 1616、各模型特点、各模型特点瀑布模型的特点:瀑布模型的特点:1.阶段间具有顺序性和依赖性。
10、2.推迟实现的观点。3.质量保证的观点。快速原型:快速原型:是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成功能的一个子集。增量模型:增量模型:它分批地逐步向用户提交产品,整个软件产品被分解成许多个增量构件,开发人员一个构件一个构件地向用户提交产品。螺旋模型:螺旋模型:基本思想是使用原型及其他方法来尽量降低风险。理解这种模型的一个简单方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。(使用于内部开发的大规模软件项目)喷泉模型:喷泉模型:强调的是“迭代”和“无缝“的特性,是典型的面向对象的软件过程模型之一。15 复习重点复习重点软件危机软件工程软件工
11、程三要素软件生命周期包含的过程(3个时期、8个阶段)及各过程的任务瀑布模型快速还原模型16 1 1、可行性研究的目的:、可行性研究的目的:就是用最小的代价在尽可能短的时间内就是用最小的代价在尽可能短的时间内确定问题是否能够解决确定问题是否能够解决。必须记住,可行性研究的目的必须记住,可行性研究的目的不是解决问题不是解决问题,而是,而是确定问题是否确定问题是否值得去解决值得去解决。从下述从下述3 3个方面研究每种解法的可行性:个方面研究每种解法的可行性:1 1)技术可行性技术可行性 2 2)经济可行性经济可行性 3 3)操作可行性操作可行性 其他方面:其他方面:运行可行性、法律可行运行可行性、法
12、律可行性性2 2、典型的可行性研究有下述一些步骤:、典型的可行性研究有下述一些步骤:1.1.复查系统规模和目标。复查系统规模和目标。2.2.研究目前正在使用的系统研究目前正在使用的系统 3.3.导出新系统的高层逻辑模型导出新系统的高层逻辑模型 4.4.进一步定义问题进一步定义问题 5.5.导出和评价供选择的解法导出和评价供选择的解法 6.6.推荐行动方针推荐行动方针 7.7.草拟开发计划草拟开发计划 8.8.书写文档提交审查。书写文档提交审查。第二章第二章 可行性研究可行性研究17 3 3、系统流程图:、系统流程图:是概括性地描绘是概括性地描绘物理系统物理系统的传统工具,它的基本思想是用的传统
13、工具,它的基本思想是用图形图形符号符号以以黑盒子形式黑盒子形式描绘描绘组成系统的每个部件组成系统的每个部件。系统流程图表达的是系统流程图表达的是数据在系统各部件之间流动的情况数据在系统各部件之间流动的情况,而,而不是不是对数据进行加工处理对数据进行加工处理的控制过程,因此尽管系统流程图的某些的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却符号和程序流程图的符号形式相同,但是它却是物理数据流图是物理数据流图而而不是程序流程图不是程序流程图。基本符号如下。基本符号如下第二章第二章 可行性研究可行性研究18 库存清单系统的系统流程图库存清单系统的系统流程图19 4 4、数
14、据流图(、数据流图(DFDDFD)是一种图形化技术,它描绘信息流和数据从是一种图形化技术,它描绘信息流和数据从输入输入移动到移动到输输出出的过程中所的过程中所经受的变换经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在数据流图中没有任何具体的物理部件,它只是描绘数据在软件在软件中中流动和被处理流动和被处理的的逻辑过程。基本符逻辑过程。基本符号如下号如下:第二章第二章 可行性研究可行性研究20 附加符号:附加符号:星号(星号(*):表示):表示“与与”关系;关系;加号(加号(+):表):表示示“或或”关系关系 异或(异或():表示互斥关系):表示互斥关系第二章第二章 可行性研究可行
15、性研究21 5 5、画数据流图的步骤:、画数据流图的步骤:(1 1)从问题描述中提取数据流图的)从问题描述中提取数据流图的4 4种成分:种成分:u数据的源点数据的源点/终点终点u处理:处于静止状态的数据处理:处于静止状态的数据u数据流:处于运动中的数据数据流:处于运动中的数据u数据存储:数据存储:(2 2)画基本系统模型)画基本系统模型 (3 3)细化,描绘系统的主要功能(功能级数据流图)细化,描绘系统的主要功能(功能级数据流图)(4 4)对系统主要功能进一步细化)对系统主要功能进一步细化22 6 6、画数据流图举例:、画数据流图举例:银行计算机储蓄系统的工作过程大致如下:银行计算机储蓄系统的
16、工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址存款则系统记录存款人姓名、住址(或电话号码或电话号码)、身份证、身份证号码、存款类型、存款日期、到期日期、利率及密码号码、存款类型、存款日期、到期日期、利率及密码(可可选选)等信息,并印出存单给储户;等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。印出利息清单给
17、储户。23 第一步:第一步:提取数据流图的提取数据流图的四种成分四种成分:数据源点和终点数据源点和终点:业务员、储户:业务员、储户 处理:处理:(1)(1)事物处理事物处理 (2)(2)处理存款处理存款 (3 3)处理取款)处理取款 数据存储:数据存储:(1)(1)存款信息存款信息 (2)(2)取款信息取款信息 数据流:数据流:事物、存款单、存单事物、存款单、存单 密码密码 、取款单、利息清单、取款单、利息清单24 顶层数据流图顶层数据流图n 第二步:画基本数据流图第二步:画基本数据流图25 功能级数据流图功能级数据流图第三步:画功能级数据流图第三步:画功能级数据流图 26 细化的数据流图细化
18、的数据流图第四步:第四步:对系统主要功能进一步细化对系统主要功能进一步细化27 7 7、数据字典:、数据字典:数据的信息的集合,也就是对数据的信息的集合,也就是对数据流图数据流图中包含的中包含的所有元素所有元素的的定义定义的集合。的集合。可行性研究阶段,可行性研究阶段,数据流图数据流图与与数据字典数据字典共同构成系统的共同构成系统的逻辑模逻辑模型型。没有数据字典,数据流图就不严格,然而没有数据流图,。没有数据字典,数据流图就不严格,然而没有数据流图,数据字典也难于发挥作用。数据字典也难于发挥作用。数据字典应该由对下列数据字典应该由对下列4 4类元素类元素的定义组成:数据流、数据流的定义组成:数
19、据流、数据流分量(数据元素)、数据存储和处理。分量(数据元素)、数据存储和处理。由由数据元素组成数据数据元素组成数据的方式只有下述的方式只有下述3 3种基本类型种基本类型:顺序、选:顺序、选择、重复和可选。择、重复和可选。数据定义符号:数据定义符号:=+()=+()=等价于等价于 ;+和即连接;和即连接;选择一个;选择一个;重复重复 ;()()可选可选28 8 8、定义数据的方法、定义数据的方法 数据组成方式数据组成方式(三种基本类型三种基本类型):顺序:顺序 选择选择 重复重复 附加类型附加类型:可选可选 数据定义符号:数据定义符号:=+()=+()含义:含义:=意思是等价于意思是等价于(或
20、定义为或定义为);+意思是和意思是和(即,连接两个分量即,连接两个分量);意思是或意思是或(即,从方括弧内列出的若干个分量中选择一个即,从方括弧内列出的若干个分量中选择一个),通常用通常用“|”|”号隔开供选择的分量;号隔开供选择的分量;意思是重复意思是重复(即,重复花括弧内的分量即,重复花括弧内的分量);常常使用上限;常常使用上限和下限进一步注释表示重复的花括弧。和下限进一步注释表示重复的花括弧。()()意思是可选意思是可选(即,圆括弧里的分量可有可无即,圆括弧里的分量可有可无)。29 电话定义电话定义-应用举例应用举例 北京某高校可用的北京某高校可用的电话号码电话号码有有以下几类:以下几类
21、:n 校内电话校内电话号码由号码由4 4位数字组位数字组成,成,n 第第1 1位数字不是位数字不是0 0;n 校外电话校外电话又分为又分为本市电话本市电话和和外外n 地电话地电话两类;两类;p a)a)拨校外电话需先拨拨校外电话需先拨0 0,若是本市电话则再接着拨若是本市电话则再接着拨8 8位位数数 字字(第第1 1位不是位不是0)0);b)b)若是外地电话则拨若是外地电话则拨3 3位区位区码再拨码再拨8 8位电话号码位电话号码(第第1 1位不位不是是0)0)。请用定义请用定义数据字典数据字典的方法,定义的方法,定义上述的上述的电话号码电话号码。电话号码电话号码=校内电话号码校内电话号码|校外
22、电话号码校外电话号码 校内电话号码校内电话号码=非零数字非零数字+3+3 位数字位数字 /后面继续定义后面继续定义校外电话号码校外电话号码=本市号码本市号码|外地号码外地号码 本市号码本市号码=数字零数字零+8+8位数字位数字外地号码外地号码=数字零数字零+3+3位数字位数字+8+8位数字位数字非零数字非零数字=1|2|3|4|5|6|7|8|9=1|2|3|4|5|6|7|8|9数字零数字零0 03 3位数字位数字33数字数字3 /33 /3至至3 3个数字个数字8 8位数字位数字=非零数字非零数字+7+7位数字位数字7 7位数字位数字=7=7数字数字77数字数字0|1|2|3|4|5|6|
23、7|8|90|1|2|3|4|5|6|7|8|930 9 9、成本、成本/效益分析的目标效益分析的目标 正式要从正式要从经济角度分析经济角度分析开发一个特定的新系统开发一个特定的新系统是否划算是否划算,从而,从而帮助客户组织的负责人帮助客户组织的负责人正确地做出是否投资于这项开发工程正确地做出是否投资于这项开发工程的决定。的决定。第二章可行性研究第二章可行性研究31 复习重点:复习重点:可行性研究的目的可行性研究的目的 可行性研究的内容可行性研究的内容 数据流图的画法数据流图的画法 数据字典的实现数据字典的实现第二章第二章 可行性研究可行性研究32 1 1、需求分析的任务、需求分析的任务 准确
24、地回答准确地回答“系统必须做什么系统必须做什么”这个问题。而这个问题。而不必研究不必研究“如何如何做做”。需求分析的结果,是提供需求分析的结果,是提供准确完整准确完整的的软件需求规格说明书软件需求规格说明书。2 2、软件系统的、软件系统的综合要求综合要求 功能需求、功能需求、性能需求、可靠性和可用性需求、出错处理需求性能需求、可靠性和可用性需求、出错处理需求 接口需求、接口需求、约束约束 、逆向需求逆向需求 、将来可能提出的要求将来可能提出的要求3 3、分析系统的、分析系统的数据要求数据要求 (1 1)建立数据模型)建立数据模型E-RE-R图图 (2 2)描绘数据结构)描绘数据结构层次方框图和
25、层次方框图和WarnierWarnier图图 (3 3)数据结构规范化)数据结构规范化 第三章第三章 需求分析需求分析33 4 4、需求分析过程建立、需求分析过程建立三种模型三种模型u数据模型:实体数据模型:实体-联系图联系图u功能模型:数据流图功能模型:数据流图u行为模型:状态转换图行为模型:状态转换图u数据字典数据字典是分析模型的核心是分析模型的核心第三章第三章 需求分析需求分析5 5、实体、实体-联系图联系图 数据模型中包含数据模型中包含3 3种种相互关联的信息:相互关联的信息:数据对象数据对象、数据、数据 对象的对象的属性属性、数据对象彼此间相互连接的、数据对象彼此间相互连接的关系。关
展开阅读全文