Comment décomposer un système en modules?
-
16-09-2019 - |
Question
L'efficacité d'une « modularisation » dépend des critères utilisés pour diviser le système en modules.
Ce que je veux, proposer des critères qui peuvent être utilisés dans la décomposition d'un système en modules.
La solution
cohésion :. La fonctionnalité d'un module est liée
couplage faible : vous avez des dépendances minimales entre les modules.
cycle coordonné: modifications apportées à la fonctionnalité dans un module tend à se produire en même temps. En général, conséquence d'une grande cohésion.
Autres conseils
Je pense que le principe de responsabilité unique serait un bon guide. Essayez de définir les responsabilités de chaque module, et faire chaque module est responsable de sa propre chose.
Voir http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
Lecture intéressante aussi: http: //www.cs .umd.edu / classe / spring2003 / cmsc838p / design / criteria.pdf
Il est très vieille question.
- Module est l'affectation de travail à un programmeur ou d'un groupe de programmeurs. Ceci est aussi l'unité de changement.
- couplage faible et la cohésion sont des mesures de qualité de l'estimation des relations entre les modules, mais ils ne sont pas utiles pour la décomposition.
- La décomposition doit être faite en utilisant " cacher des informations " comme critère.
- Présentation des exemples et la description du processus basé sur le principe "cacher l'information": http: / /www.sqrl.ul.ie/Downloads/Lecture2.pdf.
- État de l'art de cette question est le sujet du logiciel de la gamme de produits.