Analyse et Conception de Circuits Electroniques Assistées par Ordinateur (ACCEAO) est un logiciel de simulation de circuits électroniques conçu sous l’environnement MS-DOS. C’est un logiciel pédagogique, destiné à être utilisé par des étudiants des lycées techniques ou universitaires suivant des cours d’Électronique Analogique. En effet, par son utilisation, l’étudiant peut concrétiser les acquis de sa formation sur ordinateur. Le but du logiciel n’est pas de remplacer l’étudiant dans son travail mais de lui servir d’outil d’apprentissage et de recherche. Devant l’évolution de l’informatique actuellement, aussi bien dans le domaine matériel mais surtout au niveau logiciel, ACCEAO nécessite une maintenance adaptive vers le système d’exploitation Windows. Son algorithme de calcul a été redéfini pour s’adapter à sa nouvelle interface graphique. En effet, ACCEAO possède sa propre entité de calcul contrairement à d’autres logiciels de simulation électronique de type « student version » utilisant le noyau SPICE. Les bases scientifiques et théoriques qui ont servi à sa réalisation sont des cours dispensés dans le cursus de la filière Electronique de l’Ecole Supérieure Polytechnique d’Antananarivo. Les étapes de son développement sont effectuées en utilisant l’outil de développement C++ Builder version 6.0. Le choix de cet outil s’explique par la nécessité de portabilité du programme ainsi créé dans toutes les versions de Windows
PROGRAMMATION SOUS WINDOWS
Les systèmes d’exploitation MS-DOS et Windows
L’apparition au grand public des micro-ordinateurs en 1978 avec l’Apple et l’IBMPC, a débuté les différentes phases d’évolution des générations d’ordinateurs. Les OS des micro-ordinateurs ont suivi la même démarche avec, au début, les systèmes de monoprogrammation comme MS-DOS et MacOs pour évoluer vers les systèmes multitâches avec Windows et Linux. MS-DOS est le premier système d’exploitation de PC conçu par la société Microsoft au début des années 1980. Ce système fonctionne sur l’architecture 16 bits. Les limitations de MS-DOS portent sur plusieurs aspects. Tout d’abord, la taille maximale de la mémoire centrale qui peut être gérée est de 1 Mo. Le système est mono-utilisateur et mono-tâche (un seul programme peut s’exécuter en un instant donné). Il n’y a pas de protection mémoire ; une erreur d’exécution dans un programme peut donc bloquer le système. Les noms de fichiers sont limités à huit caractères, plus trois pour l’extension (caractérisation du type de fichier).
C’est au début des années 1990 qu’est apparue la première version de Windows. Contrairement au MS-DOS, ce nouveau système repose sur les plates-formes basées sur les principaux microprocesseurs équipant les PC du marché, aussi bien sur l’architecture 32 bits que sur l’architecture 64 bits toute récente. Ainsi, Windows est parti d’un OS primitif et spécifique à un PC pour intégrer au cours du temps les fonctionnalités d’un OS de multiprogrammation (avec processus, mémoire virtuelle, multitâches, préemptif, etc. …). L’interface de communication est intégrée dans le cœur même du système. Le mode console (interface en ligne de commande genre MS-DOS ou ligne de commande Linux) est présent mais est très peu utilisé, les fonctionnalités de base du système étant assurées par des processus fenêtrés. De ces changements, les développeurs de logiciels sont passés de l’écriture de programmes en mode console de MS-DOS à l’écriture de programmes pouvant interagir avec le système d’exploitation Windows.
Les langages de programmation
On attend d’un programme informatique :
● l’exactitude (réponse aux spécifications)
● l’extensibilité (aptitude à l’évolution)
● la réutilisabilité (utilisation de modules)
● la portabilité (support d’une autre implémentation)
● l’efficience (performance en termes de vitesse d’exécution et de consommation mémoire).
Pour répondre à ces exigences, la programmation algorithmique classique telle qu’on peut la connaître à travers des langages de programmation comme Pascal, C,… a cédé sa place à la programmation orientée objet.
Les langages structurés
Ces langages nécessitent la définition détaillée du code constituant du programme. Ils ont l’avantage d’être simple car leur utilisation ne nécessite pas l’apprentissage de l’outil de programmation. Ces langages reposent sur le principe de la programmation structurée (algorithmes+structures de données). Parmi les plus connus, on distingue le langage C, FORTRAN.
Les langages orientés objets
Les langages orientés objets sont des langages adaptés à la programmation orientée objet, type de programmation où chaque programme est considéré comme un ensemble d’objets distincts, ces objets constituant eux-mêmes des ensembles de structures de données et de procédures intégrées [1]. Dans de tels langages, chaque objet appartient à une classe qui définit les structures de données et les procédures associées à cet objet. Les langages orientés objets ont été développés pour faciliter l’écriture et améliorer la qualité des logiciels en termes de modularité. Un langage orienté objet sera livré avec une bibliothèque de classes. Le développeur utilise ces classes pour mettre au point ses logiciels.
Illustration : le langage C++
Le C++, langage orienté objet le plus utilisé a deux grands ancêtres. D’abord, Simula, dont la première version (Simula I) a été conçue en 1967 par Dahl, Mayrhaug et Nygaard à Oslo. C’est le premier langage qui introduit les principaux concepts de la programmation objet. Probablement parce qu’il était en avance sur son temps, il n’a pas connu à l’époque le succès qu’il aurait mérité, mais il a eu cependant une influence considérable sur l’évolution de la programmation objet.
Conçu d’abord à des fins de modélisation de systèmes physiques, en recherche nucléaire notamment, Simula I est devenu un langage spécialisé pour traiter des problèmes de simulation. Son nom fut changé en Simula en 1986. Comme son prédécesseur Simula I, Simula permet de traiter les problèmes de simulation. En particulier, un objet est considéré comme un programme actif autonome, pouvant communiquer et se synchroniser avec d’autres objets. C’est aussi un langage de programmation général, reprenant les constructions de la programmation modulaire introduites par Algol . Il y ajoute les notions de classe, d’héritage et autorise le masquage des méthodes, ce qui en fait un véritable langage à objets. Et évidemment, le langage C qui a été conçu en 1972 aux laboratoires Bell Labs est un langage structuré et modulaire, dans la philosophie générale de la famille Algol. Mais c’est aussi un langage proche du système, qui a notamment permis l’écriture et le portage du système Unix. Par conséquent, la programmation orientée système s’effectue de manière aisée en C, et on peut en particulier accéder directement aux fonctionnalités du noyau Unix.
Le langage C possède un jeu très riche d’opérateurs, ce qui permet l’accès à la quasi-totalité des ressources de la machine [2]. On peut par exemple faire de l’adressage indirect ou utiliser des opérateurs d’incrémentation ou de décalage. Il est aussi possible d’implanter une variable dans un registre. En conséquence, on peut écrire des programmes presque aussi efficaces qu’en langage d’assemblage, tout en programmant de manière structurée.
Le concepteur de C++, Bjarne Stroustrup, qui travaillait également aux Bell Labs, désirait ajouter au langage C les classes de Simula. Après plusieurs versions préliminaires, le langage a trouvé une première forme stable en 1983, et a très rapidement connu un vif succès dans le monde industriel. C++ peut être considéré comme un successeur de C. Tout en gardant les points forts de ce langage, il corrige certains points faibles et permet l’abstraction de données. De plus, il permet la programmation objet .
Les outils de développement pour C++
L’utilisation du C++ dans le développement d’application est actuellement facilitée par l’existence des logiciels spécifiés [3]. Parmi eux, on distingue les produits Borland tels que le Borland C++ et le C++ Builder. La différence principale entre les deux est que C++ Builder permet la conception d’une application Windows (interface fenêtrée) ; Or Borland C++ (au dessous de la version 4.0) n’offre qu’une application en mode console. On a donc choisi C++ Builder comme logiciel de développement.
|
Table des matières
INTRODUCTION
Chapitre 1. PROGRAMMATION SOUS WINDOWS
1.1. LES SYSTEMES D’EXPLOITATION MS-DOS ET WINDOWS
1.2. LES LANGAGES DE PROGRAMMATION
a) Les langages structurés
b) Les langages orientés objets
1.3. INTRODUCTION A C++ BUILDER 6
1.4. ENREGISTREMENT DES DONNEES SOUS WINDOWS
a) Les fichiers
b) Les vecteurs
Chapitre 2. LE LOGICIEL ACCEAO
2.1. HISTORIQUE
2.2. ARCHITECTURE DE ACCEAO SOUS DOS
2.3. VUE GENERALE DE L’INTERFACE DE LA DERNIERE VERSION SOUS DOS
2.4. LE LOGICIEL ACCEAO FACE A L’EVOLUTION
Chapitre 3. RESTRUCTURATION DE L’ALGORITHME DE CALCUL DE ACCEAO
3.1. LA FONCTION : ANALYSE_NOEUDS
3.2. ANALYSE D’UN CIRCUIT EN REGIME PERMANENT
3.3. LA FONCTION : ANALYSE_MF
3.4. LA FONCTION : ANALYSE_TRANSITOIRE
3.5. MISE EN PLACE D’UN PROGRAMME D’INSTALLATION POUR ACCEAO
Chapitre 4. UTILISATION DU LOGICIEL ACCEAO 5.0
4.1. LANCEMENT DU PROGRAMME
a) Les menus
b) Le menu Fichier
c) Le menu Analyse
d) Le menu Aide
4.2. LA BIBLIOTHEQUE DE COMPOSANTS
4.3. MANIPULATION GENERALE
a) Etapes de schématisation d’un circuit
b) Les analyses disponibles pour un circuit et l’affichage des résultats
c) Les sauvegardes
4.4. LA BIBLIOTHEQUE POUR LES ELEMENTS ACTIFS
a) Ajouter un élément
b) Effacer un élément
c) Editer l’élément sélectionné
4.5. INSTALLATION DU LOGICIEL
CONCLUSION
ANNEXE 1 : MAINTENANCE DE LOGICIEL
ANNEXE 2 : EXEMPLE DE DATASHEET
REFERENCES