Introduction au .NET

Introduction au .NET

Présentation des différentes méthodes pour traiter le problème

Les méthodes de travail permettant de résoudre le problème Nous n’avions jamais travaillé sur d’aussi grands projets, et encore moins avec autant de données à stocker et traiter dans des bases de données. Il a donc fallu établir une solide méthode de travail pour réaliser le projet. Pendant les quelques premières lignes de codes, peu liées au sujet, qui nous ont permis de tester les capacités et les limites du langage utilisé, nous avons tout mis en œuvre afin d’apprendre le maximum d’informations sur le sujet à traiter. Cette période, qui a été très longue, nous a vraiment formé sur la culture d’ananas et à toutes les notions qu’elle comporte. En effet, il est essentiel d’avoir ces connaissances sur le sujet : la maitrise du vocabulaire, des concepts, dans le but de faciliter la communication.
Le cahier des charges du projet a finalement été l’ensemble composé par l’application existante, la formation complète à toutes les fonctionnalités qu’elle comportait, ainsi que la compréhension de tout le processus sur le terrain comme sur les listes de taches. Tout au long du projet les échanges avec l’employeur permettent de perfectionner encore plus ces directives, et de comprendre encore mieux le besoin qui doit être satisfait. Après avoir bien compris le contexte du logiciel, il faut se pencher sur l’élaboration d’une base de données répondant au mieux au besoin, en prenant soin d’optimiser la manière dont seraient enregistrées les données, puisque leur grand nombre mettrait à rude épreuve les services de base de données. Il existe plusieurs méthodes de modélisation de base de données (MERISE, UML, JACKSON,…) :
• Pendant cette phase il est important d’apprendre comment et pourquoi l’employeur a utilisé telle ou telle table, ainsi que chacun des champs qu’elle contient. ◦ Les explications verbales sont claires mais des informations sont oubliées. ◦ Les schémas informatisés sont complets mais parfois peu parlants.  ◦ Les notes des précédents développeurs, permettant de conforter les idées des différents partis. • Il est important de toujours réfléchir en équipe sur la base de données, afin que l’avis soit partagé, cela permet d’éviter les modifications intempestives de la base. Un fois la base de données terminée, avant de commencer le développement à proprement dit, il est nécessaire de découper le projet en plusieurs parties, et établir un plan de travail : d’une part pour mieux répartir les taches entre les membres du groupe, d’autre part pour mieux diriger le fil conducteur du projet, et faire en sorte de bien suivre l’idée du départ, idée qui a été bien réfléchie lors de l’étude de l’existant. Pendant la phase de développement, il est intéressant d’écrire les fonctions sous forme algorithmique (ou pseudo-langage), afin qu’il soit plus facile de transcrite le logiciel, peu importe le langage cible. A cette étape du développement, c’est le moment de coder, étape qui consiste à réécrire l’algorithme en C#.NET (dans notre cas), et à tester l’application pendant les différentes étapes de l’écriture (ce qui permet de suivre l’avancement des fonctionnalités ainsi que de veiller à garder la fonctionnalité de l’application).
Comme cité plus haut, l’algorithme est une étape dans le développement du logiciel. Par définition, l’algorithme est une suite d’actions et de conditions qui définissent le comportement des éléments entre eux, et envers l’utilisateur. Un algorithme peut être défini par trois scénarios : • Séquence : exécution d’instructions les unes après les autres. • Condition : Exécuter une opération plutôt qu’une autre, en fonction d’une condition définie. • Répétition : Effectuer la même opération un nombre déterminé ou indéterminé de fois. Le site OSNews.com a fait une étude sur les performances d’exécution de différents codes avec les langages de programmations connus. On peut constater sur le graphique ci dessous que les langages .NET tirent leur épingle du jeu, et le C# est même très bien placé, derrière le C++ qui est le langage le plus proche de la machine. Les langages .NET apportent de nombreuses améliorations par rapport aux versions précédentes telles que Visual Basic. En effet le .NET prend en charge les héritages entre les objets, les constructeurs, les surcharges de méthodes, la gestion avancée des exceptions, des threads, la présence de code managé, ainsi que de nombreuses autres fonctionnalités. Au niveau de l’environnement de développement, la plateforme Visual Studio est de loin la plus complète, et offre une panoplie d’outils tels que le concepteur visuel, XML, l’explorateur de serveur, des outils de création pour le déploiement, de métrologie du code, de mesure de performance, de test unitaire, et plus récemment du développement collaboratif. Le Framework .NET offre ainsi de nombreux outils permettant la rédaction plus rapide de code, tout en écrivant moins de lignes. En effet de nombreuses méthodes intégrées au Framework permettent un traitement rapide des données, avec un code optimisé : par exemple les méthodes de tri, de recherche et de sélection, de conversion… Ce sont des inconvénients du C++ que le C# résout grâce au Framework. De nombreuses modifications ont été apportées sur les différents contrôles utilisateur, de façon à généraliser les propriétés, tout en gardant la puissance d’une union des propriétés et des méthodes, au sein d’un « objet ». Une des contraintes du C# est qu’il est nécessaire de faire appel à l’objet et à la propriété voulue pour y avoir accès, alors qu’en VB6 il était possible d’avoir la propriété par défaut en appelant juste le nom du contrôle. Mais Le code devient en C# beaucoup plus strict et donc plus lisible. Le C# est finalement du code C++ (C orienté-objet), avec tous les avantages du C, et avec toutes les facilités et les aides qu’a apporté le Framework .NET. •l’apparition de ADO.NET et Entity Framework pour l’accès aux données • GDI+ pour le traitement graphique (GDI simple pour VB6) • Certaines notions en terme de graphique ont disparu à cause de la nouvelle approche objet • Le presse papier supporte de nombreux formats • Le travail multithread est possible, avec le contrôle, la communication et l’interaction entre les threads • Le polymorphisme, les surcharges, l’héritage sont présents et applicables aux objets • Les méthodes doivent obligatoirement être suivies de parenthèses (plus de confusion avec les variables) • Les méthodes peuvent renvoyer des variables de tout type avec le mot clé Return. • Les contrôles ne peuvent plus être groupés mais sont contenus dans des GroupBox ou Panels • Certains contrôles ont bien été dissociés pour une meilleur utilisation. • Contraintes positives du C : on ne peut plus changer de type de variable en cours de route. • Chaque variable doit être explicitement déclarée pour être utilisable. • Toute variable de base est de type « object » par défaut (« variant » en VB6).
• Apparition de collections, listes, utilisées aussi dans les contrôles comme Listbox, Listview, offrant une meilleure gestion de la mémoire, notamment lorsque le nombre d’éléments change. • Les nombres Entiers (Int) sont désormais enregistrés sur 32 bits, et les Longs sur 64 bits. • L’utilisation de booléens ne se fait plus qu’avec les mots clés True et False (chiffres 0 et 1 autorisés en VB6).  La déclaration de plusieurs variables pour un seul type est désormais possible : ◦ en VB6, « Dim a, b, c as Integer » déclare a et b en variant, et c comme entier. ◦ En C#.NET « int a, b, c; » déclare a, b et c comme des entiers. • Un type string n’a désormais plus de taille fixe en mémoire. • La portée d’utilisation d’une variable peut désormais être restreinte à un bloc.

