Software Maintenance Flashcards

1
Q

What is software maintenance?

A

Any modifications after delivery?

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

Which part of the software life cycle make up software maintenance?

A

From planning to operation from the second to N iteration

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

Why do we need software maintenance?

A

To fix faults, update/enhance the software, especially to adapt to new technologies being released.

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

What are the software maintenance categories?

A

Proactive, Correction: Preventative
Reactive, Correction: Corrective
Proactive, Enhancement: Perfective
Reactive, Enhancement: Adaptive

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

What are some uniquely maintenance activities?

A

Help desks, maintaining service level agreements

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

What are some maintenance techniques?

A
  • Program Comprehension
  • Reengineering
  • Reverse Engineering
  • Migration
  • Retirement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Example the steps in an impact analysis

A
  1. Change Request (RC) Received (aka Modification Request (MR) or Problem Reports (PR)
  2. CP Analysis
  3. Problem Replication/Verification
  4. Design solutions proposing alternatives
  5. Documentation
  6. Approval/Selection of desired solution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are some effort measures?

A
  • Analyzability
  • Changeability
  • Stability
  • Testability
  • Other
    • Complexity
    • Understandability
    • Maintainability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the maintenance process?

A
  • Problem and modification analysis
  • Modification implementation
  • Maintenance review and acceptance
  • Migration
  • Retirement
  • OR agile
    • No strict processes
    • More ad hoc
    • Per case handling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is continuous delivery?

A
  • Aims to increase the rate of producing new versions
  • Aims to shorten dev/testing time
  • Automates processes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is continuous deployment?

A
  • Adds automated deployment of new functionality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is continuous integration?

A

Freque merging of separate devs’/teams’ several times a day

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

what is devops?

A
  • Development + Operations

- Adds organizational/collaboration concerns

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

what is Paas Clouds?

A

Platform as a Service (PaaS) Clouds

  • Cloud computing
  • Platform Clouds
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is cloud computing?

A

abstracts computing resources and offer them in a pay as you go manner

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

what is platform clouds?

A

offer a plethora of development services, including devops/ci/cd tools

17
Q

what are some examples of PaaS Clouds?

A

IBM Bluemix - Learnt in Assignment 3

Amazon AWS - Learnt at Gentrack

18
Q

Why use containers?

A

They provide a mechanism for deployment?

19
Q

What are containers?

A
  • Isolated environments that run an application
  • OS level virtualization - containers on the same machine share the same OS kernel
  • Guaranteed certain resources (CPU, memory, etc)
    DOCKER!
20
Q

What are container images?

A
  • What is actually deployed
  • Containers start from a container image
  • Images contain the initial/desired state
  • Images are built by certain set of instructions (Docker files)
  • Essentially the app is packaged and stored on public/private/local repos
    http: //hub.docker.com/
21
Q

what are computer clusters?

A

Where are containers deployed

  • Clusters are collections of interconnected machines (aka nodes)
  • they are normally organised placed on racks in datacenters
  • datacenters are spead around the world
  • a cluster could span across multiple datacenters through the internet
22
Q

how are containers accessed?

A

Through the internet (or other networks), both other containers and external users can access them

23
Q

what is container orchestration software?

A

how to do all theses automatically?

  • cloud providers use container orchestration software
  • decides which machine a container will be deployed
  • creates virtual networks and connects containers/users
  • provides autoscaling
24
Q

Examples of container orchestration software?

A

Kubernetes
Docker Swarm
Cloud Foundry