实验三 敏捷开发与XP实践 实验报告 20162305

一、什么是敏捷开发与XP

  • 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
  • XP,全名为extreme programming,译为极限开发。XP的活动包括:编码、测试、倾听、设计。项目成员用户成功执行XP活动的技术通过XP实践来呈现,包括编程、团队、过程相关的12条实践,其中的编码标准,结对编程,代码集体所有,测试,重构值得我们关注。

二、关于IDEA中Code的使用

-IDEA中的Code中为使用者提供了一系列的操作方法,让使用者能够更好更快地对自己写的代码进行调试和修改。

  • Code中有很多的方法,比如重载方法、将代码格式化、移动等等,其中我觉得最好用的是generate方法。generate方法会自动为了代码产生一系列的方法同时,它也可以为你所编写的代码直接生成一个测试代码,极大地提高了编写代码的效率。

三、结对编程

在结对编程模式下,一对程序员肩并肩地、平等地、互补地进行开发工作。两个程序员并排坐在一台电脑前,面对同一个显示器,使用同一个键盘,同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起单元测试,一起集成测试,一起写文档等。
我本周和陈是奇同学进行结对编程,编程实现四则运算。

四、代码重构

  • 代码重构,指的是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。我觉得,代码重构就是优化代码,使代码更加完善。IDEA中Refactor功能键中提供了很多的方法用于帮助我们重构代码。我们要修改软件,万变不离其宗,无非就是四种动机:
  • 1、增加新功能;
  • 2、原有功能有BUG;
  • 3、改善原有程序的结构;
  • 4、优化原有系统的性能 。

五、Java密码学

Java安全体系结构总共分为4个部分:

  • JCA( Java Cryptography Architecture, Java加密体系结构):JCA提供基本的加密框架, 如证书、 数字签名、消息摘要和密钥对产生器。
  • JCE( Java Cryptography Extension, Java加密扩展包):JCE在JCA的基础上作了扩展, 提供了各种加密算法、 消息摘要算法和密钥管理等功能。JCE的实现主要在javax.crypto包( 及其子包) 中
  • JSSE( Java Secure Sockets Extension, Java安全套接字扩展包):JSSE提供了基于SSL( Secure Sockets Layer,安全套接字层) 的加密功能。 在网络的传输过程中, 信息会经过多个主机(很有可能其中一台就被窃听) , 最终传送给接收者, 这是不安全的。这种确保网络通信安全的服务就是由JSSE来提供的。
  • JAAS( Java Authentication and Authentication Service, Java鉴别与安全服务):JAAS提供了在Java平台上进行用户身份鉴别的功能。

其中,密码学的重要部分分为三部分

  • 体验加解密---凯撒密码
  • Java对称加密-DES算法
  • Java非对称加密-RSA算法

实验截图

实验心得

本周的实验让我们体会了敏捷开发与xp实践,让我们对编写代码的过程和思路都有了进一步的认识和理解。通过本次实验过程,我学会了很多,特别是有关idea的使用和Java密码学这一部分。尤其是密码学,我觉得学起来不是很容易理解,以后还需多下功夫去学习。

最新文章

  1. 【转】使用Spring MVC统一异常处理实战
  2. js 判断IOS版本号
  3. iOS UIAlertView添加输入框
  4. atitit.二维码生成总结java zxing
  5. C# 对Excel文档打印时的页面设置
  6. Altium Designer哪里下载和导入元件库_图文教程
  7. Why longest path problem doesn't have optimal substructure?
  8. centos 之7zip
  9. poj 2299 Ultra-QuickSort 题解
  10. Hibernate学习(1)- 初识
  11. java:找出占用CPU资源最多的那个线程
  12. asp.net webapi 生成在线文档--Swagger
  13. windows网络编程中文 笔记(一)
  14. Hadoop2.7.3+Hbase-1.2.6完全分布式安装部署
  15. μCOS-II移植 - 基于CortexM3
  16. GCD - Extreme (II) (欧拉函数妙用)
  17. FlinkCEP - Complex event processing for Flink
  18. [c/c++] programming之路(6)、ASCII码,数据类型、随机数、字符转换及拼接等
  19. kali装virtualbox
  20. PHPNow升级PHP版本为5.3.5的方法(转)

热门文章

  1. python 国内镜像
  2. poj 3249(bfs+dp或者记忆化搜索)
  3. asscert断言的几种方法
  4. 面试题思考:IO 和 NIO的区别,NIO优点
  5. OpenvSwitch2.4.0源码解读
  6. 修改yum源为阿里云的
  7. Hessian接口测试
  8. HDU 3388 Coprime(容斥原理+二分)
  9. J2EE知识体系(简单整理)
  10. 七、H5 直播视频播放