L'objectif majeur de Créalie est de constituer un partenaire technique fort pour les industriels intégrant du logiciel dans leurs produits, par une bonne maîtrise technique de cette technologie et par une parfaite collaboration avec les équipes des clients.


Les méthodes de développement, le génie logiciel

L'expérience montre que l'application de méthodes, quelles qu'elles soient, demande une pondération difficile à établir entre "trop de méthode" et "pas assez de méthode", les deux conduisant à des surcoûts, des dépassements de délais et des résultats insatisfaisants. Par l'expérience acquise sur de nombreux projets, Créalie propose à ses clients le bon compromis permettant d'assurer la qualité nécessaire aux logiciels développés sans nuire à la productivité des équipes. Créalie met en oeuvre et renforce les méthodes préconisées par le client de manière efficace.


L'importance de la conception

La conception du logiciel est un aspect souvent mal maîtrisé, par méconnaissance des références méthodologiques adaptées au logiciel enfoui et temps-réel. Créalie, par le soin apporté à cet aspect des projets, contribue à améliorer grandement la qualité, l'évolutivité et la réutilisabilité des logiciels développés. Ce travail s'appuie sur des méthodes de conception structurée (SD/RT) ou orientée objet (UML), suivant le contexte du projet.



Le maquettage, l'intégration progressive

L'approche de réalisation préconisée par Créalie conduit à développer très tôt une maquette préfigurant le logiciel final, sous forme d'un sous-ensemble volontairement réduit.Il s'agit du "squelette" du logiciel, constitué par la matérialisation de son architecture, dans une version dont la majorité des modules sont vides ou simulés empiriquement. L'ensemble des tâches et des modules sont présents, mais seuls les modules de plus haut niveau sont codés réellement afin de rendre "vivante" cette structure minimale. Les autres modules sont implémentés de façon très partielle. Leur corps ne comporte que l'appel aux modules inférieurs et l'affectation de valeurs arbitraires aux paramètres de retour. Les modules de bas niveau sont remplacés par des "bouchons" simulant grossièrement les entrées/sorties.

Ce sous-ensemble sera ensuite enrichi progressivement pour se rapprocher du logiciel complet. Cette approche contribue fortement au succès de la phase d'intégration.



Les processeurs, les réseaux

Les micro-processeurs ou micro-contrôleurs utilisés pour le logiciel enfoui présentent une diversité étonnante. Longtemps cantonné aux "petits processeurs" 4 ou 8 bits, le logiciel enfoui doit faire face à une montée en puissance très forte. Les architectures RISC 32 ou 64 bits ne sont plus si rares à présent. Les réseaux se généralisent également avec CAN et USB par exemple. Créalie ne privilégie pas une de ces architectures ou un de ces réseaux. Grâce à une bonne maîtrise des technologies sous-jacentes et à la synergie entre ses ingénieurs, Créalie tire le meilleur parti des choix faits par le client ou le guide dans ses orientations.



Les outils


Le logiciel enfoui a longtemps souffert du manque d'outils d'aide au développement. Cette situation a tendance à s'améliorer sous la poussée très concurrentielle de ce marché dont la diversité tranche avec d'autres domaines de l'informatique... Créalie maîtrise les principaux types d'outils et sait mettre en oeuvre efficacement ceux que le client a choisi ou lui permet d'en découvrir de nouveaux. Cela concerne aussi bien les OS temps réel que des outils d'aide au développement (compilateurs croisés, émulateurs, débogueurs, gestion de configuration,...).


Les tests, la validation


Ces aspects sont souvent les "mal aimés" des projets. Peu de gens s'y intéressent réellement. Pourtant, de nombreuses possibilités existent pour améliorer l'efficacité et la productivité des projets en soignant les tests, l'intégration et la validation. Créalie propose :
    • la mise en place d'une politique rigoureuse de tests unitaires, véritable clé de l'intégration,
    • la mise en oeuvre des moyens de tests disponibles dans l'entreprise et des préconisations sur des outils complémentaires existant dans le commerce ou à développer,
    • la définition d'un plan de validation ayant pour but de vérifier en détail que le logiciel répond en toutes circonstances aux attentes du client,
    • l'écriture de cahiers de recette.