Conception Et Adaptation Des Solutions Applicatives 1
Conception Et Adaptation Des Solutions Applicatives 1
Conception Et Adaptation Des Solutions Applicatives 1
Objectifs :
Programme :
1.1.Définition
1.2.Caractéristique
1.3.Problèmes ou risque majeur de développement de logiciel
2.1. Objectifs
2.2. Définition
2- Caractéristiques du logiciel.
Vers la fin des années 70, on assistera à la crise de l’industrie du logiciel due principalement
aux problèmes suivant :
Le non-respect des spécifications contenues dans le cahier des charges (les besoins et
contraintes de l’utilisateur ne sont pas respectés.
Le non-respect des délais (on relève régulièrement des retards la livraison des produits
logiciel).
La non-fiabilité (manque de performance et de robustesse).
Les difficultés de maintenance et d’évolution (on note une grande rigidité dans les
dispositions misent en place, les codes sont difficiles à maintenir).
L’augmentation des couts (les prix ne sont pas maitrisés).
On arrive parfois à des logiciels non utilisables.
Bref la problématique historique du logiciel est due au fait que d’une part le logiciel
n’est pas fiable et d’autre part il est incroyablement difficile de réaliser dans les délais
prévus des logiciels satisfaisant leur cahier de charge.
Ces diffèrent problèmes vont conduire à la naissance d’une nouvelle approche
méthodologique qui permet le développement des logiciels dans un contexte professionnel
selon des règles strictes encadrant la conception, le travail en groupe et la maintenance il
s’agit du génie logiciel (software engineering).
Mardi 1er Octobre 2019
1. Définition
Le génie logiciel peut être définit comme étant l’ensemble des activités de conception
et de mise en œuvre des procédures à rationnaliser la production du logiciel et de son suivie. Il
peut aussi être définit comme étant l’ensemble des méthodes, outils et techniques utilisés pour
développer et maintenir le logiciel dans le but d’assurer la qualité et l productivité.
C’est aussi l’art de spécifier de concevoir de réaliser et de faire évoluer avec des
moyens et dans les délais raisonnables des programmes des documentations et des procédures
de qualité en vue d’utiliser un ordinateur pour résoudre certains problèmes.
Le génie logiciel propose des méthodes, des formalismes et des techniques qui
permettent d’automatiser la procédure des logiciels.
2. Les objectifs
Si le génie logiciel est l’art de produire de bons logiciels alors il est nécessaire de fixer
les critères ou facteurs de qualité d’un logiciel, les critères s’appliquent lors de l’utilisation et
lors de la maintenance logicielle, les principaux critères sont :
- Validité/Complétude fonctionnelle/Utilités : c’est l’aptitude d’un logiciel à remplir
exactement les fonctions définis par le cahier des charges. En d’autre terme il s’agit de
l’adéquation les besoins effectifs de l’utilisateur et les fonctions offert par le logiciel.
- La fiabilité/Robustesse : c’est l’aptitude d’un logiciel à effectuer toutes les tâches sans
problèmes et à fonctionner même dans les conditions anormales.
- Efficacité/Performance : il s’agit de l’utilisation optimale de ressources matérielles
(mémoire, processeur) par le logiciel.
- Ergonomie/Convivialité : c’est la facilité d’apprentissage, d’utilisation, de préparation,
d’interprétation des données et de rattrapages en cas d’erreurs d’utilisation.
- L’extensibilité/flexibilité/Adaptabilité : c’est la facilité avec laquelle un logiciel se prête
à sa maintenance c'est-à-dire à une modification ou à une extension des fonctions qui
lui qui lui sont demander (maintenance corrective, adaptative ou évolutive).
- Intégrité : c’est l’aptitude d’un logiciel à protéger son code et ses données contre les
accès non autorisés.
- Réutilisabilité : c’est l’aptitude d’un logiciel à être réutilisé totalement ou en partie dans
de nouvelles applications.
- Compatibilité/Interopérabilité/Couplabilité : c’est la facilité avec laquelle un logiciel
peut être combiné avec d’autre logiciel.
- Portabilité : c’est la facilité avec laquelle un logiciel peut être transféré sous différents
environnement matériels et logiciels.
- Vérifiabilité : c’est la facilité de préparation des procédures de test.
- Documentation : c’est l’aptitude d’un logiciel à mettre en place des documents pour
faciliter son utilisation.
4. Principes de qualités d’un logiciel
Le cycle de vie d’un logiciel (Software life cycle) désigne toutes les étapes du
développement du logiciel de sa conception jusqu’à sa maintenance. L’objectif d’un tel
découpage est de permettre, définir des jalons intermédiaires permettant la validation du
développement du logiciel (c’est-à-dire la conformité du logiciel avec les besoins exprimés et
la vérification du processus de développement) c'est-à-dire l’adéquation des méthodes mise en
œuvre).
L’origine de ce découpage proviens du constat que les erreurs ont un coût d’autant
plus élevé qu’elles sont détectées tardivement dans le processus de réalisation. Le cycle de vie
de détecter les erreurs du plutôt et ainsi de maitriser la qualité du logiciel, les délais de sa
réalisation et les coûts associés. Le cycle de vie du logiciel comprend généralement au
minimum les étapes suivantes :
Assemble les programmes (Module) pour obtenir un système exécutable tout en veillant à leur
évolution et leurs mises à jour
But : Vérifier par rapport aux spécifications c’est-à-dire vérifié que les dispositions
satisfont les spécifications techniques des besoins.
Moyen utilisé : Test permettant de chercher des erreurs dans un programme. Il existe
4 types de test :
Le principal but pour le projet est de ne pas s’apercevoir des problèmes qu’à la fin,
ce qui permet de contrôler l’avancement des activités en cours, de vérifier et validé les
résultats intermédiaires. L’objectif général est d’obtenir des processus de développement
rationnel, contrôlable et reproductif. On distingue plusieurs modèles de cycle de vie du
logiciel parmi lesquelles : le Modèle en Cascade (Fin des années 60) le Modèle en V (année
1980), le Modèle en spirale (1988).
a. Modèle en Cascade
Ce modèle a été mis au point des 1960, puis formaliser aux alentours de 1970
Illustration : la flèche qui remonte est l’amélioration du cycle à chaque fois qu’on
finit avec une étape on remonte à l’étape précédente pour vérification.
Analyse des Besoins
Spécification
Conception
Architectural
Conception détaillé
Codage
(Programmation)
Intergration
Mise en exploitation
Maintenance
Modèle en Cascade
- Avantages
Simple et Logique
Faciliter de planification des étapes et de délais
Adapter à des petits systèmes
- Inconvénients
Mal adapter aux systèmes complexes
Révision et réflexion quasi impossible
Pas de validation intermédiaire et par conséquent des erreurs sont détectées
tardivement.
b. Modèle de Cycle de vie en V
Installation et test
Spécification Système
Intégration et test
Conception Architectural
d’intégration
Modèle en V Codage
Le principe de ce modèle est que les premières étapes préparent les dernières et toutes
descriptions d’un composant sont accompagnées de test permettant de s’assurer qu’il
correspond à sa description. La partie droite, consiste en la vérification du logiciel par une
série de test et la recette par le client du produit fini.
Le modèle en V est idéal quand les besoins sont bien connus et quand l’analyse et la
conception sont claires. Cependant il souffre toujours du problème de la vérification tardive
du bon fonctionnement du système.
- Avantages
Facile à comprendre
Segmente clairement le projet
Vérification adaptée à chaque étape
- Inconvénients
Manque de souplesse
CHAPITRE IV : CONDUITE D’UN PROJET INFORMATIQUE
Introduction
Pour pouvoir faire évoluer le SI l’entreprise doit définir régulièrement des projets
d’adaptation du système d’information tout au niveau d’une étude de l’existant qu’à celui des
perspectives d’évolution d’un point de vue technologique un projet correspondant à la réponse
d’un besoin de l’organisation répondant à l’analyse d’un domaine d’étude précisément
définis.
Un projet peut être défini comme un ensemble d’actions à entreprendre afin de répondre à
un besoin défini dans des délais fixés, mobilisant des ressources humaines et matérielles et
possédant un coût.
La conduite d’un projet est une organisation méthodologique mise en œuvre pour faire en
sorte que l’ouvrage réalisé par le maître d’œuvre réponde aux atteintes du maître d’ouvrage
dans les contraintes de délai, coût et qualité.
Autres Acteurs
- Le comité de pilotage : il est présidé par le maître d’ouvrage et animé par le maître
d’œuvre. Il se charge des aspects clés du projet et fournis tout avis au maître
d’ouvrage pour décider. Il fonctionne par intermittence du début à la fin du projet.
- L’équi-projet : elle est dirigé et animé par le maître d’œuvre, elle conçoit, réalise et
met en place le futur système. Elle fonctionne en permanence du début à la fin du
projet
- Les groupes de travail (Utilisateurs, experts) ils sont composés pour une mission
précise et fonctionne pour une durée déterminée.
La planification est un outil incontournable pour la conduite d’un projet, elle permet de :
Définir les travaux à réaliser
Fixer les objectifs
Coordonnée les actions
Maitriser les moyens
Diminuer les risques
Suivre les actions en cours
Rendre compte de l’état d’avancement du projet
c. Découpage normalisé
Un projet d’évolution du système d’information d’une organisation ne peut pas être
traité avec une vision complètement globale. Il faut :
- Déterminer l’organisation des différentes phases du projet
- Repartir les taches aux différents acteurs en fonction de leurs qualifications
- Mobiliser les moyens organisationnel et matériel pour le projet
Pour l’analyse d’un projet il est important d’utiliser l’organigramme technique qui se
présente comme suit :
Organigramme Technique
Quoi? PBS
- Produit (Product Breakdown Structure)
- Livrable
- Objectif Organigramme Structurel
Comment ? WBS
Qui ? OBS
PBS constitue le squelette du projet. Elle considère le résultat final du projet comme un
produit c'est-à-dire un dé livrable, une réalisation que l’on donne en main propre du client le
dernier jour du projet. Le produit constitue donc l’objectif du projet et un objectif est par
nature unique et mesurable.
NB : ne jamais oublié les tâches d’agrégation des sous objectifs et des éléments,
condition nécessaire pour accéder au niveau supérieur.
Délimitation
Délimitation Délimitation S Ensemble 2.1
Système Système 1
Réalisation S
Réalisation Ensemble 2.2.1
Réalisation S Ensemble 2.1
Système 1
Réalisation S
Réalisation Ensemble 2.2.2
Système Ensemble 2.2
Réalisation S
Système 2
Réalisation S
Réalisation Ensemble 2.2.3
Ensemble 2.3
Réalisation S
Système 3
Intégration S
Intégration S Ensemble 2.2
Système 2
Intégration
Système