LESSON 2. Software process Flashcards

1
Q

A structured set of activities required
to develop a software system.

A

Software Process

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

Is an
abstract representation of a process.

A

Software Process Model

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

It presents a description of a process from
some particular perspective.

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

Defining what the system should do

A

Specification

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

Defining the organization
of the system and implementing the system

A

Design and Implementation

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

Checking that it does what the customer
wants

A

Validation

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

Changing the system in response to changing
customer needs

A

Evolution

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

Which are the outcomes of a process
activity

A

Products

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

Which reflect the responsibilities of the people
involved in the process

A

Roles

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

Which are statements
that are true before and after a process activity has
been enacted or a product produced.

A

Pre- and post condition

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

Are processes where
all of the process activities are planned in
advance and progress is measured against this
plan.

A

Plan-driven processes

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

Planning is incremental
and it is easier to change the process to reflect
changing customer requirements.

A

Agile processes

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

In practice, most practical processes include
elements
of
both
plan-driven and
agile
approaches.

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

There are no right or wrong software processes.

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

There are separate identified phases in the
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
16
Q

The main drawback of the waterfall model is the
difficulty of accommodating change after the
process is underway.
• In principle, a phase has to be complete before
moving onto the next phase.

A
17
Q

Inflexible partitioning of the project into distinct
stages makes it difficult to respond to changing
customer requirements.

Is what model problem?

A

Waterfall model

18
Q

Reuse-Oriented Software
Engineering

Process Stages

A
  1. Component analysis
  2. Requirements modification
  3. System design with reuse
  4. Development and integration
19
Q

One of benefits:

Reusing existing
software components reduces development time
and costs associated with designing,
implementing, and testing new functionality
from scratch.

A

Time and Cost Savings

20
Q

One of benefits

Reused components have
often been tested and used in multiple contexts,
making them more reliable and less prone to
errors.

A

Improved Quality

21
Q

Benefits:

Reusing
standardized components promotes consistency
across projects, leading to better maintainability
and easier integration.

A

Consistency and Standardization:

22
Q

One of benefits:

By leveraging
reusable components and frameworks,
developers can focus more on solving domain-
specific problems rather than reinventing
common functionalities.

A

Focus on Core Competencies

23
Q

One of problems

Reused components may not
always be compatible with the specific requirements,
platforms, or environments of a new project. Integration
problems can arise due to differences in APIs, data
formats, or dependencies.

A

Compatibility Issues

24
Q

Problem:

Not all reusable components
are of high quality or well-documented. Using poorly
designed or outdated components can introduce bugs,
security vulnerabilities, or performance issues into the
new system.

A

Quality and Reliability:

25
Q

One of problems:

Reused components require
ongoing maintenance and support to keep them up-to-
date, compatible with evolving technologies, and
compliant with changing requirements. Neglecting
maintenance can lead to dependency on obsolete or
unsupported components.

A

Maintenance Burden

26
Q

One of problem:

Reused components may not
perfectly fit the specific needs of a new project, leading
to compromises in functionality or performance.

A

Lack of Customization

27
Q

One of problems:

Software reuse can
introduce complex dependency relationships between
components, making it challenging to manage
versioning, upgrades, and compatibility across different
projects or modules.

A

Dependency Management

28
Q

third-
party components or libraries may involve legal
considerations related to intellectual property rights,
licensing agreements, and compliance with open-source
licenses. Failure to properly manage licensing issues can
lead to legal disputes or violations.

A

Intellectual Property and Licensing

29
Q

One of problem

Reused
components should be well-documented to facilitate
understanding, integration, and customization by other
team members. Inadequate documentation can hinder
knowledge transfer and make it difficult to troubleshoot
or extend reused components.

A

Documentation and Knowledge Transfer

30
Q

One of problem:

It can lead to a “one-size-fits-all” approach, where
developers prioritize reuse over designing optimal
solutions for specific project requirements. This can
result in overly complex or inefficient systems that are
difficult to maintain or extend.

A

Over-reliance on Reuse: