欢迎来到天天文库
浏览记录
ID:14504993
大小:50.00 KB
页数:4页
时间:2018-07-29
《软件系统工程课件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一章软件工程学概述1.1软件危机1.1.1软件危机介绍1968年由NATO(北大西洋公约组织)在德国Garmish召开的学术会议上,FritzBauer首先提出了“软件工程”概念。软件技术面临的问题:复杂性和生产率如:Windows95有1000万行代码Windows2000有5000万行代码Exchange2000和Windows2000开发人员结构Exchange2000Windows2000项目经理25人约250人开发人员140人约1700人测试人员350人约3200人软件危机的主要特征:软件开发周期大大超过规定日期;软件开发成本严重超标;软件质量难于保证。衡量一个软件成功的标准
2、在于:用户在用;用户可很容易地完成要做的事。失败的根本原因:开发人员写出的东西达不到用户的要求(人的问题。技术问题)。处在十字路口的中国软件产业:主权大国必须建立基于自主技术的、完整的软件产业体系。软件本国提供果:中国1/3左右,美国97%“印度模式”还是“中国模式”软件人才结构不合理,缺乏中高级软件人才;此外,软件人员缺乏软件工程的概念也是问题之一。1.1.2产生软件危机的原因在软件开发和维护的过程中存在这么多严重问题,原因主要在于:一方面与软件本身的特点有关;另一方面也是软件开发与维护的方法不正确有关。1.1.3消除软件危机的途径为了解决软件危机,既要有技术措施(方法和工具),又要有
3、必要的组织管理措施。软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。1.2软件工程1.2.1软件工程的介绍软件工程的定义FritzBauer在NATO会议上给出的定义:软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理(方法)。IEEE[IEE83]给出的软件工程定义:“软件工程是开发、运行、维护和修复软件的系统方法。”IEEE[IEE93]给出了一个更加综合的定义:“将系统化的、规范的、可度的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。”综合以上得软件工程的定义为:软件工程是应用计算机科学、数学及管
4、理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。软件工程是一门交叉学科软件乘车的主要研究内容:1、软件开发技术:软件开发方法学;软件开发过程;软件工具和软件工程环境。2、软件工程管理:软件管理;软件经济学;软件心里学。软件工程所包括的内容不是一成不变的,随着人们对软件系统的研制开发和生产的理解。应该用发展的眼光来看待它。软件工程的本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是用具有一种文化
5、背景的人的思维去取代具有另一种文化背景的人的工作方式。1.2.2软件工程的基本原理1、用分阶段的生命周期计划严格管理;2、坚持进行阶段评审;3、实行严格的产品控制;4、采用现代程序设计技术;5、结果应能清楚地审查;6、开发小组的人员应该少而精;7、承认不断改进软件工程实践的必要性。1.2.3软件工程方法学软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)。软件工程----------一种层次化技术:工具-方法-过程-质量-特点软件工程三个要素:方法工具过程软件工程与一般工程的差异:软件是逻辑产品而不是实物产品;软件的功能依懒
6、于硬件和软件的运行环境以及人们对它的操作;软件设计的复杂性;软件特征(1、功能的多样性;2、实现的多样性;3、能见度低;4、软件结构合理性差);智力密集及知识产权保护。软件工程知识结构:软件需求;软件设计;软件构造;软件测试;软件维护;软件配置管理;软件工程管理;软件工程过程;软件工程工具和方法;软件质量。“软件工程”课程与其他软件专业课的区别:1、立足于系统的整体;讲授系统分析、系统设计、测试及维护的理论和方法;3、构筑一个软件系统,实践软件开发全过程。“软件工程”课程教学与实践的目标:1、转变对软件的认识:程序----系统;2、转变思维定式:程序员------系统工程师(系统分析员)
7、;3、工程化训练。“一个好的工业,应有一套良好的标准来配套”软件的工业化生产过程应具备的特点:1、明确的工作步骤;2、详细具体的规范化文档;3、明确的质量评价标准。软件工程技术的两个明显特点:软件产品的标准化----------软件开发过程的标准化1.3软件生命周期软件产品或软件系统从设计、投入使用到被淘汰的全过程。软件生存期的阶段划分:1、可行性研究与计划;2、需求分析;3、总体设计;4、详细设计;5、实现;6、集成测试;7、确认
此文档下载收益归作者所有