软件工程概述-信息管理技术.ppt

上传人:牧羊曲112 文档编号:6063552 上传时间:2023-09-19 格式:PPT 页数:40 大小:439.50KB
返回 下载 相关 举报
软件工程概述-信息管理技术.ppt_第1页
第1页 / 共40页
软件工程概述-信息管理技术.ppt_第2页
第2页 / 共40页
软件工程概述-信息管理技术.ppt_第3页
第3页 / 共40页
软件工程概述-信息管理技术.ppt_第4页
第4页 / 共40页
软件工程概述-信息管理技术.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《软件工程概述-信息管理技术.ppt》由会员分享,可在线阅读,更多相关《软件工程概述-信息管理技术.ppt(40页珍藏版)》请在三一办公上搜索。

1、1,软 件 工 程,林 茂,2,学习软件工程的目的,软件工程是一门集软件开发技术与软件管理技术于一体的专门基础课。具有广泛的实践性。学习的目的是让学生学会用工程的原理、技术和当前最好的管理手段进行软件的开发与维护。从而提高个人的素质。,3,课程考核办法,考核成绩:平时占40%(含平时作业和期中测验)实验占20%(含平时实验成绩和实验报告)期末测验占40%,案例练习,任务:请设计一个加法运算器。S1:请选出四个组长分成四组,每组完成一个任务。S2:第一组:提出具体的功能要求。第二组:进行软件的算法设计,画出流程图。第三组:进行软件的编码编写 C 语言代码。第四组:进行软件的测试组织一组数据测试。

2、S3:结果分析,第一章 软件工程概述,1.1 软件的概念 1.2 软件的发展与软件危机 1.3 软件工程 1.4 软件的开发方法、工具和环境 小 结思考与练习,返回章目录,6,1.1 软件的概念,软件是软件工程学的一个重要概念。它是由计算机程序发展而来的一种概念。那么,软件是不是程序呢?计算机程序是按既定的算法,用某种计算机语言所规定的指令或语句编写的一系列指令或语句的集合。,7,中国大百科全书中对软件的定义是:软件是计算机系统中的程序和和有关文件(文档)。这些文档资料包括:需求分析、功能说明、算法说明、结构说明、使用说明和维护说明等。特点:软件是一种逻辑实体,有抽象性。在它的开发过程中没有明

3、显的制造过程,没有硬件那样的机械磨损、老化问题。,8,软件可分为可执行部分和不可执行部分。1可执行部分 软件的可执行部分,是以编码信息存放在存储介质上的程序与过程。2不可执行部分 软件的不可执行部分,包括面向开发者的文档和面向用户的文档两部分。这两部分文档虽不可执行,但却是开发与维护可执行部分的重要依据。,返回节目录,9,1.2 软件的发展与软件危机,1.2.1 计算机软件的发展 1.2.2 软件危机,返回节目录,10,1.2.1 计算机软件的发展,自1946年世界上第一台电子计算机诞生以来,计算机软件的发展经历了三个时期,对应了硬件的四个发展阶段。第一时期程序设计时期 从1946年到二十世纪

4、60年代初,是计算机软件发展的初期。这个时期,程序仍是工程技术人员为解决某个具体的实际问题而专门编写的,规模也很小,程序设计很少考虑通用性,但十分讲究编程技巧。此时只有程序的概念,还没有软件的概念。,11,第二时期程序系统时期 从20世纪60年代初到70年代初,是计算机软件发展的第二个时期。此时,人们对软件的认识仅仅局限于“软件程序+说明”。该时期软件开发的特征表现在以下三个方面:(1)软件的开发方式由“个体生产”到“软件作坊”(2)程序的运行、维护也不再由一个人来承担。(3)程序已不再是计算机硬件的附属成分,而是计算机系统中与硬件相互依存、共同发挥作用所不可缺少的部分。,12,这个时期,软件

