/
Software Processes Overview
Save to my account
Sign up
Software Processes Overview
Software Processes Overview
Study
1
Question
What is a software process?
Answer
A software process is a structured set of activities required to develop a software system.
2
Question
What are common activities in a software process?
Answer
Common activities include specification, design and implementation, validation, and evolution.
3
Question
What is the Waterfall Model?
Answer
The Waterfall Model is a plan-driven model with distinct phases of specification and development.
4
Question
What is Incremental Development?
Answer
Incremental Development involves interleaving specification, development, and validation, and can be plan-driven or agile.
5
Question
What is Integration and Configuration in software processes?
Answer
Integration and Configuration assembles systems from existing configurable components and may also be plan-driven or agile.
6
Question
What are the components of process descriptions?
Answer
The components include products (outcomes of process activities), roles (responsibilities of individuals involved), and pre- and post-conditions (statements true before and after a process activity).
7
Question
What are characteristics of Plan-Driven Processes?
Answer
All activities are planned in advance, with progress measured against the plan.
8
Question
What are characteristics of Agile Processes?
Answer
Planning is incremental, allowing easier adaptation to changing customer requirements.
9
Question
What are the phases of the Waterfall Model?
Answer
The phases include: Requirements analysis and definition, System and software design, Implementation and unit testing, Integration and system testing, Operation and maintenance.
10
Question
What are the limitations of the Waterfall Model?
Answer
It has difficulty accommodating changes once the process is underway and is best suited for projects with well-understood requirements.
11
Question
What are the benefits of Incremental Development?
Answer
Benefits include reduced costs for accommodating changing requirements, less rework compared to the waterfall model, easier customer feedback, and earlier delivery of useful software.
12
Question
What are problems with Incremental Development?
Answer
Problems include process visibility issues where managers need regular deliverables and potential degradation of system structure as new increments are added.
13
Question
What is the overview of Integration and Configuration?
Answer
It is based on software reuse, integrating existing components or COTS systems, and reused elements can be configured to meet user requirements.
14
Question
What are the types of reusable software?
Answer
Types include stand-alone application systems (COTS), collections of objects for integration with frameworks like .NET or J2EE, and web services developed according to service standards.
15
Question
What are basic activities involved in real software processes?
Answer
Basic activities include specification, development, validation, and evolution.
16
Question
What are the stages of Requirements Engineering?
Answer
The stages include Requirements Elicitation and Analysis, Requirements Specification, and Requirements Validation.
17
Question
What is the overview of Software Design?
Answer
Software Design converts system specifications into an executable system and involves architectural design, database design, interface design, and component selection.
18
Question
How is software implemented?
Answer
Software is implemented through programming or configuring application systems, and debugging is essential for correcting errors.
19
Question
What does Verification and Validation (VV) ensure?
Answer
VV ensures the system conforms to specifications and meets customer needs, involving checking, review processes, and system testing.
20
Question
What are the stages of Testing?
Answer
Stages include Component Testing (testing individual components), System Testing (testing the system as a whole), and Customer Testing (validating the system with customer data).
21
Question
Why is software evolution important?
Answer
Software must evolve to adapt to changing requirements and business circumstances, and the distinction between development and maintenance is increasingly blurred.
22
Question
What are strategies for managing change in software processes?
Answer
Strategies include Change Anticipation (activities that foresee potential changes) and Change Tolerance (designing processes to accommodate changes at low cost).
23
Question
What is a prototype in software development?
Answer
A prototype is an initial version used to demonstrate concepts and design options, useful in requirements engineering, design processes, and testing.
24
Question
What are the benefits of prototyping?
Answer
Benefits include improved usability and design quality, better alignment with user needs, and reduced development effort.
25
Question
What does the prototype development process involve?
Answer
It may involve rapid prototyping tools and focus on areas that are not well understood; error checking and recovery may be omitted.
26
Question
What is the overview of Incremental Delivery?
Answer
Development is broken into increments, delivering parts of functionality and prioritizing user requirements for early increments.
27
Question
What are the advantages of Incremental Delivery?
Answer
Advantages include early customer value and lower project failure risk, with early increments serving as prototypes for later requirements.
28
Question
What are the challenges of Incremental Delivery?
Answer
Challenges include difficulty in identifying common facilities needed across increments and conflicts with procurement models requiring complete system specifications.
29
Question
Why is process improvement important?
Answer
Process improvement enhances software quality, reduces costs, and accelerates development by understanding and changing existing processes.
30
Question
What are approaches to process improvement?
Answer
Approaches include the Process Maturity Approach (focusing on improving management and engineering practices) and the Agile Approach (emphasizing iterative development and responsiveness to change).