Julie Vachon, Hiver 2003 IFT6803: Génie logiciel du commerce électronique Chapi
Julie Vachon, Hiver 2003 IFT6803: Génie logiciel du commerce électronique Chapitre 1: Introduction Section 1 :Génie logiciel: objectifs, défis et principes Chap.1, Sect.1, p.2 Sommaire Chapitre 1, Section 1 « Génie logiciel: objectifs, défis et principes » 1.1.1 Qu’est-ce que le génie logiciel ? 1.1.2 Le logiciel: nature et qualités 1.1.3 Les acteurs du génie logiciel 1.1.4 Une approche système (vue de l’extérieur…) 1.1.5 Une approche d’ingénierie (vue de l’intérieur…) 1.1.6 Évolution du génie logiciel 1.1.7 Principes du génie logiciel Chap.1, Sect.1, p.3 1.1.1 Qu’est-ce que le génie logiciel? Génie logiciel: « Discipline de l’informatique qui regroupe un ensemble de connaissances, de procédés et des acquis scientifiques pour la conception, la mise en œuvre, la vérification et la documentation de logiciels dans le but d’en optimiser la production, le support et la qualité ». (Grand dict. terminologique) Chap.1, Sect.1, p.4 Le génie logiciel c’est un processus de résolution de problème… Evaluation de la solution générale Synthèse des solutions Développement de solutions aux sous-problèmes Analyse Du problème (décomposition en sous-problèmes Définition du problème Solution logicielle Chap.1, Sect.1, p.5 …En utilisant des méthodes, des techniques et des outils informatiques Développer un logiciel c’est comme cuisiner. Processus = étapes de préparation d’un repas Paradigme = style de cuisine Principes = «Une sauce réussie est onctueuse.» Techniques = techniques culinaires pour faire les sauces, réussir les mayonnaises, etc. Méthodes = les recettes Méthodologie = livre de cuisine Outils = casseroles, bols, mixette, etc. Chap.1, Sect.1, p.6 Relations entre principes, méthodes, techniques, méthodologies et outils Outils Méthodologies Méthodes et techniques Principes Apportent leur support aux sont basés sur regroupent et appliquent Chap.1, Sect.1, p.7 Certains problèmes du génie logiciel Ou « quand la tarte aux pommes contient des pépins … » Erreur: Est commise par un humain, dans une spécification, dans un programme, en discutant avec le client, etc. Faute: état intermédiaire incorrect dans lequel un logiciel se trouve. Défaillance: situation symptomatique ou la manifestation externe d’une erreur. Une défaillance est toujours engendrée par une faute. Une faute est toujours engendrée par une erreur. Mais une faute ne cause pas toujours une défaillance. Une erreur ne cause pas toujours une faute. Chap.1, Sect.1, p.8 Lacunes dans le développement: conséquences coûteuses… La sonde Mariner vers Vénus s’est perdue dans l’espace à cause d’une erreur dans un programme FORTRAN. En 1981, le premier lancement de la navette spatiale a été retardé de deux jours à cause d'un problème logiciel. L'explosion d'Ariane 5, le 4 juin 1996, qui a coûté un demi milliard de dollars (non assuré !), est due à une faute logicielle d'une composante dont le fonctionnement n'était pas indispensable durant le vol. (http://www.cnes.fr/espace_pro/communiques/cp96/rapp ort_501/rapport_501_1.html#description) Le bug de l’an 2000… Chap.1, Sect.1, p.9 Les défis du génie logiciel Minimiser les coûts de développement tout en répondant aux exigences croissantes Réduire les temps de développement. Assurer la qualité des logiciels produits. Instituer l’usage des nouvelles technologies (méthodes et outils) du génie logiciel. Chap.1, Sect.1, p.10 Le génie logiciel en crise? Comment arriver à simultanément… Assurer la maintenance du nombre croissant de logiciels (vieillissants!!)? Conserver un rythme de production logicielle qui puisse réponde à la demande Chap.1, Sect.1, p.11 Quelques mythes… Vrai ou Faux ? Pour coordonner un projet, une méthode et un bon livre de directives à suivre est généralement suffisant pour guider les développeurs. Faux. Un équipement informatique à la fine pointe de la technologie ne garantit en rien une production logicielle de qualité. Vrai. En ajoutant des programmeurs on peut certainement accélérer la production logicielle. Faux Chap.1, Sect.1, p.12 Quelques mythes Vrai ou faux? A partir d’une description générale des besoins, on peut immédiatement débuter le développement d’un logiciel. Faux Si le logiciel est flexible, les modifications tardives peuvent être effectuées sans problème et sans surprise… Faux Chap.1, Sect.1, p.13 Coût d’une modification: surprise! 60-100 x Coûts 1.5-6 x 1 x définition développement après installation Chap.1, Sect.1, p.14 Quelques mythes… Vrai ou faux? Le travail du développeur ne se limite pas à produire un programme qui fonctionne. En fait, 60% à 80% du travail devra être consacré à sa maintenance. Vrai Le test est la seule méthode pour évaluer la qualité d’un logiciel. Faux. La production de documents lors du développement logiciel n’est pas du temps perdu. Vrai Chap.1, Sect.1, p.15 1.1.2 Le logiciel: nature et qualités Le logiciel est un produit Modifiable Œuvre de création, plus que de manufacturation Ensemble cohérent d’items ou d’objets qui forme une “configuration” incluant: des programmes des données des documents Chap.1, Sect.1, p.16 Applications logicielles Critères de classification le type d'informations traité Ex. Image, son, texte …. Dans quel format? la disponibilité des informations et leur traitement dans le temps Quand les données arrivent-elles? Dans quel ordre? Quand doivent-elles être traitées? L'ordonnancement des opérations est-il prévisible? Chap.1, Sect.1, p.17 Applications logicielles Quelles sont leurs caractéristiques? Des exemples? Logiciels systèmes Logiciels temps réel Logiciels d’affaires Logiciels scientifiques et logiciels d’ingénierie Chap.1, Sect.1, p.18 Applications logicielles Logiciels embarqués Logiciels pour ordinateur personnel Logiciels d’applications Web Logiciels d’intelligence artificielle Chap.1, Sect.1, p.19 Qualités du logiciel Les qualités du logiciel: Externes: observables par l’utilisateur. Internes: d’intérêt pour le développeur du logiciel Influencent directement les qualités externes. Ex. Le logiciel doit être vérifiable (interne) pour pouvoir affirmer qu’il est fiable (externe). Chap.1, Sect.1, p.20 Qualités du logiciel Quelques préalables … Données Programmes Documents •Document d’analyse -> spécification •Document de conception •Rapport d’implémentation •Manuel utilisateur •Etc. Logiciel Chap.1, Sect.1, p.21 Qualités du logiciel Correction: Qualité du logiciel qui se comporte exactement tel que décrit par sa spécification. Qualité absolue. Hypothèse: la spécification est sans ambiguïté et sans erreur -> décrit les propriétés attendues et désirables. Une spécification est dite complète si elle décrite toutes ces propriétés. Chap.1, Sect.1, p.22 Qualités du logiciel Fiabilité: Qualité du logiciel sur lequel on peut compter. Aussi: probabilité que le logiciel se comporte tel qu'espéré durant un intervalle de temps donné. Qualité relative (correction: qualité absolue). Tout logiciel correct est fiable. Pourquoi? correction fiabilité Chap.1, Sect.1, p.23 Qualités du logiciel Robustesse: Qualité du logiciel qui se comporte de façon convenable MÊME dans les circonstances non prévues par la spécification. Comportement du logiciel possiblement non spécifié en cas de mauvaises entrées pannes matérielles ajout de composants etc. Si la spécification décrit également les exigences concernant le traitement des cas exceptionnels: correction = robustesse… Chap.1, Sect.1, p.24 Qualités du logiciel Performance: Qualité du logiciel qui utilise les ressources de façon rentable. peut changer en fonction de la technologie. peut affecter la variabilité dimensionnelle du système. si tcompil(p) = nbVar(p)² Mesures de performance: complexité algorithmique mesure - monitoring (collecte de données, identif. bouchons) analyse - construire un modèle et l'analyser (preuves math.) simulation - construire un modèle et l'exécuter (stat. et prob.) Chap.1, Sect.1, p.25 Qualités du logiciel Convivialité: Qualité d'un logiciel que les utilisateurs trouvent agréable et facile à utiliser. Types d’interface: interface usager: Type d'utilisateur? Expert ou novice? interface avec périphérique ou autre système: facile à configurer et à adapter avec autre système? Chap.1, Sect.1, p.26 Qualités du logiciel Vérifiabilité: Peut être vérifié facilement (par analyse formelle ou test). Quelles propriétés peut-on vouloir vérifier? correction fiabilité performance etc. Chap.1, Sect.1, p.27 Qualités du logiciel Facilité de maintenance Qualité du logiciel dont l'entretien est facilement réalisable. Types de maintenance: Corrective(20% des coûts): Enlever les erreurs résiduelles ou introduites pendant la maintenance. Adaptative (20%): Ajuster le logiciel suite à la modification de son environnement. Perfective (+50%): Modifier le logiciel pour améliorer ses qualités (ajout de nlles fcts, performance, etc.) Chap.1, Sect.1, p.28 Qualités du logiciel Les deux (sous-) qualités à la base de la facilité de maintenance: Réparabilité: Correction facile des erreurs. Évolubilité: Réalisation facile des modifications formulées pour répondre à de nouvelles exigences. Comment faire pour réaliser des programmes qu’on peut facilement déverminer et faire évoluer? Chap.1, Sect.1, p.29 Qualités du logiciel Comment la maintenance affecte-elle la fiabilité? Changement (pour réparer ou faire évoluer) Courbe idéale changement Courbe actuelle Taux de défaillances (fiabilité) Temps Taux de défaillance augmenté dû aux effets de bord. Chap.1, Sect.1, p.30 Qualités du logiciel Réutilisabilité : Propriété de ce qui peut être utilisé à nouveau dans une autre application avec aucune ou peu de modifications. Techniques favorisant la réutilisation: tech. conception orientées objet (instanciation) tech. conception à base de composants (code reuse) design patterns (design reuse) : modèle d'architecture permettant de résoudre un pbm. Chap.1, Sect.1, p.31 Qualités du logiciel Portabilité: Qualité d’un logiciel pouvant être utilisé sur des systèmes informatiques de types différents. Solutions possibles pour développer des logiciels portables: Faire l'hypothèse d'une configuration minimale (facilités et mémoire) Utiliser technologies permettant de déterminer la config. et de s'adapter à uploads/Industriel/ chapitre1-1-pdf 1 .pdf
Documents similaires










-
29
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 31, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.4619MB