Galerie de cartes mentales Chapitre 5 Conception globale
Conception structurée du génie logiciel - conception globale, peut adopter une perspective globale, dépenser moins d'argent, analyser et comparer plusieurs plans de mise en œuvre de système et structures logicielles possibles à partir d'un niveau relativement abstrait, et sélectionner parmi eux le meilleur plan et la meilleure structure logicielle à réaliser. le développement de systèmes logiciels de meilleure qualité à moindre coût.
Modifié à 2023-10-31 18:37:17Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Chapitre 5 Conception globale
Tâche:
L'objectif fondamental est de répondre « En résumé, comment mettre en œuvre un système logiciel ? »
Une autre tâche importante consiste à concevoir la structure du logiciel, qui consiste à déterminer de quels modules chaque programme du système est composé et la relation entre ces modules.
nécessité:
Vous pouvez adopter une perspective globale et dépenser moins d'argent pour analyser et comparer plusieurs solutions de mise en œuvre de système et structures logicielles possibles à partir d'un niveau plus abstrait, et sélectionner la meilleure solution et structure logicielle pour obtenir un faible coût.
5.1 Processus de conception
étape de conception du système
1. Envisagez des options alternatives 2. Sélectionnez une option raisonnable 3. Recommandez la meilleure option
étape de conception structurelle
1. Décomposition fonctionnelle 2. Concevoir la structure du logiciel 3. Concevoir une base de données 4. Développer des documents de test 5. Rédiger des documents 6. Réviser et réviser
5.2 Principes de conception
5.2.1 Modularité
Module : le module est l'élément de base du programme
Modularisation : il s'agit de diviser le programme en modules nommés indépendamment et accessibles indépendamment. Chaque module peut compléter une sous-fonction. Lorsque les modules sont combinés pour former un tout, les fonctions spécifiées peuvent être complétées pour répondre aux exigences de l'utilisateur. .
Fonction (avantages) :
1. La modularisation peut rendre la structure du logiciel claire, qui est non seulement facile à concevoir mais également facile à lire et à comprendre.
2. La modularisation peut rendre les logiciels faciles à tester et à contrôler
3. La modularisation peut rendre le logiciel facile à modifier
4. Contribuer à l'organisation et à la gestion des projets de développement logiciel
5.2.2 Abstraction
abstrait:
L'abstraction consiste à faire abstraction des caractéristiques essentielles des choses sans considérer temporairement leurs détails. Chaque étape du processus d'ingénierie logicielle constitue un raffinement supplémentaire du niveau d'abstraction de la solution logicielle.
Applications abstraites :
Dans la phase d'étude de faisabilité, le logiciel est utilisé comme composant complet du système ; dans la phase d'analyse des besoins, la solution logicielle est décrite à l'aide d'une méthode familière dans l'environnement problématique lors de la transition de la conception globale à la phase de conception détaillée ; , le niveau d'abstraction est progressivement réduit ; Enfin, lorsque le programme source est écrit, il atteint le niveau d'abstraction le plus bas ;
Avantages de l'abstraction :
L'attribution du contrôle de manière descendante, de l'abstrait au concret, simplifie la conception et la mise en œuvre du logiciel, améliore la compréhensibilité et la testabilité du logiciel et facilite sa maintenance.
5.2.3 Rechercher progressivement le raffinement
définition
Essayez de reporter l'examen des détails d'un problème afin de pouvoir vous concentrer sur la résolution du problème principal.
La différence entre abstraction et raffinement progressif :
sous-thème
[La différence entre l'abstraction et le raffinement progressif :
abstrait:
Définition : Le processus de réduction de problèmes complexes à des questions ou des concepts de base
Objectif : Réduire la complexité du problème et faciliter la compréhension et le traitement
Méthodes : classification, induction, généralisation, etc.
Affiner progressivement :
Définition : Processus consistant à affiner progressivement un problème d'un niveau élevé à un niveau bas.
Objectif : Décomposer des problèmes complexes en petits problèmes gérables pour faciliter la conception et la mise en œuvre
Méthodes : décomposition, raffinement, optimisation, etc.
la différence:
L'abstraction est un processus descendant, tandis que le raffinement étape par étape est un processus ascendant.
Concentrez-vous de manière abstraite sur la structure globale du problème, puis affinez et concentrez-vous progressivement sur les détails spécifiques du problème.
L'abstraction met l'accent sur la classification et l'induction, tandis que le raffinement progressif met l'accent sur la décomposition et le raffinement.
L'abstraction et le raffinement par étapes se complètent et sont utilisés ensemble pour résoudre des problèmes complexes.]
5.2.4 Dissimulation et localisation des informations
[Masquage et localisation des informations
informations cachées
définition
Masquer les détails internes du système
Exposer uniquement les informations nécessaires
avantage
Réduire la complexité
Améliorer la sécurité
Améliorer la maintenabilité
localisation
définition
Rassembler les fonctionnalités ou les données associées
Réduire les dépendances
avantage
Améliorer l'efficacité
Réduire l'accouplement
Améliorer la maintenabilité ;]
5.2.5 Indépendance des modules
Indépendant du module
indépendance des modules
L'indépendance du module fait référence au faible degré d'interdépendance entre les parties du module et au faible degré de couplage entre les modules.
L'indépendance des modules contribue à améliorer la maintenabilité et l'évolutivité du système
Une mesure de l’indépendance des modules
L'indépendance des modules peut être mesurée par cohésion et couplage
La cohésion fait référence à la proximité entre les différentes parties du module. Plus la cohésion est élevée, meilleure est l'indépendance du module.
Le degré de couplage fait référence au degré de dépendance mutuelle entre les modules. Plus le degré de couplage est faible, meilleure est l'indépendance du module.
Méthodes pour améliorer l’indépendance des modules
Utilisez la technologie de masquage des informations pour masquer les détails d'implémentation à l'intérieur du module et exposer uniquement les interfaces nécessaires
Adoptez une méthode de conception modulaire pour diviser le système en plusieurs modules, chaque module est responsable de fonctions spécifiques
Utiliser des méthodes de conception d'interface pour concevoir les interfaces interactives entre les modules de manière concise et claire, réduisant ainsi le couplage entre les modules
Adopter une méthode de conception en couches pour diviser le système en plusieurs niveaux, chaque niveau est responsable de fonctions spécifiques et réduire le couplage entre les modules
L’importance de l’indépendance des modules
L'indépendance des modules est l'un des indicateurs importants pour mesurer la qualité de la conception logicielle
L'indépendance des modules contribue à améliorer la maintenabilité et l'évolutivité du système, et réduit les coûts de maintenance et d'expansion du système.
L'indépendance des modules contribue à améliorer la fiabilité et la stabilité du système et à réduire la probabilité d'erreurs du système ;
Utilisez le couplage de données autant que possible, utilisez moins de couplage de contrôle et de couplage de fonctionnalités, limitez la portée du couplage d'environnement public et n'utilisez pas du tout le couplage de contenu.
5.3 Règles heuristiques
1. Améliorer la structure du logiciel et améliorer l'indépendance des modules
2. La taille du module doit être modérée
3. La profondeur, la largeur, la répartition et la répartition doivent être appropriées
4. La portée du module doit être dans le domaine de contrôle
5. S'efforcer de réduire la complexité des interfaces des modules
6. Concevoir un module avec une seule entrée et une seule sortie.
7. Les fonctions du module doivent être prévisibles
5.4 Outils graphiques pour décrire la structure du logiciel
5.4.1 Diagramme hiérarchique et diagramme HIPO
5.4.2 Schéma structurel
5.5 Méthode de conception orientée flux de données
approche de conception structurée
5.5.1 Notion
concept
Deux types de flux d'informations
1. Flux d'échange
2. Logistique
5.5.2 Analyse des transformations
5.5.3 Analyse des choses