软件工程与CASE工程综述

软件工程与CASE工程综述
软件工程与CASE工程综述

软件工程综述论文软件工程概论论文:

软件工程与CASE工程综述

摘要:首先介绍了自60年代末期以来软件工程中采用的结构化方法、面向对象方法学、实体关系方法、面向事件方法、形式化方法以及近年来多种方法的结合研究,然后介绍了自80年代中期以来软件工程中采用的CASE技术的发展情况,最后指出今后的软件工程应该是“方法学+CASE技术”的结合,并且很有可能在今后的软件工程中,CASE技术将占据主导地位。

关键词:软件工程计算机辅助软件工程结构化方法面向对象方法学实体关系方法面向事件方法形式化方法

1软件危机的出现和软件工程的提出

40年代中期到60年代中期是计算机系统发展的第一个时期。在这一时期中,通用的计算机硬件已经相当普遍,软件则是为每个具体的应用问题而专门编写的。这一时期的软件通常是规模比较小的程序,编写者和使用者往往是同一个人或同一组人,软件开发具有明显的个体化特征。

60年代中期到70年代中期为计算机系统发展的第二个时期。这一时期的一个重要特征是出现了“软件作坊”,广泛使用产品软件。但是,“软件作坊”基本上还是沿用早期形成的个体化的软件开发方法。随着计算机应用的不断扩展,软件数量不断膨胀,并出现了许多始料不及的问题:要花费大量的时间和精力去修改程序中的错误,要忙于修改程序以满足用户提出的新的需求,为了跟上硬件平台的改变或操作系统的更新而不得不修改程序以适应新的环境。凡此种种维护

工作在整个计算机系统中所占的比重越来越大。更为严重的是:许多软件的个体化特征使得它们最终成为不可维护的。这样,就开始出现了软件危机(Software Crisis)o

为了摆脱软件危机的困境,北大西洋公约组织(NA-TO)的科学委员会于1968年召开了有关的研讨会,首次提出了“软件工程”(Software Engineering)的概念,其主要思路是:要把人类长期以来从事各种工程项目所积累起来的行之有效的原理、概念、技术和方法,特别是人类从事计算机硬件研究和开发的经验教训,应用到软件的开发和维护中来。下面介绍软件工程方法学的发展过程。

2软件工程方法学的历史发展

自从1968年首次提出并使用“软件工程”这个术语以来,研究软件工程的专家和学者们相继提出了100多条有关软件工程的准则或信条。著名的软件工程专家B.W.Boehm综合这些专家和学者们的意见并总结了TRW公司多年来开发软件的经验,于1983年在他的1篇论文中提出了软件工程的7条基本原理。这7条基本原理是确保软件产品质量和开发效率的原理的最小集合,而且可以证明在此之前已经提出的100多条软件工程原理都可以由这7条原理的任意组合蕴含或派生。以下是Boehm提出的软件工程的7条基本原理:

1.用分阶段的生命周期计划严格管理。

2.坚持进行阶段评审。

3.实施严格的产品控制。

4.采用现代程序设计技术。

5.结果应能清楚地审查。

6.开发小组的成员应该少而精。

7.承认不断改进软件工程实践的必要性。

Boehm指出:遵循前6条基本原理,就能够按照当代软件工程基本原理实现软件的工程化生产,但是,仅有前6条原理并不能保证软件开发与维护的过程能赶上时代前进的步伐和跟上技术的进步。因此,他提出应把承认不断改进软件工程实践的必要性作为软件工程的第7条基本原理。按照第7条原理,我们不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验。

经过近30年的软件工程实践,人们已经成功地采用了多种软件工程方法。软件工程方法学是一组思路、规范、过程、方法、工具和环境的集成。一个好的方法学应该能为软件开发过程从头到尾提供一整套提高效率的途径。采用好的方法学可以为随后的整个软件工程带来好的结构、好的可靠性和可维护性。从方法论的基本理论思路来看,目前已有如下几种方法:

1.结构化方法(Structured M ethods)。

2.面向对象方法学(Object-Oriented Methodology)。

3.实体关系方法(Entity-Relationship Approach)。

4.面向事件方法(Event-Oriented Approach)。

5.形式化方法(Formal Methods)。

下面首先对这几种方法进行简单介绍,然后对结构化方法、面向对象方法和形式化方法的结合研究进行简单讨论。

2.1结构化方法

结构化方法是基于软件工程生命周期的概念基础之上的。目前根据软件工程生命周期中的不同阶段已形成了一整套的结构化方法系列,即结构化分析方法(StructuredAnalysis)、结构化设计方法(Structured D esigning)和结构化程序设计方法(Structured Programming),简写为SA-SD-SP方法。结构化方法是一种传统的开发方法。它的本质是功能分解,这种方法是围绕实现处理功能的“过程”来构造软件系统的。传统的结构化方法假定开发人员一开始就能确定系统的需求,而且这些需求不会发生变化(或只允许有很少的变化)。也就是说,传统的结构化方法是从软件开发人员的观点出发,它忽略了最终用户的观点。由于软件逐渐变得容易使用,现在人们已能使用更好的方法将用户的领域知识和分析人员的技术知识结合起来以实现有效的软件系统,如采用下面要介绍的面向对象方法。

2.2面向对象方法

近年来,人们对面向对象方法进行了广泛的研究,面向对象方法学也日益受到人们的重视。使用这种方法学能够开发出稳定性好、可重用性好和可维护性好的软件(采用传统的SA-SD-SP方法开发出的软件的稳定性、可重用性和可维护性都比较差)。面向对象方法学的出发点和基本原则是,尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界的方法与过程,也就是说,要使得描述问题的问题空间与在计算机上解决问题的问题空间在结构上尽可能一致。概括地说,面向对象方法有下列几个要点:

1.客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合起来。因此,面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。

2.把所有的对象都划分为各种类(Class),每个类都定义了一组数据和一组方法。数据用于表示对象的静态属性,描述对象的状态信息;方法是对象所能执行的操作,也就是类中所能提供的服务。

3.按照子类(也称为派生类)和父类(也称为基类)的关系,把若干个类组成一个层次结构的系统(也称为类等级)。在这种类层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),我们把这一特性称为继承(Inheritance) 。

4.对象与对象之间只能通过传递消息互相联系。

以上4个要点概括了面向对象方法学的精华。面向对象方法学可用一个公式概括为:

ObjectOriented=Objects+Classes+Inheritances

+Communication With Messages

面向对象方法学现已形成了一整套的开发方法,它由面向对象分析(Object-Oriented Analysis)、面向对象设计(Object-Oriented Designing)、面向对象程序设计(Ob-ject-Oriented Programming)等组成。面向对象方法学中的概念和表示符号可以适用于整个软件开发过程(在传统的结构化方法中,在开发过程的不同阶段要转换概念和表示符号)。实际上,在面向对象方法学中,软件开发阶段的划分是比

较模糊的,通常要在分析、设计与实现等阶段间多次迭代。面向对象方法学既适用于线性的“瀑布模型”,也适用于“螺旋模型”和“渐增模型”(结构化方法一般采用“瀑布模型”)。

2.3实体关系方法

实体关系方法最初是1976年由P.S.Chen提出的一种数据库逻辑设计方法。实体关系方法使用实体关系(ER)模型对来自现实世界问题中的信息进行分析。ER方法涉及如下一些基本的抽象概念:

1.实体(Entity):是现实世界中可以相互区别的事物。它可以是实际存在的事物(如人、物等);也可以是抽象的和概念性的事物(如一笔存、取款交易等);还可以是实体与实体之间的联系(即下面要介绍的“关系”)。实体可以用属性,也可以用关系来定义。

2.属性(Attribute):指实体具有的某种或多种特性。

3.关系(Relationship):指实体与实体之间的某种联系。

ER方法虽然最初是为进行数据库系统设计提出来的,但其主要思路是如何建立现实世界的信息模型,因此,它对于信息系统的抽象和开发具有广泛的指导意义。

2.4面向事件方法

面向事件方法的核心概念是“刺激一反应”这一概念。事件(Event)是对系统的“刺激”,而系统由受刺激而产生的动作及其输出则是“反应”。我们可以说“反应”是系统状态的迁移,引起系统状态改变的条件或动作(即“刺激”)就是事件。一个状态迁移还可以引起另一个状态迁移,即刺激产生反应,反应又可以成为新的刺激。按照这种思

想建立的系统也称为事件驱动的系统((Event-Driven Sys-tem)。面向事件方法是实时系统常用的开发方法。

2.5形式化方法

计算机被越来越多地用于解决那些故障可能会导致严重后果(包括危及生命)的一些任务当中。计算机在控制宇宙飞船、航天器、火车、汽车、核反应堆和医疗设备等等的应用中起着重要的作用。在这些系统中,要求计算机系统是完全可靠的是非常重要的。提高计算机软件可靠性的一种重要技术是使用形式化方法(Formal Methods)。近年来,国外对形式化方法在软件开发中的研究与应用进行了大量的实践工作,形式化方法已不再只是一种研究所里的学术研究工作,而是已经开始被工业界接受并用于开发实际的系统(real systems)。国外已有包括形式化方法、形式化语言和形式化工具在内的比较成熟的形式化系统,如VDM系统、Z系统、RAISE系统等。下面对RAISE 系统进行简单介绍。

RAISE(Rigorous Approach to Industrial SoftwareEngineering)翻译成中文就是“面向工业软件工程的严格方法”。RSL(RAISE Specification Language)是一种适于工业界使用的功能强大、应用面很广的规范说明语言。RSL与其相关的开发方法(即RAISE)和支持工具(Tool)一起,最初是作为丹麦和英国的一些公司的一项合作项目(1985-1990年间的RAISE ESPRIT项目)开发出来的。这一方法和技术后来在6个欧洲国家的一些公司的LaCos ESPRIT项目(1990-1995年)中得到进一步完善和发展。当前这一方法和技术已被工业界采用,

在欧洲和北美的其它一些公司和研究机构也开始使用和讲授RSL语言。下面介绍使用RAISE形式化方法开发软件的几个主要的阶段。

1.形式化分析(Formal Analysis)。形式化分析阶段根据用户需求(Requirements)得到最初的规范说明(initialspecification)。形式化分析一般采用自然语言如英语书写,得到RSL描述。

2.形式化设计(Formal Design)。形式化设计阶段从最初的规范说明逐步演进到最终的规范说明(final speci-fication)。从最初的规范说明到最终的规范说明之间可能要经过若干步骤。每前进一个步骤,规范说明由抽象变得更为具体,但总是与最初的规范说明保持一致。在形式化设计阶段,相关的一项很重要的工作就是要做若干“证明”6ustification)。在RAISE中,一个“证明”是表示某一条件为真的判断。这样一个判断可以是完全形式化的,也就是说,它是一个基于RSL证明规则的一个数学证明。在RAISE中,一个“证明”也可以用非形式化的方式给出,这时要求它对于相关的工业应用来说满足实际的或是经济上的约束条件。这时,我们假定:这样的条件理所当然是正确的。当然,如果有人提出怀疑,我们应该也能给出完全的形式化证明。这也是RAISE这种方法为什么称为Rigorous(严格的)的原因。

3.翻译(Translation)。翻译阶段将最终规范说明转换为计算机上可执行的程序。一旦有了用RSL语言表示的最终规范说明,我们就可以采用某种程序设计语言产生实现代码。原则上讲,实现语言可以是任何一种语言,可以是逻辑程序设计语言如Prolog语言,可以是函数式语言如Lisp语言,可以是传统的过程式语言如Ada语言,也可

以是现今流行的面向对象语言如C++语言等。在RAISE系统中,现已在将最终规范说明翻译为Ada语言和C++语言方面做了大量卓有成效的工作。

2.6结构化方法、面向对象方法和形式化方法的结合研究

传统的结构化方法是软件工程中最为成熟的方法。对于能够预先指定需求的系统的开发,采用传统的结构化方法非常有效;但是,对于需求是模糊的或随时间变化的系统开发,实践证明这种方法不能适应。因此,结构化方法还不能完全克服软件危机。对于需求不能预先指定的系统的开发,人们又提出T原型化(Prototyping)的开发方法。原型化方法便于系统开发者与最终用户进行沟通,因而能够开发出最终真正满足用户需求的系统。从实用的角度出发,原型化方法一般与新型的面向对象方法结合,那样就能够结合面向对象方法所具有的稳定性好、可重用性好和可维护性好的特点。对于安全性要求很高的应用(近年来这类应用系统的开发不断增多,特别是实时系统和并发系统),则近年来提出了许多形式化方法(形式化规范说明和证明技术)。形式化方法具有定义完备的语义,可以使用数学方法对其进行分析,尤其是能够采用一致性和完备性技术识别潜在的说明问题。

软件工程的理论和实践发展到今天,已经有各种各样的软件开发方法可以采用。如何利用各种方法的长处,从而实现优势互补,则是摆在我们面前的一个新的课题。现在已经有人开始对各种方法的结合进行研究。文献〔S)提出了一门SOFL (Structured -Object -based -FormalLanguage)语言和一种集成了结构化方法、面向对象方法和形

式化方法于一体的SOFL开发方法学。SOFL方法学在需求分析和规范说明阶段采用结构化方法,在设计和实现阶段采用面向对象方法,在软件开发过程中一些对软件质量有重要影响的部分采用形式化方法。文献〔5〕还给出了实际系统的开发实例,证明了SOFL方法是一种行之有效的方法。

3 CASE的诞生及其发展

CASE(Computer Aided Software Engineering)即计算机辅助软件工程,旨在实现软件开发自动化,是进入90年代以来计算机行业中发展最快的行业之一。如果说起源于60年代后期的“软件工程”经过20多年的发展,完成了将软件开发从“手工作坊”的软件开发方式转变为“工程化”的作业方式,这是软件生产的第一次变革的话,那么,以CASE代替仍然处于手工作业方式的软件工程开发方法,可以说是软件生产的第二次变革。CASE技术的意义不仅在于使得软件工程过程自动化,它还关系到软件工程的进一步发展。软件工程方法学有可能有突破性发展的一些技术和方法学领域,如面向对象方法学、软件重用技术、原型化和模拟仿真技术、可视化开发技术、第四代语言等等,都需要CASE的支持。CASE这个术语是1986年才开始使用的。但是,由于软件工程从一开始就是软件工程方法学与相应工具的集成,所以,实际上,早(上接第6页)在CASE这个术语使用之前,CASE就已经存在,只是80年代中期以来它的发展越来越快,作用也越来越大罢了。下面对CASE技术的发展历史作一简单介绍。

