欢迎来到易发表网,期刊咨询:400-808-1701 订阅咨询:400-808-1721

关于我们 期刊咨询 科普杂志

软件开发与定制优选九篇

时间:2023-06-14 16:37:22

引言:易发表网凭借丰富的文秘实践,为您精心挑选了九篇软件开发与定制范例。如需获取更多原创内容,可随时联系我们的客服老师。

软件开发与定制

第1篇

Abstract: This paper provides instructions on building a Man-hour quota system based on Access data base, refers to structure,piping,electrical, instrument, telecommunication, mechanical, HVAC, security, insulation, outfitting, painting, scaffolding, which combines with the characteristic of production reality of offshore engineering.

关键词: 海洋工程;工时定额;Access 数据库

Key words: offshore engineering;man-hour quota;Access data base

中图分类号:P75 文献标识码:A 文章编号:1006-4311(2012)21-0058-02

0 引言

任何一个企业,都要按照市场经济规律,建立符合自身要求的成本核算体系,编制和拥有自己的工时定额,作为参与市场竞争的计价依据。同时还要确定科学的计价方法和完善的信息数据库,并将其作为企业管理和发展的重要内容。

蓬莱PL 19-3项目是中国海洋石油与康菲石油合作开发的最大的海上油田,包含六个生产平台一个中心立管平台以及“蓬勃号”FPSO,蓬莱 PL 19-3 连接调试项目组在对连接调试工时定额体系成功使用的基础上,结合海洋工程项目的实际情况,开发了一套适用于海洋工程的工时定额体系,并利用Access数据库工具开发形成了工时估算系统。

1 定额数据库结构设计

本定额依据现行的工程施工及验收规范、安全技术操作规程和现行劳动保护法律、法规、国家设计规范、各种类型具有代表性的标准图集、施工图纸、企业技术与管理水平、工程施工组织方案、工程具体结构和难易程度状况、以及采用新工艺、新技术、新材料、新方法的情况等,根据项目的特殊性和技术含量等因素采用现场观察测定法和类比法,进行工时定额的编制。它具有以下几个特点:

1.1 包含两个基础工时定额数据库,以满足用户不同的需求。包含粗估工时定额、精算工时定额两个基础工时定额数据库,在进行施工管理及分包、投标,车间工时管理等活动时用户可以根据自己的需求来选择其中一种或两种交叉使用,来进行工时估算。

1.2 覆盖专业全面,分类合理。根据海洋工程的性质,本系统首先按专业进行划分,分为结构、配管、电气、仪表、通讯、机械、暖通空调、安全、保温、舾装、涂装、脚手架、检验等专业。根据施工顺序的相同性及作业要素的类似性,每个专业分为不同的作业,然后每个作业分为不同的规格,从而对应完成此项规格的作业需要消耗的时间。下面以精算工时定额结构专业为例,通过框架图(图1)的形式对本定额数据库结构进行表述。

另外,数据库中对每一个定额数据所包括的工作步骤、程序及未包括的工作情况都有详细的备注说明。例如精算工时定额结构专业组对栏杆每米8.2人工时中不包含载荷试验部分。

1.3 海上系数的应用。由于海上石油行业的特殊性,决定了大量的工作需要在海上完成。海上施工时,由于施工条件限制增加了相应的施工难度,故需要相应的海上施工系数作为修正。通过对几个平台各专业计划工时与实际工时的比较及分析各专业的特点,定额中对不同的专业确定了不同的海上施工系数。所有的标准工时定额数据均以陆地的施工作为标准,故陆地系数默认为1.0。

2 工时估算系统计算原理

对应两个基础工时定额数据库,本估算系统包含两种计算模式。粗估计算模式指各专业以一个或几个关键要素为参数来计算整个专业工时;精算计算模式指各专业按照施工的各个步骤分别计算相应的工时,从而比较准确地计算整个专业工时。计算原理为:

计算工时=定额所对应的工时*数量*施工地点系数*人工系数*综合系数

人工系数是考虑人员的经验和不同工机具的装备水平应用可以直接影响施工的效率,故需要根据施工人员的经验,不同经验的人员配比以及不用水平机具情况等因素自主调整系数。综合系数是考虑所有的标准工时定额估算数据均以适宜施工的气候条件为基础,故需要根据施工所在区域的气候因素(如高温、低温、大风等影响施工的因素)自主调整系数。同时在考虑利润因素时,可以在投标和分包时确定系数来实现。

3 工时估算系统软件设计

为提高工程项目中查找和使用定额数据的效率,方便定额数据的维护,项目组在工时定额数据库的基础上开发了工时估算系统。

第2篇

“软件危机”问题日益严重,主要表现在:软件开发效率低,开发周期长,开发成本高,可维护性和适应性差,不能很好地满足用户个性化和频繁的业务变化的需求.而日益激烈的市场竞争和经济全球化,赋予软件工程以新的特征:有效率有效用地满足用户个性化需求的定制化,快速响应和适应市场及业务的变化,以及低成本高收益等.

在软件行业,大多数开发单位还处于手工劳动阶段,软件开发活动是针对单一用户的具体需求,面向单个产品来组织的.近年来,产业界将“软件作坊”转变为“软件工厂”的呼声越来越高,试图将软件开发作为一种生产制造过程,像在生产线上生产物质产品一样,大规模生产软件产品.但目前的现状并没有达到期望的目标,当软件开发项目比较大时,软件危机依然存在,其中一个主要的原因是,认识一个系统的过程和方法同用于分析、设计和实现一个系统的过程和方法不一致,对软件开发过程的认识不够明确,同时,也缺乏合理和实用的软件过程模型.为了解决软件开发过程中的瓶颈问题,提高软件业的竞争力,人们提出一些旨在促进软件工程化的开发思想和方法,如软件复用、过程重组面向对象的软件工程基于构件的软件工程和领域工程等.本文在这些软件工程方法的基础上,提出面向大规模定制的软件开发模式(softwaredevelop?mentformasscustomization,SDMC),将大规模标准化软件开发与面向单个用户定制开发有机结合起来,既满足用户的个性化需求,又达到规模经济的效益.

2面向大规模定制的软件开发模式

1970年,托夫勒在其《FutureShock)(未来的冲击)一书中提出了一种以类似于标准化或大规模生产的成本和时间,提供满足用户特定需求的产品和服务的生产方式的设想.1987年,StanDavis在《FuturePerfec)(未来的理想生产方式)一书中首次将这种生产方式称为“masscustomization”,即大规模定制生产,简称mc.这种能满足用户的真正需求而又不牺牲效益和成本的新的生产方式目前在制造业得到了较快的发展,并作为一种有效的竞争手段逐渐被企业所采纳.简单地说,大规模定制是以大规模的生产成本和时间满足用户的个性化需求,其基本思想是:将个性化定制产品的生产问题通过产品重组和过程重组转化为或部分转化为批量生产问题.

与物质产品相比较,软件产品的生命周期更短,受市场和客户需求变化的影响更大,特别是领域应用软件,每个企业的产品结构、规模大小和管理方式都不一样,业务流程也各不相同,而且随着市场的变化,企业重组和持续业务过程改善,都造成业务过程的动态不稳定.这要求软件产品不仅在开发过程中要满足多样化的业务需要,而且在企业应用过程中,要能动态适应不断变化的业务过程.因此,软件产品应比物质产品更具有柔性和可定制性.根据不同软件产品的特点,存在两种软件开发形式,如图1所示.

①标准成品软件(off~the~shelf)开发.面向较大规模的客户群,开发和销售成本低,相对价格便宜,交货迅速,但满足用户特殊需求的集成和修改费用高.

②单个软件定向开发(one^ff).完全按用户需求组织开发,能贴近用户需求,但开发费用高,周期长,而且可维护、可升级性差.面向大规模定制的软件开发模式是以上两种开发方式优点的结合,既可以快速响应个性化客户需求,又可以实现标准软件开发的效率和成本.

如图2所示,SDMC除继承领域工程和基于构件的软件工程方法的特点外,还将并行工程的思想融于产品开发过程中.SDMC改变了传统的面向单个软件的开发方法,是对某一领域现在和未来市场、整体和细分市场以及相应的用户群体进行分析,开发出对该领域现存和潜在用户均有良好适应性和定制性的系列产品,即面向产品族开发,以实现范围经济与规模经济的结合.可重用构件是实现SDMC的基石.采用基于构件的开发方法,可以将一个复杂的软件产品分成多个构件的集合,相当于将复杂的单一问题简单化,因此更便于软件的管理、维护和升级.理论上,构件是与具体产品无关的相互独立的单元,可以在广泛范围内共享和重用,是解决大规模软件工程问题的有效方法.构件可以外购,还可以外协构造,这样可以充分利用外部资源,缩短开发周期.

SDMC运用并行工程的思想,集成地、并行地开发软件产品和过程,从软件开发的开始就充分考虑软件生命周期中所有因素,包括时间、成本、质量和用户需求等.

综上所述,SDMC继承和发扬了领域工程、基于构件的软件工程和并行工程的思想和方法,在系统方法指导下,用全局优化的观念,充分利用内外部资源,以大规模生产软件的效益,开发满足用户个性化需求的软件产品.其目标是:

①缩短产品开发周期,以实现快速响应;

②提高开发规模,降低开发成本,以实现规模经济;

③满足用户个性化需求,以实现范围经济.

     3面向大规模定制的软件开发过程

传统的软件开发过程模型是针对单个产品开发而提出的,将软件开发过程分成需求分析、设计、编码、测试和交付等串行的几个阶段.文献分别给出了面向重用的过程模型.文献[7]将制造业的产品生产过程分为新产品形成过程和订单产品制造过程.本文根据SDMC的目标和特点,给出如图3所示的面向大规模定制的软件开发过程模型.与制造业一样,将软件开发过程分为面向市场的新产品开发和面向用户的定制两个循环.

图3面向大规模定制的软件开发过程模型

面向市场的新产品开发是根据市场的现在和未来需求收集信息,运用相关知识构造某一应用领域问题的解决方案,开发新的产品.新产品开发不是面向单个产品,而是面向产品族,建立面向产品族的领域框架和可重用构件,并在过程设计环节,设计以领域框架和构件为基型的软件定制过程,为定制具体应用系统打下基础.这一循环,所需时间相对较长,称之为慢循环.面向用户的定制过程是根据用户的具体需求,在新产品开发过程中形成的面向产品族的领域框架和定制过程的基础上,利用已有构件,进行配置设计和定制开发,形成满足客户个性化需求的软件产品.这一过程在客观上必须是一个快循环,以快速响应用户需求,称之为快循环.

SDMC主张软件开发单位通过业务过程重组,将软件开发的两个循环相互分离:新产品开发部门负责面向市场的新产品开发,同时为软件定制准备基型;定制部门利用可变型的基型,按订单定制,快速满足用户的个性化需求.两个循环相辅相成,能否完善结合的关键是可定制的领域框架和可重用的构件.每个循环均强调并行,并适时将演化模型[1]融入并行开发和定制过程中.

一般说来,软件开发单位对两个循环都应重视.新产品开发循环具有创新性,将给开发单位带来创新的产品,增强竞争优势.定制循环虽然不会有重大创新,但其优势是在“快”上,能快速响应用户的个性化需求.

4面向大规模定制的软件产品族

可定制的产品族模型是实现SDMC的关键.因此,SDMC重点在于研究建立合理的产品族结构的软件设计方法,不再每次只设计一个产品,而是同时完成一组产品的设计,即对整个产品族进行综合设计,从而可以挖掘出产品族中的相似性信息,设计出面向产品族的可定制的领域框架和可重用构件.并利用并行工程的观点,以时间、成本用户满意度为目标,集成地并行地设计产品族及定制过程,同时尽可能考虑到影响软件定制过程的约束条件和条件约束下的软件配置机制.

软件产品族是利用共享资源构造的某一具体领域软件产品的集合,是一系列相似产品的统一表达.软件产品族对具体领域的相似问题进行归类,用相似的解决方案来解决,并试图覆盖同一业务领域的所有现实或潜在需求.面向大规模定制的软件产品族体系结构如图4所示.

软件产品族由领域框架、构件、定制过程和定制机制等部分组成.按照从用户需求到软件产品形成,在业务定义、技术方案和物理实现3个层面上建立领域框架模型和构件模型,层与层之间存在映射关系,右边层次的模型是左边层次的模型的变换,这样从左到右,形成一种生成、推导和约束关系.

(1)业务模型.是根据用户和市场需求,对业务对象、业务过程、业务服务和业务规则进行形式化描义莫型.在软件产品族体系结构中,业务层面上描述的领域框架和构件,分别称为领域框架业务模型和构件业务模型.

(2) 技术模型.是对适应业务模型的应用系统技术解决方案的一致性描述.在软件产品族体系结构中,技术层面上描述的领域框架和构件,分别称为领域框架技术模型和构件技术模型.

(3) 实现模型.是对实现技术模型的物理系统的一致性描述.在软件产品族体系结构中,技术层面上描述的领域框架和构件,分别称为领域框架技术模型和构件技术模型.

(4) 领域框架.是针对某一具体领域,包括构件及构件之间相互关系和约束规则,可定制、可扩展领域通用的软件产品族架构.

(5) 构件.是在定义好的体系结构相关环境中具有明确功能的独立的、可替代、可重用的系统组成部分.

(6) 定制过程.针对具体的开发环境所制定的,个性化定制具体应用系统的规程,包括与应用系统实现过程相关的规范、工具及相关文档.

(7) 定制机制.包括约束条件^配置机制以及业务模型技术模型和实现模型之间的映射关系.约束条件是约束应用系统定制的环境因素和对定制过程的考虑,配置机制是条件约束下的对领域框架实例化和对构件进行配置的规则和推理机制.

基于产品族的软件开发目标是提高产品族中的构件的通用性,从总体上降低开发成本,缩短交货期.对现有客户需求的理解和对未来需求的预测,及对客户群需求的系统分析,是产品族规划的关键,而产品族规划又是面向产品族软件开发的重要环节.

5面向大规模定制软件开发的产品集成过程模型

