1、单元 04 物联网软件工程单元目标 物联网软件工程概述 软件和软件危机 软件过程模型学习任务任务描述了解物联网软件工程的概念,特别注意什么是软件,软件危机的起源和发展,以及常用软件过程模型简介。知识准备4.1 物联网软件工程的概念物联网软件工程一般会遵循以上几个步骤进行。物联网软件工程的设计与实施主要如下:(1)业务过程评估甚至重组。(2)需求分析。(3)系统功能设计。(4)系统构建。(5)集成商的选择。(6)设备选型。(7)安全性设计。(8)项目实施监理。4.2 软件和软件危机4.2.1 软件软件是与计算机系统中硬件相互依存的部分, 国标中对软件的定义为:与计算机系统操作有关的计算机程序、规
2、程、规则,以及可能有的文件、文档及数据。其它定义如下:1运行时,能够提供所要求功能和性能的指令或计算机程序集合。2程序能够满意地处理信息的数据结构。3描述程序功能需求以及程序如何操作和使用所要求的文档。以开发语言作为描述语言,可以认为:软件=程序+数据+文档软件的特点主要有:1. 软件是一种逻辑产品2.软件产品的生产主要是研制,通过复制就可以产生大量产品3.软件在使用过程中,没有磨损,老化的问题4.软件对硬件有着不同程度的依赖性5.软件的开发主要是脑力活动6.软件极其复杂7.软件的成本相当昂贵8.软件工作牵扯到很多社会因素4.2.2 软件危机软件危机(software crisis),20 世
3、纪 60 年代以前,计算机刚刚投入实际使用, 软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制,采用密切依赖于计算机的机器代码或汇编语言,软件的规模比较小,文档资料通常也不存在,很少使用系统化的开发方法, 设计软件往往等同于编制程序, 基本上是个人设计、 个人使用、个人操作、自给自足的私人化的软件生产方式。60 年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长。高级语言开始出现;操作系统的发展引起了计算机应用方式的变化; 大量数据处理导致第一代数据库管理系统的诞生。软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出。原来的个人设
4、计、个人使用的方式不再能满足要求,迫切需要改变软件生产方式,提高软件生产率,软件危机开始爆发 。1968 年,北大西洋公约组织(NATO)在联邦德国的国际学术会议创造软件危机(Software crisis)一词。而 1960 年代中期开始爆发众所周知的软件危机,为了解决问题,在 1968、1969 年连续召开两次著名的 NATO 会议,并同时提出软件工程的概念。软件危机产生的原因主要有:1.对软件开发成本和进度的估计常常不准确。开发成本超出预算,实际进度比预定计划一再拖延的现象并不罕见。2.用户对“已完成”系统不满意的现象经常发生。3.软件产品的质量往往靠不住。Bug 一大堆,Patch 一
5、个接一个。4.软件的可维护程度非常之低。5.软件通常没有适当的文档资料。6.软件的成本不断提高。7.软件开发生产率的提高赶不上硬件的发展和人们需求的增长。4 4.3.3 软件过程模型软件过程模型软件工程诞生于 60 年代末期,它作为一个新兴的工程学科,主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本 、改进软件产品质量、提高软件生产率水平的目标。 软件工程学从硬件工程和其他人类工程中吸收了许多成功的经验,明确提出了软件生命周期的模型,发展了许多软件开发与维护阶段适用的技术和方法,并应用于软件工程实践,取
6、得良好的效果。在软件开发过程中人们开始研制和使用软件工具, 用以辅助进行软件项目管理与技术生产, 人们还将软件生命周期各阶段使用的软件工具有机地集合成为一个整体, 形成能够连续支持软件开发与维护全过程的集成化软件支援环境, 以期从管理和技术两方面解决软件危机问题。4.3.1 软件过程模型所谓软件过程模型就是一种开发策略, 这种策略针对软件工程的各个阶段提供了一套范形,使工程的进展达到预期的目的。对一个软件的开发无论其大小,我们都需要选择一个合适的软件过程模型,这种选择基于项目和应用的性质、采用的方法、需要的控制,以及要交付的产品的特点。一个错误模型的选择,将迷失我们的开发方向。对于下面的模型,
7、希望能够给开发者们一个参考和一点启示。4.3.2 瀑布模型瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的, 从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。瀑布模型瀑布模型是最早出现的软件开发模型, 在软件工程中占有重要的地位,它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输
8、入, 利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。对于经常变化的项目而言,瀑布模型毫无价值。瀑布模型有以下优点:1)为项目提供了按阶段划分的检查点。2)当前一阶段完成后,您只需要去关注后续阶段。3)可在迭代模型中应用瀑布模型。增量迭代应用于瀑布模型。迭代 1 解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。4)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。瀑布模型有以下缺点:1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。4)瀑布模型的突出缺点是不适应用户需求的变化。任务实训实训目的 物联网软件工程概述 软件和软件危机软件过程模型
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。