Software Change and Prototyping

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

In software engineering, why is change considered mandatory in most projects?

  • To ensure developers are always learning new skills.
  • Because project managers frequently change their minds about the project's direction.
  • Because business needs evolve, new technologies emerge, and hardware changes occur. (correct)
  • To make the project more challenging and interesting for the development team.

Which strategy focuses on extra activities in software processes to predict and accommodate potential modifications?

  • Change tolerance.
  • Change management.
  • Change avoidance. (correct)
  • Change anticipation.

Which description aligns with the primary purpose of software prototyping?

  • To demonstrate concepts and explore design alternatives early in the development cycle. (correct)
  • To write comprehensive project documentation.
  • To create a fully functional system ready for deployment.
  • To develop the final user interface design.

Which aspect is typically considered a disadvantage of software prototyping?

<p>Prototypes often lack comprehensive documentation. (C)</p> Signup and view all the answers

In incremental delivery, what happens to the requirements of an increment once its development has started?

<p>They are frozen to maintain stability during development. (C)</p> Signup and view all the answers

What is a key advantage of using incremental delivery in software development?

<p>It helps reduce the risk of overall project failure by delivering functionality in stages. (A)</p> Signup and view all the answers

Which statement characterizes the spiral model's approach to project phases?

<p>It has no fixed phases; the loops in the spiral are determined by project needs. (C)</p> Signup and view all the answers

What is a primary benefit of using the spiral model in software development?

<p>It places a significant emphasis on risk analysis and management throughout the project. (B)</p> Signup and view all the answers

What does the 'dynamic perspective' represent in the Rational Unified Process (RUP)?

<p>Phases of the process over time, showing progression and iterations. (B)</p> Signup and view all the answers

In the Rational Unified Process (RUP), which perspective focuses on process activities (workflows)?

<p>The static perspective. (C)</p> Signup and view all the answers

Which of the following is not considered a phase in RUP?

<p>Testing. (D)</p> Signup and view all the answers

What is the main focus of the Inception phase in RUP?

<p>External entities and interactions. (D)</p> Signup and view all the answers

Which of the following activities is performed during the Transition phase?

<p>Move system to user community. (B)</p> Signup and view all the answers

Which activity is commonly associated with the Construction phase in RUP?

<p>Testing. (A)</p> Signup and view all the answers

In RUP, what is the primary purpose of the 'Business Modeling' workflow?

<p>To model the business using 'use cases'. (D)</p> Signup and view all the answers

Which workflow in RUP focuses on identifying actors and extracting requirements from use cases?

<p>Requirements workflow. (C)</p> Signup and view all the answers

What is the goal of the 'Environment tools' workflow in the RUP static perspective?

<p>To make appropriate software tools available to the software development team. (B)</p> Signup and view all the answers

What does the Rational Unified Process (RUP) suggest regarding the development approach, from a proactive perspective?

<p>Develop software by delivering highest priority increments first. (B)</p> Signup and view all the answers

According to the proactive perspective of RUP, what is the purpose of visualizing model software using graphical UML models?

<p>To present different views of the software. (D)</p> Signup and view all the answers

How does RUP's proactive perspective recommend ensuring the final product will meet quality standards?

<p>Through the software meet organizational quality standards. (D)</p> Signup and view all the answers

Flashcards

Coping with Change

The process of dealing with modifications and revisions in software projects.

Change Avoidance

Include additional steps to predict and manage potential future changes.

Change Tolerance

Use incremental models, with initial increments including main functionality and subsequent increments adapting to change.

Software Prototype

An early system version to demonstrate concepts and design options.

Signup and view all the flashcards

Advantages of Prototyping

Matching user needs, improving system usability, and reducing development effort.

Signup and view all the flashcards

Disadvantages of Prototyping

Lacking error checking, focusing on functional over non-functional aspects, undocumented, and failing quality standards.

Signup and view all the flashcards

Incremental Delivery

System development and delivery divided into parts, each delivering core functionality.

Signup and view all the flashcards

Prioritization in Incremental Delivery

Primary functions are first, and requirements are included in early increments.

Signup and view all the flashcards

When Incremental Delivery is Unsuitable

The system is unsuitable when a complete specification is needed upfront.

Signup and view all the flashcards

Spiral Model

The representation of a process as a sequence of activities with related backtracking.

Signup and view all the flashcards

Spiral Model Sectors

Objective setting, risk assessment/reduction, development/validation, and planning.

Signup and view all the flashcards

Advantages of Spiral Model

Suitable for large-scale projects with strong client collaboration.

Signup and view all the flashcards

Disadvantages of Spiral Model

Not for small projects, and reliance on risk analysis with potential heavy documentation.

Signup and view all the flashcards

Rational Unified Process (RUP)

A process model derived from UML that integrates three generic process models.

Signup and view all the flashcards

RUP Perspectives

