软件开发论文十篇

发布时间:2024-04-24 11:06:10

软件开发论文篇1

软件开发论文2900字(一):动调式陀螺仪数据处理解释软件开发与应用论文

摘要:动调式陀螺测斜仪是一种新型精密陀螺测斜系统,适用于有磁性干扰的丛式井、加密井的钻探测量及在完井后的套管内或钻杆内进行测量。该仪器漂移很小,有效地提高了井眼轨迹测量结果的准确性。为了匹配仪器测量精度,测试数据处理采用空间曲线积分法,实现井眼轨迹空间展布的精细描述,开发出对应测斜资料分析方法与解释平台,为老井轨迹复测、侧钻井等提供实施依据。

关键词:动调式陀螺;井眼轨迹;空间曲线积分法;陀螺测斜解释平台

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的微软基础库类(micro­softfoundationclasses,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.数据保存

为了提高数据存储的效率,将数据存储分为数据保存和整理两个步骤,分别由两个线程执行。数据保存线程监测缓存区中数据采集下标iColData­index与已保存数据下标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结论

a.整个软件的设计契合了随采地震监测系统的特点,实现了随采地震信号的高效采集、完全存储和与处理软件的实时通信,软件具有运行稳定、操作便捷、处理高效、便于维护等优点。

软件开发论文篇2

新华社专电为杜绝学生在互联网随意抄袭他人论文,日本一教授和软件公司合作开发出一种可以识别复制粘贴行为的软件,眼下已投入使用。

日本共同社网站27日报道,这一软件由日本金泽工业大学研究院杉光一成教授和anK软件公司共同开发,名为“不要复制粘贴”。杉光教授说,“复制粘贴网络文章相当于盗窃”,他希望这个软件可以帮助学生改掉抄袭论文的恶习。这种软件可检索论文和互联网文章是否有相同段落。完全重合部分用红色表示,替换单词或改变文章结尾则根据重合程度用橙色或黄色表示。这种软件还可计算出抄袭部分占论文比例和占被抄袭论文的比例。

软件开发论文篇3

关键词:软件工程管理开发人员组织结构用户

一、引言

软件工程管理目前还没有引起人们的足够重视。究其原因:首先是人的传统观念,工程管理不为人们所重视;另一方面软件工程是一个新兴的学科领域,软件工程管理的问题也是刚被提出的。同时,由于软件产品的特殊性,使软件工程管理涉及到很多学科。因此.对软件工程管理,人们还缺乏经验和技术。但事实证明,由管理失误造成的后果要比程序错误造成的后果更为严重。很少有软件项目的实施进程能准确地符合预定目标、进度和预算的,这也就足以说明软件工程管理的重要。

二、软件工租,理的内容

目前软件生产自动化程度很低,在开发过程中人是起决定性的因素,因此,软件工程管理很大程度上是对人的管理。我们可根据软件产品的特点.分析软件下程管理的具体内容,它包括对开发人员、组织机构、用户、文档资料等方而的管理。

(一)开发人员

软件开发人员一般分为:项目负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员.根据项目的规模人小,有可能一人身兼数职,但职责必须明确。不同职责的人,要求的素质不同。如项目负责人需要有组织能力、判断能力和对重大问题能做出决策的能力;系统分析员则要有概括能力、分析能力和社交活动能力;程序员需要有熟练的编程能力等。人员要少而精,选人要慎重。软件生命期各个价段的活动有分工又互相联系。因此,要求选择各类人员既能胜任工作,又要能相互很好地配合.没有一个和谐的工作气氛很难完成个复杂的软件项目。

(二)组织机构

组织机构不等于开发人员的简单集合。这里的组织机构要求:好的组织结构、合理的人员分工和有效的通讯。软件开发的组织机构没有统一的模式。下面简单介绍三种组织机构。

1.主程序员组织机。iBm公司提出的主程序员组是软件系统结构化思想在组织上的体现。它的目的是为了保证全组的协调和统一。一位高级工程师(主程序员)主持计划、协调和复审组的全部技术活动。技术人员(一般25人)负责分析和开发活动,一位后援工程师支持高级工程师的工作,并且在该项目继续进行时,可以代替高级工程师工作,以减少可能的损失.

2.专家组。专家组强调每个人的才能,把每个人都看作是某一方面的专家,由这些专家组成一个开发机构。这种组织结构虽然能发挥所有工作人员的积极性,但往往有可能出现协调上的困难,选择这种方式要慎重.

3.民主组织.民主组织由从事各方面工作的人员轮流担任组长。很显然,这种组织结构对调动积极性和个人的创造性是很值得称道的。但是由于过多地进行组长信息“转移”不符合软件工程化的方向。

(三)用户

我们是为用户开发软件的,在开发过程中自始至终必须得到用户的密切合作和支持。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态.防止来自用户的各种干找和阻力。

1.用户不积极,不配合。这种表现通常来自对采用先进技术持怀疑态度的用户,他们心理上的抵触情绪会在行动上表现为消极、漠不关心。在需求阶段,做好这部分人的工作很重要,通过他们中的业务骨千,才能真正了解到用户的要求。要使他们认识到:计算机的发展和应用是现代化的必然趋势,使用计算机将会带来巨大的经济效益:让他们掌握新的技术和方法去取代某些可能过时的或淘汰的专长。

2.用户求快求全.这种表现来自对使用计算机持积极态度的人.他们中一部分人希望一个早上就能用上计算机,并且全能用上计算机。要他们认识到;开发一个软件项目不是一朝一夕就能完成的,软件工程不是靠人海战术就能加快的工期。另外,即使计算机能够处理的事情,系统也不能下于包罗万象,贪大求全。要根据现有的条件量力而行。如果系统大而全,必然会很复杂,开发时间就拖得很长,因此可能会导致一个系统的失败或性能太差.

3.用户需求变化.在软件开发过程中,用户可能会不断提出新的要求和修改以前提出的要求。从软件工程的角度不希望有这种变化。但实际上,不允许用户提出变动的要求是不可能的.因为一方面每个人对新事物有一个认识过程,不可能一下子提出全面的、准确的要求:另一方而还要考虑到与用户的关系。对来自用户的这种变化要正确对待:要向用户解释软件工程的规律,并在可能的条件下部分或有条件地满足用户的合理要求.例如:软件需求分析阶段结束后软件的设计口标已经确定,这时用户要求的重大变化要导致设计目标的变化,特别是到软件开发的后期,一般不可能满足这种变化的要求。要向用户解释清楚工程的内在规律,但对用户提出的如性能等局部方而的要求,只要是合理的,就要加以考虑。

4控制。人员控制是对开发组织内部人员控制。就是要保证开发人员的积极性和稳定性。人员的频繁更换或流动将会大大增加软件出错误的机会。至少要保证软件项目每一期工程或软件生命期每一阶段中人员的相对稳定性。同时注意发挥每个开发人员的积极性和创造性。经费控制要编制详细的经费预算。并在各阶段进行经费的核算。在经费上失去控制,软件项目就没有经济保证。质量控制与各阶段的复审在意义和作用上是一致的,在此不再叙述。

5.文档资料。开发过程的各种活动后都要反映在文档资料上。每一个阶段的文档资料是以后各阶段工作的基础,又是对前面各阶段工作的复审。软件工程管理很大程度上是通过对文档资料管理来实现的。因此,要把开发过程中的初步设计、中间过程、最后结果等建立成一套完整的文档资料。文档标准化是文档管理的重要方面。

软件开发论文篇4

1、JaVa编程语言在软件开发中的一些应用

一是JaVa编程语言的DatabaseConnectivity技术:该技术是对多重数据库进行统一,并且将数据库连接的方式给提供过来,将Ja-Va编程语言应用到计算机软件编程过程中,并且调试编译这些语言,就可以连接相关数据库,更容易实现后台数据库管理体系。另外一个方面,将本种技术给应用过来,还可以帮助程序员来统一接口和类。对此,将DatabaseConnectivity技术给应用过来,就可以构建更加高端的数据连接工具,进而支撑后台数据。二是JaVa编程语言的annotation技术:该技术是通过对JaVa编程语言内参数、变量、属性及类等内容予以联系并加以整合,在应用过程中与元素特点及属性相结合,可为使用人员提供相应的类别划分依据,科学分类,以便改变其行为。在这个方面,非常重要的一项技术是Beans,它作为一种安全高效控件体系,与开发平台是互相独立的,在编写程序的过程中,发挥着比较大的作用。三是JaVa编程语言的Remotemethodinvocation技术:该技术所用程序可分布式就可以得到实现,另外一个方面,经过调用JaVa编程语言中对象和类,并且运行客户机和服务器间的程序,将这种技术应用到程序开发中,可以有效整合资源信息,并且可以分布式运用调试不同的小程序,促使程序的完整性和安全性得到保证。

2、计算机软件开发的JaVa编程语言在生活中的具体应用

根据本文论述内容可以看出,JaVa编程语言存在相应的优势,如今,已经被广泛应用到日常生活中,在不断发展的过程中,也在不断扩大它的应用范围,除了小型智能卡,在大型企业中,相关任务的完成,也需要借助JaVa编程语言的应用程序来完成,不同的应用平台,就会采用差异化的应用程序。在实际应用过程中,我们比较熟知的就是借助于JaVa编程语言应用程序来对动态的画面进行设计。在设计交互操作中也有很多的应用,如定向交互、选择交互、控制流程等,同时,还可以实现计算机软件开发中的可视化和可操作化,比较显著的体现在了网页管理和动态设计中。如今,我们从JaVa运行的环境角度上来进行分析,版本包括三个,它们有着不同的功能,有着差异化的服务领域,这样就可以灵活应对各个不同的网络服务。

3、JaVa语言未来前景

因为JaVa语言具有诸多优点,故其具有美好的应用前景,其未来发展定会和互联网需求相互绑定。笔者认为,JaVa语言应用前景包括以下几方面内容:面向对象(全部)应用的开发;在软件工程中用于开发实现、系统设计、需求分析及维护;中型及小型多媒体系统的设计过程和实现;用于消息传输系统的实现;在分布计算交易的管理应用,internet系统管理功能模块设计过程,主要包含web页面动态设计、网站信息管理及交互操作等内容的设计;weB服务器后端和各种数据可连接管理器;internet系统管理功能模块设计、internet上基于weB及JaVa的应用开发。数据库、用户及网络的安全扫描等诸多系统;应用及网络管理系统;其他应用类型程序设计之中。

4、结语

软件开发论文篇5

计算机软件主要由两个部分组成,分别是系统软件和应用软件。应用软件解决的是每天生活中出现的问题,其中桌面软件和文字处理软件是主要的代表,不过对计算机进行监测、管理和维护的主要是系统软件,其中主要代表就是操作系统和自动检测程序。不过对于应用软件和系统软件而言,都是更好的利用计算机简化工作或者对工作的环境进行代替,所以,对于用户而言,其与计算机的联系就是与软件的联系。开始的时候,计算机软件的开发都是通过手动操作进行的,不过在使用这种方式的时候会出现很多错误,同时也没有很高的生产率,是很难满足逐渐复杂的软件需求的。但是伴随着一些企业对大型软件的开发,人们逐渐意识到,必须要利用更为标准化的文档,才可以更好的保证对计算机软件程序的设计、运行和调试,从而更好满足社会的需要。

2计算机软件的开发方式

2.1传统生命周期法

根据时间来对角度进行划分,对软件的各个方面进行分解,便形成了不同的阶段,与此同时,在这些不同的阶段中,都有着属于它们自身的要求,通常情况下半年时间为一个周期。如图1所示为某软件系统结构的生命周期模型。

2.2软件原型化方法

在最初的时候,这方面的概念依旧比较模糊,在这个阶段主要是对软件的开发和调试,但是因为局限于传统的周期要求,在初期资料确定方面已经成为定局,因此对于这种类型的软件不够合适。但是要是将计算机软件原型化,可以利用原型系统展开对软件本质的研究,基于这个基础,将获取新的发展,最终达到修改的阶段,这样就实现了对软件的建造。

2.3开发自动化形式

系统对于自动形式系统软件的开发,主要是通过第四代技术中的软件开发工具实现的,这种系统不需要操作员说出详细的方法,而是说出直接的内容,其次在通过软件工具的自动分析,设计出编码。

3计算机软件技术发展中的问题

3.1软件产业缺乏核心技术

我国软件产业还处于早期阶段,发展水平相对较低,特别是自主创新的能力,我国软件产业依旧处在全球软件产业链中的中下游水平,产品质量和层次都较低。出现这种情况,主要是核心技术的缺乏。

3.2软件人才结构性矛盾突出

目前,从事软件行业的人员都是一些基本的技术人员,他们主要是研究基础的程序,提供一些软件技术的支持工作,对于高水平的科研人员非常缺乏,所以导致中国的软件产业不能更好的发展,同时人员成本也相对较高。

3.3软件产品体系不合理

尽管中国软件产业在近几年有了很大的发展,但是在结构发展的方面依旧不合理,缺少领导者,也很难有广阔的国际影响力。

4计算机软件开发技术的应用与发展趋势

4.1计算机软件开发应用的表现

在今天,全球经济得到了飞速的发展,互联网有了广泛的发展和进步,在这个平台上,信息资源实现了全球化的共享,也促进了全球化的技术交流。在互联网的连接条件下,信系统还没有得到一个统一的控制,致使每个节点的自治性也较高,同时方便人们处理大型信息,实现各个地方的信息连接,使得资源共享,更加方便和简单,更容易实现大量的信息计算。

4.2计算机软件技术发展趋势

4.2.1软件技术一体化的发展趋势

对于传统的电气化、自动化和机械化的硬件系统而言,软件开发被逐渐融入进更加智能化、网络化和数字化的软件核心技术中去,这种计算机硬件系统的变换将会为经济的提升带来新的发展。

4.2.2智能软件技术的发展趋势

人工智能技术不断发展,应用的范围也逐渐扩大。因此确定了软件技术的开发方向,只有这样才能促进人工智能的进步,实现人类跨时代的进步.

4.2.3软件技术网络化的发展趋势

在互联网逐渐全球化的今天,大大缩短全球的距离,同时实现了计算机产业网络化的进步,这也将成为计算机今后的一个发展方向。

4.2.4软件技术服务化的发展趋势

对于客户而言,软件的开发需要将最优秀的理念和软件技术展现给客户,这样就需要为客户提供最优质的服务,从而形成软件行业自身的模式。

5结语

软件开发论文篇6

现代化社会的发展,软件工程广泛应用到嵌入式系统、人机界面、翻译器、电子邮件及数据库和各项操作系统中。在此基础上,还受到了航空、工业、政府部门及银行等各个行业的大力追捧,大大减少了各行业工作人员的工作总量,有效提高了他们的工作效率,并促使人民群众的生活质量得到提高,带动了社会经济的发展。软件工程的开发离不开软件工程师,根据领域的不同又分成系统测试员、分析员、工程师及程序员等,统称为软件工程师。他们肩负着对费用合理、质量良好的软件产品的开发,通常情况下,其主要以产品的可靠性、安全性、可维护性、实用性、功能性等指标来衡量软件产品的整体质量。

2软件工程开发技术

2.1软件标准化应用技术

软件标准化应用技术又分成软件标准和软件过程标准,其是软件构件和软件重用技术开发与发展的先决条件,可有效保障软件工程产业的健康发展。软件标准化应用技术直接关系到软件工程各项指标能否达到相关标准,其也是衡量软件工程成熟度的重要条件。国际标准化工程和系统工程委员会详细指出了软件工程的标准结构,加之美国国防部关于软件标准相关内容的提出,并列成为当代软件工程的两大重要标准。

2.2软件构件和软件重用技术

软件构件和软件重用技术一直是软件工程开发中的重要环节。软件重用是开发和研究软件的必要手段,构件作为一项基础条件有着不可小觑的重要作用。其中,软件重用技术可让软件工程师从大量写代码的工作中解脱出来,促使其更好的投入到更具适用性软件系统的开发中,从而确保空间和相关问题的一致性。软件构件技术是实现重用技术的前提,两者相辅相成,互相促进。这一过程中,各类开发工具是软件开发和应用的依托,如集成开发环境、构件库管理及运行环境等。

2.3中间件技术的采用

中间件平台作为软件系统开发和运行的支撑,是实现构件技术的前提。中间件适用于合适的平台上,加速软件的隔离和抽象,最终形成构件。因此,中间件技术在软件行业中备受青睐,根据分布对象、通信、事务处理、调用远程过程、访问中间件这五大类进行划分,具有划时代的意义。

3软件工程开发过程

3.1用户需求分析

用户需求分析即为在构建或改变软件系统时,应根据新系统的定义、范围及功能等内容进行用户群体需求分析,并综合分析数据准确把握系统定位,以开发出优质的系统软件。该过程中,协调需求分析员和软件工程师之间的关系是十分关键的,两者强强合作后,应首先找准目标用户群,并针对用户的实际需求确定系统软件的各项功能,最终制定出最佳系统开发方案。

3.2软件系统分析

软件系统分析主要是指归纳和整合需求调查中的各项数据和相关资料,并针对软件内部实际管理和信息处理情况进行分析。软件系统分析的主要目的是为了落实用户的相关需求,并寻求出最具适用性的解决方法,其是软件设计过程中不可或缺的组成部分。

3.3软件测试

在整个软件系统进入使用之前,软件测试是最为重要的环节之一,在进行软件测试时,不仅能对软件的需求进行分析,还能对软件的功能及性能进行验证。软件测试是指,根据运用软件的测试方法和测试工具,按照测试流程及测试方案,对被测试软件的功能与性能进行检测。在对软件进行测试的过程中,编程人员可以按照不同的软件和不同的架构编写出各种测试系统以及测试方案和工具,以控制将有可能出现的问题。在软件开发的整个过程中,都要紧抓各个开发环节及时进行同步的测试内容,并且针对测试中发现的问题加以解决,同时完善相关的开发程序。在此之后进行重复测试,在反复测试中不断完善各种问题,直到软件最终成为完整产品。

4软件工程开发的基本特征与应用情况

4.1明确性

软件工程在进行软件设计时就已经根据人们多种多样的需求制定了明确的目标。软件工程设计的任务是在工程实施或者产品投产之前,为这项工程或产品提供各种需求的标准,这一任务正是体现了软件工程中“需求分析”的特点,并且需求分析的质量对软件开发的成败有着直接影响。在这个阶段中,开发技术人员需要不断的与用户进行沟通和交流,完全明确软件开发项目的概念,最终形成一个完整的、清晰的、明确的开发目标。

4.2完整性

在用户或者服务器系统的应用中,保证信息准确无误的重要条件是数据及数据处理的完整性。因此,在软件开发的过程中,确保数据及数据处理完整性的逻辑要求是最为严密的。例如,有时在处理一个事物的过程中,会修改多个表格数据,如果在修改中发生了任何细小错误,都必须放弃整个处理过程,而不是其中的一个过程,然后返回最开始的阶段,以确保操作的完整性,从而保证了数据及数据处理的完整性。

4.3规范性

应用软件的开发工作在不同人员进行修改时需要能较为容易的接手,因此开发应用软件必须保证规范性。由于软件在开发的过程中需要按照一定的规则进行对象组合,所以能符合标准。但是如果是群体开发软件,由于每个程序员的想法及工作习惯都不相同,因此不容易符合标准,而软件开发的标准极为重要,必须保证其规范性,所以在软件开发的过程中,程序员之间需要多沟通交流,确保软件的顺利开发。

4.4易维护性

由于在软件开发的过程中,对象组合具有继承性,在对祖先对象进行修改时,也会对其继承对象造成直接影响,提高了软件程序在一定程度上的维护性。并且,逻辑规定和语法规定相同,群体开发软件不会因为个人特有的思想与工作习惯受到影响,从而使软件开发的维护性得到了保证,也提高了相互之间互相弥补的可能性。

4.5创新性

科学技术需要发展,发展离不开创新。随着工程技术的不断创新,软件开发出的产品在满足人们高要求的同时不断进步,为了获得广大用户的信任与支持,系统分析员在进行系统分析时,应当全方位了解广大用户的需求,针对用户的各种需求提出可行性方案,并且在不断的与用户交流中完善与改进方案,在如此反复中完成整个设计开发的过程。

5结束语

软件开发论文篇7

1.1计划阶段做好工作量估算

软件需求说明书得到客户正式签字确认表示项目需求分析阶段结束,之后我们开始创建工作分解结构wBS和制定详细软件开发项目进度计划。在成本估算中,工作量估算是它的基础,是项目成本管理的关键,我们对工作量的估算主要采用基于历史绩效数据库和个人经验的估算方法。对于每项活动来说,都是先确定人员,然后对活动本身进行详细分析,必要时查看公司软件开发项目历史绩效数据库,最后为各项活动建立了依赖关系,明确了各项活动的前置任务,活动开始时间和结束时间。对于一些比较难把握其历时的活动,我们在工作量估算上为其分配了3倍以上的工作量。另外,对于项目组来说,人员流动不大,在weB应用开发上已经有一定的项目积累和团队合作基础,因此,我们有大量可供复用的东西,如公共基础代码包,权限管理模块等,这些都是我们在工作量估算中需要考虑的因素。

1.2有效管理和控制风险

项目软件开发过程中,发生风险事件往往会引发项目成本增加或超支,所以在项目中我们对项目风险进行了必要的管理。作为项目经理,应当也是项目风险管理的第一责任人。项目经理要做好风险管理,应当具有较强的责任心、较强的对内、对外的协调和沟通能力和较好的专业和管理理论知识,另外,还要有较强的观察和分析事物的能力及较强的自信心和较好的创新能力。为了让项目组整体在各个阶段保持良好的风险意识,我们把项目中各主要风险事项公布出来,主要有以下风险:需求和范围界定不清;用户参与不足;计划不充分;缺乏领导支持;技术问题等。通过以上方法,我们看到了很明显的效果。比如说公司领导开始关心项目组的活动,参与到项目组每周的评审会议上,对项目组表示了极大的支持;在与客户的沟通上,我们与客户方主要项目负责人进行了面对面的沟通,并定期把风险事件列表发给客户方项目负责人。通过各种途径的风险预防措施,项目组整体信心十足,积极性和责任感增加。

1.3成本跟踪和控制

在软件开发项目的实施过程中,一定要对成本进行跟踪和控制。在水漆网项目的实施过程中,根据员工周报,我们对已完成的项目可交付物进行了严格的质量控制,实时更新了软件开发项目绩效报告。利用公司内部的项目管理分析系统,以月为单位输出项目月报,定期更新项目的进展及成本情况。根据由项目管理分析系统从财务部门统计汇总的实际成本支出与项目成本预算管理计划进行对比,执行偏差分析,通过阶段绩效报告利用挣值管理进行绩效测量。根据阶段绩效报告计算实际成本aC支出,再根据成本估算结果获取该阶段投入的计划成本pV,利用绩效报告在成本基准计划中已完成工作的总预算成本eV。通过偏差分析和挣值分析技术计算CV、Cpi,判断项目的成本执行偏差率,对项目进行阶段的绩效评估。对成本超出的原因进行分析,采取针对性的预防和纠正措施。

2结语

软件开发论文篇8

1.1敏捷方法介绍

敏捷方法诞生于2001年初,当时,由于看到开发团队陷入越来越沉重的软件过程当中。业界专家们总结出了一套使团队具有快速工作、响应变化能力的价值观和原则。基于这一套价值观和原则的软件开发方法,被称为敏捷软件开发方法(agileSoftwareDevelop-ment),而这类方法也发展出相应的敏捷项目管理体系(agileprojectmanagement)。敏捷开发方法及项目管理体系统称为敏捷方法(agile)。

1.2敏捷方法的优点

敏捷方法是一种以人为核心、迭代、循序渐进的开发及项目管理方法。该方法使用了迭代、增量等方法来优化可预见性并控制风险。它灵活、高效、可持续,可以帮助软件开发团队有效地应对复杂的适应性问题。

该方法受到拥护和流行是因为采用了该方法后,团队得到的收益:据统计,敏捷方法可以让团队的效率提升3~10倍;软件的质量也更有保障;团队成员有良好的发展机会;技术能力和团队协作也得到了提高。

2敏捷项目的快速启动

2.1什么是快速启动?

敏捷软件开发项目通常会通过1~4周的快速启动(QuickStart)工作,制定出迭代开发计划,然后在开发过程中逐渐完善需求。QuickStart是一种高效的项目启动方式,主要用以在项目开始之前识别关键的驱动因素,这种方式能够让关键干系人认可并理解即将交付的产品。如图1所示。

3QuickStart的前期准备

3.1邀请相关参与人员

QuickStart过程中需要邀请参与的人员包括:核心团队、领域专家及用户代表、关键干系人(受益人、高层领导等)。核心团队一般包括产品负责人、需求分析人员、项目负责人及核心团队成员。这些人需要全程参与整个QuickStart,他们是成果的主要贡献者。领域专家及用户代表主要在用户建模、场景建模等环节为团队提供专业的意见和建议。他们可以在某些阶段时参与到QuickStart中来。关键干系人主要参与QuickStart的启动和展示汇报的环节,并对产出成果进行确认,特别是需要对产品目标和计划进行确认和授权。

3.2拟定QuickStart的计划

在QuickStart正式开始之前,项目负责人和产品负责人需要拟定QuickStart的整体计划。以一个2周的QuickStart为例,整个QuickStart计划可以这样安排:

QuickStart启动及业务目标识别(0.5~1天)

参与人员包括:核心团队、领域专家及用户代表、项目领导

产出物:产品目标

识别主要角色及场景(3~5天)

参与人员包括:核心团队、领域专家及用户代表、项目领导

产出物:主要用户角色列表、核心场景及流程、页面设计及原型

需求列表梳理(1~2天)

参与人员包括:核心团队、领域专家及用户代表

产出物:用户故事清单

规模及成本估算(0.5~1天)

参与人员包括:核心团队

产出物:估算结果

迭代/计划制定(0.5~1天)

参与人员包括:核心团队

产出物:迭代/计划

QuickStart的成果汇报(0.5天)

参与人员包括:全体团队成员

产出物:成果汇报材料

4引入的各种流程建模及分析技术

4.1识别业务目标及愿景

业务目标的识别和确定需要符合SmaRt原则;需要了解问题的背景及上下文信息;需要定义验证问题成功的标准;需要界定问题的范围,例如规模指的是数量还是金额,或者单品规模;需要明确并逐步完善关键干系人信息;需要明确关键资源,例如领域专家或者关键信息等等;还需要明确该问题的各种约束条件。

4.2识别角色及主要场景

用户识别从头脑风暴的形式开始,尽可能识别出更多的用户,然后挑选出主要的用户和角色,并且为用户进行用户画像,并建立用户模型。通过理解用户的目标需求和痛点,梳理出更多的细分用户场景,之后对用户场景进行优先级排序、分析,以发现其中的问题或隐含的机会。

对问题和机会进行结构化的分析可以通过这几个方面来进行:

(1)进行问题/机会的原始描述;

(2)通过事例来说明问题/机会的现象;

(3)对问题/机会进行定量的分析;

(4)对问题/机会进行定义并明确对于问题解决的期望;

(5)将问题和机会的相关分析及描述标识在用户场景描述的周围。

业务流程梳理的过程中可以将之前识别出来的用户场景在进行串联。较高层级的业务流程将各个场景串联起来之后,就可以在场景中进行场景流程的细化和展开,分析出流程步骤和各个步骤的细节。业务流程场景中的步骤细节需要包含这些信息:场景名称、场景入口的背景说明,本场景中需要跟进解决的问题,场景中事件步骤,某个步骤的细节说明,还需要有场景的出口目标。

4.3產出productbacklog

根据上一环节中梳理出来的用户模型、场景模型、业务流程以及场景细节,开始进行用户故事的梳理,并建立用户故事列表。用户故事是为了方便与用户沟通而记录的信息,它不是需求文档,它需要以用户能理解的方式来进行描述。它的目的是要将用户的关注点从“写”转移到“交流”上,让开发团队做用户真正需要的东西,而不是用户写的东西。

一个用户故事的描述样例是:“作为一个<角色>,我想要<活动>,以便于<商业价值>”。一个用户故事是否成功可以从以下几点(inVeSt)来判断:是不是独立的(independent),是不是可协商的(negotiable),是不是有价值的(Valuable),是不是可以估算的(estimable),是不是大小合适、粒度相似的(Sizedappropriately),是不是测试能够测试、业务能够验收的(testable)。

4.4梳理依赖、估算及优先级排序

核心开发人员对已经梳理出来的用户故事进行初步的技术解决方案分析,确定用户故事的技术实现可行性和一些可能的实现方案。然后从逻辑层面和技术实现层面,对用户故事列表中的故事进行一次检视,对于一些无法避免的用户故事之间的相互依赖,需要在故事卡片上标识出来。对已经梳理出来的用户故事进行估算,估算内容包括故事规模估算、工作量估算等。

估算完成后可以根据用户故事的价值、重要程度、依赖等信息进行用户故事优先级排序。排序的原则是优先考虑那些最有价值的故事、最关键的故事、被其他关键故事依赖最多的故事。

4.5制定交付计划

经过以上各个环节,团队已经得到了了一份标识了优先级、依赖关系、工作量估算等信息的用户故事列表,此时可以开始来制定交付/计划了。根据已经排序的优先级选择并整理每个迭代/版本需要完成的用户故事,使用每个故事上之前已经完成的规模或工作量估算,加上功能联调和集成可能增加投入量的buffer值,整理并安排出整个交付计划。

对于最近的一个交付周期的安排是团队应该投入最多时间进去分析和做进一步估算的。确保第一个交付周期的所有用户故事清晰且被团队理解,并且该周期中的所有用户故事都已经有较明确的技术实现方案,可以在QuickStart结束之后马上进入开发实现。如图2所示。

4.6汇报QuickStart的成果

QuickStart的最后一个环节是召开QuickStart成果汇报的会议,该会议的邀请人员包括项目团队全体成员、项目领导、相关干系人。会议上向项目相关人员汇报QuickStart的成果产出,包括确定项目产品目标及愿景、需求列表及交付计划。在展示项目团队QuickStart成果的同时也获取相关领导及干系人对成果的认可和支持,统一项目团队人员的认识,为汇报结束后立刻投入到需求的開发实现奠定基石。

5结束语

软件开发论文篇9

关键词:应用型;基于项目;实践训练;答辩考核

随着我国高等教育改革的进一步深化,由教育部提出针对在校大学生的创新型人才和创业型人才的培养正逐渐成为应用型院校转型的目标。那么如何让在校大学生具备软件项目开发的技能和知识也是软件工程专业的培养目标之一。培养学生软件开发的应用能力已经成为软件工程专业的人才培养的首要目标。[1]《软件工程导论》课程的教学任务也由原来软件开发理论知识的讲授转变为软件开发基本技能和文档撰写能力的训练和培养,通过学习这门课使学生能够了解软件开发的流程,并且知道在开发的过程中每个阶段都做什么和怎么去做,让学生能够直接进入到项目组里,参与软件项目开发。这样改革的好处是多样的:1.这样除了对学生应用能力进行了培养,而且让学生对软件项目的了解进一步加深,后续为以后的其它专业课的学习也打下了基础;2.在同步开设的其他课程中,进行横向联合,让学生都针对同一项目进行训练,让学生能够学有所用,大大提高了学习兴趣和积极性;3.对各门专业课的教学内容和方式都有所触动,促进了教学改革的深入。目前,国内各个高校的软件专业中都开设有《软件工程导论》这门课。多数学校还是当作一门专业基础理论课来讲授,这样的学校大多是研究型大学,学生基础比较扎实,对枯燥的理论可以接受,但是只学理论没有实践造成的后果是学完就忘,学生只会答题;还有一些学校对《软件工程导论》课程进行了一些改革,比如将理论基于一种开发环境的软件开发,试图将理论和实践相结合,但是多数是面向对象开发方式,理论多实践少,落到实际课堂教学上还是教师说的多,学生做的少,对学生实践能力培养并没有多大的改变。对课程的教学改革主要包括教学内容的改革,教学方式方法的改革,考核方法的改革。

一、教学内容的改革

目前《软件工程导论》课程的教学内容包括:软件开发基础知识,需求分析,总体设计、详细设计、编码、测试[2]、项目管理这些内容,采用的是结构化的软件开发方法。之前我们只讲理论知识,特别是开发过程中的一些技术和软件,但是学生学完即使会做题也不会开发项目。现在,我们将教师实际参与开发的项目带领学生从需求开始分析,进行总体设计和详细设计加入到授课内容中,结合实际的项目开发的内容,把理论和实践相结合。学生边学理论知识,边完成自己的项目,可以将学到的知识应用到项目中,做到学有所用。希望培养学生整体软件开发的方法、软件项目管理能力、软件需求分析能力、数据库设计能力、人机交互设计能力、软件测试计划及方案的制定能力、课程报告撰写能力、学习态度等各方面能力。

二、教学方式方法的改革

《软件工程导论》是一门理论课,多数是在多媒体教室由教师讲授为主进行授课。现在,在开课之初,我们要求每个学生申报一个题目,整个学习过程中学到哪个阶段,学生就自己去完成所申报题目的该阶段的任务,这样课堂上老师讲怎么开发软件,在课下布置了大量的阶段性文档要求学生去完成,而且各个阶段所采用的方法也不同,随着各阶段任务的完成,学生也体会到了项目开发的过程、方法。为了保证学生提交的阶段文档的质量和保证学生的项目能够顺利进行,我们将阶段评审添加到了教学过程中。学生需要提交的阶段任务文档有:《软件需求规格说明书》、《软件概要设计说明书》、《软件测试报告》和《课程综合报告》。其中《课程综合报告》中要求按照毕业论文的格式要求去排版和完成,希望同学们通过这样的训练能够在毕业设计中取得较好的效果和成绩。在教学改革时我们还尝试着和同时开设的《数据库原理与应用》、《面向对象程序设计》等课联合起来,分别针对同一题目进行阶段训练,在最终答辩的时候由三门课的老师同时参与答辩,答辩成绩被记入到三门课的最终成绩里,比如《数据库原理与应用》课学习如何设计数据库就应用在了《软件工程导论》课的总体设计阶段,学生需要画出e-R图,给出主要表结构;《面向对象程序设计》课最终就是根据《软件工程导论课》分析和设计的结果用JaVa语言开发出一个小项目,这样学生不仅写出了阶段文档,最终还能做出一个实际的项目,增加了完整性和学习积极性。

三、考核方法的改革

原来我们都是采用试卷考核的方式,但是试卷考核只能考察学生的知识掌握能力,并不能考核学生的实践应用能力,而我们希望通过这门课程让学生具备一定的软件开发实践能力,所以由试卷考核改为答辩考核和平时阶段性评审。[3]这也要求在开课之初就制定出比较详细和全面的考核方案,我们的考核方案从课程报告、答辩平时表现这三大方面出发进行考核,具体考核标准如表1。而且,在课程报告提交时,我们有统一的文档格式和内容要求,包括需求分析报告,概要设计报告、测试报告、课程设计报告,在平时授课阶段就需要提交上来;而答辩时,将学生答辩的项目原型与学生之前提交的需求、设计进行对应,审核是否是按照需求和设计进行的开发;而且在近几次的答辩中,我们将答辩所占的比重逐步增加,这样可以看出学生的表达能力、思维能力、项目综合运用能力的高低。《软件工程导论》课程改革的目标就是希望将枯燥、抽象的理论课变成充满趣味和挑战的实训课,让学生通过本课程学习能够知道项目开发各阶段的工作内容,且能够开发一个简单的项目,避免在毕业设计时犯一些软件开发的常识性错误,比如项目开发流程弄错,如何进行分析和设计等等。同时为了提高学生的创新能力,让学生自己申报题目,从需求分析到最终分析设计结束都需要学生自己动手来做,通过学习软件工程思想和方法去完成软件开发过程,可以调动学生的主观能动性,真正做到独立思考,能够激发学生的潜能和创新性,为创新型和应用型人才的培养打下坚实的基础。

参考文献

[1]王菁华.地方高校向应用型转型必须实现三个根本转变[J].职业教育,2016.

[2]韩万江.软件工程实例教程[m].机械工业出版社,2014,3.

软件开发论文篇10

写作流程

自考计算机专业毕业论文有1年准备时间,写作时间的分配主要取决于考生软件开发的进度,如果考生开发的软件很成熟,那末后续的写作时间就较快,否则后面的写作就会很被动。例如,一般会在每年7月份登记,9月底开题,期间开发软件,到第二年2、3月就要完成初稿,再留一个月修改。

1、选题。选题首先要重要、有意义。例如有的考生选择设计木马程序,其本身是个病毒程序,这样的程序只能带来危害,实际生活中没有意义,就不能用于做毕业论文。

2、开发软件。开发软件要与实际相结合。实际性非常重要,要自己能开发一个能实际运行的软件。有的考生自己并没有参与实际工作,只是看书是不行的。自己参与的可以是一个大的项目或课题组,论文中介绍完大的系统后,一定要把自己的工作量写清楚。

3、写论文。开发完就可以写论文了,论文是个总结,但是不要写成工作总结,一定要有主题,应体现自己的开发思想和论述。写论文要达到一定字数,一般要3万字。其中,编程代码一般为2-3千行,

这个不是机器自动生成的代码,一定是自己写的源代码。论文结构

计算机专业毕业论文一般有8个部分。1、概述或引言。这个部分相当于大纲,一般要求4-5千字,主要是对软件开发背景,使用的软件工具、环境,最后达到的效果,自我在里面的贡献等;2、需求分析。软件有哪些功能、模块,用的什么工具等;3、设计方案和主要技术。主要是对里面每一部分的详细论述,使用的是什么技术,为什么使用。详细的模块分析或遇到的难点是怎样解决的等;4、具体的实现过程;5、测试。介绍自己开发软件实际达到的效果;6、总结。介绍自己开发软件的体会,或自己开发的成果使用情况,有什么评价,自己还有哪些不足,有什么需要改进的地方;7、致谢;8、参考文献。另外,还可以加一个“附录”部分。正文只能有一个中心,其他有重要参考价值的都可以放在附录部分。例如有重要的代码、图表,涉及其他领域的知识,需要解释的等都可以放在附录部分。案例1:《家装工程预算软件的开放》1、概述;2、需求分析;3、总体设计;4、数据库设计;5、软件功能的实现;6、结论及改进;7、致谢;8、参考文献。

案例2:《经纬中天无线短信增值服务管理软件的设计和开放》1、

引言;2、需求分析;3、设计方案论证和主要技术介绍;4、系统设计;5、编码实现;6、实际运行中出现的问题及相应的解决方案;7、结束语;8、致谢;9、参考文献。

答辩程序

答辩现场会有专业老师组成的答辩小组,一般为5人左右,学生抽签分配答辩组。答辩现场要考生做介绍和演示。考生需要提前准备幻灯片,一般不超过20张,为论文最核心部分的内容。考生结合幻灯片介绍论文,答辩小组老师会根据考生论文提出问题,考生要实事求是回答,最后答辩小组老师打分,求平均分给出考生论文成绩。大部分考生都会达到优、良,个别考生没有通过论文,主要有两方面原因:1、论文并不是自己真正所做,用别人的软件为自己所用,老师一提问就能发现破绽;2、考生论文做得太简单,达不到工作量。这就需要考生踏踏实实地按照要求去作论文。

零碎提醒

论文的题目不要太大,一定要具体、实际,不能吹成通用的;自考生考过全部课程后,最好能寻求实践机会。可以去应聘公司,真正参与一个项目,一边工作一边写论文;

论文不要上网抄,一定要自己做;

引用资料要有脚注;