




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程发展史及发展趋势一:软件工程定义软件工程是一门研究用工程化方法构建和维护有效、实用和高质量软件学科。它包含到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。经典软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会发展,也提升了工作和生活效率二:软件工程发展历史伴随人类发展,计算机作为第三次科技革命关键代表产品,极大推进了人类社会发展。与此同时,软件作为现代计算机关键支撑部分,伴伴随计算机发展不停发展。早在20世纪50年代,相关软件编程语言就已经出现,不过相关软件工程这个概念却要远远晚于软件发展。据资料显示,软件工程这个概念最早出现在20世纪60年代末期。在软件工程发展半个多世纪内,软件工程所使用程序语言不停发展,而且有相关软件四六七零零四零二二号码论文写作工程模型不停发展,从最早瀑布模型到现在光为人所知云计算,软件工程几乎每隔5-就会取得一次突破性发展,而且相关软件语言从最早面向程序结构转向为面向对象,极大提升了软件编程效率。现在,软件工程经过50多年发展,已经深入到社会生活各个层面,能够说,现代社会生活,几乎在每一个方面都包含到软件工程。1.软件工程开发过程软件是由计算机程序和程序设计概念发展演化而来,是在程序和程序设计发展到一定规模而且逐步商品化过程中形成。软件开发经历了程序设计阶段、软件设计阶段和软件工程阶段演变过程。程序设计阶段程序设计阶段出现在1946年~1955年。此阶段特点是:尚无软件概念,程序设计关键围绕硬件进行开发,规模很小,工具简单,无明确分工(开发者和用户),程序设计追求节省空间和编程技巧,无文档资料(除程序清单外),关键用于科学计算。软件设计阶段软件设计阶段出现在1956年~1970年。此阶段特点是:硬件环境相对稳定,出现了“软件作坊”开发组织形式。开始广泛使用产品软件(可购置),从而建立了软件概念。伴随计算机技术发展和计算机应用日益普及,软件系统规模越来越庞大,高级编程语言层出不穷,应用领域不停拓宽,开发者和用户有了明确分工,社会对软件需求量剧增。但软件开发技术没有重大突破,软件产品质量不高,生产效率低下,从而造成了“软件危机”产生。软件工程阶段自1970年起,软件开发进入了软件工程阶段。因为“软件危机”产生,迫使大家不得不研究、改变软件开发技术手段和管理方法。以后软件产生进入了软件工程时代。此阶段特定是:硬件已向巨型化、微型化、网络化和智能化四个方向发展,数据库技术已成熟并广泛应用,第三代、第四代语言出现;第一代软件技术:结构化程序设计在数值计算领域取得优异成绩;第二代软件技术:软件测试技术、方法、原理用于软件生产过程;第三代软件技术:处理需求定义技术用于软件需求分析和描述。2.软件工程各个阶段面向对象软件工程(OOSE)自从1985年首次提出面向对象概念以来,面向对象技术作为一个全新软件开发方法开始在软件工程领域越来越被广泛使用。80年代末90年代初,面向对象软件工程方法展现百花齐放、百家争鸣局面。其中,引人注意是Booch、Rumbaugh和Jacobson为代表三种面向对象技术。这三种关键面向对象方法各有优缺点,而期望采取面向对象方法用户并不深知这些方法优缺点及相互之间差异,所以极难依据应用特点选择适宜建模方法和建模语言。于是,出现了UML。面向对象技术在软件工程领域全方面应用即是面向对象软件工程方法。它包含面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP)、面向对象测试(OOT)和面向对象软件维护(OOSM)等关键内容。面向对象分析和设计建模技术是面向对象软件工程方法关键组成部分。OOA基础任务是针对问题域和系统责任,利用OO方法,建立一个反应问题域OOA模型,不考虑与系统实现相关原因(包含编程语言、图形用户界面、数据库等等),从而使OOA模型独立于具体实现。OOD基础任务是依据已确立系统对象模型,利用面向对象技术,进行系统软件设计。其中包含两方面工作:一是把OOA模型直接搬到OOD,做为OOD一个部分;二是针对具体实现中人机界面、数据存放、任务管理等原因补充部分与实现相关部分。这些部分与OOA采取相同表示法和模型结构。从OOA到OOD不存在转换,只有很局部修改或调整,并增加多个与实现相关独立部分。OOA与OOD工作是连续、无缝,许可有一定相交,也许可从OOD返回到OOA。OOP工作就是用同一个面向对象编程语言把OOD模型中每个成份书写出来。OOT即是对于用OO技术开发软件,在测试过程中继续利用OO概念和标准,进行以对象概念为中心软件测试。OOSM。面向对象软件工程方法为改善软件维护提供了有效路径。程序与问题域一致,各个阶段表示一致,从而大大降低了了解难度;系统中最轻易改变原因(功效)作为对象服务封装在对象内部,对象封装性使一个对象修改对其她影响很小,从而避免了波动效应。OOSE可很好描述系统与其用户之间信息交换机制,即用于向软件系统提出需求后,软件系统完成这项需求过程。OOSE方法遵照瀑布式软件开发过程,首先是描述与系统交互相关用户视图,然后建立分析模型,最终结构过程则完成交互设计、实现和测试。OOSE方法最大特点是面向用例。用例(usecase)代表一些用户可见功效,实现一个具体用户目标。用例代表一类功效而不是使用该功效某一具体实例。用例是正确描述需求关键工具,贯穿于整个软件开发过程,包含对系统测试和验证过程。基于组件软件工程(CBSE)怎样愈加好地实现软件重用一直是软件工程关键研究课题。OO技术出现是软件开发技术巨大进步,但怎样实现大粒度重用以提升软件可维护性和可扩展性仍是一个难题,CBSE发展从根本上处理这一问题:因为COM/DCOM、JavaBeans/EJB等组件标准出现,CBSE趋向实用。1990年开始在基于面向对象技术基础上发展了组件技术,它丰富了重用手段和方法,逐步成为研究热点。组件(Component)是可用来组成软件系统即插即用(plugandplay)软件成份,是能够独立地制造、分发、销售、装配二进制软件单元。CBSE是指用装配可重用软件组件方法来结构应用程序。它包含了系统分析、结构、维护和扩展各个方面,在这些方面中都是以组件方法为关键。面向服务软件工程(SOSE)面对市场需求快速改变,要求企业系统含有灵敏服务、快速重构、资源重用及自由扩充等特点。这么就应运而生了面向服务架构(ServiceOrientedArchitecture,SOA)。它定义了组成系统服务,经过描述服务之间交互提供特定功效特征,而且将服务映射为具体某种实现技术。SOA关键概念是服务,即把软件一些功效独立出来,使之能独立运行,而且在逻辑关系上和运行应用系统成为一个层次。它接收来自全部授权对象请求,使得服务能够同时为多个应用程序提供相同功效,大大增大软件复用程度,降低开发和维护成本。一个服务是服务提供者为实现服务请求而实施一个工作单元(应用程序),是部分良定义操作,也就是说,一个服务实现了一个应用功效,它是一个粗粒度、可发觉软件实体,经过一组松散耦合和基于消息模型与其它应用或服务交互。三:软件工程未来发展趋势1.需求工程,渐成热点:专业化角色,日益复杂业务创新,全球分布团体以及互联网级交付速度,这些都对需求获取正确性和有效性提出了更高要求;我估计需求工程研究和实施会成为近期热点,其中UseCase技术会被更广泛而正确应用,而相关工具研发也会成为热点(如IBMRationalRequiementsComposer、Ravenflow等)。用例优势在于它天生是黑盒,它用自然语言抽象了用户和目标系统交互,避免了混入分析、设计和实现细节,以确保用例能够被不懂具体技术业务及测试人员所真正了解。2.DSSA和MDD,老树新花(基于领域构架[DSSA]与模型驱动开发[MDD]):伴随软件应用日益普及,软件已经超出了将手动步骤自动化范围,而开始成为业务创新关键推进力。所以,引入捕捉特定领域内最优异需求及其实现架构DSSA成为行业用户热点之一。而且,DSSA引入将MDD门槛大大降低了,也使基于DSSAMDD支撑工具成为可能,从而能够极大地提升开发效率并确保软件质量(比如,。]elelogicRhapsody就是一个成功基于实时嵌入式系统构架MDD工具)。3.迭代/灵敏,渐成标准:伴随软件交付周期日益加紧,迭代化开发已经成为大多数软件开发团体必选项。不过迭代对整个团体需求、架构、协同及测试能力都提出了更高要求,现在很多开发团体都在试图导入迭代化开发过程中,灵敏能够是被看成迭代化开发一个导入方法,只不过灵敏范围其实比迭代化开发更大部分。4.连续集成,蓄势待发:连续集成是确保迭代化开发质量关键方法,经过连续集成能够利用自动化方法来尽可能自动地、尽早确保代码质量。伴随迭代和灵敏流行,连续集成相关工具成为现在市场上新热点(如连续集成框架IBMRationalBuildForge,开源软件CruiseControl,代码静态分析工具KlocworkInsigtlt,IBMRationalSoftwareAnalyzer等)。5.基于实践过程框架,方兴未艾:开发角色专业化和分布全球化都要求软件开发过程愈加规范,而灵敏又要求过程必需紧密贴合项目实际需要,所以传统大一统过程无法符合这一需求。新一代过程将是以实践为关键,项目能够经过组装所需不一样实践来取得贴近项目要求过程。lJI(IvarJacobsonInternational)EssWork框架和IBMRationalRMC都是新一代基于实践过程框架。6.配置管理,昨日黄花:伴随开发团体规模日益减小,配置管理复杂性大大降低了,我们注意到越来越多用户转向使用开源配置管理工具(如Subeverison,JIRA,hosted-proiects等等)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025劳务派遣合同协议书范本
- 护理伦理毕业答辩
- 常见症状护理之头晕护理
- 湖北省武汉市江岸区七校2024-2025学年高一下学期4月期中生物试题 含答案
- 妇科常规护理体系构建
- 2025年低血钾知识试题
- 湖南省湘一名校联盟2024-2025学年高一下学期4月期中地理试题(原卷版)
- 山东省济宁市2025年高考模拟考试历史试题及答案(济宁三模)
- 浙江省衢州市五校联盟2024-2025学年高二下学期期中联考历史试题(含答案)
- 物流和快递合作协议
- 《护理心理学》试题及参考答案(四)
- T-CBDA 70-2023 中小型体育馆室内装饰装修技术规程
- 社区食堂租赁合同样本
- DB52T 1657-2022 磷石膏模盒通 用技术要求
- 2024年中级注册安全工程师《安全生产管理》真题及答案
- 煤矿居间合同范本
- 2024年居间合作备忘录:双方协商达成
- 厨房食材验收标准
- 与信仰对话 课件-2024年入团积极分子培训
- 小学五年级体育教案全册(人教版)
- 戏曲鉴赏学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论