GÉNIE LOGICIEL 1 II2-ENSI Ecole Nationale des Sciences de l’Informatique Cours
GÉNIE LOGICIEL 1 II2-ENSI Ecole Nationale des Sciences de l’Informatique Cours « GL-ACOO » ENSI LE METIER DE L'INGENIEUR LOGICIEL GL1-II2 2 Cours « GL-ACOO » ENSI L’INGÉNIERIE On définit l’ingénierie comme étant le métier qui couvre l’étendue des activités d’un ingénieur, de la naissance du besoin d’un «objet» à la fin de son utilisation. •Formalismes de représentation •Utilisation des ressources techniques •Maîtrise de la technologie •Résultats de la recherche •Pragmatisme de l’expérience •Produits au goût du jour GL1-II2 3 Cours « GL-ACOO » ENSI Motivations… Les applications logicielles sont de plus en plus complexes (besoins fonctionnels, environnements distribués, interopérabilité des langages et des plates-formes hétérogènes) Mutation technologique rapide : langages et environnements de développement, O.S. Exigences croissantes des clients et évolutions des besoins en cours de projet, L’équipe de développement (souvent de grande taille) travaille à distance (moins de communication) 4 GL1-II2 Cours « GL-ACOO » ENSI Face à cette complexité, on veut : Livrer des logiciels de bonne qualité en respectant les coûts et les délais Préparer et faciliter la maintenance et les extensions du système Simplifier le travail de l’équipe de développement (chef de projet, d’analyste, du concepteur, d’architecte, du programmeur, du testeur et du mainteneur) Travailler sur des parties individuelles du système en isolation tout en garantissant leur intégration Préparer et faciliter la maintenance et les extensions du système La vie d’un logiciel ne se limite pas à la programmation ! GL1-II2 Des objectifs ambitieux… Des objectifs ambitieux… 5 Cours « GL-ACOO » ENSI Définition du Génie Logiciel Le génie logiciel est l’ensemble des moyens techniques, industriels et humains qu’il faut réunir pour spécifier, construire, distribuer et maintenir des logiciels qui soient sûrs, conviviaux, évolutifs et économiques, au-delà de la seule activité de programmation. L’art et la manière de bien créer un bon logiciel. GL1-II2 6 Cours « GL-ACOO » ENSI Quels sont les enjeux du GL? 1 Maitriser la complexité et le coût d'un développement de logiciel 2 Augmenter la probabilité de réussite d’un projet de développement de logiciel. 3 Bien développer le bon logiciel GL1-II2 7 Cours « GL-ACOO » ENSI Bien développer: maitriser coût/délai/qualité Bien développer le bon logiciel Bon logiciel: celui attendu par les utilisateurs Quels sont les enjeux du GL? GL1-II2 8 Cours « GL-ACOO » ENSI Objectifs du module Avoir un aperçu général sur le génie logiciel et comprendre la valeur ajoutée du génie logiciel Etudier les processus de développement des logiciels en utilisant des approches semi-formelles Appliquer et maitriser les étapes de développement semi-formel (études de cas) Apprendre à choisir et à appliquer : processus, approche, technique, outil, … 9 GL1-II2 Cours « GL-ACOO » ENSI PLAN DU MODULE 1 Processus Logiciels Analyse & Spécification des logiciels Tests logiciels Introduction au Génie Logiciel Conception des logiciels 10 GL1-II2 10 Cours « GL-ACOO » ENSI RÉFÉRENCES Software Engineering, Ian Sommerville, 10th Edition, 2015 Software Engineering-A Practitioners Approach- Roger S. Pressman-8th Edition-2015. 11 GL1-II2 A voir aussi les vidéos http://iansommerville.com/software-engineering-book/videos/ Cours « GL-ACOO » ENSI Décrivez brièvement le sujet de votre projet de programmation (stage d’été). Avant de vous lancer dans la programmation, par quelles étapes êtes-vous passés? Est-ce que votre application est facilement maintenable (extensibilité, correction de bugs)? EXERCICE CHAPITRE 1 École Nationale des Sciences de l’Informatique Génie Logiciel 1 II2-ENSI Cours « GL-ACOO » ENSI PLAN DU COURS 1. Le logiciel C’est quoi un logiciel ? Quels sont les différents types des logiciels? Quelles sont les qualités d’un bon logiciel ? 2. Le génie logiciel (GL) C’est quoi le GL ? Pourquoi le GL ? Quels sont les acteurs qui interviennent dans le GL ? Quels défis devant le GL ? 3. Quiz 14 GL1-II2 Cours « GL-ACOO » ENSI Un logiciel (software) est un ensemble de : 1. Instructions/Programmes informatiques/Codes sources exécutables) : exécutés pour répondre aux besoins du client. 2. Données : manipulées et traitées par les programmes. 3. Documents : décrivent les programmes et des données (documents d’analyse, de spécification, de conception, rapport d’implémentation, manuel d’utilisation, d’installation, de configuration, de maintenance, les jeux de tests, …) Section 1 Le Logiciel 15 Chapitre 1 Introduction au génie logicel 1.1 Définition du logiciel Cours « GL-ACOO » ENSI 1ère classification : deux grandes catégories Logiciels génériques (Generic products) : des systèmes dédiés au grand public qui sont commercialisés et vendus à n'importe quel client qui souhaite les acheter. Logiciels sur mesure (Customized products) : des systèmes développés pour répondre à des besoins particuliers d’un client. Section 1 Le Logiciel 16 Chapitre 1 Introduction au génie logiciel 1.2 Typologie des logiciels Cours « GL-ACOO » ENSI 2ème classification : Logiciels systèmes : les systèmes d’exploitation, Ex: Windows, Linux, Logiciels temps réels : réponse aux événements dans un laps de temps limité et strict, Ex: système de monitoring de la température Logiciels de gestion: Ex: systèmes d’information, systèmes bancaires Logiciels d’ingénierie : Modélisation et programmation Ex: Eclipse Logiciels embarqués : intégrés à un dispositif ou une machine Ex: système de freinage automobile, guidage automatique de train Section 1 Le Logiciel 17 Chapitre 1 Introduction au génie logiciel 1.2 Typologie des logiciels Cours « GL-ACOO » ENSI Logiciels pour ordinateur personnel : Ex: calculatrice, calendrier, capture Logiciels d’applications Web (Webapps): manipulables grâce à un navigateur Web, Ex: moteurs de recherche, webmail, wiki, blogs, googleMap, Applications mobiles : Ex: OS ANDROID, WinDowsMobile Logiciels d’intelligence artificielle: Ex: Systèmes de robotique, système expert, reconnaissance des formes, les jeux 18 1.2 Typologie des logiciels Cours « GL-ACOO » ENSI 3ème classification : Le logiciel libre (Open source) : L’auteur met le code source du logiciel à la disposition de tous les utilisateurs désireux de le réutiliser ou d’y apporter des améliorations. Il se définit par 4 libertés : Liberté 1 : la liberté d'exécuter le programme pour tous les usages. Liberté 2: la liberté d'étudier le fonctionnement du programme (l'accès au code source est une condition requise) Liberté 3 : la liberté de redistribuer des copies. Liberté 4 : la liberté de modifier le programme et de publier vos améliorations. Le logiciel libre n’est pas nécessairement gratuit! Section 1 Le Logiciel 19 Chapitre 1 Introduction au génie logiciel 1.2 Typologie des logiciels Cours « GL-ACOO » ENSI Le logiciel propriétaire : soumis aux droits de son auteur qui peut interdire ou limiter à l'utilisateur suivant un contrat. Il est distribué uniquement sous forme binaire (sans source). Différents types de logiciels propriétaires : Les logiciels commercialisés : des logiciels propriétaires payants. Les graticiels (freewares) : des logiciels gratuits. L’auteur du logiciel rend disponible gratuitement son logiciel (exe) (le code n'est pas accessible) Les partagiciels (sharewares) : des logiciels propriétaires partiellement gratuits. La version gratuite est très limitée ou encore offerte gratuitement pour une période d’essai. Ceci donne l’occasion au consommateur d’évaluer le logiciel avant de procéder à l’achat et permet aussi aux entreprises en logiciels de promouvoir tous leurs produits. Section 1 Le Logiciel 20 Chapitre 1 Introduction au génie logiciel 1.2 Typologie des logiciels Cours « GL-ACOO » ENSI Section 1 Le Logiciel 21 Chapitre 1 Introduction au génie logiciel 1.2 Typologie des logiciels http://www.01net.com Cours « GL-ACOO » ENSI Section 1 Le Logiciel 22 Chapitre 1 Introduction au génie logiciel 1.3 Qualités Les qualités de logiciel peuvent être classifiées en deux types : Externes : Observables par l’utilisateur Internes : Concernent le développement du logiciel Critères de qualité d’un bon logiciel: Validité Fiabilité Robustesse Extensibilité Réutilisabilité Vérifiabilité Compatibilité Portabilité Interopérabilité Efficacité Facilité d’emploi Convivialité Réparabilité Intégrité Cours « GL-ACOO » ENSI Section 1 Le Logiciel 23 Chapitre 1 Introduction au génie logiciel 1.3 Qualités •Validité ou conformité ou adéquation : aptitude d’un produit logiciel à remplir exactement les fonctions définies par le cahier des charges •Fiabilité : aptitude d’un logiciel à assurer de manière continue le service attendu, sans erreurs. •Robustesse : aptitude d’un logiciel à fonctionner même dans des conditions anormales sans dysfonctionnements. •Extensibilité ou évolutivité : facilité avec laquelle un logiciel se prête à sa maintenance •Réutilisabilité : aptitude d’un logiciel à être réutilisable en tout ou en partie (composants logiciels) , dans de nouvelles applications. •Vérifiabilité : facilité de préparation des procédures de test. •Compatibilité : aptitude d’un logiciel de communiquer avec une autre application. Cours « GL-ACOO » ENSI Section 1 Le Logiciel 24 Chapitre 1 Introduction au génie logiciel 1.3 Qualités • Portabilité : facilité avec laquelle un logiciel peut être transféré sous différents environnements matériels et logiciels. • Interopérabilité : facilité avec laquelle un logiciel peut coopérer et être combiné avec d’autres logiciels en passant par des standards. • Efficacité ou Performance : utilisation optimale des ressources disponibles (mémoire, CPU...) • Utilisabilité ou Facilité d’emploi : facilité d’utilisation et d’apprentissage • Convivialité ou Ergonomie : qualité d'un logiciel que les utilisateurs trouvent agréable et facile à utiliser. • Réparabilité : Correction facile des erreurs. • Intégrité : aptitude d’un logiciel à protéger son code et ses données contre des accès non autorisés. Cours « GL-ACOO » ENSI Section 1 Le Logiciel 25 Chapitre 1 Introduction au génie logiciel 1.3 Qualités L’importance de ces critères de qualité variera selon uploads/Management/ chap1-gl1.pdf
Documents similaires










-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 14, 2022
- Catégorie Management
- Langue French
- Taille du fichier 2.6018MB