20155321 《Java程序设计》实验三 敏捷开发与XP实践

实验内容

  1. XP基础

  2. XP核心实践

  3. 相关工具

实验步骤

  • 敏捷开发与XP

    • 软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。

    • 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。“敏捷流程”是一系列价值观和方法论的集合。

    • 极限编程(eXtreme Programming,XP)是一种全新而快捷的软件开发方法。XP团队使用现场客户、特殊计划方法和持续测试来提供快速的反馈和全面的交流

    • 一项实践在XP环境中成功使用的依据通过XP的法则呈现,包括:快速反馈、假设简单性、递增更改、提倡更改、优质工作。XP软件开发的基石是XP的活动,包括:编码、测试、倾听、设计。

  • 编码标准

    • 编写代码一个重要的认识是“程序大多时候是给人看的”,编程标准使代码更容易阅读和理解,甚至可以保证其中的错误更少。

    • 编程标准包含:具有说明性的名字、清晰的表达式、直截了当的控制流、可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性。

    • 代码标准中很重要的一项是如何给包、类、变量、方法等标识符命名,能很好的命名可以让自己的代码立马上升一个档次。Java中的一般的命名规则有:

      1. 要体现各自的含义
      2. 包、类、变量用名词
      3. 方法名用动宾
      4. 包名全部小写,如:io,awt
      5. 类名第一个字母要大写,如:HelloWorldApp
      6. 变量名第一个字母要小写,如:userName
      7. 方法名第一个字母要小写:setName
  • 结对编程

    • 结对编程是XP中的重要实践。在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试,一起做集成测试,一起写文档等。

    • 结对编程中有两个角色:驾驶员)是控制键盘输入的人,领航员)起到领航、提醒的作用。

  • 版本控制

    • 提交自己的代码

    • 利用git bush here命令,输入git add .命令(当前文件夹中所有文件都将被提交)把要提交的文件的信息添加到索引库中

    • 结对伙伴:20155330 朱玥 项目地址

    • 在开源中国项目管理中,添加项目成员,让对方将自己添加到项目中,作为开发者

    • git init建立库,git remote add origin + 项目地址添加对方项目地址并输入git pull origin master下载工程

    • 增加结对伙伴实验二中3个单元测试用例

  • 重构

    • 在不改变软件外部行为的基础上,改变软件内部的结构

    • 在IDEA上重构Student类

  • 结对学习密码学相关内容

    • 凯撒密码

    • DES算法

    • RSA算法

    • 共享密钥

    • MD5

问题及解决过程

  • 问题:我在git push的时候遇到了如下提示

  • 参考了学长学姐博客中的解决办法最终git push成功,具体操作如下图:

PSP(Personal Software Process)时间

步骤 耗时 百分比
需求分析 10min 10%
设计 20min 20%
代码实现 40min 40%
测试 15min 15%
分析总结 15min 15%

总结

本次实验主要学习了团队合作编写代码时,利用Git共享代码,修改对方代码、添加项目成员等操作方法,更加理解编写标准,今后写代码会更加规范。了解了重构的好处,代码的编写能够会更加简洁。除此之外,对密码学的相关内容有了更深的理解,特别是对DES与RSA的学习有了更好的帮助

原文地址:https://www.cnblogs.com/rafell/p/6805092.html