Learning Center
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>



									                   Define major development cycles approach

    Agile Software Development

    Extreme Programming

    BDD

    TDD

    RAD

    UML

       Agile Software Development:                Agile software development is a group of

     software development methodologies based on iterative and incremental development,
     where requirements and solutions evolve through collaboration between self-organizing,
     cross-functional teams. The Agile Manifesto[1] introduced the term in 2001.
    In February 2001, 17 software developers[5] met at a ski resort in Snowbird, Utah, to
     discuss lightweight development methods. They published the "Manifesto for Agile
     Software Development"[1] to define the approach now known as agile software
     development. Some of the manifesto's authors formed the Agile Alliance, a non-profit
     organization that promotes software development according to the manifesto's principles.

          1.   Extreme Programming:             Extreme Programming (XP) is a software

                  development methodolo which is intended to improve software quality and
                responsiveness to changing customer requirements. As a type of agile software
             development,[1][2][3] it advocates frequent "releases" in short development cycles
             (timeboxing), which is intended to improve productivity and introduce checkpoints
                              where new customer requirements can be adopted.
       2. Software development in the 1990s was shaped by two major influences: internally,
            object-oriented programming replaced procedural programming as the programming
            paradigm favored by some in the industry; externally, the rise of the Internet and the
         dot-com boomemphasized speed-to-market and company-growth as competitive business
          factors. Rapidly-changing requirements demanded shorter product life-cycles, and were
                    often incompatible with traditional methods of software development.

        BDD: An agile software development technology, it encourages software project
developers, QA and non-technical staff or business collaboration between participants.
BDD was originally developed by Dan North was named in 2003 [1], which includes
acceptance testing and customer test driven practices such as Extreme Programming,
Test Driven Development as a response. In the past few years it has been a great
development [2].
      BDD's focus will be on discussions with stakeholders to obtain the expected
behavior of a clear understanding of the software. It is written by non-programmers with a
natural language readable test case extends the test-driven development approach.
Behavior-driven developers to use a mixture of a unified field of mother tongue language
to describe the purpose of their code. This allows developers to focus on the code should
be how to write, rather than technical details, but also the greatest degree of reduction of
the code writers of technical language and business clients, customers, stakeholders,
project managers and other areas the cost of translation back and forth between

      TDD: Modern methods of a computer software development. Using test to drive
       the software design and implementation. Popular in the 20th century, began to test
       drive 90. Extreme Programming test-driven development is advocated in the
       program development method, method is to first write the test program, and then
       re-encoding to pass the test. The purpose of the test-driven development is to
       obtain quick feedback and use the "illustrate the main line" approach to building

       Test-driven development of analogy. Development can be viewed from two
       aspects: to achieve the functionality and quality. Test Driven Development
       Thinking more like two hats development mode, first put on the hat to achieve
       functional, assisted in the testing and rapid realization of the right of the function;
       and then put on the hat of reconstruction, under the protection of the test, by going
       to In addition to the code redundancy and duplication, improve code reuse, to
       achieve the quality improvements. Test-driven development can be seen in the
       test was indeed part of the core position has always been throughout the

      RAD:     Rapid Application Development

         Rapid Application Development refers to a type of software development
            methodology that uses minimal planning in favor of rapid prototyping.
         The "planning" of software developed using RAD is interleaved with writing the
            software itself.
         The lack of extensive pre-planning generally allows software to be written much
            faster, and makes it easier to change requirements.
    Works with PHP
         Frameworks
                  CakePHP
                  Symfony
                  CodeIgniter
                  Zend Framework

What is UML?
    An open method for the description, visualization, construction and preparation
    of an ongoing development, object-oriented software-intensive products, open
    systems approach. UML to show a series of best engineering practice, these
    best practices on a large scale, complex system modeling, especially in the
    software architecture level has been verified valid.

    Integrated Booch, OMT, and the concept of object-oriented software engineering,
    integration of these methods into a single, common, and can be widely used modeling
    language. UML intended to be concurrent and distributed systems can be a standard
    modeling language.

    UML is not limited to UML elements have to be a type of graph type. In general,
    the approximate each element appears in the UML diagram of all types. This
    flexibility is limited in parts of UML 2.0.

    What are case tools?
                                 Computer-aided software engineering is the
    scientific application of a set of tools and methods to a software system which
    is meant to result in high-quality, defect-free, and maintainable software
                                 It also refers to methods for the development of
    information systems together with automated tools that can be used in the
    software development process.

To top