ELABORATION D’UN LOGICIEL MODELISANT LE THEOREME DE MILLMAN

ELABORATION D’UN LOGICIEL MODELISANT
LE THEOREME DE MILLMAN

Evolution des langages de programmations orientés objets 

Quand on parle de langage de programmation, on ne peut se passer du langage C qui a été succédé par le C++. 15 En 1967, Dahl, Mayrhaug et Nygaard ont conçues à Oslo un langage de programmation appelé Simula I qui est la première version de Simula, qui lui est le premier langage introduisant les principaux concepts de la programmation objets. En son temps, ce langage était en avance mais malgré qu’il soit le premier introduisant les principaux concepts de la programmation objets, il n’a pas eu le succès qu’il aurait mérité. Cependant, son influence n’était pas négligeable sur l’évolution de la programmation objet. Au début, Simula I a été conçu pour modéliser des systèmes physiques, notamment sur la recherche nucléaire puis il est devenu un langage spécialisé pour le traitement des problèmes de simulation. Le nom de Simula a été donné à Simula I en 1986 suivant l’évolution qui ont été apporté à ce dernier. Tout comme Simula I, Simula permet la résolution des problèmes de simulation. Le principe de la programmation objets fait qu’un objet est considéré comme étant un programme actif libre pouvant se synchroniser et communiquer avec d’autres objets. Simula, lui c’est aussi un langage de programmation générale reprenant les constructions de la programmation modulaire mais ne limite pas à la résolution des problèmes de simulation. Simula contient les notions de classe, d’héritage mais aussi, il permet de masquer des méthodes, c’est ce qui fait de lui un langage parfaitement orienté objet. Le langage C, lui, a été conçu en 1972 aux laboratoires Bell Labs. C’est un langage structuré et modulaire se classant dans la philosophie générale de la famille Algol. Mais aussi, c’est surtout un langage proche du système qui a particulièrement permis l’écriture et le portage du système Unix. Pour cela la programmation orienté système s’avère plus facile en C, on peut notamment avoir accès aux fonctionnalités du noyau Unix. En plus, il possède un jeu très riche d’opérateurs permettant l’accès presque à toute la totalité des ressources de la machine [4]. Par exemple, on peut faire indirectement de l’adressage, utiliser des opérateurs d’incrémentation ou de décalage. L’implémentation d’une variable dans un registre est aussi possible. Par conséquent, on peut écrire des programmes quasi-efficaces qu’en langage d’assemblage tout en élaborant des programmes structurés. Après le langage C, un certain Bjarne Stroustrup, qui lui aussi travaillait aux laboratoires Bell Labs, voulait ajouter ou apporter les classes de Simula au langage C. Le nouveau langage c’est-à-dire le langage C ajouté des classes de Simula se nomme C++. Plusieurs versions préliminaires ont été conçues mais c’est en 1983 que le langage C++ a connu sa première version stable et puis rapidement, il a connu un grand succès dans le monde industriel. C++ est considéré comme étant le successeur du langage C tout en gardant le point fort de celui-ci, il corrige certain point faible mais aussi il permet l’abstraction des données. De plus ce langage permet la programmation objet. Mais en parallèle par rapport à C++, il y a un langage très connu et qui a connu surtout de succès considérable pour le développement d’application par objet : c’est le langage de programmation Java. Java est un langage de programmation issu d’Oak (langage de programmation créé en 1990 par Sun par une équipe baptisée « code Green ».) Oak a connu un certain échec avant d’être modifié et adapté, puis rebaptisé Java avec le succès qu’on lui connait. Java a été alors crée par la société Sun Microsystems. Il est orienté réseau et objet et sa syntaxe est dérivée de celle de C++. Son avantage est d’être entièrement portable ce qui veut dire multi plate-forme et une des raisons de son succès est sa possibilité d’insertion au sein d’un document HTML sous forme d’applet ou « Appliquettes » en français par le biais d’une JVM, moyennant une politique de sécurité assez stricte. Il faut noter que Java n’a rien avoir avec JavaScript qui est un petit langage utilisé sur les sites web permettant d’interagir les pages web avec les applets java c’est-à-dire que Java n’est pas JavaScript. On peut développer sans problème une application serveur à l’aide du langage de programmation Java. 

