Commit 4ba250d3 authored by Gerson Sunyé's avatar Gerson Sunyé
Browse files

Added several images to illustrate de maintenance process

parent cef54171
Pipeline #7566 passed with stage
in 33 seconds
......@@ -12,6 +12,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="bower_components/reveal.js/css/reveal.css">
<link rel="stylesheet" href="resources/css/custom.css" id="theme">
<link rel="stylesheet" href="bower_components/reveal.js/css/theme/simple.css" id="theme">
......
......@@ -82,6 +82,22 @@
width:50%;
}
#left-thin {
top: 50%;
left:-8.33%;
float: left;
width:30%;
z-index:-10;
}
#right-thick {
left:31.25%;
top: 75px;
float: right;
z-index:-10;
width:70%;
}
.reveal code:not(.hljs) {
color: darkblue;
font-size: 75%
......
......@@ -35,7 +35,7 @@ all programming activity that is intended to generate a new software version fro
## Types of Software Maintenance
There are 4 types of maintenance, wrt the goal of the maintenance activity:
(i) Adaptive, (ii) Corrective, Perfective, and Preventive.
(i) Adaptive, (ii) Corrective, (iii) Perfective, and (iv) Preventive.
![Maintenance Chart](resources/png/maintenance-chart.png)
......@@ -582,7 +582,8 @@ Guava's view from [Code City](https://softvis3d.com/#/)
## Software Maintenance Process
![](resources/jpg/software-maintenance-process.jpg)
![](resources/png/maintenance-process.png)
<!-- .element: style="width: 600px;" -->
[IEC 14764]
......@@ -601,13 +602,19 @@ The maintenance process comprises the following high- level activities:
6. Retirement.
<p class="current-visible"style="position:absolute; left:700px; top:100px;">
<img src="resources/jpg/software-maintenance-process.jpg" width="75%">
<img src="resources/png/maintenance-process.png" width="200px">
</p>
----
### Process Implementation
<div>
![Process Implementation](resources/png/process-implementation.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Software and organization need to be prepared
- Prepare maintenance when development starts
- Prepare software:
......@@ -615,13 +622,23 @@ The maintenance process comprises the following high- level activities:
- Is there documentation? How to make change (VCS)?
- Prepare organization:
- What is the maintenance process?
- Who is responsible of what?
- Who is responsible for what?
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO: Explain correspondence with GitLab/GitHub: (i) Labels, Branches, Contributors
----
### Problem and Modification Analysis
<div>
![Problem and Modification Analysis](resources/png/problem-and-modification-analysis.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- **1** Analyze and confirm request
- Reproduce (with a test - TDD)
......@@ -631,46 +648,104 @@ The maintenance process comprises the following high- level activities:
- **2** Propose a solution
- Estimate costs, plan (schedule)
- Consider several possible solutions and compare them objectively
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO:
- Explain correspondence with JUnit, Gitlab
- Add an examples
----
<div>
![Problem and Modification Analysis](resources/png/problem-and-modification-analysis.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- **3** Document the request and the solution proposal
- Software is knowledge!
- Documentation can take several forms (models, comments, wiki, formal document, commit message, etc.)
- **4** Obtain authorization to apply solution
- You might be the authorizing authority (simplified process)
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO:
- Explain correspondence with JUnit, Gitlab
- Add an example
----
### Modification Implementation
<div>
![Modification Implementation](resources/png/modification-implementation.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Implement solution
- Bug fix for corrective maintenance
- Development process for evolution
- Test modification and system
- Regression testing (did not break some other part of the system)
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO:
- Explain correspondence with Gitlab
- Add an example
----
### Maintenance Review and Acceptance
<div>
![Problem and Modification Analysis](resources/png/maintenance-review-acceptance.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Review and approval
- Might require formal approval (ex: Quality Assurance authority)
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO: Explain correspondence with Gitlab (Merge request)
----
### Migration
<div>
![Problem and Modification Analysis](resources/png/migration.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Large modification
- Potentially affects all users
- Might change more than the software
- Hardware, OS, DB, ...
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
----
<div>
![Problem and Modification Analysis](resources/png/migration.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Plan
- When, who, why
- Parallel operations
......@@ -681,15 +756,24 @@ The maintenance process comprises the following high- level activities:
- Identify affected people
- Notify in advance
- Notify when finished
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
----
### Retirement
<div>
![Retirement](resources/png/retirement.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- End of life of software system
- Similar to migration
- Plan, Notify, Parallel operation, Archive
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
----
......
......@@ -82,6 +82,22 @@
width:50%;
}
#left-thin {
top: 50%;
left:-8.33%;
float: left;
width:30%;
z-index:-10;
}
#right-thick {
left:31.25%;
top: 75px;
float: right;
z-index:-10;
width:70%;
}
.reveal code:not(.hljs) {
color: darkblue;
font-size: 75%
......
......@@ -35,7 +35,7 @@ all programming activity that is intended to generate a new software version fro
## Types of Software Maintenance
There are 4 types of maintenance, wrt the goal of the maintenance activity:
(i) Adaptive, (ii) Corrective, Perfective, and Preventive.
(i) Adaptive, (ii) Corrective, (iii) Perfective, and (iv) Preventive.
![Maintenance Chart](resources/png/maintenance-chart.png)
......@@ -582,7 +582,8 @@ Guava's view from [Code City](https://softvis3d.com/#/)
## Software Maintenance Process
![](resources/jpg/software-maintenance-process.jpg)
![](resources/png/maintenance-process.png)
<!-- .element: style="width: 600px;" -->
[IEC 14764]
......@@ -601,13 +602,19 @@ The maintenance process comprises the following high- level activities:
6. Retirement.
<p class="current-visible"style="position:absolute; left:700px; top:100px;">
<img src="resources/jpg/software-maintenance-process.jpg" width="75%">
<img src="resources/png/maintenance-process.png" width="200px">
</p>
----
### Process Implementation
<div>
![Process Implementation](resources/png/process-implementation.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Software and organization need to be prepared
- Prepare maintenance when development starts
- Prepare software:
......@@ -615,13 +622,23 @@ The maintenance process comprises the following high- level activities:
- Is there documentation? How to make change (VCS)?
- Prepare organization:
- What is the maintenance process?
- Who is responsible of what?
- Who is responsible for what?
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO: Explain correspondence with GitLab/GitHub: (i) Labels, Branches, Contributors
----
### Problem and Modification Analysis
<div>
![Problem and Modification Analysis](resources/png/problem-and-modification-analysis.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- **1** Analyze and confirm request
- Reproduce (with a test - TDD)
......@@ -631,46 +648,104 @@ The maintenance process comprises the following high- level activities:
- **2** Propose a solution
- Estimate costs, plan (schedule)
- Consider several possible solutions and compare them objectively
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO:
- Explain correspondence with JUnit, Gitlab
- Add an examples
----
<div>
![Problem and Modification Analysis](resources/png/problem-and-modification-analysis.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- **3** Document the request and the solution proposal
- Software is knowledge!
- Documentation can take several forms (models, comments, wiki, formal document, commit message, etc.)
- **4** Obtain authorization to apply solution
- You might be the authorizing authority (simplified process)
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO:
- Explain correspondence with JUnit, Gitlab
- Add an example
----
### Modification Implementation
<div>
![Modification Implementation](resources/png/modification-implementation.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Implement solution
- Bug fix for corrective maintenance
- Development process for evolution
- Test modification and system
- Regression testing (did not break some other part of the system)
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO:
- Explain correspondence with Gitlab
- Add an example
----
### Maintenance Review and Acceptance
<div>
![Problem and Modification Analysis](resources/png/maintenance-review-acceptance.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Review and approval
- Might require formal approval (ex: Quality Assurance authority)
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
note:
TODO: Explain correspondence with Gitlab (Merge request)
----
### Migration
<div>
![Problem and Modification Analysis](resources/png/migration.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Large modification
- Potentially affects all users
- Might change more than the software
- Hardware, OS, DB, ...
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
----
<div>
![Problem and Modification Analysis](resources/png/migration.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- Plan
- When, who, why
- Parallel operations
......@@ -681,15 +756,24 @@ The maintenance process comprises the following high- level activities:
- Identify affected people
- Notify in advance
- Notify when finished
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
----
### Retirement
<div>
![Retirement](resources/png/retirement.png)
</div>
<!-- .element: id="left-thin" -->
<div>
- End of life of software system
- Similar to migration
- Plan, Notify, Parallel operation, Archive
</div>
<!-- .element: id="right-thick" style="font-size: 24pt;"-->
----
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment