基于C#的结对编程的分析和设计

作者:印晶 更新时间:2012-05-28 14:40 点击:
【论文发表关健词】结对编程;相容性;设备号;角色;团队合作
【职称论文摘要】
编程对每个计算机从事者来说都是不可或缺的,程序员们往往需要通过合作来完成一个规模较大的项目。如何高效的完成团队任务就成为亟待解决的现实问题。基于此种情况,提出了结对编程的分析与设计方案。在Visual Studio 8.0的平台上,设定倒计时功能,于规定的时间对导航

The Analysis and Design of Pair Programming Based on C#
  YIN Jing
  (Computer College, Nanjing Normal University, Nanjing 210046, China)
  Abstract: Computer programming is essential to every computer pursuer. Programmers usually accomplish a large-scale project by cooperation. It becomes an urgent matter how to complete a team task efficiently. The analysis and design of pair programming is raised in this condition. In the development platform of Visual Studio 8.0, the countdown function is set up. And the system will exchange the roles of navigator and driver within the set time. In this case, not only the programming efficiency is improved but also the quality of code is advanced. Meanwhile, it develops the team spirit of programmers.
  Key words: pair programming; compatibility; device number; role; teamwork
  在传统的模式下,程序员独立编写各自的程序模块。长时间的工作让程序员被疲劳,厌烦等不利因素所困扰。一旦产生瓶颈,就会延迟工作并降低程序员编程的信心,不利于培养程序员的编程兴趣。此外,传统模式下,程序员们也很少交流,团队意识较弱。
  相反的,结对编程由于有了双方的合作,同一段代码被反复检查,保障了代码的可读性和可维护性,减少了修改的成本。结对编程时,由于对方的监督,带给编程者潜意识的压力,让编程者不得不思想高度集中,这就提高了编程的效率。两人合作时可能对问题产生不同的看法,这就迫使程序员频繁的交流意见,加深了彼此对问题的了解。最终还会增强程序员的信心感和成就感。
  该文的目的就在于为程序员提供这样一个高效的编程平台。下面将从总体架构设计,主要模块和设计方案等三个方面具体阐述结对编程的设计思想。
  1总体架构设计
  采用Visual Studio 8.0以及SQL SERVER 2005实现结对编程的主要功能。整体的架构则可以从硬件和软件两个方面来描述。
  从硬件的角度来看,需要准备一台电脑,两个鼠标,两个键盘,两个显示器以及一个共享器。两个显示器可以通过共享器连接同一台电脑上,以方便程序员同步地接受程序编写的进度。主机上还需配套两人份的鼠标和键盘,这样程序员就可以单独地对程序进行编写和修改。
  如果从软件的角度考虑,可以按照用户操作的顺序来划分。首先是程序员的身份验证。在程序员输入用户名和密码后,系统通过与数据库中信息的比对来判断是否为会员用户。此处登录成功是指结对编程双方的登录信息都为正确,否则,视为登录失败。
  与之相配套的是注册界面,和其他注册不同,注册界面提供了一个新的内容:从题库中随机地抽取固定数量的选择题,规定为必做项目。程序员完成后提交给系统,系统算出程序员的得分,满分为一百分。系统根据程序员的得分划分等级。结对双方在登录之后,系统自动调用数据库中所存等级进行相容性分析,大致判断是否适合合作,并给出建议。程序员点击按钮开始编程,系统就进入倒计时状态,规定时间到达后强制交换角色。程序员也可以主动提出交换请求。
  2主要模块
  2.1相容性分析
  两个程序员合作之前,需要了解双方的编程风格,编程能力和性格倾向。如果性格都是内向,就可以初步断定为不适合合作编程,这就是所谓的相容性分析。为了保证结对编程的效率,在开始编程之前,系统给出结对双方相容性测试结果,让双方了解是否适合结对,以避免程序编写效率的低下。
  注册中提供的相容性分析问卷还包含程序员要完成的项目的难度,这也是决定相容性分析结果的重要因素。一般来说,项目难度较高时,适合两个编程能力都突出的程序员合作完成,这种搭配可以提高双方效率。中等难度的项目可以让一个能力较强和一个能力中等的合作,这样可以提高能力中等的程序员的水平。如果项目简单,可以让能力都一般的合作,完成任务的同时积累双方的编程经验。
  2.2角色转换
  当负责键入代码的驾驶者在编程时出现低级的错误或自己并未察觉的方向性的偏差时,监看的导航员可以点击角色转换,纠正错误,写入正确的代码。此外,若驾驶者工作时间过长,可能会出现过度思考并影响观察力和判断力。若驾驶者有意转换,就可点击角色转换按钮,让领航员接手编程的任务。
  2.3强制转换
  由于每个人每天的有效工作时间只有3-4个小时,因此在结对编程中需要强调的一点是限制程序员的工作时间。系统给定固定的时间,程序员们也可以根据自己的需求在系统设置中修改这个时间。程序员在编程时,系统将处于后台运行状态,只留下悬浮窗供程序员了解剩余时间。在系统强制转换之前,会给出提示,若程序员不同意,系统将在5分钟之后再给出提示。
  3设计方案
  3.1登录和注册
  事先在SQL SERVER 2005中建立名为pair的表,用于存放注册信息。在Visual Studio 8.0操作平台上,调用using System.Data. SqlClient命名空间,建立与数据库的连接,并对数据库进行读写操作。注册模块中,拖动textbox等控件以便让程序员填写用户名,密码以及相容性分析的问卷题目。下面是部分代码:
  SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;
  Integrated Security=SSPI;database=pairs");
  SqlCommand cmd = new SqlCommand("select * from m", conn);
  conn.Open();
  try{SqlDataReader dataReader = cmd.ExecuteReader();
  while (dataReader.Read())
  {
  string str5 = (string)dataReader[0];
  string str6 = (string)dataReader[1];
  int n= (int)dataReader[2];
  if(str1==str5.Trim()&&str2==str6.Trim())count++;
  if(str3==str5.Trim()&&str4==str6.Trim())count++;
  }
  if (count == 2 ){ Index f = new Index(); f.uname = str1;f.pwd = str3;}
  3.2鼠标和键盘的切换 (责任编辑:论文发表网)转贴于八度论文发表网: http://www.8dulw.com(论文网__代写代发论文_论文发表_毕业论文_免费论文范文网_论文格式_广东论文网_广州论文网)

发表评论
本站模板均经测试成功,请放心下载,遇到任何问题或者需要购买付费论文请联系本站。
表情:
验证码:点击我更换图片