La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

CSI1502 Introduction au génie logiciel Chapitre 1: Introduction aux systèmes informatiques.

Présentations similaires


Présentation au sujet: "CSI1502 Introduction au génie logiciel Chapitre 1: Introduction aux systèmes informatiques."— Transcription de la présentation:

1 CSI1502 Introduction au génie logiciel Chapitre 1: Introduction aux systèmes informatiques

2 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.

3 Rappel: Prérequis supposés connus. Concepts informatiques de base. Les composants matériels de lordinateur: 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.

4 Modéliser un problème avec un langage de programmation. 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….

5 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 dinstructions de programmation valides à partir des symboles et mots disponibles. Exemples de languages de programmation: Fortran, Cobol, C++, C, Delphi, Pascal, Smalltalk, JAVA.

6 Queest-ce que la modélisation de problème? Dans notre cas il sagit 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).

7 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 sefforcer de les décomposer en sous- problèmes plus simples: « Diviser pour régner ». Techniques fondamentale en génie logiciel.

8 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.

9 Une modélisation orientée-objet 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 ! »

10 Développement ordinaire dun programme: Ecriture, sauvegarde du programme Compilation Exécution et évaluation des résultats erreurs

11 Résolution de problème à laide 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. Cest un langage orienté-objet.

12 Structure dun programme Java En Java: Un programme se compose dune 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)

13 Structure dun 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. }

14 Structure dun 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. }

15 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); }

16 Langages de programmation: Composants de base: Commentaires Noms (mots-clé) Symboles ( i.e,=, etc…) Syntaxe et règles sémantiques Erreurs

17 Quest-ce quun commentaire? Les commentaires dun programme peuvent être considérés comme documentation en ligne. Ils ont pour but dexpliquer le but dune portion de code. Ils nont pas deffet 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 */

18 Limportance 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 !

19 Que sont les noms? Les noms sont les mots utilisés par le programmeur. Parfois ils sont choisis par le programmeur (exemple: Lincoln). Dautres fois nous réutilisons un code et utilisons donc des noms définis par dautres programmeurs (println).

20 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.

21 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

22 Mots-clé de Java: abstractbooleanbreakbytecase catchcharclassconstcontinuedefault dodoubleelseextendsfinalfinally floatforfuturegenericgotoif implementsimportinnerinstanceofint interfacelongnativenewnull operatorouterpackageprivate protectedpublicrestreturnshortstatic superswitchsynchronizedthisthrowthrows transienttryvarvoidvolatilewhile

23 Syntaxe et règle sémantiques Les règles de syntaxe dun 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 dun langage définissent le sens des mots, leur rôle. Le bout de code précédent déterminait la personne la plus grande.

24 Syntaxe et sémantique Un programme syntaxiquement correct nest pas forcément sémantiquement / logiquement correct. Un programme neffectue que ce que nous lui disons de faire et non pas ce que nous souhaiterions quil fasse !!! Une erreur classique: inégalités incorrectes. i.e (height > tallest) au lieu de (height >= tallest)

25 Que sont les espaces ? 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.

26 Un programme illisible… public class d42_SVVEZ public static void main(String []abvfue){ System.out.println( Hello World);}}

27 Interprétation du langage de programmation 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.

28 Linterprétation en Java Compilateur Java Interpréteur JavaCompilateur de bytecode Code source Java Bytecode Java Code machine

29 Linterpretation 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 lexécute. Ainsi le compilateur java est indépendant de toute machine. Java est donc considéré architecturalement neutre.

30 A propos des erreurs Un programme peut avoir 3 types derreurs: Erreurs de compilation: erreurs de syntaxe, primaires détectées par le compilateur. Sil y en a, aucune version exécutable nest produite. Erreurs dexécution: Le problème de peut être détecté quà lexécution (division par zéro,etc…) interruption anormale du programme. Erreurs logiques: le programme tourne mais produit des résultats erronés.

31 Ecrire un programme: environnements de developpement 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 B02www.realJ.com Ces différents environnements de programmation sont différents mais leurs fonctionnements sont similaires.

32 Résumé Ce chapitre était centré autour de la programmation et des langages utilisés pour. Ce que vous devez savoir: Savoir ce quimplique la résolution dun problème. Connaître limportance des techniques de résolution. Décrire les différents niveaux de programmation. Comprendre un programme Java et sa structure primaire.


Télécharger ppt "CSI1502 Introduction au génie logiciel Chapitre 1: Introduction aux systèmes informatiques."

Présentations similaires


Annonces Google