Vous êtes sur la page 1sur 48

Développeur d’Applications Web & Mobile

Atelier de génie logiciel


Chapitre 1 : Introductionau Génie Logiciel

Prof. Mohamed Hamidi AU :2023/2024


Introduction au Génie Logiciel

Cycle de vie du développement logiciel

Modélisation de Processus de
developpement logiciel
Plan
Développement Agile des Logiciels

Test et évolution du Logiciel

Conception et Implémentation des


Logiciels
1. Introduction au génie logiciel

Le génie logiciel, également connu sous le nom d'ingénierie logicielle, est le


domaine de l'informatique qui se concentre sur la conception, le développement,
la maintenance et la gestion de logiciels de manière méthodique et efficace. Il vise
à appliquer des principes d'ingénierie à l'ensemble du cycle de vie d'un logiciel, de
sa conception initiale à sa livraison et à sa maintenance continue.

3
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.1 Définitions

Un système est un ensemble d’éléments interagissant entre eux suivant un


certains nombres de principes et de règles dans le but de réaliser un objectif.

Un logiciel est un ensemble d’entités nécessaires au fonctionnement d’un


processus de traitement automatique de l’information. Parmi ces entités, on
trouve par exemple :
• des programmes (en format code source ou exécutables);
• des documentations d’utilisation;
• des informations de configuration.

4
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.1 Définitions

Un modèle est une représentation schématique de la réalité.


