Création logicielle |
Software development |
Préparation
|
Design
|
Avant de commencer le développement, il faut déjà avoir une idée précise de ce que nécessite le projet.
Il faut évaluer les délais, les outils nécessaires, qui fera quoi, le budget requis, etc...
|
Before you start, you need a accurate picture of what the project looks like.
You need to know how long it will take, which tools you will need, who will does what, the global cost, and so on...
|
Suivit du projet
|
Project control
|
Le suivit du projet consiste en un ensemble d'activité permettant de savoir si le développement du logiciel
respecte les délais prévus, si le travail effectué correspond bien à ce qui à été conçu lors de la phase de
préparation, et éventuellement à apporter des modifications dans les méthodes de travail pour atteindre les objectifs
prévus.
|
When the development starts, it requires periodical checks to verify that deadlines are respected, if the work
respects what was planned in the design phase. It eventually consists in modifying work methods to reach the objectives.
|
Programmation
|
Coding phase
|
La programmation, ce n'est pas uniquement le fait de taper sur un clavier des lignes de code dans le but de
faire exécuter quelque chose à un ordinateur. C'est avant tout un mélange de science, d'art, et d'instinct
qui permet au programmeur de choisir dans tout son arsenal logiciel l'outil le plus adéquat à la résolution
d'un problème particulier. Cela inclut aussi la phase d'élimination des problèmes (débogage et optimisation).
|
Programing is a lot more than just typing lines and lines of code. It's mostly a odd mix of science, art,
instinct that helps the programer to choose a particular software tool to resolve a particular problem. Coding
includes the operations of debugging and optimisation.
|
Phase de test
|
Testing methods
|
Des ouvrages entiers on été dédiés à ce grand sujet qu'est le "zéro défaut", et comment y parvenir.
Le développement de logiciels n'y a pas échappé, mais l'observation courante permet de se rendre
compte que cet objectif est encore loin d'être atteint.
A défaut d'utiliser des méthodes avancées de test, voici quelques idées simples à appliquer qui
vous permettrons de supprimer les problèmes majeurs avant de procéder à la distribution de votre
logiciel.
|
Many books have been written on this subject, but when it's about software the concept of "no bugs" is still
a holy grail that no one found.
Instead of using very complex and advanced tesing methods, here are some simple ideas you can apply on your own
projects. They will not guarantee you from bugs, but a least it will allows you to find most annoying one before
shipping your product.
|
Distribution et maintenance
|
Releasing the software
|
Ce titre parait trivial avec l'apparition d'internet. Néanmoins, il faut bien considérer que le développement
d'un logiciel ne s'arrête pas au jour où il a été distribué. Il faut penser aux mises à jour lorsque des bugs sont
trouvés, aux moyens permettant aux utilisateurs de contacter le développeur, les droits d'auteurs, etc...
|
With the advent of the internet, a title as "releasing the software" certainly look ridiculous. Anyway, you
have to think about the fact that the development of a software product does not stops the day it's shipped. You
have to planned for updates when bugs are found, allow you users to contact you, how to deal with copyrights, and so on.
|
Outils de développement
|
Development tools
|
"Outils" au sens large. Cela inclu les outils qui servent a produire le code, a générer les ressources utilisées
dans le cadre du développement, les outils créés en parallele du code principal, toutes les librairies fournies par
des fournisseurs externes.
|
"Tools" includes all that's used to produce code, generate data, custom software created during the main project
development, third party libraries, and so on.
|