- 1、本文档共111页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 软件工程概述 主要内容 1 软件的发展与软件危机 2 软件工程 3 软件的生命周期 4 软件过程及模型 1.1 软件危机 计算机软件发展的三个时期 ??1、程序设计阶段(60年代中期之前)---“个体化” 早期,写程序,单个程序,一个人写-----”个体生产方式” 1)尚无软件概念,主要围绕硬件开发 2)规模小,工具简单 3)个性化 无文档 ??2、程序系统阶段(60年代中期-70年代中期) 中期,几个人配合,分工不是很明确,不规范---”生产作坊”,产品软件沿用----“个体化”开发方法。 1)出现高级语言 2)用操作系统统一进行资源管理 3)从单一的计算到工程设计 出现早期危机 如:人员变化,一个人负责,后来走了,谁来接替工作… 软件开发越来越走入困境. 例如: 1963年,美国飞往火星的火箭爆炸.FORTRAN Do 5 I=1,3 写成 Do 5 I=1.3 损失1000万 1967年,前苏联”联盟一号”宇宙飞船烧毁,由于软件忽略一个小数点,在进入气层时打不开降落伞而烧毁。失之毫厘,差之千里. ?3、软件工程阶段(70年代中期之后) ?软件开发成为一门新兴的工程学科——软件工程。 3.软件工程时期(70年代—至今) 软件危机加剧,科学家着手研究软件工程学的理论,方法和时限等一系列问题。 独唱--小合唱--合唱--万人大合唱 | | | 简单程序 较复杂程序 软件 Windows95有1000万行代码 Windows2000有5000万行代码 Windows2000开发人员结构 项目经理 约250人 开发人员 约1700人 测试人员 3200人 1.1.1 软件危机的介绍 软件危机的概念 ??软件危机是指在计算机软件开发和维护过程中的所遇到的一系列严重问题。 这些问题绝不是不能正常运行的软件才具有,实际上,几乎所有软件有不同程度的问题 。 1.1.1 软件危机的介绍 软件危机的主要表现7个方面: ? 对软件开发成本和进度的估计不准确 ??产品不符合用户的要求 ??软件质量不高、可靠性差 ??软件常常不可维护、错误难以改正 ??缺乏适当的文档资料 ??软件成本占系统总成本的比例逐年上升(见图) ??软件开发速度跟不上计算机发展速度 1.1.2 软件危机产生的原因 客观:软件本身特点 1)软件不同于硬件 。软件是一种逻辑实体,而不是具体的物理实体,具有高度的抽象性;软件的运行和维护阶段,没有传统意义上的机械磨损、老化问题。 2)软件不同于一般的程序。软件是一个逻辑上复杂而规模上庞大的系统,涉及技术、管理等多方面的问题; 1.1.2 软件危机产生的原因 主观:不正确的开发方法,落后的开发工具 1)忽视软件需求分析的重要性;对系统需求没有清楚和准确的认识就进入开发阶段。(见图) 2) 对软件与程序的概念不清;错误认为:软件开发=程序编写 3)忽视对软件开发过程的管理。轻视软件维护。软件开发与维护的方法不正确: 1.1.3 解决软件危机的途径 2、消除“个性” 软件工程研究目标:是以较低的成本获取较高质量的软件产品。(少花钱多干事) 体验软件工程各个阶段的主要工作,特别注意汲取教训,学会与他人合作,培养团队精神。(项目如造房子,管材料,管建房子,人力资源,电脑资源调配,跟客户沟通….每一个人具有螺丝钉的精神,不行,换同规格螺丝钉,把程序员的个性磨灭,变成标准配置,互相协作,互相监督,出现大量跳槽,三年之内跳槽,每跳一次工资会加高) 3、用好的软件工具 软件开发=焦油坑 软件开发=焦油坑 图是人月神话第一章的插图:拉布雷阿的焦油坑壁画(Mural of La Brea Tar Pits)。 史前,没有别的场景比巨兽在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越是猛烈,焦油纠缠得越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。 过去几十年的大型系统开发就犹如这样一个焦油坑。 软件工程背景 1968年由NATO(北大西洋公约组织)在德国召开的国际学术会议上,Feitz Bauer首先提出了“软件工程”概念。引入了现代软件的开发方法,希望用工程化的方法和原则来克服软件危机。 1.2 软件工程 ??软件危机--根源--解决途径:软件工程 二、软件工程定义 ??[IEEE 1993年]定义软件工程(Software Engineer): ?把系统的、规范的、可度量的途径应用于软件开发、运行和
文档评论(0)