Podcast
Questions and Answers
What is a key characteristic of a process?
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?
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?
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?
Which of the following is a typical stage in the software development process?
What does each activity in a software development process involve?
What does each activity in a software development process involve?
Why is it important to model a process in software development?
Why is it important to model a process in software development?
Which activity is important for reaching process goals?
Which activity is important for reaching process goals?
Name one of the Software Development Process Models:
Name one of the Software Development Process Models:
What is the best describes the Waterfall model for software development?
What is the best describes the Waterfall model for software development?
What is something that the Waterfall model presents?
What is something that the Waterfall model presents?
What marks the beginning of each stage of the Waterfall model?
What marks the beginning of each stage of the Waterfall model?
What is a main problem with the Waterfall Model?
What is a main problem with the Waterfall Model?
The Waterfall Model treats software development as a _________:
The Waterfall Model treats software development as a _________:
What does prototyping help customers do?
What does prototyping help customers do?
What is the definition of prototype?
What is the definition of prototype?
In the Waterfall model with a prototype, when are the revisions made for requirements?
In the Waterfall model with a prototype, when are the revisions made for requirements?
If functions are traced back to their requirement in the specification the system has been:
If functions are traced back to their requirement in the specification the system has been:
Checking that each function works correctly is called:
Checking that each function works correctly is called:
Where does analysis and design occur in V model?
Where does analysis and design occur in V model?
What is related to analysis and design in the V model?
What is related to analysis and design in the V model?
What is used to verify Program Design?
What is used to verify Program Design?
Who conducts acceptance testing in the V model?
Who conducts acceptance testing in the V model?
If the V-Model has problems found during Verification and Validation then:
If the V-Model has problems found during Verification and Validation then:
The prototyping model allows all or parts of the system to be _________:
The prototyping model allows all or parts of the system to be _________:
What is the point of the Prototyping model?
What is the point of the Prototyping model?
What is cycle time?
What is cycle time?
Phased development has two systems in parralel?
Phased development has two systems in parralel?
When Training starts in phased development:
When Training starts in phased development:
What does the spiral model view?
What does the spiral model view?
In the Spiral Model what is the product of the first iteration?
In the Spiral Model what is the product of the first iteration?
Flashcards
What is a Process?
What is a Process?
A series of steps involving activities, constraints, and resources to produce an intended output.
Process Characteristics
Process Characteristics
Prescribes major activities, uses resources under constraints, and has entry/exit criteria.
Importance of Processes
Importance of Processes
Imposes consistency, aids understanding, and captures experiences for future use.
Software Life-Cycle
Software Life-Cycle
Signup and view all the flashcards
Stages of Software Development
Stages of Software Development
Signup and view all the flashcards
Modeling a Process
Modeling a Process
Signup and view all the flashcards
Waterfall Model
Waterfall Model
Signup and view all the flashcards
Waterfall Model works best for?
Waterfall Model works best for?
Signup and view all the flashcards
Disadvantages of the Waterfall Model
Disadvantages of the Waterfall Model
Signup and view all the flashcards
Prototype Definition
Prototype Definition
Signup and view all the flashcards
What is Validation?
What is Validation?
Signup and view all the flashcards
What is Verification?
What is Verification?
Signup and view all the flashcards
V-Model
V-Model
Signup and view all the flashcards
What is a Prototype Model?
What is a Prototype Model?
Signup and view all the flashcards
Phased Development
Phased Development
Signup and view all the flashcards
Incremental development
Incremental development
Signup and view all the flashcards
Iterative development
Iterative development
Signup and view all the flashcards
Why is phased development desirable?
Why is phased development desirable?
Signup and view all the flashcards
Spiral Model
Spiral Model
Signup and view all the flashcards
Spiral Process Insertion
Spiral Process Insertion
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.