Podcast
Questions and Answers
What constitutes a software process?
What constitutes a software process?
- A single, isolated task performed by a developer.
- A collection of work activities, actions, and tasks for creating a work product. (correct)
- A collection of unrelated actions for creating software.
- A random set of events that occur during software development.
How is a software engineering action defined within a process framework?
How is a software engineering action defined within a process framework?
- By the tools used in the development process.
- By a random assortment of tasks.
- By a task set identifying work tasks, work products, quality assurance points, and milestones. (correct)
- By the experience level of the software engineers involved.
What is the primary purpose of process flow in software engineering?
What is the primary purpose of process flow in software engineering?
- To organize framework activities and their related actions and tasks with respect to sequence and time. (correct)
- To dictate the tools used by developers.
- To manage the communication between team members.
- To determine the budget allocation for a project.
Which of the following is true about process patterns?
Which of the following is true about process patterns?
According to Ambler's template, what does the 'Forces' element of a process pattern describe?
According to Ambler's template, what does the 'Forces' element of a process pattern describe?
What is a 'stage pattern' in the context of process patterns?
What is a 'stage pattern' in the context of process patterns?
What does the 'Initial Context' component of a process pattern describe?
What does the 'Initial Context' component of a process pattern describe?
What information does the 'Resulting Context' section provide in a process pattern description?
What information does the 'Resulting Context' section provide in a process pattern description?
What does the 'Related Patterns' component of a process pattern provide?
What does the 'Related Patterns' component of a process pattern provide?
What is the primary purpose of the Standard CMMI Assessment Method for Process Improvement (SCAMPI)?
What is the primary purpose of the Standard CMMI Assessment Method for Process Improvement (SCAMPI)?
What is the purpose of SPICE (ISO/IEC15504) in software development?
What is the purpose of SPICE (ISO/IEC15504) in software development?
What is the focus of ISO 9001:2000 for Software?
What is the focus of ISO 9001:2000 for Software?
What is a key characteristic of prescriptive process models?
What is a key characteristic of prescriptive process models?
What is a core principle of the Waterfall model in software development?
What is a core principle of the Waterfall model in software development?
How does the V-model relate to quality assurance in software development?
How does the V-model relate to quality assurance in software development?
What does the Incremental process model combine?
What does the Incremental process model combine?
In the Incremental model, what typically occurs after the customer uses and evaluates the core product?
In the Incremental model, what typically occurs after the customer uses and evaluates the core product?
What is a primary driver for using an evolutionary process model?
What is a primary driver for using an evolutionary process model?
What benefit does prototyping offer in evolutionary process models?
What benefit does prototyping offer in evolutionary process models?
What two aspects of software development does the Spiral model couple?
What two aspects of software development does the Spiral model couple?
How does the concurrent model enhance software development?
How does the concurrent model enhance software development?
When are specialized process models typically applied?
When are specialized process models typically applied?
What benefit does the component-based development model aim to provide?
What benefit does the component-based development model aim to provide?
What do formal methods in specialized process models enable?
What do formal methods in specialized process models enable?
What is a primary aim of the Unified Process?
What is a primary aim of the Unified Process?
What does the Inception phase of the Unified Process primarily focus on?
What does the Inception phase of the Unified Process primarily focus on?
What is the key goal of the Elaboration phase within the Unified Process?
What is the key goal of the Elaboration phase within the Unified Process?
What is the primary focus of the Construction phase in the Unified Process?
What is the primary focus of the Construction phase in the Unified Process?
What does the Transition phase of the Unified Process encompass?
What does the Transition phase of the Unified Process encompass?
During which phase of the Unified Process is the ongoing use of software monitored and supported?
During which phase of the Unified Process is the ongoing use of software monitored and supported?
According to the content, what makes a software process most effective?
According to the content, what makes a software process most effective?
What is emphasized in the Personal Software Process (PSP)?
What is emphasized in the Personal Software Process (PSP)?
Why is planning important in the Personal Software Process (PSP)?
Why is planning important in the Personal Software Process (PSP)?
What is the purpose of the 'High-level design review' activity in PSP?
What is the purpose of the 'High-level design review' activity in PSP?
What does the Postmortem activity in PSP involve?
What does the Postmortem activity in PSP involve?
What is the goal of Team Software Process (TSP)?
What is the goal of Team Software Process (TSP)?
What is a key objective that Humphrey defines for TSP?
What is a key objective that Humphrey defines for TSP?
Apart from improving team skills, what else does TSP aim to achieve in high-maturity organizations?
Apart from improving team skills, what else does TSP aim to achieve in high-maturity organizations?
How do process technology tools aid software organizations?
How do process technology tools aid software organizations?
What happens if the software process is weak?
What happens if the software process is weak?
Flashcards
Software Process
Software Process
A collection of work activities, actions, and tasks to create a work product.
Process Flow
Process Flow
Describes how framework activities, actions, and tasks are organized with respect to sequence and time.
Process Patterns
Process Patterns
An effective mechanism for addressing problems associated with any software process.
Stage Pattern
Stage Pattern
Signup and view all the flashcards
Task Pattern
Task Pattern
Signup and view all the flashcards
SCAMPI
SCAMPI
Signup and view all the flashcards
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
Signup and view all the flashcards
SPICE (ISO/IEC15504)
SPICE (ISO/IEC15504)
Signup and view all the flashcards
ISO 9001:2000 for Software
ISO 9001:2000 for Software
Signup and view all the flashcards
Waterfall Model
Waterfall Model
Signup and view all the flashcards
V-Model
V-Model
Signup and view all the flashcards
Incremental Process Model
Incremental Process Model
Signup and view all the flashcards
Evolutionary Process Model
Evolutionary Process Model
Signup and view all the flashcards
Spiral Model
Spiral Model
Signup and view all the flashcards
Concurrent Model
Concurrent Model
Signup and view all the flashcards
Specialized Process Models
Specialized Process Models
Signup and view all the flashcards
Component-Based Development Model
Component-Based Development Model
Signup and view all the flashcards
Formal Methods Model
Formal Methods Model
Signup and view all the flashcards
The Unified Process
The Unified Process
Signup and view all the flashcards
Inception Phase of UP
Inception Phase of UP
Signup and view all the flashcards
Elaboration Phase of UP
Elaboration Phase of UP
Signup and view all the flashcards
Construction Phase of UP
Construction Phase of UP
Signup and view all the flashcards
Transition Phase of UP
Transition Phase of UP
Signup and view all the flashcards
Production Phase of UP
Production Phase of UP
Signup and view all the flashcards
Personal Software Process (PSP)
Personal Software Process (PSP)
Signup and view all the flashcards
Planning (PSP)
Planning (PSP)
Signup and view all the flashcards
High-Level Design (PSP)
High-Level Design (PSP)
Signup and view all the flashcards
High-Level Design Review (PSP)
High-Level Design Review (PSP)
Signup and view all the flashcards
Development (PSP)
Development (PSP)
Signup and view all the flashcards
Postmortem (PSP)
Postmortem (PSP)
Signup and view all the flashcards
Team Software Process (TSP)
Team Software Process (TSP)
Signup and view all the flashcards
Study Notes
Software Process
- A software process involves a collection of work activities, actions, and tasks performed when creating a work product.
- These activities, actions, and tasks exist within a framework or model, defining their relationships within the process.
- Framework activity is populated by software engineering actions; Each action is defined by a task set, including work tasks, products, quality assurance points, and milestones to indicate progress.
Process Flow
- Process flow describes how framework activities, actions, and tasks are organized with timeline.
- Linear process flow executes each activity sequentially.
- Iterative process flow repeats one or more activities.
- Evolutionary process flow executes activities in a circular manner, with each cycle resulting in a more complete version of the software.
- Parallel process flow executes activities concurrently.
Process Patterns
- Process patterns provide effective mechanisms for addressing problems associated with any software process
- Can be used to develop a hierarchical process description starting at a high level of abstraction
- A process pattern describes a process-related problem during software engineering work.
- Provides context about where the problem is encountered and offers proven solutions.
- Ambler created a process pattern template.
Types of Process Patterns
- Stage Pattern: Defines a problem related to a framework activity for the process, incorporates multiple task patterns relevant to that stage like Establishing Communication.
- Task Pattern: Defines a problem associated with a software engineering action or work task such as Requirements Gathering.
- Phase Pattern: Defines the sequence of framework activities within the process. Overall activity flow is iterative, some examples Prototyping or the Spiral Model.
Elements of a Process Pattern Template
- Pattern Name: A meaningful name describing the pattern within the software process(e.g., Technical Reviews).
- Forces: The environment and issues that make the problem visible are covered as well can affect its solution.
- Initial Context: the conditions under which the pattern applies such as considering activities, entry states for the process and existing software engineering.
- Problem: The specific problem the pattern solves.
- Solution: How to implement the pattern successfully.
- Resulting Context: The conditions resulting from successful pattern implementation which considers activities, exit state, and the generated information.
- Related Patterns: Related process patterns may be represented in a diagrammatic form.
- Communication encompasses the task patterns: ProjectTeam, Scope Isolation,and Scenario Creation.
- Known Uses and Examples: Specific instances where the pattern is applicable (e.g., Communication is mandatory at the start of any software project.
Process Assessment and Improvement
- Several approaches to process assessment and improvement have been created over the past few decades.
- Standard CMMI Assessment Method for Process Improvement (SCAMPI): Assessment model with five steps by starting, diagnosing, establishing, acting, and learning.
- CMM-Based Appraisal for Internal Process Improvement (CBA IPI)—Offers a diagnostic technique for assessing the relative maturity of software organizations while using the SEI CMM as the basis
- SPICE (ISO/IEC15504)—A standard defining requirements for software process assessment; Assists organizations in creating an objective evaluation of software processes.
- ISO 9001:2000 for Software is a standard that improves overall quality product, systems, or services.
Prescriptive Process Models
- These models bring order to software development and provide structure/a roadmap for teams.
- Include the waterfall model, incremental model & evolutionary model
Waterfall Model
- The waterfall model is a sequential approach to software development.
- It starts with customer requirements and goes through planning, construction, and ending with support of the software.
V-Model
- The V-model is a variation of the waterfall model, it shows the correlation between quality assurance actions and activities (communication, modeling, and early construction).
- Software teams define basic requirements, refining a V-model into detailed representations of the problem being solved.
- Moving up the right side of the V-model, teams conduct tests (quality assurance actions) to validate models that were created.
Incremental Process Model
- The Incremental process model uses linear sequences in a staggered timeline.
- Each sequence delivers software "increments" (similar to evolutionary models).
- The initial increment is often a core product, with supplementary features remaining for later increments.
- The core product is evaluated by the customer, with the next increment planned based on use and evaluation.
Evolutionary Process Model
- Evolutionary models involve over a period of time.
- These models evolve over time and are iterative, allowing development of more complete versions of the software.
Prototyping of Evolutionary Process Model
- A customer defines general objectives for software but may not specify features or functions.
- The developer might be unclear about: Algorithm efficiency, adaptability of an OS
- Prototyping can offer a relevant approach for the project.
Spiral Model
- Spiral model couples iterative prototyping with controlled aspects from the waterfall model.
- Spiral model provides potential for rapid development.
Concurrent Model
- This model allows teams to represent iterative elements from other process models.
- Modeling invokes actions like prototyping, analysis, and design.
Specialized Process Models
- Take on characteristics of traditional models.
- Applied when a specific software engineering approach is chosen.
- The component-based development model provides software reuse, reduces cycle time and project cost if component becomes routine for culture.
Formal Methods Model
- Includes the mathematical specification of the system.
- Verification of computer programs through mathematical notation.
- It eliminates issues through analysis by addressing ambiguity and inconsistency.
- Program verification is used to find the issues.
Unified Process
- Aims to use features of traditional software process models and implements agile software development principles.
- Importance of customer communication and streamlines ways to describe a system and focuses more understanding the process to be reused more.
Phases of the Unified Process
- Inception: Includes customer communication and planning; Business are identified along with a rough architecture and a plan for the iterative.
- Elaboration: Includes communications and modeling activities like expanding architectural representation of many views of the software.
- Construction: Software components either develop or get acquired; To do this software needs to reflect the project done on the phase of elaboration.
- Transition: Includes later stages of generic construction and the first step that would be the generic deployment as software is provided to the user.
- Production: Generic deployment of this generic process during the ongoing use software so defect can be easily spotted or any request can be sent out by the user.
Personal and Team Process Models
- A software process needs to adapt to the needs of project team.
- The team itself can create its own process while meeting needs as well.
Personal Software Process (PSP)
- Emphasizes personal measurement of the work with result.
- The PSP model defines five framework activities: Planning, High-level design, High-level design review, Development, Postmortem
Team Software Process (PSP)
- The goal of TSP is to a "self directed” project team that creates high-software.
- TSP Objectives: Create self-directed teams, show managers how to motivate teams
- TSP Framework Activities: Project launch, implementation, high-level, implementation, integration, postmortem.
- Their counterparts in PSP and the team can product software in measure.
Process Technology
- It helps organizations analyze work, tasks, control, and monitor progress with quality.
- Framework helps create a model.
Product and Process
- Product will be weak if the process is weak and reliance on the process is dangerous.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.