CSC/ECE 517 Fall 2009/wiki2 19 as: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 2: Line 2:
===Responsibility Driven===
===Responsibility Driven===
===Test Driven===
===Test Driven===
'''Test-driven development''' (TDD) is a software development technique that relies on the repetition of a very short development cycle: First the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards
'''Test-driven development''' (TDD) is a software development technique that relies on the repetition of a very short development cycle: First the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards.
[[Image:TDD.png|350px]]
 
[[Image:TDD.png|400px]]


===Behavior Driven===
===Behavior Driven===

Revision as of 02:54, 9 October 2009

Development methodologies

Responsibility Driven

Test Driven

Test-driven development (TDD) is a software development technique that relies on the repetition of a very short development cycle: First the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards.

Behavior Driven

Behavior Driven Development (or BDD) is an Agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project.

Domain Driven

Domain-driven design (DDD) is an approach to the design of software, based on the two premises:

Model Driven

Model-driven engineering (MDE) is a software development methodology which focuses on creating models, or abstractions, more close to some particular domain concepts rather than computing (or algorithmic) concepts. It is meant to increase productivity by maximizing compatibility between systems, simplifying the process of design, and promoting communication between individuals and teams working on the system.