Une base de Données: ensemble des données (de l'organisation) structurées et
liées entre elles : stocké sur support à accès direct (disque magnétique) ; géré par
un SGBD (Système de Gestion de Bases de Données), et accessible par un
ensemble d'applications.
Une analyse c’est un processus d'examen de l'existant
Une Conception est un processus de définition de la future application
informatique.
Un système d'Information ensemble des moyens (humains et matériels) et des
méthodes se rapportant au traitement de l'information d'une organisation.

5
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.2 Les taches de génie logiciel Spécification : Cette étape consiste à
capturer et à documenter les besoins du

Le génie logiciel englobe les tâches suivantes : logiciel, y compris les spécifications
fonctionnelles et techniques. Un cahier
des charges est souvent créé pour définir
clairement les objectifs du projet.
Conception : À partir des spécifications,
cette phase implique l'analyse des
besoins, la modélisation de l'architecture,
la définition des modules et des
interfaces, ainsi que la conception des
algorithmes qui seront utilisés dans le
logiciel.
6
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.2 Les taches de génie logiciel
Implémentation : C'est la phase de
développement réel, où le code
Le génie logiciel englobe les tâches suivantes :
source du logiciel est écrit en utilisant
le langage de programmation choisi.
Les concepts de conception sont
transformés en code exécutable.
Intégration : Cette étape consiste à
assembler les différentes parties du
logiciel pour former une application
fonctionnelle cohérente. Les modules
développés individuellement sont
combinés et testés ensemble.
7
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.2 Les taches de génie logiciel Documentation : La création de
documentation est cruciale pour aider
les utilisateurs et les développeurs à
Le génie logiciel englobe les tâches suivantes :
comprendre le fonctionnement du
logiciel. Cela peut inclure des manuels
d'utilisation, des aides en ligne et des
guides techniques.
Vérification : Les tests sont effectués
pour s'assurer que le logiciel
fonctionne correctement. Les tests
fonctionnels, les tests de fiabilité et
les tests de sûreté sont parmi les
types de tests couramment effectués.
8
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
Validation : Cette étape consiste à vérifier que
1.2 Les taches de génie logiciel
le logiciel répond aux exigences définies dans le
cahier des charges. La recette du logiciel est
Le génie logiciel englobe les tâches suivantes : effectuée pour s'assurer de sa conformité.
Déploiement : Une fois que le logiciel a passé
avec succès les tests de validation, il est livré,
installé sur les systèmes des utilisateurs finaux
et les utilisateurs sont formés à son utilisation.
Maintenance : La maintenance continue du
logiciel est nécessaire pour apporter des
corrections aux bugs, des mises à jour de
sécurité et des améliorations en réponse aux
besoins changeants des utilisateurs.

9
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.2 Les taches de génie logiciel

Le génie logiciel englobe les tâches suivantes :


Ces étapes peuvent varier en fonction
de la méthodologie de
développement spécifique utilisée
(par exemple, le modèle en cascade,
le développement agile, etc.), mais
elles représentent généralement les
principales phases du génie logiciel.

10
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.3 Avantages

Le génie logiciel, ou l'application de principes d'ingénierie au développement de


logiciels, offre de nombreux avantages importants :
• Meilleure qualité du logiciel : Le génie logiciel met l'accent sur la planification, la
conception, les tests et la maintenance, ce qui contribue à améliorer la qualité
globale du logiciel en réduisant les bugs et les erreurs.

• Efficacité : Les méthodologies de développement logiciel, telles que les méthodes


agiles, permettent d'optimiser les processus de développement, d'accélérer la
livraison des logiciels et de réduire les délais de mise sur le marché.

11
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.3 Avantages

Gestion du projet améliorée : Le génie logiciel propose des cadres de gestion de projet,
tels que le modèle en cascade, qui aident à planifier, organiser et contrôler efficacement
les projets de développement logiciel.

Réutilisation de code : Le génie logiciel encourage la création de modules de code


réutilisables, ce qui permet d'économiser du temps et des ressources lors du
développement de nouveaux logiciels.

Maintenance facilitée : Les principes de génie logiciel incluent la documentation


approfondie et la gestion des versions, ce qui facilite la maintenance continue et les
mises à jour du logiciel.
12
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.3 Avantages

Réduction des coûts : Bien que les coûts initiaux de développement logiciel puissent
être élevés, le génie logiciel contribue à réduire les coûts de maintenance et de
correction des erreurs à long terme.

Meilleure gestion des risques : En identifiant et en évaluant les risques dès le début du
projet, le génie logiciel permet de prendre des mesures pour les atténuer, ce qui réduit
la probabilité d'échec du projet.

Collaboration efficace : Les méthodologies de génie logiciel favorisent la collaboration


entre les membres de l'équipe de développement, ce qui améliore la communication et
la compréhension des objectifs du projet.
13
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.3 Avantages

Satisfaction client : En développant des logiciels de meilleure qualité qui répondent aux
besoins des utilisateurs finaux, le génie logiciel contribue à la satisfaction des clients et
des utilisateurs.

Évolutivité : Les logiciels conçus en suivant des principes d'ingénierie logicielle sont
généralement plus évolutifs, ce qui signifie qu'ils peuvent être adaptés pour prendre en
charge de nouvelles fonctionnalités et des besoins changeants

14
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4 Evolution logicielle

Le terme "évolution logicielle" désigne le processus de création d'un logiciel en utilisant


les principes et les méthodes du génie logiciel. Ce processus englobe la phase initiale de
développement du logiciel, ainsi que sa maintenance et les mises à jour nécessaires
pour parvenir à la réalisation du logiciel souhaité qui satisfait aux exigences préétablies.

15
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4 Evolution logicielle

L'évolution débute par la phase de collecte des exigences, suivie par la création d'un
prototype du logiciel prévu, qui est présenté aux utilisateurs pour recueillir leurs
commentaires dès les premières étapes du développement. Les utilisateurs proposent
des modifications, et de multiples mises à jour et maintenances successives permettent
au logiciel de continuer à évoluer. Ce processus s'applique au logiciel initial jusqu'à ce
que le logiciel désiré soit achevé.

16
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4 Evolution logicielle

Même une fois que l'utilisateur dispose du logiciel souhaité, l'évolution de la


technologie et les exigences changeantes imposent des ajustements au logiciel. Recréer
un logiciel à partir de zéro en répondant aux nouvelles exigences n'est ni pratique ni
économique. La solution la plus viable consiste à mettre à jour le logiciel existant pour
qu'il corresponde aux dernières exigences.

17
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4.1 Lois d'évolution du logiciel

Selon Meir Lehman, les lois d'évolution des logiciels sont classifiées en trois catégories
distinctes.

18
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4.1 Lois d'évolution du logiciel

Type S (pour "statique") : C'est un logiciel qui opère conformément à des spécifications
et des solutions clairement définies. Les solutions et les méthodes pour atteindre ces
objectifs sont parfaitement compréhensibles avant même de commencer la phase de
codage. Les logiciels de type S sont moins sujets aux modifications, ce qui les rend plus
simples. Par exemple, un programme de calculatrice utilisé pour des calculs
mathématiques.

19
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4.1 Lois d'évolution du logiciel

Type P (pour "pratique") : Il s'agit d'un logiciel composé d'un ensemble de procédures
dont les capacités sont clairement définies. Dans ce type de logiciel, les spécifications
peuvent être énoncées, mais la solution n'est pas immédiatement évidente. Par
exemple, un logiciel de jeu.

20
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4.1 Lois d'évolution du logiciel

Type E (pour "embarqué") : Ce type de logiciel fonctionne en étroite corrélation avec


les exigences d'un environnement réel. Ce logiciel présente un degré élevé d'évolution,
car il doit s'adapter à divers changements tels que les réglementations, les taxes, etc.,
qui surviennent dans des situations réelles. Par exemple, un logiciel de gestion du trafic
en ligne.

21
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4.2 Évolution du logiciel de type E

Meir Lehman a formulé huit principes régissant l'évolution des logiciels de type E :

Changement Continu - Un logiciel de type E doit constamment s'adapter aux évolutions


du monde réel, Sinon, il perd progressivement son utilité.

Complexité Croissante - Au fil de son évolution, un système logiciel de type E a


tendance à devenir de plus en plus complexe, à moins que des efforts ne soient
entrepris pour le maintenir ou le simplifier.

22
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4.2 Évolution du logiciel de type E

Conservation de la Familiarité - La connaissance du logiciel, de sa genèse, et de son


histoire de développement doit être préservée à tout prix pour faciliter la mise en
œuvre de modifications dans le système.

Poursuite de la Croissance - Pour un système de type E conçu pour résoudre des


problèmes commerciaux, sa taille doit évoluer en réponse aux changements dans le
mode de fonctionnement de l'entreprise.

23
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4.2 Évolution du logiciel de type E

Réduction de la Qualité - La qualité d'un système logiciel de type E tend à diminuer avec
le temps, à moins d'une maintenance rigoureuse et d'adaptations aux évolutions de
l'environnement opérationnel.

Systèmes de Rétroaction - Ces systèmes sont conçus pour détecter automatiquement


les erreurs et déclencher des actions correctrices. Les logiciels de type E sont souvent
des systèmes de rétroaction à boucle multiple, et ils doivent être traités comme tels
pour être modifiés ou améliorés avec succès.

24
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.4.2 Évolution du logiciel de type E

Autorégulation - Les processus d'évolution d'un système de type E s'autorégulent, avec


une distribution des mesures du produit et du processus qui tend à suivre une
distribution presque normale.

Stabilité Organisationnelle - Le taux d'activité globale effective au sein d'un système de


type E en évolution reste relativement constant pendant toute sa durée de vie.

25
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
Il est à noter que le paradigme de la
1.5. Les paradigmes logiciels programmation est un sous-ensemble du
paradigme de conception de logiciels, qui est
en outre un sous-ensemble du paradigme de
développement logiciel.
Les paradigmes logiciels font référence aux
méthodes et aux étapes qui sont prises lors de
la conception du logiciel. Il existe de
nombreuses méthodes proposées et sont en
cours de réalisation, mais nous avons besoin de
voir où se situent ces paradigmes dans le génie
logiciel. Ceux-ci peuvent être combinés en
différentes catégories, bien que chacun d'eux
soit contenu l'un dans l'autre :

26
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.5.1. Paradigme de développement logiciel

Ce paradigme est connu sous le nom de paradigmes d'ingénierie logicielle, où tous les
concepts d'ingénierie relatifs au développement de logiciels sont appliqués. Il comprend
diverses recherches et la collecte des exigences qui aident le produit logiciel à construire. Ce
paradigme fait partie du développement logiciel et inclut : Le rassemblement des besoins ; la
Conception des logiciels et la planification des tâches.

27
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.5.2. Paradigme de conception

Ce paradigme fait partie du développement de logiciels et comprend : la conception ; la


maintenance et l’organisation des activités à exécuter.

1.5.3. Paradigme de programmation

Ce paradigme est étroitement lié à l'aspect programmation du développement logiciel. Cela


inclut : Le codage ; Le Test et l'intégration des besoins.

28
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.6. Besoin du Génie Logiciel

Les besoins du génie logiciel est dû au taux de changement plus élevé des besoins des
utilisateurs et de l'environnement sur lequel le logiciel fonctionne :

 Gros Logiciels (volumineux) - Les logiciels


volumineux sont plus complexes à développer et à
entretenir que les logiciels plus petits. La gestion de
projets de grande envergure nécessite des
méthodologies et des compétences spécifiques
pour garantir que le logiciel est construit de manière
efficace et fiable.

29
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.6. Besoin du Génie Logiciel

Les besoins du génie logiciel est dû au taux de changement plus élevé des besoins des
utilisateurs et de l'environnement sur lequel le logiciel fonctionne :

 L'évolutivité est la capacité d'un logiciel à évoluer


pour répondre aux besoins changeants de
l'utilisateur. Le génie logiciel vise à créer des logiciels
évolutifs, ce qui signifie qu'ils peuvent être mis à
jour et améliorés sans devoir être recréés à partir de
zéro.

30
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.6. Besoin du Génie Logiciel

 Prix – Le coût du développement logiciel peut


être élevé, en particulier si le processus de
développement n'est pas efficace. Une gestion
inadéquate des ressources et des coûts peut
entraîner des dépassements budgétaires.
L'ingénierie logicielle vise à rationaliser le
processus de développement pour réduire les
coûts.
31
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.6. Besoin du Génie Logiciel

 Nature dynamique - La nature toujours


croissante et adaptative du logiciel dépend
énormément de l'environnement dans lequel
l'utilisateur travaille. Si la nature du logiciel
évolue constamment, de nouvelles
améliorations doivent être apportées dans le
logiciel existant. L'ingénierie logicielle fournit
des méthodes et des outils pour gérer ces
changements de manière systématique et
efficace.
32
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.6. Besoin du Génie Logiciel

 Gestion de la qualité - La qualité du logiciel est


cruciale pour garantir sa fiabilité et sa
performance. L'ingénierie logicielle comprend
des pratiques de gestion de la qualité, telles que
des processus de développement structurés,
des tests approfondis et des normes de qualité,
pour produire un logiciel de haute qualité. Un
meilleur processus de développement logiciel
fournit un produit logiciel de meilleure qualité.

33
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.6. Besoin du Génie Logiciel

l'ingénierie logicielle est une discipline qui vise à


relever les défis liés au développement de logiciels,
en particulier lorsque ces logiciels sont volumineux,
évolutifs, coûteux, dynamiques et nécessitent une
gestion de la qualité. Elle repose sur des principes
scientifiques et des techniques éprouvées pour
rendre le processus de développement logiciel plus
prévisible, efficace et de haute qualité.

34
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.7. Caractéristiques d'un bon logiciel

La caractéristique d’un logiciel est un ensemble de traits dominants ou l’expression de la


correspondance entre une cause (grandeur d’entrée) et un effet (grandeur de sortie) dans la
production ou le processus de développement des logiciels. Un produit logiciel doit évaluer en
fonction de ce qu'il offre et de sa facilité d'utilisation. Un bon logiciel doit satisfaire les 3
catégories de critères suivants :
 Critères généraux
 Critères externes
 Critères internes

35
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.7.1. Critères généraux

Les critères généraux sont essentiellement des principes et des repères permettant d'évaluer,
d'estimer et de vérifier régulièrement si le processus de développement d'un logiciel répond
aux différentes propriétés spécifiées. Cette catégorie peut être subdivisée en trois aspects
distincts :
 Aspect Opérationnel : Cet aspect mesure dans quelle mesure le logiciel fonctionne
efficacement dans les opérations. Ces opérations peuvent être évaluées à travers divers
paramètres tels que le budget, l'efficacité, la précision, les fonctionnalités, la fiabilité et la
sécurité.

36
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logicil
1.7.1. Critères généraux

 Aspect Transitionnel : Ce volet prend de l'importance lorsque le logiciel est déplacé d'une
plate-forme à une autre. Il englobe des considérations telles que la portabilité,
l'interopérabilité, la réutilisation et l'adaptabilité.
 Aspect Maintenance : Cet aspect explique comment un logiciel a la capacité de se
maintenir dans une infrastructure et environnement en constante évolution:
maintenabilité, modularité, Flexibilité et Évolutivité.
le génie logiciel est une branche de l'informatique, qui utilise des concepts d'ingénierie bien
définis pour produire des produits logiciels efficaces, durables, évolutifs, économiques et
ponctuels.
37
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.7.2. Critères externes

Les critères externes expriment ce qu’est un bon logiciel du point de vue des utilisateurs. Un
logiciel de qualité doit être :

 Fiabilité : (correction, justesse et conformité) :


le logiciel est conforme à ses Critères, les
résultats sont ceux attendus.
 Robustesse et Sureté :(dysfonctionnements ou
ne plante pas) : le logiciel fonctionne
raisonnablement en toutes circonstances, rien
de catastrophique ne peut survenir, même en
dehors des conditions d'utilisation prévues

38
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
Ergonomie est une étude quantitative
1.7.2. Critères externes et qualitative du travail dans une
entreprise, visant à améliorer les
conditions de travail et à accroitre la
productivité.
 Efficacité : (Le logiciel fait-il bon usage de ses
ressources, en terme d’espace mémoire, et
temps d’exécution)
 Convivialité et Utilisabilité : (Est-il facile et
agréable à utiliser)
 Documentable : (accompagné d’un manuel
utilisateur, ou d’un tutoriel).
 Ergonomique : L’architecture du logiciel doit
particulièrement être adaptée aux conditions
de travail de l’utilisateur

39
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.7.2. Critères externes

 Sécurité : c’est la sûreté (assurance) et la


garantie offerte par un logiciel, ou l’absence
du danger lors de l’exploitation du logiciel.
 Adéquation et validité : c’est la conformité au
maquettage du logiciel et au but qu’on se
propose.
 Intégrité : C’est l’aptitude d’un logiciel à
protéger son code et ses données contre des
accès non autorisé.

40
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.7.3. Critères internes

Les critères de qualité internes expriment ce qu’est un bon logiciel du point de vue du
développeur. Ces critères sont essentiellement liés à la maintenance d’un logiciel. Un bon
logiciel doit être facile à maintenir, et pour cela doit être :

 Documentable : (a-t-il été précédé par un


document de conception ou architecture).
 Lisibilité et Clarté : (est-il écrit proprement, et
en respectant les conventions de
programmation).

41
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.7.3. Critères internes

 Portabilité: Un même logiciel doit pouvoir


fonctionner sur plusieurs machines ainsi le
rendre indépendant de son environnement
d'exécution.
 Extensibilité : (souple ou flexible, permet
l’ajout de nouvelles fonctionnalités).
 Réutilisabilité : (des parties peuvent être
réutilisées pour développer d’autres logiciels
similaires).

42
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.7.3. Critères internes

 Interopérabilité et coulabilité : Ils se rapportent à la


capacité d'un logiciel à fonctionner de manière
efficace avec d'autres logiciels et à interagir de
manière transparente dans un environnement
informatique..
 Traçabilité : c’est la possibilité de suivre un produit
aux différents stades de sa production, de sa
transformation et de sa commercialisation.
 Testabilité et vérifiabilité : c’est la possibilité de
soumettre un logiciel à une épreuve de
confirmation de la tâche à exécuter.
43
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.8. CATEGORIES DE LOGICIELS

Il existe 2 catégories des logiciels notamment :

• LOGICIELS GENERIQUES
• LOGICIELS SPECIFIQUES

44
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.8. CATEGORIES DE LOGICIELS

 LOGICIELS GENERIQUES : c’est sont des logiciels qui vendus comme les produits
courants sur le marché informatique. Dans cette catégorie, on en distingue autant :
 Logiciels amateurs : Il s’agit de logiciels développés par des « amateurs» (par
exemple par des gens passionnés ou des étudiants qui apprennent à programmer).
Bref, ce sont des logiciels sans impact économique significatif sur l’ensemble.
 Logiciels « jetables » ou « consommables » : Il s’agit de logiciels comme par
exemple les logiciels des traitements de texte ou les tableurs pour les entreprises.
Ces logiciels ne coûtent pas très cher, et peuvent être remplacés facilement au sein
d’une entreprise sans engendrer des risques majeurs. Ils sont souvent largement
diffusés.

45
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.8. CATEGORIES DE LOGICIELS

 LOGICIELS SPECIFIQUES : ce sont des logiciels développés pour une application


précise et destinés à un seul client. Dans cette catégorie, on en distingue autant :

 Logiciels essentiels au fonctionnement d'une entreprise : Ce type de logiciel est le


fruit d'un investissement non négligeable et doit avoir un comportement fiable, sûr
et sécurisé.
 Logiciels critiques : Il s’agit de logiciels dont l’exécution est vitale, pour lesquels une
erreur peut coûter très cher ou coûter des vies humaines. Exemple : domaines du
transport, de l’aviation, de la médecine, de l’armement, etc.

46
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.9. ENJEUX DU GENIE LOGICIEL

Un enjeu peut être considéré comme un ensemble des risques encourus par un
développeur pour en mise en œuvre d’un logiciel. Le génie logiciel vise à rationaliser et
à optimiser le processus de production d'un logiciel. Les enjeux associés sont multiples :

• Adéquation aux besoins du client.


• Respect des délais de réalisation prévus.
• Maximisation des performances et de la fiabilité.
• Facilitation de la maintenance et des évolutions ultérieures.

47
Développeur d’Applications Web & Mobile M. Hamidi
1. Introduction au génie logiciel
1.9. ENJEUX DU GENIE LOGICIEL

Comme tout projet, la réalisation d'un logiciel est soumise


à des exigences contradictoires et difficilement conciliables
(triangle coût-délai-qualité). La qualité d'un logiciel peut
s'évaluer à partir d'un ensemble de facteurs tels que :

 Le logiciel répond-il aux besoins exprimés ?


 Le logiciel demande-t-il peu d'efforts pour évoluer aux
regards de nouveaux besoins ?
 Le logiciel peut-il facilement être transféré d'une plate-
forme à une autre ? ...

48
Développeur d’Applications Web & Mobile M. Hamidi

Vous aimerez peut-être aussi