Objectifs du cours: CSI1502 Introduction au génie logiciel. Rappel: Prérequis supposés connus. Que est-ce que la modélisation de problème?

Documents pareils
Programmer en JAVA. par Tama

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

TP1 : Initiation à Java et Eclipse

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

PROGRAMMATION PAR OBJETS

Java Licence Professionnelle CISII,

Évaluation et implémentation des langages

Plan du cours. Historique du langage Nouveautés de Java 7

Une introduction à Java

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

as Architecture des Systèmes d Information

INITIATION AU LANGAGE JAVA

Introduction au langage C

Cours 1: Java et les objets

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INF 321 : mémento de la syntaxe de Java

COMPARAISONDESLANGAGESC, C++, JAVA ET

Chapitre I Notions de base et outils de travail

Derrière toi Une machine virtuelle!


Introduction au langage Java

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Généralités sur le Langage Java et éléments syntaxiques.

Synchro et Threads Java TM

Environnements de développement (intégrés)

Algorithmique et Programmation, IMA

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Auto-évaluation Programmation en Java

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Programmation en Java IUT GEII (MC-II1) 1

Programmation Par Objets

ACTIVITÉ DE PROGRAMMATION

Langage Java. Classe de première SI

Notions fondamentales du langage C# Version 1.0

Java Licence Professionnelle CISII,

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Corrigé des exercices sur les références

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Programmation Objet Java Correction

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Architecture Orientée Service, JSON et API REST

Arbres binaires de recherche

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Programmation C. Apprendre à développer des programmes simples dans le langage C

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

LOG4430 : Architecture logicielle et conception avancée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

TP1 : Initiation à Java et Eclipse

Cours d Algorithmique et de Langage C v 3.0

Chapitre 10. Les interfaces Comparable et Comparator 1

Remote Method Invocation en Java (RMI)

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation (RMI)

Java c est quoi? Java pourquoi?

Développement Logiciel

TP1. Outils Java Eléments de correction

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Initiation à JAVA et à la programmation objet.

Eclipse atelier Java

UE Programmation Impérative Licence 2ème Année

L informatique en BCPST

Flux de données Lecture/Ecriture Fichiers

Package Java.util Classe générique

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Environnements de développement (intégrés)

Programmation Orientée Objets Le Langage JAVA

Dis papa, c est quoi un bus logiciel réparti?

Utilisation d objets : String et ArrayList

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Les structures. Chapitre 3

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Utiliser Java sans BlueJ

Cours 1 : La compilation

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Algorithmique et programmation : les bases (VBA) Corrigé

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Cours 1 : Qu est-ce que la programmation?

La carte à puce. Jean-Philippe Babau

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Gestion mémoire et Représentation intermédiaire

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Programmation en langage C

Programmation Orientée Objet

Un ordonnanceur stupide

Support de cours et TD Programmation Orientée Objet

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Programme Compte bancaire (code)

Création d une application JEE

La technologie Java Card TM

Transcription:

CSI1502 Introduction au génie logiciel Chapitre 1: Introduction aux systèmes informatiques Objectifs du cours: Comprendre les enjeux de la modélisation de problèmes. Voir en quoi les capacités de modélisation sont cruciales. Décrire les différents niveaux de conceptualisation lors de la programmation. Comprendre un premier programme Java et ses structures élémentaires. Sources: Les sections 1.3 à 1.5 du livre de cours. Rappel: Prérequis supposés connus. Modéliser un problème avec un langage de programmation. Concepts informatiques de base. Les composants matériels de l ordinateur: CPU, I/O, mémoire principale / secondaire. Ordinateurs numériques et nombres binaires. Reseaux: Connexions réseaux. LAN, WAN Internet Le Web Si le besoin se fait sentir, veuillez lire les sections 1.0 à 1.2 du livre de cours. Supposer que nous ayons un problème à résoudre. Nous décidons de concevoir et implémenter un programme informatique pour le résoudre. Nous nous appuyons sur un langage informatique pour réaliser le programme. Rappelez- vous votre cours GNG1101. Modéliser un problème avec un langage de programmation. Un language de programmation spécifie les mots et symboles disponibles pour écrire un programme. Un language de programmation utilise un ensemble de règles définissant l élaboration d instructions de programmation valides à partir des symboles et mots disponibles. Exemples de languages de programmation: Fortran, Cobol, C++, C, Delphi, Pascal, Smalltalk, JAVA. Que est-ce que la modélisation de problème? Dans notre cas il s agit d écrire un programmation résolvant le problème. Les étapes principales en sont les suivantes: Comprendre le problème. Décomposer le problème en sous problèmes plus simples. Elaborer une solution. Considérer des solutions alternatives et les affiner. Implémenter la solution retenue. Tester la solution et en résoudre les problèmes (bogues). 1

