Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev - Génie logiciel1 L’architecture d’applications L’architecture de certains types d’applications
B.Shishedjiev - Génie logiciel2 Types d’applications Systèmes de traitement de données –Application gérées par les données en lots sans intervention d’utilisateur Systèmes transactionnelles –Applications qui traitent des requêtes d’utilisateurs et changent l’information dans une base de données. Systèmes traitant des événements –Les actions du système sont déterminées par l’interprétations des événements de l’environnement du système. Systèmes de traitement de langages –Application où l’intention d’utilisateur est exprimée en langage formel qui est traité et interprété par le système
B.Shishedjiev - Génie logiciel3 Types d’applications - Exemples Systèmes de traitement de données –Systèmes de facturation –Systèmes de calcul des salaires et payements Systèmes transactionnelles –E-commerce –Réservations. Systèmes traitant des événements –Traitement de texte. –Systèmes temps réel Systèmes de traitement de langages –Compilateurs –Interpréteurs d’instructions
B.Shishedjiev - Génie logiciel4 Systèmes de traitement de données Particularités –Les bases de données sont plusieurs degrés plus large que le programme –Les données sont traitées en lots Ils son lus en lots (données des compteurs électriques) Ils sont sortis en lots (les comptes d’électricité) Ils sont orientés vers les traitement (les fonctions) –DFD sont convenable pour présenter les traitement
B.Shishedjiev - Génie logiciel5 Systèmes de traitement de données Modèle
B.Shishedjiev - Génie logiciel6 Systèmes de traitement de données DFD d’un système de payement des salaires
B.Shishedjiev - Génie logiciel7 Systèmes transactionnelles Particularités –On traite les demandes pour information ou pour modification des données –Les demandes sont asynchrones et sont traitées par le gérant des transactions Traitement de transactions
B.Shishedjiev - Génie logiciel8 Systèmes transactionnelles Le système de distributeurs de billets
B.Shishedjiev - Génie logiciel9 Systèmes transactionnelles Gestion des transactions
B.Shishedjiev - Génie logiciel10 Systèmes transactionnelles Structure d’un système d’information – architecture générique en couches User interface User communications Information retrieval and modification Transaction management Database
B.Shishedjiev - Génie logiciel11 Systèmes transactionnelles Organisation de LYBSYS Web browser interface Forms & query manager Library index LYBSYS login Print manager Distributed search Document retrieval Rights manager Accounting DB1 DB2 DB3 DBn
B.Shishedjiev - Génie logiciel12 Systèmes transactionnelles Système d’allocation des ressources –Ils gèrent une quantité fixée d’un ressource – billet de sport ou concert et c. Exemples –Systèmes d’emploi de temps –Bibliothèques –Contrôle de trafic aérien
B.Shishedjiev - Génie logiciel13 Systèmes transactionnelles Allocation des ressources User interface Transaction management Resource database User authentication Resource delivery Query manager Resource management Resource policy control Resource allocation
B.Shishedjiev - Génie logiciel14 Implémentation des couches Sur plusieurs machines –A chaque machine il y a une couche qui est un sous système Sur une machine –Des programmes séparés qui communiquent avec la BD par fonctions API Les plus petits composants des couches peuvent être des services Web.
B.Shishedjiev - Génie logiciel15 Implémentation des couches Exemple – E-commerce
B.Shishedjiev - Génie logiciel16 Systèmes traitant des événements Particularités –Ils traitent des événements venant de l’environnement. –Le temps des événements est aléatoire. –Exemples : Systèmes de traitement de texte, jeux, simulateurs, systèmes temps réel.
B.Shishedjiev - Génie logiciel17 Systèmes traitant des événements Systèmes de traitement de texte –Mono utilisateur –Réaction rapide (presque immédiate) –Transaction très longues. On a besoin de restauration Objets –Screen – gère la mémoire d’écran et découvre les événements –Event – reconnaît les événements et les envoie pur traitement –Command – exécute une instruction de l’utilisateur –Editor data – gère la structure des données dans l’éditeur –Ancillary data – gère les données auxiliaires comme les préférences et les styles –File system – gère l’entré/sortie –Display – rafraîchi la présentation sur l’écran
B.Shishedjiev - Génie logiciel18 Systèmes traitant des événements Modèle objet d’éditeur
B.Shishedjiev - Génie logiciel19 Systèmes de traitement de langages Modèle objet
B.Shishedjiev - Génie logiciel20 Systèmes de traitement de langages Composants d’un processeur de langage –Lexical analyser – Analyseur lexique –Symbol table – Tableau des symboles –Syntax analyser – Analyseur syntactique –Syntax tree – Arbre syntactique –Semantic analyser – Analyseur sémantique –Code generator – Générateur du code
B.Shishedjiev - Génie logiciel21 Systèmes de traitement de langages DFD de compilateur
B.Shishedjiev - Génie logiciel22 Systèmes de traitement de langages Modèle d’architecture de compilateur (dépositaire)