欢迎来到天天文库
浏览记录
ID:42809758
大小:465.00 KB
页数:58页
时间:2019-09-23
《第1章 软件工程概念》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、概述本课程学习什么?解决什么问题?怎么学?目前软件项目有哪些阶段?各阶段所占的比例是多少?你如何定位?1软件工程yhuayun88@sina.com第一章软件工程概念1.1软件的定义与分类1.2软件的发展1.3软件工程定义1.4软件工程过程与软件生存周期1.5软件工程的目标与原则1.6软件开发范型2软件工程yhuayun88@sina.com1.1软件的定义与特点软件由计算机程序、数据及文档组成。软件的特点抽象性软件生产无明显制造过程无磨损性对计算机硬件依赖性软件的手工开发方式软件本身复杂性软件的高成本3软件工程yhuayun88@sina.com软件与硬件
2、、数据库、人、过程等共同构成计算机系统。软件种类可以从六个方面进行划分:按功能分类应用软件系统软件支撑软件软件的分类4软件工程yhuayun88@sina.com按规模分类微型小型中型大型甚大型极大型按工作方式分类分时软件实时软件交互式软件批处理式软件5软件工程yhuayun88@sina.com按服务对象分类项目软件产品软件按使用频度分类一次性使用软件频繁使用软件按失效影响分类高可靠性软件一般可靠性软件每一类软件在管理方面要求程度不同。6软件工程yhuayun88@sina.com软件的发展经历了三个阶段程序设计阶段—50至60年代程序系统阶段—60至70
3、年代软件工程阶段—70年代以后软件工程概念的出现源自软件危机。1.2软件的发展7软件工程yhuayun88@sina.com软件危机的主要特征软件开发周期大大超过规定日期;软件开发成本严重超标;软件质量难于保证;软件难于维护。原因软件本身的规模软件本身的复杂性软件产品的特殊性人们认识的局限性8软件工程yhuayun88@sina.com软件产品的复杂性(一)复杂性生产率例如,Windows95有1000万行代码,Windows2000有5000万行代码Exchange2000Windows2000项目经理25人约250人开发人员140人约1700人测试人员3
4、50人约3200人Exchange2000和Windows2000开发人员结构9软件工程yhuayun88@sina.com软件产品复杂性(二)早期第二阶段第三阶段第四阶段面向批处理多用户分布式系统强大的桌面系统有限的分布实时嵌入“智能”面向对象技术自定义软件数据库低成本硬件专家系统软件产品消费者的影响人工神经网络并行计算网络计算机19501960197019801990200010软件工程yhuayun88@sina.com成功的标准:用户在用用户可很容易做完要做的事失败的根本原因:开发人员写出的东西达不到用户要求(人的问
5、题.技术问题)1968年FritzBauer在NATO会议上的定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。”1983年IEEE的软件工程定义:“软件工程是开发、运行、维护和修复软件的系统方法。”1993年IEEE的一个更加综合的定义:“将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。”1.3软件工程定义12软件工程yhuayun88@sina.com换言之,软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降
6、低成本为目的。R.Pressman在他的《软件工程》教程中指出:软件工程的三个要素是方法、工具、过程。软件工程是一种层次化的技术,上一层为下一层提供支持。13软件工程yhuayun88@sina.com工具方法过程质量焦点软件工程的层次14软件工程yhuayun88@sina.com软件工程框架可用性性性确正合算选取适宜的开发范型采用合适的设计方法提供高质量的工程支持重视软件工程的管理基本过程支持过程组织过程目标过程原则15软件工程yhuayun88@sina.com如框架所示,软件工程有其自己的工程目标、工程活动以及工程原则。软件工程目标包括可用性、正确性
7、和合算性,规定了软件工程实践的结果(即软件)应具有的基本性质;软件工程活动包括需求、设计、实现、确认和支持,是为生产具有这些基本性质的软件产品应进行的基本工作;软件工程原则从四个方面(开发范型、开发方法、工程支持、工程管理)指导每一项工程的活动,以实现软件工程目标。16软件工程yhuayun88@sina.com软件工程的知识结构2001年5月ISO/IECJTC1发布了《SWEBOK指南V0.95(试用版)》,即GuidetotheSoftwareEngineeringBodyofKnowledge。SWEBOK把软件工程学科的主体知识分为10个知识领域。
8、这10个领域包括:软件需求软件设计软件构造软
此文档下载收益归作者所有