Sunteți pe pagina 1din 3

Département GI

Module : conception et design pattern

Génie logiciel

1 Logiciel
1.1 Définition
Logiciel : l’ensemble des instructions qui agissent sur des structures des données.

1.2 Classifications
Il y a plusieurs manières de classification des logiciels :

Les deux principales catégories :

• Logiciel de base : c’est un logiciel de base d’autres logiciel, ainsi les systèmes
d’exploitation se sont des logiciels de base qui permettent de fonctionner directement le
matériel.
• Logiciel d’application : c’est un logiciel
el qui réalise une application en
e se basant sur un
logiciel de base, ainsi photoshop,
photoshop office et mozzila se sont des logiciels d’application.
d’application

Puis il y a :

• Application permet de réaliser une tâche.


• Pilote permet d'utiliser un matériel informatique.

Ensuite Il y a :

• Un logiciel spécifique permet de répondre à la demande d'un client.


• Un logiciel standard (progiciel
progiciel) son objectif est d'être vendu en grande distribution.

Ensuite selon
elon les droits du contrat de licence, on parle de :

• Logiciel propriétaire l'auteur se réserve le droit de diffuser le logiciel.


• Partagiciel l'auteur autorise d’autre à diffuser le logiciel.
• logiciel libre (open
en source)
source l’auteur autorise d'accéder au code source.
• Logiciel gratuit c’est un logiciel propriétaire qui peut être diffuser sans frais.

Enfin il y a :

• Logiciel bureau : qui sont utilisés localement dans l’ordinateur tel que bloc note
• Logiciel web : se sont des logiciels client-serveur
clien serveur installés dans le serveur et utilisés
depuis les navigateurs des clients tel que facebook

1
Dr. Yassine Rhazali
• Logiciel mobile : sont des logiciels
logiciel développés pour une utilisation au niveau de
smartphone ils peuvent être des logiciels client-serveur
erveur ou web tel que numberbook et
candy camera.

1.3 Middleware
Un middleware (intergiciel)
intergiciel) est un logiciel d'échange d'informations entre différentes
applications informatiques. Ainsi on trouve CORBA d’OMG, RMI de Java et DCOM de Microsoft.

1.4 Protection de logiciel


Le code source des logiciels sont protégés par la convention de Berne.

1.5 Qualité des logiciels


La norme ISO 9126 définit six groupes d'indicateurs de qualité des logiciels :

• la capacité fonctionnelle : la capacité de répondre aux exigences de clients. ients.


• la facilité d'utilisation : l’effort nécessaire au client pour utiliser le logiciel.
• la fiabilité : la capacité d'un logiciel d’avoir des résultats corrects dans n’importe quelles
conditions d'exploitation.
• la performance : le rapport entre la quantité de ressources utilisées et la quantité de
résultats.
• la maintenabilité : l'effort nécessaire à corriger ou transformer le logiciel.
• la portabilité : la capacité d'un logiciel de fonctionner dans un nouveau environnement
matériel ou logiciel.

2 Génie logiciel
Le génie logiciel désigne l'ensemble des méthodes, des techniques et outils permettant la
production d'un logiciel.

L’objectif principal du génie logiciel c’est minimiser le cout, minimiser le temps,


temps minimiser les
risques et réaliser un logiciel
giciel de qualité.

2.1 Cycle de vie d'un logiciel


Le « cycle de vie d'un logiciel » représente toutes les étapes du développement d'un logiciel.
logiciel

Le découpage permet de détecter les erreurs très tôt et ainsi de maîtriser le cout, le temps,
temps et la
qualité du logiciel.

Le cycle de vie du logiciel comprend les activités suivantes :

 Analyse : permet d’identifier le problème à étudier. Le résultat de l'analyse est le cahier


de charges. Cette étape est informelle. Cette phase contient 3 sous phases :

2
Dr. Yassine Rhazali
• Faisabilité : Est-cece que le logiciel est réalisable ? Est-ce
Est ce que le développement
proposé mérite la mise en œuvre ?
• Spécification des besoins : Permet de définir ce que doit faire le logiciel et non
comment il le fait. Quatre types de spécifications :
o Spécification générale : Objectifs à atteindre, Contraintes.
o Spécification fonctionnelles est la description des fonctionnalités du futur
logiciel de manière détaillée que possible.
o Spécification d’interface décrit les interfaces du logiciel avec le monde
extérieur : homme (IHM),
(IHM), autres logiciel (Middleware), machines (rebot)
o Spécification technique :(Étude de l’existant) : Moyens d’accès (local, distant,
Internet, …), Quantité d’informations à stocker (choix du SGBDR, …)
• Organisation du projet : Permet de déterminer la manière de développer le
logiciel : contient plusieurs étapes :
o planification : permet de : découper le projet en tâches, puis décrire leur
enchaînement dans le temps, ensuite affecter à chacune une durée et un
effort.
o Analyse des coûts:
coûts estimation du prix du projet

 Conception : Permet de représenter une description fonctionnelle (formelle) du système


en utilisant une méthode. Deux types
type de conception :

• Conception générale : permet de représenter l’architecture générale du système :


décomposition du système en sous système.
système
• Conception détaillée : permet de représenter les es procédures, fonctions et des
structures de données (conception classique). Permet de représenter les classes en
termes de propriétés et de méthodes (conception Orientée Objet).
Objet)

 implémentation (Réalisation) : développé le logiciel. Plusieurs types langages sont


utilisés: Langages classiques
classi et Langages orientés objets.

 Tests :

• Test unitaire:: tester chaque module à part


• Test d’intégration:: tester pendant l’intégration des modules
• Test système:: tester dans un environnement proche à celui de production
• Test alpha:: tests faits par le client sur le site de développement
• Test bêta:: tests faits par le client sur le site de production
product
• Test de régression : exécuté après la correction des erreurs pour vérifier si d’autres
erreurs n’ont pas été introduites au cours de la correction.

 Livraison : Permet de fournir


ournir au client une solution logicielle qui fonctionne
correctement.

• Installation:: rendre le logiciel opérationnel sur le site du client


• Formation:: enseigner les utilisateurs comment utiliser logiciel
• Assistance:: répondre aux questions de l’utilisateur

 Maintenance

3
Dr. Yassine Rhazali

S-ar putea să vă placă și