Cours 3 - Logiciels de base et developpememnt

publicité
GLIN102
UE GLIN 102
Concepts de base en
informatique
Année 2012 – 2013
DPT Informatique 2012-2013
11
GLIN102
Rappel cours 1 et 2
• Architecture d’un ordinateur
1 Écran
2 Carte mère
3 CPU (Microprocesseur)
4 Mémoire vive (RAM)
5 Cartes de périphériques
6 Alimentation
7 Lecteur de disques (CD)
8 Disque dur
9 Souris
10 Clavier
DPT Informatique 2012-2013
22
GLIN102
Rappel cours 1 et 2
• Organisation en couche
Applications
Système
Matériel
DPT Informatique 2012-2013
33
GLIN102
Rappel cours 1 et 2
Pour interagir avec le système, on utilise un interpréteur
de commande:
Interpréteur textuel
Langage de commandes, shell, …
Exemples : ls, rm, cd, …
Interpréteur graphique
Manipulation souris, icône, …
Exemples : copier-coller à l’aide de la souris, …
DPT Informatique 2012-2013
44
GLIN102
Rappel cours 1 et 2
• Système de gestion de fichier (SGF)
– Arborescence
– Adresse absolue, relative
– Caractères spéciaux: /, ~, ., ..
– Opérations sur les fichiers
(couper / copier / coller)
perso
– Droits
...
/
cours
edt
td1
IN102
td2 ...
algo
td1
DPT Informatique 2012-2013
...
55
GLIN102
Contenu
• Généralités et Architecture
•
Système d’exploitation
• Logiciels de base … développement
• Web et Réseaux
DPT Informatique 2012-2013
66
GLIN102
Logiciels .. développement
•
Généralités autour de quelques logiciels de base
•
Développement de logiciel
•
Vers l’algorithmique
DPT Informatique 2012-2013
77
GLIN102
Logiciels .. développement
•
Généralités autour de quelques logiciels de base
•
Développement de logiciel
•
Vers l’algorithmique
DPT Informatique 2012-2013
88
GLIN102
Généralités logiciels
Logiciels .. développement
• Logiciels « bureautique »
Ex : suite Open Office / Libre Office
Traitement de texte
Tableur
Présentation
• Système de gestion de bases de données SGBD
DPT Informatique 2012-2013
99
GLIN102
Généralités logiciels
Logiciels .. développement
• Traitement de texte
Fonctionnalités
Saisie
texte (suite de caractères)
insertion d’objets (image, tableau, etc.)
Mise en forme
Sauvegarde
Publipostage
Attention !!
Structure et mise en forme doivent être dissociées
DPT Informatique 2012-2013
10
10
GLIN102
Généralités logiciels
Logiciels .. développement
Rapport
Chap 1
...
Parag 1
...
Chap 2
...
Parag i
Parag 1
...
Texte 1
S-par 1
S-par 2
Chap n
Parag 2
...
...
...
Image 1
...
Texte 3
Vers le document structuré … SGML, XML
DPT Informatique 2012-2013
11
11
GLIN102
Généralités logiciels
Logiciels .. développement
Rapport
Chap 1
...
Parag 1
...
Chap 2
...
Parag i
Parag 1
...
Texte 1
S-par 1
S-par 2
Chap n
Parag 2
...
...
...
Image 1
...
Texte 3
Un style peut être défini
pour chaque composante de la structure
DPT Informatique 2012-2013
12
12
GLIN102
Généralités logiciels
Logiciels .. développement
• Tableur
Fonctionnalités
Calculs (bibliothèques de fonctions)
Mise en forme et association de graphiques
Vision « base de données » simplifiée
DPT Informatique 2012-2013
13
13
GLIN102
Généralités logiciels
Logiciels .. développement
Tableur : définition
Un tableur est un logiciel qui manipule des feuilles de calcul
Une feuille de calcul est une grille contenant des données, soit saisies,
soit calculées
Chaque donnée se trouve dans une cellule
Différents tableurs existent:
Excel (Microsoft Office)
Calc (OpenOffice, LibreOffice)
Gnumeric
Kspread (Koffice)
Lotus 1-2-3
DPT Informatique 2012-2013
14
14
GLIN102
Généralités logiciels
Logiciels .. développement
Tableur
Un classeur : un ensemble de feuilles (3 par défaut), stocké
dans un fichier
Une feuille : une grille composée de cellules
256 colonnes max
65536
lignes
max
Cellules
Feuilles
DPT Informatique 2012-2013
15
15
GLIN102
Généralités logiciels
Logiciels .. développement
• Tableur : les cellules
– Chaque cellule peut contenir une donnée : Texte, Nombre,
–
Date, Formule, … ⇒ Différents formats
Elle est repérée par sa position
Cellule C3
DPT Informatique 2012-2013
16
16
GLIN102
Généralités logiciels
Logiciels .. développement
• Tableur : l’adressage
– C’est la localisation de la cellule
– Formats possibles :
• Façon A1 : A1, A2…
lettre=colonne chiffre=ligne
• Nommage des cellules
DPT Informatique 2012-2013
17
17
GLIN102
Généralités logiciels
Logiciels .. développement
• Tableur : les formules
– Une formule permet de calculer automatiquement certaines
données
– Il faut dans la cellule du résultat indiquer la formule voulue en
utilisant les adresses des cellules
– Les formules doivent commencer par ‘=‘
– Exemple :
• =A2+B7
• =3*D5+B7*A3
DPT Informatique 2012-2013
18
18
GLIN102
Généralités logiciels
Logiciels .. développement
• Le tableur : recopie de formules
– Possibilité de copier les formules (et non les résultats) de
manière à éviter de devoir retaper les formules
B4 = B2*A4
C4 = C2*B4
=> Changement de colonnes
B5 = B3*A5
=> Changement de lignes
C5 = C3*B5
=> Changement de lignes et colonnes
DPT Informatique 2012-2013
19
19
GLIN102
Généralités logiciels
Logiciels .. développement
• Exemple : conversion
Parfois il ne faut pas changer !
=B1*A4
=B2*A5
=B3*A6
=B4*A7
….
Ici le taux est en B1
et il faudrait donc
que les formules
conservent cette
cellule lors des
recopies.
=B10*A13
DPT Informatique 2012-2013
20
20
GLIN102
Généralités logiciels
Logiciels .. développement
•
⇒
Le tableur : adresses relatives/absolues
–
Par défaut les adresses de type A1 sont dites « relatives »
(elles sont modifiées par la recopie). Ex : A1
–
Il est possible de les transformer en adresses « absolues »
(non modifiées par la recopie) : présence de $. Ex : $A$1
–
Adresse mixte ou semi-relative
• On peut conserver une lettre (une colonne) relative et un
chiffre (une ligne) absolu. Ex : A$1
• Ou conserver une lettre (une colonne) absolue et un chiffre
(une ligne) relatif. Ex : $A1
Le ‘$’ précède donc la partie absolue (= non modifiable par recopie)
DPT Informatique 2012-2013
21
21
GLIN102
Généralités logiciels
Logiciels .. développement
• Exemple : conversion
La formule est donc :
=A4*B$1
Il suffit ensuite de la recopier
dans toutes les autres cellules
et la conversion est juste.
DPT Informatique 2012-2013
22
22
GLIN102
Généralités logiciels
Logiciels .. développement
• Tableur
Notation
Calculs
16
14
12
=moyenne(A2:C2)
Valeurs
10
Note1 Note2
Note3
Moy
8
6
4
2
10
9
8
9
0
Note 1
Note 2
Note 3
Notes
14
…
10
…
15
13
Graphique associé
…
DPT Informatique 2012-2013
23
23
GLIN102
Généralités logiciels
Logiciels .. développement
• Tableur
Vision «base de données»
Tris, recherches, …
Nom
Prénom
e-mail
Laboratoire
ABDALLAH
AMAR-YAHIA
Maha
Siham
[email protected]
LIP 6
AT&T Labs Research
AMSALEG
ANCIAUX
BAHRI
Laurent
Nicolas
Afef
[email protected]
[email protected]
[email protected]
[email protected]
BAZEX
Pierre
BELHAJJAME
Khalid
BENITEZ-GUERRERO Edgard-Ivan
[email protected]
BERRANI
BOBINEAU
BOUET
Sid-Ahmed
Christophe
Marinette
[email protected]
BRUNO
BURELLE
CALABRETTO
Gennaro
Marvan
Sylvie
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
IRISA-CNRS CAMPUS DE BEAULIEU
INRIA U.R. ROCQUENCOURT
Université Paris Dauphine LAMSADE
IRIT-UPS
LSR - IMAG
LSR - IMAG BP 72
IRISA-INRIA Campus de Beaulieu
LSR - IMAG
Université Blaise Pascal - CLERMONT II Complexe scientifique
LSR - IMAG
Université Paris 11 L.R.I. Bât. 490
LISI-INSA Lyon - Bâtiment Blaise Pascal
DPT Informatique 2012-2013
24
24
GLIN102
Généralités logiciels
Logiciels .. développement
• Présentation
Fonctionnalités
Structure et mise en forme
Animation…
DPT Informatique 2012-2013
25
25
GLIN102
Généralités logiciels
Logiciels .. développement
• SGBD
Fonctionnalités
Stockage de données
Interrogation
Gestion de la concurrence
Sécurité
Des logiciels SGBD
Postgres, Oracle, Sql-server ….
DPT Informatique 2012-2013
26
26
GLIN102
Logiciels .. développement
•
Généralités autour de quelques logiciels de base
•
Développement de logiciel
•
Vers l’algorithmique
DPT Informatique 2012-2013
27
27
GLIN102
Développement logiciels
Développement de logiciel
•
Étapes et cycle de vie d'un logiciel
•
Conception
•
Codage en langage de haut niveau et mise au point
•
Déploiement
•
Architecture web
DPT Informatique 2012-2013
28
28
GLIN102
Développement logiciels
Développement de logiciel
Un utilisateur de l'informatique peut être tenté d’ « écrire »
un logiciel par goût ou nécessité.
comment fabrique-t-on un logiciel ?
(= programme, application )
Attention !
fabriquer des logiciels importants, c'est un métier :
programmeur (analyste-programmeur, ingénieur …)
DPT Informatique 2012-2013
29
29
GLIN102
Développement logiciels
Étapes du développement
On distingue les étapes suivantes :
Conception
Codage et Mise au point
Déploiement
fonctions
du logiciel ?
langage,outils.. ?
écrire le code, le tester
installation
DPT Informatique 2012-2013
30
30
GLIN102
Développement logiciels
Étapes du développement
Comme des difficultés peuvent conduire à revenir sur les
étapes antérieures
Conception
Codage et Mise au point
Déploiement
fonctions
du logiciel ?
langage,outils.. ?
écrire le code, le tester
installation
on parle plutôt de cycle de vie
DPT Informatique 2012-2013
31
31
GLIN102
Développement logiciels
Conception
Dans la phase de conception, on fait la liste des fonctions
que doit remplir le logiciel
Exemple :
un logiciel d'inscription d'étudiants devra
permettre
•
•
•
•
l'inscription d'un étudiant à une mention et à des UE avec contraintes
la modification et la suppression
lister et compter les étudiants par mention ou UE
classer les étudiants par population ayant un emploi du temps
compatible et les lister
• classer les étudiants d'une population en groupes et les lister.
• consulter facilement les inscriptions.
DPT Informatique 2012-2013
32
32
GLIN102
Développement logiciels
Conception
– Si
le logiciel est « important », il faut étudier
comment il s'insère dans le service, en particulier avec
des logiciels existants (analyse).
Des méthodes (d’analyse et conception) favorisent le
travail en équipe et la production de documents
– Si le logiciel est « simple » (une seule fonctionnalité),
la conception est « légère » … c'est le cas de la
plupart des applications personnelles.
DPT Informatique 2012-2013
33
33
GLIN102
Développement logiciels
Conception
Méthode et Atelier de Génie Logiciel
•
Avec une méthode (objet par exemple), on identifie :
– les classes d'objet nécessaires à l'application, en décrivant
progressivement tous les détails
– leur interaction fonctionnelle et temporelle
Un atelier de génie logiciel (= logiciel) guide l'usage pour un projet donné.
Exemples d’AGL Eclipse, PowerAMC, Objecteering, Rational Rose
DPT Informatique 2012-2013
34
34
GLIN102
Développement logiciels
Codage et mise au point
Le codage est l'écriture du programme dans un
langage de haut-niveau (C++,Java,PHP …).
le choix du langage dépend du goût et du savoir
du programmeur
et de contraintes extérieures.
Exemples :
• programme hébergé sur serveur n'acceptant que PHP et le SGBD
Mysql
• partie de projet écrit en C
DPT Informatique 2012-2013
35
35
GLIN102
Développement logiciels
Codage et mise au point
Pour être exécuté, le programme en langage de hautniveau (programme source) devra être traduit en
langage machine (programme exécutable).
Les programmes source et exécutable sont des fichiers.
Exemple:
programme P.c
en C++
compilateur
gcc
programme P (ou P.exe)
en langage machine
Le compilateur est lui-même un programme exécutable,
stocké sous forme de fichier
DPT Informatique 2012-2013
36
36
GLIN102
Développement logiciels
Codage et mise au point
L'écriture du programme peut être faite sous un éditeur de
texte. Le programme est une chaîne de caractères.
Les éditeurs actuels permettent (Cf Xemacs, Kate) :
• la coloration d'éléments syntaxiques (chaînes …) pour
mieux voir la structure du programme (dépend du
langage !)
• la complétion automatique (de nom de fonctions …)
• la présentation indentée
DPT Informatique 2012-2013
37
37
GLIN102
Développement logiciels
Codage et mise au point
Pour les professionnels, un atelier (cf. Eclipse) permet de
gérer :
• tous les types de fichiers d'un projet (img,messages …)
• la recompilation automatique des parties concernées
• diverses versions d'un projet
DPT Informatique 2012-2013
38
38
GLIN102
Développement logiciels
Codage et mise au point
Pour chaque module d’un logiciel, on effectue les cycles
suivants, jusqu'à ce qu'il n'y ait plus d'erreur.
édition
du programme
source
génération du
programme
exécutable
essai de
l’exécutable
Lors d'une erreur à l'exécution, le message indique la
cause, le module source incriminé et le numéro de ligne
DPT Informatique 2012-2013
39
39
GLIN102
Développement logiciels
Codage et mise au point
L'erreur majeure des programmeurs débutants est de :
• ne pas décomposer en petits modules
• vouloir tester l'ensemble plutôt que chaque module
Il faut tester chaque module,
en construisant un environnement adéquat
DPT Informatique 2012-2013
40
40
GLIN102
Développement logiciels
Codage et mise au point
Principe d'architecture des programmes :
il faut séparer
le traitement "algorithmique" des entrées-sorties
le modèle MVC (model view control) fait cette séparation :
m1 e/s
m2 e/s
m3 e/s
Vue
m4 modèle
contrôle
Contrôle
m5 modèle
Modèle
DPT Informatique 2012-2013
41
41
GLIN102
Développement logiciels
Codage et mise au point
Cette séparation est d'autant plus nécessaire que
la partie entrée-sorties, ou interface Homme-Machine
(IHM)
est souvent plus difficile à programmer que le problème
lui-même.
DPT Informatique 2012-2013
42
42
GLIN102
Développement logiciels
Déploiement
• Dans le cas le plus simple, il suffit d'invoquer le
programme exécutable.
• Pour des applications plus complexes, d'autres
« paramètres » sont à ajuster
fichier 1
fichier 2
fichier 3
SGBD
table 1
table 2
programme
DPT Informatique 2012-2013
43
43
GLIN102
Développement logiciels
Déploiement
Pour des applications avec fichiers ou tables de BD, il faut
transporter un répertoire contenant
– le programme et les fichiers (de sa responsabilité)
– un fichier d'installation désignant
les SGBD (ou tierces applications)
les noms de fichiers de l'utilisateur
des paramètres supplémentaires
La tendance est d'écrire ces fichiers d'installation en XML
DPT Informatique 2012-2013
44
44
GLIN102
Logiciels .. développement
•
Généralités autour de quelques logiciels de base
•
Développement de logiciel
•
Vers l’algorithmique
DPT Informatique 2012-2013
45
45
GLIN102
Vers l’algorithmique
1 Définition
2 Paramètres d'un algorithme
3 Types
4 Exemples
DPT Informatique 2012-2013
46
46
GLIN102
Vers l’algorithmique
• Définitions
2 Paramètres d'un algorithme
3 Types
4 Exemples
DPT Informatique 2012-2013
47
47
GLIN102
Vers l’algorithmique
Définitions
Un programme (ou application, logiciel) est la
matérialisation d'un algorithme, notion que nous allons
approfondir ici.
Si vous devez programmer, les notions suivantes vous
seront indispensables, sinon c'est juste pour la culture
générale.
DPT Informatique 2012-2013
48
48
GLIN102
Vers l’algorithmique
Définitions
Algorithme - définition
Un algorithme est une application (mathématique) définie
par :
–
–
–
des compositions successives
en nombre fini
de fonctions élémentaires
DPT Informatique 2012-2013
49
49
GLIN102
Vers l’algorithmique
Définitions
Explication de la définition
– compositions successives
(=>pas, étapes)
Exemple : sin(a*y+b)
suggère fortement de calculer
a*y puis (a*y)+b puis sin ((a*y)+b)
DPT Informatique 2012-2013
50
50
GLIN102
Vers l’algorithmique
Définitions
Explication de la définition
– en nombre fini
chaque opération a un temps fini
il y a un nombre fini d'opérations
DPT Informatique 2012-2013
51
51
GLIN102
Vers l’algorithmique
Définitions
Explication de la définition
– de fonctions élémentaires
un ensemble (fini) de fonctions élémentaires
est fourni pour faire tous les algorithmes
Cet ensemble est-il 'critique' ?
DPT Informatique 2012-2013
52
52
GLIN102
Vers l’algorithmique
Définitions
Explication de la définition
– de fonctions élémentaires
surprise !
avec les 4 fonctions
ajouter 1
(fonction constante) 0
comparer à zéro
projection du ième élément d'un tuple (x1, …,xi, …xn)
on peut faire toutes les fonctions 'calculables'.
DPT Informatique 2012-2013
53
53
GLIN102
Vers l’algorithmique
Définitions
Explication de la définition
– de fonctions élémentaires
c'est pourquoi, un ensemble
•
•
•
réduit de fonctions (machine théorique de Türing)
de fonctions (jeu d'instructions) de micro-processeurs
divers
de fonctions de langages de programmation
ont le même pouvoir d'expression
DPT Informatique 2012-2013
54
54
GLIN102
Vers l’algorithmique
Définitions
À retenir :
un algorithme peut être utilisé comme une (nouvelle)
fonction élémentaire
Cette caractéristique donne sa puissance au logiciel
Il y aura donc une partie définition et une ou des
utilisations de l'algorithme (appels, invocations)
DPT Informatique 2012-2013
55
55
GLIN102
Vers l’algorithmique
1 Définition
• Paramètres d'un algorithme
3 Types
4 Exemples
DPT Informatique 2012-2013
56
56
GLIN102
Vers l’algorithmique
Paramètres d’un algorithme
Paramètres d'entrée et de sortie
Un algorithme doit résoudre un problème
sur des données qui peuvent varier (trier E …)
• Les diverses données fournies à l'algorithme
recevront des noms : paramètres d'entrée
• Les résultats de l'algorithme aussi : paramètres de
sortie
Attention : rien à voir avec les entrées-sorties système
DPT Informatique 2012-2013
57
57
GLIN102
Vers l’algorithmique
1 Définition
2 Paramètres d'un algorithme
• Types
4 Exemples
DPT Informatique 2012-2013
58
58
GLIN102
Vers l’algorithmique
Types
Pour décrire un algorithme, non seulement
• il faut nommer les variables et les paramètres,
• mais il faut dire quel 'genre' d'objet informatique ils sont.
Cette indication est le type (ou classe en langage objet).
Exemples : caractère, chaîne de caractères, entier, flottant,
booléen, tableau, liste, record (=struct) …
DPT Informatique 2012-2013
59
59
GLIN102
Vers l’algorithmique
1 Définitions
2 Paramètres d'un algorithme
3 Types
• Exemples
DPT Informatique 2012-2013
60
60
GLIN102
Vers l’algorithmique
Exemples
• Honneur aux anciens
le calcul du Pgcd d'Euclide
int fonction pgcd (int a, int b) {
//calcule le pgcd de a et b entiers strictement positifs
tant que a !=b
faire si a>b alors a =a-b
sinon b = b-a
return a
}
DPT Informatique 2012-2013
61
61
Téléchargement