资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,本资料仅供参考,不能作为科学依据。谢谢,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,本资料仅供参考,不能作为科学依据。谢谢,第一章,软件工程现实状况及发展,高级软件工程,第1页,1,2,参考资料,系统分析与设计导论,,(美),Jeffrey L.Whitten,等著,机械工业出版社。,(,美,)Roger S.Pressman,著,郑人杰等译,软件工程,:,实践者研究方法,(,原书第,8,版,本科教学版,),,机械工业出版社。,Joey George,等著,龚晓庆 等译,面向对象分析与设计(原书第,2,版),清华大学出版社。,秦航,软件设计和体系结构,清华大学出版社,。,张友生,软件体系结构原理、方法与实践(第,2,版),清华大学出版社,。,第2页,2,3,网上参考资料学生上网查找、搜集,第3页,3,什么是软件?,软件,是指计算机,程序,、运行程序所需,数据,、与程序相关,文档资料,总称。,“,软件,”强调产品、工程、产业或学科层面,“,程序,”更侧重技术层面含义,运行程序所需数据,计算机程序,文档,第4页,4,软件特点,软件是一个,逻辑实体,,而不是详细物理实体。因而它含有抽象性;,软件生产与硬件不一样,在它开发过程中,没有显著制造过程;,在软件运行和使用期间,,没有硬件那样机械磨损,老化问题。,第5页,5,软件特点(续),软件开发和运行常受到计算机系统限制,对计算机系统有着不一样程度依赖性,软件开发至今,还未完全摆脱手工艺开发方式,软件本身是复杂,实际问题复杂性,程序逻辑结构复杂性,软件成本相当昂贵,相当多软件工作包括到社会原因,第6页,6,软件开发技术发展过程,1950-1960,年代:,软件,=,程序,(Program),面向过程软件,=,算法,(Algorithm)+,数据结构,(Data Structure),1970,年代:,软件,=,程序,(Program)+,文档,(Document),软件,=,程序,(Program)+,文档,(Document)+,数据,(Data),1980,年代:,面向对象软件,=,对象,(Object)+,消息,(Message),1990,年代,至今:,面向构件软件,=,构件,(Component)+,框架,(Framework),面向服务软件,=,服务,(Service)+,消息,(Message)+,总线,(Bus),第7页,7,软件危机,软件危机:计算机软件开发和维护过程所碰到一系列严重问题;,软件危机表现:,对软件开发成本和进度估算很不准确,,甚至严重拖期和超出预算;,无法满足用户需求,造成用户很不满意;,质量很不可靠,经常失效;,难以更改、调试和增强;,没有适当文档;,软件成本比重上升;,软件开发生产率跟不上计算机应用快速深入趋势。,第8页,8,什么是软件工程?,软件工程是一个工程形式,它利用计算机科学和数学原理,针对软件问题取得一个经济有效处理方案。,用系统、规范、可度量方法,开发、运行和维护软件。,软件工程最基本关键,质量和生产率。,软件工程是一门非常强调实践学科(最正确实践)。,软件工程是采取系统工程学和管理学相结合原理、方法和技术来指导、管理和实施软件各种活动,包含软件开发、运行、维护和服务等。,第9页,9,什么是高质量和生产率,?,高质量就是最大程度地满足客户需求、帮助客户取得成功;,高生产力就是以最小成本取得最好收益,即在要求时间和预算之内完成软件开发、维护和服务等任务。,第10页,10,怎样了解软件工程基本思想?,将软件看成一个系统,经过迭代来完善软件系统,逐步迫近客户需求,软件开发是工程和艺术统一、创造性和规范性统一,过程决定产品,连续改进过程,质量以预防为主、重在文化建设,以客户为中心、软件即服务,个人和团体并重,向传统成熟工业学习,适合自己,才是最好,第11页,11,软件工程四个要素,管理:针对不一样领域建立目标、标准和规则,过程:定义完成软件各项任务工作阶段、内容、流程、阶段性结果和验收要求,方法:软件开发、运行和维护等所需技术方法,工具:为方法利用提供自动或半自动软件支撑环境,第12页,12,软件过程基本概念,过程,是针对一个给定目标一系列运作步骤,是在过程环境下一系列有序活动;,活动,是过程对象一次状态改变,也叫过程步;,任务,是完成活动所需要原子动作。,如,实现(或结构)是属于开发过程一个活动,而详细设计、设计复审、编码、测试计划以及规范开发、代码复审和测试等都被看作是任务,实现(活动)由这些任务组成,第13页,13,软件生产问题,用户对生产出软件不满意,开发人员往往不重视或不善于和客户交流,找出客户真正需要东西,慌忙地进行开发,在开地过程中又不能从客户那里得到反馈信息,最终生产出软件和客户想要相差很远,难免出现纠纷。,第14页,14,软件生产问题原因,软件需求不充分,没有将问题搞清楚就慌忙上马,在开发过程中又不能和客户有效地沟通,许多问题在交付软件时才集中地暴发出来,这时候已经是大势已去,难以挽回了(在实际软件开发中,,首先应该满足是客户需要,,开发软件不是为了展示个人技巧。),第15页,15,软件发展趋势,遗留软件将继续发挥作用。,软件应用范围将继续扩大,成为信息社会基础设施。,网络化软件将是发展重点。,软件可靠性与安全性日趋主要。,工业化生产是必由之路。,第16页,16,软件工程技术发展,分布式对象技术,Microsoft COM/DCOM/COM+,OMG CORBA(Common Object Request Broker Architecture),Sun Microsystem JavaBean,第17页,17,软件工程技术发展,软件复用技术,Pattern(analysis,design,process),Framework,基于构件开发,第18页,18,基于云计算平台进行软件开发,微软云计算平台服务,阿里巴巴云计算平台服务,第19页,19,当代软件开发对人才要求,扎实基础,创新、独立工作能力,主人翁精神和团体精神,沟通与协调能力,成就感强、有激情,自觉地干好工作,锲而不舍,从错误中学习,第20页,20,软件开发中错误观点,只要掌握了,1-2,门程序设计语言,进行软件开发就没有问题。,软件需求分析很困难,不论三七二十一先把软件做了再说,反正软件是灵活,随时能够修改。软件需求分析很困难,不论三七二十一先把软件做了再说,反正软件是灵活,随时能够修改。,只要有最好开发工具、最好计算机,一定能做出优异软件。只要有最好开发工具、最好计算机,一定能做出优异软件。,总之,错误认为:软件就是程序,开发软件就是编写程序。,第21页,21,问题,描述你所认为软件开发现实状况?,为何需要软件工程?,假如你是软件企业老板,你可能碰到哪些棘手问题?,写出你所知道,5,个以上软件开发模型;,给出,2,种当代软件工程技术并举例。,第22页,22,
展开阅读全文