要追溯CASE技术的发展历史是离不开软件工程的发展过程的。70年代以前的软件工程成果主要是在程序开发方面确定了结构化方法及其标准。70年代以后,为了解决程序员不足的“人员恐慌”的问题,不仅进一步改进了软件工程开发方法学,而且开始出现了以简化程序编制工作为宗旨的第四代语言(4GL),大大提高了编程效率。下面是从进人80年代开始CASE技术发展的四个时期的简要描述。

1.第一个时期:80年代初期。这一时期从软件自动化工具的特点而言,可称其为“孤立型”,即各工具大多是孤立存在,彼此没有信息交换,且以分析、设计阶段的辅助工具为主,例如文档自动生成器、图表自动生成器等。

2.第二时期:80年代中期。这一时期最重大的成果是系统信息中心库(Repository)概念的引人,这使得彼此孤立的工具开始有了信息交换环境的支持,推动了从分析到设计的软件工程上游阶段开发工具的一体化,即CASE上游工具的集成。人们将这一特征的CASE称为“扩充型”的CASE。

3.第三个时期:80年代后期。这一时期有代表性的是把应用程序开发、维护自动化与项目管理工具结合起来的重视标准化的“接口型”的工具集成环境。

4.第四个时期:90年代初期开始到现在。这一时期明确了CASE 的最终目标是“以结构化方法学为基础,统一使用开发支持工具,实现软件开发全过程的自动化”,开始了逼近终点的全面挑战。例如在解决软件工程各阶段间信息交换和信息一致性问题上引人了“百科全

书”(En-cyclopedia),在使结构化方法可视化上使用图形工具,在软件工程开发方法学与CASE工具统一化上使用了人工智能(AI)技术等等。总之,90年代以后软件工程与CASE的基本动向就是二者的统一,即方法学和自动化工具的统一,故称为“统一型”。

4展望

CASE技术的发展有待于软件工程方法学的发展,但CASE技术的发展又促进着软件工程方法学的进一步发展。今后的软件工程应该是“方法学+CASE技术”,而且,随着CASE技术在软件工程中的作用不断扩大和深化,很有可能在今后的软件工程中,CASE技术将占据主导地位。

参考文献

1张海藩.软件工程导论(第三版).北京:清华大学出版社,1998 2赵晓华.软件开发自动化技术一软件工程与CASE.北京:国防工业出版社,1997

3 RAISE Language Group.THE RAISE SPECIFICA- TION LANGUAGE. Prentice Hall International(UK),1992

4 RAISE Method Group.THE RAISE DEVELOP- MENT METHOD. Prentice Hall International(UK),1995

5 Liu S,Offutt A J; Sun Y et al. SOFT; A Formal Engi- nee ring Methodology for Industrial Applications.IEEE Transactions on Software Engineering,1998;24(1)

软件工程国内外技术发展现状_存在问题及发展趋势

软件工程国内外技术发展现状,存在问题及发展趋势 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 首先浅谈下软件工程在国内外的发展状况,自1968年北约组织的技术委员会正式提“软件工程”以来,经过几十年的发展,软件工程已经成为一门迅速发展,内容极其广泛的综合性学科。软件工程是一门研究软件开发和维护过程中所使用的原则、技术和方法的学科。从学术观点看,软件工程要以软件开发和维护为出发点,总结规律,建立科学概念,指定软件生产的规范,逐步形成理论体系。总之,软件工程的最终目标是提高软件的生存率,降低软件的生产成本,改进软件的质量,增加可靠性。 1、软件技术发展早期 在计算机发展早期,应用领域较窄,主要是科学与工程计算,处理对象是数值数据。1956年在J.Backus领导下为IBM机器研制出第一个实用高级语言Fortran及其翻译程序。此后,相继又有多种高级语言问世,从而使设计和编制程序的功效大为提高。这个时期计算机软件的巨大成就之一,就是在当时的水平上成功地解决了两个问题:一方面从Fortran及Algol60开始设计出了具有高级数据结构和控制结构的高级程序语言,另一方面又发明了将高级语言程序翻译成机器语言程序的自动转换技术,即编译技术。然而,随着计算机应用领域的逐步扩大,除了科学计算继续发展以外,出现了大量的数据处理和非数值计算问题。为了充分利用系统资源,出现了操作系统;为了适应大量数据处理问题的需要,开始出现数据库及其管理系统。软件规模与复杂性迅速增大。当程序复杂性增加到一定程度以后,软件研制周期难以控制,正确性难以保证,可靠性问题相当突出。为此,人们提出用结构化程序设计和软件工程方法来克服这一危机。软件技术发展进入一个新的阶段。 软件工程形成的初始阶段1968—1975 此阶段主要提出和探讨软件工程及当时软件开发中存在的问题并通过使用单个方法和工具以及改善组织管理手段加以解决。该阶段的主要工作如下: 1.调査、分析软件开发中存在的问题。 2.统计、分析程序设计及程序出错的类型。 3.研制软件测试方法与工具。 4.提出改进软件质量的方法。 5.提出软件生产化的必要性与设想。 6.数据的抽象化和方式。 7.研究程序实现的技巧与措施。 从70年代初开始,大型软件系统的出现给软件开发带来了新问题。大型软件系统的研制需要花费大量的资金和人力,可是研制出来的产品却是可靠性差、错误多、维护和修改也很困难。一个大型操作系统有时需要几千人年的工作量,而所获得的系统又常常会隐藏着几百甚至几千个错误。程序可靠性很难保证,程序设计工具的严重缺乏也使软件开发陷入困境。结构程序设计的讨论导致产生了由Pascal到Ada这一系列的结构化语言。这些语言具有较为清晰的控制结构,与原来常见的高级程序语言相比有一定的改进,但在数据类型抽象方面仍显不足。面向对象技术的兴起是这一时期软件技术发展的主要标志。“面向对象”这一名词在80年代初由Smalltalk语言的设计者开始提出,而后逐渐流行起来。 面向对象的程序结构将数据及其上作用的操作一起封装,组成抽象数据或者叫做对象。具有相同结构属性和操作的一组对象构成对象类。对象系统就是由一组相关的对象类组成,能够

《软件工程发展概述》

软件工程发展概述 计算机工业发达国家在发展软件的过程中曾经走过不少弯路,受过许多的挫折,至今仍然经受着“软件危机”的困扰。人们开发幼稚软件的能力大大落后于计算机硬件日新月异的进展和社会对计算机软件不断增长的需求,这种状况已经严重妨碍了计算机技术的进步。 为了摆脱软件危机,一门新的学科产生并发展起来—软件工程,几十年来软件工程的发展大致如下几个阶段。 第一阶段—软件危机。 20世纪中期,计算机刚被从军用领域转向民用领域使用,那时编写程序的工作被视同为艺术家的创作。当时的计算机硬件非常昂贵,编程人员追求的是如何在有限的处理器能力和存储器空间约束下,编写出执行速度快、体积小的程序。程序中充满了各种各样让人迷惑的技巧。这时的软件生产非常依赖于开发人员的聪明才智。 到了20世纪60年代,计算机的应用范围得到较大扩展,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需求。这就是所谓的“软件危机”。 早期出现的软件危机主要表现在: ①软件开发费用和进度失控。费用超支、进度拖延的情况屡屡发生。有时为了赶进度或压成本不得不采取一些权宜之计,这样又往往严重损害了软件产品的质量。 ②软件的可靠性差。尽管耗费了大量的人力物力,而系统的正确性却越来越难以保证,出错率大大增加,由于软件错误而造成的损失十分惊人。 ③生产出来的软件难以维护。很多程序缺乏相应的文档资料,程序中的错误难以定位,难以改正,有时改正了已有的错误又引入新的错误。随着软件的社会拥有量越来越大,维护占用了大量人力、物力和财力。进入80年代以来,尽管软件工程研究与实践取得了可喜的成就,软件技术水平有了长足的进展,但是软件生产水平依然远远落后于硬件生产水平的发展速度。 软件危机不仅没有消失,还有加剧之势。主要表现在: ①软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升。由于微电子学技术的进步和硬件生产自动化程度不断提高,硬件成本逐年下降,性能和产量迅速提高。

软件工程发展概述

软件工程发展概述 摘要:本文简单介绍了软件工程。分别从软件工程的定义、发展历程、现在发展动态以及未来发展趋势做出简单分析,使我对软件工程的过去、现在和未来有了进一步的了解和认识。 关键词:定义;过程;动态;趋势 1.引言 随着计算机的广泛应用,信息产业悄然兴起,越来越成为经济发展中的先导产业。目前,信息化已从整体上引导着世界经济和社会发展,信息处理技术已成为现代社会生产力、竞争力的关键,具有十分重要的战略位置。这一期间,计算机软件以其独特的知识形态,广泛渗透于国名经济建设的各行各业中,对信息采集、信息处理、信息交换以及生产过程、社会生活的变革产生了深远的影响。计算机软件,尤其是软件工程作为软件产业的依托学科已经成为信息技术的核心之一。 2.软件工程概述 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。工程是将理论和知识应用于实践的科学。就软件工程而言,它借鉴了传统工程的原则和方法,以求高效地开发高质量软件。其中应用了计算机科学、数学和管理科学。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。 2.1软件工程定义 软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义。概括地说,软件工程是指导计算机软件开发和维护的工程学科。 根据各位学者、组织机构给出的软件工程定义,我简单的将软件工程理解为:软件工程是按照工程学的管理方式,有组织、有计划的在成本限额以内按时完成开发且能在实际机器上可靠有效地运行的软件,并不断对软件进行优化、维护及管理的工作过程。 2.2软件工程方法和技术

浅谈软件工程技术现状和发展趋势

浅谈软件工程技术现状和发展趋势 发表时间:2019-08-15T15:07:31.650Z 来源:《信息技术时代》2018年11期作者:董庆森[导读] 随着科学技术的不断发展,信息产业已经逐渐成为了现代化产业中不可或缺的重要一环,信息产业在发展的过程中不断与传统行业进行交互与发展,促进了传统行业的变革与发展也为当前的经济发展注入了新的活力。(郑州工商学院工学院,河南省郑州市 450000) 摘要:随着科学技术的不断发展,信息产业已经逐渐成为了现代化产业中不可或缺的重要一环,信息产业在发展的过程中不断与传统行业进行交互与发展,促进了传统行业的变革与发展也为当前的经济发展注入了新的活力。软件工程作为信息产业的重要支柱学科,其随着信息产业的发展也迎来了发展的黄金时期,软件工程凭借其在数字信息时代的重要意义,也成为了当前信息产业中不可缺少的重要学科。本文将对软件工程技术的发展现状进行分析就技术未来的发展趋势进行简要的判断。关键词:软件工程技术现状;发展趋势 一、引言 信息产业的发展极大的改变了传统行业的发展面貌也使得现代化产业呈现出新的发展局面,软件工程作为信息产业中的重要基础学科,其在计算机学科领域有着十分重要的作用。随着经济社会的不断发展,信息产业还有着广泛的发展前景,软件工程顺应着信息产业的发展趋势也将迎来进一步的创新和提升,因此对于软件工程技术的发展现状和发展趋势进行分析判断有着十分重要的价值和意义。 二、软件工程概述 软件工程作为一门利用工程建设的手段来对软件进行分析维护的学科,其在学科内容上包括有软件的开发工具、程序设计语言以及数据库的内容,随着信息技术在人们生活中应用的越来越广泛,软件工程也在诸多领域得到了施展和应用,随着计算机学科领域的不断丰富与拓展软件工程也逐渐转变为计算机领域的一门重要独立学科。软件在种类和内容上十分丰富其一般包括有操作系统、数据库、社交软件以及游戏软件等,这些软件被广泛应用于传统工业、金融行业以及人们的日常生活当中,软件的不断丰富与拓展极大的改变了人们的日常生活,为人们的工作学习提供了诸多便利,对促进社会经济的发展与进步,改善人们的生活质量有着十分积极的影响。通常对软件质量的评价标准上往往会根据软件自身的实用性、安全性以及功能性等作为质量评判的重要依据。 三、软件工程技术发展现状 从20世纪末开始我国软件行业就呈现出良好的发展态势,自21世纪以来我国软件业务盈利更是以超过10%的增长速度逐年递增,而软件外包营收更是一度超过了80%的增长速度。软件产业有着良好的市场发展前景和广阔的市场空间,国家方面更是出台了一系列的政策来鼓励软件工程技术的发展。就目前而言,软件工程技术良好的发展前景具体表现为:软件工程技术人员有着良好的就业环境和就业形势。随着信息行业发展的不断增速,越来越多的互联网信息产业开始呈现出跨越式的扩增态势,随着信息产业发展规模都不断扩大,对于软件工程专业人才的需求也在逐年提升。同时相比传统行业,软件工程技术人员有着较为良好的工作环境和薪资待遇。 软件工程技术人员有着较为广泛的就业方向。软件工程学科对于从业人员有着较为严格的专业技能水平要求,这是由于软件工程在技术上包括了软件研发、测试以及应用等一系列内容,正是由于软件工程的复杂性和高要求性也使得软件工程的专业性人才有着较为广泛的就业渠道,随着信息化时代的到来,无论是互联网企业还是金融企业和政府部门都急需软件工程领域的专业性人才,软件开发和性能维护已经成为了当前现代化企业经营发展的必然趋势,因此一旦掌握了软件工程专业知识技能就能够拥有十分广阔的就业方向。 软件工程技术人员待遇丰厚。近年来随着软件技术人才的短缺,使得软件工程技术人员更容易受到企业的青睐和追求,在这样的发展背景下软件工程从业者往往能够获取更高的薪资待遇水平。 四、软件工程技术发展趋势 软件工程技术全球化。随着经济全球化进程的不断加快,软件工程技术全球化已成为了未来发展的重要趋势,软件工程凭借其专业技能上的广泛性和共通性,期待工程技术上的发展不仅仅局限于某一个地区或者国家,而是需要结合全球软件发展交互的共同性逐渐促使软件工程发展更为成熟。全球化的软件工程发展趋势符合当前经济发展的重要趋势,各国之间通过实践软件系统框架网络的建设,实现全球软件交互和通力协作,在全球化的软件工程概念下,软件工程的发展能够吸取不同地区和国家的先进经验,从而构建出更加符合人们需求的软件产品。 软件工程技术开放性。开放计算式当前软件工程技术发展的必然趋势和未来方向,通过开放计算能够提升企业之间软件开发研究的效率,通过实现企业软件的交互应用,能够简化未来软件工程在软件开发上的投资消耗,提升软件工程开发的灵活性和简易程度。在软件工程技术开放性的发展过程中需要个国家最先进的软件开发技术经验实现共享,以此来作为后续软件开发和投资的重要关键技术保障。 软件工程技术模板化。随着信息化时代的到来软件市场的竞争也不断加剧,面对日益复杂的软件开发和维护环境,为了能够在激烈的市场竞争中占得先机提升软件开发和维护的效率,企业需要加强其在业务能力上的灵活性通过以模板化的思维来提升企业在软件开发运用上的效率。模板化思维在企业经营发展中的应用能够有效的帮助企业对现有的软件实行分解组装,结合当前的软件系统根据不同的软件资源需求针对企业的业务来进行更加灵活的变动,使得软件工程技术的发展更加符合企业的利益。 五、结语 计算机技术的迅速发展也使得软件工程技术得到了进一步的提升,软件工程技术在发展的过程中不断向全球化、开放性以及模板化迈进,在这一过程中必须严格恪守软件开发所需要遵循的相关规律,结合软件工程技术的发展特征不断深入研究,共同促进我国软件工程技术的发展与提升。 参考文献 [1]刘宇洋.浅析软件工程的发展趋势[J].科学技术创新,2017(1):180-180. [2]施少杰.浅析软件工程技术的发展[J].明日风尚,2017(14):299-299. [3]冯勃达.浅谈软件工程标准化的现状[J].中国新通信,2017(20):52.

