Software Development Approaches Quiz

FragrantAbstractArt avatar
FragrantAbstractArt
·
·
Download

Start Quiz

Study Flashcards

7 Questions

What is the main advantage of incremental development?

Lower risk of overall project failure

What is a key characteristic of Extreme Programming (XP)?

Pairwise programming

In Spiral development, what do the loops in the spiral represent?

Risks assessment and resolution

What is a key characteristic of the Spiral model of the software process?

Fixed phases like specification or design

What is a major benefit of component-based software engineering?

Reduced integration complexity

Why are early increments in incremental development beneficial?

They reduce the risk of project failure

What is a characteristic of throw-away prototyping?

Involves developing a system for temporary use

Study Notes

Evolutionary Development

  • Lack of process visibility, poorly structured systems, and special skills (e.g., languages for rapid prototyping) may be required
  • Suitable for small or medium-size interactive systems, parts of large systems (e.g., user interface), and short-lifetime systems

Component-Based Software Engineering

  • Based on systematic reuse of existing components or Commercial-off-the-shelf (COTS) systems
  • Process stages include component analysis, requirements modification, system design with reuse, and development and integration

Process Iteration

  • System requirements always evolve in the course of a project, so process iteration is always part of the process for large systems
  • Iteration can be applied to any of the generic process models
  • Two related approaches: incremental delivery and spiral development

Incremental Delivery

  • Development and delivery are broken down into increments with each increment delivering part of the required functionality
  • As requirements change, the software that supports the business must also evolve and change

System Evolution

  • Fewer and fewer systems are completely new, and there is no demarcation between development and evolution (maintenance)

The Rational Unified Process (RUP)

  • A modern process model derived from the work on the UML and associated process
  • Described from three perspectives: dynamic, static, and practice

RUP Phase Model

  • Phases: Inception, Elaboration, Construction, and Transition
  • Phase iteration: Inception sets the stage, Elaboration defines the architecture, Construction develops the system, and Transition deploys the system

RUP Phases

  • Inception: Establish the business case for the system
  • Elaboration: Develop an understanding of the problem domain and the system architecture
  • Construction: System design, programming, and testing
  • User requirements are prioritized and the highest priority requirements are included in early increments

Incremental Development

  • Customer value can be delivered with each increment, so system functionality is available earlier
  • Early increments act as a prototype to help elicit requirements for later increments
  • Lower risk of overall project failure
  • Highest priority system services tend to receive the most testing

Extreme Programming

  • An approach to development based on the development and delivery of very small increments of functionality
  • Relies on constant code improvement, user involvement in the development team, and pairwise programming

Spiral Development

  • Process is represented as a spiral rather than as a sequence of activities with backtracking
  • Each loop in the spiral represents a phase in the process
  • No fixed phases, such as specification or design - loops in the spiral are chosen depending on what is required
  • Risks are explicitly assessed and resolved throughout the process

Test your knowledge of software development approaches by answering questions related to evolutionary development and component-based software engineering. Topics covered include poorly understood requirements, lack of process visibility, system structure, and applicability of different approaches.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser