Process Modeling and Life Cycle

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is a key characteristic of a process?

  • It has no constraints or limitations.
  • It is always unique and unpredictable.
  • It involves a series of steps with activities and resources. (correct)
  • It is only used in software development.

What is a key benefit of using processes in software development?

  • To reduce the need for resources and constraints.
  • To eliminate the need for understanding and control.
  • To impose consistency and structure on activities. (correct)
  • To increase complexity and unpredictability.

What does the software life-cycle describe?

  • The hardware requirements for running software.
  • The marketing strategies for selling software.
  • The daily routines of a software engineer.
  • The process of developing a software product from start to finish. (correct)

Which of the following is a typical stage in the software development process?

<p>Requirement analysis. (C)</p>
Signup and view all the answers

What does each activity in a software development process involve?

<p>Constraints, output, and resources. (B)</p>
Signup and view all the answers

Why is it important to model a process in software development?

<p>To form a common understanding of activities and resources. (A)</p>
Signup and view all the answers

Which activity is important for reaching process goals?

<p>Evaluating appropriate activities. (C)</p>
Signup and view all the answers

Name one of the Software Development Process Models:

<p>V-model (A)</p>
Signup and view all the answers

What is the best describes the Waterfall model for software development?

<p>Sequential stages (A)</p>
Signup and view all the answers

What is something that the Waterfall model presents?

<p>Sequence of process activities (A)</p>
Signup and view all the answers

What marks the beginning of each stage of the Waterfall model?

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

What is a main problem with the Waterfall Model?

<p>Handles change poorly (D)</p>
Signup and view all the answers

The Waterfall Model treats software development as a _________:

<p>Manufacturing process (B)</p>
Signup and view all the answers

What does prototyping help customers do?

<p>Understand the system (B)</p>
Signup and view all the answers

What is the definition of prototype?

<p>Partial product for examination (D)</p>
Signup and view all the answers

In the Waterfall model with a prototype, when are the revisions made for requirements?

<p>At the requirement stage (C)</p>
Signup and view all the answers

If functions are traced back to their requirement in the specification the system has been:

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

Checking that each function works correctly is called:

<p>Verification (C)</p>
Signup and view all the answers

Where does analysis and design occur in V model?

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

What is related to analysis and design in the V model?

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

What is used to verify Program Design?

<p>Unit testing (A)</p>
Signup and view all the answers

Who conducts acceptance testing in the V model?

<p>Customer (C)</p>
Signup and view all the answers

If the V-Model has problems found during Verification and Validation then:

<p>Re-execute left side (D)</p>
Signup and view all the answers

The prototyping model allows all or parts of the system to be _________:

<p>constructed (C)</p>
Signup and view all the answers

What is the point of the Prototyping model?

<p>Reducing risk and uncertainty (A)</p>
Signup and view all the answers

What is cycle time?

<p>Time documents are written to the system being delivered (C)</p>
Signup and view all the answers

Phased development has two systems in parralel?

<p>Production and Development (B)</p>
Signup and view all the answers

When Training starts in phased development:

<p>During development (A)</p>
Signup and view all the answers

What does the spiral model view?

<p>Software development (B)</p>
Signup and view all the answers

In the Spiral Model what is the product of the first iteration?

<p>Concept of Operation Report (A)</p>
Signup and view all the answers

Flashcards

What is a Process?

A series of steps involving activities, constraints, and resources to produce an intended output.

Process Characteristics

Prescribes major activities, uses resources under constraints, and has entry/exit criteria.

Importance of Processes

Imposes consistency, aids understanding, and captures experiences for future use.

Software Life-Cycle

The complete process of creating software, from initial idea to maintenance.

Signup and view all the flashcards

Stages of Software Development

Requirement analysis, design, coding, testing, delivery, and maintenance.

Signup and view all the flashcards

Modeling a Process

To have a shared understanding and find inconsistencies in the software development.

Signup and view all the flashcards

Waterfall Model

A sequential approach where each phase must complete before the next begins.

Signup and view all the flashcards

Waterfall Model works best for?

Well-understood minimal changes.

Signup and view all the flashcards

Disadvantages of the Waterfall Model

No handling changes during development viewed, and manufacturing.

Signup and view all the flashcards

Prototype Definition

A partially developed product to validate system aspects with stakeholders.

Signup and view all the flashcards

What is Validation?

Ensures the system implements all requirements.

Signup and view all the flashcards

What is Verification?

Ensures each function works correctly.

Signup and view all the flashcards

V-Model

Testing relates to design/analyze.

Signup and view all the flashcards

What is a Prototype Model?

Quickly build all or parts of the system to fully understand.

Signup and view all the flashcards

Phased Development

System delivered pieces to enable customers to have functionality while the systems are still being developed.

Signup and view all the flashcards

Incremental development

Starts in small functional subsystem and adds functionality with each new release.

Signup and view all the flashcards

Iterative development

Starts with a full system, then alters functionality of each release.

Signup and view all the flashcards

Why is phased development desirable?

Training is early for frequent development.

Signup and view all the flashcards

Spiral Model

Development in light of risk.

Signup and view all the flashcards

Spiral Process Insertion

Prototype, evaluation of risks.

Signup and view all the flashcards

Study Notes

  • Modeling the Process and Life Cycle

