时间:2023-11-06 10:00:04
导言:作为写作爱好者,不可错过为您精心挑选的10篇计算机软件开发方法,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
1.1关于软件。自从19世纪中后期以来,计算机软件系统的创新以及运用从原本的人工写录计算机的程序发展到了更加高端、更加方便的水平。如今计算机技术得到提升,新型技术如雨后春笋,而且得到了人们一定的关注和认同,在生产中得到了使用。计算机的运用也更加普及,在生活中、工作中、学习中各个方面,都离不开计算机的帮助。计算机倾向于更加简易方便的趋势,而软件的使用也更加普遍,没有以前的限制和约束。软件开始有了官方科学的概念,指的是计算机通过采用一定的方式或是规则,满足一定的需求,在计算机正在使用的过程中供给所需要的数据。
1.2软件工程技术。上个世纪九十年代,所使用的软件工程技术还是人工进行编写,不但效率不高,而且容易出现错误的情况,不易于核查和更改。首先,耗费了大量的人力资源,程序编写员的劳动工作强度高,软件较为复杂,不利于大规模的传播推广,软件的开发时间过长,不易修改和改良。因此,软件工程技术还是存在许多不足之处。
2开发方法
开发软件首先应当具备一定的技术创新团队,并且按照一定的技术发展原则,设计与应用并重,保证科学的开发方法,减少一些传统的开发方法带来的弊端。
2.1生命周期方法。这种方法主要是调整软件系统开发的周期,将开发的整个时间进行细化,并对开始和结束的定义重新定义,确保这种方式准确科学,有着严格标准的定义要求,上一个阶段的结束之后才能开始下一个阶段,这样的方式有利于减轻开发人员的工作压力,并且有利于整体目标的实现,对每一个阶段的工作进行准确的定义,防止不明确自己的任务而引发的问题。
2.2原型化开发方法。如果在进行设计的最初阶段,设计人员对于产品并没有一个明确的定义,或者是缺乏一定的研究材料,则可以使用原型化开发的方法。先确定对于开发产品的大概模型,在此模型的基础上进行加工。
3发展方向
3.1服务。现如今,软件系统更偏向于用户体验这方面,为了给用户带来更加优良的服务体验,符合用户的需求,软件系统将更加直接,满足用户的需求,带给用户更好的服务。
3.2更加网络化。网络化是21世纪的主旋律,计算机软件技术应该面向世界、面向未来,开发的过程中应该将眼光放远一些,考虑到国际之间的联系,争取运用更加先进的技术,满足各个地区各个国家的用户的需求。
3.3更加智能化。人工智能的概念一经提出就受到了广泛的关注和热议,将人工智能技术运用到软件开发中,能够有效减少前期的人力物力的投入成本,缩短开发时间,根据具体情况的需要进行更新和改良,有利于大规模的生产和运用。随着人工智能技术的不断成熟,两者相互促进,将会带来更大的收益,这也是一项划时代的举措。
3.4更加开放化。为了实现资源共享,软件的开放化是十分重要的,这项举措有利于技术不断更新和发展,开放人员通过这个进行交流,不断进步,吸取对方创意中的长处为我所用,发现自己不足之处并加以改良,优化产业结构,有利于产品创新发展,开放化一举有着极为重要的意义,其方便快捷、易于沟通、信息交互便捷、利于数据的存储和利用。
软件开发项目在一定意义上就是用户的需求,软件开发人员通过分析用户的需求,遵循一定的开发原理,采取相应的方法,最终开发出用户所需要的软件。软件开发是高风险的项目,Standish group报告表明80%以上的项目都是不成功的,或是因为超过预算或延期未完或缺失功能,或者几种因素都有。现在人们致力于应用有助于提高开发效率的开发方法和开发工具,但随着软件规模的不断扩大,人们认识到技术的改善只是促使项目开发成功的重要因素之一,规划、控制和协调变得越来越重要。因此,在计算机软件开发过程中引入与应用项目管理理论,已经成为行业共识。
一、软件项目的危机与软件项目管理的意义
从20世纪60年代末开始,“软件危机”伴随着软件成本的日益增长、开发进度可控性不高、软件维护困难等一系列严重问题而到来。软件作为一种特殊的逻辑产品,软件项目危机主要来源于用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂程度越来越高四个方面。用户需求不明确体现在用户在软件开发之前自己对软件的具体需求不清楚,对软件需求的描述不精确,甚至有歧义和错误,在软件开发过程中,不断提出修改软件功能、界面等方面的要求。软件开发过程是一个复杂的逻辑思维过程,需要有力的方法学与工具方面的支持,需要高度的智力投入,如果没有正确的理论指导,过分依靠程序设计人员在软件开发过程中的个性化与创造性,也容易导致软件危机的产生。大型的软件项目需要一定的人力齐心协力共同完成,但现行条件下,大规模软件开发中人力与管理中的问题日益暴露出来,成为影响大型软件开发成功的重要因素。随着软件规模的发展扩大,其复杂性也与日俱增,增加了软件项目开发的风险。
软件开发新技术与新工具的开发与利用,在一定程度上改善了软件开发现状,但人们也发现软件危机的解决不光是技术问题,更为重要的是管理问题。软件开发过程是设计过程,消耗的主要是人力资源,软件开发的产品是程序代码和技术文件,而没有其他物质结果。这一不同于制造其他产品的特性,使得管理在软件开发项目中的作用凸显出来。通过对成本、人员、进度、质量、风险等的分析与管理活动,使软件开发项目按既定计划顺利完成,通过管理使企业的软件生产趋于成熟。
二、软件开发过程中的管理
根据项目管理理论,所有的项目都要经历五个阶段:启动阶段、计划阶段、执行阶段、控制阶段和结束阶段。而计算机软件从其构思之日起,至开发成功投入使用,直到最后被另一项新软件所代替,其生存周期可以分成六个阶段:可行性与计划研究阶段、需求分析阶段、设计阶段、实现阶段、测试阶段、运行与维护阶段等。下面将主要从软件开发项目前期、项目准备、开发过程、项目后期这几方面分析软件开发项目中的管理。
软件开发项目前期包含可行性与计划研究阶段和需求分析阶段,这阶段工作的准确性直接关系到软件项目的成败。这一阶段首先确定该软件的开发目标和总要求,进行项目的可行性分析与投资-收益分析,编制开发计划,为领导层的决定提供依据。由领导层决定项目取消或者评审和批示,当项目确定实施以后,初步制定软件项目开发计划,进入下一个阶段。需求分析阶段要能确定被设计软件的各项功能、性能需求和设计约束,编写出软件需求说明书、数据需求说明书和初步的用户手册。需求的获取要求成立需求调研小组,在调研中将用户群体根据其差异性进行分类并归纳出各类的个性特点及任务状况,并在每类用户中挑选出一个典型代表作出决策。调研小组通过调研会、面谈、收集资料等多种方法收集需求,并在分析基础上编写需求文件,与用户一起对需求进行审核,并最终获得用户认可。优秀的需求文件要求具备完整性、正确性、可行性、必要性、无二义性和需求优先性。
项目准备中的管理涉及项目团队的组织、需求管理、方案设计、风险管理和开发计划。根据项目规模和特点组建开发团队,确定各类人员的职责与考核管理方法,以完成不同角色和不同阶段的任务。在完成需求调研和需求分析后,还会遇到项目需求的变更,要建立起良好的需求管理方法,对变更带来的潜在影响和可能的成本费用进行评估,跟踪每项需求的状态。在项目需求分析的基础上,进行系统方案的设计,确定开发中采取的技术方案、技术架构、开发标准规范和版本管理的方法。做好源自技术、需求、人员、管理中任何未预期的条件和事件的发生所引发的项目风险管理,及早发现风险、及时规避风险,减小项目失败的概率。之后便制定可实施的项目开发计划,制定详细的项目任务分解,大致估计每个任务的工作量,对工作量、资源状况、任务间的相互依赖关系进行全盘考虑后安排合理的工作计划,并对计划执行有效的监控。
项目开发过程管理主要是对项目的系统详细设计、编码、调试、测试、计划控制、质量控制、版本等方面进行的管理。对评审通过的系统设计进行编码工作,代码核验,由开发人员进行单元测试,监控项目执行情况,及时调整计划和任务安排,并按照质量标准对项目开发过程进行严格的流程控制与审核,通过对计划与质量的监控可以及时发现问题,调整计划,减少因延迟造成的损失。
项目后期管理是软件开发项目的最后环节,包含测试验收、试运行与软件维护。针对软件的需求和质量要求,按照可行的测试方案与计划对项目进行测试验收,以客观评价项目。开发方应及时做好与验收方的沟通,提供一系列的开发文档供测试使用,了解测试验收方案,这将有助于顺利通过软件项目验收。软件的后期维护包括纠错性维护、适应性维护和完善性维护,不仅需要纠正软件开发中的错误,修改和扩充程序以适应新的环境,还需要满足用户新的需求。这就需要在软件开发过程中,尽可能完善细致,为后期降低维护成本打下良好基础。
中图分类号:TP311.52 文献标识码:A
0引言
当今这个科学技术高度进步的时期,计算机是发展和使用是实现现代化的一种重要方式和手段。计算机的功能实现通过的是一种抽象的语言,基于数学的逻辑,计算机的软件实现平台组织逻辑的语言,通过开发设计者的设计,根据要实现的某种特定的功能来采用有差异的逻辑思路。现阶段,常用的计算机语言主要包括:C语言和面向对象语言。两者是目前阶段,在软件的设计和使用过程中比较普遍的两种计算机语言,两者在逻辑上有一定的互通性,但又不完全相同,还存在一定的差异。计算机软件的开放设计,实际上是将逻辑开放,较之原来的逻辑有更广泛的适用性,可以更加灵活的适用于不同的行业之中,这样也加强了计算机软件的使用。计算机的技术的实现依托的是计算机语言的逻辑编码和软件的跨平台的应用,对计算机语言的逻辑的开放和软件的开放设计,可以设计出更多的适用性强的软件,满足计算机的多领域的使用需求。综上,计算机语言的逻辑开发和软件的开放设计不仅对于计算机的发展来说起到很大的作用,就是在整个技术领域,都是一个重要的发展里程碑,是值得努力做好的事件。
1逻辑语言的特点
逻辑语言本来是一种数学中的语言,是为了解决数学的问题而存在的。计算机语言也是一种逻辑的语言,并且逻辑语言在计算机中的使用也促进了逻辑语言的发展,可以说,逻辑语言与计算机的关系是相互依赖的,而且二者在相互依赖中相互促进、共同发展。逻辑语言由于发展与数学这样一门非常严谨的学科之上,所以逻辑语言有着非常强的严谨性,逻辑语言可以有效地把信息转化为数学上可以理解的语言,以及计算机可以识别的指令,是一种非常灵活而且在执行过程中非常准确严谨的语言。逻辑语言具有普遍性,可以对所有的问题,进行逻辑语言的描述,在计算机的使用和运行过程中,起到最大作用的就是逻辑语言,根据实际情况来看,计算机在执行每一个具体的程序时,都可以将之转化为数学的模型,最终可以使用逻辑的语言对程序进行详细的描述,最终得以实现计算机语言执行操作程序目的。
2计算机语言的逻辑开发
计算机语言目前较为常见的两种是C语言和面向对象语言。C语言是一种在高级语言的基础之上发展起来的一种,兼顾了汇编语言和高级语言两种语言程序,是一种面向过程的语言;面向对象语言程序是目前应用比较普遍的一种新的技术手段,事实证明,使用的效果与以往的相比还是有一定的优势的,这也是得以发展的重要原因之一,面向对象语言程序是目前计算机领域关注的重点,也是软件开发的主流应用元素。而且面向对象的技术应用超过程序的设计和软件的本身,在技术的领域是有一定的竞争力和重大作用的。下文就简单的介绍这两种语言的逻辑开发。
2.1计算机面向程序语言的逻辑开发
面向程序语言主要包括三部分:数据、函数和方法,这三个因素缺一不可,是一种相辅相成的关系,都是在程序的开发过程中必需的。其中数据,被认为是面向程序语言的基本组成单位,整个程序的开发过程中会涉及多个数据单位;而函数,被认为是这个程序设计的核心,函数本来就是觉得数据之间的关系的一种元素,那么在程序的设计中也是这样的,函数是整个数据连串起来的中心,是程序设计的核心,有了函数,数据才有存在的依托。而方法则是函数与数据之间的关系,如何在数据和函数之间建立必要的关系,就是程序的方法,方法是联系其他两个要素的链接纽带。在程序的设计过程中,必要的基础单位数据时必不可少的,是构成程序的元件,函数是核心的物件,只有有函数才知道数据与数据之间的关系是怎么样发挥作用的,而方法又是函数与数据之间的关系连接,是决定在数据之间采用什么样的函数关系来完成程序的设计的开发。由此可见,面向对象程序的设计过程中的三种元素是相辅相成,不可或缺的。
2.2计算机面向对象程序语言的逻辑开发
这一语言,主要的特点就是面向对象,首先创建类,然后在类之下,创建类的具体对象。利用封装的形式,把有关数据和方法进行封装处理,然后定义对象,最终达到只要对对象就行处理就可以调用的模式。通过创建基类,把原始数据和数据方法进行封装,基础类包括面向对象语言的继承性描述了对象之间的关系,对象之间的差异和相同性都可以表现出来。程序的多态性是为同一种技术方法提供多个不同的展现版本。封装性和继承性是面向对象程序设计的主要特点,正是因为有这样的特点,保证了面向对象的技术可以应用于大规模程序的编写。
2.3面向过程程序和面向对象程序的对比分析
面向ο蟪绦蛴镅陨杓频谋喑毯兔嫦蚬程语言的编程有相同之处,而且面向对象程序语言设计的编程在一定程度上兼顾了面向过程语言的一些功能和特点,并在此基础上有了一定的发展。面向对象程序语言可以理解为一种高级的汇编语言,它的很多特性都成为了计算机程序涉及语言中具有特色的编程模式的借鉴。面向对象语言通过最基础的对类的定义和对对象的分裂,更加明确了基础单位的定义,在内容方面更加明确具体,在资源的使用方面,更加的有效,这些角度来考虑,面向对象语言都优于面向过程的语言。所以,面向对象程序设计语言,优于其对资源的利用和对单位的定义,更适合用于大程序大规模的代码的设计。这也只是一个大致的参考的一句,具体在实践的过程汇总,设计软件时,还应该按照具体问题具体分析的原则,根据实际的需要来分析二者之间的差异,进行必要的选择。
3软件开放设计应用的研究
计算机语言在整个发展阶段,经历了很多种语言的形式,既然在发展的过程汇总,有了很大的变化,那么就说明曾经的方法在适应时代的过程汇总存在一定的缺陷,有一些不尽如人意的地方,在后期的发展变化中出现了新的可以替代的语言形式。软件开放设计是建立在完整设计好使用软件的基础之上的,那么在软件的设计过程中,有很多需要探讨的问题,下文就计算机语言的差异、设计软件时计算机语言的选择等方面做以简单的介绍。
3.1应用计算机语言的差别
计算机功能的实现是以计算机语言的的识别为基础的,计算机语言的识别的操作实现了计算机对程序的运行和操作,不同的语言实现了不同的功能,逻辑实现计算机语言就是计算机系统的有效运行基础和保证。比如,编辑游戏软件可以使用Java语言,专门用于游戏软件的设计和运行;面向对象语言主要是应用于大规模的应用软件的设计,将基础的对象元素按照类进行分别,将不同的对象进行封装,类与类之间通过继承的关系联系在一起,最终实现大规模软件的技术应用。针对于设计类型不同、功能有差异的软件,使用的计算机语言是有一定的差别的,不仅仅是稳重的例子,其实在具体的操作过程中,还是有很多具体的影响因素,虽然说软件的差别只是一个因素,但是也是非常重要的一个因素。
3.2计算机软件的开放设计
计算机软件的开放设计,实际上就是把原本应用于不同领域的应用设计的程序和计算机语言,对之进行需求的分析设计,从而对新的软件编程有一定的思路,进而涉及编写软件程序的流程图,最终按照事先设计好的流程图对软件进行具体的设计操作,得到可以满足目的的软件设计。软件设计流程图,是可以明确的分析出软件设计的不同阶段的,同时还可以体现出系统不同阶段的需求,根据这一流程图设计软件,可以在很大程度上提高软件的适用性。目前,PHP是主流的开放式语言,主要是用于现阶段网页的设计,主要应用于此。一般的网页,比如论坛的网页,都是开放性行对比较高的,而且代码也已经开放,从而可以实现源代码流。有一些可以理解的使用者,也可以根据开放的代码,和自己的储备知识,对源代码进行逻辑的分析,可以修改部门的逻辑功能,进而实现高效率的转译和使用。开源代码的出现,在很大程度上让更多的应用软件实现了高效率的编译,提高了使用和代码编译的效率。
3.3计算机语言的选择
在涉及件的过程中,涉及到一个比较重要的环节,那就是计算机语言的选择,选择什么样的计算机语言涉及软件,是整个程序设计的重要环节之一。有很多种计算机的语言,那么如何根据所要设计的软件的需求,科学合理的选择计算机语言的应用种类,就是一个可以在很大程度上影响后期工作质量和工作效率的问题。在当今这个科学技术比较发达的时期,可以说大部分软件的开发,很多高端软件的开发都会选择面向对象语言程序进行设计和开发,与此同时,相对低端的软件就会选择领单片机。至于单片机,他的内部程序相对而言是比较简单的,简单的通过基本的逻辑结构进行指令的设定。计算机软件开发的开放设计,需要把计算机的语言作为基础条件来进行,然后根据软件在不同领域的具体应用,有针对性的进行设计和开发。
4总结
综上所述,通过对两种主流的计算机语言的对比研究,分析发现了二者的多方面的区别,以及在设计开发软件的过程中的差异,了解了计算机语言的逻辑开发主要是要经过计算机的基础平台设计,从而根据平台的差异实现了代码的逻辑差异和区别。上文中,软件的开放式设计研究,首先需要经过对软件需要实现的功能的差异性进行分析,对软件的具体应用领域进行针对性的需求分析,从而按照要求制定科学合理的设计流程图,在做到尽量全面的了解软件的功能和用途的基础之上,实现应用开放软件的高效率的开发设计。
参考文献
[1] 张丽.逻辑语言在计算机软件开发中的应用[J].无线互联科技,2016,(18):51-52.
[2] 刘飒.语言逻辑下的计算机软件开放设计探讨[J].电子测试,2016,(05):90+44.
[3] 耿丽娟.基于语言逻辑的计算机软件开放设计[J].电子技术与软件工程,2016(08):66.
[4] 董毅.逻辑语言在计算机软件开发中的应用探讨[J].信息通信,2016(03):177-178.
一、计算机辅助设计平台系统的硬件和软件构成
1、计算机辅助设计平台系统的硬件
(1)主机
主机的核心部分是中央处理器(CPU)和内存储器。CPU由两部分组成:控制器(CU)和运算器(ALU)。它管理主机所有组成部分的运行,并对数据进行算术逻辑运算。
(2)存储器
在计算机系统中,用以存黜程序和数据的装置,成为存储器。存储器可分为两类:内存储器(主存储器)和外存储器(辅助存储器)。内存储器通常设计为计算机的一部分,并直接与中央处理机连接。内存储器可以存贮两类信息:由控制器执行的程序指令和由运算器处理的数据。外存储器是为了弥补内存容量有限的缺点,适应于大量数据的处理与存贮而使用的。它主要用于存放当前不参与运行的程序和数据,在需要时再成批地与内存交换。其特点是:存储量大,价格低,存取速度较快。
(3)一般输入/输出设备
这些设备一般包括键盘、显示终端和打印机等。除了上述的设备外,还经常用到其他设备,如:光笔、鼠标器、图形输入板、数字化仪、扫描仪和图形显示设备等。
2、计算机辅助设计平台系统的软件
计算机辅助设计平台系统功能的实现是系统硬件和软件协调作用的结果,没有软件的支持,硬件是无法工作的。归纳起来,计算机辅助设计平台系统的软件基本上可以分为三类:即系统软件、支撑软件和应用软件。
(1)系统软件
系统软件是计算机辅助设计平台系统最低层次,为用户提供开发图形软件和应用软件的软件环境。系统软件是指操作系统及语言语言处理程序等,它着眼于计算机资源的有效管理,用户任务的有效完成以及操作上的方便等,目的在于构成一个良好的软件工作环境,供应用软件的开发使用。
现在常用的操作系统有MS-DOS、Windows系列操作系统和UNIX操作系统等。其中MS-DOS、Windows系列操作系统主要是应用于PC机上面,UNIX操作系统能在微型机到大型机的各种机器上运行,已成为当今世界上最流行的多用户操作系统。
在计算机辅助设计平台系统软件的开发中,汇编语言的使用已大量减少,目前主要是采用FORTRAN、C、VC、VB、C++Builder等。在人工智能方面应用较多的LISP,Prolog等。
(2)支撑软件
支撑软件是在系统软件的基础上,为用户自行开发应用软件提供技术支持的软件,从功能上可以分为三类:第一类是几何图形设计软件;第二类是工程分析与计算软件;第三类是文档处理软件。
(3)应用软件
计算机辅助设计平台系统的功能最终要反映在解决具体产品和工程问题的应用软件上,应用软件的开发是建立在系统软件和支撑软件基础之上的。归纳起来,应用软件应该具有下列特点。
a. 功能齐全,能满足具体产品或工程设计要求,以获得最佳的设计效果。
b. 能充分利用计算机辅助设计平台系统的软、硬件资源,具有较高的效率。
c. 应用软件应实现规范化和模块化。
d. 移植性强,便于在各种计算机上运行,并易于与有关软件连接。
e. 具有良好的人机交互界面和人机友好程度。
f. 使用方便,可靠性强,便于维护。
由于应用软件应用于各个领域,涉及的专业性很强,所以,一般情况下需要用户自行开发。相关学科的技术人员协作研制和开发,可以解决各种工程或产品日益复杂的工程技术问题,以满足现代计算机辅助设计平台系统的要求。
二、计算机辅助设计平台系统的开发方法
1、软件工程方法
一个功能完备的计算机辅助设计平台系统的建立,需要充分利用计算机的软、硬件资源,考虑各方面的需要,协调系统内部各独立模块之间的关系,以期发挥计算机辅助设计平台系统的优良设计能力。这并不是很容易的事情,它涉及的内容非常多,如果没有科学的设计方法作指导的话,设计出来的计算机辅助设计平台系统不可能达到令人满意的程度。
随着CAD/CAM技术的发展,应用软件开发的规模越来越大,复杂程度越来越高,水平也不断提高,以至于如果还是采用传统的开发技术难以保证所开发应用软的质量和水平。为此,开发者开始采用工程化的方法从事软件的开发,并逐步在实践的基础上形成了软件工程学这一技术学科。
软工程学的诞生和发展使软件的开发和生产成为一种工程问题,而不是个人的艺术创作。它主要研究软件结构、软件设计方法论、软件工具、软件工程标准和规范,以及相关的理论。
从软件生产管理来看,软件工程学大致包括以下内容:
(1)软件的需求定义和分析技术;
(2)软件设计和审查技术;
(3)软件描述技术;
(4)软件调试技术;
(5)软件可靠性技术极其评价方法;
(6)软件扩充和维护;
(7)软件成本估算等。
2、计算机辅助设计平台系统的开发
就计算机辅助设计软件而言,由于真正实用、功能齐全的计算机辅助设计软件一般都比较复杂,程序在万行以上,不同模块之间关系复杂繁多。因此,必须采用软件工程的方法从事工程化的计算机辅助设计软件开发,这样才能保证开发过程清晰、要求明确、任务具体、质量高、时间短、费用少,并且便于检查和维护。
基于上述情况,一般情况下,在工程化的计算机辅助设计软件的开发过程中,必须考虑下列要求:
(1)硬件支持环境;
(2)软件支持环境;
(3)设计要求;
(4)实用化要求;
(5)保证软件质量;
(6)测试验收严格;
(7)文档编制通俗;
在开发计算机辅助设计平台系统时,必须很好的参照这些要求,各个行业的设计者可以把这些要求与本行业具体生产情况结合起来,真正使软件工程思想和软件工程开发方法贯彻到行业计算机辅助设计平台系统中去,务求保证软件的质量,提高软件开发的效率。
计算机辅助设计平台系统的开发过程如图。
参考文献:
中图分类号:TP311.52
朝阳沟油田开发已二十多年,井别方案设计是油田投产前的一个重要环节,它在油田开发中起到重要的作用。目前我厂新井油水井别设计主要靠人工来完成,在有限的时间及人力范围内每出一套正式的方案只能在四至五套内进行优选,主要的时间及精力花费在繁杂的数据统计上,不能够编写更多的预选方案供选择,随着我厂重上百万吨,需要新开发的区块增加,每年新投产井的井别方案增加,井别方案设计在我厂可持续发展的过程发挥出更重要的作用,因此,采用计算机来进行井别方案辅助设计,在同等的时间、人力少的情况下会出更多套可供选择的方案,提高方案设计的科学性,使油田开发更加合理。在我厂可持续发展的过程中有着非常重要的意义。
计算机软件实现井别设计的指导思想是利用最短的时间,提供任意套井别方案,最大限度地减少开发人员的工作强度,提高油田开发人员的工作效率,提高方案设计的科学性。
1 数据库结构及编码设计
数据来源于股份公司统一标准的数据库,采用标准的数据库字段代码,做到数据库结构及代码统一标准,在标准的数据库基础上开发软件有利于软件的推广及应用,有利于软件的集成及整合。减少数据的冗余,增加数据的可利用性。对标准数据库进行维护,保证了数据库的准确性、及时性。同时以用带建,促进了数据库的标准化及可应用度,有利于与其它软件的集成应用。
软件主要利用4个标准数据库,包括:单井基础信息数据库、井位坐标数据库、连通井数据库及小层连通数据库。
2 软件流程设计
根据井别方案设计的原理、数据流程及业务流程,设计出软件实现方案设计的流程。软件实现方案设计的流程做到科学合理,最终实现的方案要能够满足方案设计的各项技术指标,有一定的扩展功能。软件流程如下:在标准数据库中提取所要设计区块的数据,进行一系列加工处理,可进行人工干予各项数据,在屏幕上绘制出本区块的井位图,直接在屏幕上进行井别设计,统计出每套方案的各项综合指标数据,根据开发人员提供方案优选参数进行方案的优选排序,给出最合理方案供选择。在设计完的各套方案中进行图形查询每套方案,在图形方式下进行方案的综合指标查询,并将各种综合指标打印输出,同时将各种结果数据表转换成excel电子表格的形式直接存储,可形成绘图仪上输出图形的各套方案井位数据及区块连通数据。
3 数据加工予处理及人工进行数据干予
先提取所选区块的各种基础数据,可节省磁盘空间,提高软件运行效率。根据区块的不同建立相应的文件夹,使每一个区块的数据集中存储,有利于数据的管理及查询。合理地进行数据予处理,将每一套方案的基础数据进行加工处理,合理组织数据库结构,能够达到每个区块每套方案的数据进行永久性存储,方便将来方案的数据查询,为将来进行综合调整方案打下良好的数据基础。为了更好地进行方案设计,更合理地、细致地表现地下数据真实性,软件增加了人工干予数据的功能,使方案计算机设计更加趋于科学性。
4 采用屏幕绘图方式进行区块井别设计
先选择所需设计的区块及方案套数,然后根据选定进行一套方案的设计。可进行任意套数的方案设计。
软件采用直观的、灵活多样的方式进行井别设计。根据所选区块井的地球坐标,在屏幕上绘制出井位图,井位图的绘制方法,先测试出所有井的井位坐标横向及纵向的最大值及最小值,确定方案屏幕图形输出的大小,井位图的初始为油井,每口井上标有井号,油井的颜色为红色,便于设计人员进行设计,在给定的图形上红色井的坐标范围内点击鼠标后,红色图形变为蓝色,既为水井,再一次点击又变成红色为油井,井别确定操作方便灵活。为解决井数多时全屏幕显示不下全部井位带来的不便,软件增加了选择显示比例的功能,使操作界面更加直观。所有井别确定后将数据自动存储到相应方案的数据库中。
5 统计各种方案指标
根据图形设计的油水井别方案,软件可统计出井别设计方案的各项综合性指标,主要包括:区块油层评价表、区块厚度分级表、区块井别方案评价指标对比表、区块一类和二类油层井别方案评价指标对比表。软件根据油层情况,根据我厂实际情况,按区块油层的各种参数评价评价出每个油层的评价结果和发育形态,结合我厂地下的实际特点,分别统计出整个区块及分一类油层、二类油层分单向、双向、三向、四向及孤立井点的油层连通井数、厚度及层数。
6 计算机进行方案优选
所有方案设计完成后,根据方案优选的水驱控制程度、多向联通情况等综合性指标条件进行计算机方案的优选,把所有方案的优选结果进行排序,供方案设计人员进行参考,为最终确定方案提供依据。
7 多种形式进行方案查询
7.1 图形方式下查询方案综合数据
采用直观的图形方式进行各套方案的数据查询功能,选择要查询的方案后,屏幕上可绘制出设计好的井别图形,在图形方式下可进行方案各项综合数据的查询,使方案设计结果图形与数据同步查询,方便了方案的选择。
7.2 图形方式下查询单井数据
直接在屏幕上绘出每套方案的连通图,在屏幕上通过移动鼠标直接查询每口井的连通情况,每个小层的基础数据。
8 方案综合数据表输出
为方便方案设计人员及领导能够正确制定方案,从多个方案中选出最佳方案,软件具有打印输出功能,将每个综合性数据表输出出来,方便了方案的选择,同时将综合数据表转换成电子表格的形式存储,方便方案的制定。
9 结论
该软件创新地实现了计算机进行新井井别方案的设计,软件采用Delphi7.0语言编写,在Windows单机环境下运行,适合我厂实际井别设计方案的特点要求,操作方便,界面直观,方案设计灵活等诸多优点,易于使用。
9.1 对我厂重上百万吨,可持续发展有着非常重要的意义。软件的应用实现了原来人工进行方案设计所不能达到的效果,增强了方案设计的科学性,为更合理地开采及提高采出程度打下了良好的基础。
9.2 提高了方案设计人员的工作效率,减轻了劳动强度,缩短了方案设计时间,使方案设计人员能够把更多的精力投入到油田开发工作中。
9.3 新井井别方案辅助设计软件投入应用,为下一步编写开发综合方案的计算机软件打下了基础。为实现油田开发方案的设计、形成一整套方案设计软件迈出了第一步。
参考文献:
[1]瞿继双.Delphi部件开发编程深入剖析[M].北京:机械工业出版社,2001,1.
一、项目的开发背景及公安消防部队审计现状
(一)项目开发背景
随着计算机和网络技术的快速发展,信息时代已经到来,在审计领域,会计信息化使审计信息、审计方法、审计技术发生了根本性变化,传统的审计方式和手段已不能适应会计信息电子化的形势,如何不辜负各级党委领导对审计工作的希望,切实在全面建设小康社会、全面加强部队建设等方面更好发挥审计监督作用,是摆在审计部门面前的首要课题。按照国家审计署审计信息化发展规划,审计信息化应逐步形成“预算跟踪+联网核查”的审计模式,实现审计监督的“三个转变”,即从单一事后审计转变为事后审计与事中审计相结合,从单一静态审计转变为静态审计与动态审计相结合,从单一现场审计转变为现场审计与远程审计相结合的总体要求,进一步提高审计质量和工作效率,规避审计风险,切实发挥审计部门“出效益、保廉政、促管理”作用。在此背景下,笔者认为应该把审计信息化建设纳入部队建设的重要议事日程,并提出了依托公安三级网络构建审计信息化平台的构想,通过研发审计软件推动全省消防部队审计工作的全面发展,不断加强审计监督,实现审计工作的信息化、网络化建设。
(二)公安消防部队审计现状
经过调查研究,公安消防部队主要设有公安部消防局、省总队两级审计机构,市支队没有审计机构,仅有部分专兼职审计员,存在着监督网络不健全,审计人员偏少、审计任务繁重、审计资源整合度不高的问题,计算机辅助审计和运用网络远程审计作业与管理的现代审计基本没有开展。尤其是消防部队财务信息化建设走在审计信息化建设的前列,早在十年前就开始使用会计软件进行核算与管理,而长期以来审计人员采用老式的审计查帐方法,不仅审计工作效率和质量较低,而且对审计工作风险的预见和控制程度不高,迫切需要以先进的审计信息化系统改变审计工作现状。
(三)公安消防部队审计信息化建设可行性分析
1.硬件环境
目前全国公安消防总队以上专职审计人员全部实现人手一台微机或笔记本电脑的配备,部分总队、支队专兼职审计人员实现了笔记本、台式机双配备,具备外出就地审计和在办公室远程审计的基础。尤其是近几年来,公安消防部队实施科技强警战略,加大了对基层基础设施建设的投入,各消防总队、支队硬件环境良好,拥有专用计算机机房和专用软件服务器,并且有专人负责管理,具有较高的稳定性和安全性。
2.软件和网络环境
各总队服务器软件平台主要依托Windows Server操作系统,数据库采用SQL Server2000数据库系统。单机主要采用windows xp或windows 2000操作系统。各消防总队网络运行依托公安三级网络,省、市、县网络健全,基于BS架构的办公网络系统依托三级网运行良好,各总队自行开发的基于cs架构的消防业务相关软件也在正常运行。总队级软件环境和网络环境已经十分稳定和成熟。
3.财务软件运行状况
目前公安消防部队支队级以上单位大都使用财务软件主要包括武警部队财务管理信息系统、武警消防票据管理系统、银行账户管理系统、用友NC、用友U8、事行财务软件等,其中用友NC财务软件是在各总队服务器上使用,武警部队财务管理信息系统和武警消防票据管理系统已在部局、总队、支队和独立核算的大队四级单位应用(一些大队也在使用票据管理系统)。消防部队正在对各省财务软件进行统一和规范,逐步实现以武警部队财务管理信息系统为主的财务软件运行模式,目前武警部队财务管理信息系统已经开发了部队行政经费账套、消防业务经费账套、基建经费账套,基本满足了消防部队财务工作现状。武警部队财务管理信息系统是基于SQLserver数据库设计开发的财务应用软件,对于审计所需基础数据的采集极为有利。
目前消防部队各级单位硬件软件环境配备和财务软件应用、网络运行状况,可以实现远程财务数据和业务数据采集、远程审计和联网监控等审计功能,已经具备了审计信息化建设的基本条件。
二、项目的预期目标及效益分析
(一)项目的预期目标
在金盾工程的整体规划下,全面推进信息技术在消防部队审计工作中的应用,进一步将审计人员从繁重的手工审计中解放出来,促进审计工作的规范化建设,提高审计工作效率,节约审计资源,完成审计工作机制和体制创新,更好的发挥审计监督职能作用。
(二)审计软件开发的效益
通过开发审计作业系统、审计信息管理系统和联网审计系统,实现网上审计、远程审计、远程审计指导与管理、实时监控、网上数据传输等功能,完成审计监督的“三个转变”,保证各类审计业务数据采集、传输的顺畅、有效,同时推进消防审计管理和消防审计行为的透明、规范、高效,进一步提高审计质量,规避审计风险,从源头上预防和遏制经济活动违法违纪行为,避免资金使用损失浪费,发挥预警监督和保障作用。
三、项目的主要建设内容
公安消防部队计算机审计信息系统按照审计作业系统、审计信息管理系统、联网审计系统三部分进行设计,分别满足审计工作业务、管理和联网审计的需要。
(一)审计作业系统
审计作业系统主要是为满足日常审计需要而设计的。作业系统按照审计工作开展顺序设计了审计工作流程,分别为数据采集转换、审计项目建立和审计项目作业。审计工作流程设计能够引导审计人员按照流程步骤实施审计项目,操作起来更加直观、方便、快捷。在数据采集转换上,系统提供了强大的采集转换工具,数据采集不仅支持总队、支队目前常用的财务软件,同时还提供了市面上流行的常用200余种财务软件采集接口,能够满足采集工作需要;数据转换全面支持国家标准数据的引入,以及消防部队支队以上单位目前使用的财务软件的现状,较为智能化地完成数据转换、科目库处理、分类账处理、自动生成科目余额表和会计报表,能够实现自动账证核对、账表核对、账账核对、凭证检查等功能。系统还提供了功能强大的审计查账工具和查账专家功能,审计人员可以根据业务工作需要定制各种查账方案,也可以根据实地检查需要自行设定查账条件,充分利用软件内置的计算、对比和分析功能,账务查询分析更加科学。同时作业系统具备合同审计、预算审计、固定资产审计、专项审计调查等功能,进一步拓展了审计工作范围,基本涵盖了审计工作的方方面面。对审计作业系统具体内容分别从以下三个方面进行具体说明。
1.数据的获取和数据转换设计
针对目前消防部队使用的财务软件,审计信息系统可以提供多种数据获取的方式。一是能实现联网取数(见图1),即通过公安网络实现取数接口直接连接财务软件数据库,完成取数工作;二是能实现利用定期备份的数据取数。即通过将备份数据恢复到本地计算机,再通过审计软件从本机取数;三是能够单机取数(见图2),即使用审计软件的取数工具在财务服务器上将数取出来之后利用移动存储工具拷贝到审计服务器上。四是利用智能客户端取数。即在被取数单位的机器上安装智能客户端。客户端可以按照设定的时间自动采集数据,数据采集完成后客户端将采集的数据自动上传至审计服务器。
2.审计项目的建立设计
审计项目建立是审计作业工作的一项重要内容,审计信息系统按照设计了方便实用的项目建立流程。审计人员可以按照流程顺利完成建项工作,建项过程中审计人员可以选择项目类别、项目阶段、参与项目的人员及相关职责、所需要的账套数据等。项目建立完成后所选人员可以按照不同的职责权限对项目下挂的账套数据实施审计查账。
3.审计项目作业功能设计
审计作业系统按照审计工作流程分为“审前准备阶段”、“审计实施阶段”和“审计终结阶段”。
① 审计准阶段
审计准备阶段包括:“计划管理”、“项目管理”两项功能,对审计项目的开展,提供“资料准备”、“项目准备”、“历史资料查看”、“审前调查”的服务功能。
② 审计实施阶段
审计实施阶段功能模块为审计人员提供了在现场作业过程中对审计对象财务数据运用“审计工具”相关功能实施分析、查询、复算等操作支持服务。同时定制了三项审计工作流程,即:“审计工作流程”、“审计程序流程”、“审计底稿流程”。审计工作流程的定制加强了对审计工作的管理,充分发挥审计软件的管理作用。
审计实施阶段的功能设置包括八个方面:即“获取资料管理”、“审计会议管理”、“审计谈话管理”、“内控测评管理”、“审计程序管理”、“工作底稿管理”、“工作底稿汇总管理”、“审计组交叉复核”
③ 审计终结阶段
审计终结功能模块主要提供对审计报告的制作、审计对象意见管理、审计报告呈批、审计报告批复的管理服务。
审计报告阶段的功能设置包括七个方面:即:“审计报告管理”、“征求意见管理”、“组外意见管理”、“审计报告呈批、“审计报告审批”、“审计作业结果管理”、“跟踪审计”。
(二)审计信息管理系统
审计信息管理系统主要为满足审计工作中对审计项目、审计档案、审计资源和审计业务工作的管理需要而设计的。其主要功能包括:基本信息管理、审计对象管理、业务计划管理;审计准备、审计实施、审计复核、审计终结阶段模板管理;审计档案管理管理、领导查询功能、台帐报表功能、审计支持功能、审计信息管理功能、公共信息管理、业务办公功能、网络教育功能、软件系统管理功能。以下分别说明。
基本信息:包括计划类别、审计方式、文书管理、项目类别;
审计对象:包括对象管理、行业信息;
业务计划:包括项目计划、计划列表、计划变更、备用计划、编号维护;
审计准备:包括工作方案、实施方案、审计通知书、下达项目数据;
审计实施:包括工作底稿、审计日记、其他实施文书、编号维护、提取作业数据;
审计复核:包括数据提取、复核管理、提交归档;
审计终结:包括审计报告、审计结果报告、审计报告征求意见书等;
档案管理:包括档案管理、借阅审批、可阅文档、档案案卷目录管理、档案目录分类维护;
领导查询:包括应上交、已上交、罚没查询、进度查询;
台帐报表:包括台帐录入、报表查询、设置(台帐字典、报表字典、单位信息、报表分类、报表插件);
审计支持:包括法律法规库、审计专家库、审计案例库、审计经验库、审计方法库;
审计信息管理:包括审计工作信息、审计信息通报、审计要情、大事月报、其它;
公共信息:包括公告栏、公共论坛、内部制度、通讯录、电子刊物、局内主页;
业务办公:包括未办事宜、在办事宜、已办事宜、阅件、外出代办、常用意见网络教育:提供多种培训方式,保证审计人员可以全天候,不受地域和空间限制地多层次培训。培训材料支持视频、培训文件和业务资料,实现网上远程培训教育;
网络教育:提供多种培训方式,保证审计人员可以全天候,不受地域和空间限制地多层次培训。培训材料支持视频、培训文件和业务资料,实现网上远程培训教育;
系统管理:系统配置、数据维护、数据接口、数据备份、部门定义、人员定义、流程定义、流向定义、角色定义、权限维护。
(三)联网审计系统
联网审计系统,要求实现作业的联网、审计对象的联网。实现从大队、支队到总队的财务数据联网。对于在网的财务系统可以实时的获取财物数据并进行在线的审计,对于不在线的财务数据建立报送通道,可以通过在线下达审计通知书的方式获得。
1.数据远程采集与传输
通过全国公安互联网络,公安部消防局与各省消防总队、总队与支队服务器等进行逐级网络互连,实行定期或实时采集审计需要的被审计单位或下一级单位数据,完成被审计单位数据的分配、权限管理以及加强监管的需要。
通过数据安全认证模块,保证数据采集、转输、存储的安全,数据采集仅仅采集与审计相关的账务系统数据。
2.数据转换系统
数据采集至联网审计系统中,由数据转换系统完成数据转换。数据转换不但全面支持消防部队内部使用的财务软件系统,如军财系统,还支持市面上流行的财务管理软件,如用友、金蝶、浪潮等,便于各级审计部门更好开展工作,进一步增强针对性。
3.联网审计业务基础平台
联网审计的远程取数与审计作业是全面联网审计信息化建设的基础,是实现各级审计部门管理应用的切入点。要建设一个可扩展性、功能强、标准化、高度集成的软件工作平台,满足与审计部门各类信息管理系统的互通协同、与审计作业软件数据交互的要求,为实现业务事务一体化管理模式打下基础。
架构能承载总队、支队各项业务的作业平台,整合总队现有信息资源、硬件、网络资源,建设一整套优秀的服务器及网络设备、搭建一个内部信息沟通及工作信息沟通的优秀网络。
4.审计预警监控
基于安全、经济、便捷的网络条件,建设各省对所属部队财务活动进行实时审计监控系统,实现监督的无“缝隙”。各省消防总队审计部门随时可以对所属消防支队的财务的核算执行情况进行监督,及时收集掌握被审计单位的最新会计信息和有关经济业务信息,并实时审计监督,审计的时效性将大大提高。审计从事后审计转变为实时审计,并从静态审计走向动态审计。
二、计算机软件工程的应用
近年来随着科学技术的不断发展,网络技术目前已经得到了快速的普及,逐渐深入到人们的工作与生活中,计算机软件以其执行命令更加准确、运行效率更高、操作更方便等优点得到了人们的认可和欢迎,并在短时间内被人们应用在活动的各个层面上,换句话说人们的各项活动已经不能离开计算机软件了。现在具有代表性的软件主要由电子邮件、计算机操作系统以及各种网游软件等,在社会经济发展的各领域中,例如农业、金融、企事业单位等部门中的很多工作都需要依靠计算机来完成。随着计算机应用程度的逐渐加深,计算机软件工程已经发展成为一项意义深远的工程技术,在软件开发商业加入更多人性化的因素。与机械制造业中的生产方式不同,软件工程生产应该体现出一定的个性化特点,并对其设计思维与功能进行不断的更新和完善,在软件开发工作中,设计人员应该结合客户需要,对各方面的因素进行综合考虑,将大家的智慧汇集到一起,这样次啊能设计出成功的计算机软件。因为软件系统本身的应用性非常广泛,设计人员应该对各种可能发生的问题进行提前的考虑,一旦出现故障将会为客户带来无法估量的损失,因此,要想将计算机软件工程研发工作做好是非常困难的。计算机软件设计存在功能化、人性化等特点,目前计算机软件已经在现实生活中得到了极为广泛的应用,并在现代企业经营管理中发挥着至关重要的作用,目前生产、销售等环节已经实现了信息的交流,以方便经营策略变动的进行。例如在金融机构以及商场等管理中,应该通过软件系统针对消费信息进行统计和确认,利用金融系统完成支付,大大避免了携带现金带来的麻烦。软件系统隐藏在计算机中,其管理能力非常强大,使人们的工作方式与生活方式发生了重大的改变。
0 引言
现今社会已经进入互联网时代,计算机已成为人们生活工作中不可或缺的组成部分,“电脑”、“计算机”这样的名词对于所有人都已经不再陌生,人们对计算机的依赖程度也越来越大,就现在的工作环境讲,几乎没有什么行业不在使用计算机,对于计算机软件的开发研制也是从未停止过,计算机软件工程主要涉及应用数学、现代管理学和计算机科学等学科,在上世纪50年代,软件的开发工作还是依赖手工操作,但随着软件的商品化发展趋势日益加快,对于软件的开发和设计过程也日益规范化起来。
1 计算机软工程的概念及特征
1.1 软件工程学的基本概念。我们所讲的软件工程学主要是指研究如何通过先进的科学技术为计算机的软件开发提供指导服务,以最少的投资来换取高效的回报,以高质量的计算机软件为人们提供更好的科技服务。软件工程学涉及范围非常广,是一门边缘学科,其内容包括:人体工程学、系统工程学、经济学和心理学等多个学科领域。通过对各学科的交叉研究与指导,设计出应用更为方便、设计更加人性化的软件。
1.2 计算机软件的基本功能。我们知道计算机作为一个电子设备,主要是由硬件和软件两个部分组成的,对于计算机的研发和更新既要考虑硬件因素,又必须在软件工程方面投入更多的精力,一般来讲,计算机的软件系统包括系统软件和应用软件两个组成部分,系统软件的功能是监控、维护、管理计算机运行过程中的各个软件,如人们常见的操作系统和病毒查杀系统;应用软件就是指能够满足人们工作和生活的需要,帮助人们解决实际问题的软件,如常见的Office办公系统、人事管理系统、财务管理系统等。软件的作用就是通过自身的逻辑分析和计算功能,指导计算机的正确有效运行,让用户能够更加方便的操作。
1.3 软件工程的研发特点。计算机软件工程的设计、研发是一项系统的、长期的工作,其研发生产过程的每个步骤都是要经过反复论证修改的,以求更加良好的性能,满足用户的实际需要。一般的工程设计在产品完成生产投入使用后就完成了工作。但是计算机软件工程的研发,在产品投入市场后,还需要有一个长期的维护过程,因为一些设计上的漏洞和缺陷只有在实际使用中才能发现,这就需要设计人员不断的更新思维,解决问题,使软件产品符合用户的使用要求。
2 软件工程工作流程管理系统和开发方法
2.1 软件工程工作流程管理。从理论上来说,现代意义上的工作流管理系统是一种综合性系统基本驱动力,是工作流的形式化表现,基本手段是执行软件操作系统,需要完成包括工作流定义、管理以及执行等多种任务。通常情况下,工作流程管理系统的构建分为模型建立阶段、模型实例化阶段和模型执行阶段三个阶段。在模型建立阶段,相关工作人员在分析了整个企业的工作特点及生产步骤之后,依据工作流程建模工具或是人工操作,实现对整个企业生产经营管理过程中模拟,使企业中的各类经营管理行为活动都能实现计算机化;在模型实例化阶段,相关工作人员可以给每个过程(即PDM工作流程管理系统中所称的节点)来设定其运行过程中所需的基本参数,同时给这些过程分配相应的资源,在此基础上限制各个过程的使用权限;在模型执行阶段,相关工作人员要严格执行这一阶段企业各项生产经营管理指标,依据整个工作流程管理系统所提供的强大的人机交互界面与应用功能,更好的实现整个流程管理系统的优化整合。
2.2 软件工程的开发方法。软件工程的开发方法有Parnas方法、SASA方法、面向数据结构的软件开发方法、问题分析法、面向对象的软件开发方法、可视化开发方法、ICASE、软件重用和组件连接等,其中面向对象开发方法是现代常用的开发方法。面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象的优点有:和现实世界更接近,更符合我们人类的思维逻辑;开发出的系统容易维护和修改;适用于开发复杂、庞大的系统;开发出的程序更稳定合理;由于继承、类的机制,更容易实现重用,减少冗余;由于实现数据和逻辑的分离,维护和扩展变得更加容易。
面向对象的开发包含Booch、Coad、OMT等方法。Booch最先描述了面向对象的软件开发方法的基础问题,指出面向对象开发是一种根本不同于传统的功能分解的设计方法。面向对象的软件分解更接近人对客观事务的理解,而功能分解只通过问题空间的转换来获得。Coad方法是1989年Coad和YourdOn提出的面向对象开发方法。该方法的主要优点是通过多年来大系统开发的经验与面向对象概念的有机结合,在对象、结构、属性和操作的认定方面,提出了一套系统的原则。该方法完成了从需求角度进一步进行类和类层次结构的认定。尽管CoadYY法没有引入类和类层次结构的术语,但事实上已经在分类结构、属性、操作、消息关联等概念中体现了类和类层次结构的特征。OMT方法是一种新兴的面向对象的开发方法,开发工作的基础是对真实世界的对象建模,然后围绕这些对象使用分析模型来进行独立于语言的设计,面向对象的建模和设计促进了对需求的理解,有利于开发更清晰、更容易维护的软件系统。该方法为大多数应用领域的软件开发提供了一种实际的、高效的保证,努力寻求一种问题求解的实际方法。
3 计算机软件工程的实际应用
现在随着信息网络技术的迅速普及,计算机走进了人们工作、生活的每个角落,计算机软件凭借其运行高效率、执行命令的精准性和操作使用方便性得到了人们的广泛认可,并迅速的被应用于人类活动的各个层面,可以说当今社会的人类活动已经离不开计算机软件了。其具有代表性的功能软件包括:电子邮件、Office办公系统、Win7/xp计算机操作系统、数据库和各种网游软件等等。在国家经济发展的各个领域如工业、农业、交通、金融、政府和企事业单位等几乎所有部门都需要应用计算机软件来完成工作。
随着计算机的普及和应用程度加深,以后的计算机软件工程将会发展成为一项广义的工程技术,在软件功能和操作方法上的研发也会越来越注重人性化的因素,同机械制造业的流水化生产方式不同,软件工程的研发与生产是非常具备个性化特征的,它的设计思维和功能设置都是处于不断更新完善中的,在丰富的实践经验和客户调查的基础上,设计人员会根据客户的需要,发散思维、综合考虑各方面的因素,汇集大家的智慧才能设计出一款成功的计算机软件。由于软件系统的广泛应用性,设计人员必须提前考虑到各方面可能出现的问题,不能等到问题发生了,再去想办法补救,因为一旦软件系统的安全或运行出现故障,给客户带来的损失很可能是无法估量的。所以说,要想做好计算机软件工程的研发工作是一项非常困难的事儿。
计算机软件工程设计的人性化、功能化的发展,使得计算机软件在人们的现实生活中得到广泛应用,在现代企业的经营管理中,计算机软件发挥着非常重要的作用,生产、销售、策划、财务之间通过软件系统实现了信息的沟通交流,方便经营策略的时时变动;在商场、金融机构的管理中,需要利用软件系统对消费信息进行确认和统计,消费者使用刷卡消费,通过金融系统的软件就可以支付费用,免去了携带现金的麻烦;保卫人员通过安保系统可以对整个单位的情况进行实时监控,一旦发生火灾险情报警系统会随时提醒安保人员采取防护措施。隐藏于计算机中的软件系统虽然微小,但却具备了强大的管理能力,从小处着手逐渐改变着人们的工作生活方式。
4 结语
综上所述,计算机软件工程在计算机应用技术的发展过程中具有特别重要的意义,它的设计和研发是一项系统性、长期性的工作,随着计算机软件技术的日臻成熟、功能的逐步完善,在人们的生活、工作中得到了迅速的普及,人类的发展离不开计算机软件工程的推动作用。我国拥有巨大的软件应用市场,但是由于在软件开发技术上起步较晚,今后还需要经历一段漫长的发展历程。
参考文献:
[1]李万军,曹艳云.论计算机软件工程管理工作[J].才智,2012(03).
[2]田华.计算机软件工程管理方案初探[J].煤炭技术,2011(01).
1软件工程概述
软件工程实际上是一门综合性的工程项目,其主要内容涵盖数学、计算机应用科学、管理科学、逻辑学等基本原理,是用来进行软件开发的系统工程。软件工程采用工程的这一说法,就是按照传统意义上工程的方法和原则,目的是要降低成本同时提高质量,进而实现算法的改进。在软件工程中,各学科分工明确,数学和计算机应用科学被拿来建立软件的模型及其算法,借助工程科学知识来建立设计范型、执行规范、评估标准、分析权衡,借助管理科学知识,对工程的资源、计划、成本、质量等项目实施有效的管理。
2软件工程的管理方法
2.1建设计算机软件工程管理人才体系
对于软件工程这样高技术含量的体系来说,高素质人才队伍是最关键的决定性因素,人才是工程质量的前提和基础。第一,要建立并完善管理人才体系,就先要认识到人才对于整个工程的关键作用,强化人力资源的科学管理,充分调动相关人员的工作热情和积极性,激发责任感和事业心。第二,要强化对业务知识和技能的学习掌握,对不同岗位的人员分别进行相应培训,及时了解相关科技讯息动态,做好有针对性学习,促进理论实践结合,并能够创造性地应用到担负的工程项目上,提高整体开发水平,提升对软件工程的开发运营效率。第三,要形成行之有效的量化管理和奖惩制度,以充分调动参与人员的创造性和责任感,对工程进度和质量有充分评估,对把握最终的走向非常有帮助。
2.2强化工程风险管理
主要做三方面内容:第一,要建立切实有效的风险管理体系。作为工程项目管理人员,要有风险观念,掌握管理风险的基本知识,可以冷静判别风险,对风险做以深度系统分析,进而采取有效防控办法,形成工程管理的所涉及风险的全面分析报告。第二,完成对工程项目可能风险的识别与预控工作,应将管理风险的态度和做法严格贯穿全部工作,保持足够警惕,随时应对各种可能的风险情况,合理有力地将损失和隐患影响控制在最低水平。第三,强化工程进度管理,科学合理制订工程进度,充分考虑各种确定和不确定影响因素,努力提高工程效率,按照预算控制各种成本,各阶段完成任务情况及时总结,形成反馈,确保工程质量和执行效率。
2.3强化工程团队合作
团队合作以及团队间的协作是软件工程保质保量的关键因素,对于任务大时间短责任重的软件工程来说,单枪匹马去做几乎不可想象。必须团队一起攻坚克难,相互取长补短,才能有最好的效果。第一,加强团队人员以及各团队间的业务沟通和必要的联系,及时把个人的思路想法和成果转化为团队的成绩,激发出更多的思路想法和成果。第二,区分人员具体分工,责任各担,但提倡互相帮助,互相请教,充分考虑工程具体情况,鼓励团队责任,对团队进行奖惩,确保工作有效开展。第三,激发团队主动性和创造性,采用多种行之有效的方式,让每一个参与者都能从团队的进步中获得成长,团队要保持持续的动力,将全部注意力集中在所要完成的任务上,取得最佳的工作效果。
3软件工程开发方法
目前来说,开发软件工程的方法有很多,其中有代表性的方法比如SASA方法、Parnas方法、面向对象的软件开发方法、面向数据结构的软件开发方法、可视化开发方法等,而这其中,面向对象开发法是比较普遍的软件开发法。该方法兴起于90年代,其理念和应用不再限于程序设计开发,而进一步扩展到如CAD技术、数据库系统、应用结构、交互式界面、应用平台等诸多计算机技术领域。面向对象设计优点显著,设计人员可以更直观进行编程设计,这样的设计方法也更符合人类的思维逻辑。面向对象软件开发方法完全不同于传统功能分解方法,其软件的对象分解实际更贴近人正常的逻辑思维理解,传统功能分解要借助将问题空间进行转换。面向对象方法通过累积大系统进行开发的实际经验,以及对面向对象的概念的进一步整合,在设计对象和执行功能的诸多方面,呈现了全面系统的执行原则。面向对象方法实现了从设计目标的角度实施对行类层次数据模型结构功能的进一步认定。为确保软件工程呈现强大的精准性和便捷性,需要开发更多的实际功能,以典型应用软件来说,就要包括操作系统、办公软件、人机界面、数据库等,而对这些应用程序和软件的开发,是确定开发能力的关键影响因素。在对计算机软件开发工程中,必须采用更强大的开发软件,才能满足实际的需要。而开发工具本身,也在不断的运用中得到了完善和提高,并为实现更高要求的开发任务奠定基础。开发方法的选择,与计算机软件更新升级的需求有直接的关系,而借助开发方法的规范化合理化操作,也促进了计算机软件的进一步系统化和细致化,对普及计算机应用技术的发展,有巨大的推动作用。
4结语
计算机软件对于目前人们生活有巨大影响,随处去看,几乎很难找到不用计算机的地方。办公软件让数字化办公成为可能,网络技术能够将数据传送到千里之外,娱乐软件让人们茶余饭后看看电影、听听歌、玩玩游戏,还有许多专业的软件帮助人们制作出更专业的图片图纸,等等。总之,以信息化社会的标准来看,计算机软件无处不在这是理所当然的事情。计算机改变并创造了人们的生活方式,而这其中,软件开发功不可没。计算机软件工程的管理和开发,既有现实意义,又有深远影响,还有美好的未来。将这项工作做好做实,无论是对于国家还是个人,都非常有价值。
随着软件规模的不断扩大,应用领域的不断延伸,软件产品所面临的应用环境开始从静态封闭逐步走向动态开放,软件开发的焦点和难点集中于产品和项目的三个特征:第一,高速度;第二,高度变化;第三,高度不确定性。软件的核心就是可变,高速变化的原动力不是规模,而是源自对象(问题)系统的复杂性以及软件产品开发过程的特殊性。面对这一情况,传统的软件理论、方法和技术在处理复杂软件开发时遇到了一系列挑战,软件开发方法的变革正在成为新一轮软件工程领域研究的重点。
一、关于软件开发
软件开发方法的研究是软件工程领域长期争论不休的问题,这实际上是要解决一个如何认识对象以及如何开发出一个实际系统的问题。由于软件技术可以极大地提高软件开发过程中的生产效率和质量,并能大幅度降低软件的开发成本与开发维护的周期,从而成为软件工程领域中的一个重要的研究方向。著名权威人士曾指出软件开发是利用已有的软件制品进行组装与合成新系统的一项技术,从而说明了“为了重用而开发”与“基于重用的开发”之间的关系以及新的软件开发理念。
软件在再次利用资源方面可以促进了基于COTS的软件开发与应用,并将传统的从“用户需求、分析、设计、编码到测试”这一开发过程转化到了根据“用户需求对可重用的软件进行选择、客户化、扩展、外包和组装”这一个新的开发过程。从而使得软件的开发过程从简单的作坊式开发、过渡到基于内部流程式的开发,并向“工厂化”的大规模协同化的软件开发过程进化。工厂化的软件开发模式提供了一种集成化的环境来实现特定产品的快速开发、配置与重用,从而为实现全球化、分布式协的开发过程奠定了基础。为了实现软件工厂化开发,探索通过软件再次利用来增强软件开发过程中的资源利用效率,就需要将软件开过程中的不同环节进行有效地集成并建立起整体的价值模型,以实现对整个开发过程中不同增值活动的定量化分析和整体优化。
二、软件开发方法演变
软件是为了解决客户的问题而开发的,所以客户需求分析和定义是软件开发的开端。需求被分为三个层次:业务需求、用户需求、功能和非功能需求。需求分析和定义过程包括对客户需求的引出、分析直到可以得到需求定义和编制规格,说明书,即文档化。不同的软件开发方法在文档化的认识上具有显著的不同。
从人的主观因素来看,起初人们研究软件开发方法的目的是为了解决软件危机,软件危机得到缓解之后,人们研究软件开发方法的目的是为了提高软件开发的效率、降低软件开发和维护的成本、保证软件的质量和可靠性。为了实现以上目的,在研究软件开发方法时,需要人们改变传统的观念和采用新的思维方式,需要人们借鉴其它工程领域的成功经验和有效方法。而当人们改变了传统的观念、采用了新的思维方式、借鉴了其它工程领域的成功经验和有效方法之后,势必导致软件开发方法发生演变。
从外界的客观因素来看,随着计算机应用的普及和深入,不断出现需要计算机处理的新问题和新领域。例如:软件规模增大、软件复杂性增强、软件可靠性要求提高、新系统(如嵌入式系统)的出现、开发工具的更新、互联网的快速发展等等。对于解决新问题和应用于新领域所需要的计算机软件原有的软件开发方法无法胜任,迫使人们改进原有的软件开发方法、推出新的软件开发方法。
三、软件开发的创新方法
⑴找出软件开发活动中存在着的问题。
软件开发活动中的个体化特征非常严重,编写程序时个人随心所欲,过分追求程序编写技巧,没有一个行之有效的、大家共同遵循的开发准则。错误地认为开发软件只是编写程序,对编写程序之外的其它软件开发环节没有给予重视。传统软件开发方法将数据和施加在数,据上的操作分离成两个独立的部分,导致问题空间和解空间的结构不一致,从系统分析到系统设计和实现的过渡不自然,软件重复使用的粒度小不利于大型软件的开发,模块的信息隐藏和独立性不好,软件可维护性较差。
⑵为了解决问题而进行思维观念创新。
编写程序时不能个人随心所欲地过分追求程序编写技巧,必须将可读性、清晰性和可理解性放在首位,必须考虑程序的可维护性,要使用三种基本结构(顺序、选择、循环)来实现程序。将数据和施加在数据上的操作封装在一起,形成类和对象的概念,用对象分解取代传统方法的功能分解,所有对象被划分成各种对象类。
⑶按照新的思维观念来构建结构化软件开发方法的核心部分。
核心部分是结构化程序设计方法,通过Pascal语言和C语言为代表的结构化程序设计语言的推出和完善。同时也可通过,Smalltalk语言的推出和完善,通过C++和Java等许多面向对象语言的推出和完善,面向对象程序设计方法逐渐形成并完善。
⑷按照新的思维观念来完善结构化软件开发方法。
完善的内容主要是将新的思维观念应用于系统分析和系统设计过程,在结构化程序设计方法基础上,逐渐形成结构化分析和结构化设计方法(SA/SD方法),使结构化软件开发方法得以完善。
软件开发方法是软件工程理论的重要内容之一,在软件开发方法中,对于开发软件时“做什么”和“如何做”,给出了明确的、详细的回答。人们在不同时期为了解决各种不同的软件开发问题,推出了多种不同的软件开发方法,并且每种软件开发方法还有灵活多样的表现形式。
参考文献:
[1]高禹,冯相忠.软件开发方法演变的几个主要因素[J].自然辨证法通讯, 2007, 29(5): 88-93.