引论:我们为您整理了13篇软件开发论文范文,供您借鉴以丰富您的创作。它们是您写作时的宝贵资源,期望它们能够激发您的创作灵感,让您的文章更具深度。
篇1
关键词:动调式陀螺;井眼轨迹;空间曲线积分法;陀螺测斜解释平台
0引言
为提高油气井利用率和开发效果,地质部门在开发过程中,经常在原井眼基础上进行开窗侧钻,对井眼轨迹的准确性提出了更高的要求。以往由于受仪器精度及设备技术条件限制,井眼轨迹的测量结果往往存在较大偏差,从而影响了对地层的正确评估。所以,为了提高侧钻井的成功率,就需对某些老井复测井眼轨迹[1-2]。本文采用动调式陀螺仪进行井眼轨迹测量,为匹配仪器测量精度,测试数据处理采用空间曲线积分法,实现井眼轨迹空间展布的精细描述,开发出对应测斜资料分析方法与解释平台,为老井轨迹复测、侧钻井等提供实施依据。
1陀螺测斜仪
常用2种陀螺测斜仪测量井眼轨迹。一种是框架式陀螺测斜仪[3],其原理是利用高速旋转的物体具有定轴性的原则实现方位测量,由于高速旋转的运动存在摩擦力,容易产生漂移,而且这种因漂移而产生的偏差会随着时间而增大。另外,框架式陀螺无法直接测量方位,需要在开始测量前用人工确定正北作为基准,这样容易带来人为误差。由于框架式陀螺测斜仪的漂移偏差无法预测和克服,导致井眼轨迹测量结果不稳定。而动调式陀螺仪采用了更为先进的挠性支撑,因而漂移很小,有效地提高了井眼轨迹测量结果的准确性。动调式陀螺测斜仪是一种精密陀螺测斜系统,采用惯性导航原理,利用挠性陀螺仪和石英挠性加速度计作为主要测量元件,通过定点测量仪器各轴的地球自转角速度和加速度分量,经过系统解算后得到当前位置的井斜度、方位角。然后,根据各测量点的方位、倾斜角确定井眼轴线的空间位置,同时为了与钻具配合,必须随时得到工具面角[4]。特别适用于有磁性干扰的丛式井、加密井的钻探测量及在完井后的套管内或钻杆内进行测量。
2井眼轨迹曲线算法优化
井眼轨迹算法有很多种,常用方法有平均角法、圆柱螺线法、最小曲率法和曲率半径法[5-6]。这些计算方法大多是将测量段内的井眼轨迹假设为直线、折线、圆柱螺线和斜面圆弧曲线等简单曲线模型[8]。井眼轨迹计算是通过测量井眼的斜深、井斜角和方位角,然后,再用一定的计算方法将这些测量数据解释为XYZ空间坐标数据[9]。
井眼轨迹计算的积分法是一种基于空间曲线的方法,它将相邻的2个井斜测点的连线视为一渐变空间曲线[5-8],这更符合钻井工作的实际,其精度高于常用的井眼轨迹计算方法。在实际井眼轨迹测试时,通过优化工艺方案,制定合理资料录取方案,采取连续测斜或加密测点方案,可以最大程度地逼近轨迹空间曲线形态。
3处理解释系统设计
陀螺测斜解释平台采用C#开发完成,充分利用人工智能,与上游基础数据库紧密衔接,用户仅需进行简单输入工作便可完成井眼轨迹评价,大大提高了单井处理效率。软件设计3个功能模块,主要实现数据处理、图表绘制、报告生成(见图1)。
3.1数据处理
动调式陀螺测井仪主要采取点测方式进行,在开窗侧钻位置或最大井斜位置采取加密测点或重复测试某深度点的工艺提高测试数据精度。在数据处理上实现数据质量自动检查,如果相邻测点测深增量ΔL=0,说明这2点为重复测试数据,需要计算其平均井斜角和方位角。再采用空间曲线积分法依次计算相邻测点垂深增量ΔH、水平位移增量ΔS、东西位移增量ΔE、南北位移增量ΔN,并对n个测点位移累积求和就是某点的垂深、水平位移、东西位移和南北位移。
3.2图表绘制
对井眼轨迹的描述主要采用水平投影图、垂直剖面图和三维轨迹图方式。绘制水平投影图和垂直剖面图时,需要考虑实现新老井眼轨迹对比功能。因为早期的陀螺测井测量和分析误差相对较大,在开展动调式陀螺仪对老井数据进行普查,落实真正的井眼轨迹时,进行新老井眼轨迹对比绘图(见图2)。
三维轨迹图主要利用计算机图形化计算,采用OPENGL绘图方式,实现井眼轨迹的三维缩放、旋转等功能,使用户对井眼轨迹走向更能直观准确地观察和掌握(见图3)。
3.3报告生成
陀螺测试井眼轨迹报告内容包括井基础数据、现场测试情况、井的三维轨迹图、垂直剖面图、水平投影图、解释结论表等。井基础数据或轨迹对比所需老井井眼数据直接通过油田上游信息系统A2数据库中获取,只需输入正确的井号,便可连接A2系统。
报告形式以Word格式表现,利用MicrosoftOffice系统中word模板编辑功能,可以预先对报告内容进行整体编辑排版。系统以word标签查找方式,完成计算结果、各种表格、图件等内容对应添加到Word文档中,实现一键自动生成报告的功能,满足不同用户、不同地质需求,大大降低了单井处理解释时间。
4陀螺测井技术应用
4.1克服磁性干扰,指导加密井钻进
油田开发后期,依靠打定向井、加密井或老井侧钻稳产增效[8]。动调式陀螺测井仪由于其不受磁性干扰的特点,可以在井距较小:磁性干扰强烈的环境下,准确测取井筒的倾斜角、方位角、工具面角等参数,进一步计算可得出垂深、南北偏移、东西偏移、闭合方位等参数,指导新井钻进。
TJH油田计划在的G71井附近打1口水平井,由于该区块为低渗透区块,井距普遍较小。为了保证侧钻顺利完成,该井在侧钻过程中,对本井及邻井均分别进行了陀螺定向及测斜,发现水平井设计井眼轨迹存在问题,该井与水平井的最小距离只有18.58m,存在安全隐患,随后根据计算结果及时调整钻井方案,保证了水平井顺利施工,投入正常生产后初期日产油近50t。
4.2应用陀螺定向,提高侧钻中靶成功率
在剩余油富集区实施侧钻井是老井产能建设的重要手段,陀螺定向在油田广泛用于老井开窗侧钻,减少定向时间,提高了侧钻中靶率[9-10]。
BQ油田B19-1断块计划在高部位部署BS24-7K井,实施前对BS24-7井进行陀螺测试,总水平位移与原来的认识相差204.2m(见图4、图5),根据结果及时进行调整钻井方案,避免井位落空。该井投产后,初期日产油9.8t。
5结论
(1)动调式陀螺测斜仪不受铁磁物质的影响,适用于有磁性干扰的丛式井、加密井的钻探测量及在完井后的套管内或钻杆内进行测量。无需人工校北并且采用先进的挠性支撑,更有效地提高了井眼轨迹测量结果的准确性。
(2)开发了井眼轨迹分析平台,采用与动调式陀螺测斜仪测量精度相匹配的空间曲线积分法,能够更加精细描述井眼曲线空间展布。
(3)动调式陀螺测井技术在油田落实井眼轨迹、判断油水井在油层中具置、指导加密井部署、提高侧钻中靶率等方面提供可靠了依据,能够取得很好的地质应用效果。
软件开发毕业论文范文模板(二):随采地震监测数据采集控制软件开发论文
摘要:随采地震能够对工作面前方地质异常体进行连续探测和实时预报,成为近几年的研究热点,但是目前还没有能够在煤矿井下开展随采地震长期连续监测的装备及配套软件。为了解决这个问题,基于MicrosoftFoundationClasses(MFC)开发框架,开发了一套随采地震监测数据采集软件,在室内、野外进行了为期3个月的联调测试,并且在贵州岩脚煤矿与井下随采地震监测设备开展了为期3个月的全面试运行。测试表明,软件实现了随采地震信号的高效采集、完全存储和处理软件的实时通信功能,具有运行稳定、操作便捷、处理高效、便于维护、无人值守等优点。
关键词:随采地震监测;数据采集;软件设计
我国的煤矿以井下开采为主,与国外相比,我国煤炭行业的信息化水平较低,矿山空间信息仍然以图表和文字作为主要的存储介质,信息基础设施未能跟上时代变化的脚步,使得煤矿企业的竞争力受到严重的制约[1]。煤矿井下危险具有多变性、隐蔽性,导致安全问题成为威胁煤矿工人生命的核心问题[2]。而采掘工作面更是矿井水害、顶板、火灾以及瓦斯等多种灾害事故的多发区,同时也是工作人员聚集区,因此,也是导致重大生命财产损失的高危区域[3-7]。随采地震勘探[8]是利用采掘活动激发的震动作为震源,探测工作面内部或者掘进面前方一定区域内地质构造的一种地震勘探技术,可以摆脱放炮的安全隐患及对正常采掘生产的影响,实现了采掘的同时进行超前探测[9-11]。随采地震所用震源信号是连续、非可控的,只有进行连续、长期监测,记录远场信号,将其与远场信号作互相关,得到清晰的相关峰值,才能将其转化为脉冲子波,代替炸药震源进行地震勘探[12]。
因此,研制随采地震监测装备及控制软件成为当务之急。本文针对随采地震监测装备的特点,充分分析其观测系统和监测数据的特点,利用数据库和文件系统的优点,设计了软件的数据结构;考虑处理软件的特点,设计了与处理软件之间的接口;最后基于MicrosoftFoundationClasses(简称MFC)开发框架,开发了数据采集软件,联合测试成功后,并在贵州岩脚煤矿进行了3个月的野外采集工作。
1随采地震观测系统及其特点
为了能够获得工作面内部煤层剧烈变化情况、断层和陷落柱位置与规模以及应力集中区等信息,目前的随采地震观测系统采用复杂部署模式。如图1所示,采用H形布局,共72道,其中孔中部署24道,分4个深孔,每个钻孔内部署6道,由一个孔中多级检波器串承担;其余的48道部署于工作面两侧巷道的锚杆上,图1中绿色圆点为巷道检波器。
数据采集分站为6通道,整个观测系统共需12台分站,数据处理时主要使用煤层中的槽波,而槽波的频率较高,可以达到500Hz,为了采集高质量的数据,采样间隔为250μs,这就对数据采集系统提出了新的要求,不仅仅数据道数多,采样率较高,而且是长期连续实时监测。
观测系统随着工作面的推进而移动,当工作面推进到检波器测点附近时,要依次将检波器拆卸,避免被埋入采空区中,当工作面推进到距离图2中黄色深孔检波器10~20m时,要将全部的黄色测点移动到蓝色测点位置,以此类推直到工作面回采结束。
2随采地震监测数据采集软件设计
2.1软件架构设计
针对分站多、数据量大、观测系统多变化、实时性要求高以及需要与数据处理分析软件进行通信的特点,采集软件利用多线程技术分别进行数据采集和存储,软件框架设计见图3。
2.2软件数据结构设计
采集软件中的数据可以分为两类,一类为数据量不大,变化周期较长的数据,比如:监测分站信息、观测系统信息等;另一类为数据量较大,而且变化周期很短的数据,比如:监测数据。根据数据特点,采集软件采用数据库与文件系统相结合的方式保存数据,以提高数据存储效率。监测数据采用文件系统保存,其他数据采用数据库方式保存。
a.数据库设计
数据库主要保存测区信息、采样率、每个文件的采样时长、采集分站信息、传感器信息、观测系统以及监测数据的保存路径等信息,其E-R模型见图4。
b.文件结构设计
监测数据的辅助信息,如采样率、观测系统、道数等信息全部保存在数据库中的监测数据表datafile_info中,按照采样顺序将每道数据作为一块写入文件,块的顺序与道号一致,样点值采用有符号的浮点型数据类型保存,详见图5。文件名为第一个样点的采样时间,格式为:YYYY-MM-DD_HH_MM-SS,不足两位数的补零。
2.3软件交互接口设计
本软件需要分别与井下采集分站和随采地震数据处理软件进行交互,主要涉及到两个接口。
a.与采集分站接口
为了便于和井下采集分站通信,采用UDP与TCP协议相结合的通信模式,采集软件的查询指令通过UDP协议与采集分站通信,通知指令和数据传输则采用TCP协议传输,其通信流程见图6。
b.与数据处理软件接口
为了提高数据存储效率,采集软件采用数据库与文件系统相结合的方式存储监测数据,大量的监测数据保存在文件中,但是文件的相关信息,如:道数、采集时间、采样率、观测系统等信息保存在数据库表datafile_info,与数据处理软件的通信也通过数据库来完成,数据记录表中专门设计一个字段为数据状态标志,数据采集时状态为0,采集结束后为1,数据处理软件不断查询该表中数据状态标志为1的记录,一旦有这样的记录,则根据数据库中的信息读取监测数据进行处理,处理结束后将该标志改为2,具体处理流程见图7。
3随采地震监测数据采集软件实现
3.1开发环境
软件基于VisualStudio的微软基础库类(microsoftfoundationclasses,MFC)开发框架,采用C++语言编写,充分利用其图形用户界面(graphicaluserinterface,GUI),大大提高软件的开发效率。在功能开发方面,为了满足随采地震监测的需要,提供数据采集和数据保存功能,采用菜单栏和对话框方式来实现软件与用户之间的人机交互。在整个应用框架的基础上进行功能性、界面性的填充。将软件开发分成若干部分,有效地提高软件研发效率和可读性,同时也便于后期维护升级。
3.2软件的实现
为了提高软件的运行效率,将软件操作界面、数据采集、保存和整理以及设备状态监测与恢复功能分别由单独的线程来完成。
a.数据库实现
数据库中最主要的两张表为传感器信息表和监测数据表,传感器信息表为观测系统表的基础,而且随着工作面的回采传感器移动后,传感器的位置信息就会发生变化,观测系统随之变化;监测数据表是数据采集软件与处理软件通信的基础,表中需要包含大数据文件路径、观测系统、采样率、采样时间和时长等重要信息,具体见表1和表2。
传感器信息表中(表1)以Station_ID、Channel和Modify_Time为联合主键,这样表中可以把同一个传感器在不同时间的坐标都保存起来,随时可以获取任何时间段的观测系统。
监测数据表中(表2)由File_Index为主键,该值为根据时间自动生成一个与时间有关的数,确保唯一性,同时将大数据文件的相关数据信息全部存入该表中,以方便数据处理软件随时查询。
b.软件操作界面
随采地震监测软件属于监测类软件,具有自动化程度高、人工干预少等特点,因此,需要用户的操作很少,主要是一些参数设置和监测分站运行状态的显示:系统中监测分站的数量、每台分站的传感器数量及其工作状态。
传感器参数设置功能主要包括传感器的安装位置及其坐标、所属监测分站号、通道号、测点号等信息的增加、删除和修改,由修改传感器的时间为主键,即可获得该时刻的观测系统。
c.数据采集功能
数据采集功能主要包括数据采集软件与监测分站之间的通信、监测分站状态查询与控制、数据采集等。为了达到随时能够与监测分站通信的目的,与监测分站的通信通过UDP和TCP协议两种方式来实现,其中监测分站的信息和状态查询由UDP协议实现,指令的发送、参数设置和数据采集通过TCP协议实现。TCP协议中采集软件为服务器端,监测分站为客户端,服务器端采用完成端口技术来接收多个监测分站上传的数据,为了便于数据保存,每个通道的数据分别存放在独立的缓存区中,缓存区采用循环数组的设计,当数据写入缓存区中后,循环数组的数据采集下标iColDataIndex+1,数据采集详细流程见图8。
d.数据保存
为了提高数据存储的效率,将数据存储分为数据保存和整理两个步骤,分别由两个线程执行。数据保存线程监测缓存区中数据采集下标iColDataIndex与已保存数据下标iSaveDataIndex之差,当该差值达到预设值时,从数据缓存区中读取数据并保存成数据文件(采用异步模式将每道单独存储为一个文件)。数据保存完成后,循环数组的已保存数据下标iSaveDataIndex+1,其数据保存详细流程见图9。
e.数据整理
为方便数据处理需要把同一时段的各道检波器的数据保存为一个文件,当由于检波器或者采集分站故障导致数据缺失时做填零处理。因而增加一个专门进行数据整理的子模块,由一个单独的线程来处理,其数据整理详细流程见图10。
f.系统自恢复
井下的供电系统或者网络经常检修或者故障,导致随采地震监测设备出现故障,当故障解决后,系统应该能够自动恢复,但是该系统是由多个监测分站组成的,分站之间需要不断进行时间同步,当一台分站出现故障后,该分站停止采集,其他分站仍然正常采集,当该分站故障解决后,要想恢复采集,必须要把系统中所有的分站进行重启。图11所示流程,就是用来检测网络是否出现故障,如果出现故障,则一直检测,直到故障修复,然后重新启动系统。
4随采地震监测数据采集软件联调与测试
4.1运行环境
数据采集软对运行环境的要求如下:
操作系统:windows7及其以上;CPU:2.5GHz,4核;内存:8GB;硬盘:500GB。
4.2联调与测试
该软件与井下监测分站以及数据处理系统在实验室进行为期1个月的联调测试,联调过程中对采集软件与监测分站和数据处理软件的接口进行了修改和完善,并在野外进行了为期2个月的稳定运行后,各项性能指标都达到了设计要求,软件实时波形界面见图12所示。最后在贵州岩脚煤矿进行为期3个月全面试运行,无论是采集数据还是与数据处理软件的通信都正常工作。
5结论
篇2
分层技术目前在我国已经成为了主流的技术种类,其在我国计算机软件开发中的应用也越发普及,下面进行具体分析:
2.1双层技术的应用
从种类方面来看,分层技术主要有三层、四层以及多层次之分,但是这些都是在双层技术的基础上发展起来的。在不断的发展过程中,软件的开发效率也得以提升。我们首先针对双层技术进行研究,这项技术在我国软件开发中的应用,主要就是针对两个端点进行,也就是客户端和服务器。客户端会依据不同用户的资料为其提供所需要的使用界面,处理其中所产生的各种逻辑关系,然后服务器是用来接受客户的各项信息,在经过数据库进行相关的计算和总结,最终向客户端传达并使用。这项技术的应用大大提高了计算机的运行效率,但是其必要的条件就是用户所使用的服务器,性能方面要有所保障,同时用户使用不适合太多。一旦这两个要素没有保障,就会导致服务器因为工作负荷过重而出现系统性错误、计算机反映慢等问题也会出现,这样一来成本就会不断增加,问题严重的话,还会导致人格数据的丢失,所以说在当今的研发中,这项技术已经逐渐被其他技术所取代。
2.2三层技术的应用
上文已经提到,三层技术的研发是建立在双层技术基础之上的,针对双层技术中不完善以及有缺陷的部分进行改进,并相应地增加了应用服务器,这种服务器在计算机使用方面发挥着巨大作用,能够针对用户的各种数据进行储存和整理,同时也大大提高了计算机信息访问的效率,最为关键的一点是实现了人与计算机之间的交互。这种三层技术实际就是将业务处理、界面层次以及数据层次相结合,建立一个有机整体,相互独立运行,共同为计算机服务。其中的界面层主要是进行科学的收集用户使用软件的需求,收集完成后需要将这些需求发送到之后进行工作的业务处理层,其次由业务处理层通过对这些用户的需求进行分析,做出相关的申请请求在数据层进行数据的提取与处理,最后在数据层进行相应的处理,对相关的各种信息进行查询,针对这一系列的分析之后,将结构反馈给业务层,最终是由业务层完成工作的处理,再回到最初的界面层。以上所阐述的整个过程就是对系统的建立过程,正是因为这样的处理,实现了系统工作效率的提升。
2.3四层技术的应用
在计算机软件的开发中,双层技术和三层技术都难以应对计算机使用复杂的环境,需要将三层次技术中的界面层、业务处理层和数据库层科学地分开,这样才能够不断降低这几个层次之间的相互影响,因此需要将三层技术逐渐向四层技术发展,其中四层技术主要包含有业务处理层、web层、数据库层以及存储层。
2.4中间件技术的应用
分层技术在计算机软件开发中的应用,可以针对不同部门进行优化,目的就是充分发挥其潜能,实现优势互补,提高计算机整体的运行效率。正是因为分层技术的合理应用,才使得软件开发的质量大大提升。另外,还有效地降低了各种复杂问题的发生,简化了计算机操作,只要利用单项操作就可以独立完成计算机软件的开发,进而实现我国计算机软件开发的高效性与高质性。
篇3
我们在编写程序代码的时候,总是要把编辑策略放在首位,针对于不同的OS,在其上创建和编辑文本文件,就要遵循不同的规则。比如行结束符,在Windows操作系统和DOS操作系统中普遍采用回车键,而在Unix中却使用的是换行符号。这种细微的差别就是跨平台软件开发必须考虑的问题。那么当我们要想把其中一个平台上编写的代码放在另一个操作系统上运行,极有可能出现不被正确解释的现象。另外,对于不同的操作平台其tab键的功能也有很大的区别,主要体现在间距上。那么我们在编程的时候要注重这些差别,保证代码的书写和阅读对于不同的操作平台都是一致的,增加程序的可读性,进而也就实现了跨平台的思想。所以在每次开发之前都需要针对开发策略制定相应的规则:统一使用四个空格键来代替tab,也就是\t格式。Windows下的源文件代码需要存储在UNIX的文件格式,或者说是在Windows下的文件编写完成之后,通过DOS2UNIX命令实现文本格式的转换。
3处理器差异的控制
鉴于C++语言自身语言的特点,建立了一个跨平台的抽象代码库,在不同的平台和编译器上进行合理的规划代码。C++语言里普遍使用了抽象,像BOOST和StardardTemplateLibrary。Boost标准类在不断的发展和改进过程中,完全能够帮助跨平台操作中的软件和程序来适应OS系统库的内部接口的不同,可惜这些不足以解决全部问题,主要是因为目前Boost没有包含所有的库函数的类库,又会出现不确定的情况,那么关于C++语言的部分也应该及时的维护和更新。在平台上,利用库封装代码,又在不同的平台下调用已达到统一代码的目的。
4利用wxWidgets开发跨平台软件
wxWidgets是一种跨平台开发的软件包,目前使得在跨平台的图像设计方面使用自身的程序。因为其兼容性相当的好,对于Windows,Linux,Unix等都兼容。而且,wxWidgets的底层是用C++程序设计语言实现的。下面用一个实例将说明wxWidgets的跨平台问题。首先创造一个wxFrame的实例,并制定长宽和屏幕上的位置。然后,新建一个垂直的sizewidget和顶层窗口的子sizer。然后,再创建一个垂直sizerwidget和一个水平子sizer。最后创建wxStatic实例以及为这个敞口应用中添加事件响应。以下将展示一部分核心代码。在设置完这个窗口之后,还需要新建一个类实现一写功能。
篇4
软件开发团队是软件研发企业中最常见的项目团队,一个软件从构想到真正出现在市场上,需要大量的从事不同工作的人共同努力,因此,软件研发企业目前的产品生产管理主要是以“项目”为主而进行运作。软件开发作为一项知识密集型的智力劳动,客观上要求必须对团队内部的知识进行系统的挖掘与利用,从而不断产生新的知识,才能保证高质量地完成开发任务。同时,软件开发团队是以特定客户为中心的任务导向团队,开发任务目标完全以用户需求为中心,开发任务的约束条件以客户要求为准,不能完全参考以往的任何模式,因此软件开发团队对知识创新的需求十分明显。本文对软件开发团队的知识创新进行分析,提出促进软件开发团队知识创新的措施。
二、基于SECI模型的软件开发团队知识创新
日本学者野中郁次郎在1991年提出了经典的知识创造模型——SECI模型,描述了在一个组织内部隐性知识和显性知识相互转化从而实现组织知识创新的过程。本文运用SECI模型,对软件开发团队的知识创新分析如下:
1.软件开发团队在社会化知识活动中的知识创新
软件开发团队中每个成员都有自己的隐性知识,而这些知识需要在与他人的交流中观察、感觉才能进行分享。由此,社会化模式通常是从设立一个互动的“范围”开始,在这个范围内促进成员经验和心智模式的分享。在软件开发团队中,社会化主要通过团队领导者积极的示范和指导、合理调整团队的结构,以及交叉培训等方式进行,以促进知识共享与创新。
2.软件开发团队在外化知识活动中的知识创新
外化(Externalization)过程是从个体的隐性知识到群体的显性知识的过程。由于外化从隐性知识创造出新的显性知识,所以它对知识创新至关重要。在软件开发团队中,外化过程一般由“对话或集体思考”开始,通过各种技术手段,将团队成员个人的隐性知识显性化,并融入到团队显性知识库中,以供整个团队利用。
3.软件开发团队在联结化知识活动中的知识创新
联结化(Combination)是从分离的显性知识到系统的显性知识的过程。软件开发团队中的管理者经常会收集不同来源的显性知识,并使用这些经过编辑的显性知识来创造新概念,另外,在开发工作中,也贯穿着知识的联结化活动。这个过程要求对团队内部的显性知识进行整合,在团队内部建立独特的知识系统,以便更好地整理团队内部的显性知识。4.软件开发团队在内化知识活动中的知识创新
内化(Internalization)过程是从显性知识到成员个人的隐性知识的过程。在软件开发团队中,项目计划,以及开发过程中的错误、经验,都记录在各种各样的文档中,这些构成了团队的显性知识,但要想让团队成员合理地利用这些知识,只有成员们真正地消化、吸收,使其转化为自身的隐性知识。这一过程可以通过组织培训,使团队成员通过学习各种手册、文件,以及他人的经验,扩充自己的隐性知识,促进知识创新。
三、促进软件开发团队知识创新的措施
软件开发团队可采取以下措施促进知识创新:
1.构建学习型的软件开发团队
其中首先是要建设有利于知识分享与创新的团队文化,其次是通过各种信息技术手段为团队成员学习提供便利。文化从意识形态层面对知识型员工的行为产生影响,在组织中营造浓厚的尊重知识和共享知识的氛围,为知识创新提供了无形的拉力。一方面,要保证团队内部畅通的沟通渠道,另一方面,通过建立各种激励机制,促使作为知识发送方的团队成员在已形成的“Ba”中自愿地贡献出自己的知识。这样就达到全体成员都乐于参与知识共享,最终发展成知识共享型组织文化(即学习型团队)的目的,从而促进了团队知识社会化及外化活动。
2.建立团队知识库系统
这涉及到知识的外化和联结化活动,并且为内化提供了有利条件,主要可以借助以下信息技术:①文档管理技术。利用文档管理技术,坚强团队知识分享,促进团队知识创新。②数据仓库与数据挖掘技术。这一技术通过将团队成员个人的隐性知识显性化,并融入到团队显性知识库中,为团队内部成员提供更多显性知识。
3.构建实践社区
在团队中构建实践社区,使团队成员在日常实践活动中相互影响,交流经验,就共同关注的问题进行探讨,共同解决问题,以便更好地挖掘隐性知识的价值。可借助信息技术,如知识协作技术,进行协同管理,通过建立内部网络,提供知识积累、交流的基本平台,其中对软件开发团队影响最大的是基于因特网这样的协作技术,包括电子邮件、短信服务、即时通信等网络交流工具,使各层级的成员都可以及时、方便地交流。
参考文献:
篇5
现代软件工程方法之所以超出传统方法,主要是因为它针对的是具体对象,即面向的是具体存在的问题和弊端,这一点,完全克服了传统软件工程方法的缺点和不足。现代软件工程方法包含五部分,分别是分析、设计、编码、测试、维护。这几部分虽与传统工程方法大同小异,但细比较便可发现现代工程方法的优点。在分析部分,传统工程方法主要是笼统地分析,没有具体的面向对象,而现代工程方法则是分析现实事件的具体问题,因此,具体问题的性质可以更好地反映事件的性质。在设计部分,面向对象主要是系统中的具体时间。传统软件工程方法单一无序的状态使得设计的软件没有突破,没有适应发展的迁移性,现代软件开发方法摒弃这种自发式状态,采用更为先进的模块式开发方法,引进先进技术,维护系统正常运行,同时能及时对软件问题进行修复。模块式开发方法更适合现代经济的高速发展,更能适合大众需求的日新月异,更能满足不同群体的需求。这种方法具有超强的适应性,因此更具有稳定性,一旦软件出现问题,能及时修复,一旦有新的需求出现,也能及时优化性能更新换代,大大降低了软件开发失败的风险。富含高技术的方法还可以整合计算机资源实现资源共享,而且只要将模块定义,在系统允许下可以重复利用。
3现代工程方法的有效运用
3.1现代软件方法的适用局限性
软件体系结构决定着软件适用的工程方法,主要依靠数据库进行数据分析的软件体系结构是指软件的分层结构,比如C/S结构。现如今,传统的数据库管理系统还具有相当的适用性,其在现代数据管理系统还未成形的今天仍然发挥着举足轻重的作用。传统的数据管理系统在数据存储、数据共享、数据保障以及故障维护等方面都有着很好的效果。特别值得注意的是在结构化语言查询方面,其不但不会损害整体性查询,在高水平查询上同样能够完美实现,这是现代管理系统不占优势的地方。现代管理系统优势凸显于具体的数据储存与操作方面,比如表结构的处理方法,传统软件工程方法在运用时会有所扩展,导致表述模糊。
3.2现代软件开发的工程理念
软件应用脱离了早前的局限性,在各行各业都得到有效应用,餐饮业、服务业以至于医疗卫生业都能将软件运用发挥到极致,大大提高了行业的生产效率,取得了前所未有的效果。同时,利用软件的资源与信息共享功能可以在各行业建立标准的操作规范,统一行业的操作程序。只有在软件开发过程中树立现代软件开发的工程理念,才能顺利进行软件开发和应用。以医疗卫生业为例,通过大量引进现代软件进行信息管理和操作,不仅规范了医护人员的诊断操作行为和疾病检查,还可以对疾病及时有效地进行监督和管理。引进的软件不仅仅局限于资料信息的管理系统,还有与影像资料存储与共享、通信内容等相关的信息管理软件。以病理信息管理的软件开发为例,这种软件的主要作用就是将病理分析情况如实收入软件中,从而对该数据资料进行长期有效的存储。这种软件的操作简单易学、分工明确,是模块化处理方式的最简单应用。需求性直接决定软件实用与否,因此,在开发之前,必须对软件的需求性和实施的可能性进行详细的调查研究与分析。如果软件公司开发新产品之前没有进行需求和可行性分析,必然导致软件的适用性不足以应对大众需求,不能够很好地适应具体情况,给开发者造成不必要的损失。此外,在软件开发时,开发公司应该对整个工作进行协调一致的规划安排,各工作人员应明确分工,尽量规避工作中出现环节空缺或重复的情况,避免开发过程中出现混乱不堪的状况。
篇6
[1]胡迎锋,基于嵌入式Linux系统的应用程序开发[J].商场现代化,2010,(11):6.
[2]何先波,嵌入式软件开发平台中的文件系统封装机制[J].计算机应用,2010,(1):118-120,123.
[3]高晶、王建华,JNI技术在嵌入式软件开发中的应用[J].哈尔滨师范大学自然科学学报,2007,(6):62-65.
[4]周淳、邓中亮,嵌入式组件技术的研究及应用[J].现代电子技术,2009,32(6):50-52.
[5]HenrikKniberg.ScrumandXPfromtheTrenches[M].C4MediaInc,2007
[6]商惠华.计划驱动下敏捷开发过程的软件质量管理[J].汕头大学学报(自然科学版),2011(4)
[7]陈国栋,罗省贤.Scrum敏捷软件开发方法实践中的改进和应用[J].计算机技术与发展,2011(12)
软件开发论文参考文献
[1]李郁峰,陈念平.建设计算机实验教学中心培养应用型人才[J].实验科学与技术,2008,6:172-174,230.
[2]吴徽,刘陠升.VMware在Linux实验教学中的应用[J].沈阳教育学院学报,2009,10:99-101.
[3]董良,宁方明.Linux系统管理[M].北京:人民邮电出版社
[4]矫文成,张冬丽.应用软件项目管理研究[J].软件导刊,2006,13:172-174
[5]吴晓琴.浅析面向对象程序设计特点[J].安徽大学学报(自然科学版),2006,3:267-269
[6]杨鸿雁,耿新青.数据库系统原理课程群建设与实践[J].鞍山师范学院学报,2010,6:375-376
[7]何方,马武刚.面向对象设计UML技术在考试系统设计中的实践[J].安阳师范学院学报,2006,5:125-128
软件开发论文参考文献:
[1]于世文,丽.敏捷软件开发方法在软件维护中的应用研究[J].计算机仿真技术,2012(15):13-16.
[2]高宇,冯向忠.敏捷软件开发方法在软件维护中的应用研究[J].科学学研究,2013(10):11-12.
[3]谢东强.敏捷软件开发方法在软件维护中的应用研究[J].计算机应用与软件,2014(13):22-24.
[4]李晓鹏,等.软件功能测试[M].清华大学出版社,2015.
篇7
1.3资源获取与使用方面的问题这里的资源指的是外部文件,Android所支持的资源文件类型较为丰富,包括PNG、JPEG以及XML等,在And-roid程序运行过程中,资源文件被解析。Android资源系统可以实现对应用程序代码的相关内容进行跟踪,所以程序的开发者可以通过对资源类的利用来实现对应用程序资源的访问。
2、构建Android平台软件开发环境
因Eclipse是使用java语言来进行程序编写的,所以在安装Eclipse之前要保证系统已经完成对java环境的建设,如若不然就会致使这一工具无法启用,具体安装内容为:最新JDK以及对java环境变量进行设置[3];安装Eclipse。在实际安装的过程中,可以先在官网进行相应的软件下载,然后安装这一软件,最后要对其开发插入ADK进行安装;AndroidSDK的安装。主要是对Android软件开发过程中所要的函数库资源的集合包,是对Android程序进行开发的重要组件之一;进行AndroidAVD配置。AVD属于经过配置的模拟器,对于AVD来讲,需要进行target的制定。在SDK1.5中,主要的target类型为platform以及add-on。
篇8
在工程设计行业,CAD技术的应用大大提高了设计及绘图效率。CAD应用软件的开发也越来越重要。
在给排水设计领域,CAD开发应用起步较晚。有些设计院从八十年代末开始尝试进行CAD开发,但进展比较慢,多数是图块和小型实用程序,在深度和广度上都存在着差距。从1993年以后给排水CAD开发步伐开始加快。1994年底全国给排水学会和给排水技术情报网组织召开了“计算机技术在给排水专业应用研讨会”,对给排水软件开发起了积极的促进作用。
目前在给排水CAD开发方面已经取得了可喜的成绩,尤其是建筑室内给排水方面涌现出1些比较优秀的给排水CAD软件,如洛阳的1家软件和北京的几家软件。这些软件都具有计算机辅助设计建筑给排水平面图、自动生成系统图、自动统计材料表;进行室外给排水管网计算、自动生成图形等功能,其中个别软件已在室外设计和泵房设计等方面有了新的进展。
现有软件都偏重于民用建筑给排水方面,而且也有待于继续完善、发展。在给排水的其它领域,由于难度大,投资回报较低,软件公司还不愿涉足,所以进展缓慢。应用CAD进行给排水及水处理系统的优化设计更是少有人涉足。此外,目前还没有专业设计CAD软件的标准和规范。商业化软件多数都不经过权威部门严谨的技术测试和鉴定,所以其数据库、计算方法、设计方法和生成图形的准确性还没有严格保障,这1点还可能成为工程设计质量的隐患。
现在设计部门的给排水CAD应用水平也参差不齐。有的购买或自行开发了给排水专业软件,提高了设计绘图效率。有的只是在用AutoCAD的简单命令绘图,虽提高了CAD出图率,却根本谈不上利用CAD提高效率。给排水专业CAD应用水平还有待于进1步提高。
目前许多有精力的设计院及研究部门都在研究开发本单位适用的专业软件及应用程序,但由于开发经验不足,成绩不明显。本文将结合笔者的工作经验,着重论述有关给排水软件开发的原则、思路、方法及步骤,旨在抛砖引玉,促进给排水CAD软件开发工作。
2、给排水软件包开发思路及原则
由于现有建筑给排水软件已经比较成熟,且仍在继续开发、升级。1般开发者在水平和起点上均与这些软件开发有1定差距,所以应该购买此类软件,而着重开发适合本单位使用的实用程序、应用软件或优化设计软件。高起点开发者则应在深度及广度上向更高层次冲击。
1。给排水CAD软件开发依据及原则
(1)设计依据为有关设计规范、制图标准以及设计手册等;保证数据库、计算方法和设计方法的准确性。
(2)软件包开发设计首先要突出专业水平,把专业设计思想转化为计算机语言是专业软件包的关键所在。
(3)符合设计人员思维习惯及设计习惯,人机界面友好,操作简单,易掌握。
(4)适用性强,容易修改,容易扩充,容易发展。
(5)尽量使用效率高、功能强的计算机语言及开发工具。
(6)严格执行标准化及规范化。
(7)通过自动绘图以及建立标准图库,提高图纸复用率等途径,提高设计绘图速度,真正发挥计算机的优势,把设计人员从图板上解脱出来。
2。设计开发步骤
(1)开发适合于给排水专业应用的CAD软件环境,包括AutoCAD的优化配置及常用专业图块及绘图工具。
(2)开发1些独立的专业绘图软件,发展标准图形库,由浅到深,从易到难,逐步提高自动成图及图纸复用比例,使软件包成为覆盖面广,功能齐全的专业绘图软件包。
(3)开发给排水专业高阶段设计方案优化软件,以及设计、绘图1体化软件,逐步成为智能化、自动化程度较高的专家系统软件包。
3。开发人员配备软件开发是1项较复杂的脑力劳动,对开发人员要求也较高,专业软件开发人员大致可分为以下几个档次:
(1)初级水平:专业人员掌握1些基本计算机知识及开发工具可以进行1些专业图块制作,简单的实用程序开发。
(2)中等水平:较高专业水平加上较高计算机水平。熟悉专业设计习惯,有较丰富的设计经验的专业人员,如果掌握先进的CAD开发技术,可以开发出较高水平的CAD应用软件,可以提高设计效率,特别是可以大大提高绘图效率。
(3)高级水平:高深的专业水平加上先进的计算机开发技术。在专业方面应该熟练掌握专业基础知识,有丰富的工程设计经验,善于总结专业设计思路,发现规律,具有较强的系统工程及方案优化水平。在计算机方面要掌握LSP、ADS、DCL等开发工具(或其它高级开发工具)。这类人员开发专业CAD软件是最理想的。
由于给排水专业涉及面广,而且不同行业给排水设计习惯也不尽相同,不可能有软件可以覆盖所有给排水领域,适用于所有设计院,所以目前仍然需要分行业、分类进行开发。前述的个别建筑给排水软件包及开发人员属于较高水平,其开发设计思路非常值得向给排水其它领域延伸。4。开发工具(软件方面)
目前较常用的CAD开发工具主要有AutoLISP语言、ADS、DCL语言以及数据库处理,也有的开发者使用BASIC、FORTRAN等高级语言与AutoCAD的图形数据交换接口进行开发;还有用C++开发或用VB等在Windows界面下开发的;此外,网络技术也越来越重要。
开发CAD软件,需要非常熟悉AutoCAD命令,以及其中的各参数、系统变量、图层、图块、线形等,这样才能方便灵活地在程序中执行各种命令,掌握CAD开发技巧,例如图块的属性可以带许多信息,1条LINE线的厚度可以存入管道的管径等。此外现在有些软件使用数据的后处理方式,使软件和AutoCAD结合得更好,这些技术还需要对AutoCAD图元数据库和数据图形交换等有更深的了解。
AutoLISP是在AutoCAD内部使用的语言,用AutoLISP编辑的程序可以定义变量,对数据进行处理和作出图形,并可能自定义函数,比较适合搞人工智能工作,特别是它的表处理功能以及递归等功能比较独特,在CAD工作中它可以独立工作,也可能与DXF图形交换文件互相配合困难,要求开发人员具备C语言编程经验并熟悉ADS库中各函数用法。1般商业软件应该用ADS。
AutoCAD还提供了可编程对话框(PDB)工具,使用户可以结合自身专业特点,用DCL语言构造自己的对话框,从而改善界面,提高CAD软件效率。
目前最流行、最实用的专业CAD开发工具是ADS、DCL,加上少量AutoLISP。
3、开发过程1。专业绘图环境的开发
(1)AutoCAD的配置及改善
a。选择AutoCAD版本。目前最常用的是汉化AutoCAD12。0版。但其汉字输入不太方便,应配上较先进的汉字系统,或用12。0版forWindows(中文)。
b。对AutoCAD系统变量进行重新优化配置及设定,主要包括系统变量及尺寸变量设置,层、线形设置等,使acad。dwg成为理想的样板图。
c。对acad。mnu进行优化,将许多常用命令放在最容易拾取的位置或固定位置。专业菜单部分可加入acad。mnu,也可以独立编写。
d。利用acad。pgp做简化命令(10。0版以前的版本可在acad。lsp中用defun函数设定),编写acad。lsp。
(2)专业绘图功能
a。专业图框绘制:可由菜单点取或用屏幕幻灯菜单点取,自动生成各种图框。
b。专业常用图块:由菜单点取生成,自动插入断线。
c。开发实用的专业绘图工具程序:如标注标高、管径、坐标、管道立管、代号、各种管件等的程序,绘制单、双线管道的程序,生成专业设计说明、图例、专业词组的程序,以及文字、线形、线宽编辑和表格操作等实用程序。
d。开发或引进建筑图绘图程序。
专业CAD软件包都应具有高效的绘图环境,否则1旦自动生成等功能出现故障或不能适用时,用户就只能用AutoCAD简单命令来画图了。
2。专业绘图软件的开发
在专业绘图环境的基础上逐步开发1些相对独立的专业绘图软件,逐步形成功能强,覆盖面广的给排水综合软件包。
目前已开发的较成熟的软件有:民用建筑给排水CAD软件包、室外给排水管网计算软件、给排水管道纵断面图绘图软件、给排水外部管网设计软件等。
正在开发,初见成效的软件有泵房设计软件、平流沉淀池软件、机械加速澄清池软件、和市政管网CAD软件等。
尚未深入开发,开发难度大,但预期效果好的软件包括:辐射沉淀池、旋流沉淀池、水塔、综合管沟、架空管网、过滤间、软水站、污泥脱水间设计等项目。
给排水软件开发的另1条思路是发展给排水设备和构筑物的标准CAD图形库,从而提高图纸复用率,这比编制自动成图的软件要容易得多。标准CAD图形库还可以由权威部门编制后,作为标准图出版。此外,标准图还可作为软件包的1部分,即软件包可以交互式自动生成图形,也可以通过自动计算直接调用相应的标准图。
篇9
1)管理端软件功能。管理端软件设计有“校验任务管理”、“文档管理”、“校验历史调阅”与“相关信息配置”四大类功能,下图3所示为管理端软件的功能设置图。管理端软件界面从左到右分别为基本信息录入栏、功能按钮区和待检验任务列表栏三个区域,界面简洁,功能按钮作用一目了然,软件的使用非常简便。下图4为管理端软件主界面设计。2)测试端软件功能设计。测试端软件整合了接收待检验任务、检验测试、数据上传、服务器数据库配置、检验仪器设置等功能,软件的核心是实现检测数据的自动识别与保存,并将测试数据与检验结论上传至服务器上的SQLServer数据库中。测试端软件界面风格和特点与管理端基本一致,其主界面见下图6所示。选中即将要实施的检验任务,其参数将显示在左面的基本信息栏中,如果信息中有差错,检验人员可以现场进行修改。在对基本信息核对无误后,点击“开始校验”按钮,将进入下图7所示的测试界面。测试数据与结论将自动保存到本机后台的Accesss数据库中,在网络环境下,点击“数据上传”(见图6),所有检验结束任务的测试数据与检验结论将通过网络写入服务器上的SQLServer数据库中。点击管理端软件上“文档管理”(见图4)按钮,将弹出下图8所示界面。在文档管理功能模块中,可以预览限速器检验报告与检验原始记录,并能够直接输出打印。检验报告可以通过网络进入审核和签发流程,检验报告中的检验员、报告审核与审批人员均使用电子签名签署检验报告。
篇10
随着我国的经济不断发展,我国工业发展规模逐渐扩大。为了适应日益激烈的市场竞争,许多大型企业都开始投入资金,建立起或者准备建立工业控制系统,实现工业生产管理信息化。工业控制系统的出现,可以加强技术人员对工业机器设备运行情况的监控,减少人员工作量,也可以降低工厂的人工成本,提高工厂的生产效率。建立工业控制系统需要开发工业控制设备软件。与其它软件相比,工业控制设备软件需要与多台设备接口相连接,运行环境较复杂,功能要求较高。由于软件要求比较高,所以工业控制设备软件开发的工作量较大。而随着我国工业生产管理信息化的深入和推广,对工业控制设备软件的需求量会越来越高。如果软件开发人员对每个软件进行单独开发,整个行业的工作量将很大,工作效率也非常低。如果可以开发出一个可复用的工业控制设备软件,软件开发人员在设计新软件时只需要在该工业控制设备软件上补充或修改内容,无需从头开始,从而大大减少软件开发的工作量。另外,运用软件复用技术可以实现行业内软件标准化,有利于统一行业标准,提高软件质量,减少软件运行时出现的问题。软件复用是提高软件开发效率和质量的有效方法。与传统工业相比,软件开发无法通过简单的复制来完成,这是由软件的物理性质和客户需求而决定。(1)软件的物理性质决定了软件无法通过简单的复制程序来完成开发工作。软件是一种数字化产品,包含了大量数据和函数,内在构造比较复杂。另外,不同的运行环境对软件的要求不同。目前,开发软件的编程语言种类非常多,软件开发平台也各不相同。软件编程师往往掌握一种以上的编程语言,根据运行环境选择合适的编程语言和开发平台。因此,每一个软件都具有其独特性,无法简单通过复制来完成开发工作。(2)软件的开发需求具有多样性特点。软件开发都是有针对性的,需要根据对象客户的需求进行开发。而不同客户的需求都不相同,因此无法像传统工业产业那样大量地复制和生产。在软件开发过程中,软件开发人员往往花费很多时间和精力去完成软件的框架和每一个组成部分。而通过观察可以发现,在需求相似的情况下,软件内容存在一定的共通性。随着软件的应用范围不断扩大,社会上对软件开发的需求急剧增加,传统的软件开发方式已不能满足软件产业发展的客观需求,因此有必要对软件开发方式进行改革。软件复用技术就是提高软件开发效率和质量目的的有效途径。
3工业控制设备软件开发中的软件复用技术应用
本文采用C++作为开发语言,使用MicrosoftVisualStudio2010作为软件开发平台,运用面向对象的方法,通过软件复用技术的应用来完成工业控制设备软件的开发,提高软件开发的质量和效率。
3.1工业控制设备软件设计
工业控制设备软件连接了需要控制的各项机器设备。在接通电源,采集系统通电后,系统自动完成初始化工作,软件进行初始化设置,用户登录信息验证无误后进入系统主界面。工业控制设备软件的程序模块主要包括用户管理、通信管理、信息记录管理和数据库信息设置管理等模块。用户的登录信息传到数据库后,与数据库的信息进行核对,数据库再将核对后的信息反馈到系统,系统根据数据库的反馈信息确定登录用户的权限。用户在权限范围内访问相关模块,进行操作。该工业控制设备软件连接到各台设备的串口,收集各串口的信息,及时反馈到软件的显示界面上。当设备运行情况超过软件设置数值时会向软件系统发出警告,系统可以及时反馈出现异常设备的运行情况,并将该情况进行记录并发送到数据库,形成历史记录。通过工业控制设备软件,可以实现技术人员对机器设备的实时监管,并且可以运用计算机处理并存储机器运行过程中的大量数据,避免人工处理数据时出现的失误,减少员工的工作量。
3.2软件复用技术应用
软件复用技术在工业控制设备软件开发中的应用主要体现在通过设计一个面向复用的工业控制设备软件,使得在以后的工业控制设备软件开发中,可以直接将复用软件中的构件用于软件中形成一个新的软件,减少工业控制设备软件开发的工作量。而要实现这一目的,就要运用分层次的体系结构模式,来搭建一个可重用的软件构架。软件分层次体系结构是软件设计的发展趋势[5]。在软件分层次体系结构中,每一层软件都建立在下层软件之上,下层对上层提供服务。软件分层次体系结构允许每一层软件用不同的方法来实现。每一层软件只会对上下两层软件产生影响,并且只对相邻层提供相同的接口。由于软件分层次体系结构的上述特点,运用分层次软件体系结构开发的软件可以支持扩充和重用。从软件开发的角度而言,简单地重复软件分层次结构中的下层软件并无意义。因此,在开发复用工业控制设备软件时应该考虑上层的服务接口设计[6]。具体设计为,在软件的数据抽象层上建立业务对象层,将业务逻辑编入业务对象层。业务逻辑层中一般包含有确认用户登录信息、记录系统日志和数据库存取权限等功能,与数据库引擎相分离。在进行其它相关软件设计时直接将这一层连入软件结构的相应位置就可发挥业务对象层的作用。根据软件分层次结构的有关原则,将工业控制设备软件的分层次结构设计为用户界面表示层、业务逻辑层和数据访问层的三层结构。为了保证分层次结构软件的可重用性,软件的层次功能传递是单向性的,即每一层软件可以命令下一层软件,但是每一层软件只能服务于上一层软件而不能调用上一层软件。因此,这三层软件由下到上的顺序为:用户界面表示层、业务逻辑层、数据访问层。用户界面表示层是最下层的软件层,负有连接用户与各接口之间数据来往的功能。当用户需要更改界面内容时,只需要修改相关数据,界面内容就会自动发生改变。用户界面表示层是最下层的软件层,其更改不会影响到上面两层软件的功能。业务逻辑层在用户界面表示层之上,负责对用户界面表示层传来的数据进行处理,具有确认登录信息、记录系统日志等业务功能。数据访问层是最高软件层,负责完成业务逻辑层传来数据后的数据库操作。这三层结构之间呈现单向依赖关系,即用户界面表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。根据该三层软件结构设计出的工业控制设备软件,在其它工业领域的控制设备软件设计工作中同样适用。该框架是由一系列的对象和对象之间的相互联系组成,程序设计人员只要将这些对象内的函数和大量数据进行补充,就可以得到一个复用的工业控制设备软件。而在后续开发类似软件时,程序员在该复用软件的基础上根据软件运行需要对内容进行扩充就可以设计开发出一个新的软件。
篇11
一、软件开发中实行项目管理的意义
项目管理就是在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求,实际上就是通过项目各方干系人的合作,把各种资源应用于项目,以实现项目的目标,满足项目干系人的需求,其本质就是对时间、质量和成本的管理。
随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,项目开发的管理日益受到重视。
二、目前在软件项目管理中存在的误区
现在大多数企业都认识到了在项目中进行管理的重要性,但是仍然有许多企业在实施项目管理的过程中存在着这样那样的误区,主要表现在:
1项目经理不够专业。在软件企业中,缺乏专业的项目管理人员来实施项目管理及担任项目经理,通常被任命的项目经理主要是因为他们能够在技术上独当一面,但是他们在管理方面特别是项目管理方面的知识比较缺乏。
2项目计划缺乏纲领性。项目经理对总体计划、阶段计划的作用认识不足,因此制定总体计划时比较随意,不少事情没有仔细考虑:阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。
3缺乏有效的管理意识。部分项目经理不能从总体上把握整个项目,而是埋头于具体的技术工作,造成项目组成人员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理没有很好的管理方法,不好安排的工作只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。
4缺乏有效的沟通制度和机制。在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失:有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。
5风险管理意识淡泊。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。
6项目干系人的不确定性。在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权威用户代表确认的需求:或者是多个用户代表各说各话、昨是今非,但同时又要求项目尽早交付:项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。
7缺乏项目团队的合理分工。项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任分工不够清晰而造成工作互相推诿、责任互相推卸的现象;有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰,但是各项目成员只顾完成自己那部分任务,不愿意与他人协作。这些现象都将造成项目组内部资源的损耗,从而影响项目进展。三、解决软件项目管理中存在的误区的有效策略
要想解决上面描述的误区,归根到底还是要从管理学的角度入手,即在软件项目的开发过程中加入过程管理的内容,这样我们可以在软件开发中对各个过程的质量加以控制,从而达到保证软件产品质量的目的。为了有效提高管理水平,我们应该努力做到:
1项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。
2计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。
3加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。
4制定有效的沟通制度和沟通机制,提高沟通意识:采取多种沟通方式,提高沟通的有效性。通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如:除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。
5通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法,掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。
篇12
网络教育是一种新型的教育形式,这种教育形式的产生与运用离不开软件技术的支撑。随着网络教育的不断扩展,现有的软件技术已经难以适应愈加丰富、愈加发展的网络教育,因此亟待对软件技术进行优化设计,不断进行软件开发技术工作,努力研制新的网络软件,最终促进网络教育水平的不断提升,促进网络教育的更高更快地发展。
(一)教育资源库的开发为网络教育提供了非常广袤的教学资源
网络教育的应用与发展,离不开网络教学资源库的支撑作用。可以说在网络教育发展中,网络教育资源库是根基。教育资源库的开发工作能够极大地丰富网络教育的教学资源来源,能够实现教学资源的优化与整合,能够综合性地提升网络教育的快速发展。在教育资源库的开发工作中,多媒体教学系统的构建与开发设计,能够及时地将教师的讲课视频或者教师的讲课屏幕及相关的课件内容传递给网络面前的学生,使学生能够在网络教育中,如同坐在教室中一样,身临其境地进行学习。各类学科资源科、开放式教育资源库、资源中心等教学资源与资源数据库的紧密结合,大大地提高了资源管理的效率。利用教学资源库的软件,学生无需紧紧盯着黑板,只需要通过计算机操作,就可以及时地快速地捕捉教师的课程讲解,同时还能够定格教师的教课过程,通过系统回放、暂停等多功能软件,对学习过程中的难点内容进行反复的推敲与学习,加深学习的印象。对于很多教师而言,利用这种开发设计的教学软件,教师可以极大地节省课程备课的时间,可以全身心地投入到教学过程中,而且在教学过程中还可以实现一边教学一边辅导。网络教育的发展离不开软件开发技术的发展,通过教育资源库的设计,教师可以有效、顺利地按照教学计划的内容,进行合理的教学组织工作,学生也可以利用教育资源库进行知识的反复练习,不断提升学习的兴趣,不断提升学习质量。
(二)教学管理软件的开发提升了网络教育的信息整合能力
在网络教育中,教学资源的丰富性一方面为学习者提供了广袤的知识来源,但另一方面也给学习者带来了繁琐的信息。如何帮助学习者快速地通过网络教育来查找相应的教学资源呢?在网络教育中应该加强教学资源的信息管理,将教学资源科学有效地进行分类整理工作,加强信息的筛选与整合,提升了教学资源的信息的利用效率。在网络教育中,应该构建完善的教育管理软件,通过开发设计这款教育管理软件,来实现教学资源与教学信息的分类整理工作。在传统的网络教育教学资源管理中,往往由计算机操作人员进行人为管理,这种落后的管理方式,对教学资源信息的更新速度较慢,难以适应学习者的要求,因为针对同一条教学资源或教学信息,不同的学习者的学习效率又快又慢,因此如何把握信息更新的频率,这是人为管理方式难以权衡的。在传统的教学资源管理中,管理效率低下,管理误差不断,管理手段落后等都严重制约着网络教育的快速发展。因此在网络教育中,进行教学信息管理软件的开发与设计,将人为管理的模式提升为信息化管理,既可以提升教学资源管理的效率,提升教学资源管理的质量,同时还可以极大地提升教学资源管理的科学性。教学资源分类管理软件的开发,能够将复杂、错乱的教学资源进行有机整合,将教学资源按内容、主题、关键词等不同标准划分为统一的信息,并构建了相关信息的信息管理库,加强信息的筛选与超链接管理,学习者在进行网络教育时,可以通过相关的搜索引擎进行针对性的课程搜索工作,并通过网页上的超链接进行相关内容的扩展。教学资源的更新管理软件,能够加强教学资源的定期更新,保障教学资源随时处于更新状态,为提升信息更新的精准性,在信息更新软件开发中,还设计了信息存储等辅助功能,新用户可以通过“历史消息”来查阅更新前的内容,而旧用户可以直接通过页面来进行新信息的查阅与浏览等工作。总之,教学资源管理软件的开发设计,极大地提升了网络教育中信息资源管理的效率和质量,加强了网络教育中教学资源的优化与整合,综合提升了网络教育的水平和质量,为学习者创设了科学良好的教学氛围。
(三)学科分类软件的开发使网络教育更具系统性
与传统教育一致,网络教育也需要针对不同的学科进行有机的分类,通过分类处理软件的开发,能够将网络教育中的教学资源按照相关的学科进行有机的分类与整理,能够按照学科体系的阶段性将教学资源进行优化整合,提升网络教育的针对性和系统性。学习者在网络教育中,可以通过分类软件进行教学资源的快速查找,同时还可以根据自己阶段学习目标,提前了解下一阶段的学习重点及难点,依托于现阶段的学习所得,重点加强对薄弱环节的侧重提升,以确保不同阶段学习的连贯性。同时在网络教育中,学科分类软件还可以针对学生的阶段性学习所得,进行科学的测试工作,以保证学生及时地发现自身的问题,及时地弥补自身的不足。另外,学科分类软件的应用,在细化知识分类的同时也为学生构建了良好的知识资源环境,研究网络环境下教师与学生的关系成为网络环境下教学模式构建的重要内容。
篇13
经营决策阶段成本是指公司经营方向的选择,这是成本管理的第一个也是最为核心的环节。不过对于大多数IT软件业公司而言,这个阶段往往是最大的问题之所在,有时经常凭一个觉得是灵感的想法或者对市场初步的直观层面的调研就进行的决策。而这样的结果是往往没有摸透市场的真实情况,轻率上马项目,造成方向性错误,以至于导致企业的危机。
该阶段的成本控制,关键在于经营决策前科学而深入的市场调研及准确分析,目前很多中小型IT软件企业,其经营部的职员大多都并不是社会调查专业的,因而他们做市场调查的过程中所采用的方法不太科学,如在样本选取及抽样过程不合理,没有按照严格的社会调查方法进行调查和数据分析,甚至问卷设计都存在倾向性导致调查数据信度偏低。此外,大量的公司自我宣传的各种形式的软文和竞争对手有意的攻击性文章夹杂在其中,并不是很容易的进行分辨,更何况数据的随意性,来源的不可追溯性各种情况,所以只能作为参考。
2需求整理及分析确认阶段的成本及其控制
需求整理指市场经营人员根据高管对于市场方向的决策,而提出的具体的产品或者项目的原始需求,需求分析是指技术员对市场部门的需求进行分析,评估其可实现性以及实现难度,大致工时等,提交相关需求分析报告,最后市场经营部门进行确认这个阶段。
该阶段的成本控制,首先需要搞清这种沟通过程中产生偏差的原因,最为主要的往往并不是技术语言和市场语言的差异,或者市场人员和技术人员之间的思维定势的差异,而在于两者缺乏确定的科学的流程和在交流之前的准备以及相关概念约定俗成的定义造成的问题,同时还由于沟通和确认环节由于其特殊性,经常难以被有效的纳入进度管理程序流程当中。而提高该阶段的成本控制效率,必须逐一针对性的解决以上问题,首先要清晰的确定并严格执行市场和技术沟通的流程,尤其是要明确每个环节的控制点,也就是双方交付给对方的关键交付物,一定要有清晰的共同确认的模板,同时每次沟通前必须对于一些概念有着清晰的界定,然后公布这些信息,并在沟通前做好充足的准备,明确每次沟通前要沟通什么,要解决哪些问题,沟通结束后要交付哪些文档让双方进行确认等,同时一定要通过线上或者线下的管理模式,讲所有沟通环节全盘把握,并纳入进度管理。
3规划阶段成本及其控制
规划阶段成本是指在需求已经得到确认后,进入技术规划阶段的相关成本控制,该阶段有些软件开发公司常常出现的问题是对于规划予以过度的期望和过于沉重的内涵,在实际项目操作过程中,这个规划实际上包含着技术规划和非技术规划两个部分,因为对这两个部分的混淆,导致一些技术层面和市场层面的东西不必要的纠缠在一起,并且直接导致项目进度的拖欠,而且会导致由于非技术规划的不清晰,直接影响技术规划层面的实施。
该阶段的成本控制,必须清晰的区分非技术规划和技术规划,尤其在公司内部技术部门和市场经营部门之间的职责,需要设立一个在提出需求到技术规划之间过渡的位置,即对于需求具体细节的整理,要对于交付物有着清晰的确定,尤其是在不同时期交付不同的关键文档,如除了上面说的那六个文档外,技术部项目组长在需求分析的时候,还应该明确提交功能模块分析,开发代价,功能流程图,功能关联性图,可维护性及可拓展性分析等六个文档,此外在项目开发规划阶段,还要对于控制点的一些要素进行详细的规划用来提交给市场部门,如详细页面元素,页面元素价值度分析,表现形式,页面结构,页面效果等。
4开发阶段的成本及其控制
开发阶段的成本指需求确定并且规划清晰后的具体开发过程的成本管理问题,该阶段相对其他阶段来说比较清晰,但这里笔者认为需要关注的是,如何使得人力资源得到最大程度的利用,它是指公司第一线技术人员的能力最大程度发挥的状态,包含几个层次,(1)全部时间利用,(2)最大效率利用,(3)最大潜力激励利用,这三步需要逐步递进实现。这个需要一种完善的内部管理制度,以及公平公正的价值认定模式和绩效制度,从而一方面促进员工本身的发展,一方面增加对人才的吸引力。
该阶段的成本控制,可以引入最大可控制成本的概念,这里是指人力资源最大程度发挥后所能控制的成本,是公司在一定投入前提下,最大的可能的减少因管理导致人力发挥不足够而造成的成本,该成本为人力资源的极致成本,无法再进一步降低,此成本状态下的仍然出现效益不佳情况,则可说明在经营定位和经营方向上的问题,而非内部问题。促使人力资源得到最大利用度和发挥度,在此基础上的成本,为最大可控制成本,以上可以通过内部的管理系统来很好的实现。5需求变更成本及其控制
需求变更成本指在开发过程中,由于市场部门的需求改变导致的成本增加而实施的控制,对于项目开发的过程中,需求的频繁变更就成本控制而言是致命的,很多项目由于需求的变更而导致破产。
该阶段的成本控制,最关键的是要对于需求变更过程进行严格的管理,要从需求变更的开始,对于整个变更的每个具体的步骤进行跟踪,并且严格核算每次变更所需要的工作时,从而做好评估。同时,务必要明晰需求变更的必要性和风险性,以及所带来的实际成本的增加,所以需求要尽量经过详细的论证。
6测试成本及其控制
测试成本指项目开发完成阶段,在交付验收前进行的测试过程中导致的成本及其控制,测试阶段对于一个项目的最终交付具有重大的意义,往往在测试阶段要才是使得项目真正完善的阶段,很多细节的修补都在测试阶段完成,正是测试使得一个项目成为一个可以交付,可以应用,可以产生效益的产品。但对于一些中小型软件开发公司而言,往往缺乏真正建制齐全的测试部门和专业测试人员,经常是技术人员进行兼任,这种方式相当普遍。但同时也导致了一些问题,主要是对于测试缺乏经验积累管理,或者说是错误管理,经常上次测试完出现的问题,过段时间又会出现,或者是开发下个项目的过程中又再次出现,增加不必要的成本。
该阶段的成本控制,笔者认为最关键的是对测试进行错误管理模式,采取“有错必改,凡错必究,错不再犯,预错于先”的管理办法,尽量在项目开发之前,就能整理出之前开发中出现过的所有问题,并用列表的方式进行技术会议,让所有开发人员进行错误共享,尽量把测试中可能出现的问题消灭再开发阶段,另外需要把测试过程化、即时化,每周甚至每天都要求每个开发人员在交付自己的子模块的之前就暗中预先准备的测试手册进行测试,通过后再提交,同时定时抽查某些核心功能模块,进行某个点的测试,这样全过程的控制,会最大程度的减少测试成本,同时要加快反应速度,一发现开发中,或者测试过程中的相关问题,必须跟进彻底解决,并纳入绩效考核中,杜绝再犯。
参考文献