软件工程试题与答案 (6)

第一章软件工程概述 一. 填空题 1. 软件的发展过程 , , , . 2. 基于软件的工作方式,软件可以划分为 , , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 . 4. 在计算机系统中,软件是 , 而硬件是 . 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,, . 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤 , , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型 , , , , , . 14. 软件工程面临的问题有 , , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 . 16.基于软件的功能划分可以把软件划分为 , ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则: , ,和 , 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

计算机软件工程现代化技术发展现状

计算机软件工程现代化技术发展现状 进入21世纪以后,信息技术、互联网以及大数据的发展空间也随之提升,计算机软件工程技术也被良好的推动,且在当前时期背景下,被广泛应用与行业发展和生产中,随着时间的推移,成为社会经济发展重要的组成部分。随着计算机软件工程技术的不断深入,其现代化技术的应用也显现出了一定的效果,但是这其中也存在较为明显的问题,经过不断的实践证明,得出有效的运用科学技术和计算机技术才能够实现现代化的计算机软件工程,为我国信息化发展提供推动作用,因此,本文对计算机软件工程技术现代化进行研究具有实际意义。 1计算机软件工程现代化技术的重要性分析 1.1概念阐述 计算机软件工程所指的是,对产品理念设计、产品开发等程序中,负责设计和开发的人员循规蹈矩的按照相关规定进行的操作,坚持有关的标准和原则进行对计算机开发的操作,依靠计算机和其相关的软件,对计算机工程技术进行维护。随着时代的发展,计算机软件工程在各个行业都提供了便利,计算机软件也被运用到了多个领域当中,完美的与现代科技发展进行了结合,涉及到的内容多姿多彩,范围广阔。通过发掘计算机软件工程技术性的产品与服务,可以更好的将计算机的便捷之处运用到各行各业当中,也能全面的完善相关的法律政策、行为、制度以及成果,为计算机未来的发展奠定了良好的基础,使得计算机软件工程能够顺利的继续发展。

1.2重要性阐述 历经数年的发展,计算机软件工程技术已经成为了时代发展不可或缺的一个支撑点,对我国计算机软件技术发展现状的研究表明,我国在该领域获得了大量成果,具备的特点也是多种多样,例如运用范围广、内容充实、形式繁多等。然而,针对与核心信息工程技术来讲,还有一些实质性的问题所在,例如一味的加入其他发达国家的研究成果、先进的结果等[2]。由于大量的采用其他国家的经验,导致缺失了自己的想法和创意,依赖别的国家,所以无法从根本解决实际存在的问题,同时也无法具备面对问题的对策和经验,导致计算机软件工程无法为我国的经济发展提供有效的帮助,导致无法推动我国的经济发展。与此同时,我国的计算机软件技术没有达到一定的水平,暂时还没有达到数字化、网络化、智能化,没有具备这种素质的管理平台,就无法推动可持续的发展,也不能有效的助力于战略性的发展手段。计算机软件工程技术与产业之间也因此产生了巨大的影响和阻力。因此,计算机软件工程化一定会发展成为具备智能化技术、信息化技术、智能化技术以及数字化技术的工程,且还能够推动我国科学技术的发展,加快我国可持续发展的进程,必将会成为我国经济建设、国防安全、国家发展的不可或缺的力量。 2发展现状分析 经过长时间的研究发现,计算机软件工程技术对整体的计算机系统具有维护作用与支持作用,即计算机系统开发与运用中的防护。实际的计算机软件工程应用中,成熟、效率高是其比较稳定的特点,根

软件工程发展史及发展趋势

软件工程发展史及发展趋势 一:软件工程定义 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作和生活效率 二:软件工程的发展历史 随着人类的发展,计算机作为第三次科技革命的主要代表产品,极大的推动了人类社会发展。与此同时,软件作为现代计算机的重要支撑部分,伴随着计算机的发展不断发展。 早在20世纪50年代,有关软件的编程语言就已经出现,但是关于软件工程这个概念却要远远晚于软件发展。据资料显示,软件工程这个概念最早出现在20世纪60年代末期。在软件工程发展的半个多世纪内,软件工程所使用的程序语言不断发展,而且有关于软件四六七零零四零二二号码论文写作工程的模型不断发展,从最早的瀑布模型到现在光为人所知的云计算,软件工程几乎每隔5-10年就会获得一次突破性发展,而且有关软件语言从最早的面向程序结构转向为面向对象,极大的提升了软件编程的效率。目前,软件工程经过50多年的发展,已经深入到社会生活的各个层面,可以说,现代社会生活,几乎在每一个方面都涉及到软件工程。1.软件工程开发过程 软件是由计算机程序和程序设计的概念发展演化而来的,是在程序和程序设计发展到一定规模并且逐步商品化的过程中形成的。软件开发经历了程序设计阶段、软件设计阶段和软件工程阶段的演变过程。程序设计阶段 程序设计阶段出现在1946年~1955年。此阶段的特点是:尚无软件的概念,程序设计主要围绕硬件进行开发,规模很小,工具简单,无明确分工(开发者和用户),程序设计追求节省空间和编程技巧,无文档资料(除程序清单外),主要用于科学计算。软件设计阶段 软件设计阶段出现在1956年~1970年。此阶段的特点是:硬件环境相对稳定,出现了“软件作坊”的开发组织形式。开始广泛使用产品软件(可购买),从而建立了软件的概念。随着计算机技术的发展和计算机应用的日益普及,软件系统的规模越来越庞大,高级编程语言层出不穷,应用领域不断拓宽,开发者和用户有了明确的分工,社会对软件的需求量剧增。但软件开发技术没有重大突破,软件产品的质量不高,生产效率低下,从而导致了“软件危机”的产生。软件工程阶段 自1970年起,软件开发进入了软件工程阶段。由于“软件危机”的产生,迫使人们不得不研究、改变软件开发的技术手段和管理方法。从此软件产生进入了软件工程时代。此阶段的特定是:硬件已向巨型化、微型化、网络化和智能化四个方向发展,数据库技术已成熟并广泛应用,第三代、第四代语言出现;第一代软件技术:结构化程序设计在数值计算领域取得优异成绩;第二代软件技术:软件测试技术、方法、原理用于软件生产过程;第三代软件技术:处理需求定义技术用于软件需求分析和描述。2.软件工程的各个阶段

软件工程开发的现状及发展

