Software Engineering Process Models

ProudVampire avatar
ProudVampire
·
·
Download

Start Quiz

Study Flashcards

10 Questions

Which software development model is characterized by a sequential and linear approach?

Waterfall Model

What is the primary purpose of the 'Planning' activity in the Personal Software Process (PSP)?

To isolate requirements and estimate resources

Which model incorporates prototyping and has a risk-driven approach?

Spiral Model

What is the main difference between the Incremental Model and the Evolutionary Model?

The Incremental Model is linear, while the Evolutionary Model is iterative

Which model is characterized by a verification phase that is parallel to the development phase?

V-Model

What is the primary goal of the Unified Process?

To provide a flexible and iterative approach to software development

In which phase of the software development life cycle is the executable architectural prototype developed?

Elaboration phase

What is the main benefit of using the Incremental Model?

It allows for the development of a partial product in each iteration

Which model is a category of software development models that are flexible and adaptable?

Evolutionary Models

What is the main difference between the Waterfall Model and the V-Model?

The Waterfall Model has a verification phase that is parallel to the development phase

Study Notes

Process Models

  • Prototyping model: a construction of a prototype to better understand the requirements
  • Spiral model: a risk-driven approach that follows a spiral path, with each loop consisting of planning, risk analysis, and prototyping

Concurrent Models

  • Defines a series of events that trigger transitions from state to state for each of the Software Engineering (SE) activities
  • Not suitable for projects that require a high degree of flexibility and adaptability

Specialized Process Models

  • Component-based development: emphasizes the reuse of existing components
  • Formal methods: emphasizes the mathematical specification of requirements
  • Aspect-Oriented Software Development (AOSD): provides a process and methodological approach for defining, specifying, designing, and constructing aspects
  • Unified Process: a use-case driven, architecture-centric, iterative and incremental software process closely aligned with the Unified Modeling Language (UML)

The Unified Process

  • A use-case driven, architecture-centric, iterative and incremental software process
  • Phases: Inception, Elaboration, Construction, Transition
  • Work products: Vision document, Initial use-case model, Initial project glossary, Initial business case, Initial risk assessment, Project plan, phases and iterations, Business model (if necessary)

Process Flow

  • Linear/Sequential Process Flow: planning, modelling, construction, deployment
    • Observations: linear sequence of phases, no overlap between phases
    • Arrows represent: sequential flow
    • Characteristics: rigid, sequential, and linear
    • Strengths: easy to manage, predictable, and easy to understand
    • Weaknesses: inflexible, and no feedback loops
  • Iterative Process Flow: planning, modelling, construction, deployment
    • Observations: iterative sequence of phases, with feedback loops
    • Arrows represent: iterative flow
    • Characteristics: flexible, iterative, and incremental
    • Strengths: flexible, and fast feedback
    • Weaknesses: difficult to manage, and unpredictable
  • Evolutionary Process Flow: planning, modelling, construction, deployment, incremental release
    • Observations: iterative sequence of phases, with incremental release
    • Arrows represent: iterative flow with incremental release
    • Characteristics: flexible, iterative, incremental, and evolutionary
    • Strengths: flexible, fast feedback, and incremental release
    • Weaknesses: difficult to manage, and unpredictable
  • Parallel Process Flow: planning, modelling, construction, deployment
    • Observations: parallel sequence of phases
    • Arrows represent: parallel flow
    • Characteristics: parallel, and concurrent
    • Strengths: fast, and efficient
    • Weaknesses: difficult to manage, and complex

Prescriptive (Traditional) Models

  • Advocate structure and order in software development
  • Activities and tasks occur sequentially with defined guidelines for progress

Personal Software Process (PSP)

  • Planning: isolates requirements, develops size and resource estimates, and identifies development tasks
  • High-level design: creates an external specification for each component, and a component design
  • High-level design review: reviews and tracks all issues

Test your understanding of various software engineering process models, including the Prototyping model, Spiral model, and Concurrent models. Identify the strengths and drawbacks of each model and understand when to apply them.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Use Quizgecko on...
Browser
Browser