传统的软件开发方法强调软件实现技术,而忽略了对软件开发过程的规范和管理.近年来,软件开发过程越来越受到产业界和学术界的重视,如CMM(能力成熟度模型)就旨在显着提高软件开发过程管理能力[8].本文在制造业面向大规模定制的集成产品和过程模型基础上,结合软件产品的特点,给出了如图5所示的面向大规模定制软件开发的产品集成过程模型.

如图5所示,面向大规模定制软件开发的产品集成过程模型呈二维结构.时间维描述的是从客户订单到产品交付的过程,即软件开发过程(包括新产空间维描述的是将不同产品的相似部分进行归类处理,以增加软件开发规模,可采用产品模型(包括领域框架模型构件模型和应用系统模型)来描述.

SDMC在时间维优化的关键是有效地将定制分离点(customizationdecouplingpoint,CDP)后移.CDP是软件开发过程中由与订单无关的、面向市场的预测型大规模开发转向面向用户的定制的转换点.推迟CDP可以减少由于用户订单特殊需求而进行定制在时间和资源上的开销.最理想的作法是在交货点定制,即接到用户订单后,及时在用户现场根据用户需求完成产品开发和交付.实现CDP后移,需要准确预测市场需求,构建好可定制的领域框架,预制足够的可重用构件,为产品定制做好充分的准备.时间维优化可以显着提高开发效率.

SDMC在空间维优化的关键在于如何通过相似性原理和标准化技术有效扩大构件和框架的优化范围并提高它们的可重用性.在软件行业,大约65%的开发成本花费在重复系统开发上.对不同应用系统进行分解,可以发现存在大量相似性,可以对这些相似性内容进行归类,形成领域内或领域间共享的

6面向大规模定制的敏捷软件开发组织

根据SDMC的二维优化模型,显然在一个地区或行业推广实施大规模定制软件要比仅在一个开发单位实施可以取得更好的效果.大规模定制软件的最佳的模式应是在全球范围进行推广实施.事实上,软件行业的全球化和专业化分工也正在促使大规模定制软件开发扩展到全球范围.如何组织广泛范围内的软件大规模定制?本文主张将敏捷制造思想应用到软件开发中,建立面向大规模定制的敏捷软件开发组织.

敏捷制造是为实现企业生产制造的敏捷性,采用现代通信手段,通过快速配置各种资源,以有效和协同的方式响应用户需求的一种企业发展战略.虚拟组织是实现敏捷制造的重要组织手段.虚拟组织是一些相互独立的开发单位通过信息技术(例如互连网)连接的暂时性的开发单位网络,这些开发单位在软件开发过程中贡献出自己的核心能力,以实现技能利润共享和成本风险共担,迎合和把握快速变化的市场机遇.

充的动态组织.根据产品族设计中规划好的领域框架和构件,进行工作任务分解(分解为不同类型的构件),按照各个公司或公司内某些部门的核心业务能力,动态组合资源、技术和人员最佳配置的虚拟组织.虚拟组织成员接受工作任务后,按照各种合作形式(如供应链式、策略联盟式、合资经营式转包加工式和虚拟合作式等[13])进行合作,在基于Internet的敏捷开发环境下,共享资源和技术,完成各自的工作任务(完成构件开发).根据客户订单要求,将领域框架实例化形成满足订单要求的应用系统框架,并如图6所示,虚拟组织是可重构、可重用和可扩对虚拟组织成员提供的构件进行装配,最终形成满足用户需求的应用系统.

7结论

第3篇

关键词:安全生产;定制;产品化

中图分类号: TP393 文献标识码:a DoI: 10.3969/j.issn.1003-6970.2012.02.015

The research of work safety software productization LI tian-le(Communication & Information Center of State Administration of Work Safety Beijing 100013)

【Abstract】With tens of years’ development in work safety software system, there are more and more common requirements and

processes which indicate a possibility of transformation from custom development to standard productization. the thesis points out the software productization is the trend of work safety software development by comparing customization and productionzation development based on the author’s practice.The productization development not only lower development cost ,expedites the progress to production, enhances the quality ,but also well cater to the challenge of new requirement from continuous development of work safety governance .

【Key words】work safety , customization , productization

0 引 言

在过去的三十多年的安全生产信息化建设中,安全生产领域的软件开发基本是采用定制开发模式,开发成本高、周期长,风险高,已有的软件资产复用性低,造成了人力、物力、时间的浪费。目前,中国软件市场正在逐步走向成熟,软件企业通过开放的、全球化的竞争市场环境,学习全球最佳软件研发流程实践经验,获得了长足的发展,正在逐步向产品提供商过渡。安全生产领域的软件开发经过多年的发展,在领域知识和软件资产方面具有了一定的积累,随着安全生产监管监察业务的不断深化,软件建设的规模也在扩大,建设成本日益提高,软件产品化已成为安全生产信息化发展方向。

软件产品化是将安全生产领域内的通用功能做成软件制品,满足安全生产监管监察业务的共性需求,通过少量的定制开发和系统集成满足个性需求,实现软件开发的低成本、高效率、安全生产领域知识的复用和安全生产监管监察业务管理软件的标准化,进一步推进安全生产信息化建设。

1 基于定制模式的安全生产软件开发

软件定制开发模式主要是根据软件的生命周期模型进行开发,其主要活动包括需求、设计、开发、测试、验收。软件研发部门和业务部门一起进行量化、规约需求,根据双方共同制定的需求开展实施活动,从无到有地开发软件,最终交 付给用户一套软件系统。从本质上说,软件定制开发提供的是一种服务,而服务所具有的无形性、不可分离性、差异性和不可存储性的特点,极易造成项目范围的不确定性,这将给双方带来风险,随着项目的进展,这种不确定性也会进一步发展,导致工期延长和预算超支,造成很高的实施成本。例如:在需求分析阶段,可能会存在一些疏漏,而有些疏漏对用户而言是至关重要的,为了弥补疏漏,需要重新设计一些模块,这不仅影响了系统的稳定性,而且会使工期延长和预算超支。系统上线后,由于定制开发的固有缺陷,即用户产生新的需求,这就需要继续定制开发,由于软件没有标准化,软件研发部门往往要保留大量的特定的维护团队,这必然增加了用户的运维成本,也降低了人力资源的使用率。

综上所述,软件定制开发的主要优势是充分满足了用户的个性化需求;主要缺点是大部分项目超出计划和预算,影响软件推广使用的进程,由于软件没有标准化,无法实现领域知识复用,成本偏高,资源浪费,随着项目规模的扩大,成本随之扩大,另外,运营维护也需要大量的专有人力资源。

2 基于产品化模式的安全生产软件开发

目前,全球领先的软件厂商,例如ERP领域的ORCAL公 司,财务软件领域的用友软件公司等,均采用产品化的软件开发模式,将行业中一些实现了共性需求的软件代码分离出来,包装成软件组件,形成可以复用的软件代码资产,避免了“重复发明轮子”,节约了人力成本,缩短了建设周期,提高了软件系统的质量,同时,通过少量的定制开发,又满足了用户的个性化需求。另外,产品化的软件开发模式对用户而言,在项目实施之前,通过对已有的产品了解,可以明确能够实现的和无法实现的需求,保证了项目实施的进度。

随着安全生产领域软件建设规模的扩大,建设成本日益提高,产品化开发模式成为信息化建设战略转型的方向,这意味着采用定制开发模式的软件研发部门需要借鉴国际先进的行业实践,进行战略转型,同时,安全生产领域知识和软件研发最佳实践也为向产品化开发模式转型提供了基础。目前,笔者所在的软件研发部门正通过领域知识和软件资产方面的积累,进行安全生产领域内软件产品研发工作,主要是分析安全生产领域的共性需求,例如:全国安全监管监察机构管理、用户管理、权限管理、标准的监管业务流程管理等,做成软件制品,满足安全生产监管监察业务的共性需求。

3 产品化软件开发的关键活动

产品化开发模式主要有两个区别于传统定制开发模式的关键活动:产品需求管理和专业咨询实施服务。

产品需求管理是产品化软件开发成功的核心。软件就是用户业务需求,而软件研发部门的核心竞争力正是体现在用户需求的把握能力上。一个成功的软件研发部门需要深入把握用户的需求,尤其是共性的和前瞻性的需求,这对产品的设计至关重要,只有充分满足用户需求的设计才能更好地支持安全生产监管监察业务流程管理,才能让研发出来的软件产品拥有足够的复用空间,且真正降低软件的成本。软件研发部门精准定位用户需求的主要来源有以下5个方面。

一是现有用户的需求。和用户的紧密沟通深深影响了软件研发部门认知与诠释用户需求的能力。在软件系统投入使用后,软件研发部门定期走访用户,与用户紧密沟通,了解用户需求,收集用户在使用软件产品过程中遇到的问题,以及对未来软件产品的意见和期望,不断总结用户的共性需求和前瞻性需求,随着产品用户群的扩大,了解到的共性需求也会越来越精准反映行业的发展趋势和监管监察部门的共性需求。

二是用户每年的招标书。由于笔者所在的软件研发部门承担着安全生产信息化建设的重任,每年都会收到来自安全生产行业内的几十份投标邀请书,核心产品研发小组通过对投标邀请书的分析、研究,可以把一些有共性的需求作为未来产品的候选功能,这些候选功能将作为新一代产品的实现目标。

三是安全生产监管监察行业研究报告。软件研发部门积极参与安全生产管理论坛、行业研讨会等,准确把握安全生产监管监察行业内的最新动向。每年核心产品研发小组,都会对产业发展趋势、新产品进行分析研究、对软件研发部门的未来产品路线进行设计、修正,保证软件研发部门的产品符合行业发展趋势。

四是组织内部的知识共享。组织内部的知识共享为产品规划提供了很多建设性的观点和思路。很多知识是存储于员工的头脑中,软件研发部门通过有效的知识管理把员工的知识变成组织的知识。

五是国内外同行的发展状况研究。软件研发部门需要不断融入时代主流的技术,给用户更好的体验。软件研发部门和IT领域的主流产品厂商结成合作伙伴,紧跟最新的软件、硬件技术潮流,根据行业的发展,研究最新的技术,并及时挑选适当的技术融入产品,淘汰落后的技术,保持软件研发部门的产品在技术方面保持领先的地位。

软件研发部门通过对上述渠道中获得的需求随时进行分类统计、研究,从中找出可以作为未来新产品的备选需求,使新产品更符合用户的需求,并且对很多潜在用户需求也具有了一定的前瞻性,不但提高了用户的满意度,还降低了对新产品投资的不确定风险,使软件研发部门始终紧跟安全生产行业发展的前沿需求。

专业咨询服务是产品化软件开发模式实施成功的保障。产品化的软件项目实施不同于定制开发的瀑布模型,主要是基于已有的软件产品,通过专业咨询服务,并结合少量的定制开发实现用户的需求,构建新的应用系统。软件研发部门提供的专业咨询服务与成熟的软件产品结合,充分发挥了产品的效能。

专业化咨询服务的项目实施生命周期包括五个阶段:项目启动阶段、实施规划分析阶段、设计和配置阶段、解决方案验证阶段和解决方案部署阶段。通过五个阶段,咨询服务可以有效降低实施中的风险、提高项目进度,保证软件产品的质量。具体如下。

项目启动:项目实施团队组成项目组,在项目开始的时候,举行该项目启动沟通会议。会议的目的在于沟通项目的范围、期望的结果、定义项目的角色和职责。

实施规划分析:项目组和用户共同进行用户需求的整理、解决方案的讨论和工作范围的确认。这部分工作成果将作为部署阶段的依据。另外,培训部门将根据用户实际的产品知识,提供培训服务。对于产品本身无法满足且涉及产品核心功能的业务需求,如果不能通过配置满足这部分需求,就需要进行产品的客户化工作,对客户化的需求进行需求规约、确认。

设计和配置:项目组进行系统设计,按照用户的需求,和用户共同进行产品的配置。如果需要软件产品通过客户化提供的额外功能,软件研发部门对这些特殊需求进行客户化开发。

解决方案验证:验证配置是否符合业务需求,进行集成测试。

解决方案部署:在这个阶段,实施团队提供软件安装和解决方案的最终验证。这些服务包括:历史遗留数据的迁移、新 的生产系统的调试和试运营。

在产品成功上线运营之后,软件研发部门仍需密切关注用户运营中的新需求,通过产品支持和产品升级来解决用户运营中的问题,以确保提供给用户的解决方案发挥最好的效用。研发部门咨询服务方法论如图1所示。

图1 研发部门咨询服务方法论

4 结 论

安全生产领域的软件研发方向是借鉴产品化模式的软件开发思想,研究现有的应用系统,抽取行业内共性的需求,同时,紧跟行业的发展方向,深刻把握安全生产监管监察业务需求的变化,采用主流的IT技术,研发出符合安全生产领域需要的软件产品,通过产品化实现安全生产领域知识和软件研发最佳实践的复用,形成安全生产领域内的专有软件资产,降低项目实施运维成本,提高软件质量,加快安全生产信息化建设。

参考文献

[1] Roger S.Pressman,软件工程实践者的研究方法(原书第七版),郑人杰、马素霞译,机械工业出版社,2011年10月。

[2] 菲利普.科特勒等,营销原理,卢泰宏译,中国人民大学出版社,2009年4月:294页。

[3] 定制软件是明智之选吗,。

第4篇

关键词:软件成本估算;估算方法;应用

中图分类号:TP311.52

在我国科学技术飞速发展的过程中,软件开发是一项非常重要的科学技术,软件开发企业对软件开发过程中的成本控制与开发量的估算非常看重。在上世纪60年代的时候,就已经开始对软件成本控制以及开发量估算等相关问题进行了研究,但是在那个时期通常都是采用定量经济学的决策方法应用到软件评估中,这种方法虽然能够让决策问题变得简单,也能够便捷的执行定量计划与项目控制。但是这种方法在实际工程应用中很难将软件项目开发的一些客观外部因素考虑进去。而软件成本估算技术却能够很好帮助软件开发企业评估软件的开发成本以及项目进度,并且能将客观外部因素考虑进去,因此对软件估算方法在实际工程中的应用进行研究有很重要的意义。

1 软件成本估算的基本方法与步骤

1.1 软件成本估算的基本方法。如今,软件成本的估算方法有很多种,本文主要介绍一些最基本的估算方法。第一种是专家估算,这种方法是将整个软件开发工作按照功能进行分类,然后一直细分到个功能模块,同时对软件开发需要的具体工作进行详细划分,之后就是一直细分到主要功能模块必须的工作,最后就能够根据经验计算出各个功能模块的开发,所需要的人力以及时间。第二种是类比估算,这种方法是根据曾经类似的项目作为参考,然后根据类比方法来预测正在开发项目的成本及其进度。第三种是算法模型,这种软件成本估算方法有很多种形式,比如线性模型、分析模型、复合模型以及表格模型等[1]。这种方法要先找到影响软件开发成本的因子,并进一步判定它对工作量产生的影响程度,最终得出最好的模型算法表达式,这样就能够对软件开发成本给予准确的估算,如图1所示,为软件成本估算的基本用例图。

图1 软件成本估算用例图

1.2 软件成本估算的步骤。在采用软件成本估算方法对软件开发项目进行估算的过程中主要的步骤包括如下几个方面,首先是确定软件的需求,建立起估算的目标,计划好需要的数据与资源。其次就是做出详细的估算,采用多个独立方法对软件项目进行估算。最后就是估算的跟进、调整以及修改等。

2 软件成本估算在网络电视系统中的应用

2.1 确定软件的需要。随着我国网络技术的发展,如今我国的网络电视平台系统随着客户与市场的需要,软件系统需要不断的进行升级与更新,因此采用软件成本估算方法对软件平台进行成本估算,有助于相关企业更科学的掌握网络电视软件系统的开发工作量、人员配备等,并且能够为新系统的开发提供更好的建议。通常网络电视系统需要具备的功能包括内容管理功能、用户管理功能、运营计费功能、广告管理功能、Web服务系统、CDN节目分发功能、编辑功能、内容提供商管理等相关方面的功能[2]。

2.2 软件成本估算方法的选择与组合。在对网络电视平台系统进行软件估算的过程中,需要根据其特点来选择最适合的估算方法,一般网络电视平台系统在开发与维护中,都需要依靠专业人士的意见,并且其中的大部分功能模块都需要在软件公司提供的商业模块中进行选择。因此最好是采用专家估算、算法估算与类比估算这三种估算方法,来对网络电视平台软件开发与软件维护的成本估算。并且为了得到更为准确的估算结果,需要根据这三种估算方法的不同特点,在不同的时期进行估算。

2.3 软件规模估算。在对网络电视系统软件的开发与维护估算中,对软件规模的估算是一个难点。根据网络电视平台软件系统的功能可以将其开发模式分为三种类型。第一种是直接用现成模块,其中包括用户管理、统计管理等。第二种是对已有商业模块进行改编,其中包括内容管理功能、Web服务系统等。第三种是因运营需要产生的新定制开发,比如内容提供管理。具体的估算过程包括新定制模块的软件规模确定、改编模块的软件规模确定这两个方面。

2.4 工作量估算。软件开发的工作量估算是软件成本估算方法中最重要的工作,因为整个软件系统都是由同一家软件开发公司来完成的,因此可以用同一组比例因子来代表整个软件开发项目,但是在整个软件开发中各个模块的开发要求与特点都不一样,因此必须要对每个软件模块进行估算。具体的工作量估算工作主要包括以下这几个步骤,分别是比例因子的确定、驱动因子与工作量乘数的确定以及结果分析。其中在驱动因子与工作量乘数的确定过程中,还包括了新定制开发软件的工作量乘数确定、改编软件的工作量乘数确定。而结果分析中,主要就是估算网络电视平台软件开发的总工作量以及其开发进度,同时还可以对新定制开发软件的工作量与开发进度评估结果,模块的具体工作量乘数如表1所示。

表1 “内容提供商管理”模块具体的工作量乘数

驱动因子 对应乘数 取值因素

RELY:要求的软件可靠性 很高 涉及内容商经济结算

DATA:数据库规模 标称 数据量不大,但结构复杂

COLX:产品复杂性 高 考虑节目、用户与提供商多线管理

DOCU:匹配生命周期需求 标称 可以参照其他模块的通用做法

RUSE:可复用开发 高 由技术小组决定

PVOL:平台易变性 低 平台一旦建立,变化性不大

SITE:多点开发 高 有较好的交流工具

TOOL:软件工具使用 标称 按通用情况考虑

SCED:要求的开发进度 标称 按通用情况考虑

3 结束语

网络技术是当今发展最快的一种科学技术之一,同时软件的开发对世界经济的发展起到了很大的作用,软件开发企业要想提高其经济效益,取得更好的发展,就必须要有一套相适应的软件成本估算方法,这样才能够提高软件开发的效率,并节省软件开发的成本。通过本文的相关分析,我们可以了解到,软件开发企业必须要根据软件的特点来选择相适应的软件成本估算方法,这样才能够准确的估算出软件开发的工作量与进度。最后希望通过本文的研究,能够对我国的软件开发企业有所帮助。

参考文献:

[1]Boehm BW,Abts C,Chulani S.Software development cost estimation approaches―A survey.Annals of Software Engineering,2010(10).

[2]李明树,何梅,杨达.软件成本估算方法及应用[J].软件学报,2009(07).

第5篇

云计算、大数据、移动化和社交化趋势的发展给软件开发企业带来的最大挑战是什么?ThoughtWorks中国区总经理张松表示:“我们不提供公有云平台,而是专注于让传统企业更好地使用云计算。”传统企业通常拥有庞大的IT系统,而且存在了几十年。在面对新的业务需求时,如何继续发挥原有IT系统的优势,面对不同类型的应用,更充分地利用云计算,实现更快、更安全的应用部署是用户和软件开发企业都必须面对的严峻挑战。

“我们要帮助企业设计一套新的架构,让它更适合云的环境。”张松举例说,“我们通过Microservice可以将传统企业的业务分割成不同的服务模块,这些模块可以独立开发,并部署和运行在云平台上。这是我们推荐的一种新的架构模式。”

在澳大利亚和美国,ThoughtWorks是亚马逊AWS的重要合作伙伴,并且通过了亚马逊AWS的金牌认证。如果有用户想将应用迁移到亚马逊AWS的云平台上,ThoughtWorks可以提供相应的迁移服务。

作为高端软件定制开发企业,ThoughtWorks一直根据用户的实际需求提供定制化的软件开发服务。经过多年的积累,ThoughtWorks不仅在金融、零售等诸多领域拥有了大量客户和实践经验,而且对这些行业客户的需求也有了深入了解。ThoughtWorks完全可以对以往的产品开发经验进行总结,推出自有品牌的针对某些行业或特定应用场景的解决方案。

张松表示,ThoughtWorks已经开始进行这方面的尝试。“我们已经推出了一个云计算的平台ScaleWorks,它可以运行在第三方的公有云平台之上,能够帮助客户在企业环境中更好地使用云计算和其他企业级虚拟化平台,比如VMware或微软的云计算平台。”ScaleWorks的好处是可以隐藏企业应用开发中的复杂性,让用户更容易使用,同时可以实现企业软件在、部署和开发测试等环节的管理自动化,减少开发和测试的工作量。

虽然ThoughtWorks已经推出了像ScaleWorks 这样的可以大规模商用的产品,但是ThoughtWorks并没有像其他IT公司那样急于进行大规模的商业推广。

张松表示:“我们现在的做法是选择一些我们认为具有创新精神的客户来试用这个产品,在得到反馈并对产品进一步优化之后,再对产品进行大规模的商业推广。目前,已经有两三家客户在试用ScaleWorks。我们公司内部也在全面使用这套系统。”

第6篇

关键词:软件构件;开发;检索

现今的软件开发已脱离了传统的手工作坊模式,更注重软件开发效率及软件产品质量的提高。要在软件开发中解决重复劳动的问题,可采取软件复用技术,以不断提高软件开发的质量及效率。而软件构件是当前支持软件产品复用的有效形式,是支持软件复用的核心技术。不断发展及成熟的软件构件技术为现今的软件开发提供了新的方法,也能有效地推进软件生产方式的变革,提高软件产品的质量及软件生产的效率。

1 基于构件的软件开发

基于构件的软件开发将现成的软件构件集成并构造成一个大型得软件系统,此方法可以快速组装系统,有效降低软件开发成本,提高软件系统的可维护性及灵活性,降低系统的维护费用。与传统的软件系统开发注重开发,而忽略可复用构件的存在这一做法不同,基于构件的软件系统开发更注重如何获得己经存在的构件,而不是开发,组装和集成现有的构件是基于构件的软件系统开发的主要着眼点。基于构件的软件系统开发的过程如下:(1)检索构件:检索构件的过程包括如何根据描述构件、创建构件库。领域工程师开发出新的应用构件,并用文档加以描述。通过领域分析、自行开发、逆向工程或者商业购买等途径来获得所需要的构件。(2)选择构件:从构件库中选择合适的构件,并验证构件的功能、接口等。(3)适配构件:修改或者定制所选择的构件来满足新的应用环境的系统需求,以便能与其他构件进行集成。(4)组合构件:将不同的构件集成和组装在一起。

2 检索构件

检索构件指的是从大量的构件所构成的构件库中找出合适的构件。目前互联网上有许多专门的构件库,各个Web站点上也提供了构件的链接,但是不同的构件库有不同的组织和访问方式,从而造成了对各构件库中的构件访问困难,并且Web站点上链接的构件也无法用传统的检索引擎检索到。只有将网络上的构件资源加以利用到构件系统的开发中,才能实现缩短软件开发周期,提高软件质量的目的。现今人们对软件需求愈加体现了个性化、多样性的特点,以往的多种功能单一软件包方式无法满足用户的需求,因此在基于构件的软件开发研究中,应在允许用户选择服务组合的基础上,允许在构件级别上对单一的服务进行功能集和界面等的定制,在服务定制的粒度上应该更细,也应该更具灵活性。基于构件的软件开发成功依赖于构件分类和检索技术。由于构件的信息量比较丰富,相互之间也缺乏很多相似性,构件之间缺乏有意义的联系,这给构件的分类带来了很多困难。目前有很多构件分类检索方法,从构件表示出发可分为人工智能方法、超文本方法和信息科学方法三类。而根据复杂度和检索效果的不同可以分为基于文本的、基于词法描述字的和基于规约的编码和检索。

3 适配构件

适配构件是从泛化的构件来创建特定应用的构件,主要采用以下方法:部分实现:构件只实现一部分功能或行为,其他部分仅提供接口。不如在面向对象的软件开发中,通常会有一部分抽象方法留给用户来实现。重载:构建提供了缺省的实现,用户在具体应用时可以重载这些行为。但是要求开发构件的程序语言支持重载机制,比如c++,Java。插件:通过编写插件的形式为粗粒度的构件添加新的功能,插件在构件总注册其提供的服务,构件需要使用该服务时调用该插件。各个构件在生产时是为了满足不同的需求,并基于对环境的不同假设,因此构件在用于新系统时经常要进行剪裁。构件剪裁必须基于构件之间的冲突最小化原则,消除体系结构的不匹配同题。针对不同的构件类型,可以采取不同的剪裁策略。

4 组装构件

作为是软件系统的基本组成成分,构件通过契约式接口指明对语境的依赖,可以实现独立部署。构件组装的本质是在构件之间建立关联。构件之间的组装关系由组装逻辑描述,组装逻辑规定了中各个构件之间的作用形式和构件在运行期间的通信机制。根据其特征来划分,构建组装方法可分为黑盒组装方法,白盒组装方法,灰盒组装方法,三类组装方法的划分依据是构件组装时对构件内部细节的了解程度。其中,黑盒组装无需对构件实现细节有任何了解,也不需要对其进行配置和修改,这对构件的要求高,实现难度大,白盒组装要求将构件的所有细节都展现出来,让复用者理解后再进行组装,并可对构件按应用的需要进行修改,从构件的复用角度分析,白盒组装的存在只能是局部的和暂时的。一个可以随意修改的软件构件并不是真正意义上的可复用产品,因为弄清一个构件并对其进行合适的修改代价会很高,其安全性可靠性得不到保证。灰盒方法介于黑、白盒之间,是当前技术发展的合适选择。灰盒方法通过调整构件的组装机制而不是修改构件来满足应用系统组装的需求,既实现了构件组装的灵活性,又不至于过于复杂。

总之,基于构件的软件开发过程关注可复用构件的存在,更关注组装和集成现有的构件,将己经存在的构件加以有效利用。本文对基于构件的软件开发生命期的几个个环节检索构件、适配构件、组装构件加以探讨,旨在实现构件的软件开发方法更灵活,有效地推进软件生产方式的变革,提高软件产品的质量及软件生产的效率。

[参考文献]

第7篇

关键词:软构件;软件开发;方法

一、构件的定义

构件,简单来讲就是软件系统中的单个元素,它具有很多的特性,包括独立性,可替换性,多次使用性等等;构件也是可以很准确就会被认知的实体,当软件重复使用的时候。软件具有自身的性质,独立性以及可重复实用性,所以构件可以借助这样的特征来进行软件的开发,并且可以通过构件提供的特定窗口进行信息的互换等等。在进行基于软构件的软件开发过程中,为了保证软件开发的质量,构件之间的信息交换一般都会通过标准的接口来进行。

二、软件开发形式

(一)软件定制。对于软件定制主要是为了能够达到功能拓展的目的。其主要是指基于软构件的软件开发,利用事前明确功能以及编制好的构件或者是面向构件。并且软件对于构件功能需求的不同,也可以通过构件版本的选择来实现。

(二)构架独立。在进行软构件的软件开发中,为了可以能够让构件出现问题时能够及时维修,并且能够做到维护的简易化,所以需要将构件进行分解,也就是构件独立[1]。

(三)统一接口。在进行软件开发的过程中,往往会受到很多方面的限制,比如说是硬件设备上的限制,或者是空间上面的限制,为了能够有效的突破这种限制,需要将接口通过统一,其主要是指软件可以通过指定的接口实现跨平台的交互。

三、构件模型分析

(一)OMG组织。对于OMG组织来讲,自身就具有一些特点,包括支持性较高,系统平台相对独立,整个的模型比较完整,效率高。在OMG组织中,有基于开放平台的对象体系CORBA,同时其的计算机技术对于大多数厂家来讲也是很受追捧的一部分。

(二)SUN。Java是SUN中的一项技术,这项技术对于具有语言开发的功能,并且其的使用范围广,能够满足对于不同的业务的需求,最重要的一点就是简化构件服务器。

(三)Microsoft。Microsoft中的COM构件模型,其构件技术在实际的应用过程中是非常广泛的。它具有很多自身的优点,包括能够实现模型间的相互交流以及操作,并且由于自身的构件接口是标准接口,能够有效的用远程技术。

四、基于软构件的软件开发流程分析

(一)整体框架设计。在进行框架设计之前,需要对所要达到的功能以及效果进行分析,通过分析对比找出与设计软件功能需求相同的地方,然后将功能构件从系统中进行分解,最后再将开发软件的系统进行优化。

(二)构件库建立。为了保证软件在开发时的效率,需要进行软件库的建立。软件库的建立就是为了使构件能够更好的服务于软件开发,将构件进行统一的管理,并且构件库的建立对于软件的反复使用起到了支持,保护等作用。

(三)获取构件。当进行需要分析之后,需要将满足要求的构件挑选出来。选出来之后,需要根据实际的应用情况进行一些简要的修改,修改完善之后将其安装到待开发的软件系统中。构件的获取主要是包括以下几个途径来进行。首先可以在以往使用过的构件中按照实际的进行挑选,其次合用利用当前开发新的系统功能模式对构件进行开发,最后可以通过购买的途径来进行构件的获取。

(四)构件的调整。当获取构件之后,为了能够使构件更好的服务于软件的开发,需要根据实际的情况来进行适当的调整,使其符合相应的设计规则。当进行调整的时候,主要使用的是三种调整方法,有白盒法,黑盒法以及灰盒法。白盒法主要通过对构件源码的修改来进行调整的。调整之后,使构件之间的摩擦减少。但是这种调整方法也有自身的缺点,就是调整过后会影响其的使用特性,对以后的维护造成一定的困扰。对于黑盒法以及灰盒法来讲,主要利用的是对源码进行保留直接进行扩展的方法。

(五)构件的组装。构件能够发挥自身的作用,必须要与群体构件结合才能发挥作用。为了能够更好的进行软件的开发,需要对构件进行适当的合乎实际的调整,并且将构件与构件之间的接口连接在一起,或者是将构件与开发的元素连接在一起。

小结

对于软件的开发来讲,开发过程是一项复杂的过程。设计人员需要有足够强的理论知识以及实际应用能力。在进行基于软构件的软件设计的过程中,设计人员需要有严谨的思路。本文主要对软件开发流畅做简要介绍,希望读者对其有简单的了解。

参考文献

第8篇

关键词:信息化 软件项目管理

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2012)05-0250-01

1、引言

在国家提倡“两化融合”的大环境下,众多生产制造企业为提升自身竞争能力、扩展发展空间,不断加强信息化方面人力和资金的投入,利用现代信息技术对自身信息资源进行深化开发。生产制造企业的软件项目是具有针对性的定制需求软件项目,不论是合作开发还是整体外包,往往存在着技术、人才等方面的不足,特别是软件项目管理的不足使企业无法完全有效利用软件系统的功能和消化吸收软件在设计和应用上的知识体系,容易出现需求无法控制、功能重复开发、应用效率低、运维和移植成本高等实际困难。

2、企业软件项目技术管理中遇到的问题

2.1 软件需求定义模糊

软件需求是整个软件项目最关键的一个输入,软件需求具有模糊性、不确定性、变化性和主观性的特点。软件需求的提供人员普遍缺少软件需求的必要知识,提出的需求定义不充分、不全面、不准确,导致在系统测试和运行阶段会出现大量的需求变更,影响系统设计结构,造成补丁摞补丁的软件程序。

2.2 项目参与者沟通强度不足

沟通不足常常是企业软件项目成功的最大的威胁。软件需求提出者在项目建设初期对信息化理念了解不深,表达不够深入,提出的功能需求浮于日常工作表面。而企业软件开发人员或外包商因为对业务了解不够深刻,没有有效的项目沟通计划,无法充分考虑业务需求,不能对软件系统给出规划建议或细节,造成项目需求的余量规划准备空间不足。