软件工程开发的现状及进展 随着科学技术的持续进展,计算机应用得到了前所未有的普及与深化。在过去的几十年里,软件工程在应用领域得到广泛推广,促使计算机 领域的理论研究、软件开发、技术进展等加快了进展的脚步,同时也 提出了新的挑战。 1我国软件工程的发体现状 1.1我国软件开发的进展我国的软件技术进展的相对比较落后,相比 先进的国家还存有着非常大的差别。但是,我国软件工程的进展却是 非常迅速的,短短几年的时间就形成了属于我们自己知识产权的软件 技术。软件工程进展到现在,我国不但研发了属于我们自己的开发工具,还制定了符合我国实际情况的研发技术方案。 1.2我国软件开发工程中存有的不足随着科技和计算机技术的快速进展,软件工程在计算机技术中来说是一项核心技术,市场需求量也在 随着计算机的普及而持续递增,软件工程从上世纪60年代开始兴起, 最早出现在西方国家,在软件工程的初期进展中欧美国家投入了大量 的资金和详细的规划,最终取得了快速完善的进展,随着科学技术的 持续推动和进展,软件工程向着高集成、智能化的方向持续进展。当 前来说,国外的软件工程技术已经得到了充分的进展,但是我国常用 的主流软件的开发内容以及开发工具都是国外设计和研究的,我国当 前来说还是较为落后,因为进展时间晚,进展时间短,这就给我国软 件工程提出了更高的要求,要保质快速的进展,除了在快速进展的要 求下,我国软件工程还需要注重一些问题的解决,首先是软件工程治 理体制方面的,因为进展起步较晚,在软件方面的体制没有明确的规定,这就造成软件开发团队的工作没有一个可靠的依据,团队之间不 能高效的协调合作,这就造成开发周期较长,开发质量有待提升,整 体团队效率较低,这种情况下就需要对于开发体制持续的完善,真正 做到在开发过程中有据可依有法可循,另外软件开发人员对于开发进 度不够重视,这就造成在开发过程中不能保证研发人员的稳定性,造

软件工程专业综述

软件工程专业 论 证 报 告

关于设置软件工程本科专业的论证报告 当今社会信息科技技术迅猛发展,人类社会已进入信息技术时代。软件技术的普及应用,计算机软件的应用正成为科技信息力量最重要的领域组成。计算机软件的发展和应用的程度,直接关系着信息化建设进程的速度。所以软件工程专业技术人才的培养,对于我国的信息化建设进程具有十分重要的基础意义。目前根据专业学科考察及对社会人才市场的需求分析,结合泰豪动漫职业学院游戏软件学院的实际情况,现申请增设软件工程本科专业。 一、增设软件工程专业的必要性 (一)增设软件工程本科专业有利于给国家输送专业技术人才,推进国家信息化建设进程,满足国家科技生产需要,促进国家经济腾飞发展。 近几年,随着国家信息化建设的高速发展,IT业发展迅猛,但高速发展的IT产业,因为人才短缺问题突出,严重制约了行业的发展。如今,IT人才短缺已成为竭制我国IT产业,尤其是软件产业发展的最大瓶颈。根据《中共中央关于制定国民经济和社会发展第十三个五年规划的建议》中创新科技领域需要重点编制三个规划:一是创新科技主体的规划,即明确包括企业、个人、科研院所、高等院校、行业组织、政府等在内的各个主体在创新中的职责;二是创新科技方式的规划,包括技术创新、产品创新、产业创新、模式创新、组织创新、管理创新等;三是创新科技环境的规划,即如何建立和完善鼓励创新的制度和政策环境。 在国家政策支持和行业的共同努力下,我国软件产业实现了快速发展,产业规模、技术水平、骨干企业和产业环境都有了长足的进步,对信息产业和国民经济发展的支撑作用日益明显。主要表现为:激励科技创新创业,促进经济结构调整和转型升级。通过引导企业投资,可以加速科技成果更好更快地转化为现实生产力,支持科技企业和战略性新兴产业发展,更好地发挥科技对经济社会发展的支撑和引领作用,加快培育形成我国经济发展的新增长点。同时,将政府引导与学校教育有机结合,自主创新能力有所提升,部分关键技术取得突破,涌现出一批优秀的具有自主知识产权的Linux操作系统、数据库、中间件、嵌入式软件、信息安全软件及办公套件等,并在电子政务建设和行业信息化推进中得到了广泛的应用。

软件工程专业办学现状及发展特色分析

软件工程专业办学现状及发展特色分析 摘要:针对目前软件工程专业办学从课程体系设置到教育教学模式构建上均存在不同程度的单一性和趋同性问题,提出将移动互联网作为专业建设重点,加强校企合作办学,推行CDIO工程实践教学理念,借助Moodle平台引入群体―探究类教学模式以培养企业急需的工程实践性高级人才。 关键词:软件工程;办学现状;特色;本科教育 0 引言 软件产业是信息产业发展的核心,是国民经济信息化的基础。根据工信部2013年1月25日发布的数据显示,2012年我国软件产业实现软件业务收入万亿元,同比增长%。2015年,国家对软件人才的需求超过600万人。然而,目前我国每年最多能培养20万软件人才,难以满足社会对软件人才的需求,因此,加大力度培养软件人才储备仍然是我国信息产业快速发展国家战略的迫切需要Ⅲ。 1 目前软件工程办学现状 截至2009年底,全国有普通本科院校792所,普通高职院校1 239所,经国家批准设立的独立学院316

所,经国家审定的分校办学点共68个;目前,接近80%的院校都开设有软件及软件相关专业,主要包括计算机科学与技术、软件工程、自动化、通信工程、电子信息科学与技术、微电子学、光信息科学与技术、集成电路设计与集成系统等多个专业,学历、学位层次覆盖博士、硕士、本科和专科。同时,为贯彻落实国务院《鼓励软件产业和集成电路产业发展若干政策》和《振兴软件产业行动纲要》的精神,实现我国软件产业人才培养跨越式发展,教育部以国家重点鼓励发展的软件、集成电路、信息安全等信息技术关键行业的战略性和紧缺性人才培养为突破口,实施了一系列具有战略意义的重大改革举措。从2001年起至今,国家先后批准成立37所示范性软件学院、35所示范性软件职业技术学院,建立了25个集成电路人才培养基地,成立了40个LINUX技术培训与推广中心,各地方教育主管部门紧跟发展形式,也先后批准成立超过50多所地方性示范软件学院。2008年,教育部还在高校中批准设立20个软件人才培养模式创新实验区。 以重庆市为例,全市共有57所高等院校,目前开办软件工程本科专业的院校已有15所。纵观这些高校的软件工程专业,从课程体系设置到教育教学模式构建上,均存在不同程度的单一性和趋同性。事实上,

软件工程技术发展思路论文

