20155239 《Java程序设计》实验三(敏捷开发与XP实践)实验报告

实验三 敏捷开发与XP实践

实验名称:敏捷开发与XP实践

实验内容

  • XP基础
  • XP核心实践
  • 学会使用git
  • 学会代码的重构
  • 实现团队合作

团队分工

20155239:按照老师的实验三教程,逐步实验,编写代码,并用git上传,下载团队成员代码,改变并重新上传,总结撰写实验报告。
20155202:按照老师的实验三教程,逐步实验,编写代码,并用git上传,下载团队成员代码,改变并重新上传。

实验步骤

(一)敏捷开发与XP

  • 软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。
  • 人们在开发、运营、维护软件的过程中有很多技术、做法、习惯和思想体系。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”。软件开发流程的目的是为了提高软件开发、运营、维护的效率,并提高软件的质量、用户满意度、可靠性和软件的可维护性。
  • 光有各种流程的思想是不够的,我们还要有一系列的工具来保证这些思想能够在实践中有效率地运作。软件开发很重要的一点不是看你能对多少理论讲的头头是道,还要看你对相关工具应用的如何,比如Java中单元测试要和JUnit的应用结合起来,建模要和Umbrello或StarUML的应用结合起来。编程学习是一个习而学的过程。
  • 一个常见的公式是:软件工程=开发流程+工具
  • XP是一种更加灵活的开发方式和理念,通过迅速的反应及时充分修改程序,保证所有团队成员对资源和责任的共享;适用于“小而精”的团队开发。同时,其所倡导的“倾听”也是实现了程序开发“需求至上”的终极目标。

(二)结对编程

结对编程中的两个重要角色:驾驶员(Driver)是控制键盘输入的人,领航员(Navigator)起到领航、提醒的作用。
驾驶员:写设计文档,进行编码和单元测试等XP开发流程。领航员:审阅驾驶员的文档、驾驶员对编码等开发流程的执行;考虑单元测试的覆盖率;思考是否需要和如何重构;帮助驾驶员解决具体的技术问题。
驾驶员和领航员不断轮换角色,不要连续工作超过一小时,每工作一小时休息15分钟。领航员要控制时间。

(三)版本控制

版本控制提供项目级的 undo(撤销) 功能;
版本控制允许多人在同一代码上工作;
版本控制系统保存了过去所作的修改的历史记录;
git命令上传代码:

 $ cd /home/shiyanlou/Code/shiyanlou_cs212
# 修改代码文件
# 添加修改文件
$ git add 所有修改的文件
# 提交到环境中本地代码仓库
$ git commit -m '本次修改的描述'
# push到git.shiyanlou.com,无需输入密码
$ git push

实验问题及解决方法:

++关于代码的重构:++

使用Eclipse中的重构功能来改名,我们可以看到在利用重构改变类的时候,后面所有涉及到使用该类的实例的代码全部自动改变,大大减弱了改变代码的麻烦


打开refactor选择Encapsulate Field
refactor重构

(四)实践项目

PSP(Personal Software Process)时间

步骤 耗时 百分比

需求分析 15分钟 9%

设计 15分钟 9%

代码实现 110分钟 64
%
测试 10分钟 6%

分析总结 20分钟 12%

总结

这次实验相对是、来说比较简单,在和张旭同学的结对学习下,学会了很多,很满意这次实验。

原文地址:https://www.cnblogs.com/lyx1996/p/6822199.html