الثانوية الاعدادية عمر بن الخطاب
مرحبا بك أنت زائر ويمكنك التسجيل في المنتدى الاستفادة من جميع مكونات المنتدى
المواضيع الأخيرة
» الحركة الوطنبة لرجال التعليم
الثلاثاء أبريل 12, 2011 4:00 pm من طرف Ø§Ù„مهدي علمي

» نتائج الانتقاء الأولي لحركة إسناد منصب مدير و مدير الدراسة بمؤسسات التعليم الثانوي التأهيلي
الأحد أبريل 03, 2011 5:03 am من طرف Ø§Ù„مهدي علمي

» نتائج الإنتقاء الأولي لحركة إسناد منصب مدير و مدير الدراسة بمؤسسات التعليم الابتدائي
الأحد أبريل 03, 2011 5:02 am من طرف Ø§Ù„مهدي علمي

» نتائج الإنتقاء الأولي لحركة إسناد منصب مدير و مدير الدراسة بمؤسسات التعليم الثانوي الإعدادي
الأحد أبريل 03, 2011 4:57 am من طرف Ø§Ù„مهدي علمي

» الأعداد العشرية النسبية
الثلاثاء مارس 29, 2011 4:35 pm من طرف Ø§Ù„مهدي علمي

» العمليات على الأعداد الصحيحةوالأعداد العشرية النسبية
الثلاثاء مارس 29, 2011 4:33 pm من طرف Ø§Ù„مهدي علمي

» سلسلة : المتفاوثة المثلثية ، واسط قطعة
الثلاثاء مارس 29, 2011 4:30 pm من طرف Ø§Ù„مهدي علمي

» سلسلة تمارين حول الأعداد العشرية النسبية
الثلاثاء مارس 29, 2011 4:28 pm من طرف Ø§Ù„مهدي علمي

» - حكم وعبر -
السبت مارس 26, 2011 5:51 am من طرف Ø§Ù„مهدي علمي

دخول

لقد نسيت كلمة السر

المتواجدون الآن ؟
ككل هناك 2 عُضو متصل حالياً :: 0 عضو مُسجل, 0 عُضو مُختفي و 2 زائر

لا أحد

[ مُعاينة اللائحة بأكملها ]


أكبر عدد للأعضاء المتواجدين في هذا المنتدى في نفس الوقت كان 23 بتاريخ الأربعاء سبتمبر 26, 2012 1:46 pm
احصائيات
هذا المنتدى يتوفر على 155 عُضو.
آخر عُضو مُسجل هو ghita فمرحباً به.

أعضاؤنا قدموا 356 مساهمة في هذا المنتدى في 225 موضوع
سبتمبر 2017
الإثنينالثلاثاءالأربعاءالخميسالجمعةالسبتالأحد
    123
45678910
11121314151617
18192021222324
252627282930 

اليومية اليومية

بحـث
 
 

نتائج البحث
 


Rechercher بحث متقدم

تصويت

Logiciel ----- ]

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

Logiciel ----- ]

مُساهمة  Ø§Ù„مهدي علمي في الجمعة نوفمبر 21, 2008 6:48 am

Article détaillé : Logiciel.
Le logiciel désigne la partie à première vue immatérielle de l'informatique, l'organisation et le traitement de l'information : les programmes. On s'est en effet vite rendu compte que des machines techniquement très avancées pour leur époque, comme la Bull Gamma 60, restaient invendables tant qu'on n'avait pas de programmes à livrer pour les rendre immédiatement opérationnelles. IBM lança entre 1968 et 1973 une sorte d'ancêtre du logiciel libre avec son ordinateur 1130, politique qui assura à celui-ci par effet boule de neige un succès immédiat et planétaire, mais les conclusions d'un procès antitrust lui interdirent de distribuer bénévolement du logiciel.

Le monde des mainframes classe les logiciels en catégories suivantes :

systèmes d'exploitation, comme MVS ou GCOS
bases de données, comme DB2, Ingres ou Oracle ;
programmes de communication, comme NCP ou RSCS ;
moniteurs de télétraitement ;
systèmes transactionnels, comme CICS ou openUTM ;
systèmes de temps partagé, utilisés pour le calcul ou le développement ;
compilateurs traduisant les langages en instructions machine et appels système ;
tout le reste entrait en une catégorie nommée Logiciels applicatifs.
Plus simplement on distingue généralement trois types de logiciels (par ordre de proximité du matériel) :

le micrologiciel
le système d'exploitation
les logiciels et applications utilisateur (en anglais software)
On classe aussi les logiciels en libre et propriétaire, bien que les deux soient parfois panachés à des degrés divers. Certains ont une fonction bureautique ou multimédia comme par exemple les jeux vidéo. Certains logiciels ont acquis des noms connus de tous.