Approche: «Diviser pour régner» Plusieurs projets logiciels échouent par manque de compréhension du problème. Eviter les suppositions et expliciter les ambiguïtés! Quand les problèmes deviennent compliquer, il faut s efforcer de les décomposer en sousproblèmes plus simples: «Diviser pour régner». Techniques fondamentale en génie logiciel. Différents niveaux de conceptualisation / programmation Il y a 4 niveaux de programmation: Langage machine. Langage assembleur. Langage de haut niveau. Langage de 4 ème génération. Chaque type de CPU a son propre langage machine. Les langages supérieurs ont été créés afin de faciliter l écriture et la lecture de programmes. Une modélisation orientée-objet Développement ordinaire d un programme: On organise notre solution en entités appelées classes et objets. Ceci est en soi une appoche «orientée-objet». «Si vous désirez manger un éléphant, prenez une bouchée à la fois!» Ecriture, sauvegarde du programme Compilation erreurs erreurs Exécution et évaluation des résultats Résolution de problème à l aide de Java Le langage Java a été créé par Sun Microsystems, Inc. Il a été présenté en 1995 et sa popularité a grandi depuis. C est un langage orienté-objet. Structure d un programme Java En Java: Un programme se compose d une ou plusieurs classes. Une classe contient une ou plusieurs méthodes. Une méthode contient une ou plusieurs instructions. Ces termes seront présentés tout au long du cours. Un programme Java contient toujours une méthode main. Voir Lincoln.java (page 30) 2

Structure d un programme Java // Commentaires sur la classe. public class MyProgram { // nom de la classe // Corps de la classe entre accolades. // Les commentaires peuvent être placés entre accolades. Structure d un programme Java // Commentaires sur la classe. public class MyProgram { public static void main(string [] argv) // déclaration de la méthode { // Corps de la méthode entre accolades. Un example simple en Java: // Exemple de programme Java: public class Hello { //--------------------- // Tâche: imprimer «Hello World» // public static void main(string []argv) { System.out.println( Hello World ); Langages de programmation: Composants de base: Commentaires Noms (mots- clé) Symboles ( i.e <,>,=, etc ) Syntaxe et règles sémantiques Erreurs Qu est-ce qu un commentaire? Les commentaires d un programme peuvent être considérés comme documentation en ligne. Ils ont pour but d expliquer le but d une portion de code. Ils n ont pas d effet sur le programme. Il peuvent être déclarer sous 3 formes: // Ceci est un commentaire sur une ligne. /* Ceci */ est commentaire sur plusieurs lignes. /** Ceci est un commentaire pour la documentation Java */ L importance des commentaires Expliquent: QUI, QUOI, COMMENT, PAR QUI. Très utiles pour la réutilisation du code: Pour comprendre un code une année plus tard Pour améliorer la productivité du programmeur. Il faut les écrire au fûr et à mesure du dévelopement! 3

Que sont les noms? Les noms sont les mots utilisés par le programmeur. Parfois ils sont choisis par le programmeur (exemple: Lincoln). D autres fois nous réutilisons un code et utilisons donc des noms définis par d autres programmeurs (println). Les noms en Java Un nom peut être composé de lettres, chiffres, des caractères _ et $. Les noms ne peuvent commencer par un chiffre. Java est sensible à la casse: Total, total, et TOTAL sont considérés comme différents. Par convention, les programmeurs utilisent: Des noms commençant avec une majuscule pour les noms de classe - Total Des noms commençant avec une minuscule pour les objets - totaldesstocks Des noms tout en majuscules pour les constantes - TOTAL. Que sont les mots-clé? Certains noms ont une signification propre dans le langage de programmation. Ce sont des mots-clé. En aucun cas leur signification ne peut être changée. i.e if (temp < 30) then Mots-clé de Java: abstract boolean break byte case catch char class const continue default do double else extends final finally float for future generic goto if implements import inner instanceof int interface long native new null operator outer package private protected public rest return short static super switch synchronized this throw throws transient try var void volatile while Syntaxe et règle sémantiques Les règles de syntaxe d un langage définissent la manière dont sont assemblés les mots. i.e if (height > tallest) then { tallest = height; Les règles de sémantique d un langage définissent le sens des mots, leur rôle. Le bout de code précédent déterminait la personne la plus grande. Syntaxe et sémantique Un programme syntaxiquement correct n est pas forcément sémantiquement / logiquement correct. Un programme n effectue que ce que nous lui disons de faire et non pas ce que nous souhaiterions qu il fasse!!! Une erreur classique: inégalités incorrectes. i.e (height > tallest) au lieu de (height >= tallest) 4

Que sont les espaces? Un programme illisible Les caractères espace, lignes sautées, tabulations sont dénommés espaces. Ils sont utilisés pour séparer les mots du programme. Les caractères espace supplémentaires sont ignorés. Un programme Java peut être mis en forme de différentes manières. Les programmes DOIVENT être MIS EN FORME (indentation) pour améliorer la lisibilité!!! Voir Lincoln2.java page 37. Voir Lincoln3.java page 38. public class d42_svvezpublic static void main(string []abvfue){ System.out.println( Hello World ); Interprétation du langage de programmation L interprétation en Java Un programme doit être traduit en langage machine pour pouvoir être exécuté par un CPU. Ceci peut se faire de plusieurs manières. Un compilateur est un outil portant un langage de programmation en un langage cible. Souvent les langages cibles sont des langages machine propres à certains CPU Java fonctionne différemment. Code source Java Compilateur Java Interpréteur Java Bytecode Java Compilateur de bytecode Code machine L interpretation Java Le compilateur Java traduit le code source en un type de données appelé bytecode. Le bytecode ne peut être utilisé par les CPU ordinaires. Un outil logiciel nommé interpréteur traduit le bytecode en langage machine et l exécute. Ainsi le compilateur java est indépendant de toute machine. Java est donc considéré architecturalement neutre. A propos des erreurs Un programme peut avoir 3 types d erreurs: Erreurs de compilation: erreurs de syntaxe, primaires détectées par le compilateur. S il y en a, aucune version exécutable n est produite. Erreurs d exécution: Le problème de peut être détecté qu à l exécution (division par zéro,etc ) interruption anormale du programme. Erreurs logiques: le programme tourne mais produit des résultats erronés. 5

Ecrire un programme: environnements de developpement Résumé Sun Java Development Kit JDK Sun Forte for Java Borland Jbuilder MetroWerks CodeWarrior Microsoft Visual J++ Symantec Café Monash BlueJ jgrasp (utilisé sur le CD du livre de cours) realj (www.realj.com) Used in Lab B02 Ces différents environnements de programmation sont différents mais leurs fonctionnements sont similaires. Ce chapitre était centré autour de la programmation et des langages utilisés pour. Ce que vous devez savoir: Savoir ce qu implique la résolution d un problème. Connaître l importance des techniques de résolution. Décrire les différents niveaux de programmation. Comprendre un programme Java et sa structure primaire. 6