Les outils de développement pour Java

 Plusieurs outils permettent le développement d’une application java vu la que ce langage est très utilisé actuellement, mais aussi à cause de sa force incontournable en terme de portabilité. Qu’on soit sur Linux, Mac ou encore Windows, le développement d’une application java est toujours possible. Généralement, le logiciel la plus utilisé pour créer un programme java est l’Eclipse et c’est celui que j’ai choisi pour la réalisation de mon projet. Mais il existe bien d’autre logiciel permettant de développer en java à savoir, JBuilder qui est surtout utilisé pour le développement à grande échelle, pour les projets d’entreprise, … A part JBuilder, il y a aussi NetBeans, tout comme Eclipse, NetBeans a été créé par la société Sun Microsystems. On distingue aussi JCreator, IntelliJ, JDeveloper, etc., comme outil de développement Java. 

Présentation de l’Eclipse 3.3 

Eclipse est un environnement de développement pour un programme java. Il a été développé par Sun Microsystems [6]. Suivant l’évolution des langages orientés objets, la société Sun Microsystems a développé Eclipse pour qu’il soit un outil bien adapter à la réalisation des projets objets. A cette cause, plusieurs développeurs s’intéressent beaucoup au langage java. Eclipse est un outil tourné vers le développement rapide d’application ou RAD sous Windows. Pour tout dire, Eclipse permet de réaliser de l’interface graphique pour les applications ainsi que l’interaction entre le code utilisateur et les évènements Windows, tel que souris, clavier, événement système etc. Mais la technologie RAD ne s’applique qu’au squelette ou à l’interface d’une application. Toute la partie spécifique du projet reste alors comme étant la charge du programmeur. Pour y remédier, Eclipse intègre une bibliothèque contentant de nombreuses classes pouvant être implémenté pendant la programmation. Cette bibliothèque contient presque toutes les classes destinées pour les contrôles de Windows comme les boutons, boites de saisie, boites de dialogue, listes déroulantes, menus et bien d’autres outils. Certains de ces outils peuvent être modifiés selon les privilèges qu’ils avaient depuis le début. Il faut noter qu’on n’est pas limité à utiliser les classes qui sont par défaut mais on peut ajouter à l’environnement de base des classes modélisant des objets ce qui fait de ce langage un langage réellement objet

Table des matières