软件工程技术发展思路论文 摘要:随着科学技术的快速发展,软件工程成为一门近代新兴的现代科学技术学科。 目前,软件工程技术在计算机技术中有着应用性强,涉及面广,实用性强等特点,对其发 展有着不可或缺的推动作用。软件工程具有极为重要的地位,若没有软件工程技术的发展 壮大,就没有计算机技术的蓬勃发展。计算机技术经历了许多次的重大变革,每一次都具 有其独特的一面。软件开发从最初简单的程序编写,再到为适应人们的多样化的需求。技 术人员对软件技术的深层次的研究,使软件开发技术具有功能更全面,系统更深刻的特性。如今,计算机技术朝着信息多元化,技术科技化的方面不断发展。发展的同时,面对的是 软件开发费用的不断增长,软件的生产效率却大大降低,造成了“软件危机”现象。我们 知道,现代软件工程的理论思想是以制定一套规范而统一的开发软件为基础的。通过对软 件工程技术发展历程展开一定的探索,研究软件工程技术的应用于发展。 关键词:软件工程计算机技术程序开发 1软件工程技术的概述 1.1软件开发的本质 在一定程度上,软件开发的实质主要是从“高级层面”到“低级层面”的一次转变历程。但是这一过程十分复杂,涉及到许多方面。比如有人员、技术开发、成本问题等因素 的制约,因此软件系统的开发不易且较为艰难。所以,软件工程技术的本质我们可以将其 定义为:软件工程技术涉及到程序语言、软件开发工具、设计模式、数据库等多方面,它 是按照成本的预算和进度,并在计算机理论技术以及工程管理的相关规定下,来实现用户 对软件开发及维护的需求或者是以之为研究对象的一种科学技术。 1.2对软件开发的认识和方法 时代的不同,造就了人们对于软件产业的开发过程及软件类型、项目的不同理解和认识,从最初的瀑布式到后来的螺旋式开发模型,再到如今的敏捷开发的新兴方法。可以从 中看出,软件开发过程是以软件工程为主要思想来进行探索开发的。这一过程遵循以下三 个原则:良好的组织纪律、严密的管理,各类人员的相互配合完成工作,提高软件的生产 效率,都离不开好的软件开发技术。瀑布型、原型模型,总体数据库规划模型是经许多学 者总结得出的方法步骤,这些方法步骤在随着社会自身的迅速发展,对软件技术的需求日 益增大,要求随之提高,也会因为自身的落后性及局限性,造成“软件危机”的产生。我 们不能说一款软件已经“完美无瑕”,要以发展的眼光来看待问题。不过,令人可喜的是,新的软件开发模型,计算机辅助软件工程以及软件自动生成器等思想和方法的出现,进一 步地推动了软件工程技术的发展,使软件生产更为社会化、自动化、标准化,从根本上使 得软件生产在质量上有了巨大的飞跃。

CASE工具种类与特点

CASE工具的种类及应用特点 摘要:随着现代科学技术的发展,计算机技术也取得了长足的发展,同时带来了软件工程发展的春天。一大批优秀的软件开发工具如雨后春笋般的涌现出来,而CASE工具就是这其中的代表。它将软件开发过程中各过程中的工作通过其集成的平台共享,从而解决了重复编码、代码混乱,目标进度不清等缺点。不仅提高了软件开发的效率和质量,同时也解放了广大IT技术人员,降低了软件开发的成本。本文就当今业界广泛使用的CASE工具的种类及应用特点作了详细的介绍,希望能帮助大家了解各种主流CASE工具的特点,从而更好的使用它。 关键词:UML建模CASE工具软件开发应用特点 Abstract:With the development of modern science and technology,computer art has also got rapid progress, has brought about spring that the software engineering develops at the same time.One large number of excellent software exploitation implement if bamboo shoots after a spring rain as springing up comes out,but the CASE implement is this representatives among them.Shortcomings such as it sharing job in every software exploitation process middle process by whose integrated platform,the rate of progress having resolved repetition code,code chaos,target thereby being unclear.Have improved efficiency and mass that the software develops not only,the technician who has liberated at the same time also extensive IT,has reduced development cost of software.CASE implement kind and characteristic applying the main body of a book is used broadly with regard to industry in the nowadays have done detailed introduction,hope can help everybody to know various main current CASE implement characteristic,uses it thereby more well. KEYWORDS:UMLbuilding CASEimplement SoftwareDeveloping Characteristic Applying 1.引言 1.1为什么我们需要UML建模CASE工具 CASE即Computer Aided Software Engineering,中文意思是计算机辅助软件工程。CASE是一套方法和工具,可使系统开发商规定的应用规则,并由计算机自动生成合适的计算机程序。 今天,系统的构建变得越来越复杂,UML建模CASE工具为项目相关人员(如:项目经理,分析员,设计者,构架师,开发者等)提供了许多的好处。UML建模CASE工具允许我们应用规范的面向对象分析和设计的方法与理论,远离纠缠不清的源代码,达到构建和设计变得更直观,更容易地理解与修改的层次。在大型项目中,通过使用CASE工具可以获得以下方便: 1)通过用例模型,业务/系统分析可以捕获到业务/系统需求。 2)设计者/构架师所作的设计模型能在不同层次的同一层内清晰表达对象或子系统 之间的交互(典型的UML图如类图和交互图)。 3)开发者能快速地将模型转变为一个可运行的应用程序,寻找类和方法的子集,以及理解它们如何交互。 出于这些动机,UML CASE工具以及对应的方法论为我们提供了一种因系统太复杂而不能理解下层源代码的描述系统的方法,同时允许我们更快更便宜地开发正确的软件解决方案。

国内外软件工程发展现状

国内外软件工程发展现状 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

国内外软件工程发展现状 答:国内:“软件工程”术语的提出至今已有30多年的历史。其间,计算机软件产业经历了迅猛的发展,软件系统的应用领域从实验室渗透到了人类社会的各个角落,软件系统的规模迅速发展,与此同时,软件成本也在不断增长,在计算机系统中所占的比例越来越大,计算机硬件价格却随着技术进步和生产规模扩大而不断下降。从上世纪40年代开始到“软件工程”术语提出的20多年时间里,对软件开发的理解就是编程序,编程是在一种无序的、崇尚个人技巧的状态中完成的,因此软件可靠性没有保障,软件维护费用不断上升,进度无法预测,成本增长无法控制,程序人员数量无限度地增加。这一系列情况被称为“软件危机”。而软件工程以降低成本、提高质量、符合进度要求为目标,指导人们科学地开发软件,制作软件产品,集成计算机系统,成为计算机和信息产业的支柱。国内外软件开发的现状及比较尽管1968年软件业界即已倡导软件工程,但是我国中小企业严格按软件工程方法开发软件的并不多见。.“牛仔式”的开发仍然屡见不鲜。社会进步的一个很明显的现象就是社会分工越来越细,软件的开发也不例外。虽然开发者的勇气和决心是值得称赞的,但是这种开发方 2000年以来,国务院18号文件和47号文件相继出台,为软件产业的发展创造了良好的外部环境,我国软件产业发展步入快车道。2001年~2005年,我国软件产业规模从亿美元增加到484亿美元,5年间翻了两番多,已成为电子信息产业中增长最快的领域之一。 但整体来看,目前我国软件产业总体规模仍然太小。2005年,我国软件产业占全球市场的份额仅为%。而同年,美国、西欧、日本占全球市场的份额分别为39%、%和%。我国软件企业以中小企业为主,软件收入前100家企业销售收入平均仅为1亿多美元。 软件企业多以从事定制项目和一般应用软件为主。对于大多数软件企业来说,没有一个良好的切入点,走独立发展的道路难度比较大。企业竞争力不强,无法形成产业的竞争性优势,导致我国软件产业在全球软件产业分工中定位不清。 国外:20世纪90年代以来,世界软件产业获得了飞速发展。据IDC统计,全球软件业的年均增长率一直保持在15%~20%之间。目前,全球软件业已经开始进入成熟期。产业分工较为明确,产业成熟度较高,成本已成为企业竞争的首要因素。发达国家的软件企业从降低成本考虑,逐步集中力量发展核心业务;利用全球的人力资源,将大量非核心业务向发展中国家转移。 市场分析表明,近几年全球应用软件外包服务市场每年平均以%的速度增长。据美国E5公司预测,2006年全球软件外包市场将达到1000亿美元。整体来看,以美国、欧洲、日本为代表的国际软件大国产业梯次转移的需求已十分强烈,软件外包已成为世界软件产业发展的重要趋势,全球软件外包市场需求和外包服务业的发展空间逐渐形成。二、国内外软件工程存在的问题 答:国内:我国软件产业的国际化程度较低,国内市场由于以下的局限性无法独立支撑起一个庞大的产业: (一)狭小的现实市场规模。近年来,国内软件市场总体规模出现增长,但由于盗版,社会心理认同低,政府采购不规范等多种原因,增速仍较有限。软件潜在市场巨大和现实市场相对狭小矛盾仍较突出。用户忽视软件价值和“重硬轻软”仍较普遍。据统计,我国在硬件和网络上的投资与在软件和咨询服务上的投资比例为6∶4,发达国家为3∶7。软件开发网 另一方面,国内软件市场已经变成了国际竞争的市场。在软件市场的各个领域,特别是在高利润率的优质市场领域,市场份额基本上都由国外公司垄断。在系统软件和支撑软件市场,国外继续保持垄断地

