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

  • 31
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Dec 14, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 2.6018MB