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 *