数据库与软件工程--软件工程概述35985.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据库与软件工程--软件工程概述35985.pptx》由会员分享,可在线阅读,更多相关《数据库与软件工程--软件工程概述35985.pptx(183页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程概述软件工程概述数据库与软件工程第二部分数据库与软件工程第二部分数据库与软件工程第二部分数据库与软件工程第二部分12n n软件工程综述软件工程综述n n软件生存周期软件生存周期n n软件质量与质量保证软件质量与质量保证n n软件工程管理软件工程管理n n软件开发环境软件开发环境3n n软件发展的三个阶段软件发展的三个阶段n n软件工程相关概念软件工程相关概念n n软件工程目标软件工程目标n n软件工程三要素软件工程三要素什么是计算机软件?什么是计算机软件?n计算机软件指计算机系统中的计算机软件指计算机系统中的程序及其文档程序及其文档u程序是计算任务的处理对象和处理规则的描述程序是计算任
2、务的处理对象和处理规则的描述F计算任务:任何以计算机为处理工具的任务计算任务:任何以计算机为处理工具的任务 F处理对象:数据(如数据、文字、图形、图像、声音等,它们只处理对象:数据(如数据、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及有关的含义)是表示,而无含义)或信息(数据及有关的含义)F处理规则一般指处理的动作和步骤。程序必须装入计算机内才能处理规则一般指处理的动作和步骤。程序必须装入计算机内才能工作工作u文档是为了便于了解程序所需的文档是为了便于了解程序所需的阐明性阐明性资料,文档一般是资料,文档一般是给人看的,不一定装入计算机给人看的,不一定装入计算机45软件的特点
3、:软件的特点:抽象性抽象性不是实物。不是实物。严密性严密性是逻辑产品。是逻辑产品。智力性智力性思维过程。思维过程。持久性持久性无时间损坏。无时间损坏。一次性一次性创造性的产物。创造性的产物。难以度量难以度量难定量测量。难定量测量。易出错易出错信息转移造成。信息转移造成。必须维护必须维护纠错和变更。纠错和变更。6软件发展的三个阶段软件发展的三个阶段n n程序设计时代(程序设计时代(50-6050-60年代)年代)软件指程序,软件开发关注程序编写,用汇编及机器语言软件指程序,软件开发关注程序编写,用汇编及机器语言软件指程序,软件开发关注程序编写,用汇编及机器语言软件指程序,软件开发关注程序编写,用
4、汇编及机器语言n n程序系统时代(程序系统时代(60-7060-70年代)年代)软件指程序及说明书,软件开发包括程序设计和测试,用软件指程序及说明书,软件开发包括程序设计和测试,用软件指程序及说明书,软件开发包括程序设计和测试,用软件指程序及说明书,软件开发包括程序设计和测试,用高级语言高级语言高级语言高级语言n n软件工程时代(软件工程时代(7070年代以后)年代以后)软件开发包括软件生命期,用软件语言(包括需求定义语言、软件开发包括软件生命期,用软件语言(包括需求定义语言、软件开发包括软件生命期,用软件语言(包括需求定义语言、软件开发包括软件生命期,用软件语言(包括需求定义语言、软件功能语
5、言、软件设计语言、程序设计语言等)软件功能语言、软件设计语言、程序设计语言等)软件功能语言、软件设计语言、程序设计语言等)软件功能语言、软件设计语言、程序设计语言等)7软件工程相关概念软件工程相关概念n n软件危机软件危机:在软件开发过程中遇到的问题找不到解决的办法,致使问题积累起在软件开发过程中遇到的问题找不到解决的办法,致使问题积累起在软件开发过程中遇到的问题找不到解决的办法,致使问题积累起在软件开发过程中遇到的问题找不到解决的办法,致使问题积累起来形成了日益尖锐的矛盾。来形成了日益尖锐的矛盾。来形成了日益尖锐的矛盾。来形成了日益尖锐的矛盾。危机实例(危机实例(危机实例(危机实例(1 1)
6、:):):):19631963年美国飞往火星的火箭探测器爆炸,造成年美国飞往火星的火箭探测器爆炸,造成10001000万美万美元元(数亿美元数亿美元)的损失。原因是用于控制火星探测器的计算机软件的损失。原因是用于控制火星探测器的计算机软件 FORTRAN FORTRAN程序:程序:DO 5 I=1DO 5 I=1DO 5 I=1DO 5 I=1,3 3 3 3 误写误写误写误写为:为:为:为:DO 5 I=1DO 5 I=1DO 5 I=1DO 5 I=1.3 3 3 3危机实例(危机实例(危机实例(危机实例(2 2):):):):19671967年苏联年苏联“联盟一号联盟一号”载人宇宙飞船在
7、返航时,由于载人宇宙飞船在返航时,由于软件忽略一个小数点,在进入大气层时因打不开降落伞而烧毁。软件忽略一个小数点,在进入大气层时因打不开降落伞而烧毁。宇航员:弗拉迪米尔宇航员:弗拉迪米尔科马洛夫科马洛夫8软件工程相关概念软件工程相关概念n n软件危机软件危机:危机实例(危机实例(危机实例(危机实例(3 3):):):):人员伤亡:由于计算机软件被广泛应用于包括医院等与生命息息相关人员伤亡:由于计算机软件被广泛应用于包括医院等与生命息息相关人员伤亡:由于计算机软件被广泛应用于包括医院等与生命息息相关人员伤亡:由于计算机软件被广泛应用于包括医院等与生命息息相关的行业。这也使得软件的错误导致人员伤亡
8、成为了可能。的行业。这也使得软件的错误导致人员伤亡成为了可能。的行业。这也使得软件的错误导致人员伤亡成为了可能。的行业。这也使得软件的错误导致人员伤亡成为了可能。Therac-25Therac-25Therac-25Therac-25的意外:的意外:的意外:的意外:(在软件工程界被大量引用的案例在软件工程界被大量引用的案例在软件工程界被大量引用的案例在软件工程界被大量引用的案例)在在在在1985198519851985年年年年六月到六月到六月到六月到1987198719871987年年年年一月之间一月之间一月之间一月之间,六个已知的医疗事故来自于六个已知的医疗事故来自于六个已知的医疗事故来自于
9、六个已知的医疗事故来自于Therac-25Therac-25Therac-25Therac-25错误地超过剂量错误地超过剂量错误地超过剂量错误地超过剂量,导致患者死亡或严重辐射灼伤导致患者死亡或严重辐射灼伤导致患者死亡或严重辐射灼伤导致患者死亡或严重辐射灼伤9软件工程相关概念软件工程相关概念n n软件危机软件危机:危机实例(危机实例(危机实例(危机实例(4 4):):):):IBMIBM公司公司公司公司1963-19661963-1966年开发年开发年开发年开发IBM360IBM360操作系统,项目花了操作系统,项目花了操作系统,项目花了操作系统,项目花了50005000人人人人-年的年的年的
10、年的工作量,最多时有工作量,最多时有工作量,最多时有工作量,最多时有10001000人投入开发工作,写出人投入开发工作,写出人投入开发工作,写出人投入开发工作,写出100100万行源程序,但发行的万行源程序,但发行的万行源程序,但发行的万行源程序,但发行的每一新版本都是上一版每一新版本都是上一版每一新版本都是上一版每一新版本都是上一版10001000个错误的修正。个错误的修正。个错误的修正。个错误的修正。事后负责人事后负责人事后负责人事后负责人F.D.BrooksF.D.Brooks总结教训时说:总结教训时说:总结教训时说:总结教训时说:“正象一只逃亡的野兽正象一只逃亡的野兽正象一只逃亡的野兽
11、正象一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷的越深。最后无法逃脱灭顶的落到泥潭中做垂死的挣扎,越是挣扎,陷的越深。最后无法逃脱灭顶的落到泥潭中做垂死的挣扎,越是挣扎,陷的越深。最后无法逃脱灭顶的落到泥潭中做垂死的挣扎,越是挣扎,陷的越深。最后无法逃脱灭顶的灾难。程序设计工作正像这样一个泥潭,一批批程序员被迫在泥潭中拼灾难。程序设计工作正像这样一个泥潭,一批批程序员被迫在泥潭中拼灾难。程序设计工作正像这样一个泥潭,一批批程序员被迫在泥潭中拼灾难。程序设计工作正像这样一个泥潭,一批批程序员被迫在泥潭中拼命挣扎,命挣扎,命挣扎,命挣扎,谁也没料到问题竟会陷入这样的困境谁也没料到问题竟会陷入
12、这样的困境谁也没料到问题竟会陷入这样的困境谁也没料到问题竟会陷入这样的困境”10软件危机的表现软件危机的表现n n对软件开发成本和进度的估计常常很不正确对软件开发成本和进度的估计常常很不正确对软件开发成本和进度的估计常常很不正确对软件开发成本和进度的估计常常很不正确n n用户对用户对用户对用户对“已完成的已完成的已完成的已完成的”软件系统不满意的现象经常发软件系统不满意的现象经常发软件系统不满意的现象经常发软件系统不满意的现象经常发生生生生n n软件产品的质量往往靠不住软件产品的质量往往靠不住软件产品的质量往往靠不住软件产品的质量往往靠不住n n软件常常是不可维护的软件常常是不可维护的软件常常
13、是不可维护的软件常常是不可维护的n n软件通常没有适当的文档资料软件通常没有适当的文档资料软件通常没有适当的文档资料软件通常没有适当的文档资料n n软件成本在计算机系统总成本中所占的比例逐年上软件成本在计算机系统总成本中所占的比例逐年上软件成本在计算机系统总成本中所占的比例逐年上软件成本在计算机系统总成本中所占的比例逐年上升升升升n n软件开发生产率提高的速度远远跟不上计算机应用软件开发生产率提高的速度远远跟不上计算机应用软件开发生产率提高的速度远远跟不上计算机应用软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势迅速普及深入的趋势迅速普及深入的趋势迅速普及深入的趋势11软件危机的
14、原因软件危机的原因n n软件是逻辑产品,开发进度、成本难以估计软件是逻辑产品,开发进度、成本难以估计软件是逻辑产品,开发进度、成本难以估计软件是逻辑产品,开发进度、成本难以估计n n缺乏或不完整、不一致的文档给维护带来困难缺乏或不完整、不一致的文档给维护带来困难缺乏或不完整、不一致的文档给维护带来困难缺乏或不完整、不一致的文档给维护带来困难n n用户对软件需求的描述往往不够精确,有遗漏,有二用户对软件需求的描述往往不够精确,有遗漏,有二用户对软件需求的描述往往不够精确,有遗漏,有二用户对软件需求的描述往往不够精确,有遗漏,有二义义义义n n软件开发人员对需求的理解与用户的本来愿望有差异软件开发
15、人员对需求的理解与用户的本来愿望有差异软件开发人员对需求的理解与用户的本来愿望有差异软件开发人员对需求的理解与用户的本来愿望有差异n n大型软件项目需多人协同完成,缺乏管理经验大型软件项目需多人协同完成,缺乏管理经验大型软件项目需多人协同完成,缺乏管理经验大型软件项目需多人协同完成,缺乏管理经验n n开发人员不能有效地、独立自主地处理大型软件的全开发人员不能有效地、独立自主地处理大型软件的全开发人员不能有效地、独立自主地处理大型软件的全开发人员不能有效地、独立自主地处理大型软件的全部关系部关系部关系部关系n n缺乏有力的方法学和工具的支持缺乏有力的方法学和工具的支持缺乏有力的方法学和工具的支持
16、缺乏有力的方法学和工具的支持n n软件项目的特殊性和人类智力的局限性软件项目的特殊性和人类智力的局限性软件项目的特殊性和人类智力的局限性软件项目的特殊性和人类智力的局限性12克服软件危机的途径克服软件危机的途径n n消除消除 错误的概念和做法错误的概念和做法错误的概念和做法错误的概念和做法n n推广推广使用成功的开发技术和方法使用成功的开发技术和方法使用成功的开发技术和方法使用成功的开发技术和方法n n使用使用软件工具和软件工程支持环境软件工具和软件工程支持环境软件工具和软件工程支持环境软件工具和软件工程支持环境n n加强软件加强软件加强软件加强软件管理管理摆脱软件危机的出路:摆脱软件危机的出
17、路:软件开发的软件开发的工程化工程化和和标准化标准化13软件工程相关概念软件工程相关概念n n软件工程软件工程:软件工程是用科学知识和技术原理来定义、开发、维软件工程是用科学知识和技术原理来定义、开发、维软件工程是用科学知识和技术原理来定义、开发、维软件工程是用科学知识和技术原理来定义、开发、维护软件的一门综合性的交叉学科,软件工程是开发与维护护软件的一门综合性的交叉学科,软件工程是开发与维护护软件的一门综合性的交叉学科,软件工程是开发与维护护软件的一门综合性的交叉学科,软件工程是开发与维护软件的规范化系统方法。软件的规范化系统方法。软件的规范化系统方法。软件的规范化系统方法。它综合应用计算机
18、科学、数学及管理科学等原理开发它综合应用计算机科学、数学及管理科学等原理开发它综合应用计算机科学、数学及管理科学等原理开发它综合应用计算机科学、数学及管理科学等原理开发软件的工程。软件的工程。软件的工程。软件的工程。计算机科学、数学用于构造模型与算法;计算机科学、数学用于构造模型与算法;计算机科学、数学用于构造模型与算法;计算机科学、数学用于构造模型与算法;工程科学用于制定规范、设计范型、评估成本及确定工程科学用于制定规范、设计范型、评估成本及确定工程科学用于制定规范、设计范型、评估成本及确定工程科学用于制定规范、设计范型、评估成本及确定权衡;权衡;权衡;权衡;管理科学用于用于计划、资源、质量
19、、成本等管理。管理科学用于用于计划、资源、质量、成本等管理。管理科学用于用于计划、资源、质量、成本等管理。管理科学用于用于计划、资源、质量、成本等管理。14软件工程的软件工程的目标目标n n能按时完成开发任务,及时交付使用;能按时完成开发任务,及时交付使用;能按时完成开发任务,及时交付使用;能按时完成开发任务,及时交付使用;n n付付付付出出出出较较较较低低低低的的的的开开开开发发发发成成成成本本本本,达达达达到到到到要要要要求求求求的的的的软软软软件件件件功能;功能;功能;功能;n n取得较好的软件性能;取得较好的软件性能;取得较好的软件性能;取得较好的软件性能;n n开发的软件易于移植;开
20、发的软件易于移植;开发的软件易于移植;开发的软件易于移植;n n需要较低的维护费用;需要较低的维护费用;需要较低的维护费用;需要较低的维护费用;n n开发的软件可靠性高。开发的软件可靠性高。开发的软件可靠性高。开发的软件可靠性高。15软件工程三要素软件工程三要素n n软件工程方法软件工程方法n n软件工具软件工具n n软件工程过程软件工程过程 为软件开发提供为软件开发提供“如何做如何做”的技术。如怎样定项目计划、怎的技术。如怎样定项目计划、怎样实施需求分析、如何测试等。样实施需求分析、如何测试等。为软件工程方法提供自动或半自动软件支撑环境。如软件开发为软件工程方法提供自动或半自动软件支撑环境。
21、如软件开发工具、测试工具等。软件开发的不同阶段可使用不同的工具。工具、测试工具等。软件开发的不同阶段可使用不同的工具。将软件工程划分为若干阶段,分配方法和工具,定义每个阶将软件工程划分为若干阶段,分配方法和工具,定义每个阶段的先后顺序和完成标志。段的先后顺序和完成标志。16软件生存周期软件生存周期n n生存周期概念生存周期概念n n生存周期各阶段生存周期各阶段n n生存周期模型生存周期模型17软件生存周期软件生存周期软软件件生生存存周周期期(software life cycle)又又称称为为软软件件生生命命期期。是是指指从从形形成成开开发发软软件件概概念念起起,所所开开发发的的软软件件使使用
22、用以以后后,直直到到失去使用价值消亡为止的整个过程。失去使用价值消亡为止的整个过程。一一般般来来说说,整整个个生生存存周周期期包包括括计计划划、开开发发、运运行行三三个个时时期期,每每一一个个时时期期又又划划分分为为若若干干阶阶段段。每每个个阶阶段段有有明明确确的的任任务务,这这样样使使规规模模大大、结结构构复复杂杂和和管管理理复复杂杂的的软软件件开开发发变变得得容容易易控控制和管理。制和管理。n n软件生存周期概念软件生存周期概念18软件生命周期软件生命周期n n软件生命期各阶段软件生命期各阶段1.1.软件计划与可行性研究软件计划与可行性研究软件计划与可行性研究软件计划与可行性研究2.2.软
23、件系统需求分析软件系统需求分析软件系统需求分析软件系统需求分析3.3.软件设计软件设计软件设计软件设计4.4.软件编码软件编码软件编码软件编码5.5.软件测试与调试软件测试与调试软件测试与调试软件测试与调试6.6.软件运行与维护软件运行与维护软件运行与维护软件运行与维护软件生命期一般包括以下各阶段:软件生命期一般包括以下各阶段:19软件软件-建筑建筑计划与可行性研究计划与可行性研究计划与可行性研究计划与可行性研究系统需求分析系统需求分析系统需求分析系统需求分析软件设计软件设计软件设计软件设计软件编码软件编码软件编码软件编码软件测试与调试软件测试与调试软件测试与调试软件测试与调试软件运行与维护软
24、件运行与维护软件运行与维护软件运行与维护20一、一、软件计划与可行性研究软件计划与可行性研究n n目的目的确定软件项目是否能够开发?是否值得去开发?确定软件项目是否能够开发?是否值得去开发?输出:可行性研究报告输出:可行性研究报告 成本成本效益分析效益分析 项目开发计划项目开发计划 21一、软件计划与可行性研究一、软件计划与可行性研究初步确定项目的规模和目标,确定项目的约束和限制。初步确定项目的规模和目标,确定项目的约束和限制。分分析析员员进进行行简简要要的的需需求求分分析析,抽抽象象出出逻逻辑辑结结构构,建建立立逻逻辑模型。辑模型。从从逻逻辑辑模模型型出出发发,经经过过压压缩缩的的设设计计,
25、找找出出几几种种可可供供选选择择的解决办法。的解决办法。n n过程过程22一、软件计划与可行性研究一、软件计划与可行性研究对对每每种种解解决决方方法法,可可从从以以下下三三个个方方面面分分析析研研究究每每种种解解决决方法的可行性。方法的可行性。1技术可行性技术可行性2经济可行性经济可行性3社会可行性社会可行性n n内容内容23软件可行性研究软件可行性研究1技术可行性技术可行性对对要要开开发发项项目目的的功功能能、性性能能、限限制制条条件件进进行行分分析析,确确定定在现有的资源条件下,技术风险有多大,项目是否能实现。在现有的资源条件下,技术风险有多大,项目是否能实现。资源:已有的或可以获得的硬件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 软件工程 概述 35985
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内