LESSON 2. Software process Flashcards

(30 cards)

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.

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
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.
Maintenance Burden
26
One of problem: Reused components may not perfectly fit the specific needs of a new project, leading to compromises in functionality or performance.
Lack of Customization
27
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.
Dependency Management
28
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.
Intellectual Property and Licensing
29
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.
Documentation and Knowledge Transfer
30
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.
Over-reliance on Reuse: