Comment faites-vous un bon logiciel?

Comment faites-vous un bon logiciel? Blog IMS
L'équipe IMS Kai-Uwe Schiffer
Contribution enregistrée par: Kai-Uwe Schiffer

Kai-Uwe Schiffer est responsable du développement logiciel. Avec son équipe, il est responsable de la mise en œuvre des exigences des clients et des innovations dans des solutions robustes et attrayantes. La modernisation constante des lignes de produits actuelles est son souci particulier.

Comment faites-vous un bon logiciel? Outre le fait que la femme fabrique également de bons logiciels (du moins ici avec IMS) la question n'est pas si facile à répondre. Parce que le logiciel est complexe. Et un bon logiciel? Paradoxalement, c'est moins complexe. Leur création est plus complexe. Parce qu'il y a beaucoup plus à faire pour un bon logiciel que la simple écriture de code.

Pense d'abord

C'est un peu comme utiliser le logiciel comme partout ailleurs dans la vie: pensez d'abord, agissez ensuite - et bien sûr, coden. Afin de garder le code propre et aussi flexible que possible, de nombreuses considérations doivent être prises en compte avant chaque développement:

  • Que doit faire le logiciel?
  • Quelle est l'essence de la solution?
  • Quels éléments doivent être programmés aussi robustement que possible?
  • Quels éléments doivent être programmés de manière aussi flexible que possible?
  • Qu'est-ce qui doit être connecté, lu, dépensé?
  • Comment combiner au mieux les différents éléments dans une unité fonctionnelle?

Tout le monde traite de questions de ce genre Développeur de logiciels beaucoup avant d'écrire la première ligne. Incidemment, l'équipe peut encore mieux répondre à ces questions, et le principe des quatre (ou six ou huit) yeux permet également de détecter et d'éliminer les pièges possibles de la conception à un stade précoce.

La tête comme outil

Bien sûr, le programmeur a besoin d’outils. Un bon programmeur peut acquérir la maîtrise de n'importe quel outil. Le principe est similaire à celui de l'artisan universel: il peut travailler avec n'importe quel outil, mais doit également avoir les mêmes connaissances pour chaque outil.

Mais le véritable outil est la tête. C'est ici que sont créées les constructions abstraites de chaque logiciel. Et les bonnes constructions sont belles! La joie de la beauté du logiciel est un bonus rare dans le domaine professionnel du développeur de logiciel. L’importance est donc à la fois la connaissance des langues d’une part et les compétences en reconnaissance de formes et l’abstraction de l’autre. Cela signifie en détail:

langues

Que ce soit C #, Java, Python, HTML5, Basic, Ruby - qui veut programmer, doit connaître sa / ses langue (s). C'est comme en vacances: pas de mots sans mots. La connaissance de la langue est donc élémentaire. Je ne peux pas exprimer ce que je ne sais pas. Je ne peux pas programmer ce que je ne peux pas exprimer.

Reconnaître des modèles

Assied le vocabulaire, vient ensuite la reconnaissance de modèle. Les modèles existent sous des formes complètement différentes. Un point très simple mais très important est par exemple "ne pas répéter"! Tout ce qui est identique ou similaire ne doit être programmé qu'une seule fois, mais doit ensuite être conçu de manière à pouvoir être atteint et utilisé par tous les éléments qui nécessitent cette fonction.

pensée abstraite

Une partie de la reconnaissance de formes consiste également à reconnaître des séquences de fonctions cohérentes et à pouvoir les mettre en œuvre en conséquence. En même temps, cela nécessite de l'abstraction, c'est-à-dire la capacité de construire la structure de l'ensemble du produit dans l'esprit. Parce que seuls ceux qui comprennent parfaitement leur tâche sont également en mesure de définir la meilleure solution.

Logique avec et sans math

Voici un mot-clé à mentionner: la logique. Qui veut programmer, doit être capable de penser de manière logique, car avant tout, il y a toujours la question: quelle action a quelles conséquences? La structure de base de la pensée logique peut être apprise à l’école dans le domaine des mathématiques, ce qui peut donc être important pour les développeurs de logiciels - mais pas obligatoire, car même si la pensée est similaire, elle n’est pas la même. Et il y a aussi une logique complexe, par exemple, en philosophie (et pas seulement dans celle de Ludwig Wittgenstein Tractatus logico philosophicus).

principes de conception

La prochaine étape consiste à suivre les principes de conception. Ces principes de conception de bons logiciels ont peu évolué au fil des années, malgré d'importants changements et avancées techniques.Une approche théorique générale a déjà été trouvée dans la programmation orientée objet, et de nombreuses conclusions s'appliquent au travail avec des langages non orientés objet.

Quelques exemples sont:

  • Capsule, ce qui est différent
  • Adressez les interfaces au lieu de programmer une implémentation.
  • Chaque classe de votre application ne doit avoir qu’une seule raison de changer.
  • Les classes doivent être ouvertes aux extensions, mais exclure les modifications (OCP).
  • Evitez les doublons dans le code en faisant la synthèse de la fonction essentielle à remplir (principe DRY)
  • Chaque objet ne doit avoir qu'une seule fonction et chaque méthode d'un objet doit principalement viser à remplir cette fonction (SRP)
  • Les sous-classes doivent être utilisables comme objets de leur classe de base (LSP)

La plus grosse ne pas dans ce contexte s'appelle à ce jour: N'écrivez pas un bloc monolithique. Le plus grand Do signifie en conséquence: Écrivez des unités fonctionnelles structurées et significatives.

Un autre principe est essentiel dans la conception de logiciels: soyez souple face aux changements! Les changements ont lieu constamment. Par conséquent, lorsque vous concevez un logiciel dès le départ, faites attention aux parties qui changeront et celles qui ne changeront pas. Ceux qui vont changer doivent être conçus pour que les changements soient faciles à mettre en œuvre et que leurs fonctionnalités soient robustes pour changer.

Par conséquent:

Il n'y a rien de bon, sauf qu'on le fait, disent-ils. Cela vaut également pour logiciel - le plus complexe, le plus. Et que dire du bon logiciel?

Chez IMS, nous gardons toujours les yeux ouverts pour que notre logiciel fonctionne de manière aussi fiable que possible, qu’il fonctionne de manière optimale, qu’il est facile à utiliser et qu'il génère des avantages à long terme.

Les normes de programmation modernes correspondent aux dernières évolutions des langages et des systèmes tiers. Une architecture à 3 niveaux est aussi obligatoire que la convivialité. De plus, la conception adaptée aux mobiles fait partie intégrante de l'optimisation Web et bien plus encore.

C'est probablement pourquoi IMSWARE rencontre un tel succès sur le marché.

 

Cordialement

ksc Comment faire un bon logiciel »IMSWARE.de

Le développement de logiciels PS est votre truc? Alors jetez un oeil à la notre offres d'emploi actuelles plus ...

 

Votre note?

moyenne 4.9 / 5. Nombre de votes: 8

Soyez le premier à noter :-)

Génial, merci!

Peut-être que vous voulez nous suivre sur ...

Nous sommes désolés que vous n'aimiez pas tant ce post.

Comment pouvons-nous améliorer cela?

nouvelles Blog
Lecture précédente
IMS au ServParc en juin 2019
Lecture suivante
51ème assemblée annuelle de l'ATA