2.3 定制带来的软件自身内在的高复杂度

对于企业定制软件的开发,由于生产业务自身的复杂度,导致了定制软件的复杂度,特别是业务的组合,造成系统间和模块之间耦合度较高。

2.4 文档资料缺失,知识无法有效继承

在软件项目中,相对于项目进度和软件开发,项目成员不太注重知识的收集和积累,仅能提供项目主要文档资料,而这些资料往往没有跟随软件变更进行及时更新。导致系统的使用、维护知识仅为少数开发和参与者掌握,无法将个人的隐形知识转化为共享的显性知识,给系统的后续升级、维护造成很大困难。

3、在企业软件项目管理过程中的经验

企业的定制软件项目是用有限的资源、有限的时间根据特定的业务部门需求,优选各种技术和产品进行设计开发,将各个分离的“信息孤岛”连接成为一个完整、可靠和有效的整体,并使之能彼此协调工作达到整体优化目的的工作。一个良好的企业项目软件,成熟优秀的软件项目管理是必不可少的。在软件项目建设和全生命周期中,如要减少上述问题的发生,企业可以做好以下几个方面:

3.1 强化软件项目需求控制

在软件项目管理范围内,需求控制和管理是其中重要的一环,特别是对于针对企业自身生产经营流程所定制的软件系统,需求贯穿了项目的整个生命周期。从企业走上ERP信息化道路之后,随着员工对系统了解不断加深和企业自身管理水平提升,很多因素都可能使软件系统的需求不断变化。如果不能有效处理需求变更,势必会很大程度上增加开发和运维的压力。

3.2 加强需求相关方参与项目的深度

不仅是在软件项目初期需求收集和概要设计中,在整个软件项目的生命周期内都必须强调项目需求相关方即业务部门的参与。由于软件系统实施将改变企业员工的工作方式,因此,业务部门的管理者和将来的使用者必须在项目策划阶段就能了解系统应用对其工作方式带来的影响,他们必须制定相应的政策、流程等以准备应对这个即将到来的变动。目前部分ERP项目之所以失败,重要的一个原因是人们误认为ERP项目仅是一个信息系统项目,该项目带来的仅仅是一个信息产品。其实,ERP项目带来的是一新的运营方式,如果企业在没有做相应调整的情况下强行引入ERP,业务流程重组不到位,将会使企业运行的混乱速度加快。事实表明,促使软件项目成功的最重要的要素莫过于需求相关方的全过程参与。

3.3 培养企业内复合型人才,扩展项目管理知识领域

企业定制软件项目需要掌握项目管理技术、熟悉企业流程并对了解软件开发关键技术的人员作为项目的管理者,首先要扩展企业内部软件项目管理人员的知识面,一个高效的项目管理者来说至少要能理解和使用五方面的知识领域:

(1)项目管理知识体系;(2)应用领域的知识和标准;(3)项目环境知识;(4)通用管理知识技能(采购、合同、后勤、人事管理、安全等);(5)管理软技能(处理人际关系技能)。

3.4 将项目沟通上升到技术和管理层次

由于企业内软件从业人员较年轻,缺乏一些沟通、社交等方面的软技能,习惯使用专业术语,更擅长跟机器打交道,所以在项目建设中会出现沟通不充分的情况。软件项目沟通管理是软件项目管理中的一个重要组成部分,可以使软件人员和业务人员有效的建立彼此相互了解的关系,并且能通过沟通的行为和过程达成共识,可确保及时、正确的产生、收集、分发、存储和最终处理项目信息。

软件项目沟通管理包含三个主要内容:(1)编制沟通计划,确定哪些人是项目干系人(项目干系人是指积极参与项目,或利益会受项目执行结果正面或负面影响的个体),分析他们对实施项目的影响程度。根据干系人信息需求的汇总进行沟通需求分析,对不同层次的项目干系人制定不同的沟通计划。(2)以合适的方式向项目人员分发信息,一个企业的各个项目应该采取统一格式模板记录信息以及进行传递,有助于信息格式标准化,降低沟通成本。(3)对项目沟通过程进行管理,改善软件人员沟通的软技巧,努力做到沟通内外有别,对外一致,一个团队要一种声音说话,采用对方能够接受的沟通风格,注重非正式环境下沟通所获得的信息,建立高效的会议方案,明确团队内部思考方式等工作。