Dynamic (time), static (activities), and Proactive (best practices).

Signup and view all the flashcards

RUP Phases

The process model has phases such as, Inception, Elaboration, Construction and Transition.

Signup and view all the flashcards

RUP static perspective

Consists of business modeling, requirements, analysis/design, implementation, testing, and deployment.

Signup and view all the flashcards

Additional workflow for RUP

Configuration and change management, project management, and environment tools.

Signup and view all the flashcards

RUP Proactive Practices

Develop software iteratively, manage requirements, and verify quality.

Signup and view all the flashcards

Study Notes

Coping with Change

  • Change is usually necessary in software projects
  • Change is important because business changes can lead to new and changed system requirements
  • New technologies allow for system improvements and require application changes due to evolving hardware and platforms
  • Change leads to rework, increasing costs due to implementing new functionality
  • The cost of rework can be reduced by including extra activities to anticipate changes in software processes
  • Change tolerance can be addressed using incremental models which will mean the first increment contain the main function with the additional increments accommodating for changes

Software Prototyping

  • A prototype is an initial version of a system that demonstrates how the concepts will work.
  • Prototypes are used to try out different design options.
  • In requirements processes, prototypes help with requirements elicitation and validation activities
  • Prototypes are used in the design process to develop a UI design
  • Establish Prototype objective -> Define Prototype Functionality -> Develop Prototype -> Evaluate Prototype
  • Prototyping examples URLs can be found here: https://www.framer.com/ and https://www.mockplus.com/

Software Prototyping Advantages

  • Systems match user needs
  • Improves system usability
  • Reduces development effort

Software Prototyping Disadvantages

  • It does not include error checking and recovery
  • There is a focus on functional rather than non-functional requirements
  • Prototypes are undocumented normally
  • Prototypes probably will not meet quality standards

Incremental Delivery

  • Rather than the system being delivered as a single thing, its broken down into increments which allows each part of the functionality to work
  • User requirements are the main priority. and the requirements are included in early increments
  • Once the development of an increment starts, the requirements are frozen until finished. However, later increments can continue to evolve
  • Define Outline Requirements -> Assign Requirements to Increments -> Design System Architecture -> Develop System Increment (Back to Validate Increment if incomplete) -> System Complete -> Validate System -> Deploy Increment -> Final System

Incremental Delivery Advantages

  • Main system functionality is developed first
  • Early increments act as a prototype to help to elicit requirements
  • Low risk of overall project failure

Incremental Delivery Disadvantages

  • This is not suitable when the complete system specification is needed
  • For most companies the system specification is part of the system development contract.
  • Requirements are not defined in detail until an increment is to be implemented

Spiral Model

  • The process is shown as a spiral rather than a sequence that can backtrack
  • Each loop in the spiral represents a phase in the process
  • There are no fixed phases like specification or design
  • The loops in the spiral are chosen by required needs
  • Risks are addressed and resolved through the process
  • Objective Setting -> Risk Assessment and Reduction -> Development and Validation -> Planning

Spiral Model Advantages

  • Well-suited for large scale projects
  • Risk analysis helps to eliminate and avoid risk
  • Evolving requirements are accommodated during the lifespan of the project
  • Focuses on client approval

Spiral Model Disadvantages

  • Smaller or low-risk projects are probably not a good fit
  • Success depends greatly on the risk analysis
  • High amounts of documentation because number of intermediate stages
  • Can be expensive to implement due to large amount of loops

Rational Unified Process (RUP)

  • Modern process model, derived from UML
  • RUP includes aspects from three generic models
  • RUP can adjust with requirement changing
  • RUP is described from 3 perspectives: Dynamic, Static, and Proactive

RUP Phases

  • Inception: External entries, and their interaction with the system
  • Elaboration: Problems, Architecture, Project Plans, and Risks
  • Construction: Design, Programming, Testing
  • Transition: Moving a system to a user community, Training

RUP Static Perspective

  • There are six main work flows
  • Business Modelling. Use case modeling to represent business scenarios
  • Requirements: actors are identified, and requirements are extracted from used cases
  • Analysis and Design: 4 Models created (arch, component, object, sequence)
  • Implementation: components are based on the models
  • Testing: unit and integration testing
  • Deployment: A release is created and installed for user environments

RUP Static Perspective Additional Workflows

  • Also includes three additional workflows
  • Configuration and Change Management to support changing requirements
  • Project Management to manage the development
  • Environment Tools providing appropriate software tools for the sw development team

RUP Proactive Perspective

  • Develop Software Iteratively; Plan increments based on customer priorities and deliver highest priority increments first
  • Manage Requirements: Explicitly document requirements
  • Use Component-Based Architectures to organize the structure as reusable components
  • Visualise Model Software with graphical UML software views
  • Verify Software Quality ensures the organizational quality standards are met
  • Control Changes to Software, implement a change management system

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser