时间:2022-05-27 01:48:28
导语:在软件开发技术的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
1.软件工程技术在系统软件开发时的特点
开发一个软件用到的技术很多,不同的系统软件对软件工程技术的要求也不一样,在开发系统的时候,要考虑到当时人们的需求是什么,所以说系统开发是很复杂的。系统软件的各个模块的耦合度要很高才行,一个模块发生变化时,会带来很多的后果。系统开发的过程应该是一个规范、科学和系统的漫长过程。
2.软件工程技术在系统软件开发时要注意的事项
以前在进行软件开发之前,要进行一个很重要的工作,那就是系统建模,然后再根据先前的系统需求做出分析,还要对当时的社会需求进行彻底的调查。经过调查发现,市面上的软件有很多已经不能满足应用程序的更新换代,这主要是由于系统开发的时间太长以及程序的复杂度太高导致的。所以,软件工程技术在系统软件开发时要注意下面这两点。
2.1遵循科学性
要开发一个好的软件,就要注重科学性,在开发软件前要进行市场调查,做好需求分析。还要拿市场上已经有的同类或相关软件进行比较和借鉴,这样我们就可以选择相适用的软件工程技术来使用。软件工程技术在软件系统开发中发挥的作用越大,系统开发就会越轻松,软件开发的工期就会越短。
2.2注重实用性
在开发软件的时候,一定要注重软件的实用性,根据系统开发的实际情况,选择更好的软件工程技术。软件工程技术是系统开发过程中的一个很重要的辅助,这个辅助也决定了系统是否可以顺利地运行。
3.软件工程技术在系统软件开发中的具体应用
系统软件的开发既需要注意它的科学性,也需要注意它的实用性,但是现代的系统软件中只注意这些是不够的,我们还要掌握一些方法。第一是优化构建软件的开发模型,软件开发模型的构建也是十分重要的,在这个模型下,可以使系统软件的开发更加的高效,思路更加的清晰,如果出现问题,可以进行有效的解决,不耽误系统的下一步开发。第二个方法的是,要积极开发软件程序应用,不但要知道软件的性能,还要知道软件的发展潜质,另外也要了解用户想要什么,方便后续的优化甚至减少优化。第三个方法是对软件工程的项目进行管理,这需要一些步骤:(1)项目准备,为项目做出一个合理的可行性分析。(2)启动项目,知道项目的可行性,准备工作已经做好了,就可以对软件工程的计划方案进行制定。(3)对项目组织进行计划。统计一下各个方面需要的人力,还有技术要求。(4)对项目进行跟踪评估,这个很重要。我们通过一个案例来更好地理解软件工程技术在系统软件开发中如何更好地应用。比如说,要建一个图书管理系统,可以使用Java语言,结合JSP技术,再结合前端的HTML5对系统表面进行美工,采用MVC框架,使用企业数据库。JSP的稳定性很强,很多大型的游戏设计师都是用这个技术,Java语言是一种脚本语言,可以适用于很多版本的电脑,HTML5可以实现三段适应,手机、电脑和平板可以同时登陆,而且页面都是一样的,没有变化。这些软件工程技术都是很实用的,价格也很实惠,开发起来也比较方便,由于该技术的耦合度要很高,维护起来也很方便。前期开发的思路也是很清晰的,采用的技术也很明白,下一步就是软件工程导论和UML建模,还有需求分析交给技术人员,让他们进行研究开发。如此便节省了不少的工期,减少了后期维护的次数和费用。一个好的软件工程技术所需要的系统维护的实际经费,要比前期系统的预算费用要少很多。
关键词:软件工程;软件开发;创新策略
软件工程的管理指根据软件开发相关的技术知识和相关的软件工具两者相结合的项目工程,这样才能确保工作的顺利进行。对于软件管理管理主要有两个方面组成:一方面是重要部分的软件开发,另一部分是补充性的软件工程管理。一个软件工程的管理主要是软件工程的启动、工程的计划、工程的执行、软件工程的控制管理、工程结束这五个方面。这五个方面每一个环节都有自己特殊的作用,每个环节之间相互联系,相辅相成。软件工程的启动环节是一个工程的必要条件,它是对改工程的初步了解,详细分析之后再考虑该工程是否合理,能否实施;工程的计划阶段它是整个工程实施的基础,这一环节的实施中需要相关部门的负责人制定该项目的实施计划,具体到工程的每个方面;工程的执行与工程的控制管理两个阶段是同时完成的,执行的过程中进行相应的控制管理,这样可以监督工程的实施是够符合计划,保证工程的进步顺利完成。最后一个阶段就是项目的收尾工作的执行,一定要根据计划的要求对进度控制在合理的范围内,并根据工程的实施过程进行相应的总结工作。
1计算机软件开发技术研究
1.1自动化方法
自动化是新时代的开发形式:使用最新一代技术,用开发软件做工具,协助计算机软件开发人员,使其操作更加方便,减少了“低层次”工作,因为利用这种方法开发人员只需要把自己的目标和内容告诉软件开发工具软件,该软件就会自动满足用户需求,不用再为编码费脑筋,使得软件者降低了软件开发的“体力劳动”,开发起来更容易。其次,利用这一方法,软件开发周期会缩短,开发成本大幅度下降,所以,颇受软件开发人员的青睐。
1.2原型化方法
在软件开发的前期总归会遇到各项需求难以确定的情况,这是可以采用原型化方法,在软件开发的过程中,逐步明确软件需求,确定设计方案,开发出使客户满意的产品,利用这种方法根据已知的需求建立一个可以随时修改的模型,根据客户中使用者的意见及时改进,使之逐渐完善,更好的契合他们的需求,满足客户,这种方法的优势在于客户使用者的参与度、决策权得到提高和加强,研发工程师还要有良好的沟通能力,多与客户进行充分沟通,并引导他们配合,确保开发的完备与功能齐全。
1.3生命周期法
生命周期法在软件开发工程中有着不容小觑的地位和重要的作用,是从时间的角度把软件的开发分解为软件计划、需求分析、软件设计、程序编码、软件测试、运行维护6个时期,也称6个阶段,可以看出这6个阶段其实质是软件开发的全过程,是一个系统的、连续性强、衔接稳定的过程,前一个阶段的结束意味着是下一个阶段的开始。这种开发方法特别适合开发大型软件,利于组织和管理人员,同时便于软件开发方法的研究,所以,生命周期法对提高大型软件开发的质量和效率非常有利。
2计算机软件开发中的分层技术
2.1双层技术
就计算机软件开发中的双层技术来看,必须切实把控住两大重心,一个需要与服务器进行连接,另一个需要与客户端进行连接,进而通过两者的连接,实现远程信息的传递。该信息环境下,使用者的数据资料能够按照预定模式传送给服务其,并且能够在数据库中查找出与之相应的数据信息资料,再以此为基础传递给客户端,能够有效满足使用者对数据资源的切实需求。该分层方式虽然较为简单,可以满足部分使用者的实际需求,但当使用者数量过多时,容易造成运算时间的急剧增加,这不光难以确保信息的时效性,还容易出现相应的数据安全风险问题。所以在将双层分层技术应用于软件开发过程中时,必须在保障服务器性能优越的同时,对客户人数进行适当限制,以此保障该系统的稳定性。
2.2三层技术
结合双层技术所存在的弊病,相关工作者在对双层技术进行优化的基础之上,通过增加应用服务其的方式,研发出了三层分层技术,其结构大体包括业务处理层、数据层与界面层三大部分。该技术主要以双层技术为依托,能够大幅度改善原本双层技术应用效率低下的现实问题,不光有效增加了应用程序的运算速度,同时还能够多客户对信息传输的需求。此外,三层技术还在应用服务器中增加了一个端口,为较大信息量资源的处理与传输给以了充分的端口支持。但该技术在实际应用的过程中,很容易出现资源不必要消耗的问题,这对于计算机应用程序的开发与发展而言是极为不利的,所有需要将该技术与双层技术进行结合应用。
2.3四层技术
一般来说,双层技术与三层技术的应用虽然能够基本满足软件开发的需求,但是当计算机软件应用环境较为复杂时,该两类技术将难以满足程序使用的切实需求,故以三层技术为基础,相关工作人员逐渐开发出了四层技术。就四层技术的结构来看,主要涵盖web层、数据库层、存储层与业务管理层四大板块,其中业务层多是为了实现数据库层运算结果向web层传输的功能,能够有效实现数据的整合处理与相互传递。数据库层能够以隐藏数据访问代码的方式对数据库与对象之间的联系进行认定,可以有效避免由于匹配不恰当而产生的差异性问题。四层技术的应用能够实现对各类数据信息的有效整合,在处理大量数据信息时有着上述两种技术难以企及的优势,且不会造成不必要资源的浪费,计算结果精确性较高,能够有效实现多客户的协同需求。但不得不说的是,该技术虽然具有较强的适宜性,但究其应用领域范围来看,仍然不够广泛,需要进行深入拓展。
2.4五层技术
现今在部分较为特殊的领域与计算机数据交互环境中,为进一步优化数据处理的速率与效果,相关工作者以四层技术为基点,通过将数据层分割为集成层与资源层的方式,形成了五层结构。可以说五层技术的应用不光能够在四层技术的基础之上进一步优化系统运作速率与稳定性,还能够结合功能实际应用点满足部分特殊硬件设备的运行需要。而就该技术实况来看,虽然其结构层次更为精细,但其并不具备较强的推广性,应用范围仍然比较狭窄,代表性不强。
3软件工程管理的创新策略
3.1提高软件工程管理整体化意识,加强风险防范项目工程的计划
在整个工程的项目中具有重要的作用,这关系到整个工程的发展。项目工程在实施之前,相关的管理人员一定要组织相关技术人员进行研究、探讨,综合所有人的有效的建议,制定出符合实际工作的规章管理,可以实现工程的顺利进行。另外,在工程的实施阶段还要对工程的进度情况进行有效的掌控,做到对工程的总体把控。对风险的意识也必须要加强,分险管理可以及时的发现企业生产过程中的问题与弊端,从而及时的做出相应的补救。工程的管理人员还应加强对于风险的意识和防患于未然的想法。
3.2实施精细化管理
如何加强软件工程的实际工作效率和产品的质量安全,加强相关技术人员的素质水平,需要从软件工程的各个环节进行管理,并需要对各个子项目进行精细化的管理,(1)有关的部门的管理人员要对相关的环节做到详细的了解,只有进行详细的了解之后才可以做出科学合理的计划,在对软件工程的设计阶段主要有技术的开发、工程的测试等多个发展阶段。(2)要对软件工程的各个管理部门和职能部门进行相应的熟悉,还要对这一部门的主要作用和发展的方向进行了解。(3)设立一个较为详细的组织部门,在对软件的实际中,对于影响软件的一些不利的因素进行及时的调整。针对软件工程的的相关质量、管理人员、进度等多方面进行管理,为之后的管理奠定坚实的基础。
3.3建全管理体系,并进行针对性变革
在对软件工程进行管理的活动中,要先保证管理工程的顺利进行和后续工作的有序开展需要建立一套完善的管理体系。所以,相关的管理人员在制定管理体系的时候,要对整个软件工程进行合理的预测,并结合各个子项目和各部门的作用与发展的动向进行度组织框架的建立;并根据这一框架对管理体系进行细分和管理细则的制定。在完善管理体制的同时还要对加强对企业管理体制的变革与完善。
3.4化软件工程管理的监督工作
软件工程的监督管理在整个工程的实施过程中具有重要的意义,所以在工程的进行中进行相应的监督。实施监督工作有利于工程的规范和发展,提高工作的质量和工作的实际效率,对软件开发的成本进行有效的把控。监督工作主要是看工程的实施是否符合计划的规定和工程的进度。监督工作中的工作人员需要对这些数据资料进行详细的记载,并及时的进行总结与分析,发现问题可以及时的进行处理,从而减少工程中的失误。
4结语
根据上面的讲述,在软件工程的管理中专业的管理人才具有关键性的作用,但目前我国的实际发展情况,大部分的管理人员还是存在各种的缺陷。所以对于软件开发管理的企业要注重对专业管理人员的培养,实施较为全面的管理制度。所以面对目前我国软件开发管理中的各种问题,就需要针对这些问题加强对软件工程管理中的风险管理和监督管理,从而提高软件工程管理的工作效率和工作质量。
参考文献
[1]杨周礼.计算机软件工程项目管理的探究[J].电子测试,2015(13).
[2]侯凯.浅谈软件工程管理的现状和创新策略[J].计算机光盘软件与应用,2014(24):67-68.
关键词:软件开发;建模技术;应用;UML;模型驱动
引言
计算机软件,是日常工作学习最常用,能够简化工作的形式和内容。因此,开发新的软件,进一步加强计算机的实用性,成为了计算机科学发展的方向。而软件的开发,需要有大量数据支持的建模技术,只有通过数据的模拟以及不断的数据试验,确定建模技术可以使用,才能保证软件开发的顺利,以及质量高。能够在测试的抗损耗的范围内,实现高效率的工作。因此文章内容,主要针对的就是软件开发之前的建模技术进行详细的分析和总结,并且对其应用进行阐述。
1软件开发模型技术
1.1软件开发的建模技术概述
1.1.1软件建模
软件建模,主要体现的是一种思想,是在系统需求以及系统现实之中,架起了一座桥梁,让虚拟的,抽象的事务变成能够看见和摸得到的,这样可以满足人们生活和工作中的需要。而且软件的建模,也是需要海量的数据支持才能完成的,并且实现开发和使用的目的。所以,软件建模,需要依据其想要表现出来的实际操作模式和内容,选择数据进行建模的工作。
1.1.2传统软件开发面临的问题
软件的开发,是基于建模技术而研发出来的,虽然建模技术不能完全完善软件的功能,但是基础功能的呈现也能满足人们和工作的需求。但是目前传统软件的开发,以及更新还是面临着一定的问题,如果问题得不到解决,会导致软件不能使用,甚至会出现系统瘫痪的状态。比如,在初期的软件开发过程中,书写代码是最基本的开发软件的工作,也是建模的基础,但是书写代码本身就是一个简单的程序,如果不设计模型,以及不进行文档的编写,就会导致整体出现漏洞,因此,传统的软件开发,应该把程序编写和文档设计以及效率有效的结合在一起。而且现代社会,对软件的需求极高,软件更新的速度也是比较快的。
1.2新软件开发模式
UML的提出现阶段,我国计算机软件的开发,尤其是新软件的开发,主要是借助于模型UML,提出UML模型,主要是因为该模型的构建技术,符合现代人们对软件的需求和要求。而且利用UML,可以统一建模的语言,这样有利于开发软件。而且可以把抽象化的内容具象化,并且利用UML建模,可以实现三种建模方式。最重要的是,UML建模的提出,可以让软件的开发,逐渐向编码靠拢,毕竟编码是软件开发的基础,而不应该为了创新软件的技术和功能,偏离编码的中心。
1.3模型驱动体系结构
1.3.1UML基本概念
UML模型技术的概念,就是统一建模语言,主要就是指的凭借事物、关系和图而实现一种表达软件内容的建模形式和方式。该种建模形式更能够体现出建模的优势和特点。而且利用UML模式可以从三个方面进行建模,一个是动态图,一个是静态图,以及物理图,通过这三个图的内容的构建,可以有效的实现抽象化的内容,转变成具象化。通过图1可以了解到动态建模和静态建模之间的关系,其中静态图就是利用表现逻辑为基础,把一些不存在变化的元素进行连接起来,比如软件之中存在的类别,包图、例图、对象图等组件图等进行有效连接。而动态图就是把软件在工作过程中,可能体现出来的变化进行记录,然后依据具体的内容进行改变和设计。最后则是物理图,就是依据软件的物理结构表现进行设计,这三类内容是软件实体设计的依据和根本基础。因此,应该依据UML的模型开发软件。
1.3.2UML的特点
利用UML建模,是整个模型驱动体系结构中的重点内容,而且因为UML具有独特的特点,可以让软件开发具有更多的优点。首先,UML的特点就是,基本上涵盖了目前我国社会上对软件开发所需要的基本建模技术和内容,这对于开发和创新新的软件提供了基础技术内容,实现了软件开发的建模技术的语言统一,这样有助于开发软件。其次,则是利用UML可以实现动态和静态的结合,这样能够保证静态关系和动态关系之间的对象以及结构具有联系,实现了时间和状态的联系,这样的动态联系能够保证软件的开发者以及建模技术的设计者,对软件从多角度尽心了解。
2基于UML的应用分析
基于UML的建模技术以及软件开发,在具体的应用中,也起到了比较好的效果。利用UML模型,在应用中,提高的软件的配置,能够在大数据测试阶段,保证较好的运算速度和效率以及准确率。尤其是软件的应用,在工作管理,校园管理中起到了重要的作用。比如企业中的人员招聘,档案的记录,或者是学校的系统管理以及教师管理等内容,都是与UML模型技术开发软件有着直接的关系。而且可以实现不同系统之间的兼容,能够实现语言的统一性,便于操作,能够有效的完成工作内容。有效的提高了软件的质量,同时利用UML建模技术和基础模型,可以让软件中的关系更加的明了,便于软件之中不同项目以及状态的行为有序的展现出来,这样可以保证程序和软件不出现错乱的情况。
3结束语
目前我国的软件开发,最基本的功能就是下载、安装和删除,然后就是软件内容内部的一些基础功能项目。像目前办公比较常用的WPS,就是软件开发的一种。但是在软件开发的过程中,是需要建模技术的,只有通过大量的数据试验,才能够建立适合客户使用的软件,才能开发软件。因此,文章内容是针对利用MDA模型为基础,构建模型技术,实现驱动体系的建立,然后进行软件的开发使用。并且在最后的依据其应用进行简单的分析,可以在实际中的使用该款软件。
参考文献
[1]张媛媛.软件开发的建模技术研究与应用[D].北京:首都经济贸易大学,2010.
[2]刘旭.建模技术在软件开发中的应用[J].电子技术与软件工程,2016(8):122-125.
[3]周海,张叶.浅析软件开发的建模技术研究与应用[J].管理决策,2014(7):122-124.
[4]陈凤萍.UML建模技术在软件开发中的应用探究[J].电子技术与软件工程,2014(5):145-147.
【关键词】服务搭建式;软件开发;软件技术
软件技术的发展正在进行着积极的改变。传统的软件设计方法是通过对客户具体需求进行了解,从而达到最终的设计目的。但是这种方法仅仅可以满足客户的短期需求,不会随着企业的发展以及需求的改变而进行合理的改变。因此,对面向服务的搭建式软件开发技术研究有着鲜明的现实意义。
1搭建式开发的基本思想
对于面向服务类型的搭建式软件开发技术我们可以进行这样的理解:主要指的是可以即时对不同类型的服务资源进行组合或者是在规定时间以及规定范围内迅速的搭建成一个可用的软件应用,并且可以很好的满足用户所提出的一系列个性化需求”。相对于传统的面向服务类型的软件来说,本文当中所涉及到的相关理论内容在技术研究与设计过程当中提出了两个基础特征:一个是按需,另一个是即时。
1.1界面设计
在以往传统的软件界面设计过程当中,因为在设计过程当中,相关的程序员在设计过程当中往往都是凭着自身的直觉来对具体的用户界面完成设计与实现,此种方法在实际的应用过程当中,不仅仅会在很大程度之上进一步增加基础界面设计工作的实际工作量,并且此种界面设计方法在现实的表达过程当中,将会很难获得操作的一致性,同时用户在实际使用过程当中所具有的方便性也很难达到最优化的效果。
1.2搭建式开发的优势
搭建式的软件开发方式在实际的应用过程当中将会进一步的缩短软件的开发时间,并且在现实的设计过程当中还将会节约80%以上的软件开发成本,同时还将会提高60%以上的实际工作效率,并且在现实的开发过程当中,此种开发背景之下的开发活动对于开发人员的基础性技术要求也将会被大大降低。我们以软件初次上线的测试结果来对其进行比较,传统的开发方式,初次上线的BUG数量大约在三百个以上,而基于搭建式的软件开发方式,其初次测试的BUG数量均在三十之下,搭建式开发的质量将会是传统软件开发的十倍。但是此种开放方式,让业务用户从原有的关心技术、逐渐转向为了关心业务内容。尤其是WebGIS一类的专业性软件开发。基于此种优势,我们可以说“零编程搭建式”得开发方式将会是GIS的一场完美革命。
2搭建式开发技术
2.1数据中心
数据中心可以说是软件发展过程当中一个重要的组成部分,其在实际的应用以及发展过程当中将会十分重要的作用。而在系统当中,数据中心将会由数据仓库、构件仓库以及相关的搭建平台所互相组成。如图一所示就是数据中心的搭建开发过程。从图1当中我们不难看出数据中心与搭建式开发技术之间的具体关系。
2.2构件技术
构件技术所具备的基本思想是在软件开发以及设计过程当中,通过对可复用的基础软件构件进行创建以及合理的利用,来进一步的解决相关的应用软件在实际开发过程当中所存在的问题。其在实际应用过程当中与相关的对象编程语言并不相同从这个方面进行思考,构件技术其实是一种更加高层次的软件对象技术。对于使用构件来搭建系统的开发者而言,一个构件就是一个接口集,只能通过接口才能与构件进行通信;而对于构件来说,接口是包含一个函数地址。在实际的应用过程当中,构件技术将会进一步的独立于语言,但是却可以很好的面向于应用程序,在实际的应用过程当中,仅仅会规定相关构件的基础外在表现形式但是不会规定软件在实际应用过程当中的具体实现方法。在实际的应用过程当中,其既可以应用具体的面向对象的相关编程语言进行设计实现,也可以利用一些非面向对象的编程语言来进行软件而设计实现。
3结束语
综上所述,我们国家近几年的经济水平有了极大程度的提升,经济的快速发展让其它行业的发展受到了极大程度的推动作用。但是在实际的应用以及发展过程当中,无论是哪个方面的发展都将会面临诸多的发展问题,并且在发展过程当中,发展目标还应该建立在社会需求之上。所以面向服务的软件开发需要进一步被完善。本文以上内容立足于软件开发的基础内容,对搭建式软件开发技术基础内容进行了简要的论述。希望可以通过本文以上内容的论述,促进软件开发进一步完善。
参考文献
[1]展广朋.关于搭建式软件开发技术及其实践应用的几点分析[J].电子技术与软件工程,2013(24):96.
[2]郭鹏,李亚晖,孙磊,蔡晓乐.面向嵌入式软件开发的UML到Simulink模型转换方法[J].计算机科学,2016(02):192-198.
关键词:计算机软件;开发;安全技术
在计算机软件开发过程中,技术人员结合具体的市场需求,分析潜在的安全隐患,采取安全技术,保证用户信息安全,防止出现信息被泄漏、篡改、损毁等情况,减少电脑被攻击的次数,维护好用户的权益。计算机已经应用到社会各个领域,为人们提供了极大的便利。但是在实际应用的过程中,用户的计算机经常受到网络黑客或者病毒的攻击,影响了用户的使用体验感,甚至出现私密信息泄露的问题。因此,本文主要针对计算机软件开发安全技术进行分析,提出合理的对策和建议。
1计算机软件开发安全技术的重要作用
在计算机软件开发中,软件作为用户与硬件之间的接口,需要加强安全防护,提升计算机性能,改善计算机运行环境。计算机软件开发安全技术的应用,具有十分重要的作用。第一,有利于推动计算机软件设计的规范性,规避潜在的安全问题,提升计算机软件的性能,延长计算机软件的使用寿命,满足用户不同层次的需求,让计算机保持良好的运行状态,从而吸引更多的客户。第二,计算机在社会不同领域和专业中的应用,拓宽了计算机软件的应用范围,为人们的生产生活提供了极大的便利,提高了生产的效率,但是也存在一定的安全隐患。因此,通过安全技术的应用,有效提升软件的安全性能,减少了外界的影响与干扰,创造了良好的运行条件[1]。第三,有利于保护用户的个人隐私。在计算机应用范围不断扩大的前提下,用户有很多私密的信息通常会放在计算机内,但是各种因素的影响,比如出现误操作、外界因素的影响等,增加了计算机系统运行的安全隐患和用户信息泄露的风险。容错技术、加密技术、防病毒技术、防泄漏技术等安全技术的应用,有利于保证计算机的安全,保护用户的个人隐私[2]。
2计算机软件开发存在的隐患
计算机软件开发过程会受到周围环境的影响,增加了软件开发的安全隐患,无法真正保证计算机软件系统的安全性,影响了计算机的正常运行。
2.1计算机设备自身存在的风险
受到外界因素的影响,计算机设备长时间运行,线路会出现老化问题,或者被人为地破坏,内部系统出现卡顿,设备配置不合理,无法保证计算机的正常运行,增加了设备运行的安全风险。在计算机使用过程中,用户没有对设备进行定期维护与管理,缺乏日常的检查,再加上使用方法不当或者操作过程存在不当行为,缺乏对计算机风险的预测,随意下载各种不良软件、文件等,不仅增加了计算机运行的负担,甚至超出了计算机的运载范围,增加了网络安全风险。因此,为了保障计算机正常运行,用户要做好计算机设备的检查与维护。
2.2网络黑客攻击
在互联网中,黑客利用自己的网络知识和技术通过网络安全漏洞,对用户的计算机进行攻击,窃取、损坏他人的文件,导致计算机瘫痪。目前,由于计算机信息管理机制需要进一步完善,再加上用户管理权限设置存在问题,给不法分子提供了可乘之机。黑客会通过口令和发送电子邮件的方式进入计算机的操作系统,盗取内部的重要信息,篡改文件信息,导致计算机信息系统不再完整,甚至网络瘫痪,给用户带来经济损失和数据损失[3]。
2.3网络病毒入侵
网络病毒具有传播速度快、范围广、形式复杂以及破坏性强的特点。随着网络技术的发展,虽然网络安全监管力度不断增加,但是用户计算机依然存在被网络攻击的问题,并且计算机一旦感染病毒,很难彻底清除,影响计算机的运行速度,导致系统频繁重启,甚至瘫痪,给用户带来巨大的损失。因此,计算机用户要规范自己的使用行为,提升网络安全防范意识,做好安全软件和杀毒软件的安装更新。
3安全技术在计算机软件技术中的应用
为了提升计算机的安全性,在计算机软件技术开发过程中,需要采用安全技术,提升计算机的安全防护能力,规避潜在的安全风险。
3.1防火墙技术的应用
在计算机软件开发过程中,为了有效减少计算机运行中存在的风险,设计人员要根据当前的防火墙技术,在计算机内外两个网络之间设置防火墙,从根本上保证计算机的安全。第一,设计人员要对网络进行审核,做好内部网络划分,然后做好隔离保护,有效减少外界网络对计算机内部的影响[4]。第二,要采用信息加密技术,做好宝贵信息的隐藏工作,避免被非法分子利用,提升计算机的安全性能,有效保护内部的信息数据。第三,采用漏洞安全扫描技术,及时扫描计算机的安全漏洞,然后做好修补工作。因此,软件开发技术人员要重视对防火墙技术的开发,提升防火墙防范的安全级别,增强抵御网络安全风险的能力。
3.2做好计算机信息系统设计
为了有效保障计算机的安全运行,软件设计人员要建立安全的信息管理系统,提升系统安全防范能力。第一,设计人员要根据当前客户的需求,融合多元化的信息元素,不断创新信息系统,提升计算机信息系统性能,提升运行的效率,适应当前社会迅速发展的要求。第二,做好安全信息的管理与维护。为了避免计算机信息管理系统遭到破坏,设计人员优化信息系统管理的各个环节,既要保证系统内部各个部分的独立性,又能密切配合,排除互相干扰,实现信息的共享,为计算机正常运行提供安全保障,满足客户的基本需求,提升计算机性能,做好风险的自动识别,保证计算机正常运行。
3.3采用网络入侵检测技术
计算机软件开发技术水平的提升推动了网络检测技术的发展。网络检测技术的应用,可以有效减少网络攻击的次数和频率。入侵检测技术能够对网络运行情况进行检测,统计异常的网络行为,并且在受到外界攻击以后,及时发出警报。入侵检测技术实现了通信技术网络技术的融合,提升了网络安全防范的智能化水平,能够对整个计算机网络系统进行有效的监控,有力阻挡外界不良信息的干扰,减少用户损失。在软件技术的推动下,混合入侵检测技术的应用,可以满足不同用户的基本需求,融合不同软件的优点,监控和防范的范围更加广泛,有效提升了保护的效果[5]。
3.4应用防病毒技术
根据病毒传播的特点,软件开发技术要融入安全技术,提升软件安全防范能力,避免导致传播范围进一步扩大,防止破坏计算机系统,提升计算机安全防护能力和抵御病毒能力。第一,安装防病毒入侵程序,做好病毒定期排查工作,针对已经进入电脑的病毒要进行彻底的清理,挖掘隐藏病毒,结合实际情况做好计算机的日常维护,保证计算机正常运行,提升病毒抵御能力[6]。第二,安装防病毒软件,保证计算机在第一时间内能够隔离、清除病毒,防止病毒进一步扩散。并且用户要定期升级杀毒软件,做好病毒的实时监控,有效避免病毒入侵[7]。第三,做好计算机补丁的修复,如果系统安全漏洞没有得到及时修复,就会给病毒入侵的机会,需要利用系统安全软件做好系统补丁,避免病毒通过网络进入计算机等。
4结语
在计算机软件开发安全技术的过程中,技术人员要根据当前的市场需求,不断应用先进的防火墙技术和防病毒技术,提升计算机信息系统性能和网络入侵检测技术水平,有效规避潜在的安全风险,降低被黑客攻击的次数,为用户使用计算机创造良好的环境。
[参考文献]
[1]李夏.信息安全背景下计算机软件技术的开发与应用对策[J].信息记录材料,2021(7):66⁃68.
[2]丁勇.安全技术在计算机软件开发中的应用研究———评《计算机安全技术》[J].现代雷达,2021(1):95.
[3]王辉.信息安全背景下计算机软件技术的开发与使用对策[J].数字技术与应用,2020(1):175⁃176.
[4]张海斌.浅谈安全技术在计算机软件开发中的应用[J].电子世界,2019(11):168⁃169.
[5]赵天.计算机软件开发中安全技术的应用研究[J].现代信息科技,2019(11):165⁃166.
[6]卢增宁.安全技术在计算机软件开发中的应用研究[J].信息与电脑(理论版),2019(8):22⁃23.
关键词 搭建式开发 面向服务 软件开发 技术研究
中图分类号:TP311.52 文献标识码:A
随着时代的发展,传统的软件开发技术已经不能很好的满足社会的需求。其不足之处主要表现在以下几个方面:第一,软件的开发是建立在需求分析的基础上的,需求处于不断的变化当中的,开发技术如果不能不断改进,就无法很好的结合需求开发软件;第二,传统技术开发的软件缺乏灵活性,在其运行过程中几乎不能进行调整或者改变;第三,从传统企业的系统整体来看,企业的整个系统是一个比较复杂的整体,其信息模块都来源于不同的平台、开发工具,此外信息的管理规范、需求等都不是一个统一的标准。本文结合实际的变化需求,对软件的开发提出了一些相应的策略。
1 软件开发现状
目前,诸多领域的业务普遍出现需求量大、种类多变的现象,所以对信息系统的要求也进一步提高,要求信息系统能够及时根据需求的变化做出相应的调整。为了解决这一现状,我们提出了面向服务的搭建式软件开发技术,它具有较好的抽象性以及灵活性,能够很好的解决软件重组和集成等问题。此外,由于其采用的是面向服务的结构,企业在应用时能够更快速更方便的对软件的组建进行重组、构建,面向服务作为指导思想也变得更为普及。
搭建式软件开发模式与传统的开发模式不同,它能够让数据层、逻辑层等彼此分开,其资源的配置方式也变得更加简便,这样就能够实现信息系统的灵活性和快速性。
2 搭建式软件开发技术
2.1 开发思想及体系结构
搭建式软件开发技术也就是说能够随时根据不同需求组建不同的,能够更好满足用户需求的应用系统,它具有较好的灵活性和即时性,用户可以不用付出很大的代价就能够构建满足自身需求的应用。此外,搭建式开发技术能够在用户需求发生改变的时候做出快速的响应,以便更好的完成面向服务的应用。
搭建平台是搭建式开发技术所创建的系统,它的搭建是有许多层面的构建共同实现的。其中界面表现和逻辑控制能够很好的融合是通过表单设计器来完成的;工作流主要负责逻辑控制的定制、修改以及业务的产生和完成等过程;功能库能够为每一项服务提供相应的组件;数据管理层是通过各种数据库来实现管理的。
2.2 搭建式开发技术体系结构的实现
2.2.1 工作流管理系统
业务流程的自动化或者半自动化称为工作流,系统中一些文档、信息等遵循设定的规则进行流转,让各个组织成员之间能够相互协调,从而实现整体的目标。工作流管理系统的结构大体可以分为以下三层:第一,数据层:系统通过数据库对定义数据以及运行数据进行存储;第二,业务层:主要包含整个流程的引擎、监控工具以及数据的访问构件等;第三,表示层:其用户有流程的定义人员、系统的管理员以及其他一些用户。
2.2.2 自定义表单系统
自定义表单系统是构建平台面向服务的重要构件,它能够使界面表现和系统的逻辑控制有一个很好融合,其最主要的目的就是要将常用的控制以及功能很好的设计到搭建平台中,操作方式要做到简单。自定义表单系统能够对数据的安全存取提供保障,其具有人性化的服务界面,此外该系统还支持二次开发,这样就能够保证软件能够即时的满足用户的各种需求,对提高工作效率有极大的作用。
2.2.3 搭建框架运行系统
搭建框架运行系统是通过各种基础的模块组成的整个软件系统的基本服务模块,它是软件系统的基础,在此基础之上进行各种子功能封装,从而组成一个具有强大功能的业务系统。作为应用系统的门户,它集成了各种常用的模块以及各种业务的管理功能。该系统具有很好的扩展机制,同时还提供各种开发配置工具,能够为应用的再次开发提供良好的条件,此外该系统还摒弃了一些与业务本身没有关系的技术,这样就能让软件的开发设计人员集中精力于业务本身,有效地降低了软件开发的复杂性,同时还节约了开发成本。
3 结束语
互联网技术在企业中的应用变的十分广泛,随着企业业务的发展需求以及企业之间的竞争加剧,其应用软件也变的十分复杂。传统的软件开发技术已经不能适应如此快速的变化,其自身的设计思想以及软件的可开发性、即时性都不能很好的满足需求,此外,系统存在的一些问题加剧了它被搭建式软件开发技术取代的趋势。本文从搭建式软件开发技术的实用性、先进性等方面进行了简要分析,阐述了此技术在应对各种业务变化方面的优点。搭建式软件开发技术能够大大提高企业的生产效率,降低企业成本,进一步提高企业在市场竞争中的优势,随着该项技术的深入研究,必将有很好的发展前景。
本文主要以计算机软件开发中存在的隐患为切入点,针对存在计算机相关实体设备,信息传输过程中以及黑客病毒攻击中的问题进行简要的分析,提出对安全技术在计算机软件开发中的应用进展的看法,希望能够起到一定的借鉴作用。
1 前言
二十一世纪是互联网的时代,计算机的功能在不断强大完善,它在人们生活工作中扮演的角色也日渐重要。现在的计算机不再是以前庞大笨重的机型,而是发展为体积小巧方便携带的工具。并且计算机软件在不断的开发过程中,人们的生活方式也得到了很大的改善,计算机软件涉及的领域也更加全面,但随之而来的问题是如何更好地保障计算机使用者的信息安全,防止信息泄露。
如今木马病毒、垃圾邮件等是现在用户使用计算机中很容易碰到的问题,并且形式也在增多,这就造成计算机被入侵,用户的信息安全得不到保障,研究计算机中的安全技术迫在眉睫。
2 计算机软件开发中存在的隐患
2.1 实体设施的受损
计算机的基本设施、网络通信设备等实体设备的受损会对计算机的安全造成威胁。受损的原因可能为自然灾害,电路的老化造成设备的接触不良,或者人为故意损坏设备使得计算机不能正常运行。由于实体设备受损对计算机的网络系统运行会造成一定的影响,严重的话可能会使得网络设备的彻底损毁,计算机系统崩溃,给用户带来很大的麻烦以及损失。
实体设施的受损原因比较复杂,安全技术的应用进展难度也大大提升,计算机因这些安全威胁受到的损坏也是不可预计的,甚至使得计算机软件的开发功亏一篑。因此对计算机的相关设备需要做好保养,定期清洁计算机相关设备,以及检查电路好坏,掌握正确的操作方法,改善检查制度,将计算机网络的安全性有力提升。
2.2 信息的传输过程易被攻击
在使用计算机的过程当中,在信息的加工处理过程中成为易被攻击的对象,特别是在信息的传输过程中。一般分为主动攻击以及被动攻击,前者是用截取或者造假网络上传输的信息的方式,它使得通信设施不能够正常运行,在网络信息传输的过程中,非法修改原有的合法信息,使得信息内容改变,破坏原有的信息,欺骗误导了使用者从而实现攻击的目的。
后者对传输的信息不会造成破坏,但非法分子通过窃听或者监视的方法获取想要的信息,这种方式往往比较隐蔽,很难被使用者发现。由此可见,信息的传输过程是个比较脆弱的环节,容易被非法入侵。
2.3 黑客或病毒攻击
黑客通过自身过硬的计算机网络知识,针对计算机网络本身存在的问题,加上技术工具的辅助对目标计算机进行攻击,从而造成网络系统的瘫痪,对计算机软件开发的工作进程造成重大影响。现在互联网上的黑客攻击事件并不少,必须高度警戒。
黑客的入侵不仅破坏了系统的设备,更会盗取计算机中的重要信息,对用户的安全隐私造成极大的威胁,尤其是在软件开发的过程中,此外还有计算机病毒的攻击,它的破坏力也是极强的,因为一旦感染病毒,它将以极快的速度攻陷计算机系统的各个角落,危害极大,后期造成的损失也是不可估量的,对计算机软件开发将是致命的打击,计算机运行速度会减慢,随之而来的是系统的瘫痪,重要数据文件的损毁,甚至彻底损坏计算机的硬件设施,这将是不可逆的损失。
3 安全技术在计算机软件开发中的应用进展
3.1 防火墙、漏洞扫描以及信息加密技术
当前,各种安全技术在计算机软件的开发中得到了广泛应用,取得了一系列可喜的进展。防火墙是将不安全的信息隔绝在外的安全屏障,可以在很大程度上确保网络的不被入侵。它只让经过审核的应用协议进入,此外防火墙还具备划分内部网络的功能,将其进行科学的规制,将重要的网段通过隔离的方式保护起来,最大程度减小对整体网络运行的影响。
漏洞扫描技术,顾名思义就是在计算机系统被攻击之前,通过该项技术将自身的漏洞检测出来并且及时修补,防患于未然。它通过扫描计算机系统,防火墙等,评估出网络系统的安全系数,对保护计算机安全有很大的帮助作用。至于信息加密技术,主要是重新编码了目标信息,使得真正的信息被隐藏了起来,不法分子便不能得到真实的信息。
如此一来有效地将信息系统的安全性提高,关键的信息数据得到有力的保护,计算机软件开发过程因此得到了很好的保密。近年来,信息加密技术在电子商务和 VPN 中已得到广泛的应用,对保障信息的安全起到了不可估量的作用。
3.2 入侵检测技术
近些年,发展出一种入侵检测安全技术,针对网络攻击有很好的效果。入侵检测技术对计算机自身系统构造以及网络系统的特点进行快速的科学分析,统计异常的现象行为,对要发生的攻击活动进行及时的警报。它是统计技术、通信技术和推理技术的结合,此外还涉及人工智能以及密码的领域,准确监控计算机网络系统,对于异常的行为可以辨别出是否受到攻击,很大程度上减少了用户的损失。另外有主机、网络以及混合型的入侵检测技术,这是根据监控对象划分类型的。
对计算机操作系统的数据进行全面盘查的是基于主机的入侵检测技术,保护了它监控范围内主机的安全。基于网络的入侵检测技术的责任是要维护整个网络的安全,主要通过监测分析网络数据的流通来达到保护的目的。混合型的入侵检测技术则是结合了前面两者的优点,防护的范围更加广泛全面,保护效果更加显著。
3.3 反计算机病毒技术
针对传染力以及破坏力极强的病毒,防范病毒、检查病毒以及消灭病毒是反计算机病毒技术的三个重要切入点,从而达到保护计算机系统安全的目的。防范病毒是在计算机中安装防病毒的程序,让病毒无机可乘,从根本上尽可能减小病毒侵入的可能性,在实际操作中,分别有系统监控以及信息加密等防范措施。
反计算机病毒技术中的检查病毒有两种检查程序,一是根据病毒的传播方式等显著的特点来判断是否感染了病毒,另一种是分析某个时间段计算机的运行数据,保存结果来积累有效数据,将结果与现在的数据段进行对比分析,从而得出是否被病毒感染的结果。
一旦确定病毒入侵了计算机以及网络系统,必须马上采取措施消灭病毒。安装杀毒软件是比较常用的方法,但病毒不是每次都能够被杀毒软件完全杀死的,因为病毒是会进行更新换代的,杀毒软件没有相应的数据识别新的病毒,所以需要及时更新升级杀毒软件,将软件的杀毒能力提高。
4 结语
综上所述,计算机网络在使用的过程中,为我们带来便利、新的体验的同时,也存在着很多安全隐患。如何去除这些隐患是当前计算机软件开发中需要注意的问题。因此,加强安全技术在计算机软件开发中应用的重视程度,不断加大对计算机软件安全技术的研发力度,提高计算机网络系统安全的技术水平,从而使其在保护计算机网络系统方面充分发挥出自身应有的作用和价值。
关键词:嵌入式系统;软件开发;技术
引言
计算机技术一经问世,就成为加快推动人类社会生产活动高效开展的重要力量。在几十年的发展里程中,计算机相关技术都实现了巨大进步。伴随着工业现代化进程的不断深入,嵌入式系统获得了越来越多的关注。嵌入式系统是一种以软件和硬件相结合为特征的计算机系统。该种系统常用于工业大型机械化生产或者国防工业等领域,通过嵌入到某些专门设备中予以实现,故此得名嵌入式系统。在数十年的实际应用过程中,嵌入式系统屡经发展,不断创新改进,目前已经取得了许多项先进技术成果,为今后的相关领域开发工作指出了重要方向。
1 微处理器技术的选择
微处理器技术是嵌入式系统的重要基本元素。伴随着加工制作技术的升级,微处理器从最初的4位、8位器件开始,发展到后面的集成式单片8位微处理器、16位微处理器。时至今日,16位微处理器已经成为微处理器应用的中间类型,占据着微处理器市场的最大份额,而更高端的领域则由32位架构的器件所占据。最开始的32位器件采用的是CISC架构,而后随着技术的发展,性能更加优异的RISC芯片则成为32位器件架构形式的主要选择。嵌入式系统开发人员可以根据项目实际需要,综合比较设备性能、服务、适用性以及成本等多个指标选择最适合的微处理器。
2 系统架构的选择
架构是系统的基础组成,不仅关系到系统功能的实现,对于系统后续发展、优化也有着举足轻重的作用。微处理器的架构开始时仅仅是中央处理器和部分逻辑器件构成的简单形式。经过多年的发展,微处理器架构变得复杂、繁琐,但调试技术还是原来那些电路仿真、芯片级调试、ROM监控器以及指令集模拟等技术。随着嵌入式系统应用范围不断扩大和技术要求的不断提高,系统架构的重要性也在与日俱增,嵌入式系统开发人员必须要认真评估各类微处理器相关特性,选取合适的系统架构,这样才能保证开发出来的系统的健康水平。
3 设计组成
嵌入式系统的软件开发工作包括硬件开发和软件开发两个部分。最开始的时候,软、硬件的开发工作基本上都由一名技术人员负责。而且在系统开发项目的全部工作中,软件开发所占据的比例较小,最大十分之一。随着技术的不断发展,嵌入式系统开发工作中软件设计所占据的比例越来越大。原有工作模式因而发生丢了改变。专业人员专门负责嵌入式系统软件开发的工作模式出现在上个实际80年代中期,同期软件开发的工作量占据嵌入式系统开发工作业务量的一半以上。
近些年来,嵌入式系统发展得日渐成熟。软件、硬件方面都实现了巨大进步。系统开发业务量持续上涨。其中,软件开发的业务增长更为显著,已经达到嵌入式系统开发业务量的十分之七、八左右。巨大的工作量已经不是仅仅依靠一个开发人员就能完成的,必须依靠团队的力量。特别是随着系统开发工作的深入,一些新的技术措施、手段纷纷涌现,成为系统开发中不可或缺的重要环节。其中一个至关重要的就是用于软件开发后进行测试的硬件平台。由于软件开发业务量的高速增加,用来进行软件测试的硬件平台需求也就变得更加迫切。目前常用的方法有本地代码执行原型环境、指令集软仿真(模拟),或者是使用标准的、低成本的、现成的评估板等。而主机-目标机连接技术因为成本较低,故而推广速度很快,其中最为著名的就是JTAG接口。
4 软件内容
尽管软件开发所耗费的时间越来越多,但市场对于软件的开发周期的要求却越来越短。为了适应市场需求,嵌入式系统软件开发企业不得不在开发策略上下功夫。早期嵌入式系统软件结构简单、功能单一,使用企业自行开发的应用代码即可实现。如今系统功能丰富,功能强大,结构复杂,软件开发企业必须依赖外部的力量。目前,软件开发企业往往根据项目需求,选择对应的多任务的模型,然后使用标准的、商用的实时操作系统辅助开发。这种做法,优点是开发效率高,缺点是不可避免的遇到知识产权的问题。在全社会都越来越重视知识产权的大形势下,嵌入式系统软件开发,必须考虑到知识产权因素的影响,这种影响,不仅仅停留在当前所开发的软件上,更对后续的相关软件开发、应用拓展有着巨大的影响。
5 编程语言
编程语言是进行软件开发设计必不可少的工具。在微处理器刚刚出现,尚停留在4位、8位器件的阶段,开发人员只能选择汇编语言进行开发。当16位微处理器技术出现以后,软件编程语言的选择也变得丰富起来。使用较多的有Pascal、C语言、PL/M语言。而对于一些特别的系统,Forth语言更为适合。当32位微处理器应用日渐广泛以后,又开发出了C和ADA。其中,ADA主要应用于军事领域,在国防事业中大展身手。时至今日,C++已经逐步取代C语言成为嵌入式系统软件开发语言的主流,目前大约四分之一到三分之一的嵌入式系统是使用C++设计的。而本来专为嵌入式系统软件所开发出来的Java则在要求运行时重新配置的领域实现了更大的自身价值,统一建模语言(UML)也成为高级设计方法学的最流行选择。
6 软件队伍的规模和分布
上文提过,最初的嵌入式软、硬件开发工作通常都由一名工程师予以兼任。经过多年的发展演化,软件开发工作变得专业化、系统化、精细化,形成了专门负责软件开发的技术业务人员。而以嵌入式系统软件开发为职责的团队则是今后发展的主要方向。IT行业软件开发项目管理工作责任重大、任务艰巨。嵌入式系统软件开发同样如此。其区别仅在于嵌入式系统软件开发使用过程语言,比如C语言和汇编语言进行编程。嵌入式系统软件开发是一项技术含量和系统化要求很高的工作。开发团队中的所有人都要对目标系统有着全面的清晰的了解,而在当前项目越来越大,工作人员越来越多的情况下,受各人业务能力水平等因素的影响,要保持所有人都同样深入的认知水平显然是不现实的。实际情况是团队中部分高端人才对于某个领域认识非常深入,相关业务能力很强,这些人是开发团队的主干,团队管理者必须科学、协调、高效使用这些人力资源,确保他们的业务成果可以被其它人员正确使用。而面向对象编程技术则是这种应用策略在技术层面的现实体现。
7 结束语
我国正处于产业结构调整的重要时期,大规模的自动化生产成为工业生产的主流。嵌入式系统软件远景广阔,市场空间巨大。软件开发企业要牢牢把握这个机会,深入、扎实地研究嵌入式系统软件开发技术,吸收外部优势资源为我所用,设计出功能强大、适应广泛的优质软件产品,在实现企业自身的健康高速发展的同时,为我国经济建设提供有力支持与保障。
参考文献
关键词:UML;MDA;程式语言;流程;活动图
中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)11-2593-03
Software Development Application of UML Technology
LIANG Fu-wei
(Dept.of Computer,Shanghai Bangde Vocational College, Shanghai 200444, China)
Abstract: Based on the study of software development based on UML technology, describes the problems in current software development, UML and MDA's proposed solution is intended to enable software development cycle time, and can better handle the software requirements and technical Risk, quality control software can ultimately make the software developed powerful, easy to maintain, scalable.
Key words: UML; MDA; programming language; process; activity diagram
随着软件开发技术的不断发展和变革,软件开发人员越来越多的认识到现行软件开发技术所带来的一系列问题,主要体现在软件开发的产能和效率无法提升,软件方案的开发时间经常被压缩,导致开发人员只能短期考虑目前系统功能方面的产能,而忽略软件设计的重要;随着需求不断的加入,不愿意多花时间来检视目前的设计是否还符合低耦合力与高内聚力的原则,因而造成系统的重用性越来越低,系统越来越难修改与维护。其次,开发人员只考虑目前系统功能面的产能,而常常无暇顾及与产能无关的文件维护,导致当系统遇到开发的瓶颈时,例如软件效能低时,或想改善系统的设计时,协助人员无法取得与系统一致的文件,而无法实时和适当的给予改善意见,造成项目周期延长与失败。因此,软件开发必须要采用新的一种流程和方法来提升软件开发效率和产能。统一建模语言(UML)融合了许多面向对象开发方法的基本概念和优点,是一种程式语言,在提高软件开发的效能和国际竞争力方面具有重要的意义和作用。
1 UML概述
1.1 UML技术简介
面向对象的软件分析与设计(OOA&D)方法得到的OO(Object-Oriented)的模型,OOA&D方法从模型开始,就是识别对象、不断细化的过程,开发过程就是不断的迭代过程[1]。简明准确的建模是把握复杂系统的关键,是一个优秀系统开发中的重要的核心部分,其目的是把所要设计的结构和系统的行为沟通起来,对系统的体系结构进行可视化和控制,建模可以更好的理解正在构造的系统,并提供简化和和复用的机会。因此面向对象的分析和设计应该从建模开始。统一建模语言 UML(Unified Modeling Language) 融合了 Booch、OMT和OOSE方法中的基本概念,是国际上标准的建模语言,是面向对象的分析和设计方法发展的产物,能够产生和长期其他技术学科的蓝图相似的草图。UML有统一语义和符号表示,可使项目根植于一个成熟的标准建模语言,从而可以拓宽软件系统的适用范围,并提高其灵活程度。统一建模语言(UML)是一种可视化(Visualizing)及文件化(Documenting)、规格化(Specifying)的软件建模语言。主要使用个案图、类别图、对象图、循序图、合作图、状态图、活动图、组件图、部署图等可视化图形符号,来帮助分析设计与了解系统。UML具有一致的图形表示法和语义,同时也出现了许多UML工具,能够很好地支持软件设计和开发。例如UML的开发工具Rational Rose提供了面向对象的分析和设计(OOA和OOD)到面向对象编程(OOP)的平滑过渡机制 , 完整地体现了面向对象的软件工程思想[2]。
1.2 UML技术的发展历程
统一建模语言(Unified Modeling Language, UML)是Rational公司整合Booch、Rumbaugh与Jacobson三种方法而提出的对象导向建模工具,该语言最早起源于Booch与Rumbaugh在1995年10月提供给OOPSLA(Object-Oriented Programming, Systems, Languages & Applications)的统一方法(Unified Method),当初的版本是Version 0.8。在1996年,Rational公司将统一方法加入Jacobson的研究(例如使用个案模式等)及其它,并将版本更新为Version 0.9,且正式改名称为统一建模语言[3]。后经过不同公司的推广和发展,到目前为止UML工具更新的Version6.1.0。UML及其相关工具发展历程详见图1所示。
1.3 UML的静态建模机制和动态建模机制
在应用中,当采用面向对象技术设计系统时,首先是描述需求,其次根据需求建立系统的静态模型,以构造系统的结构。这两步所建立的模型都是静态的,包括用例图、类图、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制[4]。第三步是描述系统的行为,所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。
UML包括静态建模机制和动态建模机制两大类。静态结构定义了系统中重要对象的属性和操作以及这些对象之间的相互关系;动态行为定义了对象的时间特性和对象为完成目标任务而相互进行通信的机制。UML定义了9种图用于系统建模,分为两类:静态结构图和动态行为图。
1.3.1 静态结构图
用于对系统的静态方面进行可视化、详述、构造和文档化。可以把系统的静态方面看作是对系统的相对稳定的骨架的表示,它由类、接口、协作、构件和节点等事物的布局组成。结构图包括:类图(Class diagram)描述系统中类的静态结构,它定义了系统中类的内部结构以及类之间的联系,用来捕获信息和事件中的对象;对象图(Object diagram)是类的实例化图; 构件图 (Component diagram)描述程序代码的物理结构;部署图(Deployment diagram)描述系统中软、硬件的物 理体系结构,用于捕获系统硬件和软件构件的部署关系。
1.3.2 动态行为图
用于对系统的动态方面进行可视化、详述、 构造和文档化。可以把系统的动态方面看作是对系统变化部 分的表示,它由诸如随时间变化的信息流和在网络上构件的 物理运动之类的事物组成。行为图包括:用例图(Use Case diagram)从用户的角度描述系统的功能,并指出各功能的执行者,说明执行者与提供的用例之间的某种联系;顺序图(Sequence diagram)描述几个对象之间的动作协作关系;协作图(Collaboration diagram)从另一个角度展示对象 之间的动作协作关系。它可以和顺序图相互转换。在 rational rose中可以由顺序图生成协作图;状态图(State diagram)描述一类对象具有的所有可能的状态以及状态转移关系;活动图(Active diagram)描述系统中各种活动的执行顺序。
1.4 UML可视化建模
UML可视化建模系统支持从系统需求、系统分析到系统设计的整个建模过程[5]。如表1所示。在需求分析阶段,UML可以用用例来捕获用户需求。通过需求建模,描述对系统感兴趣的外部角色及其对用例的功能要求。在分析和设计阶段,通过UML的静态建模机制和动态建模机制对问题域的对象建模,描述类的属性、类之间的关系、系统动态特征。编码是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。 UML模型还可作为测试阶段的依据。同时UML还支持对系统体系结构的建模。
2 MDA概述
模型驱动架构(Model Driven Architecture)是OMG(Object Management Group,对象管理组织)采用的一种新的系统开发方法架构,它提供了一种使用模型来进行系统的分析、设计、建构、开发、实作、维护和修改的方法,并经由模型的转换,自动转换产生软件系统相关程序代码[6]。
MDA是由OMG定义的一种软件开发架构,其关键是软件开发过程中每个阶段(或步骤)的产出均须建构出模式(Model),且该模式产出是下一个阶段的输入。
MDA的发展生命周期其实与其它系统开发模式(例如瀑布模式或RUP模式)的系统发展生命周期并没有差别,但主要的差别之一是在发展过程中步骤之产出,强调该产出是由计算机可理解的正式模式(Formal Model)表达。
2.1 MDA的流程
模型驱动架构(MDA)的主要流程和产出示意如图2所示[7]。其中PIM是分析与设计结果的重要产出,主要根据需求建模的结果,从如何支持企业运作的观点描述一个软件系统,并不涉及描述系统开发与运作之平台。PIM必须以有完整定义(Well-Defined)的语言来描述,一个具有完整定义的语言具有完整定义的语法(Syntax)与语义,且适合用计算机来自动解译。
一个PSM是一种特定平台的模式,也就是该模式相依于软件开发技术。对某一种PSM而言,可能仅具有该特定平台知识的开发者才能理解。一个PIM可被转成一个或多个PSM,因为一个系统可能包含几种技术,对每一个特定的技术平台需产生一个与其它技术分开的PSM,PSM间可借由沟通桥梁(Communication Bridge)的机制来互动。每一个PSM需被转成程序模式(或简称程序代码),因为一个PSM相依于其开发技术,因此PSM转成程序代码之步骤非常直接。若有多个PSM则会转出多种的程序代码,不同的程序代码间也须借由沟通桥梁的机制来互动。
2.2 MDA的转换
MDA的每一个转换(例如PIMPSM,PSMCode)须有清楚的转换定义,且该转换的工作主要是借由CASE工具来执行,也就是PIM可借由CASE工具转换成PSM,再转换成Code[8]。MDA的转换流程和案例分别如图3和图4所示。
在OMG的蓝图中,UML、MOF、XMI、CWM、OCL等一系列标准分别解决了模型驱动架构中的模型建立、模型扩展、模型转换等这几个方面的问题。OMG试图经由标准化的定义,扩大模型驱动架构的应用范围。同时经由这样一个可扩展的建模语言环境,软件开发厂商可以自行设计自己的建模语言,以及建模语言到可执行程序代码的转换对应,不过都必须处于OMG的标准化架构之下。如图5所示的模型转换与成果关联关系。
3 结论
通过统一建模语言(UML)和模型驱动架构(MDA)技术的推广和研究应用,使得系统开发模型标准化,增加系统模型的重用性,增加信息技术部门的产值,降低软件系统开发与维护的成本,缩短软件系统开发与导入的时间,增加软件产能,提升软件系统开发的国际竞争力。因此,UML技术必将为软件开发带来新的技术变革和崭新的工作流程。
参考文献:
[1] 蔡敏,徐慧慧,黄炳强.UML基础与Rose建模教程[M].北京:人民邮电出版社,2006:60-62 .
[2] Unified Modeling Language[EB/OL]./wiki/Unified_Modeling_Language#UML_2.x.
[3] 徐宝文.UML与软件建模[M].北京:清华大学出版社,2006:47-48.
[4] O'Docherty M.面向对象分析与设计(UML 2.0版)[M].俞志翔,译.北京,清华大学出版社,2006:72-74.
[5] Coad P,Lefebvre E,De Luca J.彩色UML建模[M].王海鹏,译.北京:机械工业出版社,2008:110-112
[6] MDA framework[EB/OL]./wiki/MDA_framework.