Meaning of a Process

  • Involves a sequence of steps to accomplish tasks in the same order each time when providing services or producing a product
  • Involves steps, activities, constraints, resources, and intended output
  • A process involves a set of tools and techniques

Process Characteristics

  • Prescribes all major process activities
  • Uses resources subject to constraints like schedule, producing intermediate and final products
  • Can be composed of subprocesses
  • Each activity has entry and exit criteria to define its start and end
  • Activities are organized sequentially
  • Comes with guiding principles explaining goals of each activity
  • Subject to constraints on activity, resource, or product
  • Budget or schedule may limit activity time

Importance of Processes

  • Imposes consistency and structure
  • Guides understanding, control, examination and improvement effort
  • Enables experience capture and knowledge transfer

Software Life-Cycle

  • When a software is built using a process it can also be called a software life-cycle
  • Encompasses development, implementation, delivery, use, and maintenance of a software product
  • Software Development stages:
    • Requirement analysis and definition
    • System (architecture) design
    • Program (detailed/procedural) design
    • Writing programs (coding/implementation)
    • Unit testing
    • System testing
    • System delivery
    • Maintenance
  • Each stage constitutes a process with activities described as a set
  • Each activity involves constraints, output, and resources
  • Requirement analysis and definition involves desired functions and features which becomes a set of requirements
  • This produces budget, schedule, and standards about the notation used

Reasons for Modeling a Process

  • To form a shared understanding of activities, resources, and constraints
  • To identify process inconsistencies, redundancies, and omissions
  • To evaluate activities for reaching process goals such as building high quality software and meeting the specified budget and schedule constraints

Software Development Process Models

  • Waterfall model
  • Prototyping
  • V-model
  • Phased development: increments and iteration
  • Spiral model

Waterfall Model

  • One of the first process development models
  • Works well for well-understood problems with minimal requirement changes
  • Each developmental stage is completed before the next one starts
  • Easy to explain to customers
  • Presents a high-level view and sequence of activities
  • Major phases are marked by milestones
  • There is a requirements analysis, system design, program design, coding, unit and integration testing, system testing, acceptance testing, operation, and maintenance
  • Most software developments apply many iterations

Disadvantages of the Waterfall Model

  • Doesn't guide handling changes during development
  • Views software development as a manufacturing process
  • Lacks iterative activities towards a final product
  • Results in a long wait for the final product

Waterfall Model with Prototype

  • Prototype is a partially developed product, which enables customer and developer to examine aspects of the proposed system and decide if it is suitable for the final product
  • A system is built to implement a small portion of key requirements to ensure requirements are consistent, feasible and practical
  • Parts of the design are prototyped to assess alternative design strategies
  • Structures are evaluated to meet user requirements
  • User interface prototype helps users understand

Waterfall Model with Prototype (Cont.)

  • Addresses major requirements before system testing validation
  • Validation ensures system implements all requirements
  • Each function can be traced back to a requirement in specification
  • Verification ensures function works correctly; checks implementation quality
  • Shows feedback loops from each of those stages to each prior stage

V Model

  • Is another variation of the waterfall model
  • Analysis and design happen on the left, and testing and maintenance on the right
  • Testing correlates to analysis and design activity
  • Uses unit testing (coder & test team) to verify program design
  • Uses integration testing (coder & test team) to verify system design
  • Uses acceptance testing (customer) to validate requirements
  • If issues arise, the V-Model's left side is re-executed for requirements, design, and code before re-enacting testing

Prototyping Model

  • Allows constructing all or parts quickly to clarify issues
  • Requires repeated requirements or design investigation by developers, users, and customers
  • Includes loops for prototyping requirements, design, or the system, which will depend on the goals of prototyping
  • Overall goal is to reduce risk and uncertainty

Phased Development: Increments and Iterations

  • Cycle time is the time between writing the requirement documents and delivering the system
  • Phased Development was introduced to reduce cycle time
  • System delivered in pieces for phased functionality
  • Allows two systems functioning in parallel - production release and development release
  • The production release system is currently being used.
  • The development release system is the next version

Incremental and Iterative Models

  • Incremental development starts with small functional subsystem and adds functionality with each new release

  • Iterative development starts with full system, then changes functionality with each new release

  • Training begins early, even if some functions are missing

  • Frequent releases mean developers can fix unanticipated problems quickly from the operational system

  • A development team can focus on different expertise areas with different releases. For example one release can change the system from command-driven to a point-and-click interface

Spiral Model

  • Views software development in light of risk
  • Combines development activities with risk management to minimize and control risks
  • Includes a budget, constraints, and alternatives for design and staffing with development
  • Evaluates risks and prototype alternatives before producing a "concept of operation" document
  • A "concept of operation" document specifies and scrutinizes requirements for completion
  • "Concept of operation" is the product of the first iteration
  • Requirements are the principal output of the second iteration
  • Design forms the third iteration
  • Testing forms the fourth.

Spiral Model (Cont.)

  • Iteration involves risk analysis weighing requirements and constraints with prototypes for feasibility
  • Project managers must decide how to minimize the risk and prototype interfaces and run tests to see which interface is preferred

Studying That Suits You

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

Quiz Team

More Like This

Process Modeling Quiz
10 questions

Process Modeling Quiz

EnchantingCognition avatar
EnchantingCognition
Process Modeling in Software Engineering
1 questions
Process Modeling and Data Flow Diagrams
15 questions
Use Quizgecko on...
Browser
Browser