下面是小编精心为大家整理的软件开发与定制最新5篇,如果能帮助到您,小编的一切努力都是值得的。
关键词:高等学校 软件资产 管理 对策
中图分类号:G647 文献标识码:A
文章编号:1004-4914(2013)02-088-02
一、概述
在信息技术飞速发展的今天,计算机软件广泛地应用于高校的教学、科研以及管理等各个领域。尤其是多媒体网络教学和在线远程教育系统等教学平台,计算中心、虚拟现实实验中心和数字图书馆系统等科研平台,以及教务管理系统、办公系统、财务管理系统和一卡通系统等管理平台建设过程中,计算机软件的投资占到很大比例。计算机软件资产已成为高等学校资产的重要组成部分,软件资产管理的重要性日益显现。
针对计算机软件资产这种具有无形、易复制、时效性强等专属特征的特殊资产,仍参照传统硬件资产的管理制度和方法,作为一般性的固定资产实施管理,在资产核算、资产使用和处置管理等方面出现了诸多问题,因此,高校软件资产的管理迫切需要制度化和规范化,并制定一套切实可用的管理方法。
二、软件资产界定和管理过程中存在的主要问题
2011年颁布的《中央行政事业单位软件资产管理暂行办法》(国管资[2011]280号)明确规定{1},软件资产是指以软件载体、许可、信息化成果的拷贝(含文档资料)等形式存在的,单位价值在500元以上的资产,或者授权使用期限一年以上的批量同类资产:软件资产载体包括光盘母拷贝、软磁盘母拷贝、硬盘母拷贝、移动存储母拷贝、互联网下载文件的源文件等;许可证包括产品外包装或者载体盘面上的安装序列号、原始设备制造商产品的内置信息,以及电子文档格式的授权码等。
计算机软件资产和其他资产一样,具有成本价值、使用价值和创造利益的作用,满足资产确认的基本属性。然而,相对于一般固定资产而言,软件资产具有无形、易复制等专属特征,在现有的软件资产管理中普遍存在以下问题:
1.对软件资产的认定认识不够。一谈到高校的资产管理,传统上更多的是涉及到有形资产的实物管理。以往很多人误认为软件资产的价值集中在软件载体上,又因软件载体的价值很低而往往被人们忽略了软件的真实价值,故从观念上忽视了软件作为资产管理的重要性{2}。
软件资产具有无形性,购买软件产品时,单位只是获得装有软件的载体(如光盘)和授权许可序列号(或物理密钥);仅从软件载体本身无法感知软件的功能和作用,只有将许可软件装入计算机等硬件设备,其使用价值才能通过用户界面或其他硬件设施体现出来。软件具有易复制性,表现为软件不同于其他实物资产,无需成本即可随意拷贝复制,虽然成品软件大多设置了加密授权程序,但若管理不善容易被他人盗用许可密码,给单位带来侵权违约风险,若加强管理,使用价值就能大大提高;时间效应是计算机软件的共同特点,计算机技术发展迅速,软件不断升级和更新,新的高性能软件不断涌现,促使单位加快软件淘汰更新速度。正是由于软件的专属特征,使得人们对软件资产管理的认识存在片面性。正是由于其“无形”,使得大多数单位没有将其作为资产真正加以管理。
2.软件资产价值核算难度大。高等学校计算机软件资产的形成方式很多,包括购置、委托开发、自主开发、受赠等。对不同配置方式形成的计算机资产进行价值核算时,存在无章可循,核算难度大的问题{3}。
对于单独购置类软件,其价值核算按照购入成本计算,一般不存在问题。然而对于那些和固定资产一同购入的软件,往往没有区分与固定资产是否可分的不同情况进行处理。如与固定资产不可分的软件,往往作为固定资产管理;与固定资产可以分开的软件,其价值核算需要根据购入时的单独计价成本进行核算。
对于委托开发和自主开发形成的计算机软件,目前国内高校间往往没有统一的价值核算标准。对委托开发形成的软件一般按实际支付的委托开发费用确认为软件资产的价值,而对资助开发的软件,其价值或者成本核算存在很大的差异。
对于受赠的软件,其价值核算往往需要根据该软件是否是商用软件区别对待。
另外,由于计算机软件在使用过程中,存在使用期限或者存在维护和升级要求,需要支付额外费用。因此,在软件资产管理过程,体现与时间效应相关的价值核算方面管理比较混乱。
3.软件资产管理制度欠完善。按照《高等学校固定资产分类与编码》(第3版){5},计算机软件总体分为系统软件、支撑软件、应用软件、测试软件和其他软件等类型,具体来说包括各类操作系统及其补丁程序和硬件驱动程序、程序设计语言、语言处理程序、数据库管理软件、网络软件、电子表格软件、图文处理软件、专业专用软件、应用事务性软件和软件开发工具软件等。上述软件的配置方式又可能包括购置、委托开发、自主开发、受赠等。国内高校目前普遍缺乏不同配置方式下不同类型和功能软件的分类管理制度{6}。
更多的高校由于进行校、院(系)二级管理,针对价值较低的软件或者专门的工作软件, 各个院、系根据自己的需要自行购买或委托开发, 由此存在许多重复的购置和过高的维护成本。另外由于软件的无形特征, 在软件并未过期,但常常会因随依附固有设备的报废而报废,从而导致软件资产的流失。再加上软件的日常维护、版本的更新,使软件登记、价值管理等工作更加困难。因此,高校对软件资产的管理制度化和规范化方面急需改进。
4.软件资产管理模式陈旧和专有人才缺乏。我国高校仍主要以实物管理的模式进行软件资产管理,无法适应计算机软件资产的无形、易复制和时效等专属特征。
软件资产管理的对象既包括购买后存储于某种载体中的软件,也包括被安装在各个计算机硬件中的软件,其存在方式比一般有形资产要丰富得多。大多数高校现有的“一物一卡”、“账实核对”等传统实物资产管理模式显然已无法满足软件资产管理的要求。
软件资产的形成包括购置、委托开发、自主开发、受赠等不同方式,而且软件资产的管理涉及到软件采购(研发)、调剂、升级、维护和报废与删除等全过程。目前国内高校的软件资产管理主要针对购置且具有标价的单一软件,而对其他配置方式形成的软件资产和调剂、升级、维护和报废过程软件资产的变动管理往往是空白。
另外,由于高校设备采购和财务管理部门,往往缺乏软件价值核算和软件资产管理方面的专有人才,在软件的采购、登记、管理和维护等过程力不从心,漏洞较大。
三、高等学校软件资产管理对策
针对国内高校软件资产管理过程中存在的主要困难和问题,参照《中央行政事业单位软件资产管理暂行办法》(国管资[2011]280号)和《行政事业单位国有资产管理办法》(财政部2006令第35号){4}等国家和部委文件精神,考虑软件资产的专属特征,提出如下软件资产管理对策建议:
1.建立健全计算机软件的分类管理制度。根据软件的不同功能特征及其与固有设备(如计算机或固有仪器设备)的依附关系进行分类管理。
对伴随计算机购置的系统软件、支撑软件(包括各类操作系统及其补丁程序和硬件驱动程序)和与专有仪器设备配套的应用软件,其价值需要依附于具体硬件设备才能体现,对于此类软件资产,可采用实物资产管理的现有制度进行管理;对各类可单独购置的应用软件、管理软件和测试软件等,不仅需要根据购置成本进行价值核算,而且需要考虑软件升级和维护过程软件资产价值的变动进行动态管理。
考虑到自主研发、委托研发和受赠而形成的软件资产价值认定和核算方面的复杂性,对该类软件宜与上述购置类软件区别管理。
我国现行的会计准则对软件资产化的认定及价值核算尚无统一规定,可参照《国际会计准则第38号》(IAS38)对计算机软件资产的认定及会计核算问题有关规定,制定切实可行的软件类无形资产有形管理制度。
2.完善软件资产价值核算体系。根据高等学校计算机软件资产的形成方式,建立相应的价值核算和配套的价值管理体系。对于单独购置类软件,依据购入成本进行价值核算;对委托开发形成的软件宜按实际支付的委托开发费用确认为软件资产的价值;对自主开发的软件,不仅应该按照投入的人力和物力进行成本核算,更应正确评估所形成软件资产的可能创造利润、节省投资方面带来的附加价值。
同上段所述,对软件资产,需要根据购置成本、软件升级和维护费用,建立等软件资产价值的动态核算体系。
3.建立软件资产的全生命周期管理体系及其实施细则。在国际上,软件资产管理(Software Asset Management, SAM)有专门的标准“ISO/IEC19770-1”可依。该标准由国际标准化单位(ISO)和国际电工委员会(IEC)联合制定,为指导企业或部门对软件资产的采购、部署、移动、更新、升级、维护、报废及删除等整个生命周期进行有效管理、控制和保护,提供了规范和依据。
事实上,我国最近颁布的《中央行政事业单位软件资产管理暂行办法》(国管资[2011]280号){2},也全面体现上述软件资产开展全生命周期管理的思想。该暂行办法对软件资产管理中授权、配置、使用和处置全过程管理提出指导性的规定,为实现软件资产管理与预算管理、政府采购、财务管理、信息技术管理相结合奠定了基础。
目前,高等学校迫切需要做的是,按照暂行办法的要求,在软件资产界定、入账价值核算、建立软件资产档案管理和软件配置等方面制定切实可行的实施细则,实现软件的配置、使用、保管、维护和处置等全生命周期的管理。
4.加强软件资产管理知识普及和专门人才队伍建设。软件资产管理包括授权管理、配置管理、使用管理和处置管理等过程,需要具备预算、采购、财务和信息技术等多个领域的专业知识和资产部门、财务部门和技术部门的协作。
目前国内高校迫切需要开展软件资产管理知识普及,并培养软件资产管理方面的专有人才,为软件配置、招标采购、验收测试、处置报废等重要环节把关,确保软件资产管理工作规范有效运行。
注释:
{1}国务院机关事务管理局。中央行政事业单位软件资产管理暂行办法。国管资[2011]280号。
{2}郭宁。高校软件资产价值分析及管理模式研究。首都经济贸易大学学报,2007,No.(6):122-125.
{3}中国人民银行乌鲁木齐中心支行课题组。浅析人民银行软件资产的核算与管理。基层论坛, 2011年,No.11:64-66.
{4}财政部。行政事业单位国有资产管理办法。财政部[2006]35号。
{5}中华人民共和国教育部高等教育司编。高等学校固定资产分类与编码(第3版),中国计量出版社,2000.
【关键词】软件工程;项目管理;研究实践
1计算机软件和工程项目管理的基本概念
1.1计算机软件的基本概念
计算机软件其实就是我们所用的计算机系统中的程序和文档,是计算机用户与计算机进行交流的一个载体,整个计算机系统都以软件项目设计为基础依据,以方便客户为目的,通过计算机软件完成计算机系统高效升级。计算机软件是集运行时可以进行计算机程序的功能集合,集合完之后进行信息的处理,最后按照计算机功能要求进行操作程序的一个工具。计算机软件是用户与计算机的各种程序之间进行交流操作的必备载体,是非常重要的。
1.2工程项目管理的基本概念
工程项目管理从大的方面来说是指从事这一项管理的企业,一般是指企业根据业主的要求,以商业合同为基础,对于整个项目的工程建设提供监督和管理。工程项目管理企业只是对工程进行服务,但不直接与进行工程项目承包的企业进行勘察设计等接触,合同的签订也不能由工程项目管理企业与总承包商进行直接的接触。工程项目管理要求工程项目管理企业履行合同上应该履行的义务。但随着中国的经济化发展,我国的工程项目管理企业一般都进行了信息化管理,虽然只是表层应用,但是节约成本,管理更加明确。目前我国比较众所周知的工程项目管理软件有联达、建文等专业软件。对于工程项目管理软件来说就是在进行工程管理时利用软件进行工程的进一步控制。
1.3软件工程项目管理内容
软件工程项目的管理内容就是贯穿在整个软件开发过程中的一些重要流程方面,比如:软件项目开发人员的管理和领导,开发的软件的质量,开发软件的进程规划,开发软件的风险保证,开发软件的评定以及软件配套设施的开发管理都是软件工程项目开发的管理内容。只有人员管理得当,软件开发才能够如期进行完成;对于开发的软件进行风险测试以及各种功能测试管理以后,开发的软件才能够更好的在市场营销,开发的软件质量才能得到保证。所以,软件工程项目管理内容是层层相扣,相互关联的。
2计算机软件工程项目管理中存在的问题
2.1管理团队的协作问题
如果进行团队工作,很容易出现团队人员的专业素质各不相同,团队目标不明确,领导核心不确定,团队间交流不够等协作问题。针对这些团队问题,如何进行管理,这是一个难题。首先团队一定要有一个强大的领导核心,引导团队成员进行软件开发工程的协作,并能确定高效的决策。不同的队员拥有不同的专业素质和专业特长,那么领导人员就可以应用不同人员的素质进行新的软件开发,同时促进团队人员的沟通,一个团队只有沟通在,才能够齐心协力一起进行新软件开发项目,将软件更快的推向市场。
2.2需求分析与实际中业务存在差距的问题
一开始的软件市场需求分析总是会与实际的业务量存在差距。这一问题的出现也基于在对团队成员的现状和理想工作状态上存在差距,从而造成了需求分析与实际业务中存在的问题。针对这一问题,软件开发项目管理团队要进行发现问题,预先分析问题,进行资料收集,最后对比进行解决问题的解决步骤。不管是提前对市场需求估计错误还是软件本身的系统存在问题,一旦发现问题及时修改。一般软件开发人员都是通过找绩效差距,从而发现需求与实际的差距问题,所以,这也就要求需求分析也要考察未来组织需求和工作说明。把软件工作设计和培训就高度结合在一起,进行问题的解决。
2.3风险管理问题
单纯的进行软件的市场推广营销很容易完成资金缺损等任何有风险,损害企业利益的问题出现。很多领导人员不能正确地对待风险,对于风险的预先管理疏忽,风险管理部门设置不齐全,风险管理人员培训素质不高等问题,都有待解决。风险管理的重点应放在风险发生前的预防,而非风险发生后的处理上。进行软件开发工程时,提高经营效率,降低成本,减少损耗,使软件开发环境安全稳定。各开发领导层要加强风险决策性的考量,认真做决策,解决软件开发的风险管理问题。
3计算机软件工程项目管理的对策
3.1软件工程项目风险管理对策
(1)建立完善的风险管理制度只有建立完善的风险管理制度才能够有利于软件工程项目开发的顺利进行。首先,软件企业要建立有效的风险检查与控制制度体系,加强对风险的防范能力,促进软件开发顺利进行;然后,对于软件开发企业要确保内外交流市场信息真实准确,将风险降到最低;最后,再完善软件企业风险分类保障制度,不管是战略风险还是经营风险,财务风险还是法律风险一定要进行相应的制度制约,同时也要将专门的监督人员监督风险制度的完善。(2)定期对计算机软件工程项目管理进行风险控制和识别只有安排相应的人员定期对计算机软件工程项目管理进行风险控制和识别才能够确保将软件开发的风险性降到最低。因为,虽然完善了风险管理制度,但是,有大部分的工作人员仍然会忽略制度的制约,不遵守规定进行计算机软件的开发,不仅容易造成软件设计差,不符合规定等问题,也容易使软件公司造成亏损,这是非常严重的后果。所以,只有安排大量监督人员,设计专门得监督机构,加强管理人员监督培训才能够对计算机软件开发工程进行风险控制。
3.2软件工程项目管理制度对策
(1)建立一个完善的人才管理体系如果软件开发企业要制定软件工程项目管理的制度对策,首先要想到的就是要通过制定考核制度,制定人才规划以及制定薪资制度等来建立一个完善的人才管理体系。无论是通过各种不同的岗位工作的工作性质与工作难度进行划分,制定不同的考核制度,督促软件开发人才更好发展;还是通过优胜劣汰的人才规划,对岗位的需求量与富余量进行相应的调整人才还是储备人才,都要进行完善的,严格的人才管理,从而建立一个完善的人才管理体系。(2)加强计算机软件工程项目管理学习计算机软件项目的开发不仅需要管理人才得制度培养,更需要加强计算机软件工程项目管理的人才的专业素质培养,即让他们进行计算机软件工程项目管理的相关知识学习,完善自身的专业素质,提升管理人员的软件工程项目管理能力,确保计算机软件开发工程的顺利进行,使新开发的软件更快更安全的推向市场。(3)严格执行奖惩制度优胜劣汰是职场不变的原则,奖罚分明也是督促职场人员工作能力的最直接的手段。对于计算机软件工程项目管理来说也不例外。软件开发公司应该制定相应的奖惩制度。不管是物质的奖励还是精神上的奖励。不管是被开除还是进行反思的奖罚制度都要严格执行,只有这样做,才能够促进相关职员的工作积极性和工作认真程度,才能够确保计算机软件开发顺利进行,软件更快走向市场,有更大的需求量。
3.3软件工程项目合作管理对策
(1)建立完善的沟通制度软件开发工程项目的工作人员也要进行沟通,才有利于职员的分工合作顺利进行。相关管理部门可以完善沟通制度,在规定的时间点让全体管理人员进行座谈会交流,不仅能够不进职员的感情,也能够让职员相互熟悉,在工作上互帮互助,促进计算机软件工程项目管理工作的顺利进行。(2)分工清楚对于计算机软件工程项目管理来说,它是由很多方面结合在一起的,不管是软件工程的风险性管理还是软件性能的测试管理还是软件系统升级检验的评估管理都需要相关的专业人员进行分工。只有进行清楚的分工使每个职员各司其职,各尽其能,发挥自己的专业特长对不同的管理内容进行监督管理才能够确保计算机软件工程项目管理各项工作有条不紊的进行。(3)增强团队合作积极性一个团队只有团队成员的合作积极性高,才能够有动力进行工作,才能够有效率的完成工作。尤其是软件开发这一项比较高端,精密的工作,更容易造成职员脑力和体力的劳累。企业应该进行引导,使职员之间相互鼓励,相互帮助,相互帮扶,并通过休息时间的一些合作互动等,增强计算机软件工程项目管理团队的合作积极性,促进软件开发工作的顺利进行。综上所述,软件工程项目管理对于计算机软件开发工程有些至关重要的作用,只有保证软件工程项目管理制度的完善和风险的保障以及管理人员的专业素养高,才能够使软件开发工程顺利进行。针对如何提高软件项目管理这一问题,虽然相关人员找到了完善人才管理体系,增强团队合作意识等相关对策,但是这一些还远远不够,需要相关人员更多的研究和努力,促进计算机软件开发工程项目的顺利进行,加快软件上市的速度,更好的造福于人类。
参考文献:
[1]郑凌。浅谈软件项目管理[J].木工机床,2006.
[2]欧毓毅。“软件项目管理”的课程教学探索[J].广东工业大学学报(社会科学版),2008.
[3]付雄,王汝传。“软件项目管理”课程的教学实践与思考[J].计算机教育,2009.
[4]黄国芳。软件项目管理中常见问题的分析及其解决方案[J].科技广场,2010.
记者:请您简要概括一下,最近一段,围绕我国软件保护的讨论主要集中在哪些方面?
唐广良(以下简称唐):从各种讨论会以及各种文章所反映的情况来看,软件保护所涉及的,既有老问题、也有新问题。像软件保护条例与著作权法的关系及其协调、软件的合理使用就属于以前已经涉及的老问题;而网络环境下的软件保护、源代码开放、证据采集与提供等则属于最近一段时间广为关注的新问题。
合理使用的困惑
记者:人们看到,在有关软件条例的争论中,最引人注目的就是关于软件的合理使用。一些学者直接对软件条例的合理使用制度提出了严厉的批评。并有不少人就此提出,要适度保护知识产权、依法防止与制止知识产权滥用等主张。那么,软件条例在这方面究竟有哪些值得关注的特别之处?
唐:相对于旧条例,新的软件条例针对合理使用的规定确实进行了重大修改。但也不像有的人所理解的,软件的合理使用归于不存在。
记者:2002年10月最高人民法院公布了一个司法解释,其中有关条款被认为是对软件合理使用范围的扩大。为此,不少人认为,有关软件的合理使用,存在着著作权法、软件条例与司法解释三者并行并冲突的局面。对此应该如何理解,并如何处理有关冲突?
唐:实际上,不论是新条例将合理使用缩减为一条,还是最高人民法院司法解释仅将商业使用视为需要承担民事责任的行为,都在某种程度上加剧了软件开发商与私人用户之间的对立情绪,无助于解决长期以来存在于中国的软件价高与盗版问题。
我们认为,《著作权法》上规定的合理使用条款并没有使私人使用盗版软件成为合法行为,因而软件开发商根本没有必要刻意推动在软件领域适用不同的合理使用规定。另外,现实地看,尽管私人用户是某些通用软件的巨大用户群,软件开发商也不可能通过司法程序迫使数以百万计的中国私人用户众停止购买盗版软件,只要市场上有人出售。有鉴于此,应在总体上适用著作权法关于合理使用的规定,消除社会公众在软件条例实施方面的对立情绪,并显示中国在此问题上与国际社会的普遍做法一致,不搞特殊化。
记者:合理使用往往与盗版软件的使用连在一起。在不少人看来,只有严格合理使用,打击私人购买、使用盗版软件,才能真正解决软件保护问题。对此,您如何看待?
唐:我们发现,在过去的讨论中,不论倡导强化软件保护的人,还是呼吁反对软件霸权的人,都有意无意地将问题的焦点集中在了私人身上。这恰恰是导致问题不能获得妥善解决的根源。
在任何法律制度之下,权利人都不可能、也不应该将不特定的社会公众作为其行使权利加以对抗的对象。我们不赞同以不特定多数私人为指控对象而展开的侵权与否的讨论。
为此,我们应该达成这样的共识:具有商业规模的非法复制是最严重的软件侵权,为营利目的而销售非法复制的软件是使软件权利人遭受损失的直接原因。这些应该成为打击软件盗版的重点。
关于暂时复制
记者:几年来,许多人都在讨论暂时复制问题。对此我国法律没有做出明确规定,学界的讨论似乎也没有形成共识。请您对此做一些解释和评价。
唐:至少在发达国家看来,只要是未经许可的复制,不论是暂时的还是永久的,原则上都应被禁止。同时,符合法律规定的例外条件时,暂时复制则可被视为合法,并构成对著作权的限制。
与前一个问题遇到的情况一样,不少学者讨论暂时复制问题时,所关注的往往是私人上网过程中的暂时复制。而发达国家法律所关注的,则是商业运营者行为。例如,美国的数字千年版权法专门规定了在线服务的版权责任限制,但只字未提网络用户。同样,欧洲及日本在考虑暂时复制问题时,也没有将个人的上网行为纳入考虑的范围。
记者:那么,有关暂时复制的制度与计算机软件保护有什么关系呢?
唐:涉及计算机软件的暂时复制问题,目前在我国尚不突出。但随着网络速度的大幅度提升,在不久的将来,计算机用户将不再需要在其本地硬盘上安装应用软件,仅需安装系统及网络支持程序即可。在此基础上,大部分应用软件都可以通过网络在各种远程服务器上运行。到那时,软件的使用过程都将变成暂时过程,即用户开机上网后,将远程服务器的软件调入内存运行。这种软件使用模式正是促使软件开发商关注暂时复制问题的根本动力。
在这种软件使用模式之下,如果我们还坚定地认为,所有关机即无的暂时复制都不属于著作权意义上的复制,将使未经许可而使用他人软件成为完全合法的行为,而且不论使用者出于私人目的还是商业目的。这肯定是不公平的。
技术措施保护的误区
记者:在网络环境下保护著作权,技术措施一直是一个重要问题。我国法律对此已有明确规定。但不少人还是提出了不同的意见。您对此有何看法?
唐:我国现行著作权法第47条规定,未经著作权人或者与著作权有关的权利人许可,故意避开或者破坏权利人为其作品、录音录像制品等采取的保护著作权或者与著作权有关的权利的技术措施的,属于著作权法规定的侵权行为。该条规定出台后,引起了许多学者的异议。
这样的设计的确存在一些问题。第一,将规避技术措施的行为列入侵权行为,存在着逻辑上的错误。第二,仅仅规定规避技术措施的行为人承担法律责任,并不能完全达到保护技术措施的目的,因而算不上适当的法律保护和有效的救济措施。第三,没有为规避技术措施的行为规定明确的合理例外,可能影响公众合理使用作品的权利,并剥夺公众购买信息产品时的选择权。
记者:保护技术措施又如何可能影响社会公众利益呢?
唐:首先,用以控制进入或获取作品、信息的技术措施是多数著作权人或信息提供者都希望采用的。使用技术措施使未经许可的公众无法进入相关的信息源,无法了解该信息源中的信息。而要想获得进入的许可,社会公众通常要向权利人或内容提供者支付一定的费用。这就等于,在根本不知道里面有什么的情况下,社会公众就必须向权利人支付费用。这显然是不合理的。
另外,一些技术措施可能并不影响合法用户对相关作品的一般意义上的使用,但却使用户无法了解作品的详细情况,剥夺了合法用户的知情权。更重要的是,技术的进步和社会的发展都需要信息的沟通。这就要求,在适当保护知识产权的前提下,所有的信息都应当是公开的。技术措施的采取则有可能使阻碍信息沟通,从而使许多人从事大量重复劳动和投入,造成社会资源浪费,妨碍社会的整体发展。
记者:这一问题该如何得到妥善解决?
唐:为了最大限度地避免技术措施可能带来的负面影响,包括美国在内的国外立法已经制定了相关法律,为规避技术措施的行为规定了许多不构成违法的情形。
中国现行著作权法仅仅规定,法律、行政法规另有规定的除外。但在法律已经修订了两年之后,这种另有规定仍然没有出现。我们希望,这一问题应该引起足够的重视。
开放源代码及相关问题
记者:近来,自由软件、开放源代码成为软件产业界的焦点话题。请您介绍一下这方面的情况。
唐:根据自由软件联盟(Free Software Foundation,简称FSF)的解释,所谓自由软件并非免费软件,而是指用户可以自由运行、自由拷贝、自由散发、自由研究和自由改进的软件。FSF在倡导这些自由的同时,并不反对向使用人收取费用。
自由软件的前提是程序源代码的开放,即任何人都能获得计算机程序的源代码(高级语言源程序)。没有源代码开放,也就没有自由软件。
记者:它给人的印象是,自由软件对软件著作权保护形成冲突;而开放源代码必将对软件市场开来深远的影响。您如何看待这一问题?
唐:与我们已经熟悉的著作权(copyright)相比,FSF使用一个与其相对抗的、杜撰的词汇copyleft描述自由软件的保护模式。 Copyleft通常是由软件开发人或FSF组织制定的通用许可条款,其中包含获取、运行、研究、改进及再次散发相关软件的条件及一些限制。在FSF组织看来,copyleft所包含的限制的目的是为了保护所有用户的自由。
事实上,不论是自由软件,还是开放源代码软件,都不是不主张权利、不收取价款的免费软件,而是在自由、开放等诱人用语带动下,试图通过低廉的价格与超大规模的用户群体相结合以获取利益的商业运作策略。如果说最初由黑客组织倡导的自由软件确有让全体用户免费使用软件的想法,那么FSF倡导自由软件的真实目的则仅剩下了软件快速传播的自由。
记者:那么,开放源代码对于软件用户可能会产生哪些影响呢?
唐:对于专业(商业)用户而言,开放源代码有好处在于两个方面:一是可根据自身的需要随时修改程序;二是了解和研究软件本身,并有可能在所购买的软件的基础上开发出适合自身需要的新软件。
不利影响是:根据GPL与OSI安排,基于自由软件或开放源代码软件开发出来的新软件也必须适用相同的许可条件,即允许其他人自由复制和修改。
记者:开放源代码对于普通私人用户会有什么影响?
唐:对于私人及家庭用户而言,开放源代码应无任何实际的好处。
开放源代码的直接后果是软件复制与修改的自由,继而是传播的自由。从表面上看,这样的结果可能使私人用户更容易地获得其所需要的软件,甚至如大多数中国私人用户所期望的那样,免费获得所需要的软件。但在一个任何软件都有可能被做任何修改的环境下,私人用户将面临一种可怕的危险:即实际得到的软件并非其所期望得到的原版软件,而是经过无数人修改的软件。这样的软件不仅不能满足用户的需求,而且有可能因为被恶意修改者加入了侵略性代码或病毒,使用户遭受无法挽回的损失。
由于经过了不确定的人的修改,原始软件开发商已经不再对其承担任何安全性与可靠性担保;软件一旦出现问题,用户将无法找到为损害性后果承担责任的人。
所以,我们必须明白无误地告诉社会公众:在许多情况下,自由与开放源代码的软件就是无人担保的软件。
记者:开放源代码对于软件开发商、尤其是中国的开发商会产生什么影响?
[关键词] 项目管理 软件需求开发 进度 成本 质量 管理模型
一、引言
软件需求开发是软件工程的一个重要环节,在软件生命周期中的需求、设计、编码、测试和维护等各个阶段中,需求开发处于软件工程的开始部分,它提供构建软件项目的根基,决定软件开发成果满足客户需求的匹配程度。软件需求开发环节的失误会随着开发进度的扩大而蔓延,资料表明,软件项目中由于需求开发管理混乱而造成的返工开销几乎占了总开发的50%。本文应用项目管理理论分析软件需求开发阶段的系统构成,并设计管理模型来提高软件需求开发的管理效率。
二、软件需求开发管理过程
由于计算机技术的迅速发展,使得软件需求具有模糊性、不确定性、变化性、主观性等特点,并带来软件需求开发管理的复杂性。软件需求开发是一定的组织利用有限的资源在规定的时间内完成,可以作为项目来进行管理,其管理过程由需求获取、需求分析、编写软件需求规格和需求验证四个阶段构成。
1.需求获取
需求获取是在问题和最终解决方案之间架设桥梁,其主要任务是和用户方的领导层、业务层人员进行沟通,获取用户的具体需求,并了解用户的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等具体情况,同用户建立起良好的沟通渠道和方式。软件需求获取的方法有:与用户交谈,向用户提问题;参观用户的工作流程,观察用户的操作;用户工作的情景分析;现有系统的问题报告和改进要求,事件和响应;市场调查和向用户群体发调查问卷;与同行、专家交谈,听取他们的意见;分析已经存在的同类软件产品,提取需求;从现有产品或竞争产品的文档中提取需求;从行业标准、规则中提取需求;从 Internet上搜查相关资料等。
2.需求分析
需求分析主要通过建立业务模型的方式来描述用户的功能需求,为客户、用户、开发方等不同参与者提供一个交流的渠道。业务模型可以映射出软件产品的核心需求,即功能需求。功能需求应描述软件提供的功能和服务、对输入的响应,并描述特定条件下的系统构成等。软件产品本身可能还存在与业务无直接关系的非功能需求,具体与系统的总体特性有关,如可靠性、响应时间、存储空间等。非功能需求定义系统提供服务或功能的约束,包括时间约束、空间约束、开发过程约束及应遵循的标准等。通常这两类需求构成软件需求的总集。
3.编制软件需求规格
软件需求规格的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础,需求分析完成的标志就是提交一份完整的软件需求规格说明书。软件需求规格说明书以一种开发人员可用的技术形式阐述软件必须提供的功能和具备的性能,以及必须考虑的限制条件。软件项目客户通过软件需求规格了解软件项目能够提供的软件产品,检查软件需求是否满足需要;项目管理人员根据软件需求规格制定项目的开发计划和管理过程;软件开发人员通过软件需求规格理解要开发的产品及具体要开发的内容;软件测试人员通过软件需求规格验证软件。
4.需求评审
编写的软件需求规格说明书还应当进行需求评审,确保需求确定的科学性。可采用下列指标进行评审:(1)正确性:每条需求都正确代表构建软件系统所要完成的事情。(2)无歧义:每条需求只有一种解释。(3)完备性:需求不能发生遗漏,应全面考虑相关问题。(4)一致性:用户需求必须和业务需求一致,功能需求必须和用户需求一致。(5)重要性和稳定性分级:现有资源不足以实现所有需求时,可以根据级别的高低决定实现的先后,舍弃一些级别低的需求以保证项目的按期交付。(6)可验证性:需求分析是可测试的,只有系统的所有需求都是可以被测试的,才能够保证软件始终围绕着用户的需要,保证软件系统是成功的。(7)可修改性:每一条需求都易于完整一致的进行变更,且不改变需求集的结构和风格。(8)可跟踪性:每条需求都是可溯源的,且存在一种机制使得在以后的工作中引用需求是可行的。(9)可理解性:用户和开发人员都完全理解需求集的整体行为、所提供的功能及其中的每条需求的含义。
三、软件需求开发管理模型
1.软件需求开发管理模型构建原则
软件需求开发是一项复杂的系统工程,管理模型的构建应遵循下列原则:(1)程序性原则: 软件需求开发管理应遵循固定的业务流程,可将其划分为需求获取、需求分析、编写软件需求规格和需求验证四个阶段,前一阶段的工作完成后才能进入下一阶段。(2)系统性原则:软件需求开发要在限定的时间、成本条件约束下达到一定的质量,实现软件系统的最优,要求管理遵循系统管理原则,实现目标最优。(3)简化性原则:化繁为简,将模糊的、潜在的复杂问题明确化,以图表的形式表示出,并以简化的解决方案解决问题,便于项目管理。(4)平衡性原则:管理软件需求开发的具体事务要有一定的侧重。对于需求开发过程事项,应根据影响大小分清主次,关键的事项或者事项里的某个多发问题点,着重管理,达到在管理上的主次平衡。(5)高效性原则:模型的设计必须以促进需求开发目标的实现为前提,提供给相关人员一个展示需求开发管理和有效解决方案的平台。(6)时时控制性原则:及时控制需求开发过程中影响进度、成本、质量等问题,及时发现解决冲突事件,做到事前、事中、事后控制,保证项目按时保质保量完成。(7)动态性原则:开发中应关注信息技术的发展,将先进的技术应用到软件需求开发中,并学习借鉴相关软件需求开发的成果。
2.软件需求开发管理模型
基于以上分析,本文构建了软件需求开发管理模型,见下图:
该模型遵循了软件需求开发的管理流程。启动阶段,软件开发进行了可行性研究,软件项目已立项,项目正式启动。软件需求开发管理阶段是模型的主要部分,按照项目流程,依次划分为需求获取、需求分析、编写软件需求规格和需求验证四个阶段。总结阶段,对软件需求开发管理进行总结,并进入到软件程序设计阶段。模型的核心部分是应用项目管理的进度管理、成本管理、质量管理,对软件需求开发进行动态管理。进度管理就是制定出经济合理的进度计划,然后在计划执行过程中,检查实际进度与计划进度之间的差异,并及时找出出现差异的原因,采取有效的补救措施,以确保项目按时按质完成。进度管理应加强沟通,掌握可能延误进度的环节,并严格控制进度变更。成本管理就是对项目所需的成本情况进行详细地分析和估算,编制资源需求计划,并编制项目所需的成本估算和预算,在执行过程中,采取相应的措施对项目成本进行控制。成本管理应严格控制加班、浪费等额外支出。质量管理是为了保证项目的可交付成果能够满足客户的需求,围绕项目质量而进行的计划、协调和控制等活动,其具体内容涉及质量规划、实施质量保证和质量控制。通过进度管理、成本管理和质量管理,使软件需求开发成为进度快、成本低和质量合格的有机统一体。
该模型规范了软件需求开发的业务流程,并在整个软件需求开发的不同环节之间建立联系,明确需求开发过程与自身各任务项之间以及项目其余环节所存在的各种联系。模型各环节间的相关性、可追溯性保证了软件项目需求开发过程,可以遵循统一的管理模式。该模型具备可配置性。每个软件项目,都具有个性化管理需求,在进度管理、成本管理、质量管理等方面有不同的要求,可以针对具体的开发团队,项目要求,管理侧重点,扩增相应的管理模块,将此模型推广到任何一个软件需求开发项目。
3.模型应用
由于软件需求开发具有复杂性,其主要表现为需求描述问题,明确表达需求较难确定,并且难以统一;需求完备问题,需求没有遗漏,难以准确划定系统范围;需求的变更问题,需求变化是永恒,需求不可能是完备。模型应用需做好以下工作:(1)文档化管理。需求必须有文档来记录,该文档必须是正确的,是经过验证的,是在受控的状态下变更的。开发或管理人员常常会在含糊的情况下把认为是相对简单的需求忽视而省略文档记录,其实未必简单,只有想清楚、写清楚、说清楚才说明已经真正把需求整理清楚了,同时方便日后维护工作的展开。需求含糊的情况下要进行会议形式处理,并邀请相关人员参加进行需求澄清及确定,需求在进行多方确定后进行归档。同时软件需求的复用率也是相当高的,可以避免升级时重新将需求再次获取,只需要在原来的基础上作为文挡需求复用升级处理。(2)审核评估需求变更,减少变更的影响。在管理软件开发过程中,需求渐变是必然的,无论需求变化的程度如何,只要需求变更就必须进行评估。在需求变更之前必须由项目管理人员审核,再传给开发人员进行评估等工作。管理人员必需依据对整套系统的了解程度分析需求变更过程中可能受影响的系统及受关联的功能模块,并制定积极应对措施。(3)整体管理。应识别、确定、结合、统一与协调软件需求开发管理过程中所需要进行的各种过程和活动,保证进度、成本、质量等各要素的相互协调。
四、结语
软件需求开发在软件项目管理中具有重要地位。本文应用项目管理理论,设计了软件需求开发管理模型。该模型遵循项目管理流程,将软件需求开发划分启动、需求开发过程、总结三个阶段,并将软件需求开发过程划分为需求获取、需求分析、编写软件需求规格和需求验证四个阶段,模型应用项目管理的进度管理、成本管理、质量管理,对软件需求开发进行动态管理,实现软件需求开发项目目标最优。该模型能够提高软件需求开发管理效率,确保软件开发能够按进度,低成本,高质量地完成。
参考文献:
[1]景慎艳:软件项目需求管理的探索与实践 [J].电脑知识与技术,2008(27)
[2]左怀远:软件项目中的风险管理研究[J].世界科技研究与发展,2008(3)
[3]孙琦龙:加强软件项目管理的实践模式[J].科技信息,2008(7)
关键词:制导武器系统软件;软件开发模型;瀑布模型;敏捷模型;智能模型
引言
随着制导武器装备向数字化、信息化、智能化、通用化程度的不断提高,在高新制导武器装备中的软件正面临着巨大的挑战,其研制周期越来越短,同时软件质量也越来越高,这迫使制导武器装备系统中的软件研制必须采用更高效、更规范的软件开发模型,才能满足这两方面的要求。在软件工程发展完善的过程中,形成了许多种软件开发模型,几种常见的软件开发模型有:瀑布模型、增量模型、敏捷模型和智能模型。每种开发模型都有其优缺点,各自的适用范围也不一样。对于不同的软件系统,可选用不同的软件模型,也可根据待开发软件的特点,选用多种模型相结合的方式。本文以一个典型的制导武器系统软件承研单位的软件开发过程为例,提出了一种不同研制阶段采用不同软件开发模型进行软件开发的方案,并详述了具体的实施过程。
1制导武器系统软件特点
制导武器系统软件属于军用型号项目的配套软件,软件规模大多为中小型,其特点如下:软件研制周期长,研制分阶段进行;软件安全性和重要性等级高;研制任务紧,必须按时完成开发任务、及时列装使用;软件专业性强、实时性要求高,涉及知识面广,开发复杂度比较高;软件需求变化大,软件更改频繁。
2软件开发模型研究
本文实例是某制导武器系统总体单位(文中称A单位),负责某型制导***军用型号项目配套软件研制。该型制导***型号项目的研制工作分为三个阶段进行:方案阶段(原型样机)、工程研制阶段(初样阶段、正样阶段)和设计定型阶段。在每个阶段,软件研制工作的要求和目的都不太一样。因此,该项目的配套软件研制开发工作也分为三个阶段进行,与型号项目的研制工作阶段保持一致,即同样分为方案阶段、工程研制阶段和设计定型阶段。针对A单位软件研制特点,本文提出如图1所示的软件开发模型与型号项目研制阶段的对应关系。2.1方案阶段软件模型项目的方案阶段也是软件研制的起始阶段,在这个阶段软件开发人员对系统需求和软件需求理解不明确、不充分,理解无法一步到位,再加上用户需求在此阶段变化大,因此,软件项目组采用敏捷开发模型进行软件开发,首先第一步是在一个比较短的周期内,快速交付一个满足基本功能和性能要求的、可进行全弹地面系统联调联试“原型机1(软件)”。然后,通过节点评审会,用户提出反馈意见及修正需求,开发方进一步明确需求,进入第二个开发周期的迭代。通过不断迭代,软件开发人员进一步明确、完善软件需求,对软件架构设计、详细设计不断更改。软件设计实现过程,是基于原型机的迭代过程。详细实施过程如下图图2所示:2.2工程研制阶段软件模型工程研制阶段(初样阶段和正样阶段),就是在原型机的基础上做适应性修改。相对而言,软件人员对系统和软件需求的理解比较到位,用户需求变更减少,软件主体已经形成,基本功能和部分性能已经实现。因此,在此阶段,可采用瀑布模型与智能模型相结合的软件开发模型进行软件开发工作。由于A单位软件开发基础薄弱,软件工程化管理正处于起步阶段,选用瀑布模型相对比较容易操作、维护和管理。型号项目软件开发前期大部分需求已确定,软件的开发可以按照瀑布模型的固定顺序有计划的开展工作。以文档驱动的瀑布模型,极大程度上减小了在较长软件研发周期中,因技术人员时有变动所带来的开发风险,保证了软件的可靠性、稳定性。同时,制导武器系统配套软件还具备涉及知识面广,专业性的特点,涉及的知识领域包括:惯性导航技术、制导控制系统设计和数字处理器原理等。而软件开发人员并不是这些领域的专家,为了保证武器装备的正常使用,必须在使用瀑布模型进行软件开发的同时还要融入智能模型的核心思想,即在软件开发过程中引入专家系统/知识库的支持,以指导软件开发人员在软件开发过程中以专家的水平解决专业性强的、复杂的问题。瀑布模型与智能模型的具体应用如下图3所示:图3瀑布模型与智能模型相结合应用示意图2.3设计定型阶段软件模型在项目设计定型阶段,全弹状态(包括各配套软件)基本已固定,全弹主要进行地面试验和飞行鉴定试验,对于软件来说,主要工作为完成软件第三方定型测评。在此阶段,软件的变更较前期阶段减少很多,除非软件第三方定型测评发现问题、设计定型阶段大型试验定位的软件问题以及用户需求变更(极少发生),才会导致软件更改,因此采用瀑布模型的简化版“维护模型”,不仅保证了软件的质量,又降低了软件开发成本。维护模型的分为:维护分析、维护实施、确认测试和维护验收评审四个阶段。第一个阶段主要是针对出现的问题进行需求和设计改动分析;第二个阶段执行软件修改;第三个阶段进行软件回归测试;最后一个阶段进行维护总结。
3结语
本文创新性地提出了一种基于制导武器系统软件不同研制阶段采用不同软件开发模型进行软件开发的方案。此方案已经在A单位某制导***型号项目上成功应用,保证了项目研制工作的顺利进行,有力的保障了软件和武器系统质量。2015年7月,以该型号为GJB5000A的试点项目,A单位顺利通过了总装GJB5000A评价组《军用软件研制能力成熟度模型》二级正式评价。通过此方案的成功应用,可以得出以下结论:(1)合理制定软件开发模型,使软件开发活动科学、有序的进行,对提高软件开发效率,降低开发成本和风险,有效保证软件和武器质量发挥巨大作用;(2)对于不同项目或同一项目的不同阶段,可使用一种开发模型,也可多种模型互相结合;(3)为后续项目提供了技术基础,后续项目可在应用中不断探索如何取得最佳效果。
参考文献:
[1]韩鹏。小规模团队的敏捷开发研究[J].软件学报,2012,1(2):12-15.
[2]邵山,付塍强,姚方圆,郑义。敏捷开发在战机飞控系统软件研制中的应用[J].计算机应用与软件,2015,32(1):44-46,54.
[3]田丽从,李铁牛,彭宏。中小型企业软件过程改进方法研究[J].计算机应用与软件,2011,28(4):208-211.
[4]杨萍,周云成,郭丹,朴在林。软件工程中主要开发模型的比较分析[J].鸡西大学学报,2008,8(1):86-88.
[5]张友生,李雄。软件开发模型研究综述[J].计算机工程与应用,2006,42(3):109-115.
[6]刘伟群,李雄。新型软件开发模型比较[J].现代计算机,2005,(10):69-72.