Font size
WorksheetsSoftware Process Structures Quiz
Total questions: 45
Worksheet time: 23mins
What is a software process?
A software process is a set of random steps followed to develop any kind of product.
A software process only involves coding and does not include planning or testing.
A software process as a framework for the activities, actions, and tasks that are required to build high-quality software.
A software process defines the approach that is taken as software is engineered.
It describes how the framework activities and the actions and tasks that occur within each framework activity are organized with respect to sequence and time.
Work Flow
Software Flow
Process Flow
Engineering Flow
What are the types of Process Flow?
Linear Process Flow
Iterative Process Flow
Software Process Flow
Evolutionary Process Flow
Parallel Process Flow
This type of process flow executes each of the five framework activities in sequence, beginning with communication and culminating with deployment.
Linear Process Flow
Iterative Process Flow
Evolutionary Process Flow
Parallel Process Flow
This type of process flow executes one or more activities in parallel with other activities (e.g., modeling for one aspect of the software might be executed in parallel with construction of another aspect of the software).
Linear Process Flow
Iterative Process Flow
Evolutionary Process Flow
Parallel Process Flow
This type of process flow executes the activities in a “circular” manner. Each circuit through the five activities leads to a more complete version of the software.
Linear Process Flow
Iterative Process Flow
Evolutionary Process Flow
Parallel Process Flow
This type of process flow repeats one or more of the activities before proceeding to the next.
Linear Process Flow
Iterative Process Flow
Evolutionary Process Flow
Parallel Process Flow
Identifying a Task Set. A task set defines the actual work to be done to accomplish the objectives of a software engineering action. what are the list in identifying a task set.
A list of the task that is not required to have planning
A list of the task to be accomplished
A list of the work products to be produced
A list of the quality assurance filters to be applied
A list of the task that is not required programming
Which is true about Process Patterns?
Defines a specific programming language syntax.
Describes a process-related problem that is encountered during software engineering work
Applicable to hardware design processes.
Identifies the environment in which the problem has been encountered
Suggests one or more proven solutions to the problem.
The Process Pattern describes a process-related problem that is encountered during software engineering work.
True
False
Process Pattern identifies the environment in which the problem has been encountered.
True
False
Defines a specific programming language syntax. This is one of the process patterns?
True
False
Suggests one or more proven solutions to the problem.
True
False
This process pattern is only applicable to hardware design processes.
True
False
What are the types of Process Patterns?
Stage Patterns
Aviles Patterns
Task Patterns
Phase Patterns
Ambler's Patterns
This type of process patterns defines a problem associated with a framework activity for the process.
Stage Patterns
Task Patterns
Phase Patterns
Aviles Patterns
This type of process patterns defines the sequence of framework activities that occur with the process, even when the overall flow of activities is iterative in nature.
Stage Patterns
Task Patterns
Phase Patterns
Aviles Patterns
This type of process patterns defines a problem associated with a software engineering action or work task and relevant to successful software engineering practice.
Stage Patterns
Task Patterns
Phase Patterns
Aviles Patterns
It provides a five step process assessment model that incorporates five phases including initiating, diagnosing, establishing, acting and learning.
SCAMPI (Standard CMMI Assessment Method for Process Improvement)
CBA IPI (CMM-Based Appraisal for Internal Process Improvement)
SPICE (ISO/IEC15504)
ISO 9001:2000 for Software
Defines a set of requirements for software process assessment. The intent of the standard is to assist organizations in developing an objective evaluation of the efficacy of any defined software process.
SCAMPI (Standard CMMI Assessment Method for Process Improvement)
CBA IPI (CMM-Based Appraisal for Internal Process Improvement)
SPICE (ISO/IEC15504)
ISO 9001:2000 for Software
It provides a diagnostic technique for assessing the relative maturity of a software organization; uses the SEI CMM as the basis for the assessment.
SCAMPI (Standard CMMI Assessment Method for Process Improvement)
CBA IPI (CMM-Based Appraisal for Internal Process Improvement)
SPICE (ISO/IEC15504)
ISO 9001:2000 for Software
A generic standard that applies to any organization that wants to improve the overall quality of the products, systems, or services that it provides. Therefore, the standard is directly applicable to software organizations and companies.
SCAMPI (Standard CMMI Assessment Method for Process Improvement)
CBA IPI (CMM-Based Appraisal for Internal Process Improvement)
SPICE (ISO/IEC15504)
ISO 9001:2000 for Software
This model advocate an orderly approach to software engineering. That leads to a few questions If prescriptive process models strive for structure and order, are they inappropriate for a software world that thrives on change? Yet, if we reject traditional process models (and the order they imply) and replace them with something less structured, do we make it impossible to achieve coordination and coherence in software work?
Engineering Models
Process Models
Prescriptive Process Models
Developer Models
This model suggests a systematic, sequential approach to software development that begins with customer specification of requirements and progresses through planning, modeling, construction, and deployment.
Prescriptive Models
V-Model
Waterfall Model
Incremental Model
Who proposed the Water Fall Model?
Aviles
Ariel
Royce
Miguel
This type of model is a method of software development where the product is designed, implemented and tested incrementally (a little more is added each time) until the product is finished. It involves both development and maintenance.
Water Fall Model
Incremental Model
Prescriptive Model
V-Model
An SDLC model where execution of processes happens in a sequential manner in a V-shape. It is also known as the Verification and Validation model. The V-Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage.
Water Fall Model
Incremental Model
Prescriptive Model
V-Model
It is a type of incremental model which the components or functions are developed in parallel as if they were mini projects. The developments are time boxed, delivered and then assembled into a working prototype. This can quickly give the customer something to see and use and to provide feedback regarding the delivery and their requirements.
Water Fall Model
RAD Model (Rapid Application Development Model)
Prescriptive Model
V-Model
This development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications. Extreme Programming (XP) is currently one of the most well known agile development life cycle model.
Prescriptive Process Model
RAD Model (Rapid Application Development Model)
Agile Model
Evolutionary Model
Models that are iterative in nature. They are characterized by enabling you to develop increasingly more complete versions of the software.
Prescriptive Process Model
RAD Model (Rapid Application Development Model)
Agile Model
Evolutionary Model
A model where a working version is built so the client can get an “actual feel” of the system. Prototyping allows the client to better understand requirements and is especially useful for systems with a lot of user interaction.
Prototype Model
RAD Model (Rapid Application Development Model)
Agile Model
Evolutionary Model.
A model that a project repeatedly passes through these phases in iterations called?
Prototype Model
Spiral Model
Agile Model
Evolutionary Model.
Similar to the incremental model, but with more emphasis on risk analysis. The spiral model has four phases which is?
Acceptance Testing, Requirements Modeling, System Testing, Architectural Design
Communication, Planning, Modeling, Construction, Deployment
Planning, Risk Analysis, Engineering, and Evaluation.
Planning, Designing, Commit, Asking, Feedback
Flow of Waterfall Model
Acceptance Testing, Requirements Modeling, System Testing, Architectural Design
Communication, Planning, Modeling, Construction, Deployment
Planning, Risk Analysis, Engineering, and Evaluation.
Planning, Designing, Commit, Asking, Feedback
Evolutionary Models: Prototyping
Communication, Planning, Breakdown of Patterns, Risk, Feedback, and Deployment delivery and feedback
Planning, Risk Analysis, Engineering, and Evaluation.
Communication, Planning, Modeling, Construction, and Deployment
Communication, Quick Plan, Modeling Quick Design, Construction of type, Deployment delivery and feedback,
It emphasizes the mathematical specification of requirements
Component based development
Formal methods
AOSD (Aspect-Oriented Software Development)
Unified Process
Provides a process and methodological approach for defining, specifying, designing, and constructing aspects.
Component base development
Formal Methods
AOSD (Aspect-Oriented Software Development)
Unified Process
The process to apply when reuse is a development objective.
Component based development
Formal methods
AOSD (Aspect-Oriented Software Development)
Unified Process
a “use-case driven, architecture-centric,iterative and incremental” software processcloselyaligned with the Unified Modeling Language(UML)
Software Process Flow
Aviles Process
Unified Process (UP)
Iterative Flow
External specifications for each component to be constructed are developed and a component design is created. Prototypes are built when uncertainty exists. All issues are recorded and tracked.
High-level design review
High-level design
Development
Postmortem
Using the measures and metrics collected (this is a substantial amount of data that should be analyzed statistically), the effectiveness of the process is determined. Measures and metrics should provide guidance for modifying the process to improve its effectiveness.
Planning
High-level design
High-level design review
Postmortem
The component level design is refined and reviewed. Code is generated, reviewed, compiled, and tested. Metrics are maintained for all important tasks and work results.
Planning
Development
High-Level Design
High-Level
Formal verification methods are applied to uncover errors in the design. Metrics are maintained for all important tasks and work results.
Development
High-level design review
High-level
Planning
This activity isolates requirements and develops both size and resource estimates. In addition, a defect estimate (the number of defects projected for the work) is made. All metrics are recorded on worksheets or templates. Finally, development tasks are identified and a project schedule is created.
Planning
High-Level Design
Development
Postmortem
A process focused on building self-directed teams that plan and track their work, establish goals, and own their processes and plans. It involves coaching by managers to sustain peak performance, accelerates process improvement (making high-maturity behaviors common), and supports teaching industrial-grade team skills.
AOSD (Aspect-Oriented Software Development)
Unified Process (UP)
Personal Software Process (PSP)
Team Software Process (TSP)
