关于结对编程代码的思考与分析

 

1 Abstract:

  结对编程项目需求其实就是在个人项目的基础上增加web端或者本地UI,增加一个评分系统以及与帐号相关的一系列功能,如注册帐号,修改密码,验证登陆。核心功能仍然是怎么随机生成不同难度无重复的题目,而这恰恰是我们个人项目所做的事情。

       可以视为在个人项目的原型系统上进行迭代开发。

       本项目是在个人项目生成小初高数学题的基础上增加UI界面,采用HTML+CSS+JS+Servlet+tomcat的方式进行传统的JavaWeb网页端设计。并运用Maven进行管理项目结构。

 

2 项目架构:  

            

 

 

 

  如上图所示,项目主要的层次

  表现层(presentation):用户界面,负责视觉和用户互动

  业务层(business):实现业务逻辑

  持久层(persistence):提供数据,SQL 语句就放在这一层

  数据库(database) :保存数据

  

  用户的请求将依次通过这四层的处理,不能跳过其中任何一层。

 

 

 

 

            

 

 

 

3 优点:

 

  结构简单,容易理解和开发

  不同技能的程序员可以分工,负责不同的层,天然适合大多数软件公司的组织架构

  每一层都可以独立测试,其他层的接口通过模拟解决

 

 

4 实机演示:

 

        登录页面

            

 

 

           生成题目页面

            

 

 

 

           答题完毕

             

 

 

 

 

5 项目总结:

 

关于如何复用个人项目实现结对编程项目

  本结对编程项目的题目本身就是依托于个人项目进行的,需要将个人项目中命令行形式的交互界面转换为图形化界面,而最重要的生成题目的核心代码,作为个人项目的一个类,稍作修改即可添加到结对编程项目中作为一个封装好的生成题目类进行调用。

  个人项目的复用对于结对编程项目的进展有很大的帮助,也显示出模块化代码的重要性,之前写过的代码如果本身就已经是模块化的,就可以运用于之后的项目中,如此循环往复,积累代码量,对于项目的开发会愈加简单。

 

结对编程的经验、教训

  本次的结对编程算是本人第一次进行多人项目的开发,开发过程中难免有一些项目模块交流上和项目统筹规划能力的欠缺,使得在项目模块结合的时候出了一点小问题。而且对于项目模块分工的不明确,结构的不清晰都增加了项目流产的可能性,不过最后还是做出了符合要求的项目。这次的编程显示出做项目时项目流程和进度把握的重要性和队员之间及时沟通的重要性。

 

posted @ 2020-10-10 00:55  alexitive  阅读(102)  评论(0)    收藏  举报