NOTATIONS
INTRODUCTION
CHAPITRE 1 CAHIER DES CHARGES
1.1 Rédaction d’un cahier de charge
1.1.1 Introduction : les grands principes
1.1.1.1 Place du cahier des charges dans un projet
1.1.1.2 Choisir entre deux approches
1.1.1.3 Le cas de l’appel d’offres
1.1.2 Contenu : positionnement et objectifs du projet
1.1.2.1 Description générale du projet
1.1.2.2 Objet du marché
1.1.2.3 Description des processus informatiques et non informatiques
1.1.3 Contenu : spécifications applicatives
1.1.4 Contenu : spécifications techniques
1.1.5 Contenu : spécifications de réalisation
1.1.5.1 Les contraintes du demandeur
1.1.5.2 Les points à définir
1.1.6 Spécifications administratives
1.1.7 Spécifications d’évaluation
1.1.8 Evaluation des réponses
1.1.8.1 Evaluation administrative
1.1.8.2 Evaluation technique
1.1.8.3 Evaluation des risques.
1.1.8.4 Evaluation globale
1.2 Cahier des charges pour le logiciel TMN
1.2.1 Objectif.
1.2.2 Resource requises
1.2.2.1 Ressources matérielles
1.2.2.2 Ressource humaine
1.2.3 Planification
1.2.4 Evaluation
1.2.5 Méthode de contrôle
CHAPITRE 2 PROGRAMMATION SOUS WINDOWS
2.1 L’évolution du système d’exploitation Windows
2.2 Les langages de programmations
2.2.1 Les langages structurés
2.2.2 Les langages orientés objets .
2.2.3 Evolution des langages de programmations orientés objets
2.3 Les outils de développement pour Java .
2.4 Présentation de l’Eclipse 3.3
2.4.1 Création d’une simple application sur Eclipse.
2.5 Les threads
2.5.1 Création d’un thread par sous classement de la classe Thread
2.5.2 Création d’un thread par l’implémentation de l’interface Runnable .
2.5.3 Synchronisation et communication entre threads
2.5.3.1 Sections critiques et synchronisation .
2.5.3.2 Communication entre threads
2.6 Conclusion .
CHAPITRE 3 DEMARCHE DE CONCEPTION ET DE DEVELOPPEMENT
D’APPLICATIONS
3.1 Bien concevoir ses classes.
3.1.1 Recherche d’un couplage faible .
3.1.2 Recherche d’une cohésion forte .
3.1.3 Utilisation autant que possible de l’encapsulation .
3.1.4 Adoption d’une conception dirigée par les responsabilités
3.1.5 Empêchement de la présence de duplication de code
3.1.6 Utilisation de l’héritage à bon escient
3.1.7 Maitriser la taille et la complexité
3.1.8 Rendre facile les changements localisés
3.2 Structure d’une application interactive : le modèle MVC .
3.2.1 Le Modèle
3.2.2 La Vue
3.2.3 Le Contrôleur .
3.2.4 Un exemple de code source pour le modèle MVC
3.3 Tests unitaires
3.3.1 Définitions
3.4 JUnit
3.4.1 Un exemple de cas de test
3.5 Java Beans.
3.5.1 Définition
3.5.2 Caractéristiques
3.5.3 Exemple de Java Bean
3.6 Conclusion
CHAPITRE 4 RESEAUX LINEAIRES
4.1 Définition
4.2 Réseau en régime permanent
4.2.1 Méthode générale de résolution .
4.2.2 Equations pour les nœuds.
4.2.3 Equations concernant les mailles
4.2.4 Résolution du système
4.2.4.1 Remarque
4.2.5 Méthode générale .
4.2.5.1 Remarque
4.2.5.2 Résolution par la méthode de Kramer
4.2.6 Méthode par substitution
4.2.7 Théorème de Millman
4.2.7.1 Définition
4.2.7.2 Enoncé
4.2.7.3 Illustrations de l’énoncé par une figure.
4.2.7.4 Cas particulier
4.2.8 Théorème de superposition
4.2.8.1 Remarque
4.2.9 Théorème de Thévenin.
4.2.9.1 Méthode de détermination du générateur de Thévenin
4.2.9.2 Synthèse sur le théorème de Thévenin
4.2.10 Théorème de Norton.
4.2.10.1 Méthode de détermination du courant et de la résistance de Norton.
4.2.10.2 Synthèse sur le théorème de Norton
4.3 Conclusion .
CHAPITRE 5 LE LOGICIEL TMN
5.1 Lancement du programme
5.1.1 Les menus.
5.1.1.1 Le menu Fichier
5.1.1.2 Le menu A propos
5.1.2 La barre d’outils.
5.2 Manipulation générales
5.2.1 Placer les résistances
5.2.2 Placer les générateurs
5.2.3 Lier les composants
5.2.3.1 Le cas du bouton Lecture seule
5.3 Perspectives du projet
5.3.1 Avantages
5.3.2 Inconvénients
5.4 Conclusion
CONCLUSIO
ANNEXE 1 REALISATION D’UN FICHIER JAR EXECUTABL
ANNEXE 2 MAINTENANCE D’UNE APPLICATION OU D’UN LOGICIEL
BIBLIOGRAPHIE
FICHE DE RENSEIGNEMEN
RESUME.

projet fin d'etude

Télécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *