Introduction au Génie logiciel

Transcription

Introduction au Génie logiciel
Introduction au génie logiciel # 1
Génie logiciel
1
Introduction au Génie logiciel
• Programmer n'est pas Concevoir un système
informatique
• La technique ? nécessaire, mais pas si importante
que ça !
• Le VRAI problème difficile : l'organisation, la gestion
– difficulté de formalisation
– multitude de paramètres, facteurs
– gestions des humains
© A. Beugnard
ENST Bretagne
Génie logiciel
2
Génie logiciel
• Ensemble de moyens (techniques,méthodes) mis en
œuvre pour la construction de systèmes informatiques.
• Ensemble de moyens (techniques,méthodes) mis en
œuvre pour la construction de logiciels.
© A. Beugnard
A. Beugnard
ENST Bretagne
1
1998
Introduction au génie logiciel # 1
Génie logiciel
3
Problématique
• Comment acquérir/développer un système sur mesure ?
– Que le logiciel soit
» développé en interne
» acheté, sous-traité
• Comment avoir/donner confiance
– respect des coûts, du calendrier
– respect des besoins fonctionnels
–…
© A. Beugnard
ENST Bretagne
Génie logiciel
4
Vue globale
besoins
(requirements)
Utilisateur
fourniture
et acceptation
© A. Beugnard
A. Beugnard
ENST Bretagne
2
1998
Introduction au génie logiciel # 1
Génie logiciel
5
Vue globale
besoins
Acheteur
(requirements)
Acquisition
Utilisateur
fourniture
Vendeur
Génie logiciel
et acceptation
© A. Beugnard
ENST Bretagne
Génie logiciel
6
Vue globale
besoins
Acheteur
(requirements)
Acquisition
Gestion
de
projet
Utilisateur
fourniture
Vendeur
Génie logiciel
et acceptation
© A. Beugnard
A. Beugnard
ENST Bretagne
3
1998
Introduction au génie logiciel # 1
Génie logiciel
7
Politique
Relations
Concurrence
besoins
Acheteur
Utilisateur
Co-contractant
fourniture
Fournisseur
Vendeur
Sous-traitant
Sous-traitant
© A. Beugnard
ENST Bretagne
Génie logiciel
8
Points de vue
Client
Fournisseur
Analyser les besoins
Faire un cahier des charges
Faire un cahier des charges
Répondre à un appel d'offre
Faire un appel d'offre
Etre capable de prévoir,
planifier
Evaluer la plausibilité d'une
réponse
Concevoir, analyser
Suivre le projet, éviter les
dérapages
Suivre le projet, éviter les
dérapages, les gérer.
temps
© A. Beugnard
A. Beugnard
ENST Bretagne
4
1998
Introduction au génie logiciel # 1
Génie logiciel
9
But de ces cours
Couvrir le domaine de la production de logiciels
– mettre en évidence les besoins (C1)
– aspects organisationnels
» cycles de vie (C2)
» démarches (C2)
» « organisational patterns »
– aspects techniques
»
»
»
»
qualité (C3)
test (C3)
spécification, méthode (C4)
« design patterns »
© A. Beugnard
ENST Bretagne
Génie logiciel
10
plan
Introduction
Le développement
vu du client
estimation
planification
Méthode et
Méthodologie
Qualité
Cycles de vie
© A. Beugnard
A. Beugnard
Test
ENST Bretagne
5
1998
Introduction au génie logiciel # 1
Génie logiciel
11
Introduction
• Parallèle avec le génie civil
• Les difficultés liées au logiciel
• Constats :
– L'organisation
– Le développement : une étude de cas
– la maintenance
© A. Beugnard
ENST Bretagne
Génie logiciel
12
Métaphore de la maison : génie civil
d'après C. Chartier-Kastler "Précis de conduite de projet informatique"
comment ?
© A. Beugnard
A. Beugnard
ENST Bretagne
6
1998
Introduction au génie logiciel # 1
Génie logiciel
13
Quelques questions ...
•
•
•
•
•
•
•
•
•
Quelle tâches accomplir ? Dans quel ordre ?
Qui faire intervenir ? Comment les synchroniser ?
Quels outils utiliser ? Quand ? Avec des experts ?
Quels plans réaliser ? Ont-ils des liens entre eux ?
Existe-t-il des contraintes administratives ?
Comment suivre les opérations ?
Comment effectuer la recette ?
Quand payer ?
…
© A. Beugnard
ENST Bretagne
Génie logiciel
14
De nombreuses réponses !
•
•
•
•
•
•
•
•
•
Plan d'occupation des sols
Permis de construire
Architecte
Plan d'ensembles, puis techniques (eau, gaz, électricité)
Nommer un maître d'œuvre
Avoir un plan de financement
Prévoir un point hebdomadaire
Avoir des engins de chantiers
...
structurons !
© A. Beugnard
A. Beugnard
ENST Bretagne
7
1998
Introduction au génie logiciel # 1
Génie logiciel
15
Phases du projet
étude de
faisabilité
études de
scénarios
étude
détaillée
étude
technique
construction
réception et
démarrage
entretien
Cycle de vie
© A. Beugnard
ENST Bretagne
Génie logiciel
16
Organisation interne
comité de direction
Experts
Architecte
Responsabilité
Clients
Chef de
projet
Contremaître
Ouvriers
Soustraitants
comité de suivi
© A. Beugnard
A. Beugnard
ENST Bretagne
8
1998
Introduction au génie logiciel # 1
Génie logiciel
17
Outils
© A. Beugnard
ENST Bretagne
Génie logiciel
18
Analyse
Comment vivra t-on dans cette maison ?
Quelles pièces ?
Quelle organisation des pièces ?
Salon
Comprendre les besoins
Comprendre le problème
plan général
© A. Beugnard
A. Beugnard
ENST Bretagne
9
1998
Introduction au génie logiciel # 1
Génie logiciel
19
Cohérence
Complétude
Gestion des versions
Conception
Salon
Salon
Raffinement :
• aération
• électricité
• chauffage
• ...
plan général
plan détaillé
© A. Beugnard
ENST Bretagne
Génie logiciel
20
Aspects juridiques
• Plan d'occupation des sols
• Permis de construire
•
•
•
•
Responsabilité
Contrats
Assurances
Garanties
ne pas attendre la mise en
exploitation, pour se soucier
des aspects juridiques...
© A. Beugnard
A. Beugnard
ENST Bretagne
10
1998
Introduction au génie logiciel # 1
Génie logiciel
21
Gestion des ressources
Finances
Temps
1- prévision de coûts
2- plan de financement
3- suivi des dépenses et
de l'avancement
1- planning prévisionnel et
scénarios
2- tableau de marche
3- suivi de l'avancement des
travaux
Hommes
Matériel
1- recherche personnel
2- coordination des équipes
3- suivi de l'avancement des
travaux
1- recensement des matériels
2- suivi de l'utilisation des
matériels
© A. Beugnard
ENST Bretagne
Génie logiciel
22
Tableau de bord
Indicateurs :
–
–
–
–
–
–
–
nombre d'incidents
nombre d'accidents sur le chantier
nombre de jours de retard
nombre de dépôts de bilan des sous-traitants
nombre des tâches ayant subit une reprise
coût réel du projet / coût prévisionnel
etc.
© A. Beugnard
A. Beugnard
ENST Bretagne
11
1998
Introduction au génie logiciel # 1
Génie logiciel
23
Assurance qualité
Plan d'assurance qualité
–
–
–
–
–
démarche utilisée
procédure de décision
procédure de circulation de l'information
documents à produire
etc.
© A. Beugnard
ENST Bretagne
Génie logiciel
24
Introduction
• Parallèle avec le génie civil
• Les difficultés liées au logiciel
• Constats :
– L'organisation
– Le développement : une étude de cas
– la maintenance
© A. Beugnard
A. Beugnard
ENST Bretagne
12
1998
Introduction au génie logiciel # 1
Génie logiciel
25
Difficultés
• La complexité intrinsèque d'un projet
– l'ingénierie du logiciel est un métier récent
• La nature du produit informatique
– de l'information ! copiable, modifiable, malléable, bref
« soft »
© A. Beugnard
ENST Bretagne
Génie logiciel
26
Les difficultés liées à la nature du
logiciel
• un logiciel ne s'use pas, sa fiabilité ne dépend que de sa
conception
• mais, pour rester utilisé un logiciel doit évoluer
• pas de direction clairement exprimée,
• changements fréquents,
• contradictions des besoins,…
formaliser
modéliser
prototyper
Alors ...
© A. Beugnard
A. Beugnard
ENST Bretagne
13
1998
Introduction au génie logiciel # 1
Génie logiciel
27
Difficultés liées aux personnes
• ne savent pas toujours ce qu'elles veulent, ou ne savent
pas bien l'exprimer
• communication difficile entre personnes de métiers
différents (jargons)
• l'informaticien est souvent perçu comme introverti, peu
solidaire du groupe (...ça change...)
• beaucoup d ’autodidactes qui croient savoir...
© A. Beugnard
ENST Bretagne
Génie logiciel
28
Les difficultés technologiques
• courte durée de vie du matériel,
• beaucoup de méthodes de langages
• évolution des outils de développement,…
adaptation
formation
© A. Beugnard
A. Beugnard
investissement
lourds
ENST Bretagne
14
1998
Introduction au génie logiciel # 1
Génie logiciel
29
Introduction
• Parallèle avec le génie civil
• Les difficultés liées au logiciel
• Constats :
– L’organisation
– Le développement : une étude de cas
– la maintenance
© A. Beugnard
ENST Bretagne
Génie logiciel
30
Mots...
’’Les professionnels de l’informatique se distinguent des autres par
la piètre qualité de leur production. Ils ne fournissent pas de garantie
de leurs logiciels, pire, ils dégagent leur responsabilité pour toutes
les erreurs que leurs produits pourraient contenir.''
Cit. approx. C.A.R. Hoare
"Aujourd'hui les problèmes importants (de la production de logiciel)
ne sont pas des problèmes techniques, mais des problèmes de
gestion"
Président d'un groupe de travail du DoD pour l'amélioration de
l'acquisition de logiciel
Pourquoi ces jugements ...
© A. Beugnard
A. Beugnard
ENST Bretagne
15
1998
Introduction au génie logiciel # 1
Génie logiciel
31
Une modélisation
Processus de gestion
Processus
Qualité
Estimation, planification, suivi, analyse
Documentation
Processus qualité
Processus de production
organisation
conception
réalisation
Cycle de vie
exploitation
© A. Beugnard
ENST Bretagne
Génie logiciel
32
Le processus
Processus
Prévision
© A. Beugnard
A. Beugnard
ENST Bretagne
16
1998
Introduction au génie logiciel # 1
Génie logiciel
33
Le processus
Processus
décision
Prévision
Contrôle
choix
© A. Beugnard
ENST Bretagne
Génie logiciel
34
Le processus
Processus
détection
Prévision
Contrôle
Analyse
fin
© A. Beugnard
A. Beugnard
ENST Bretagne
17
1998
Introduction au génie logiciel # 1
Génie logiciel
35
Le processus
Processus
Prévision
Contrôle
Analyse
Apprentissage
© A. Beugnard
ENST Bretagne
Génie logiciel
36
Niveau de maturité des entreprises
SEMA
niveau
caractéristiques
problèmes clés
5. optimisé
feedback dans le
automatisation
processus
4. géré
mesures
anal. et préven.
3. défini
mesures définies
utilisation
2. répétable
intuition
formation, std
1. initiation
ad hoc/ chaotique
AQL, gestion,...
résultat
product. &
qualité
des problèmes
© A. Beugnard
A. Beugnard
risque
ENST Bretagne
18
1998
Introduction au génie logiciel # 1
Génie logiciel
37
Triste constat
0%
Enquête pour le DoD
auprès de ses soustraitant (juin 89)
2%
14 %
84 %
© A. Beugnard
ENST Bretagne
Génie logiciel
38
Introduction
• Parallèle avec le génie civil
• Les difficultés liées au logiciel
• Constats :
– L'organisation
– Le développement : une étude de cas
– la maintenance
© A. Beugnard
A. Beugnard
ENST Bretagne
19
1998
Introduction au génie logiciel # 1
Génie logiciel
39
Etude de cas ...
• Projet de télécommunication de taille moyenne.
• Prix forfaitaire.
• Pas d'évaluation de la proposition du contractant.
• Pas de mesure de productivité, ni d'évaluation des projets
antérieurs du contractant.
• Pas d'estimation de la taille du projet et de ses sous
systèmes.
• Le client ne demande pas d'informations supplémentaires.
© A. Beugnard
ENST Bretagne
Génie logiciel
40
Charge prévisionnelle
Personnes
25
20
15
Mai 89
10
59 HM
5
mai jun jul aou sep oct nov dec janv fev mar avr
© A. Beugnard
A. Beugnard
ENST Bretagne
20
1998
Introduction au génie logiciel # 1
Génie logiciel
41
5 mois plus tard ...
Personnes
25
20
15
Sep 89
+ 2 mois
+ 86 HM
145 HM
10
5
mai jun jul aou sep oct nov dec janv fev mar avr
© A. Beugnard
ENST Bretagne
Génie logiciel
42
encore 3 mois après...
Personnes
25
Dec 89
20
15
+ 5 mois
+ 59 HM
118 HM
10
5
mai jun jul aou sep oct nov dec janv fev mar avr
• Aucune information sur ce qui est réalisé...
• La confiance diminue...
• Audit...
Tiens, avez-vous une idée de votre productivité ?
© A. Beugnard
A. Beugnard
ENST Bretagne
21
1998
Introduction au génie logiciel # 1
Génie logiciel
43
Analyse de la situation
23 sous-systèmes avaient été isolés. Une estimation des tailles
minimale, probable et maximale est réalisée.
Le projet fait 67597 ± 1596 lignes.
L'état courant après 8 mois ...
– 2 sous-systèmes en installation et
– 21 en conception détaillée ou codage.
Les productivités souhaitées étaient :
– en mai, 19
– en septembre, 17
– en décembre, 15
© A. Beugnard
ENST Bretagne
Génie logiciel
44
Résultat
• La productivité réelle est réévaluée...à 7...( - 8)
• La durée du projet est réévaluée à 30 mois...( +18)
• La charge est réévaluée à 420 HM... ( +300)
• Le budget a augmenté de 4 500 000 $
Ce n'est pas un cas isolé ...
© A. Beugnard
A. Beugnard
ENST Bretagne
22
1998
Introduction au génie logiciel # 1
Génie logiciel
45
Conclusion
• Il n'est jamais trop tard pour bien faire.
• Des mesures simples permettent de réaliser des
estimations fiables...
• Mais, faut-il encore vouloir le faire...
• Le contractant y gagne en confiance et sérieux...
• Le client y gagne en sécurité, en coût et en temps...
• Des outils appropriés sont bien utiles à ce genre
d'analyse...
© A. Beugnard
ENST Bretagne
Génie logiciel
46
Triste constat
livré, utilisé
sans
succès
47%
utilisé
après
modif.
3%
payé, non
livré
29%
utilisé avec
succès
2%
utilisé,
modif.
abandonné
19%
début 90
DoD : ~7 M$
© A. Beugnard
A. Beugnard
ENST Bretagne
23
1998
Introduction au génie logiciel # 1
Génie logiciel
47
Introduction
• Parallèle avec le génie civil
• Les difficultés liées au logiciel
• Constats :
– L'organisation
– Le développement : une étude de cas
– la maintenance
© A. Beugnard
ENST Bretagne
Génie logiciel
48
Coût de la maintenance
% coût
90
100
75
80
%
60
55
40
40
20
0
Début 70
Début 80
Fin 80
Début 90
(DATAMATION 15 fév 90)
© A. Beugnard
A. Beugnard
ENST Bretagne
24
1998
Introduction au génie logiciel # 1
Génie logiciel
49
Répartition de la maintenance
25%
Adaptations
20%
Corrections
Améliorations
55%
© A. Beugnard
ENST Bretagne
Génie logiciel
50
Objectifs du génie logiciel
• Maîtrise de la qualité
Dire ce qu’on va faire
Faire ce qu’on a dit
• Maîtrise des coûts
• Maîtrise des délais
© A. Beugnard
A. Beugnard
Prévoir
Suivre
Apprendre
ENST Bretagne
25
1998
Introduction au génie logiciel # 1
Génie logiciel
51
Comment maîtriser ?
• Pour réaliser un bon projet il faut :
– un bon fournisseur
– un bon client
– de l ’organisation
– de la communication
© A. Beugnard
ENST Bretagne
Génie logiciel
52
plan
Introduction
Le développement
vu du client
Cycles de vie
estimation
Test
planification
Qualité
© A. Beugnard
A. Beugnard
Méthode et
Méthodologie
ENST Bretagne
26
1998
Introduction au génie logiciel # 1
Génie logiciel
53
Gestion d’acquisition
• Le processus d’acquisition
– modèle, cycle de vie, stratégie
• Que doit-on prévoir avant le développement ?
– Organisation, planning, méthode, test, risques, ...
• Que faire pendant le développement
– revues, configuration, qualité, évaluation
• La documentation : mémoire du développement
© A. Beugnard
ENST Bretagne
Génie logiciel
54
Acquisition en 5 étapes
• Définition et lancement
– besoins, stratégies
• Préparation de l'appel d'offre
– l'attendu pour les réponses
• Contrat
• Suivi du projet
• Acceptation (recette)
© A. Beugnard
A. Beugnard
ENST Bretagne
27
1998
Introduction au génie logiciel # 1
Génie logiciel
55
Cycle de vie d’acquisition
besoins
concepts
Définition
Lancement
Cahier des charges
Appel d ’offre
Propositions
Contrat
Suivi du
Développement
Stratégies
- compétition
Fourniture
Acceptation/Recette
Maintenance
Opérationnelle
- 2-phases
- simple
© A. Beugnard
ENST Bretagne
Génie logiciel
56
Contracter
• Les objectifs et les besoins techniques doivent être précis.
• Le type de contrat doit être fixé :
– Prix fixe --> Risque assuré par le fournisseur
– Régie --> Risque partagé
• Quelques critères d'évaluation...
–
–
–
–
Disponibilité de fournisseurs
Risque du développement
Besoin de l'utilisateur
Urgence, Taille de l'effort, Exigences à satisfaire
© A. Beugnard
A. Beugnard
ENST Bretagne
28
1998
Introduction au génie logiciel # 1
Génie logiciel
57
Gestion d’acquisition
• Le processus d'acquisition
– modèle, cycle de vie, stratégie
• Que doit-on prévoir avant le développement ?
– Organisation, planning, méthode, test, risques, ...
• Que faire pendant le développement
– revues, configuration, qualité, évaluation
• La documentation : mémoire du développement
© A. Beugnard
ENST Bretagne
Génie logiciel
58
Points clés (plan de développement)
•
•
•
•
•
•
•
•
•
•
•
•
•
Structure des activités
Organisation et interface
Ressources
Co-contractants
Gestion des sous-traitants
Planning et jalons
Méthode de développement
Revues
Documentation
Environnement logiciel
Tests
Evaluation du produit
Risques
Organisation
Temps
Technique
Qualité
© A. Beugnard
A. Beugnard
ENST Bretagne
29
1998
Introduction au génie logiciel # 1
Génie logiciel
59
Organisation et interface
• Définition de la hiérarchie du projet
– il faut des décideurs dans cette hiérarchie
– formation de groupe de travail
• Définition des flux de communication dans
l'organisation du projet
– verticaux et horizontaux
• Prévision de l'évolution de l'organisation en fonction
de l'avancement du projet
• Impliquer client et fournisseur dans les groupes de
travail pour assurer une bonne visibilité
© A. Beugnard
ENST Bretagne
Génie logiciel
60
Revues
• Objectifs
– rendre visible au manager l'avancement technique
– améliorer la communication et la qualité du développement
– obtenir un consensus entre client et fournisseur
• Types
–
–
–
–
Management reviews
Formal reviews
In-progress reviews
Peer reviews
manager fournisseur
fournisseur/client
manager client
technique fournisseur
Plus avec la qualité...
© A. Beugnard
A. Beugnard
ENST Bretagne
30
1998
Introduction au génie logiciel # 1
Génie logiciel
61
Documentation
• Produit
– procédures techniques et leurs produits
– spécifications, listings, tests
• Processus
– procédures de management
– plan de test, de configuration, de qualité, logiciel
• Support
– manuels
– tutoriels
© A. Beugnard
ENST Bretagne
Génie logiciel
62
Environnement logiciel
Documentation tools
Front-end CASE
Reuse library
Coding tools
Repository/
Référentiel
Measurement tools
Database management tools
Testing tools
Prototyping tools
Communication tools
Configuration management tools
Project management tools
© A. Beugnard
A. Beugnard
ENST Bretagne
31
1998
Introduction au génie logiciel # 1
Génie logiciel
63
Risques
• Etude des risques techniques et managériaux
–
–
–
–
Identification
Analyse
Evaluation
Diminution/Elimination
liste, expérience, modèles,…
impact financier, technique,…
étude des moyens pour limiter le risque
mise en œuvre des moyens
• Faisabilité, coût, effort, incertitudes
Plus avec la gestion des risques...
© A. Beugnard
ENST Bretagne
Génie logiciel
64
Adaptations
• Ces principes doivent être adaptés à chaque projet
– choix des points importants
– allégements
– suppléments spécifiques
• En fonction
–
–
–
–
de la taille du projet
des participants
de la nature du projet
etc.
© A. Beugnard
A. Beugnard
ENST Bretagne
32
1998
Introduction au génie logiciel # 1
Génie logiciel
65
Gestion d’acquisition
• Le processus d'acquisition
– modèle, cycle de vie, stratégie
• Que doit-on prévoir avant le développement ?
– Organisation, planning, méthode, test, risques, ...
• Que faire pendant le développement
– revues, configuration, qualité, évaluation
• La documentation : mémoire du développement
© A. Beugnard
ENST Bretagne
Génie logiciel
66
Gérer le développement
• Garantir la visibilité
– Management Reviews
• Maintenir la confiance
– groupe de discussion informel (SWG)
• Vérifier que les termes du contrat sont appliqués
– paiements
– fournitures (rapports, produits)
– qualité
© A. Beugnard
A. Beugnard
ENST Bretagne
33
1998
Introduction au génie logiciel # 1
Génie logiciel
67
Gestion de configuration
• Gérer la multitude de produits et de documents
générés en :
–
–
–
–
identifiant chaque produit, chaque document
contrôlant les modifications demandées
gérant les rapports d'anomalie
suivant l'état d'avancement de chaque élément au cours de
son cycle de vie
Plus avec la gestion de configuration...
© A. Beugnard
ENST Bretagne
Génie logiciel
68
Assurance qualité
• Garantir la satisfaction du client en atteignant les
objectifs contractuels
– respect des procédures
»
»
»
»
de développement
de configuration
de test
de qualité
– respect des objectifs
» techniques
» documentaires
Plus avec la qualité...
© A. Beugnard
A. Beugnard
ENST Bretagne
34
1998
Introduction au génie logiciel # 1
Génie logiciel
69
Gestion d’acquisition
• Le processus d'acquisition
– modèle, cycle de vie, stratégie
• Que doit-on prévoir avant le développement ?
– Organisation, planning, méthode, test, risques, ...
• Que faire pendant le développement
– revues, configuration, qualité, évaluation
• La documentation : mémoire du développement
© A. Beugnard
ENST Bretagne
Génie logiciel
70
Documents
étude de
faisabilité
étude
préalable
étude
détaillée
étude
technique
Dossier
bilan
existant
Plan de
développement
Fiche-Projet
Dossier
de
choix
Rapport étude
faisabilité
Rapport
étude
préalable
Cahier
charges
utilisateurs
Cahier
charges
réalisation
Recette
Plan de
recette
Synthèse
des
recettes
Plan de
migration
Plan de
mise en
œuvre
Bilan du
projet
Rapport
étude
détaillée
Rapport
étude
technique
© A. Beugnard
A. Beugnard
Réalisation
Rapport
de
réalisation
ENST Bretagne
35
1998
Introduction au génie logiciel # 1
Génie logiciel
71
Bibliographie
• BROOKS, F.P., The Mythical man-month. Essays on software engineering,
Addison-Wesley, 1982
• Cyrille Chartier-Kastler, Précis de conduite de projet informatique, Les
éditions d'organisation, 1995
• John J. Marciniak, Acquisition Management, in Encyclopædia of Software
Engineering, Vol 1, pp 4--24, John Wiley & Sons, 1994
• John J. Marciniak and D.J Reifer, Software Acquisition Management, John
Wiley &Sons, Inc, New York, 1990
• CMM : http://www.sei.cmu.edu/activities/sema/profile.html
• Immaturité du CMM : http://www.stlabs.com/testnet/docs/CMM_AP1.htm
• Organisational Patterns :
http://www.bell-labs.com/cgi-user/OrgPatterns/OrgPatterns
© A. Beugnard
A. Beugnard
ENST Bretagne
36
1998