26
 ﻴ  ا ا ا ا ر ا   ا ل ا   و م ا  ت   و  ا  ة ر ا ز و   ا   ا   و  ا   ا  ة ر ا ز و  INSTITUT NATIONAL DES TELECOMMUNICATIONS  ET DES TECHNOLOGIES DE L’INFORMATION ET  DE LA COMMUNICATION  ت   ا   ا  ل ا   و م ا  ت   و CHAPITRE 3 LE LOGICIEL ( ت   ﺒﺮﻣ)

3 Computer Software

Embed Size (px)

DESCRIPTION

h

Citation preview

  • SNOITACINUMMOCELET SED LANOITAN TUTITSNI TE NOITAMROFNIL ED SEIGOLONHCET SED TE

    NOITACINUMMOC AL ED

    3 ERTIPAHC LEICIGOL EL

    ) (

  • Plan Chapitre 3

    Diffrents types de logiciel Les programmes systme Les Systmes dexploitation Les programmes de traduction Les programmes utilisateur

    - notion dalgorithme - notion de pseudo-code - notion dorganigramme

    Diffrentes formes de programmation Lexique

  • Composants Logiciel

    Un ordinateur est certes compos dun ensemble dlments constituant le matriel ou Hardware mais qui ne peuvent fonctionner que grce un ensemble de programmes et donnes constituant le logiciel ou Software.Lutilisation dun ordinateur ncessite diffrents types de programmes parmi lesquels on peut citer :

    - Les programmes systme- Les programmes applicatifs- Les programmes de traduction- Les programmes utilisateur

    ..

  • Composants LogicielLes Programmes Systme (SYSTEM PROGRAMS )

    Ce sont des programmes assez complexes conus pour lexploitation et le contrle de tous les lments constituant lordinateur.

    Ces programmes ont t conus par les constructeurs de machines ou des entreprises de dveloppement des logiciels.

    Les programmes systme peuvent tre diviss en 2 grandes parties : les programmes des systmes dexploitation (Operating Systems) et les programmes de traduction (Translating Programs).

  • Composants LogicielLes Programmes Systme (SYSTEM PROGRAMS )

  • Composants Logicielexploitation (Operating systems)mes dLes Syst

    Un systme dexploitation est un ensemble de programmes responsables de lutilisation, de lexploitation de la machine et du contrle de toutes les oprations entre la machine et lutilisateur.

    Un systme dexploitation est compos dun ensemble de programmes, de donnes et de tableaux permettant la facilit dutilisation de tous les composants de lordinateur par diffrents utilisateurs.

    Aussi, les programmes composant un systme dexploitation permettent de contrler les diffrents lments de la machine et de coordonner entre eux ceci afin que lutilisateur en profite au maximum en un laps de temps.

    Les principales fonctions dun Systme dexploitation Gestion des ressources de la machine : UC, Units E/S, MC, Donnes, Communications Interface entre le Hardware et lutilisateur. Partage des ressources entre diffrents utilisateurs. Contrle des oprations dE/S Chargement des programmes et donnes des mmoires secondaires en MC. Sauvegarde des programmes et donnes de la MC en mmoires secondaires. Gestion des anomalies hardware et des erreurs software ( Capacit mmoire insuffisante,

    Disque satur, Fichier inexistant). Assure la protection des programmes et des donnes des diffrents utilisateurs. Facilit lutilisation des diffrentes units dE/S.

    ..

  • Composants LogicielLes diffrents types de Systmes dexploitation

    Le dveloppement rapide des ordinateurs a permis de concevoir diffrents types de systmes dexploitation dont des systmes :

    - Multiprogrammation (MultiProramming System), - Multi-Utilisateur (Multi-User System), - Temps partag (Time-Sharing System), - Temps Rel (Real Time System), - Multitraitement (MultiProcessing System), - Distribus (Distributed System)

    Les principaux systmes dexploitation sont : MULTICS (IBM), CP/CMS (IBM), UNIX (AT&T BELL LABS),PC-DOS (IBM), MS-DOS, WINDOWS95, WINDOWS98, WINDOWS2000, WINDOWS XP (MICROSOFT), Systme dexploitation MacIntosh(Apple).....

    Un systme dexploitation peut faire appel des programmes pour des traitements spcifiques, entre autres :

    - des programmes de traduction (Translating Programs) : qui sont utiliss pour les langages de programmation (compilateurs, interprteurs)- des programmes utilitaires (Utility Programs) : qui sont utiliss pour destaches spcialises (Tri, Fusion, Compression.).- des programmes bibliothque (Library Programs) : ce sont des sous-programmes dugenre Procdures ou Fonctions stockes dans des mmoires secondaires et quipeuvent tre utilises dans des programmes utilisateurs ou autres (SQR, SQRT, SIN...)

  • Composants LogicielLes Programmes de traduction (Translating Programs)

    Pour un utilisateur, le dialogue avec un ordinateur se fait au moyen de langages de programmation (PROGRAMMING LANGUAGES).

    Un langage de programmation est un ensemble dinstructions, de codes et de rgles syntaxiques qui contribuent la programmation de solutions de problmes.

    Un langage de programmation est constitu de diffrents types dinstructions dont : des instructions dE/S, de comparaison, dexpressions arithmtiques, dassignation, de rptition.

    Il existe plusieurs catgories de langages de programmation : langages machine, langages assembleur, langages volus, langages non procduraux, langages orients Internet.

  • Composants LogicielLes Programmes de traduction (Translating Programs)

    Le langage machine (Machine Language) Le langage machine est le langage interne de lordinateur. Le langage machine est le seul langage compris par lordinateur du fait que cest un

    langage binaire (il est compos uniquement de chiffres binaires 0 et 1); Il sexcute directement sans lutilisation de traducteur. Le langage machine peut varier dune machine une autre (suivant le type dUC ou

    Microprocesseur). Lutilisation dun langage machine par un utilisateur ncessite des connaissances trs

    approfondies sur larchitecture de lordinateur.Le langage assembleur (Assembly Language)

    Le langage assembleur est un langage proche du langage machine mais avec lutilisation de noms symboliques dsignant des oprations ou des variables facilitant leur comprhension par les utilisateurs (ADD, MUL, SUB, DIV, MOVE.).

    Bien sr, ce type de langage est troitement dpendant de la machine; donc, le langage assembleur diffre dune machine une autre suivant le type de processeur.

    Comme le langage machine, ce genre de langage ncessite des connaissances approfondies sur larchitecture de lordinateur.

    Un programme crit en langage assembleur ncessite une traduction en langage machine laide dun programme spcial dnomm "ASSEMBLEUR.

  • Composants LogicielLes Programmes de traduction (Translating Programs)

    Les langages volus (Hign Level Languages) Le langage machine et la langage assembleur sont des langages dpendants de la

    machine et aussi assez compliqus pour de simples utilisateurs. Pour ces raisons, il a fallu concevoir des langages indpendants des machines

    (portables) et surtout simples utiliser par la plupart des utilisateurs (trs proche de la langue anglaise).

    Ce type de langages ont t dsigns comme "des langages volus ou des langages de haut niveau (High Level Languages) en raison de leur indpendance de larchitecture matrielle de lordinateur.

    Un programme crit dans un langage volu ncessite, pour tre excut, sa traduction en langage machine par un programme spcial dnomm"COMPILATEUR" ou "INTERPRETEUR.

    Un compilateur ou un interprteur permet la dtection des erreurs syntaxiques dun programme SOURCE (crit en langage volu) puis sa traduction en programme OBJET (reprsent en langage machine) afin dtre prt pour tre excut.

  • Composants LogicielLes Programmes de traduction (Translating Programs)Principaux langages volus (suivant leur apparition)

    Le Langage BASIC (BASIC LANGUAGE : Beginnerss All Purpose SymbolicInstruction Code) : cest lun des premiers langages volus conus pour les dbutants; facile et rapide apprendre; ncessite lutilisation dun Interprteur BASIC.

    Le Langage FORTRAN (FORTRAN LANGUAGE : Formula Translator) :cest un langage volu conu pour les mathmaticiens et les scientifiques. Ncessite lutilisation dun compilateur FORTRAN.

    Le Langage COBOL (COBOL LANGUAGE : COmmon Business OrientedLanguage) : cest un langage volu conu pour la gestion, la comptabilit et lutilisation des diffrentes organisations des fichiers. Ncessite lutilisation dun compilateur COBOL.

    Le Langage PASCAL (PASCAL LANGUAGE) : ce langage qui a t dveloppen 1971 par Nicklaus Wirth, a t conu spcialement pour tre facilement tudi en utilisant la programmation structure. Peut rsoudre des oprations arithmtiques trs complexes. Ncessite lutilisation dun compilateur PASCAL.

  • Composants LogicielLes Programmes de traduction (Translating Programs)Principaux langages volus (suivant leur apparition)

    Le Langage C (C LANGUAGE) : ce langage a t dvelopp en 1972 par Dennis Ritchie des laboratoires Bell. Il est trs utilis actuellement du fait de sa puissance dans lutilisation de la programmation structure ainsi que des instructions de gestion des diffrents composants de la machine : il se substitut en tant que langage volu, au langage assembleur. Cest dailleurs avec le langage C qua tdvelopp le systme dexploitation UNIX. Ncessite lutilisation dun compilateur C.

    Dautres langages volus utilisant la programmation structure ont t utiliss par le pass : ADA, PL/1, ALGOL.

    Les langages de programmation Orients Objet (Object OrientedProgramming Languages) et les langages de programmation Visuelle (VisualProgramming Languages) : contrairement aux langages volus orients programmation structure, les langages de programmation orients objet se sont dvelopps ces dernires annes en utilisant la notion dobjet, de classe, de mthode, de graphisme On peut citer les langages de programmation orients objet tels que C++, JAVA et les langages de programmation visuelle tels que : VISUAL C, VISUAL PASCAL, VISUAL BASIC.

  • Composants LogicielLes Programmes de traduction (Translating Programs)Principaux langages volus (suivant leur apparition)

    Les langages de programmation non procduraux (Non ProceduralLanguages) : orients vers la gestion des bases de donnes (Utilisation des systmes de gestion des bases de donnes pour le stockage, le traitement et la rcupration des donnes laide de langages de dfinition de donnes ou SQL : Structured Query Language) et des systmes experts (on peut citer les langages PROLOG, LISP qui sont utiliss dans les systmes dintelligence artificielle). Mais ce genre de langages sont toujours en cours de dveloppement.

    Les langages de programmation orients Internet : la conception de sites Web peut se faire dune manire statique avec des langages genre HTML (HyperText Mark-Up Language) ou dune manire dynamique avec des langages genre PHP (Personal Home Page ou Pre-HyperTexte-Processor ou Hypertext Preprocessor), JAVASCRIPT..

  • Composants LogicielLes Programmes Utilisateur (USER PROGRAMS )

    La rsolution de problmes par ordinateur dbute tout dabord par lexcution de plusieurs tapes logiques faisant partie dun cycle de dveloppement de logiciel (Software Development Cycle) : Analyse du problme, rsolution logique du problme laide de solutions algorithmiques (et/ou organigrammes), traduction de lalgorithme en programme crit dans un des langages de programmation, test et excution du programme.

    Ce cycle de dveloppement de logiciel fait partie de la technique de dveloppement de logiciel plus connue sous le nom de Gnie logiciel ou Software Engineering.

    Les algorithmes qui permettent de dcrire les solutions logiques au problme pas pas seront ensuite traduits par lutilisateur ou le programmeur en un ensemble dinstructions qui formeront des programmes informatiques crits dans un des langages de programmation.

    Ces programmes seront excuts instruction par instruction (Step by Step) afin de fournir les rsultats prvus.

  • Composants LogicielUSER PROGRAMS )Les Programmes Utilisateur (

    Cycle de dveloppement de logiciel (Software DevelopmentCycle) :

  • Composants LogicielUSER PROGRAMS )Les Programmes Utilisateur (

    Analyse du problme : type de problme pos, importance du problme pos afin de dfinir des solutions (si le problme est mal explicit, il est difficile dimaginer des solutions afin dobtenir des rsultats au problme pos.

    Conception de solutions logiques (Algorithmes) : la rsolution de problmes par ordinateur sous-entend la conception dune mthode logique de description squentielle (Pas--Pas : Step-By-Step) des diffrentes oprations qui se terminent par un nombre fini de pas. Cette mthode logique sappelle un ALGORITHME (ALGORITHM) permet une description prcise de la solution au problme pos sous forme de rgles, de pas ou dtapes excuter (du dbut jusqu la fin) et ceci afin dobtenir les vrais rsultats de la solution au problme pos.

    Un algorithme est compos de 3 structures de contrle logiques : - la structure logique squentielle (Sequential Logic Structure) - la structure logique alternative (Decision Logic Structure) - la structure logique rptitive (Loop Logic Structure)

  • Composants LogicielUSER PROGRAMS )Les Programmes Utilisateur (AlgorithmesExemples simples d

    Exemple 1 (Algorithme structure logique squentielle)Problme pos : calcul de la moyenne dun tudiant

    Pas 1 : DbutPas 2 : Lire Nom_et_Prnom_tudiantPas 3 : Lire Note1, Note2Pas 4 : Moyenne = (Note1+Note2)/2 Pas 5 : Ecrire Nom_et_Prnom_tudiant, MoyennePas 6 : Fin

    Exemple 2 (Algorithme structure logique rptitive)Problme pos : calcul de la somme de 10 chiffres (de 1 10) : 1+2+3+..+10

    Pas 1 : DbutPas 2 : I 0Pas 3 : S 0Pas 4 : Rpter

    I I + 1S S + I

    Jusqu I =10Pas 5 : Ecrire SPas 6 : Fin

  • Composants LogicielUSER PROGRAMS )Les Programmes Utilisateur (

    Dautres outils peuvent tre utiliss afin de rsoudre les problmes par ordinateur. Les plus populaires sont les organigrammes et les pseudo-codes.

    Les Organigrammes (Flowcharts) : un organigramme est lquivalent dun algorithme mais sous forme graphique. Chaque tape ou pas dun algorithme est reprsent sous une forme symbolique graphique standard. Les principaux symboles graphiques sont regroups dans le tableau suivant :

  • Composants Logiciel

    USER PROGRAMS )Les Programmes Utilisateur () Flowchartss dans des organigrammes (Les principaux symboles utilis

  • Composants LogicielUSER PROGRAMS )Les Programmes Utilisateur (

    organigrammesExemples simples dLalgorithme structure logique rptitive de l exemple 2 (Calcul de la somme de 10 chiffres) peut tre symbolis par lorganigramme suivant :

    ORGANIGRAMMEALGORITHMEPas 1 : DbutPas 2 : I 0Pas 3 : S 0Pas 4 : Rpter

    I I + 1S S + I

    Jusqu I =10Pas 5 : Ecrire SPas 6 : Fin

  • Composants LogicielUSER PROGRAMS )Les Programmes Utilisateur (

    Les Pseudo-Codes (Pseudo-Code) : un pseudo-code est lquivalent dun algorithme mais sous forme dexpressions qui ressemblent la langue naturelle facile apprendre (franaise, anglaise, arabe.). Exemples dexpression utilises dans les exemples prcdents 1 et 2 : Lire, Ecrire, Si, Rpter, Read, Print, If

    Traduction de lorganigramme ou du pseudo-code en programme A des fins dexcution, le programmeur ou lutilisateur devra

    traduire lorganigramme ou le pseudo-code en instructions dans un des langages de programmation (Pascal, C, Basic) : ce sera un programme source (Source Program). A laide dun traducteur (Compilateur, Interprteur), ces instructions (qui forment le programme source) seront traduites en langage machine appelprogramme objet (Object Program) qui sera prt pour tre excut.

  • Composants LogicielUSER PROGRAMS )Les Programmes Utilisateur (

    Les tapes suivantes dans un cycle de dveloppement de logiciel sont ncessaires afin de garantir les vrais rsultats de la solution au problme pos : test de la solution (test du programme), maintenance du programme (possibilit dajout ou de suppression de taches), documentation du programme (permet lutilisation du programme par diffrents utilisateurs : commentaires, guide dutilisation).

    Mthodes de dveloppement des diffrentes formes de programmation Il est souvent ncessaire de poser la question suivante : Comment rsoudre

    facilement diffrents problmes par ordinateur afin dacqurir les rsultats escompts???

    La solution consiste dcomposer un problme assez complexe en un ensemble de petits problmes (sous-problmes) faciles solutionner appeles MODULES .

    Ceci facilitera lcriture non du programme mais de sous-programmes , leur correction, leur modification et leur maintenance.

    Les des diffrentes formes de programmation sont les suivantes : la Programmation modulaire, la Programmation structure, la Programmation de Haut-en-Bas, la Programmation Orient-Objet et la Programmation Visuelle.

  • Composants LogicielUSER PROGRAMS )Les Programmes Utilisateur (

    La Programmation Modulaire (Modular Programming) : Le programme sera dcompos en un ensemble de petits programmes ou modules : ce sont des sous-programmes, des procdures, des fonctions). Le programme principal (module principal) permet dappeler ( laide dinstructions dappel) des sous-programmes (procdures ou fonctions) qui peuvent tre crits et excuts dune manire indpendante.

  • Composants LogicielUSER PROGRAMS )Les Programmes Utilisateur (

    La Programmation Structure (StructuredProgramming) : Pour le programmeur ou un utilisateur, la programmation structure est un moyen dviter les branchements inconditionnels (instruction Allez ou Goto) qui compliquent la comprhension et la maintenance dun programme. La programmation structure permet la comprhension dun programme dune manire trs aise avec lutilisation des 3 structures de contrle logiques : la structure logique squentielle (Sequential LogicStructure), la structure logique alternative (DecisionLogic Structure) avec lutilisation du SI (IF condition Then ..Else ) et la structure logique rptitive(Loop Logic Structure) avec lutilisation du POUR (FOR..), REPETER (DO .UNTIL) et TANT QUE (WHILE.).

  • Composants LogicielUSER PROGRAMS)Les Programmes Utilisateur (

    La Programmation de Haut-en-Bas (Top-Down Programming) : Le programme sera organis par lutilisateur en un module principal (programme principal) suivi de plusieurs modules (sous-programmes) de niveau intermdiaire qui peuvent tre eux-mmes dcomposs en dautres modules plus petits auxquels une tache bien prcise leur est assign; chaque module peut tre crit et excut indpendamment des autres modules.

    La Programmation Orient-Objet (Object-OrientedProgramming) : ce genre de programmation est trs utilise actuellement. Avec la programmation traditionnelle, les instructions sont dcrites pas--pas jusqu la prsentation des rsultats. Tandis que la programmation orient objet ncessite lutilisation de la notion dobjet qui peut dsigner une donne ou un ensemble de donnes et dinstructions qui peuvent affecter sur ces donnes.

    La Programmation Visuelle (Visual Programming) : aussi ce genre de programmation est trs utilise. Le programme est dcrit avec la notion dobjet mais sous une forme graphique laide de fentres, de boutons, dicnes, de figures.

  • LEXIQUE

    Principaux Mots-cls informatique en Franais, en Anglais et en Arabe.(A Voir en TD ou en TP)