L’approche Objet

L’objectif du projet a été de repenser l’application entièrement, pour que le fonctionnement global exigé soit entièrement basé sur l’approche orienté-objet, afin que l’utilisation du langage C#.NET soit optimisée (il faut tirer le meilleur parti possible des possibilités offertes). Programmer en orienté-objet signifie utiliser un maximum de classes pour gérer les informations en mémoire, pendant le développement. Il n’est pas évident pour un développeur n’ayant jamais développé en objet de le faire, il est donc important de bien se documenter sur Internet et de s’entrainer sur des sujets simples, ou de petits projets. Les cours SUPINFO notamment en XNA (jeux vidéos en C#.NET) m’ont permis de vraiment comprendre l’intérêt et l’utilisation des objets, c’était finalement le moyen le plus concret de « voir » un objet, puisque la plupart des « objets code » étaient finalement visuellement des « objets du jeu ». Ainsi quand on codait une voiture dans les sources du jeu, on voyait bien une voiture à l’écran, avec les propriétés et les actions qu’on avait nous-mêmes écrites dans le code. C’est à partir d’une vision concrète et réelle des objets qu’il devient simple et évident de coder des objets dans tout logiciel, même aux endroits où les objets n’ont plus de forme réelle. Le travail abstrait devient simple.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Table des matières
Remerciements
Résumé
Table des matières
Introduction
Présentation de la société
La société
Chiffres clés
Fonctions, structure et organisation
Fonctions dans la société
Hiérarchie de la société
L’équipe
Système d’information et environnement technique
Énoncé du problème 
Description du contexte
Explication du choix du sujet 
Présentation des différentes méthodes pour traiter le problème
Les méthodes de travail permettant de résoudre le problème
Différences entre VB6 et C#.NET
L’approche Objet
Explication des méthodes retenues pour résoudre le problème
Introduction au .NET
Introduction au C#.NET
SQL Server
Entity Framework
Flux de données : les fichiers
Rapports de données
Démonstration de l’originalité de l’approche
Règles de programmation
Benjamin METRO – 58861 www.supinfo.com 5 /
2009-2010 Mémoire de fin d’études M2
Optimisation du code
Déploiement 
Conditions d’application de l’approche présentée 
Conclusion
Références

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

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