1 Batelco : Bilan Technique Qualité Logiciel Alain A April [email protected] Compagnie Télécommunications Bahreïn ETS 27 Mars 2001
Mar 19, 2016
1
Batelco : Bilan Technique QualitéLogiciel
Alain A April [email protected]
Compagnie Télécommunications Bahreïn
ETS 27 Mars 2001
2
AApril
• Directeur Amélioration des processus BATELCO-IS – 1998• Ingénieur Qualité et Achats Bell Canada – 1993-1998• Ingénieur Télécommunications 1992-1993• Chef de projet développement logiciel 1986-92• Développeur & DBA – Caisse Populaire 1982-1986• Spécialiste Télécommunication – Sureté du Québec 1981-82• 10 publications – domaine de la qualité• Travaux ISO-JTC1-SC7 sur ISO9126 (co-editeur)
3
Batelco بتلكو
• Bahreïn TélécommunicationsBahreïn Télécommunications• 200,000 lignes, 170,000 Mobiles200,000 lignes, 170,000 Mobiles• SServiceservices I Internet• 84% Satisfaction Clientèle• Propriétaires: Kuwait (QualityNet) et Arabie
Saoudite (Atheer) • Réduction majeures des tarifs des appels
internationaux (quatre fois en trois ans)• 225 positions en informatique
4
BT requis pour contrats majeursGestion deCompte
InvestigationInitiale
Faisabilité &Choix fournisseur
Adaptation, Interfaces etValidation
Intégration & Essais
Fonc & Arch. Don.Arch. Platforme
Revues Contrat, S.O.WSpecs and P.Q.
Produits GestionProduits Techn.
Opération& Fermeture
Accept. FoncAccept. Tech.
Gate 1 Gate 2 Gate 3 Gate 4
• Maintenabilité• Adhérence au Standards
BESOINS TECH&QUBESOINS TECH&QU
• Portabilité
• fiabilité
• Facilité à tester
ÉVALUEÉVALUE
5
Règles de sélection - Achats
La démarche doit garantir que le Bilan technique est conduit selon des règles qui confèrent à l’évaluation les propriétés suivantes :
6
Définir de façon formelle les réels besoins techniques et qualité attendus du produit logiciel.
1
Ne pas évaluer un logiciel sans connaître au préalable son niveau de criticité.
2
Bâtir le diagnostic sur des faits constatés et incontestables.
3
Obligations d’évaluation BT
7
NF ISO/CEI 9126NF ISO/CEI 9126STANDARD STANDARD
INTERNATIONALEMENT INTERNATIONALEMENT RECONNURECONNU
FIABILITÉFIABILITÉAptitude du logiciel à maintenir son niveau de service dans des conditions précises et pendant une période déterminée.
RENDEMENTRENDEMENTRapport existant entre le niveau de service d’un logiciel et la quantité de ressources utilisées, dans des conditions déterminées.
PORTABILITÉPORTABILITÉAptitude du logiciel a être transféré d’un environnement à l’autre.
Effort nécessaire pour diagnostiquer les déficiences ou les causes de défaillances ou pour identifier les parties à modifier.
MAINTENABILITÉMAINTENABILITÉ
CAPA. FONCT.CAPA. FONCT.Existence d’un ensemble de fonctions et leurs propriétés données. Les fonctions sont celles qui satisfont aux besoins exprimés et implicites pour des tâches données.
FACIL. D’UTIL.FACIL. D’UTIL.Effort nécessaire pour l’utilisation et sur l’évaluation individuelle de cette utilisation par un ensemble défini ou implicite d’utilisateurs.
1 Besoins Qualité Logiciel
8
PORTABILITEPORTABILITE
• Facilité d’adaptation• Facilité d’installation• Conformité aux règles• Interchangeabilité
• Interopérabilité
• Conformité règlementaire
CAPACITECAPACITEFONCTIONNELLEFONCTIONNELLE
• Sécurité
• Exactitude
• Aptitude
FACILITE FACILITE D’UTILISATIOND’UTILISATION
RENDEMENTRENDEMENT
• Comportement temps
• Comportement ressources
FIABILITEFIABILITE
• Maturité
• Tolérance aux fautes• Possibilités de récupération
MAINTENABILITEMAINTENABILITE
Effort nécessaire pour diagnostiquer les déficiences ou les causes de défaillances ou pour identifier les parties à modifier.
Effort nécessaire pour modifier, remédier aux défauts ou changer d’environnement.
Effort nécessaire pour valider le logiciel modifié.
• Facilité de compréhension
• Facilité d’exploitation
Effort que doit faire l’utilisateur pour reconnaître la logique et sa mise en oeuvre.
Effort que doit faire l’utilisateur pour apprendre son application.
• Facilité d’apprentissage
FACILITÉFACILITÉD’UTILISATIOND’UTILISATION
Effort que doit faire l’utilisateur pour exploiter et contrôler son application.
MAINTENABILITÉMAINTENABILITÉ• Facilité d’analyse
• Facilité de modification
• Stabilité
• Facilité de validation
Risque des effets inattendus des modifications.
Besoins Qualité Logiciel Détaillés
9
Utilisation MémoireFacilité de modificationStabilité opérationnelleFacilité de validation
Facilité de modificationFacilité de l’installationConf. règles de portageInterchangeabilité/Portabilité
Comport. / Temps
MaturitéTolérance aux fautesFacililité de récupération
Aptitude à traiter BDHExactitudeInteropérabilitéConformité règlementaireSécurité
Comport. / Ressources
Facilité de compréhensionFacilité d’apprentissageFacilité d’exploitation
Identifie les caractéristiques1
10
La Criticité du Logiciel
NIVEAU NIVEAU DDUUtilisation ponctuelleFFaibles dommages sur la propriétéPPas de risque pour les vies humainesPPertes économiques négligeables
A
B
C
D
NIVEAU NIVEAU CCUUtilisation continue avec périodes fixes d’interruptionDDommages sur la propriétéPPeu de vies humaines touchéesPPertes économiques significatives
NIVEAU NIVEAU BBUUtilisation continue (interruption pour changement de versions)DDommages sur l’environnementMMenaces sur les vies humainesPPertes économiques importantes
NIVEAU NIVEAU AAUUtilisation continue (24h / 24h)DDommages irréversibles sur l’environnementPPertes de vies humainesPPertes économiques désastreuses
2
11
« Extrait de SOFTWARE EVALUATION FOR CERTIFICATION (International Software Quality Assurance Series) »
Level DLevel D Level CLevel C Level BLevel B Level ALevel A
FunctionnalityFunctionnality
ReliabilityReliability
UsabilityUsability
EfficiencyEfficiency
MaintainabilityMaintainability
PortabilityPortability
Functional Functional testingtesting
Process evidenceProcess evidenceUsers surveyUsers survey
User interface User interface inspectioninspection
Execution time Execution time measurementmeasurement
Inspection of Inspection of documentsdocuments
Installation Installation analysisanalysis
Technical Technical reviewreview
Fault tolerance Fault tolerance analysisanalysis
Conformity toConformity tointerface standardinterface standard
Benchmark Benchmark testingtesting
LangageLangageconformityconformitycheckingcheckingLangageLangage
conformityconformitycheckingchecking
Component Component testingtesting
Reliability cross Reliability cross modellingmodelling
LaboratoryLaboratorytestingtesting
Users surveyUsers surveyAlgorithmic Algorithmic complexitycomplexity
analysisanalysis
Static analysisStatic analysis
Environ.Environ.constraintsconstraintsevaluationevaluation
Formal Formal verificationverification
User model based User model based evaluationevaluation
PerformancePerformanceprofiling analysisprofiling analysis
TraceabilityTraceabilityevaluationevaluation
Program design Program design evaluationevaluation
Formal Formal verificationverification
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
Choix des techniques d’évaluation2
12
Mesures Peu Contestables
1968
1980
2000
1974
1987
1990Ferrante
Halstead
Baker
Ryder
McCabe
Schneiderwind
Zolnowski
Dijkstra
Albrecht
Elshoff
Rocacher
Weiser
Singh
Rubey,Hartwick
MCCALL
SCOPEAZUMA
IEC 50(191)
3
Outils deMesure
Commerciaux
MesuresObjets
13
Utilisation Mémoire Corruption Mémoire `Leak` Mémoire Chaines récursives
Efficacité Entrées-Sorties Complexité des essais
Temps Réponse
Couplage des RoutinesPrésence de ClonesDocumentation Interne
Inter operabilitéPortabilité ANSI CConformité Batelco-Koenig
Sécurité
Facilité d`apprentissageErgonomie des interfacesOpérabilité
( important areas as identified by the Contract Working Group)
Exemple Facturation IP
Disk Access & File Org.
Couplage des données
Complexité Logiciel
Insure ++
Insure ++Logiscope
Oracle level performance
Logiscope
Visual Inspection
CodecheckVisual Inspection
14
• Maintenabilité• Adhérence aux Standards
AUTOMATISEAUTOMATISE
• Portabilité
• Fiabilité
• Facilité à tester
Calibration et Analyse Logicielle
Accède le code source du logicielUtilise les outils en mode calibrationCalibration des intervallesÉvaluation complète - calibrée
LogiscopeInsure ++Codecheck
15
Ex: Calibration Logiscope
0
10
20
30
40
50
60
70
<2 <4 <6 <9 >9
Ga Level
Lo Hi
16
Mesures hors intervalle
Code récursif Structures Complexes
Code non standard
Inspections de produitInspections de produitLLister chaque cas identifié ister chaque cas identifié IInspecter le système/doc.DDiscuter la rationnelle JJuger luger l’’importance du problèmeCClasser par ordre d’importance
Avec l’outilAvec l’outilVérifie les iVérifie les intervalles par défautsntervalles par défautsRRecalibre à chaque foisecalibre à chaque foisQQuestionne les uestionne les standardsMMesures peu contestablesCCas clairs seulementas clairs seulement
Documentation du code
17
Abbreviation Description Int Culprit Lc Nombre de commentaires 4 0 = 14% Ldv Long. des descriptifs variables 7 <3 = 131 Rac Commentaires dans le code 50% 41% Vcd Commentaire d’une déclaration 50% 21% Nip Essais – Nb de chemins 1000 > 6% NcMax Complexité des décisions 20 > = 5% Loc Lignes de codes (module) 150 > 300 = 8% Array Structure et Union 0 32 Bitfields Maximum & declaration expl. 0 4 Token Pasting Commentaire dans Macro 0 17 End of File Newline & leading space in
filename 0 176
Trigraph Caractères spéciaux 0 0
Logiciel Facturation IPUNIX C, C++, 900 modules, 417 045 LOC
18
OBJECTIF ATTEINTOBJECTIF VISEMauvaisMoyenBonExcellent
CONFORMESUR QUALITE
Facilité d’analyseFacilité d’analyseFacilité de modificationFacilité de modification
StabilitéStabilitéFacilité de testFacilité de test
Facilité d’adaptationFacilité d’adaptationFacilité de l’installationFacilité de l’installationConf. règles de portageConf. règles de portage
InterchangeabilitéInterchangeabilité
ComporComportt. / Temps. / Temps
MaturitéMaturitéTolérance aux fautesTolérance aux fautes
Possibilités de récupérationPossibilités de récupération
AptitudeAptitudeExactitudeExactitude
IntéropérabilitéIntéropérabilitéConformité règlementaireConformité règlementaire
SécuritéSécurité
ComporComportt. / Ressources. / Ressources
Facilité de compréhensionFacilité de compréhensionFacilité d’apprentissageFacilité d’apprentissage
Facilité d’exploitationFacilité d’exploitation
Mauvais Moyen Bon Excellent
RISQUE
INACCEPTABLE
Un rapport haut niveau
19
• Code source• Portabilité
• Doc. Interne• Facilité des essais
Clauses QualitéClauses Qualité
• Clause améliorations et plan d`action• Standards (Port., Progr. et docum.)
LicenseLicense
Contrat MaintenanceContrat Maintenanceet Supportet Support
• Liste d’améliorations immédiates• Position de négotiation
Utilité pour les achats
20
Intérêts Enseignement & Recherche
• Transfert de connaissance (processus et technique);• Enseignement Uqàm• Enseignement en entreprise
• Entreprise vs. classe et projet de recherches• Aide à superviser 2 étudiants de maîtrise
• 1 Publications par an depuis 1994• Débuté Doctorat – Polytechnique de Montréal• Développement de normes ISO , 1993-1997