今天小编为大家推荐《软件开发设计论文(精选3篇)》相关资料,欢迎阅读!摘要:油田系统建设过程中,地面工程的建设成本是整个系统工程成本中最重要的部分,也是占有最大比重的部分,在系统设计阶段实现油田地面集输管网的优化设计能够有效降低工程成本,提高工程建设的经济效益。油田地面集输管网的设计开发是在地下工程的建设方案已经选定的基础上进行的,并且要以地下系统工程的建设为基础。
第一篇:软件开发设计论文
科研软件开发中UI设计探讨
[摘 要] 软件作为一种技术载体和计算实体是科研成果有形化的有效途径,是应用和推广科技成果的重要手段。但在科研项目软件开发过程中,对于科研软件的UI设计重视不足、投入不够、资源缺乏等因素,往往导致软件在开发完成后由于较差的用户体验被束之高阁。文章探讨了科研项目中软件UI设计的常见问题,提出改善用户体验的策略和方法,并结合实例进行了分析说明,以期更好地提升软件质量、推广软件产品。
[关键词] 软件;用户界面;用户体验
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2015 . 21. 097
1 前 言
当前,网络信息技术的飞速发展正在深刻地影响着人类社会的变革,计算机技术已经渗透至政治、经济、社会以及日常生活的方方面面。在科研工作中,使用计算机技术,以软件为载体将科研成果有形化是应用和推广科技成果的有效途径,但由于科研工作的固有特性,在软件开发中,对于用户体验、人机界面的投入较之软件功能、软件性能要少得多,这使得科研软件在开发完成后由于其较差的用户体验往往被束之高阁,本文探讨了科研项目中软件界面设计的常见问题,并对改善用户体验方面提出解决策略,从而达到更好地推广科研软件、应用新技术的目的。
2 界面设计概述
用户界面(User Interface,简称UI)是指人(使用者、用户)通过敲击键盘、滑动鼠标、触摸屏幕等方式向计算机输入指令,而计算机通过声音、图像或震动反馈信息,这样一种人和计算机相互交互的系统即为UI[1]。UI设计主要是指对软件的人机交互、操作逻辑、操作界面的整体设计。国际权威的人机交互专家Norman博士强调,一个完好开发的、有凝聚力的产品,应该看上去美观,用起来舒心,使用户能够愉悦的欣赏,快乐地使用,同时增强心灵和思想的感受[2],良好的用户体验是用户界面设计的最终目标。
2.1 UI设计与用户体验
用户体验(User Experience)是指人机交互过程中建立起来的心理感受[2]。它要求以用户为中心进行组织设计和提供服务,通过创造性的工作来体现独特的个性和价值,是用户获得最大的成就和满足感。用户体验是艺术、交互和技术的统一[3]。对于设计师而言,用户体验应该贯穿UI设计的整个流程,UI设计的最终目标就是良好的用户体验,虽然用户体验是纯主观性的感受,但是对于一个界定明确的用户群体,可以通过把握用户体验的共性达到设计良好的效果[4]。
2.2 UI设计流程
用户界面设计同时也遵循软件工程的基本思想,通过流程化、规范化实施将为软件界面的持续改进提供保障。用户界面设计主要分为以下步骤[5]:
(1)需求整理及分析。作为一项软件产品,需求整理及分析是设计师获得产品设计目标的重要途径,通过需求分析确定软件界面需要具备的基本条件和必备元素,弄清楚用户人群特征、客户喜好、使用环境和使用方式。
(2)方案制定及选型。在明确目标后,设计师着手设计几套不同风格的界面方案以供用户选择,可以通过目标人群的自然选择结果作为选型依据。然后收集用户反馈,比如对各设计方案的第一印象、综合印象等,对方案的结构、色彩搭配、文字排版、内容展示的满意程度等,选出用户认为最佳的排列。设计师通过不断改进和反复推敲最终交由用户确认最优方案。
(3)产品开发及测试。方案选型结束后就进入产品开发阶段,软件界面设计是一个功能开发和测试交互的过程,通过不断调试和测试从而开发出功能完备的软件产品;
(4)产品交付及跟踪。软件产品的交付并不意味着软件生命周期的终结,对于软件而言进入另一个生命周期,在这个周期中,设计师仍然需要对软件的用户体验进行跟踪,收集信息,为后续的升级和改版做好准备,具体流程见图1。
3 UI设计常见问题
当前,以软件为载体将科研成果有形化已经成为科研工作的重要组成部分,软件往往成为科研项目推广和新技术应用的关键手段。但是由于科研项目的固有特性,在软件产品的UI设计中,经常出现以下共性问题,具体有:
(1)科研过程的严肃性和不确定性,往往导致软件开发人员重视软件基本功能实现,忽略软件UI设计这一重要环节,有的甚至认为科研项目软件产品的UI设计无足轻重。
(2)在软件产品UI上的投入远远小于软件功能实现方面,有的软件产品往往缺少UI设计师或专业设计人员,这就导致UI设计乏力,很难设计出具有专业水准的软件产品。
(3)缺乏美观、大方的用户界面,不注重UI结构设计,文字排版粗糙,即使软件功能再强大,但是界面呆板、颜色单调、输入困难等导致用户难以上手,对特定用户来说甚至形成使用障碍,这样的软件产品在短时间内难以吸引用户形成凝聚力,从而阻碍了软件产品的进一步推广和应用。
(4)功能复杂,UI设计晦涩难懂,用户需要专业培训方能掌握使用技巧,此类软件产品可能在UI的界面设计方面具有特点,但往往由于复杂的操作方法导致软件推广困难,这也属于不注重用户体验的产品类型。
4 改进策略及应用实例
4.1 改进策略
针对以上常见问题,结合笔者所参与科研项目中软件开发的实际经验,提出以下解决办法,主要有:
(1)树立UI意识,重视用户体验对于软件产品的作用,对于科研类软件产品开发,除满足基本功能需求外,必须考虑到特定用户群体的使用喜好和体验感受,对UI设计进行整体规划,根据软件产品特点分析UI设计具体需求,并制定设计方案,以目标人群的选择结果作为改进的方向。
(2)加大UI设计的投入力度,通过配备专业设计师或者设计团队在软件产品开发初期通盘考虑UI设计,优秀的UI设计将为软件产品的推广起到事半功倍的作用。
(3)软件产品交付后,软件进入新的生命周期,这个阶段的主要工作就是密切跟踪用户反馈,收集用户使用信息,通过不断改版和升级完成软件产品的更新换代,从而保证软件的可持续发展和用户体验的不断提高。
4.2 实例分析
以下根据笔者所参与的“标准编写软件”开发项目进行实例分析。“标准编写软件”用于辅助标准起草人编写符合标准规范(标准化工作导则最新版)要求、结构要素完整的标准文档,主要包括:文档模块、要素编写模块、段落样式设置模块和综合应用模块。该软件化繁为简,通过减少重复编辑和繁琐的样式设置,提高标准编写的质量和效率。本项目在软件开发前对需求进行了分析,主要UI设计要点如下:
(1)目标群体及运行环境。软件的目标用户群体为标准起草和制修订人员,用户主要特征有:具备良好的标准制修订从业背景,具有一定的英语读写能力,能熟练操作计算机和常用的办公软件等,该软件运行于Windows Xp/Vista/7(32位、64位)等系统,使用MS Office文字处理软件进行标准编写。
(2)软件风格。软件需要具备的基本风格要素有:简洁、工整、实用,具体就是用户界面简洁大方,结构排版工整规范,功能布局实用美观。
(3)配色方案。在UI设计中,颜色是最重要的设计元素,而配色方案的选取直接决定了软件风格和用户感受。目前,很多在线网站提供配色方案选型,主要方法有单色、类比、互补色、复合等色彩衍生方法,在本软件中采用Adobe公司的kuler网站实现以下颜色搭配方案,配色板见图2,配色板RGB值见表1。
该软件发布后,通过不断跟踪用户的使用反馈对相关功能进行了删减和重新排列,目前已经从V1.0发展到V2.3,并成为相关专业标准起草人员日常工作的必备软件。
5 结 语
本文对科研软件开发的UI设计中常见问题进行了归纳整理,提出了改进UI设计的方法和策略,将其应用于“标准编写软件”的开发中收到了较好的效果。目前,随着信息技术的不断完善,新技术的不断发展为良好的UI设计提供了技术上的保证,如Ajax、Silver light的出现为用户体验的进一步提高提供了可能,同时,加强UI设计对于改善用户体验的作用越来越明显,软件的UI设计也应遵循循序渐进的策略,不断收集用户反馈,通过改版和升级做到软件产品功能和UI设计从数量到质量的转变。
主要参考文献
[1]李文波,谢鑫辉. 浅论数字时代视觉传达设计专业面临的挑战与出路[J]. 艺术与设计,2013(8):163-166.
[2]朱征宇,陈烨,常红要,等. 网站界面设计用户体验[J]. 重庆理工大学学报:自然科学版,2010.24(8):37-40.
[3]邬燕,邱海涛. 体验UI用户界面设计[C]//2004年工业设计国际会议论文集,2004:624-628.
[4]郭会娟. 计算机软件用户界面设计研究[J]//2007年工业设计国际会议论文集,2007:142-146.
[5]王子畅. 浅谈用户体验在交互界面设计中的运用[J].设计,2013(2):220-223.
作者:杨扬 李晨 贾君君
第二篇:油田地面集输管网优化设计及软件开发
摘要:油田系统建设过程中,地面工程的建设成本是整个系统工程成本中最重要的部分,也是占有最大比重的部分,在系统设计阶段实现油田地面集输管网的优化设计能够有效降低工程成本,提高工程建设的经济效益。油田地面集输管网的设计开发是在地下工程的建设方案已经选定的基础上进行的,并且要以地下系统工程的建设为基础。本文就针对油田地面集输管网的优化设计方法和软件开发方案进行了分析,并提出了相应的解决措施。
关键词:油田地面集输管网;优化设计;软件开发
油田地面集输管网是油田系统工程中作为重要的一项组成部分,油田地面集输管网建设工程主要涉及管—站系统工程的建设,这一工程在油田地面建设过程中发挥着十分重要的作用,通常包括地面工程的实际运行成本、中间站的建设成本和管网的建设成本等几方面。通常情况下,因为油田地面集输管网建设的成本较高,所使用的转油站和管材所需的投资也较高,所以,解决油田地面集输管网建设问题,实现油田地面集输管网的优化建设是一项亟待处理的问题,该问题的解决能够大大提高油田建设的经济效益。
一、油田地面集输管网优化理论
油田地面集输管网系统是连接油库、功能站以及工艺管道,对伴生气和原油进行运输的系统。在其开发设计阶段,各个油气井的气体组成、产量和压力等都已经完全确定。油田的地面建设工程规划要根据油井与油站的连接方式、转油站的大小和计量站的规模等进行综合评定,也就是通常所说的油田地面集输管网的整体布局。在整体布局得以确定后,则需要尽可能地降低建设费用和投资规模,并在此基础上设计出保证管网日常运行的计量站所能承受的工作压力和经济管径。
油田地面集输管网系统通常需要较大的建设成本,占到油田地面建设整体成本的70%左右,所以,必须使用优化理论来设计油田地面集输管网系统,从而降低总体的建设成本。油田地面集输管网系统的设计是一项综合性极强的工作,要实现计算机技术、数学原理与工程理论的有机结合。集输管网系统设计就是要在地下情况、地面情况与油品性质相结合的情况下,使用合适的方法来尽量满足油田开发和运行的实际需要。而油田地面集输管网系统的优化设计是指在中转站和油井位置都完全确定的基础上,来合理规划网络拓扑的最优结构,可以选择把集输管网的优化设计划分为运行参数的优化选择、管网位置的优化布局、站址的优化设计和井群的优化划分等问题进行综合研究和分析。首先对各个部分分别建立相应的数学模型,然后再对数学模型进行求解操作,最终得到整体油田地面集输管网系统的最优化求解。
二、油田地面集输管网优化设计
油田集输管网系统主要由油井、中间站、管道以及各种油库所共同组成,集输管网的设计要参考油田所使用的生产工艺,从而确定各个转油站的建设规模和计量,同时确定各个中转站与油井之间连接管网的具体方法。油田地面集输管网系统通常需要较大的前期投资,也是整个油田系统中所需成本最高的部分,所以,如何实现油田地面集输管网建设成本的降低,也成为了油田地面集输管网优化设计的主要内容,使用优化理论能够较为恰当地解决这一成本问题。
油田地面集输管网優化知识在计量和油井之间的相对位置已经明确规定的基础上,计算出集输管网系统最为合理的拓扑网络系统。随着近年来计算机技术的快速发展和广泛应用,油田地面集输管网的优化设计也有了越来越多的方法,油田地面集输管网的设计是一项学科交叉且十分复杂的问题,需要综合应用计算机技术、经济模型和数学理论等多学科的协同工作,通常包括以下几点程序:第一,先要确定油田地面集输管网的实际拓扑结构,也就是环状管网还是树状管网的选择问题;第二,运用优化的数学模型,设置合理的约束条件;第三,对目标函数进行合理分析,确定优化设计的具体方案;第四,使用最优方法对数学模型求解,从而得出最优值;第五,对模型进行结果检验,改进计算方法和数学模型。
三、油田地面集输管网的设计软件开发
油田地面集输管网的设计需要使用相关的计算机软件,现阶段我国很多研究者和计算机技术研究者都在相关软件的开发上做了大量的工作,并开发出了一些较为实用的油田地面集输管网设计的应用软件。虽然我国在油田地面集输管网设计软件的开发较晚,但是发展的速度却很快。1990年起我国就有了关于油田地面集输管网设计的软件开发,并提出了集输管网的优化设计问题,即在中转站、计量站和油井系统中的从属关系已经明确的基础上,找到集数管网终端与各个油井之间的最佳位置。1992年,相关研究者在以往技术的基础上,提出了关于环形集输管网的优化设计问题。1993年,研究者开始利用数学模型的方法对油田地面集输管网的优化设计问题进行研究,并直接讨论了解答数学模型的复杂性,提出了相应的解决方法和策略,将整体设计问题划分为了参数优化选择问题、位置的优化选择问题和布局的优化选择问题三个方面,将各个部分有机统一起来,以求得整体目标函数的最大值。1994年,研究者对原油集输系统的设计问题进行了优化研究,在考虑层次优化模型和构造成分的基础上,将原油集输划分为了三个基本层次:一是系统的优化,即以最大程度降低总体成本为优化目标的数学函数,从而实现各个级站规模的最优设计;二是布局的优化,即在规模一定的基础之上,以最大程度降低建设管线的总长度为基本目标,实现各个级站从属关系和设计位置的最优设计;三是工艺的优化,即在明确规定布局和建设规模的基础上,以最大程度降低管线的运营和投资成本为基本目标,实现生产方法参数、各个级站设备和各类管线规格的优化设计。
为方便该系统的二次开发和日后维护,油田地面集输管网设计通常选择GIS软件,该软件具有较强的输出能力和图像处理能力,能够生成出各种不同比例的较为完整的土建,也能够输出各种统计图和统计表格,从而为不同层级的使用者提供形象、直观的双向联动数据。另一方面,该软件还具有较高的模块化程度,用户可以基于此功能进行软件的二次开发。
油田地面集输管网的设计软件系统主要包括以下几个模块:第一,系统数据设计。数据设计是油田地面集输管网工程信息系统的基础,会对项目建设和系统实际应用能否满足需求以及效能的发挥造成直接影响。数据组成主要包括:基础地理数据,即各种比例尺的地形图,数据格式可以是AU-TOCAD,ARC/INFO等,并完成相应的数据转换、校正、整饰、建库等工作;管网数据,即分布在厂区地上、地下的各类管网数据。数据输入以后,和地形图数据进行套合,形成完整的管网数据。由于地面工程信息系统中数据存储量比较大,对数据库的要求比较高,故本系统采用ORACLE 9i作为系统数据库,可以较好地满足西北油田分公司及下属单位的应用需要。第二,系统模块。从软件实现角度,本系统的模块划分策略为在最上层分为地图功能和查询控制模块。地图功能由结果查询、鹰眼、距离测算、前一视图、拉框放大、直接缩小、打印地图、面积测算、后一视图、地图漫游、全屏显示和直接放大等模块组成;查询控制由点选查询、图层控制、系统设置、分类汇总、选择地图、打印地图、名称查询、日期查询和拉框查询等模块组成。根据系统功能要求可系统划分为8个模块:管网Web发布子系统,管线规划子系统,管网维护子系统,管网辅助设计子系统,管网事故处理功能,管网管理子系统,管网输入编辑子系统以及地形图库管理子系统。
四、总结
综上所述,油田地面集输管网设计施工是一项较大的系统性工程,由于其自身具有多元性和复杂性的特点,因而实现优化设计的工作任务也十分繁重。在设计过程中,要根据地面集输管网的作业需要,以降低地面集输管网的长度为基本目标,在油田位置确定的基础上,实现转油站进口与所辖油井井口之间地面集输管网的优化设计时油田设计是油田建设中的重点项目。到目前为止,我国尚未出现有关于油田地面集输管网优化建设的专业设计软件,这就为油田的设计者和软件工作者提出了更大的挑战和更新的问题。
参考文献:
[1]魏立新.基于智能计算的油田地面管网优化技术研究[D].东北石油大学硕士学位论文,2008
[2]张立平.油气集输系统优化运行与设计软件研究[D].中国石油大学硕士学位论文,2008
[3]李元鹏.油田地面集输管网优化计算研究[J].油气储运,2010,10:19
[4]张子波.油田地面集输管网优化设计与软件编制[D].中国石油大学硕士学位论文,2011
作者:谢芳芳
第三篇:软件开发类毕业设计中敏捷软件技术的应用
摘 要:提出了在软件开发类毕业设计中采用敏捷技术进行过程控制的方法,从实际效果中可以看出,这种方法较好地解决了软件开发类毕业设计中遇到的各种问题,能够有效提高软件开发类毕业设计的质量,使学生在毕业设计中得到充分的锻炼和提高。
关键词:毕业设计;敏捷软件开发;极限编程;软件质量
0 引言
毕业设计是本科教学中非常重要的一个教学环节,是对学生所学知识的检验和总结,是培养学生独立分析和解决问题能力的重要手段,也是学生进入工作岗位前的最后一次实战演习;并且,它是本科教学水平评估指标体系的重要指标之一,是考核学校本科教学水平和质量的重要内容。
软件开发是计算机专业毕业设计中一个重要组成部分。学生开发的软件质量直接反映出毕业设计质量,而指导教师的指导和监控对学生开发软件的质量高低有很大影响。本文首先介绍了软件类毕业设计的特点、遇到的问题及其原因分析,然后将敏捷软件开发技术应用于指导和监控软件类毕业设计,最后通过具体的实践对其进行总结。
1 目前状况及问题
1.1 软件开发类毕业设计的特点
本科计算机专业毕业设计中,软件开发占很大比重。而软件开发类毕业设计与其他专业的毕业设计以及商业化软件开发又有很大不同,主要体现在:
(1)设计的最终目的是要生成可运行的、实现一定功能的、错误率较低的实际软件产品,而不仅仅是提交一份文档报告。
(2)设计小组成员分工合作,要将各人的成果整合,形成完整的软件;小组每个成员不是完全孤立的,每个人的工作都与其他人息息相关。
(3)项目小组一般只包括一个人或几个人,人数较少,远少于一般商业化软件开发项目小组的人数。
(4)小组成员没有足够的团队意识,没有足够的软件工程经验,一般没有作为一个团队的成员共同开发过软件产品。
(5)项目开发过程不完全,编码的结束即意味着项目的结束。项目不要求有完整的工程化的分析和设计文档。
(6)有些软件开发没有与商业项目挂钩,也就没有真实客户的需求对其进行功能和性能上的监控。
1.2 遇到的问题及原因分析
根据上面的特点可以看出,普通毕业设计的指导方式或是工程化的控制手段,并不能适应软件开发类毕业设计,最终会导致毕业设计质量低下,学生得不到真正锻炼。比较突出的问题主要表现在以下几个方面:
(1)项目组成员各人任务不明确,能力参差不齐,并且有时没有充分地交流设计思想,最后导致软件各个功能模块无法有效整合。
(2)项目需求因为各种原因不断改变,软件不断修改,最终完成的软件产品达不到设计要求。
(3)编码开始后,软件的错误和缺陷不断涌现、不断累积,最终无法控制。
这些问题的产生,固然与设计选题、学生能力、实验环境以及教师的指导力度分不开,最重要的还是与教师的指导和监控方式有关。应当采用恰当的指导和监控方式,最大化地促进学生能力的提高,最有效地根据各个学生的特点,推动学生逐步达到毕业设计软件质量和功能的要求。
2 敏捷软件开发技术的应用
采用适当的指导和监控方式,实际就是要求教师对学生软件开发应用适当的软件过程模型,也就是软件开发的工程化控制手段。
2.1 敏捷软件开发简介
传统的软件工程方法中的架构设计与程序开发在时间上是先后分离的,这种分离常常导致一些脱离实际的设计和脱离设计构想的编程,导致最终软件开发的不理想甚至是失败。鉴于以上问题,敏捷软件开发技术应运而生。
敏捷软件开发以交付而不是以构造为核心,它强调的是交付对客户有价值的软件,而不是用户需求中所描述的软件。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷软件开发方法提倡采用先进的技术和高水平的小型团队,并辅以人性化的管理,充分发挥软件开发者的才华,建立畅通的交流机制,使软件开发团队水平和软件质量共同提高。
敏捷式开发采用适应性方法,而传统的软件工程学采用的是预测性方法。敏捷式开发是以人为主的,而传统的工程学是以过程为主的。二者的主要区别存在于它们对软件开发过程的描述中,也就是说,敏捷开发实现当前最需要的功能,然后根据变化来修正和改进;而传统软件工程学一开始就将软件的各种架构预测好,然后采用固定的过程来实现这种架构。软件开发中的变化是不可避免的(通常传统软件开发的失败主要原因就是不能很好适应这种不可预知的变化),因此就要找到一种新的方法能够更有效地适应变化,这其实也就是敏捷式开发方法所要达到的效果。
可以看出,上述的敏捷软件开发的许多特点正是与软件开发类毕业设计的许多特点不谋而合,例如,小型的开发小组,适应性(适应不可预测变化)的开发机制,短期的交付(毕业设计一般都在半年甚至更短时间内完成软件的交付),充分发挥小组成员的特点,建立畅通的交流机制等等。因此,将敏捷开发思想引入毕业设计中的软件开发,不失为解决后者诸多问题的很好尝试。
2.2 敏捷软件开发应用 敏捷软件开发技术包含若干的价值观、原则和实践方法。将其用于毕业设计的指导和监控,主要应包含如下原则的应用:
2.2.1 增量式开发
传统软件类毕业设计采用传统软件工程学指导方法,先进行需求分析,然后根据需求进行功能模块划分,接着开始编程。如果最初阶段不能很好地完成分析和设计任务,后面的软件开发将出现严重问题。
而在敏捷软件中,采用的是增量式开发,对于难度较大的软件设计,不是一步吃透功能,而是逐步添加功能,在改进的过程中促进学生能力的提高。在笔者指导的一项毕业设计中,要求学生用Java编制网络实时通讯软件。采用增量式开发方法,先要求学生实现基本功能,即发送字符串到另外一台计算机,使用Windows的超级终端作为接收机进行测试;接下来要求学生实现程序互相发送和接收字符信息;然后,实现聊天室的多人聊天的线程控制;进一步可以实现数据库存储登录用户信息,并进行验证;最后,实现其他功能,例如网络硬盘,文件传输等等。在开发过程中,增量式设计能够让学生逐步进入高层次的内容,而不是一开始就进行高难度的开发。并且,通过逐步修改代码,可以提高学生阅读代码和优化代码的能力,学生的编程水平得到很好的提高。
2.2.2 可持续的开发速度
敏捷开发技术不要求团队一开始就尽全力完成任务,而是尽量保持一种稳定的、可持续的开发速度;团队的成员必须始终保持旺盛的精力和警觉的思想。
在很多毕业设计中,一开始学生就以极高的热情和全力以赴的状态去工作,然而随着进度的延缓,错误不断增多,以及越来越复杂的需求变化,学生的热情迅速减退,最终影响设计成果。因此,指导老师必须充分调动学生的积极性,又不能让学生
的精力过早地消耗,要保持一个稳定的进度。
2.2.3 简单
敏捷软件开发方法采用最简单的方式实现当前最需要的功能。在毕业设计中,针对某一个功能,采用尽量简单的方式去实现,不需要考虑为了将来的功能而进行“提前的准备”。因为这种“提前的准备”往往会让学生考虑问题过多,反而忽略了当前最重要的内容。
然而,简单并不代表着功能的缩减,当某些功能的实现成为必须的时候,敏捷软件开发方法采用在代码上改进的方式来完成,并且以此为机遇,充分进行反省,让学生在改进中得到进一步提高。
2.2.4 结对编程
结对编程是敏捷开发和极限编程(XP)的重要实践,它是指两个程序员结对使用同一台计算机完成编码——其中一位控制键盘并输入代码,另一位观察输入的代码并寻找着代码中的错误和可以改进的地方。这种方式能极大地促进知识在团队中的传播,并有效降低代码的错误率。
在毕业设计中,根据学生的特点,采用结对编程方式,可以让学生充分交流,互补所短,互用所长,互相学习。例如,在网页制作类的软件开发中,ASP脚本编程人员和界面设计人员结对,能够充分利用二者的特点,将脚本程序和网页界面元素有机地结合起来,形成功能完善,界面美观的动态网页。
2.2.5 适应改变
敏捷开发的一个重要特点就是它能够很好地适应改变,并且欢迎改变。这里的改变主要是指功能需求方面的改变。而敏捷开发对改变的适应,主要是通过增量开发,持续交付以及不断地改进与反省来实现的。
在毕业设计中,设计题目一经给出,主要方向不能变。然而选择题目的学生是变化的,个体能力有时候有很大差别,并且在开发中会碰到很多不能预知的技术问题。采用敏捷开发中的过程控制手段,可以有效地让毕业设计小组更好地应对各种变化,不会因为突发因素导致软件开发的失败。
2.2.6 个体激励和交流
毕业设计的重要目的是促进学生各方面能力的提高,采用的手段可以有很多。在敏捷设计中,强调个人能力在团队中的充分展示。把这种思想应用于毕业设计指导中,可以采取定期召开小型交流会议的方式,让每一个组员充分发挥自己的能力,以“头脑风暴”的形式对系统当前状态和改进方式进行畅所欲言的交谈。通过这种形式的交流,能够充分调动整个小组成员的积极性,及时发现系统开发过程中的各种问题,增强整个小组的凝聚力,有效提高学生的团队协作能力。
2.2.7 反省
好的团队并不只是埋头工作,他们会思考如何工作和为什么工作。在毕业设计指导过程中,指导教师应当在适当的时机提醒学生对开发工作中各项内容进行反省,让学生能够有机会去辨别可能或已经发生的错误。反省不仅仅是简单的思考过程,反省的后面应该紧跟着行动,学习是反省的行为,要能够将错误造成的危害尽早地阻止,并从中学习,以免同样错误的再次发生。
2.2.8 其他原则
敏捷软件开发技术还包含其他一些原则,在设计中包含了面向对象设计的一些基本原则,例如单一职责原则(SRP)、开放一封闭原则(OCP)等等。要将这些设计原则应用到具体的软件开发中,需要学生熟悉面向对象程序设计的相关概念和技术。
将敏捷软件开发技术应用到毕业设计的指导过程中,需要指导教师本身对它有较为深刻的理解,并且勇于进行大胆的尝试一毕竟敏捷开发的很多实践是与传统软件工程学方法相悖的。指导教师可以先在某一门程序设计课的课程设计中采用这种思想,然后进行相应的调整,再将其应用于毕业设计的指导工作。
3 结束语
将敏捷软件开发技术应用于指导毕业设计,能够充分适应软件类毕业设计的特点。在实际采用这种方法对我校的两组毕业设计小组进行指导的过程中,可以看出,这两组同学在对语言工具和相关知识不是很熟悉的情况下,采用渐进的方式,逐步实现设计要求的功能,并且不断对代码进行改进,软件完成的质量比其他小组明显要高。毕业答辩中,小组成员能够很清晰地阐述其软件开发进程以及相关知识的学习过程。并且,小组成员通过毕业设计加深了交流,团队协作能力有了大幅度的提高,小组成员个人的精神面貌也有了较大的改变。
作者:杨 健 张晓玲 周少云