绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇软件管理论文范文,希望它们能为您的写作提供参考和启发。
1精度、重复性和精密度的定义
精度、重复性、精密度是任何测量系统的性能特点。
重复性是重复测量结果的一致性(参见图1)。
精度是测量结果与真实性的接近程度。可以认为是重复测量结果和真实值的差值平均值平均值。
精度度是提测量结果可读的位数。
一个机器视觉系统(如iGauge)可以返回7位测量结果,但是只有重复性和精度检测能告诉这些数字有多少有意义的。在该例中,精密度是通过精度和重复性所决定的,因此我们没必要进一步讨论精密度。
2精度和重复性的确定
机器视觉测量系统在图像的ROI、镜头以及相机已经选定并且已固定时,可以根据物理单位(如微米)确定精度和重复性。因为iGauge的镜头以及ROI可以有一定范围的变化,因此我们必须根据象素(当物体在FOV中时图象的一元素的尺寸)确定精度和重复性。
如果知道以下条件,便可以估计精度和重复性。
(1)FOV(可以被相机看到的面积)以及相机的图象传感器中元素的数量。根据这些你可以以物理单位来计算相应的象素尺寸。
(2)测量系统的精度以及重复性(比象素来测量)。
如:用一个相机拍摄一个6英寸长的FOV,对应的象素尺寸为6/640=0.094英寸。如果象素的精度为1/2,那么我们可以测量到0.0047英寸。
3iGauge的工作过程
为了有效的利用测量零件、尺寸、孔等。首先应进行如下工作:
(1)选择合适的光源清楚的表示你想测量的东西。
(2)选择合适的镜头以及工作距离(从镜头到被测物体的距离)以提供一个最佳的FOV。一个最佳的FOV包括被测零件的面积以及允许零件移动和配准的一点范围。
(3)用适当的夹具将零件固定在相机的FOV内。
2、验证和显示控件的实现过程
为了解释验证和显示控件的实现过程选用系统用户登陆模块为例。该模块为系统软件初始页面用来验证用户信息。用户通过输入用户名、密码和验证码来登陆本系统。验证码使用系统随机生成的图片来完成,验证码保存在用户的SESSION当中,当用户的信息和数据库中数据完全对应的情况下,运行用户跳转到主页面,同时用户的各个信息也保存在该用户的SES-SION中。为了用户密码的安全性,密码的保存形式使用MD5加密方式。同时输入信息的三个文本框使用AJAX技术实现了用户输入信息的提示工作。该模块的功能有:系统用户登陆与系统用户验证的功能。系统用户登录页面代码:为。其中CS文件中引用了系统的几个必要的命名空间。登录部分通过控件建立面板,通过作为用户名、密码和验证码的输入框同时设置AJAX事件,实现输入不能为空等基本客户端验证。验证码的图片通过控件引用来显示随机的验证码图片信息。为了解释页面布局框架的实现过程选用系统主界面模块为例。该模块工作主界面如图1-2所示,各模块主要功能包括:学籍信息查询模块,主要实现学生成绩查询和学生学历查询两个子模块功能;学籍信息输入模块,主要实现教学计划的输入和学生信息的输入两个子模块功能;系统管理模块,主要系统用户管理和系统预设两个子模块功能。
2关于零件出库信息的简介
当一个采区的机器需要更换某个零件时,应该相应地让此采区的仓库内存在此零件,那我们就会遇到以下几种情况(见图2):(1)此采区仓库没有这个零件且其他采区仓库也没有这个零件,那么我们必须首先把此零件信息录入完整后,再在机器信息表中输入更换的零件名称、零件更换数量以及更换的时间。(2)此采区仓库没有这个零件但其他采区仓库有此零件,那么我们必须把其他采区仓库内的此零件调用到此采区仓库内,再在机器信息表中输入更换的零件名称、零件更换数量以及更换的时间。这就是一个完整的出库过程,在此过程中我们只需要输入需要更换的零件信息,其余的操作同样由软件在后台为我们执行。同样减少了面对冗杂的表格,也可实现对仓库内零件数量的精确管理。
3关于生命周期需求的简介
对设备的管理最注重的就是零件的生命周期,因为这直接关系到一个产品的质量。当我们能追踪统计到一个零件的生命周期,我们就可比较哪家厂家的零件质量更好,使用周期更长。从长远来看选择质量较好的厂家也能为我们企业的纯利润做出贡献,实现企业的现代化管理水平。生命周期的统计是通过追踪出库过程实现的,在同类机器中同一个编号的设备如需更换同类型设备,都会产生一条记录。那么我们可根据这条记录查找到最近一次更换的时间,那么用今天的时间减去最近一次更换此零件的时间,就会得到这个零件的生命周期(一个零件的生命周期=同类型零件替换它的时间-此零件安装的时间)。在生命周期的计算过程中,我们必须纵向的比较设备的编号、设备的类别(在这里主要区分柴油、电瓶单轨吊)、零件名称、零件所属大类、零件更换时间(见图3)。只有在同一台设备上并且我们所换的零件是一致的,软件经过后台运作才能把得到的结果反馈给我们。为了能得到打印版本,我们在设计之初就要求能通过数据库的输入、输出流,把数据库的记录导出来(以Excel表格的方式)。不论是我们要求查询的结果,还是数据库内所有的记录,都能以Excel的方式导出到我们指定的文件夹内。
随着各类嵌入式系统和现场总线的蓬勃发展,组态软件越来越成为工业自动化系统中的灵魂。它在实时数据存储、检索和图形显示及人机对话等方面都具有独特的效果。但是组态软件的脚本语言非常简单,在数据处理、算法实现等方面相对薄弱。这从一定程度上限制了组态软件在工业自动化中的应用。
Matlab作为一款优秀的数值计算软件,提供了应用于信号处理、工业控制、应用数学等各个领域的工具箱,但是它对运行环境的要求非常高,而且占用了庞大的系统资源,生成实用的人机对话界面的能力不强。
为了开发出具有友好人机对话界面、实现多种控制算法并完成实时数字信号处理的组态软件,可以使用Matlab进行数值计算,将处理后的数据传输给组态软件进行人机对话界面开发,以此发挥它们各自的优点。这样,开发软件之间的数据交换和处理就成为问题的关键。
本文根据Matlab和应用非常广泛的组态软件In—Touch提供的编程接口和数据通信协议,提出了一种使用DDE和COM技术进行组态软件开发的方法。
1基本思路与系统构架
动态数据交换(DDE)是一个由Microsoft开发的通信协议。该协议允许在Windows环境中的应用程序之间彼此发送/接收数据和指令。它在两个同时运行的应用程序之间实现客户服务器关系。服务器应用程序提供数据并接收对这些数据感兴趣的其它应用程序的请求。发请求的应用程序叫做客户。InTouch可以利用Microsoft的DDE与其他Windows程序通信,并可同时作为客户或服务器程序。
Matlab提供了多种混合编程的方法,但是这些方法大都不能脱离Matlab的运行环境,也不方便其它应用程序调用。为了摆脱Matlab运行环境,并在其基础上进行功能模块设计,方便其它应用程序调用,MathWorks公司推荐使用COMbuilder在Matlab环境下开发COM。COM是ComponentObjectModule的简称,它是一种通用的对象接口,任何语言只要按照这种接口标准就可以调用它。
这样,可以使用Matlab开发COM组件,在VC下开发DDE服务程序,使其与InTouch进行数据通信,而这个DDE服务程序调用Matlab开发的COM进行数值处理和算法实现。在实际工业自动化的组态软件开发中,可以使用VC进行数据的采集、命令的发送和复杂的流程控制;使用Matlab下开发的COM完成复杂的算法实现和数字信号处理编程;在InTouch下实现人机对话界面并接收使用者的命令。具体的系统构架如图1所示。
2应用实现
WindowsDDE功能应用的核心是DDE事务管理库(DDEML),它负责管理Windows操作系统下应用程序间的DDE会话和通信,还向用户提供了一系列的应用程序接口API函数。
DDE实现程序间的通信是通过三个标识约定的:
应用程序名(Application):进行DDE对话双方的名称;
主题(Topic):被讨论的数据域;
项目(Item):被讨论的特定数据对象。
在DDE服务程序中首先使用DdeInitialize进行初始化,然后调用DdeCreateStringHandle建立应用程序名、主题和项目等标识的句柄,再通过DdeNameService在操作系统中注册DDE服务程序的名字。根据这些句柄,客户程序就可以使用它提供的DDE服务了。在VC++中的程序实现如下:
#include<ddeml.h>……
DWORDidInstc=0,iData;//iDate是项目对应的数据
HSZhszSvr,hszTopic,hszIrem;
DdeInitialize(&idInst,(PFNCALLBACK)DdeCallback,CBF_
FAIL_EXECUTES┃CBF_SKIP_ALLNOTIFICATIONS,0L);
//建立应用程序名、主题和项目等标识的句柄
hszSvr=DdeCreateStringHandle(idInst,“DDEApp”,0);
hszTopic=DdeCreateStringHandle(idInst,“DDEAppTopic”,0);
hszItem=DdeCreateStringHandle(idInst,“DDEApphem”,0);
//在操作系统中注册该DDE服务
DdeNameService(idInst,hszSvr,0L,DNS_REGISTER);
……
DDE服务程序的核心部分是一个回调函数,它处理所有DDE消息及相应数据请求。DDE服务程序回调函数的代码如下:
HDDEDATACALLBACKDdeCallback(WORDusType,WORDusFmt,HCONVhConv,HSZhsz1,HSZhsz2,HDDE—DATAhData,DWORD1Datal,DWORD1Data2){CHARsz[5]
if(usType==XTYP_CONNECT){//得到连接请求return((HDDEDATA)TRUE);
}
//校验主题、项目的句柄及数据格式
if(hszl==hszTopic&&hsz2==hszItem&&usFmt==CF_TEXT){
if(usType==XTYP_REQUESTusType==XTYP_ADVREQ){//得到数据请求
_itoa(iData,sz,10);//将数据转换为文本格式
returnDdeCreateDataHandle(idInst,(LPBYTE)sz,
strlen(s2)十1,0L,hszItem,CP_TEXT,0);
}
if(usType==XTYP_POKE){//得到客户端发送来的数据
DdeGetData(hData,(LPBYTE)sz,strlen(sz)十1,0L);
iData=atoi(sz);//保存数据
DdePostAdvise(idInst,hszTopic,hszItem);
return((HDDEDATA)DDE_FACK);
}
}
return0;
}
在任何需要向DDE客户端发送数据时使用Dde-PostAdvise触发XTYP_ADVREQ,从而达到向客户程序发送数据的目的。
在InTouch的标记名字典中定义I/O类型变量,以此调用DDE服务程序发送过来的数据。在声明I/O类型的访问名时只要确定DDE服务程序的应用程序名、主题名和项目名即可。
组态软件中的数值计算和实时数字信号处理部分在Matlab中实现并以COM组件的方式提供。这个部分的关键是Matlab下M文件的编写、COM组件的形成和DDE服务程序中对COM的调用。
COM组件实际是一个C十十类,但接口都是纯虚类,组件从接口派生而来。在Matlab下通过键人comtool启动combuilder,根据提示设置类的名字和一些其它选项。为这个类添加方法(methods)通过向工程中添加M文件实现。这个M文件不是脚本文件而是函数文件。添加属性(Properties)则是在M文件中通过Global定义。至于事件(events)则需要用到语法%#event。举例说明如下:
%mymethod.m文件源代码%myevent.m文件源代码
functionmymethodfunctionmyevent
globalmValue;%#event
……
将以上两个文件添加到这个工程中则添加了一个方法mymethod、属性mValue和事件myevent。通过编译生成一个d11文件。这个dll就是COM的形式。
在VC中调用此COM与调用其它COM是一样的,所不同的是需要在VC的工程中包含Matlab提供的文件,具体操作是在Includefiles中添加<Matlab>\externclude\和<Matlab>\externn\cpp,在Libraryfiles中添加<Matlab>\extern\win32和<Matlab>\extern\win32\Mi-crosoft。
Combuilder也提供了COM组件的打包工具,它生成一个自解压文件,通过它实现必要的DLL安装和COM注册。
在DDE服务程序中调用COM组件进行数值计算和信号处理并向InTouch提供DDE服务,在InTouch中通过调用DDE传来的数据充实人机对话界面并接收操作者的命令以完成系统的功能。
1.2可以对业务流程进行优化,以便标准化管理物资采购工作:结合统一的物资供应管理标准业务流程模板,所有实施ERP的单位需要对物资供应管理体制进行理顺,对物资业务流程进行规范。在供电企业物资供应管理工作中,来组织、设计和实施ERP系统,可以重新整理和优化采购组织架构,以便对采购以及计划等岗位制衡机制进行较好的规范,促使物资的标准化管理得到实现。
1.3可以将材料消耗给真实反映出来,对企业成本核算进行规范:通过全面推广和应用ERP系统,电力企业物资部门在物资管理中,长期实行的计划价格计价方式就可以被抛弃掉,将移动加权平均价应用到物料主数据价格中,随着采购价格的变化,来更新和调整物资库存和物资供应,从而一致于市场价格,可以将库存物资价值给真实反映出来,这样使用单位的成本核算就可以更加顺利的开展下来,将材料消耗成本给真实的反映出来。
1.4可以更好的控制和管理供应商,对物资采购渠道进行规范:通过实施ERP系统,事前控制可以得到有效的实现。采购人员将申请提出来,物资管理部门进行线上审批和监控,采购人员方可以将采购订单创建于系统中,进而实施采购行为,这样对于那些随意网外采购行为,就可以进行较好的控制。另外,通过ERP系统的实施,可以实时监控相关数据,以便经营者做出更加科学的决策,同时,也可以共享库存信息,可以在SAP系统的任何终端上查看电力企业库存地的库存状况。
2.ERP系统软件在某供电企业物资管理中的应用
供电企业结合自身的实际情况,在ERP物资管理模块实施中,将自己的特点充分体现了出来:
2.1实施统一的物料编码及主数据管理:为了保证系统中的物料等公用基础数据是准确和规范的,更好的集中管理和维护物料主数据,本电力公司将物料主数据申请、审核以及维护的相应操作流程实现于SPA系统中;结合物资本身的属性来进行物资分类,对物资标准进行了合理制定,在物料编码的过程中,借助于物料的基本特征来进行区分,为了避免一物多码问题的出现,在分类的基础上,还给出了物料特征,利用这些特征,确定出来的物料都是唯一的。因为电力行业涉及到较为繁多的物料品种,如果细化管理,就会有较为庞大的物料编码,因此,将10位流水码应用到物料主数据。
2.2集中化的业务流程管理:在物资管理流程中,关键用户和实施方结合国网典设,进行调研分析以及蓝图设计之后,删减和修改了典设的流程,最后确立出来了30个业务流程,与公司物资管理特点所符合,如库存管理、采购管理、主数据管理等等,对系统中每一个角色的工作内容以及传递流程进行了明确。
2.3根据不同的项目类型自动生成不同类型的采购申请:在物资采购环节中,采购申请发挥了巨大的作用;项目部门借助于SAPPS模块,就可以将采购申请自动生成,标准配置只能够对一种类型的采购申请进行生成,但是在实际的业务流程中,需要结合项目类型,生成差异化的采购申请,并且对不同的审批策略进行配置。本供电企业在ERP物资模块的实施过程中,通过一系列的强化措施,结合项目类型,可以对对应的采购申请进行自动生成,并且依据采购申请单据类型,来进行后续配置。
2.4采购申请中采购策略的维护:在采购环节中,非常重要的一个依据就是采购策略,采购策略会对采购申请的审批流程起到决定作用,并且还会影响到后续的采购方式,因此,本供电公司在ERP系统的实施过程中,依据物资类别来对采购策略进行维护。本电力企业结合国网公司的相关规程,来对集中采购目录进行确定,如果在集中采购目录中,采购申请物料主数据的物料组为集中采购,那么就由省公司来对采购方式、供应商以及价格等统一确定,集中采购使采购业务做到真正的公平、公正、高效而及时。
2.5对相应的管理体系进行完善:为了能够正常运转ERP系统下的物资管理系统,就需要大力进行ERP系统相关的组织机构和制度建设。如今随着互联网技术的不断发展,软件技术已经取到了很多的人工工作,但是因为ERP系统的研发技术还不够成熟,那么在供电企业运转中,就需要对相应的管理体系进行完善。要对原始信息以及信息传递渠道进行规范,促使一线信息采集的真实性和准确性得到保证,对数据采集和录入制度进行规范,在制度流程方面,需要规范各种原始单据、报表以及其他信息的各种数据,对标准进行细化。
2软件安全的现状
2.1人们的认知
随着黑客攻击的新闻时常见诸媒体,人们对计算机安全问题有了一定认识。但不幸很多计算机安全人员和计算机教育培训人员都忽视了软件安全的问题。一味地推崇某种软件平台是安全的,单纯大力增加对网络安全硬件和软件的投入,这些做法是盲目甚至荒谬的。一切安全性都不是静态特性,也没有任何软件是绝对安全的。软件安全问题的关键节点是软件的设计。
2.2软件安全设计的先天不足
世界上知名的软件厂商并不是不了解软件安全设计安全性的重要性,而是商业模式让软件安全方面存在着先天不足。稍纵即逝的商业机会、敏捷的软件开发过程和短暂的软件开发周期使得安全性方面的设计在很多时候都是被舍弃的。随之而来的处理方式则是常见的penetrate-and-pach方法,即不停地补丁。这种做法从长远来看,其成本与作用远不及一开始就做好安全性的设计和审计。
3软件安全设计应引入风险管理
从项目管理的角度看,风险指损失或损害的可能性。软件项目涉及到的是:项目中可能发生的潜在问题和它们如何妨碍项目成功。风险管理则是对应软件项目生命周期内的风险的科学和艺术。软件安全性的设计与软件设计的其他一些质量性能是互相抵触的,例如冗余性、高效性。而软件开发过程中的风险管理与软件开发的诸如时间、范围、成本等因素也是相互抵触的。但是绝不能因为这些可能发生的抵触行为而放弃对安全性和风险管理的考虑,反而应该将软件安全性设计纳入到风险管理的范畴中去。事实表明,93%的失控项目都忽视了风险管理。
4软件安全设计风险管理的实施
目前国际上对软件安全方面的风险管理存在着一个共同的认知,那就是采用高质量的软件工程的方法论可以在一定程度上解决这方面的问题,欧美一些国家也在试图制定或修订相关的一些“通用准则”来指导软件安全性设计的实践。但是这只是从科学技术方面做出努力,我们可以学习借鉴。而在管理技术和艺术方面需要做出的努力则应该尝试本地化做法。完整的风险管理的过程应该包括以下几个环节:风险管理计划的编制、风险识别、风险定性分析、风险定量分析、风险应对计划编制和风险监督控制。将整个流程都走完的项目和企业都不多,一般来自于所谓的学院派。而时下大多数国内外企业的做法是将这个7个流程简化为谁来识别风险、谁来对风险负责这两个环节。原因则是上文所提到的先天不足所致。从技术上讲,风险管理的效益来自于潜在风险最小化和潜在回报的最大化。而这个技术的应用则一定需要经历风险定量分析的过程。在这个过程中,可以使用的主要技术是决策树分析、蒙特卡罗分析、PERT分析等等。这些技术都是建立在一定的数学和会计基础之上。而令人遗憾的是,很多决策者本身对这些技术的认知或理解欠缺,以至于会抵触这种方法。大多数做法是采用小团队开发小软件的做法,即采用访谈和敏感性分析来帮助风险定量分析。然而我们并不是要反对这种简化做法,只是一定不能在简化的做法之上再次简化或敷衍了事。首先要做的工作是做好需求管理,在建立一组需求输入的时候,一定要将安全性作为一个重要需求考虑进去。有一个比较好的方法是,在软件设计时采用螺旋模型,需求的输入可以在螺旋模型的各个生命周期中进行,而有关安全性的需求输入则最好是在最初的一个螺旋中进行。之后要做的工作是确定最大风险。不可避免的要使用风险定性和风险定量分析的各种技术和方法。这个工作一定要有软件设计师、项目决策者和用户的参与,采用头脑风暴和专家访谈是不错的选择。而这个工作恰恰是现实生活中中小企业乃至客户最容易忽略的。企业要考虑成本问题,而客户的参与往往难以落实,认为软件的设计和开发应该由软件公司负责,客户付款只关心最后软件是否可以使用。而一旦由于软件安全性问题造成了一定后果后将演变成各种纠缠不清的官司,这是企业和客户都不想看到的结果。
软件需求说明书得到客户正式签字确认表示项目需求分析阶段结束,之后我们开始创建工作分解结构WBS和制定详细软件开发项目进度计划。在成本估算中,工作量估算是它的基础,是项目成本管理的关键,我们对工作量的估算主要采用基于历史绩效数据库和个人经验的估算方法。对于每项活动来说,都是先确定人员,然后对活动本身进行详细分析,必要时查看公司软件开发项目历史绩效数据库,最后为各项活动建立了依赖关系,明确了各项活动的前置任务,活动开始时间和结束时间。对于一些比较难把握其历时的活动,我们在工作量估算上为其分配了3倍以上的工作量。另外,对于项目组来说,人员流动不大,在WEB应用开发上已经有一定的项目积累和团队合作基础,因此,我们有大量可供复用的东西,如公共基础代码包,权限管理模块等,这些都是我们在工作量估算中需要考虑的因素。
1.2有效管理和控制风险
项目软件开发过程中,发生风险事件往往会引发项目成本增加或超支,所以在项目中我们对项目风险进行了必要的管理。作为项目经理,应当也是项目风险管理的第一责任人。项目经理要做好风险管理,应当具有较强的责任心、较强的对内、对外的协调和沟通能力和较好的专业和管理理论知识,另外,还要有较强的观察和分析事物的能力及较强的自信心和较好的创新能力。为了让项目组整体在各个阶段保持良好的风险意识,我们把项目中各主要风险事项公布出来,主要有以下风险:需求和范围界定不清;用户参与不足;计划不充分;缺乏领导支持;技术问题等。通过以上方法,我们看到了很明显的效果。比如说公司领导开始关心项目组的活动,参与到项目组每周的评审会议上,对项目组表示了极大的支持;在与客户的沟通上,我们与客户方主要项目负责人进行了面对面的沟通,并定期把风险事件列表发给客户方项目负责人。通过各种途径的风险预防措施,项目组整体信心十足,积极性和责任感增加。
1.3成本跟踪和控制
在软件开发项目的实施过程中,一定要对成本进行跟踪和控制。在水漆网项目的实施过程中,根据员工周报,我们对已完成的项目可交付物进行了严格的质量控制,实时更新了软件开发项目绩效报告。利用公司内部的项目管理分析系统,以月为单位输出项目月报,定期更新项目的进展及成本情况。根据由项目管理分析系统从财务部门统计汇总的实际成本支出与项目成本预算管理计划进行对比,执行偏差分析,通过阶段绩效报告利用挣值管理进行绩效测量。根据阶段绩效报告计算实际成本AC支出,再根据成本估算结果获取该阶段投入的计划成本PV,利用绩效报告在成本基准计划中已完成工作的总预算成本EV。通过偏差分析和挣值分析技术计算CV、CPI,判断项目的成本执行偏差率,对项目进行阶段的绩效评估。对成本超出的原因进行分析,采取针对性的预防和纠正措施。
软件无线电是一种无线电通信新的体系结构。在1992年5月美国电信系统会议上,JeoMitola首次提出了软件无线电概念,之后迅速引起了人们的关注,并开始对它进行广泛而深入的研究。具体地说,软件无线电是以可编程的DSP或CPU为中心,将模块化、标准化的硬件单元以总线方式连接起来,构成通用的基本硬件平台,并通过软件加载来实现各种无线通信功能的开放式的体系结构。它使得通信系统摆脱了面向设计思想,被认为是无线通信从模拟到数字、从固定到移动之后的又一次突破。
在软件无线电的研究过程中,调制解调技术是移动通信系统空中接口的重要组成部分。在不同的蜂窝半径和应用环境下,移动通信的信道呈现不同的衰落特性,根据移动信道的衰落情况,自动地改变调制方式,从而提高传输效率并保证传输性能。那么,一个通用的信号源是必不可少的。
图1多制式信号发生器硬件原理图
作者设计了一个基于DSP+DDS结构的可编程调制器的硬件平台,并在此硬件平台上实现了各种模拟调制和数字调制的通用软件算法。当改变调制制式时,无需再次下载程序,而且调制制式、比特速率、输出中频均可调。
1硬件结构
通常,信号源输出的波形多数是对周期的01序列进行调制,输出波形单一,只能作为解调输入信号的一种特例,缺少通用性。而许多专用芯片采用的调制方式也是有限的。用DSP+DDS构成的通用多制式信号发生器不仅可以实现模拟调制,而且可以实现各种数字调制。DSP利于基带信号的实时处理,可以实现高速调制,而DDS具有频率分辨率高、频率变化速度快、相位连续、易于数字控制等特点。图1给出多制式信号发生器硬件原理图。
信号发生器主要由三部分构成:控制单元、数字信号处理器(DSP)、正交数字上变频器(QuadratureDigitalUpconverter)。
DSP采用TI公司的TMS320VC5402,它独特的哈佛结构、硬件密集型方案和灵活的指令系统可以满足对信号的实时处理,它的高性能、低功耗及低价位使其得到广泛应用。
正交数字上变频器采用AD公司的AD9857。AD9807最高工作频率为200MHz,输出中频频率范围为0~80MHz。AD9807内部集成半带滤波器、CIC(ascadedIntegratorComb)滤波器、反SINC滤波器、高速的14位是一个相位连续的直接数字频率合成器DDS(DirectDigitalSynthesizer)。在该方案中,AD9857工作在正交调制模式。它的32位频率控制字使输出频率的最高精确度为:SYSCLK(系统时钟)除以232。
控制单元决定采用哪一种调制制式、比特速率及输出中频频率。
DSP读入控制单元的数据,然后经过串口向AD9857发送控制字。原始信息数据(是由DSP产生的伪随机序列)首先在DSP中进行编码、调制等处理后得到基带信号。基带处理得到正交信号的I/Q分量交替进入AD9857,经过串并变换,转换成两路并行的I/Q数据,进行内插和上变频运算,然后通过D/A变换直接输出模拟中频信号,从而将基带处理和中频调制合二为一。
AD9857对输入的数字信号进行采样和内插,降低了DSP的处理负担,使整个系统的性能达到较好的程度。
2软件算法
软件无线电具有完全的可编程性。它采用数字信号处理技术,在可编程控制的通用硬件平台上,利用软件来定主实现无线电台的各部分功能,包括对无线波段、信道调制、接入方式、数据速率的编程等。因此通过程序进行控制和操作,是软件无线电最突出的特点之一。软件算法的设计直接关系到电台软件的实现。软件无线电台对信号的处理都是实时的,因此对算法的时间及空间的复杂性都提出了很高的要求。
为节省有限的DSP运算资源,软件无线电软件算法研究中大量采用查表法来提高处理速度,通常在调制过程中使用波形存储法。编写软件算法程序时,只要某一调制方式及其对应的输出状态数目是有限的,就可以借助表法来实现。查表法避免了大量的中间运算,简单易行,唯一的缺点是占用了大量的存储空间。因此,需要建立一张通用的表格,该表格存储了经过量化的14位有符号的二进制数。表格的设计应达到查表过程简单,同时满足不同的调制方式。用这个表还可以实现正弦函数的计算,只需将当前相位移相π/2。
除了一张通用的余弦表,针对不同的调制方式还需分别建立对应的调制星座图映射表,按照调制方式分类组成一个相位表格库。对于差分相位调制,该表格为差分相位表格。当调制方式确定后,根据得到的码元,查表计算当前相位Φk。
图2以(π/4)DQPSK调制方式为例,介绍差分相位调制软件算法。数字存储区存储的是一个周期的余弦函数波形样点,设存储区的采样点数为N,表格的移动步长为d。原始调制每两个比特一组,通过表1中的调制星座图映射成差分相位ΔΦk与前一码无的相位进行模2π相加得到当前码元的绝对相位Φk,计算Φk在余弦表中的偏移地址,根据偏移地址调制信号的数据。
设f(i)=cos(id),其中0≤i<N,d=2π/N
那么,当前相位Φk(0≤Φk<2π)的偏移地址为:Φk×N/2π。
(π/4)DQPSK对应的绝对相位Φk的可能取值有:0°、45、90°、135°、180°、225°、270°、315°。如果N=144,即d=2.5,则Φk在余弦表中对应的偏移地址为:0°、18°、36°、54°、72°、90°、108°、126°。
表1调制星座图
xk0011
yk0110
Δφk-135°135°45°-45°
1经营决策阶段的成本及其控制
经营决策阶段成本是指公司经营方向的选择,这是成本管理的第一个也是最为核心的环节。不过对于大多数IT软件业公司而言,这个阶段往往是最大的问题之所在,有时经常凭一个觉得是灵感的想法或者对市场初步的直观层面的调研就进行的决策。而这样的结果是往往没有摸透市场的真实情况,轻率上马项目,造成方向性错误,以至于导致企业的危机。
该阶段的成本控制,关键在于经营决策前科学而深入的市场调研及准确分析,目前很多中小型IT软件企业,其经营部的职员大多都并不是社会调查专业的,因而他们做市场调查的过程中所采用的方法不太科学,如在样本选取及抽样过程不合理,没有按照严格的社会调查方法进行调查和数据分析,甚至问卷设计都存在倾向性导致调查数据信度偏低。此外,大量的公司自我宣传的各种形式的软文和竞争对手有意的攻击性文章夹杂在其中,并不是很容易的进行分辨,更何况数据的随意性,来源的不可追溯性各种情况,所以只能作为参考。
2需求整理及分析确认阶段的成本及其控制
需求整理指市场经营人员根据高管对于市场方向的决策,而提出的具体的产品或者项目的原始需求,需求分析是指技术员对市场部门的需求进行分析,评估其可实现性以及实现难度,大致工时等,提交相关需求分析报告,最后市场经营部门进行确认这个阶段。
该阶段的成本控制,首先需要搞清这种沟通过程中产生偏差的原因,最为主要的往往并不是技术语言和市场语言的差异,或者市场人员和技术人员之间的思维定势的差异,而在于两者缺乏确定的科学的流程和在交流之前的准备以及相关概念约定俗成的定义造成的问题,同时还由于沟通和确认环节由于其特殊性,经常难以被有效的纳入进度管理程序流程当中。而提高该阶段的成本控制效率,必须逐一针对性的解决以上问题,首先要清晰的确定并严格执行市场和技术沟通的流程,尤其是要明确每个环节的控制点,也就是双方交付给对方的关键交付物,一定要有清晰的共同确认的模板,同时每次沟通前必须对于一些概念有着清晰的界定,然后公布这些信息,并在沟通前做好充足的准备,明确每次沟通前要沟通什么,要解决哪些问题,沟通结束后要交付哪些文档让双方进行确认等,同时一定要通过线上或者线下的管理模式,讲所有沟通环节全盘把握,并纳入进度管理。
3规划阶段成本及其控制
规划阶段成本是指在需求已经得到确认后,进入技术规划阶段的相关成本控制,该阶段有些软件开发公司常常出现的问题是对于规划予以过度的期望和过于沉重的内涵,在实际项目操作过程中,这个规划实际上包含着技术规划和非技术规划两个部分,因为对这两个部分的混淆,导致一些技术层面和市场层面的东西不必要的纠缠在一起,并且直接导致项目进度的拖欠,而且会导致由于非技术规划的不清晰,直接影响技术规划层面的实施。
该阶段的成本控制,必须清晰的区分非技术规划和技术规划,尤其在公司内部技术部门和市场经营部门之间的职责,需要设立一个在提出需求到技术规划之间过渡的位置,即对于需求具体细节的整理,要对于交付物有着清晰的确定,尤其是在不同时期交付不同的关键文档,如除了上面说的那六个文档外,技术部项目组长在需求分析的时候,还应该明确提交功能模块分析,开发代价,功能流程图,功能关联性图,可维护性及可拓展性分析等六个文档,此外在项目开发规划阶段,还要对于控制点的一些要素进行详细的规划用来提交给市场部门,如详细页面元素,页面元素价值度分析,表现形式,页面结构,页面效果等。
4开发阶段的成本及其控制
开发阶段的成本指需求确定并且规划清晰后的具体开发过程的成本管理问题,该阶段相对其他阶段来说比较清晰,但这里笔者认为需要关注的是,如何使得人力资源得到最大程度的利用,它是指公司第一线技术人员的能力最大程度发挥的状态,包含几个层次,(1)全部时间利用,(2)最大效率利用,(3)最大潜力激励利用,这三步需要逐步递进实现。这个需要一种完善的内部管理制度,以及公平公正的价值认定模式和绩效制度,从而一方面促进员工本身的发展,一方面增加对人才的吸引力。
该阶段的成本控制,可以引入最大可控制成本的概念,这里是指人力资源最大程度发挥后所能控制的成本,是公司在一定投入前提下,最大的可能的减少因管理导致人力发挥不足够而造成的成本,该成本为人力资源的极致成本,无法再进一步降低,此成本状态下的仍然出现效益不佳情况,则可说明在经营定位和经营方向上的问题,而非内部问题。促使人力资源得到最大利用度和发挥度,在此基础上的成本,为最大可控制成本,以上可以通过内部的管理系统来很好的实现。5需求变更成本及其控制
需求变更成本指在开发过程中,由于市场部门的需求改变导致的成本增加而实施的控制,对于项目开发的过程中,需求的频繁变更就成本控制而言是致命的,很多项目由于需求的变更而导致破产。
该阶段的成本控制,最关键的是要对于需求变更过程进行严格的管理,要从需求变更的开始,对于整个变更的每个具体的步骤进行跟踪,并且严格核算每次变更所需要的工作时,从而做好评估。同时,务必要明晰需求变更的必要性和风险性,以及所带来的实际成本的增加,所以需求要尽量经过详细的论证。
6测试成本及其控制
测试成本指项目开发完成阶段,在交付验收前进行的测试过程中导致的成本及其控制,测试阶段对于一个项目的最终交付具有重大的意义,往往在测试阶段要才是使得项目真正完善的阶段,很多细节的修补都在测试阶段完成,正是测试使得一个项目成为一个可以交付,可以应用,可以产生效益的产品。但对于一些中小型软件开发公司而言,往往缺乏真正建制齐全的测试部门和专业测试人员,经常是技术人员进行兼任,这种方式相当普遍。但同时也导致了一些问题,主要是对于测试缺乏经验积累管理,或者说是错误管理,经常上次测试完出现的问题,过段时间又会出现,或者是开发下个项目的过程中又再次出现,增加不必要的成本。
该阶段的成本控制,笔者认为最关键的是对测试进行错误管理模式,采取“有错必改,凡错必究,错不再犯,预错于先”的管理办法,尽量在项目开发之前,就能整理出之前开发中出现过的所有问题,并用列表的方式进行技术会议,让所有开发人员进行错误共享,尽量把测试中可能出现的问题消灭再开发阶段,另外需要把测试过程化、即时化,每周甚至每天都要求每个开发人员在交付自己的子模块的之前就暗中预先准备的测试手册进行测试,通过后再提交,同时定时抽查某些核心功能模块,进行某个点的测试,这样全过程的控制,会最大程度的减少测试成本,同时要加快反应速度,一发现开发中,或者测试过程中的相关问题,必须跟进彻底解决,并纳入绩效考核中,杜绝再犯。
参考文献
近年来,我国软件业虽然取得了长足的发展,但是与一些软件大国如美国、日本和后起之秀印度相比仍有较大的差距,没有真正实现产业化、规模化、正规化,主要表现在以下几个方面:
第一,我国软件业属内向型,主要是国内市场,而国外市场份额较小,且是先国内后国外。《2002年中国软件产业发展公报》调查结果显示,2002年全国软件企业行业共完成软件及系统集成收入1100亿元,出口创汇仅15亿美元,占总额的十分之一左右。
第二,我国软件企业缺少核心技术。主要产品是各行业在信息化建设中基于系统平台的各种应用系统和对于系统网络与信息安全方面防范病毒、黑客攻击的查/杀工具软件,而像操作系统、数据库管理系统等系统软件则极少。如Linux,虽然已进入企业级应用,但也只是在服务器领域里取得了进步。
第三,软件企业规模较小。《2002年中国软件产业发展公报》调查结果显示,我国共有4700家各类软件公司,其中,50人以下的企业占67%左右,50~200人的占26%左右,1000人以上的软件企业则非常少。
第四,软件企业正规化程度差距较大。我国具有CMM认证的企业为数极少,且通过CMM认证的最高级别仅为四级,如深圳华为公司。而全印度取得软件CMM5级认证的软件企业有40余家,有的企业还同时拥有ISO9000、希格玛等国际认证。
第五,软件企业的产业化程度较低。我国的大多数软件公司还处于“手工作坊”阶段,尚未形成规模化生产,缺少较规范的软件过程监控、质量管理、文档管理等。
这其中影响的因素很多,有内部因素,也有外部因素,有经济体制问题,也有企业内部管理问题,如政府对软件企业的投入、指导和各种优惠政策,教育体制和社会教育机构对软件从业人员的教育、培训,软件企业内部的资金和人力资源管理等等。笔者认为,制约我国软件行业发展的一个重要因素就是软件人才问题,以下将着重讨论企业的人力资源管理问题。
一、构建软件企业合理的人才结构
2002年,全国软件产业从业人员59万人,其中高学历人才的比重较大,研究生共43208人,占全部从业人员的7%;本科生共196151人,占全部从业人员的33%;大专生共99431人,占全部从业人员的17%。
现阶段我国软件人才结构呈现为“抛物线型”,说明软件人才结构极不合理。一方面是对技术水平要求较高的系统分析员和有丰富经验与行业背景的项目策划、管理人员较少;另一方面则是从事软件编程等基础工作的软件程序员、软件配置员和软件操作员即“软件蓝领”严重缺乏。目前,我国软件企业竞争能力差的一个因素是产品成本太高,质量欠佳,这也是软件企业难以形成产业化的重要原因。现在一个学软件的研究生月薪在1万元以上,一个大学本科生月薪在2000~6000元之间,这样高的代价必然给软件企业带来产品的高成本,使企业的产品无法与其他国家竞争。所以,降低软件企业劳动力的成本是提高企业竞争能力和把企业办大办强的当务之急。
由于软件企业规模都非常小,因此分工不可能特别细。然而软件产业规模化是一个必然的趋势,软件产业发展到一定程度的时候,就会形成规模,软件人才分工也会细化。细化便于科学化管理及降低成本,即便于利用不同层次的人才结构,有效合理安排使用人才,实现人力资源优势最大限度地发挥,进而降低劳动力成本。
在我国软件企业中,处于中间层次的本科程序员数量居多,他们从事简单的编码工作,一方面使得软件的人力资源成本居高不下,直接影响软件产品的竞争力,另一方面又造成人力资源的浪费。而他们作为系统分析员,管理经验和知识技能还有欠缺,不能够胜任项目的规划设计工作,从而影响软件企业本身的发展。一些软件企业提出“非研究生不进”,对低层次“软件蓝领”人才不屑一顾,这实际上造成了人才的一种极大浪费,因为分工细化后的软件产业恰恰需要大量从事一线编码工作的软件工人。
理想的软件人才结构构成应该是“金字塔”型。处于顶层的、具有国际战略眼光的项目高级管理人才以及能够进行软件整体开发设计的系统分析员,这部分人将决定我国软件产业发展的方向和水平,决定我国将来在国际软件产业链中的地位。处于“金字塔”中间的“中端”软件人才是高级程序员,他们是我国当前软件人才存量的主体。最后,我国还需要大量处于“金字塔”底层的从事软件编码等初级工作的程序员,这是我国软件产业发展实现产业化的基础所在。不同层次的人才可以完成不同层次的工作任务,合理科学的人才匹配既可以做到人尽其用,又能使高级软件设计人员得到解脱,投身到更多的软件开发、设计工作之中,从而为公司创造更多更大的利润。
二、加强软件从业人员职业培训的必要性
软件企业中软件从业人员的职业培训是不可或缺的,它的必要性表现在以下几个方面:
1.软件科学技术不断发展的需要
在微电子性价比18个月、软件9个月就要更新换代的今天,软件企业必须与院校和其他社会培训机构建立紧密合作关系,及时获取最新、最实用和最前沿的软件动态信息,与时俱进,让企业员工掌握最新的软件行业发展动态,以利于企业的健康发展。
2.企业不同时期完成软件工程项目的需要
基础编程人员的工作任务是完成一个个基础程序模块的编制,而不同软件公司在不同时期,软件产品也不一样,每个基础程序模块所需要的知识和编程语言也不尽相同。软件企业中的程序员在企业工作一段时间后,还必须进行培训,补充新知识,以适应IT行业的发展。
3.软件企业人才培养和人才结构调整的需要
软件企业人才的成长和培养过程都基本遵循这样一个模式:学习实践再学习再实践。通过学历教育或职业培训,学员掌握了软件编程的基本知识和技能,进入软件企业,在初级的职位上工作;通过一段时间的工作实践和在职短期培训,逐步提高自身的技术水平,成为中高级软件工程师;通过参加更高级的培训,进一步提高自身的水平,承担更为重要的工作。
软件企业为确保自身处于质量——成本坐标系上的最佳位置,就必须形成“项目经理系统分析员高级程序员基础程序员”的合理化人才结构。只有通过各种方式培训,才能建立起一支适应企业发展的职工队伍。
三、软件从业人员职业培训的方式和途径
目前社会上存在的软件人才培训方式有学历教育和非学历教育两种。正规院校的学历教育是我国目前软件人才培养的主要途径;而社会上各种非学历软件人才培训项目则是层出不穷,对传统软件人才培养起到了很好的补充作用。它们差异较大,各有优点和不足,适用于不同层次的软件人才培训需求。
1.高级软件人才培训有多种不同的培养模式,如工程硕士方式、第二学士学位方式和其他专业学生转向软件专业方式,其培养对象主要是一些有软件开发经验、需要继续深造的软件人才。定位于技术教育的学历教育,主要依托高等院校对学生进行系统全面的培养,有着良好的基础教育和理论教育,但周期较长,费用较大。
2.中层软件开发骨干培训主要依靠社会培训机构进行在职培训。规范的社会培训机构的在职培训,由于和软件企业有着良好的沟通,所以能够制定合理的人才培养体系,可根据软件企业的实际需求制定培养方向,周期较短,费用较低。
3.低层软件技术工人培训主要培养软件技术工人,可以通过社会培训和中等职业教育两种途径进行。由于基础的软件开发和编程是实践性和规范性很强的工作,注重于动手能力,需要在实际软件工程项目实践中得以锻炼,所以通过有针对性的在职培训可以大量培养低层软件技术工人。
多媒体应用软件的创作工具(AuthoringTools)用来帮助应用开发人员提高开发工作效率,它们大体上都是一些应用程序生成器,它将各种媒体素材按照超文本节点和链结构的形式进行组织,形成多媒体应用系统。Authorware、Director、MultimediaToolBook等都是比较有名的多媒体创作工具。
1.5多媒体教学的基本模式
教学模式是指完成教学任务的教与学的一种范式,它包括教的模式和学的模式及有关的教学策略。
(1)课堂演播教学模式(课堂讲解教学模式)这种教学模式在课堂教学中主要有两种方式:教学呈现和模拟演示。
(2)个别化教学模式个别化教学模式的多媒体课件一般包括:介绍部分、教学控制、激发动机、教学信息的呈现、问题的应答、应答的诊断、应答反馈及补救、结束。
与个别化教学模式相对应的多媒体课件有两类:多媒体教材和教辅类电子读物。
(3)计算机模拟模拟教学模式所涉及的问题有:基本模型、模拟的呈现与表现问题、系统的反应及反馈。
(4)探索式教学模式探索式教学模式一般由以下几个环节组成:确定问题、创设教学情境、探索学习、反馈、学习效果评价。
制约因素主要有:漫游(Wandering)和迷向(Disorientation)。
(5)协作化教学模式
(6)基于因特网的远程教学模式
1.6多媒体计算机教学系统
一、多媒体计算机教学硬件环境
(1)课堂演示教室
(2)网络教室
(3)现代教学资源中心与电子阅览室
(4)校园网
二、多媒体计算机教学软件系统
(1)多媒体素材制作软件
文字处理:记事本、写字板、Word、WPS
图形图像处理:PhotoShop、CorelDraw、Freehand
动画制作:AutoDeskAnimatorPro、3DSMAX、Maya、Flash
声音处理:UleadMediaStudio、SoundForge、CoolEdit、WaveEdit
视频处理:UleadMediaStudio、AdobePremiere
(2)创作工具
编程语言:VisualBasic、VisualC++、Delphi