ii - software processes Flashcards

1
Q

coherent set of activities for software production

A

software process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

process descriptions may also include…

A
  1. products
  2. roles
  3. pre- and post-conditions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

[1] discuss, each approach is suitable for different types of software

A

Boehm and Turner (2003)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

what are the process models covered?

A
  1. waterfall model
  2. incremental development
  3. reuse-oriented software engineering
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

fundamental process activities of specification,
development, validation, and evolution and represents them as separate process phases such as requirements specification, software design, implementation, testing, and so on.

A

waterfall model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

interleaves the activities of specification,
development, and validation. The system is developed as a series of versions (increments), with each version adding functionality to the previous version.

A

incremental development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

This approach is based on the existence of a significant number of reusable components. The system development process focuses on integrating these components into a system rather than developing
them from scratch.

A

Reuse-oriented software engineering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

The [1] model is an example of a plan-driven process—in principle, you must plan and schedule all of the process activities before starting work on them.

A

waterfall

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

enumerate

principal stages of waterfall model

A
  1. requirements analysis and definition
  2. system and software design
  3. implementation and unit testing
  4. integration and system testing
  5. operation and maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

An example of a formal development process, originally developed by IBM; each software increment is formally specified and this specification is transformed into an
implementation

A

Cleanroom process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Description: A sequential software development model that follows distinct phases, producing documentation at each stage.
Key Feature: Consistency with engineering process models, visibility for managers to monitor progress, but inflexible partitioning of the project.

A

waterfall model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Description: Major problem lies in the inflexible partitioning of the project into distinct stages.

Key Challenge: Commitments made early in the process, difficulty in responding to changing customer requirements.

Use Case: Suitable when requirements are well understood and unlikely to change radically during system development.

A

Waterfall Model Challenges

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Description: A variant of the waterfall model involving creating a mathematical model of a system specification, refined into executable code using mathematical transformations.

Use Case: Particularly suited for systems with stringent safety, reliability, or security requirements.

Advantage: Simplifies the production of a safety or security case, demonstrating compliance with requirements to customers or regulators.

A

Formal System Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Description: Typically applied to the development of safety-critical or security-critical systems, requiring specialized expertise.

Consideration: Not generally cost-effective for the majority of systems, but beneficial for projects with stringent safety or security requirements.

Examples: B method (Schneider, 2001; Wordsworth, 1996).

A

Processes Based on Formal Transformations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

based on the idea of developing an initial implementation, exposing this to user comment and evolving it through several versions until an adequate system has been developed

A

incremental development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

From a management perspective, the incremental approach has two problems

A
  1. process is not visible
  2. system structure tends to degrade as new increments are added
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

stages in reuse-oriented process

A
  1. component analysis
  2. requirements modification
  3. system design with reuse
  4. development and integration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

3 types of software component in reuse-oriented process

A
  1. web services
  2. collections of objects developed as package
  3. stand-alone software systems
19
Q

Specifications are written on cards.
Executable tests are developed before the actual program.
Evolution may involve substantial system restructuring or refactoring.

A

extreme programming

20
Q

particularly critical stage of the software process as errors at this stage inevitably lead to later problems in the system design and implementation.

A

Requirements engineering

21
Q

programs that are used to support software engineering process activities. These tools therefore include design
editors, data dictionaries, compilers, debuggers, system building tools, etc.

A

Software development tools (sometimes called Computer-Aided Software Engineering or CASE tools)

22
Q

4 main activities in requirements engineering process

A
  1. feasibility study
  2. requirements elicitation and analysis
  3. requirements specification
  4. requierments validation
23
Q

description of the structure of the software to be implemented, the data models and structures used by the system, the interfaces between system components
and, sometimes, the algorithms used.

A

software design

24
Q

4 activities part of design process for information systems

A
  1. architectural design
  2. interface design
  3. component design
  4. database design
25
Q
  • Evolution of structured methods.
  • Emphasizes architectural models with abstract and implementation-specific levels.
  • Detailed models enable executable system generation.
A

Model-Driven Development (MDD)

26
Q
  • Follows naturally from system design.
  • Interleaved stages of design and program development are common.
  • Software development tools may generate a skeleton program, allowing developers to focus on component details.
A

program development

27
Q

system is executed using simulated test data, is the principal validation technique

A

Program testing

28
Q

stages in testing process

A
  1. development testing
  2. system testing
  3. acceptance testing
29
Q

acceptance testing is also called [1] where custom systems are developed for a single client and the testing process continues until both agree that the system is acceptable.

A

alpha testing

30
Q

system is marketed as a software product so [1] testing is used; delivering a system to a number of potential customers who agree to use that system

A

beta testing

31
Q

2 approaches to reduce costs of rework

A
  1. change avoidance
  2. change tolerance
32
Q

2 ways of coping with change and changing system requirements

A
  1. system prototyping
  2. incremental delivery
33
Q

initial version of a software system that is used to demonstrate concepts, try out design options, and find out more about the problem and its possible
solutions

A

prototype

34
Q

A risk-driven software process framework (the spiral model) was proposed by [1]

A

Boehm (1988)

35
Q

each loop in the spiral is split into 4 sectors…

A
  1. objective setting
  2. risk assessment and reduction
  3. development and validation
  4. planning
36
Q

modern generic process model that is organized into phases (inception, elaboration, construction, and transition) but separates activities (requirements,
analysis, and design, etc.) from these phases.

A

The Rational Unified Process

37
Q

3 perspective of RUP

A
  1. dynamic perspective
  2. static perspective
  3. practice perspective
38
Q

shows the phases of the model over time.

A

dynamic perspective

39
Q

shows the process activities that are enacted.

A

static perspective

40
Q

good practices to be used during the process.

A

practice perspective

41
Q

phases of RUP

A
  1. inception
  2. elaboration
  3. construction
  4. transition
42
Q

6 fundamental best practices recommended in RUP

A
  1. develop software iteratively
  2. manage requirements
  3. use component-based architectures
  4. visually model software
  5. verify software quality
  6. control changes to software
43
Q

standardized modeling language in the field of software engineering that uses graphical notations to create visual models of software systems; help in understanding, visualizing, specifying, constructing, and documenting the artifacts of a software system.

A

Unified Modeling Language (UML)

44
Q
A