Le noyau du système d'exploitation crée le lien entre le matériel et le logiciel. Un logiciel, quand il est fourni sous sa forme binaire, serait utilisable uniquement avec un système d'exploitation donné (car il en utilise les services), et ne fonctionnerait que sur un matériel spécifique (car il en utilise le code d'instructions). Une conception plus récente, depuis le milieu de années 1980, consiste à distribuer les logiciels tous binaires confondus, et à les munir d'un système de licences par jetons ou tokens permettant l'usage de N copies simultanées du logiciel sur le réseau, tous matériels confondus. Cette approche est majoritaire dans le monde UNIX.

À l'initiative de Richard Stallman et du GNU, à partir de 1985, une mouvance de programmeurs refuse cette logique propriétaire et ceux-ci se muent en concepteurs inventifs pour se lancer dans le développement d'outils et de bibliothèques système libres et compatibles avec le système UNIX. C'est pourtant le projet indépendant Linux, initié par Linus Torvalds, basé sur les travaux et les outils du GNU, qui aboutira dans la création d'un système d'exploitation complet et libre appelé GNU/Linux.

Une bonne partie des logiciels actuels fonctionnent dans un environnement graphique pour interagir avec l'utilisateur. La diversité des systèmes informatiques a fait apparaître une technique visant à combiner le meilleur de chacun de ces univers : l'émulateur. Il s'agit d'un logiciel permettant de simuler le comportement d'un autre système dans celui que l'on utilise,

soit pour qu'une machine semble être une autre (voir IBM 1130),
soit pour simuler le comportement d'un système d'exploitation (par exemple DOS ou Windows sous GNU/Linux).
Le terme anglais est software, à l'origine un jeu de mot entre hardware (« quincaillerie », pour désigner le matériel) et l'opposition soft/hard (mou/dur), opposition entre le matériel (le dur) et l'immatériel (le mou). Les traductions françaises matériel et logiciel rendent parfaitement cette opposition et cette complémentarité.

Le logiciel réalise normalement une fonction attendue de ses utilisateurs. Néanmoins, des effets secondaires (parfois nommés par contresens de traduction effets de bord) existent. Parfois même, certains logiciels sont destinés à nuire, comme les virus informatiques, nommés en anglais, par analogie avec software : malware (qu'on pourrait traduire par le néologisme nuisiciel, ou logiciel malveillant).


La création des logiciels [modifier]
Un projet informatique s'inscrit dans un cycle de développement qui définit les grandes étapes de la réalisation (planification), de la manière dont on passe d'une étape à l'autre (modèle incrémental, en V, en spirale, méthode up, extreme programming, etc.). Pour les petits projets (ou les petites équipes de développement), cette réflexion est souvent négligée (on se répartit les modules et chacun développe dans son coin). Ceci est une cause fréquente d'erreurs (bogues) et de non-conformité (le produit final n'est pas conforme aux attentes de l'utilisateur). Mais même les énormes projets, avec beaucoup de moyens, sont victimes de cette négligence ; ainsi, l'échec du premier vol d'Ariane 5 fut dû à un problème de logiciel, etc. Un projet peut alors intégrer une approche de la qualité et de la sûreté de fonctionnement des systèmes informatiques afin de contrôler autant que possible le produit final.


a suivre
avatar
المهدي علمي
Admin

عدد المساهمات : 292
نقاط : 16418
تاريخ التسجيل : 19/11/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: Logiciel ----- ]

مُساهمة  Ø§Ù„مهدي علمي في الجمعة نوفمبر 21, 2008 6:48 am

Un projet comprend les étapes suivantes (selon le modèle incrémental) :

l'établissement d'un cahier des charges qui définit les spécifications auxquelles devra répondre le logiciel ;
la définition de l'environnement d'exécution (architecture informatique) :
type(s) d'ordinateur sur lequel le logiciel doit fonctionner (station de calcul, ordinateur de bureau, ordinateur portable, assistant personnel, téléphone portable, guichet automatique de banque, ordinateur embarqué dans un véhicule ;
type et version du(des) système(s) d'exploitation sous-jacent ;
périphériques nécessaires à l'enregistrement des données et à la restitution des résultats (capacité de stockage, mémoire vive, possibilités graphiques...) ;
nature des connexions réseau entre les composants (niveau de confidentialité et de fiabilité, performances, protocoles de communication...) ;
la conception de l'application et de ses constituants, et notamment de l'interactivité entre les modules développés : structure des données partagées, traitement des erreurs générées par un autre module... : c'est le domaine du génie logiciel ;
la mise en place d'une stratégie de développement :
répartition des tâches entre les développeurs ou les équipes de développement, qui vont assurer le codage et les tests ;
le plan de test du logiciel, pour s'assurer qu'il remplit bien la mission pour laquelle il a été écrit, dans toutes les conditions d'utilisation qu'il pourra normalement rencontrer, mais aussi dans des cas limites.
Après chacune de ces phases, on peut avoir une étape de recette, où le client va valider les choix et les propositions du maître d'œuvre.

La phase de programmation consiste à décrire le comportement du logiciel à l'aide d'un langage de programmation. Un compilateur sert alors à transformer ce code écrit dans un langage informatique compréhensible par un humain en un code compréhensible par la machine, le résultat est un exécutable. On peut également, pour certains langages de programmation, utiliser un interpréteur qui exécute un code au fur et à mesure de sa lecture, sans nécessairement créer d'exécutable. Enfin, un intermédiaire consiste à compiler le code écrit vers du bytecode. Il s'agit également d'un format binaire, compréhensible seulement par une machine, mais il est destiné à être exécuté sur une machine virtuelle, un programme qui émule les principales composantes d'une machine réelle. Le principal avantage par rapport au code machine est une portabilité théoriquement accrue (il « suffit » d'implanter la machine virtuelle pour une architecture donnée pour que tous les programmes en bytecode puissent y être exécutés), portabilité qui a fait, après sa lenteur, la réputation de Java. Il convient de noter que ces trois modes d'exécution ne sont nullement incompatibles. Par exemple, OCaml dispose à la fois d'un interpréteur, d'un compilateur vers du bytecode, et d'un compilateur vers du code natif pour une grande variété de processeurs. Une fois écrit (et compilé si nécessaire), le code devient un logiciel.

Pour des projets de grande amplitude, nécessitant la collaboration de beaucoup de programmeurs, voire de plusieurs équipes, on a souvent recours à une méthodologie commune (par exemple MERISE) pour la conception et à un atelier de génie logiciel (AGL) pour la réalisation.

Au cours de la programmation et avant la livraison du produit final, le programme est testé afin de vérifier qu'il fonctionne bien (y compris dans des cas d'utilisation en mode dégradé) et qu'il est conforme aux attentes de l'utilisateur final. Les tests intermédiaires permettent de s'assurer que chaque module de code réalise correctement une fonction : ce sont les tests unitaires. Les tests finals qui vérifient le bon enchaînement des modules et des traitements sont des tests d'intégration.

Pour certaines applications demandant un haut niveau de sûreté de fonctionnement, les tests sont précédés d'une étape de vérification, où des logiciels spécialisés effectuent (généralement sur le code source, mais parfois aussi sur le code compilé) un certain nombre d'analyses pour vérifier partiellement le bon fonctionnement du programme. Il n'est toutefois pas possible (et des théorèmes mathématiques montrent pourquoi), de garantir la parfaite correction de tout logiciel par ce moyen et la phase de test reste donc nécessaire. Elle se complète aussi, lorsqu'il s'agit d'une évolution d'une application existante, de nombreux tests automatisés de non-régression. Les tests non plus ne pouvant pas garantir totalement l'absence d'erreurs, il est bon de les compléter par des phases de vérification par relecture : des techniques existent pour essayer de rendre cette vérification exhaustive.

Statistiques : la création d'un logiciel est une tâche ardue ; environ 31% des projets informatiques sont abandonnés avant d'être terminés, plus de 50% des projets coûtent le double du coût initialement estimé et seulement 15% des projets finissent dans les temps et selon le budget défini. Les besoins de seule maintenance de l'existant peuvent prendre jusqu'à 50% des effectifs d'une équipe chargée d'un logiciel (or, c'est là une fonction pénible, ingrate, peu valorisante et qui rebute et démotive souvent les bons programmeurs).

Toutefois avec l'utilisation de méthodes comme la méthode UP ou l'extreme programming, ces statistiques ont tendance à s'améliorer. Notamment, grâce à un développement par itérations successives où les phases d'analyse, de conception, de réalisation et de test se répètent plusieurs fois pendant la durée de vie du projet et produisent à chaque fois un produit exécutable. Le client peut après chacune des itérations "tester" le produit et donner son avis. Ces méthodes permettent ainsi une meilleure gestion des coûts et surtout de la qualité tout en réduisant fortement les risques de non conformité avec les souhaits du client.
avatar
المهدي علمي
Admin

عدد المساهمات : 292
نقاط : 16418
تاريخ التسجيل : 19/11/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى