Quel est le meilleur livre d’architecture logicielle ?


Cela va varier selon les personnes, mais voici une question pour vous. Êtes-vous absolument certain de savoir ce qu'est un système ? Pouvez-vous identifier un système, n'importe lequel, et identifier ses limites exactes ? Le site Web Quora est-il un système ? Êtes-vous sûr de le savoir ? Quelles sont ses limites exactes ?

Pour moi, répondre à ces questions, c'est là où commence l'architecture logicielle.


Il existe un livre qui comporte quelques chapitres sur les principes fondamentaux de l'analyse des systèmes. C'est le seul que j'ai vu. C'est un vieux livre, mais les principes de base de ce que sont les systèmes ne changent pas.

Sans cette base, l'architecture logicielle n'a pas de sens pour moi. Les gens arrivent à faire des choses tout le temps sans liens fermes avec les bases, donc c'est à vous de voir. Pour les bases que je viens de mentionner, "Modern Systems Analysys", par Ed Yourdon. La majeure partie du livre est consacrée à l'étude des diagrammes de flux de données. Ce sujet dans ce livre devrait être ignoré et rejeté comme inutile et une mauvaise utilisation du temps. Les chapitres sur les bases des systèmes sont presque inestimables.

Vous voulez connaître les limites exactes du système Quora ? Je'vais vous le dire, et vous serez le juge de son exactitude. Les frontières exactes ne peuvent être déterminées que par des définitions arbitraires. Peut-être que cet écran sur mon téléphone fait partie de Quora, peut-être pas, cela dépend où vous voulez tracer la ligne. Cependant, même si les limites exactes sont arbitraires, elles sont importantes, car l'endroit où vous placez la limite affecte la façon dont vous gérez votre effort dans votre travail avec le système. Cela vous semble-t-il juste ?

Ed fournit une liste de choses qu'il est bon de savoir sur les systèmes. Le fait que les frontières soient arbitraires est un élément. Cette liste est formidable. Il est vraiment utile de savoir, les systèmes se développent. C'est un autre élément de la liste.

Sujet bonus : assurez-vous d'en savoir assez sur les logiciels orientés objet pour savoir pourquoi ils sont bons et aussi pourquoi les logiciels non orientés objet sont tout aussi bons. Vous devrez argumenter avec la sagesse conventionnelle pour celui-là, et faire face aux zélateurs.

Sujet bonus 2 : pour comprendre l'architecture des données, écrivez des programmes qui utilisent le sql. Sql est le langage des données, il n'y a pas de moyen plus efficace de saisir les données et leur structure que de patauger dans le sql pour accomplir les choses que vous devez faire. Toutes les autres constructions de données sont des complications.

BONUS 3 : comprenez les systèmes de fichiers et le rôle qu'ils jouent dans les logiciels.

BONUS 4 : sachez ce qu'est un réseau.

BONUS 5 : tout logiciel est fait avec des fichiers qui stockent des commandes pour lire et écrire des données et d'autres fichiers qui sont accessibles sur un réseau. Une fois que vous êtes à portée de main avec ce concept, tous les trucs d'architecture sont beaucoup plus faciles à comprendre.

BONUS 6 : l'architecture logicielle prend une minute puis vous avez terminé. Faire fonctionner les systèmes indépendamment de l'architecture, c'est là que le temps passe.

Bonne lecture.