软件开发方法历史

60s:

Systems development life cycle (SDLC)

Idea: to pursue the development of information systems in a very deliberate, structured and methodical way, requiring each stage of the life cycle from inception of the idea to delivery of the final system, to be carried out in rigidly and sequentially

 

Structured programming Since 1969

 

70s:

Cap Gemini SDM, originally from PANDATA, the first English translation was published in 1974. SDM stands for System Development Methodology

 

80s:

Structured Systems Analysis and Design Methodology (SSADM) from 1980 onwards

 

90s:

  • Object-oriented programming (OOP) has been developed since the early 1960s, and developed as the dominant object oriented programming approach during the mid-1990s.
  • Rapid application development (RAD) since 1991.
  • Scrum (development), since the late 1990s
  • Team software process developed by Watts Humphrey at the SEI
  • Extreme Programming since 1999
  •  

    Other software development practices and techniques

    Other methodology practices and techniques include:

    • Object oriented development methodology approaches, such as Grady Booch's Object-oriented design (OOD), also known as object-oriented analysis and design (OOAD). The Booch model includes six diagrams: class, object, state transition, interaction, module, and process.[7]
    • Top-down programming: evolved in the 1970s by IBM researcher Harlan Mills (and Niklaus Wirth) in developed structured programming.
    • Unified Process (UP) is an iterative software development methodology framework, based on UML. UP organizes the development of software into four phases, each consisting of one or more executable iterations of the software at that stage of development: Inception, Elaboration, Construction, and Guidelines. There are a number of tools and products available designed to facilitate UP implementation. One of the more popular versions of UP is the Rational Unified Process (RUP).
    • Agile Software Development refers to a group of software development methodology approaches based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. The term was coined in the year 2001 when the Agile Manifesto was formulated.

             Agile methods

                     Extreme Programming

                     Scrum

                     DSDM

                     Adaptive Software Development

                     Crystal

                     Feature Driven Development

                     Pragmatic programming

             Agile practices        

                     Test Driven Development (TDD)

                     Behavior Driven Development (BDD)

                     Code refactoring

                     Continuous Integration

                     Pair Programming

                     Planning poker

                     RITE Method

    • Integrated Software Development refers to a deliverable based software development framework utilizing the three primary IT (project management, software development, software testing) life-cycles that can be leverage using multitude (iterative, waterfall, spiral, agile) software development approaches, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.

    posted @ 2010-07-30 15:47  看花开花落  阅读(378)  评论(0编辑  收藏  举报