Chapter 7 (FT) Flashcards

(54 cards)

1
Q

_____ are crucial phases in the software development life cycle (SDLC).

A

Software maintenance and evolution

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

____ ensures that it continues to function effectively after development.

A

Software maintenance

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

Software must ____ to adapt to changing technologies, busines requirements, and user expectations

A

evolve

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

According to IEEE(Institute of Electrical and Electronics Engineers), _____ involves modifying a software product after delivery to correct faults, improve performance, or adapt the product to a changed environment

A

Software maintenance

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

Software maintenance is essential because:

A
  1. Technology changes rapidly
  2. User requirements evolve
  3. Defects are discovered post-release
  4. Security vulnerabilities appear
  5. Performance improvements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Operating systems, hardware, and platforms are frequently updated, and software must adapt to stay compatible

A

Technology changes rapidly

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

Businesses grow and processes change, demanding new features or functionalities

A

User reuiremetns evolve

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

No software is perfect. Users may encounter bugs that needs fixing

A

Defects are discorered post-release

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

Maintenance ensures patches and updates are implemented to protect systems and data

A

Security vulnerabilities appear

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

Continuous maintenance helps optimize speed, usbility, and efficienty

A

Performance improvements

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

What are the types of software maintenance:

A
  1. Corrective Maintenance
  2. Adaptive Maintenance
  3. Perfective Maintenance
  4. Preventive Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Purpose: To fix errors, defects, or bugs found during operations.

Focus: Restoring System Functionality

A

Corrective Maintenance

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

Purpose: TO modify software so it remains compatible with changing environments

Focus: Adapting to external changes such as hardware or platforms updates

A

Adaptive Maintenance

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

Purpose: To enhance performance, efficiency, or maintainability

Focus: Refining and optimzing existing features

A

Perfective Maintenance

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

Purpose: To detect and correct potential problems before they occur

Focus: Long-term reliability and risk reduction

A

Preventive Maintenance

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

Continuous development and improvement of fotware over its lifetime

A

Software evolution

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

Software evolution concept was introduced by _____

A

Manny lehman

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

___, who formulated several laws of software evolution, emphasizing that software must continuously change or it will become less useful

A

Manny Lehman

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

Lehman’s Law of Software Evolution:

A
  1. Continuous Change
  2. Increasing Complexity
  3. Self-regulation
  4. Conversation of Organizational Stability
  5. Conservation of Familiarity
  6. Continuing Growth
  7. Declining Quality
  8. Feedback System
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Software must adapt or it becomes less progressively less useful

A

Continuing Change

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

As systems evolve, they become more complex unless effor tis made to reduce complexity

A

Increasing Complexity

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

The process of software evolution is self-regulating with predictable trends

A

Self-regulation

23
Q

The rate of development and maintenance tends to ramin stable over time

A

Conservation of Organizational Stability

24
Q

Changes must be limited to maintain user and developer familarity

A

Conservation of Familiarity

25
Software functionality must continually increase to remain satisfactory
Continuing Growth
26
Without proper maintenance, software quality declines over time
Declining Quality
27
Software evolution processes are mutli-level and influened by feedback loops
Feedback System
28
These laws highlight that evolution is ______
not optional
29
It is an inevitable process if the software is to remain valuable
Evolution
30
What is the software maintenance process model
1. Identification and Tracing 2. Analysis 3. Design 4. Implementation 5. Testing 6. Documentation 7. Release 8. Review
31
Determine which part of the system require modification or improvement
Identification and Tracing
32
Study the problem and evaluate the impact of proposed changes
Analysis
33
Plan the modifications to ensure system integrity and perfomance
Design
34
Apply the necessary code changes and integrate them into the system
Implementation
35
Verify that the changes work correctly and did not introuce new issues
Testint
36
Update user manuals, system specifications, and records to reflect the changes.
Documentatiotn
37
Deply the updated version to users
Release
38
Assess the effectiveness of the maintenance proces and record lessons learned
Review
39
What are the challenges in software maintenance
1. Poor Documentation 2. Code Complexity 3. Lack of Skilled Personnel 4. Changing Requirements 5. Resource Constraints 6. Regression Issues
40
Lack of clear records makes it hard for developers to udnerstand legacy systems
Poor Documentation
41
OVerly complicated or poorly structed code is difficult to mofify safely
Code Complexity
42
Maintenance often requires familiarity with older technologies
Lack of Skilled Personnnel
43
Frequent updatse can disrupt stability
Changing Requirements
44
Time and budget limitations hinder through maintenance work
Resource Constrains
45
Fixing one problem might unintentionally cause another
Regression iSsues
46
What are the tools and techniques for effective maintenance
1. Version control systems 2. Automated Testing Tools 3. Refactoring 4. Continuous Integration and Development 5. Code Documentation and Commenting 6. Monitoring and Feedback System
47
Track changes and manage multiple versions
Version Control System
48
Detect bugs early and ensure software stability
Automated Testing tools
49
Improve internal code structure without altering external behaviour
Refactoring
50
Automate updates and testing
Continuous Integration and Deployment
51
Maintain clarity for future developers
Code Documentation and Commenting
52
Collect user and performance data for ongoing improvement
Monitoring and Feedback ssytem
53
What is the importance of software maintenance and evolution
- ensures system reliability and securty - enhances user satisfaction and productivity - reduces long-term costs compared to full system redevelopment - supports technological compatibility and scalability - enables business continuity and competitiveness
54
Software maintenance and evolution are not the "____" of the development process---- they are the lifeblood of a software system's longevity
end