“敏捷”综述
一、什么是“敏捷”?
“敏捷”是描述一些软件开发学的新的标志性的词汇。
如果给一个宽松的定义,一个方法就是构建软件的一种过程。常用的有:瀑布、RUP(统一软件过程)、XP(极限编程)、Scrum.
瀑布法提倡软件开发过程中编写大量的文档,严格地事先定义需求和系统设计,并且将项目开发分成若干个串行的阶段。其为一种重量级软件过程,限制开发者或团队对变化做出响应。
相对而言,敏捷过程,是一种十分新颖、轻量级的过程。敏捷工程不强调编写文档和提前确定,致力于拥抱变化。如XP(极限编程)。
RUP取了一种折中。
构建软件的过程中,我们必须要做的事:
分析(需求)、计划(时间安排)、设计、编码、测试、部署、文档、评审(保证质量)
测试驱动开发(TDD)本身不是一种方法,而是一种可以应用在任何软件开发过程中的实践。TDD起源于XP。
二、什么是JAVA
JAVA不仅定义了一门语言,同时也提供了开发和执行应用程序的完整的环境。JAVA平台是介于应用和底层操作系统的中间层。
JAVA软件开发包(SDK),提供了三个组件:
编译器(javac):读取java源文件,输出class文件。class文件包含字节码,字节码采用虚拟机可以快速读入和解释的格式;
虚拟机(java):执行class文件中的代码;
一套类库或者API(应用程序接口)。
三、为什么要面向对象
合适的面向对象可以在应用软件成熟和扩展的过程中,提高管理维护的能力。
四、什么是对象
一个面向对象系统首要关注的是行为。面向对象的核心概念是对象之间相互发送消息。
封装、多态是面向对象编程的重要概念。
五、什么是类
类提供了一种方式定义一组相关对象的共同性。类是一个模板,用以创建新的对象。
类图被用来展示面向对象系统的结构。它可以表现类和类之间的关系。类图是用来衡量系统设计质量高低的指示器。
在一个类图中,最基本的关系是关联。(依赖关系)
六、为什么采用UML(统一建模语言)
UML是为面向对象系统建模的事实标准。
UML本身不是一种方法,它是一种图形化语言。UML是一种用来文档化任何面向对象系统的工具。
UML规范的最新文档:http://www.omg.org/technology/documents/formal/uml.htm
七、什么是继承
继承是系统里,类与类之间的一种关系,它允许一个类以其他类为基础,增加自己特定的行为。
八、为什么要TDD
TDD是一种有关指定什么地方为系统测试的技术。
TDD是一种简单、快速循环的机制。一次循环包含如下的步骤:
·用代码写一个规格说明,要符合单元测试的形式
·描述测试失败
·编写代码,实现这个规格说明
·测试通过
·重构,保证系统有一个优化的、干净的代码基线
测试在几个方面对系统进行积极正面的驱动:
·质量。TDD促使解耦
·文档:一个测试用例定义了一个类的正确用法
·可扩展性
·匀速前进
分享到:
相关推荐
在本篇“Agile Java学习笔记【二】”中,我们将深入探讨敏捷开发方法与Java编程的结合,以及如何在Eclipse集成开发环境中利用Ant工具进行构建和测试。敏捷开发是一种以人为本、迭代、逐步发展的软件开发方法论,强调...
agile java 每一章 课程 的 源码;
《Agile Java 中文版》是一本专门为Java初学者和希望深入敏捷开发实践者准备的优秀书籍。本书全面覆盖了Java编程语言的基础知识,并结合敏捷开发的理念,为读者提供了实战性的学习路径。以下是对该书内容的详细解读...
【标题】"Agile Java Example Code" 涵盖了敏捷开发方法在Java编程中的实践应用,这是一系列示例代码,旨在展示如何在实际项目中采用敏捷原则和技巧。敏捷开发是一种以人为本、迭代和增量的软件开发方法论,强调快速...
Agile Java Crafting Code with Test-Driven Development英文版,包含pdf和chm格式,pdf格式的目录缩进和超连接有问题,所以附上了改造过的chm文件,以便有心人可以修改目录。
《Agile Java》是一本专为初学者设计的Java编程教程,中文版的推出使得国内的编程爱好者能够更方便地学习这一全球广泛使用的编程语言。这本书深入浅出地讲解了Java语言的基础知识,旨在帮助读者快速掌握编程技能,并...
Agile Java 高清中文版 这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。这本书成书,以JDK5.0的语法为基础讲解,要学习JDK...
【描述】"agile Java课后习题代码"暗示了这是一个教学情境,可能是学生在学习完敏捷开发与Java编程相关课程后,完成的练习项目或代码示例。这些代码可能包含了对敏捷开发原则的实践,例如短迭代周期、持续集成、用户...
《Agile Java 高清中文版》是一本深入讲解敏捷开发和Java编程实践的重要书籍,旨在帮助读者掌握如何在敏捷环境中高效地运用Java技术。这本书的高清中文版为中文读者提供了方便,使得学习过程更为直观易懂。 1. **...
《敏捷Java》是一本专注于如何在Java开发中应用敏捷原则和实践的书籍。该书的程序代码涵盖了多种敏捷开发中的核心技术和设计模式,为读者提供了丰富的实战案例,旨在帮助开发者提高工作效率,提升软件质量。 首先,...
通过阅读《Agile Java》,开发者可以学习到如何将敏捷开发原则和TDD实践融入到日常的Java编程工作中,从而提升项目的效率和代码质量。这本书对于想要提升自身技能,特别是对TDD感兴趣的Java开发者来说,是一份非常...
《敏捷Java》是一本专注于Java编程和敏捷开发实践的书籍,其核心理念是结合敏捷开发方法与Java技术,提升软件开发效率和质量。书中的课后代码提供了丰富的实例,帮助读者深入理解和应用所学知识。以下是对这本书及其...
《Agile Java 高清中文版》是一本深入讲解敏捷开发和Java编程的书籍,旨在帮助读者理解并掌握敏捷开发理念以及如何在Java项目中应用这些原则。这本书以高清中文的形式呈现,使得学习过程更为直观易懂,尤其适合中文...
本书《Agile Java: Crafting Code with Test-Driven Development》不仅深入浅出地介绍了Java语言的基础知识,还特别强调了敏捷开发理念与测试驱动开发的实际应用。通过阅读本书,读者不仅可以掌握Java编程的核心技能...
在IT行业中,Java是一种广泛应用的面向对象编程语言,以其健壮性、可移植性和高性能而闻名。本话题将深入探讨Agile Java中的类方法和类变量,这些是面向对象编程的基础概念,对于理解和编写高质量的Java代码至关重要...
在《Agile Java Development with Spring, Hibernate and Eclipse》中,读者将学习到如何利用这些工具和框架协同工作,以实现敏捷开发的目标。书中的实战案例将涵盖从项目初始化、模型设计、数据库交互到测试的全...
java_Java_学习笔记.pdf Java_Performance.pdf java代码效率优化.docx Java内存模型的历史变迁.docx Java在游戏服务器开发中的应用.docx java基础总结大全.txt Java开发与技术挑战——关于技术的技术思考.docx Java...
《Agile Java》是一本专注于敏捷开发实践与Java编程的书籍。在当今快速变化的软件开发环境中,敏捷方法论已经成为主流,它强调灵活性、迭代和持续改进,以适应项目需求的不确定性。本书英文版的提供,对于那些希望...