第1章软件工程学的概述.pptVIP

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章软件工程学的概述

软 件 工 程 湖南农业大学信息科学技术学院  彭 佳 红 课时安排:48(40) 考核方式:考试(考查) 主 要 内 容 一、软件工程学概述 二、可行性研究 三、需求分析 四、形式化说明技术 五、总体设计 六、详细设计 七、实现 八、软件维护 九、面向对象方法引论 十、面向对象分析 、设计 与实现 十一、软件项目管理 第1章 软件工程学概述 数据是使程序能正常操纵信息的数据结构; 文档是与程序开发,维护和使用有关的图文材料。它记录软件开发的活动和阶段成果,具有永久性并能供人和机器阅读。 5、软件的开发至今尚未完全摆脱手工艺的开发方式,软件的开发至今尚未完全实现自动化。 6、软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 7、软件成本相当昂贵(智力密集) 8、相当多的软件工作涉及到社会因素(知识产权保护) 软件的发展 第一阶段——20世纪60年代中期以前,软件开发处于个体化生产状态。在这一阶段中,软件还没有系统化的开发方法。目标主要集中在如何提高时空效率上。 第二阶段——从20世纪60年代中期到70年代末期。软件开发已进入了作坊式生产方式,即出现了“软件车间”。软件开发开始形成产品。到20世纪60年代末,“软件危机”变得十分严重。 软件的发展 第三阶段——从20世纪70年代中期到20世纪80年代末期。软件开发进入了产业化生产,即出现了众多大型的“软件公司”。在这一阶段,软件开发开始采用了“工程”的方法,软件产品急剧增加,质量也有了很大的提高。 第四阶段——从20世纪80年代末期开始的。这是一个软件产业大发展的时期。也是软件工程大发展的时期,人们开始采用面向对象的技术和可视化的集成开发环境。以智能化、自动化、集成化、并行化、以及自然化为标志的软件开发新技术。 1.1 软件危机 迄今为止,计算机系统已经经历了4个不同的发展阶段,但是,我们仍然没有彻底摆脱“软件危机”的困扰,软件已经成为限制计算机系统发展的瓶颈。 为了更有效地开发与维护软件,软件工作者在20世纪60年代后期开始认真研究消除软件危机的途径,从而逐渐形成了一门新兴的工程学科——计算机软件工程学(通常简称为软件工程)。 1.1 软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。 概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 具体地说,软件危机主要有以下一些典型表现。 软件危机的表现 1、对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。从而降低了开发商的信誉,引起用户不满。 2、用户对已完成的软件不满意的现象时有发生。 3、软件产品的质量往往是靠不住的。 软件危机的原因 在软件开发和维护的过程中存在严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。 客观原因:软件缺乏“可见性”,管理和控制软件开发过程相当困难;另一原因:规模大,程序复杂性随程序规模增加以指数速度上升。 软件危机的原因 1、软件的规模越来越大,结构越来越复杂。随着计算机应用的日益广泛,需要开发的软件规模日益庞大,软件结构也日益复杂。 1968年美国航空公司订票系统达到30万条指令; IBM 360 OS 第16版达到100万条指令,花了5000个人年; 1973年美国阿波罗计划达到1千万条指令。Windows95有1000万行代码,Windows2000有5000万行代码.这些庞大软件的功能非常复杂, 体现在处理功能的多样性和运行环境的多样性。 有人曾估计,软件设计与硬件设计相比,其逻辑量要多达10~100倍。对于这种庞大规模的软件,其调用关系、接口信息复杂,数据结构也复杂,这种复杂程度超过了人所能接受的程度。 (软件项目的特殊性和人类智力的局限性) 软件危机的原因 2、软件开发的管理困难、无计划性。由于软件规模大,结构复杂, 又具有无形性, 导致管理困难,进程控制困难,质量控制困难,可靠性无法保证。 3、软件开发费用不断增加。软件生产是一种智力劳动, 它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。 4、软件需求不充分(软件开发人员对需求的理解与用户的本来愿望有差异)。 5、软件开发技术落后(缺乏有力的方法学和工具的支持)。 6、软件开发过程无评测手段。 软件危机 软件危机引发的思考(如何进行软件开发?如何维护现有的软件?如何适应社会对软件日益

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档