unit 8

Cards (17)

  • Process paradigm
    Very general process models that provide the rough structure of software processes without going into detail
  • Software process model framework
    Follows the structure specified in the process paradigm and adds detailed descriptions of roles, responsibilities, specific activities, and their dependencies
  • Individual software process model
    Describes how a development process should run transparently for all those involved in an organization
  • Waterfall model
    1. Requirements
    2. Analysis
    3. Design
    4. Implementation
    5. Test
    6. Operation
  • Waterfall model

    • Step-by-step processing of individual phases in a defined sequence
    • Like a waterfall, a software project "falls" one after the other from "top to bottom"
    • Each individual phase is fully completed before moving to the next phase
    • Possibility of feedback between adjacent phases
  • Waterfall model (from management perspective)
    • Divides software process into clear phases with defined results
    • Allows clear organizational responsibilities to be defined
    • Allows current status and project progress to be monitored
    • Allows task areas to be clearly structured, especially in distributed projects
    • Demands comprehensive and complete documentation of results
  • The definition of a rigid sequence of activities in the waterfall model is the opposite of the knowledge-driven nature of software projects
  • The waterfall model prevents the start of successor phases for individual elements that have already been completed
  • The waterfall model should only be used as a rough guide when creating software process models for industrial information systems
    1. model
    1. Requirements analysis
    2. Construction phases
    3. Test phases
    1. model
    • 1:1 assignment of construction phases (left half of V) and phases to be tested (right half of V)
    • Path through software process is a result of the sequence of the defined phases
    • Each phase of the construction is assigned a specific test level
  • Evolutionary/Agile development
    1. Determine functions to be implemented
    2. Implement functions
    3. Integrate new functions into existing system
    4. Test and evaluate current software version
  • Evolutionary/Agile development
    • Software process "turns in a circle" around a finished piece of software
    • Software engineering core activities are not carried out and documented in full in one phase, but in smaller parts that interlink in each cycle
    • Considers that many insights into requirements and technological solutions can only be gained during software development
    • Allows new knowledge to be incorporated directly in each new cycle
    • Allows errors and inaccuracies to be quickly identified and eliminated
    • Provides rapid availability of a basically executable system
  • Evolutionary/Agile development has no phases with clearly defined results, but all software engineering core activities are repeated in small parts in short cycles
  • Evolutionary/Agile development does not create a complete specification at the beginning of the software process, so the specific functional scope of the system is only precisely defined during development
  • Agile software development
    • A thought scheme or design principle for software development activities, not specific techniques or processes
    • Ensures that all important decisions are made based on knowledge gained during the project (knowledge-driven)
  • Classic software development
    Focuses more on plans that were created in the run-up to the project or in the early project phases (assumption-driven)