5、产业已经萌芽,其中一个重要特征就是出现了“软件作坊”,软件产品广泛销售,软件的数量急剧增加。基本上沿用软件发展早期所形成的个体化开发方式。软件的开发与维护费用以惊人的速度递增。更为严重的是,由于程序的个体化开发特征,使许多软件产品不可维护,最终导致了“软件危机“的出现。,13,14,第三时期软件工程时期 从20世纪70年代中期至今,是计算机软件发展的第三个时期。这个时期软件产业已经兴起,软件作坊已经发展为软件公司,甚至是跨国软件公司。软件的开发方式是以工程的思想为指导,用工程化的原则、方法和标准来开发和维护软件。软件开发的成功率大大提高,软件的质量也有了很大的保证。软件也已经产品化、系列化、标

6、准化、工程化。,15,1.2.2 软件危机,1软件危机的概念及其表现 软件本身是一个逻辑实体,而非一个物理实体,它是非实物性的,是不可见的。而软件开发又是一个“思考”过程,很难进行管理,开发人员以“手工作坊”的方式开发软件,完全按照自己的爱好和习惯进行,没有任何统一的标准和规范可以遵循。因而,在软件的开发过程中,人们遇到了许多困难(人员、时间、成本和维护)。高成本与低质量的矛盾,16,2软件危机产生的原因 A 软件危机的产生,一方面与软件本身的特点有关,另一方面也和软件开发与维护方法的不正确有关。因为:软件是一种逻辑实体,有抽象性。在它的开发过程中没有明显的制造过程,没有硬件那样的机械磨损、老

7、化问题。在某个系统设计完成以前,软件开发人员很难掌握其开发进度,也不易对其进行质量评价。因此,管理和控制软件的开发极为困难。,17,B 另外软件规模的不断增大,使程序的复杂程度也在不断增加,软件开发的难度也更难以衡量。对于大型软件的开发要求所有参与研发的人员之间也必须能够进行准确地交流。而实际情况是在用户、领域专家、软件开发人员之间没有一种合适的通讯手段。用户与软件人员之间交流困难,是造成软件危机的重要原因之一。,18,C 软件危机产生的另一原因,是软件的开发采用了“手工作坊”式的开发模式。当时的软件规模很小,多为一个人或一组人开发,开发人员没有统一的标准可以遵循,只是按照各自的爱好和习惯进行

8、软件的设计。其结果是开发者把方案构想、总体设计等重要开发步骤完全装在大脑里,只有程序流程图和可执行的源程序作为文档留下来,缺少必要的、面向开发者的、不可执行的文档,如软件需求说明书、结构图、程序代码中的注释、测试用例的设计及测试报告等。,3解决软件危机的途径 为摆脱软件危机,北大西洋公约组织成员国在1968年和1969年两度召开会议,商讨解决“软件危机”的对策。会议总结了软件开发中失败的经验与教训,吸收了机械工程和土木工程设计中成熟而严密的工程设计思想,首次提出了“软件工程”的概念,认为计算机软件的开发,也应像工程设计一样,进行规范性的开发,走“工程化”的道路。,20,1.3 软件工程,1.3

9、.1 软件工程概述 1.3.2 软件生存周期 1.3.3 软件生存期模型,返回节目录,21,1.3.1 软件工程概述,1.软件工程概述 软件工程是指导计算机软件开发和维护的一门工程学科。它运用工程开发的概念、原理、方法和技术来开发和维护软件,把经过时间考验而证明是正确的管理技术和当前能够用到的最好的开发方法结合起来,共同作用于软件的开发和维护。软件工程强调使用软件生命周期方法学和各种先进的分析方法、设计技术。,22,2、软件工程研究的对象 软件工程主要研究如何应用一些科学理论和工程技术观点,来指导软件系统的开发与维护。这使其逐渐成为一门严格的工程学科。主要包括:软件开发技术 软件管理,23,3

10、、软件工程的目标 软件工程的目标是提高软件产品的质量与软件开发的生产率,最终实现软件的工业化生产。“质量”是软件需求方最关心的问题,而“生产率”是软件供应方最关心的问题。“质量”与“生产率”之间又有着内在的联系,高生产率必须以质量合格为前提。,24,4、软件工程的主要环节有:人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试、维护等,如图1.1所示。,25,1.3.2 软件生存周期,如同人的一生要经历婴儿期、少年期、青年期、老年期直至死亡这样一个全过程一样,任何一个软件产品或软件系统也要经历软件定义、软件开发、软件维护直至被淘汰这样一个全过程。我们把软件经历的这一全过程称为软件生存

11、周期。,26,27,1 软件的定义阶段 软件定义阶段主要解决待开发的软件是“做什么”的这一问题。系统分析(定义)确定待开发软件的总体要求和适用范围,以及软硬件支撑的要求;软件项目计划(可行性)确定待开发软件的目标,对其进行可行性分析,并对资源分配、进度安排等作合理计划;需求分析(功能分析)确定系统的逻辑模型。,28,2软件的开发阶段 软件开发阶段主要解决该软件“怎样做”的问题。主要完成软件中数据结构和软件自身结构的设计,算法的设计,程序的编写,程序的测试。最后得到可交付使用的软件。它通常由下述四个阶段组成:概要设计 详细设计 软件编码和单元测试 综合测试,29,3软件的维护 通常有四类维护活动

12、:改正性维护,也就是诊断和改正在使用过程中发现的错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件为将来的维护活动预先做准备。,30,1.3.3 软件生存期模型,最早出现的软件开发模型是1970年W。Royce提出的瀑布模型,而后随着软件工程学科的发展和软件开发的实践,相继提出了演化模型、螺旋模型、增量模型、喷泉模型等。近年、又提出了渐增模型。,31,1 瀑布模型 一个更精确的软件开发步骤可按需要解决问题的顺序依次为:做什么如何做制作检测使用 首先应给出软件的目标,确定要做什么;然后要决定如何达到这一目标,给出策略、方法和

13、步骤;继而加以实现,制作出所需要的软件;经过适当的检测,判定符合初始目标以后,方可投人运行和使用。可以说这是瀑布模型的雏型。1970年WRoyce首先将这一瀑布模型的雏型精确化,提出了具有多个开发阶段的瀑布模型。,32,33,在瀑布模型中,各阶段结束后,都要进行严格的评审。技术评审、管理复审 评审不合格,返回上一节,重新设计开发,保证了软件产品的质量。特点:瀑布模型适用于客户需求明确,技术成熟,阶段目标明确的项目,但缺少灵活性。,34,2螺旋模型 螺旋模型是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。制定计划确定软件目标,选定实施方案,弄清项目开发的限制条件

14、;风险分析分析所选方案,考虑如何识别和消除风险;实施工程实施软件开发;客户评估评价开发工作,提出修正建议。,35,36,特点:螺旋模型适合于大型软件的开发,特别适合于对安全性和保密性需求极高的系统开发。只有经过特殊训练的专家才能完成,很难用形式化的方法来描述。,37,3喷泉模型 喷泉模型体现了软件创建所固有的迭代和无间隙的特征。这一模型表明了软件刻画活动需要多次重复。例如,在编码之前(实践之后),再次进行分析和设计,其间,添加有关功能,使系统得以演化。同时,该模型还表明活动之间没有明显的间隙,例如在分析和设计之间没有明显的界限。喷泉模型主要用于支持面向对象开发过程。由于对象概念的引入,使分析、设计、实现之间的表达没有明显间隙。并且,这一表达自然地支持复用。,38,39,小 结,1 软件的概念2 软件危机3 软件工程的概念(重点)4 软件的生存期模型瀑布模型(重点),40,思考与练习,课本 16页1、2、31-1.什么是软件危机?它和软件工程有什么关系?1-2.简述软件和软件工程的定义以及这两个定义的形成过程。1-3.什么是软件生存周期?简述软件生存周期的各个阶段的基本任务和工作结果。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号