Podcast
Questions and Answers
Which of the following is NOT one of the activities involved in a software process?
Which of the following is NOT one of the activities involved in a software process?
What is a software process model?
What is a software process model?
An abstract representation of a process that presents a description from a particular perspective.
In agile processes, planning is typically done in advance.
In agile processes, planning is typically done in advance.
False
What is the main drawback of the waterfall model?
What is the main drawback of the waterfall model?
Signup and view all the answers
List the phases of the waterfall model.
List the phases of the waterfall model.
Signup and view all the answers
Incremental development is beneficial because it allows for _____.
Incremental development is beneficial because it allows for _____.
Signup and view all the answers
Plan-driven processes are characterized by a lack of planning.
Plan-driven processes are characterized by a lack of planning.
Signup and view all the answers
Which development model interleaves specification, development, and validation?
Which development model interleaves specification, development, and validation?
Signup and view all the answers
What is a significant advantage of incremental development compared to the waterfall model?
What is a significant advantage of incremental development compared to the waterfall model?
Signup and view all the answers
Study Notes
Software Processes
- A structured set of activities required to develop a software system
- All software processes involve:
- Specification
- Design and implementation
- Validation
- Evolution
- A software process model is an abstract representation of a software process. It describes a process from a particular perspective.
Software Process Descriptions
- Include activities like:
- Specifying a data model
- Designing a user interface
- Include:
- Products, which are the outcomes of a process activity
- Roles, which reflect the responsibilities of those involved
- Pre- and post-conditions, which are statements true before and after a process activity
Plan-Driven and Agile Processes
- Plan-driven processes plan all activities in advance and measure progress against the plan.
- Agile processes have incremental planning, making it easier to change the process to reflect changing customer requirements.
- Most practical processes include elements of both plan-driven and agile approaches.
- There are no right or wrong software processes.
Software Process Models
- The waterfall model:
- Plan-driven
- Separate and distinct phases of specification and development
- Incremental development:
- Specification, development, and validation are interleaved
- May be plan-driven or agile
- Reuse-oriented software engineering:
- The system is assembled from existing components
- May be plan-driven or agile
- Most large systems are developed using a process combining aspects of all these models.
The Waterfall Model
- Has separate identified phases:
- Requirements analysis and definition
- System and software design
- Implementation and unit testing
- Integration and system testing
- Operation and maintenance
- The main drawback of the waterfall model is the difficulty accommodating change once the process is underway.
- In theory, a stage has to be complete before moving onto the next.
Waterfall Model Problems
- Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements.
- Only appropriate when requirements are well-understood and changes will be limited during the design process.
- Few business systems have stable requirements.
- Mostly used for large systems engineering projects developed at multiple sites.
- The plan-driven nature of the model helps coordinate work in these situations.
Incremental Development
- Reduces the cost of accommodating changing customer requirements.
- Less analysis and documentation need to be redone compared to the waterfall model.
- Easier to get customer feedback on completed development work:
- Demonstrations can show customers what has been implemented.
- Enables more rapid delivery and deployment of useful software to the customer.
- Customers can use and gain value from the software earlier.
Incremental Development Problems
- The process is not visible.
- Managers need regular deliveries to demonstrate progress.
- Can be difficult to estimate the overall costs and schedule, especially for large projects.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the essential concepts of software processes, including specification, design, implementation, and validation. This quiz covers both plan-driven and agile models, highlighting their characteristics and fundamental activities. Test your understanding of how software processes are structured and executed.