4、结语

软件项目管理的发展像任何其他学科的发展一样,其成长和发展需要有一个相对漫长的过程,而且是永无止尽的。只有不断提升软件项目管理成熟度,使企业软件项目管理向多元化、专业化发展,才能取得项目的成功,最大的满足企业自身向整体信息化转型的需求。

参考文献

第9篇

一、引言

 

随着计算机科学技术的飞速发展和信息技术的不断进步,计算机与细腻新技术逐渐被应用到各行各业中。各领域都要求软件开发者能够迅速、高质量的为本领域提供各种具有较强的实用性的软件产品。但是在现实软件开发中,由于各领域的复杂性、差异性、变化性等特点的存在,给软件开发带来了极大的困难,不能完全满足社会各领域对软件开发的需求。

 

软件产业的全面发展决定着一个企业、一个行业、一个国家的信息化建设水平的高低。目前,虽然我国软件产业已经取得了长足的发展,特别是近年来每年都在以两位数的复合增长率上涨,但是,我国软件开发与运用等方面仍存在着诸多问题。据权威机构的统计数据报告显示:大型专用软件的开发占世界软件销售额的85%,而其开发中出现的失败率高达70%。而我国的信息建设项目的成功率也并不高。那么导致软件开发的这种状况的主要原因是什么呢?该如何选择软件开发工具呢?

 

二、软件开发工具概述

 

(一)软件开发工具的基本概念

 

目前的软件编写都是建立在一种开发工具软件的基础上的,有了这类工具软件,软件开发从规划、业务流程分析、软件模块的设计、代码的测试、使用与管理等方面都进一步实现了规范化管理,这为程序员编程带来了便利。软件开发工具的使用不仅降低了程序员编程的难度,更为那些复杂的软件开发提供了较大的帮助。

 

(二)集成软件开发工具

 

软件是相对于那些看得见、摸得着的硬件而言的,软件就像是计算机的大脑。软件分为系统软件和应用软件。不论是系统软件还是应用软件都为人们的生活带来了方便,在互联网时代软件拥有庞大的数量,软件的产生是人类集体智慧的突出表现,是现代文明得以传承的介质,是人类文明发展的推动力。

 

随着计算机技术的不断发展,很多复杂的业务管理流程、复杂系统控制都依赖于软件开发工具来得以实现。这些集成的软件开发工具涉及到软件开发的各个生命周期。越来越多的软件工程需求带动了集成软件开发工具的产生与发展。目前,比较常见的集成软件开发工具有很多,例如:VB,PB,DELPHI,VC,JAVAASP等。这些软件开发工具各有特点,各有所长。例如:VC具有强大的功能、JAVA具有强大的网络编程功能、VB简单易学,易于掌握。

三、软件开发工具的发展历程

 

软件开发工具如果从开发效率上来划分,可以分为编辑器、集成开发环境、软件开发平台三代历程。

 

(一)软件编辑器

 

这种软件开发工具从功能到界面都需要编写大量的代码,编辑的主要功能是将代码进行编译,使其成为目标程序,并对其进行错误调试。这种程序的主要表现形式就是0和1这样的代码序列。但是对于这些代码序列,并不是每一个用户都能够看的懂的。种种程序对计算机的硬件有着极高的依赖程度,因此其维护性较差。

 

(二)集成开发环境

 

在软件开发工具中集成了很多通用的界面定制功能和通用功能。例如:通讯的组件、数据库的操作、数据展示控件、打包工具等。这些功能的集成是软件开发的效率得到了提高。例如:VIAUAL、STUDIO、MYECLIPSE等。这些是目前最流行、实用率最高的软件开发工具,大部分软件厂商的程序开发人员都在使用这些开发工具。

 

(三)软件开发平台

 

软件开发平台的提出为软件开发提供了一个全新的平台和理念。平台作为软件开发工具的应用环境是软件开发逐渐实现了可视化、定制化、无代码化,软件开发的效率的到了空前的提高,在很大程度上解放了程序员的开发工作量,让程序员能够将注意力集中在对业务的关注上,而不是技术。例如:咨微OBPS开发平台就是最具代表性的。

 

四、软件开发工具的选择

 

随着软件技术的不断进步,各种高级语言不断规范,使得程序员对软件开发工具的选择也提出了新的要求。就目前而言,我国的软件开发已经逐渐由原来的手工作坊的形式发展到软件工程的阶段。软件开发本身也在不断的发展,已经由过去的“算法+数据结构=程序”的传统模式转变成“设计模式+对象组件+开发工具=程序”。开发工具的选择已经成为软件开发成功与否的主要因素之一。

 

选择软件开发工具有两个主要因素,即:所开发的最终用户和开发人员。软件开发的最终用户是所有软件开发的主要来源和最终归宿,它更是影响着软件开发工具选择的决定性因素。另外,开发人员的习惯、爱好、经验也在影响着软件开发工具的选择。同时,严格的软件工程管理和开发人员的技术水平是软件开发成功与否的关键。

 

总之,随着软件业的飞速发展给人类的生活带来了巨大的变化。这不仅是人类文明成果的具体体现。软件开发工具的发展给软件业的进一步发展提供了动力。软件开发工具在不同领域的有效利用,使软件工程各个时期达到有效管控的二亩地。

相关文章
相关期刊