© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus (fin) Hiver 2002 Petko Valtchev
© Petko ValtchevUniversité de Montréal Janvier Bases Sommaire l Le processus de production l Concepts de base l Nature du processus et phases l Modèles de processus l Modèle en cascade l Modèle par prototypage l « Rapid Application Development » l Modèles évolutifs –Modèle incrémental –Modèle en spirale l Modèles avancés
© Petko ValtchevUniversité de Montréal Janvier Bases Le Modèle en Spirale L’inévitable remise en cause des résultats d’un processus partiel est explicitée sous forme d’une spirale dans le modèle du même nom. l Projet global, divisé en un ensemble de sous-projets réalisés en séquence. l Sous-projet = un circuit de la spirale de développement (1 ou + tours). l Chaque tour de la spirale traverse six régions d’activités. l Région d’activité = ensemble de tâches spécifiques à réaliser. Chaque tour de la spirale doit produire ses propres résultats: l un document de spécification, l un prototype initial, l une version améliorée du prototype, etc. De facteurs comme l’évolution des besoins ou leur remise en cause après la livraison, lesquels entraînent un passage supplémentaire par toutes les phases du cycle de vie, ne sont pas reflétés par les modèles vus précédemment. CONSTAT
© Petko ValtchevUniversité de Montréal Janvier Bases Planification Discussion avec le Client Évaluation par le Client Construction & Livraison Ingénierie Analyse des risques Les itérations sont rendues explicites! Le Modèle en Spirale, Schéma
© Petko ValtchevUniversité de Montréal Janvier Bases Avantages Combine les avantages des modèle en cascade, par prototypage et incrémental. De façon générale, le modèle est réaliste et bien adapté pour le développement de systèmes de taille large. Risques L’analyse des risques étant, elle aussi, « évolutive », cela risque d’inquiéter le client. Modèle moins connu que les modèles en cascade et par prototypage. Moins de recul, donc difficile d’en évaluer l’efficacité. Le Modèle Incrémental, Bilan
© Petko ValtchevUniversité de Montréal Janvier Bases Sommaire l Le processus de production l Concepts de base l Nature du processus et phases l Modèles de processus l Modèle en cascade l Modèle par prototypage l « Rapid Application Development » l Modèles évolutifs l Modèles avancés –Modèle de développement par composants –Modèles centrés sur des méthodes formelles
© Petko ValtchevUniversité de Montréal Janvier Bases Le Modèle par Composants l Processus de développement similaire à celui en spirale mais dans lequel l’activité d’ingénierie a une forme particulière. l Ingénierie = conception de l’application à partir de composants logiciels prêts à l’emploi (disponibles sous forme de librairies commerciales) 1. Identification des composants candidats. 2. Chercher composants dans les librairies. 3. Si disponible, extraire les composants. Sinon, les construire 4. soi-même et les ajouter à la librairie. 5. Intégrer les composants à la nième version du système. l Certains Ateliers de génie logiciel offrent l’environnement nécessaire pour ce type de processus.
© Petko ValtchevUniversité de Montréal Janvier Bases Sommaire l Le processus de production l Concepts de base l Nature du processus et phases l Modèles de processus l Modèle en cascade l Modèle par prototypage l « Rapid Application Development » l Modèles évolutifs l Modèles avancés –Modèle de développement par composants –Modèles centrés sur des méthodes formelles
© Petko ValtchevUniversité de Montréal Janvier Bases Le Modèle « Méthodes Formelles » Plusieurs outils CASE disponibles pour les principales méthodes. l Ex. l VDM, B, Z, l CTL, Lotos, etc. l Avantages = Détection précise l d’ambiguïtés et d’erreurs, l de problèmes de complétude et de cohérence. l Inconvénients: Coûteux en temps, expertise requise, moyen inadéquat pour communiquer avec le client. Notations mathématiques et techniques d’analyse rigoureuses pour la spécification, la conception et la vérification de systèmes informatiques.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel L’Ingénierie du Système Hiver 2002 Petko Valtchev
© Petko ValtchevUniversité de Montréal Janvier Bases Ingénierie du Système Englobant Rôle: permet de supporter des fonctions d’affaires d’une organisation, permet de mettre en œuvre un produit. - Composants de types variés : logiciels, matériel, personnes, bases de données, documents, procédures d’utilisation. Système informatisé (englobant)
© Petko ValtchevUniversité de Montréal Janvier Bases Ingénierie de Systèmes Situer le système logiciel dans son contexte global Identifier la hiérarchie des éléments qui composent le système informatisé Supporter la modélisation & simulation d’un ou plusieurs composants (sous-systèmes) Objectifs
© Petko ValtchevUniversité de Montréal Janvier Bases Domaine du produit ou de l’entreprise Domaines d’intérêt Vue domaine Éléments du système Vue éléments Vue détaillée Vue monde WV={D1,D2,.. Dn} Di={E1,E2,..Em} Ej={C1,C2,..Ck} Hiérarchie
© Petko ValtchevUniversité de Montréal Janvier Bases Réponse à la question: Comment l’implantation d’un système informatisé, pourrait-elle aider à mieux réaliser les fonctions d’affaires de l’organisation et atteindre ses objectifs stratégiques? Applique un ensemble cohérent de procédures, méthodes et outils. Modèle de l’architecture du système informatisé Étapes de la modélisation: Architecture des données = les objets de données manipulés avec leurs caractéristiques et leur liens, Architecture des applications = l’ensemble des systèmes logiciels qui manipuleront et transformeront les données, Infrastructure technologique = les dispositifs informatiques (par exemple, réseaux, serveurs, systèmes de télécommunication) qui supporteront les (stockages des) données et les applications. Ingénierie de l’Information
© Petko ValtchevUniversité de Montréal Janvier Bases Ingénierie de l’Information Activités du BPE (Business Process Engineering) 1.ISP (Information Strategy Planning): Identification des buts stratégiques Identification des règles et des facteurs gagnants 2.BAA (Business Area Analysis): Modélisation des services et processus Identification des relations entre processus et données 3.BSD (Business System Design) 4.C&I (Construction & Integration) - Ingénierie logicielle - Modélisation et spécification des architectures (données, applications, technologies) du système. D’après Pressman 2001 Vue Entreprise Résultat: modèle de l’entreprise. Vue Domaine Résultat: modèle adapté au domaine. Vue Éléments & Composants
© Petko ValtchevUniversité de Montréal Janvier Bases domaine système L’entreprise domaine d’intérêt BAA Vue domaine BSD Vue éléments C&I Vue détaillée ISP Vue monde Ingénierie de l’Info besoin de traitement
© Petko ValtchevUniversité de Montréal Janvier Bases Ingénierie de Produits 1. Analyse du système global (des besoins) 2. Organisation des composants (matériel, logiciel, données) 3. Ingénierie logicielle : 1. Analyse et Conception 2. Construction et Intégration « Traduire, les exigences et les attentes d’un client, exprimées sous forme d’un ensemble de fonctionnalités en un produit concret,. » Pressman, 2001 Vue Monde Vue Domaine Vue Domaine Vue Domaine
© Petko ValtchevUniversité de Montréal Janvier Bases Analyse Système Le produit complet fonctionnalités Ingénierie Composants (vue domaine) besoin de traitement Analyse & Conception Modélisation (vue élément) Construction & Intégration (vue détailiée) logiciel fonctions programme composant matériel donnéescomportem-t Ingénierie de Produits Ingénierie Logicielle (vue monde)
© Petko ValtchevUniversité de Montréal Janvier Bases Ingénierie des besoins ÉtapeObjectif Acquisition des Besoins Déterminer avec précision ce que le client désire et ce dont il a besoin. Analyse & Négociation S’assurer de la bien-fondée de chaque besoin exprimés par le client et comprendre les relations entre les différents besoins. SpécificationFournir une description tangible (précise et complète) des besoins. Modélisation Construire une représentation du système (maquettes, diagrammes). Validation Vérifier le document des besoins pour sa correction, complétude et cohérence. Maintenance Identifier, contrôler et tracer des besoins et de leurs changements. Permet d’identifier quels aspects d’un système sont affectés par un changement au cahier des charges.
© Petko ValtchevUniversité de Montréal Janvier Bases Traitements effectués par les IU (SCD) Traitement des entrées (SCD) Traitement des sorties (SCD) Maintenance et auto-vérification (SCD) Fonctions de contrôle et de traitement SCD (System Context Diagram) Patron de Modélisation du Système
© Petko ValtchevUniversité de Montréal Janvier Bases bar code reader subsystem bar code decoding subsystem data base access subsystem shunt control subsystem report formating subsystem diagnostics subsystem operator interface subsystem shunt controller mainframe communications driver operator requests CLSS queries, reports, displays shunt control status bar code acquisition request bar code pulse tach input line speed bar code reader status sensor status raw bar code data part number report requests bin location key sort records formated reporting data sorting reports shunt commands CLSS reports BCR status shunt status communications status timing/location data operator interface data acquisition interface diagnostic interfaceoutput interface CLSS processing & control sensor data acquisition subsystem SFD: System Flow Diagram Organigramme d’Analyse