浅谈软件工程技术发展_0

浅谈软件工程技术发展 本文把互联网的问世作为基础,从发展历程、基本特征、软件工程技术的研究内容以及软件业前景这五个方面展开,简单描述了软件工程技术的开发、研究内容与前景。希望通过本文对软件工程技术发展的介绍,可以使初学者对软件工程技术有一个较为整体的了解,使人们开始重新看待这门新兴的技术,并将软件工程技术的应用范围逐步扩大。 标签:软件工程技术基本特征发展 引言 三十多年前,软件工程就开始作为一门单独的技术存在于计算机领域,经过一定程度的发展,软件工程技术得到了广泛的应用,很多高级语言在该技术下也获得了发展。然而,在计算机技术高速发展的时期,一些质量低劣的软件开始逐步被淘汰,软件市场在追求高质量的同时,也开始面临资源缺乏的难题。针对该种情况,软件工程的研究者通过分析讨论,明确了“软件工程”的定义,并对软件进行了优化设计。此后,软件工程技术就慢慢开始发展起来。 一、软件工程技术的发展历程 近些年,计算机软件工程技术慢慢开始活跃起来,其规模也已经大大超过了预期的目标。自上世纪六十年代以来,软件工程技术在许多高级语言的帮助下开发了一种结构化的编程技术,并在之后的十一年内不断帮助人们开发软件。这之后的几年中,越来越多的人开始学习计算机辅助软件开发技术,并在软件工程领域取得了很大的进步。上世纪七十年代,计算机软件工程技术进入了飞速发展的时期,到上世纪九十年代,软件工程技术已经发展到优化性能稳定的时期,人们开始考虑软件使用的对象和方法,并发明了一些多功能的复用软件,如Windows 系统软件。 任何事物的发展都有一定的规律可循,软件的发展也不例外。现代社会科学技术和文明发展的速度越快,软件工程技术的发展也会随之加快。最明显的是软件的开发消除了硬件之间的不同特性,而且随着社会经济的发展,规避硬件不同特性的操作系统的功能将会持续提高。 二、软件工程技术的研究内容及基本特征 1.软件工程技术的研究内容 软件工程技术通过研究“低层概念”与“高层概念”之间的映射关系,从而解决“低层处理逻辑”与“高级处理逻辑”之间的问题。但是对于开发一个大型软件项目来说,处理两者的关系是具有难度的,工作人员需要进行全方位、多角度考虑,如人员的优化配置,资金的支出,项目进度的调整等,才能整体把握项目的进程。

软件工程国内外发展现状

软件工程国内外发展现状 国内外现状 很多国内搞计算机的专家都认为:国内的软件研发过程,个人色彩比较浓。过分地依靠个人无法形成产业规模,而没有规模就谈不上产业化了。 不管怎么样,我们大家还是先要来看一看国内软件厂商到底提供给我们多少有震撼力的软件产品,从技术和利润的角度讲,软件系统最核心的部分还是操作系统、编译系统然后就是开发平台之类的东西,接下来就是一些应用系统,比如图形开发、游戏开发、企业应用、网站建设、杀毒、网络工具等等。 操作系统以中科院为中心,做了一个COSIX,这个本质上是一个UNIX系统,UNIX最初的源代码是公开的,尽管COSIX是一个被称为中国的操作系统并是UNIX系列的(IX就代表UNIX系列),但是其中到底有多少独创的技术成分我们暂时还不知道,但有一点可以肯定,它现在的市场覆盖率绝对不大,而且能否在上面运行各种各样的编译系统、数据库、群件和应用系统可能还需要进一步测试。然后就是对硬件平台的支持也需要进一步完善。 然后就是轰轰烈烈的Linux系统,Linux是遵守GNU标准的操作系统,中国有很多家公司推出了自己的Linux并且还有汉化的Linux,这就有比较疑惑的一点,为什么不在Linux上构架一个类似UNICODE这样的东西,而只做汉化这么本地化的产品呢?不知道是眼光还是市场的问题了。 MIS系统、财务软件是中国软件行业的重头戏,它们彻底的暴露了中国软件开发无序和重复低效劳动的一面。教育软件在某一种层面上看就是电子题库,当然也有优点,比如加入了多媒体教学(可视化程度不错)和所谓寓教于乐的特点,但是从本质上说还是题库。杀毒软件据说是中国软件的骄傲,由中国权威机构评测是达到了世界领先水平,但是好象还没有得到国际权威机构的认可。游戏软件就不用提了,国内业界能够流行的游戏软件成功的秘诀众所周知,不是技术和创意,实在是归功于我们悠久的历史。字处理软件和排版软件客观的说国内的也做的不错,但是从系统的扩展性和体系结构上说和MS和Adobe相比,差距也放在那里。 发展趋势 (1)模块化 随着全球化的发展趋势和全球化市场竞争压力的增加,一方面企业需要更多的业务灵活 性和创新能力;另一方面企业面临的IT环境复杂度的增加和历史遗留系统的增加,对企业的IT提出了新的挑战。模块化的思想恰恰能够帮助企业从根本上解决了这一问题,它一方面通过抽象、封装、分解、层次化等基本的科学方法,对各种软件构件和软件应用进行打包,提高对企业现资产的重用水平和能力;另一方面,基于模块化思想,业界提出了SOA技术,它提供一组基于标准的方法和技术,通过有效整合和重用现有应用系统和各种资源,对各种服务进行服务组件化,并基于服务组件实现各种新的业务应用的快速组装,帮助企业很好应对业务的灵活性要求。它通过有效平衡业务的灵活性和IT的灵活性、平衡业务的灵活性和IT的复杂度,为IT人提供了一个业务视角,让IT人学会用业务的眼睛看世界,有效的拉近了IT和业务的距离。 (2)开放计算 虽然软件工程方法、技术和工具的发展可谓百花齐放,但谈到趋势,我们必须首先强调的是能够确定行业基础框架,指导行业发展和技术融合的"开放计算",它融合了"开放标准"、"开放架构"和"开源软件"三个方面,如图1.7所示。通过坚持"开放标准",不同企业开发和使

相关文档
最新文档