Contacts

Outils de recherche pour le développement et le logiciel système. Le développement du programme signifie les outils de développement instrumental nécessaires pour

Essence et concept de logiciel instrumental

Software Instrumental (IPO) - Logiciel conçu pour être utilisé dans la conception, le développement et la maintenance des programmes.

Outil d'occasion dans la phase de développement. Le logiciel instrumental est un ensemble de programmes utilisés pour aider les programmeurs à travailler pour aider les responsables de développement de logiciels dans leur désir de surveiller le processus de développement et les produits obtenus. Les représentants les plus célèbres de cette partie du logiciel sont des programmes de programmation des langages de programmation qui aident les programmeurs à écrire des commandes de la machine. Les programmes instrumentaux sont des traducteurs de Fortran, Cobol, Joe Flall, Beysik, APL et Pascal. Ils facilitent le processus de création de nouveaux programmes de travail. Cependant, les traducteurs avec des langues ne sont que la partie la plus connue des programmes instrumentaux; Il y en a beaucoup beaucoup.

L'utilisation de machines informatiques pour aider à développer de nouveaux programmes est loin d'être évidente pour les personnes qui ne sont pas des programmeurs professionnels. Il arrive souvent que des professionnels soient racontés sur l'instrumental (phase de développement) et le système (phase d'utilisation) par logiciel sur une seule respiration, en supposant que leurs compétences non dédiées au secret sont connues sur le rôle des logiciels instrumentaux. Tout comme dans la phase d'utilisation (pour les programmes d'application), le support système fonctionne dans la phase de développement, mais uniquement avec le support instrumental. Le logiciel instrumental ou le système de programmation est un système permettant d'automatiser le développement de nouveaux programmes de programmation.

Dans le cas le plus général, pour créer un programme dans le langage de programmation sélectionné (langage de programmation système), vous devez disposer des composants suivants:

1. Editeur de texte pour créer un fichier avec programme de texte source.

2. Compilateur ou interprète. Le texte source utilisant le programme Compiler est traduit en un code d'objet intermédiaire. Le texte source du grand programme consiste en plusieurs modules (fichiers avec textes de source). Chaque module est compilé dans un fichier séparé avec le code d'objet, qui doit ensuite être combiné en un.

3. L'éditeur de connexion ou le collecteur qui répertorie la liaison des modules d'objet et génère une application viable au code exécutable de sortie.

Le code exécutable est un programme complet pouvant être lancé sur n'importe quel ordinateur dans lequel le système d'exploitation est installé pour lequel ce programme a été créé. En règle générale, le fichier final a une extension. Lee ou.

Récemment, les méthodes de programmation visuelle ont été distribuées (à l'aide des langues de description de scénario) sur la création d'applications Windows. Ce processus est automatisé dans des environnements de conception rapides. Cela utilise des composants visuels prêts à l'emploi configurés à l'aide d'éditeurs spéciaux.

Les éditeurs les plus populaires (systèmes de programmation logiciels utilisant Visual signifie) Conception visuelle:

Borland Delphi - conçu pour résoudre presque toutes les tâches de programmation d'applications.

Borland C ++ Builder est un excellent moyen de développer des applications DOS et Windows.

Microsoft Visual Basic est un outil populaire pour créer des programmes Windows.

Microsoft Visual C ++ - Cet outil vous permet de développer toutes les applications exécutées dans le système d'exploitation Microsoft Windows.

Ainsi, l'essence du logiciel de l'outil consiste à créer n'importe quel programme exécutable en convertissant des expressions officiellement logiques dans le code de machine exécutable, ainsi que le contrôle et le réglage.

Tâches et fonctions du logiciel instrumental

Pour le logiciel instrumental, les deux types de logiciels spéciaux sont caractérisés par le général et le privé.

fonctions, ainsi que pour l'ensemble du logiciel dans son ensemble. Les caractéristiques générales sont considérées ci-dessus et des fonctions spécialisées inhérentes à ce type de programmes sont les suivantes:

1. Création du texte du programme développé à l'aide de mots de code spécialement installés (langage de programmation), ainsi qu'un ensemble spécifique de caractères et de leur emplacement dans la syntaxe de programme de fichiers créé.

2. Traduction du texte du programme créé dans un code orienté machine disponible pour la reconnaissance informatique. En cas de création d'une quantité importante du programme, elle est divisée en modules distincts et chacun des modules est traduit séparément.

3. Connexion de modules individuels dans un seul code exécutable, avec la conformité à la structure nécessaire, assurant la coordination de l'interaction des parties individuelles.

4. Tester et contrôler le programme créé, identifier et éliminer les erreurs formelles, logiques et syntaxiques, vérifiant les programmes pour les codes interdits, ainsi que l'évaluation des performances et du potentiel du programme créé.

Types de logiciels instrumentaux

Sur la base des tâches définies avant le logiciel de l'outil, un grand nombre de types de logiciels d'outils peuvent être distingués:

Editeurs de texte

Environnements de développement intégrés

Compilateur

Interprètes

Linkovshchiki

Générateurs d'analyseurs et d'analyseurs (voir Javacc)

Assemblée

Débuggle

Profilisation

Générateurs de documentation

Code de revêtement signifie

Moyens d'intégration continue

Outils de tests automatisés

Systèmes de contrôle de la version, etc.

Il convient de noter que les coquilles de création d'applications sont également créées par des programmes d'outils et peuvent donc être attribués aux programmes d'application. Envisagez de nommer brièvement certains programmes instrumentaux.

Text éditeurs.

Editeur de texte - Un programme informatique conçu pour gérer des fichiers texte, tels que la création et la création de modifications.

Composition de la CAD

CAD est un système qui combine des moyens techniques, des mathématiques et des logiciels, des paramètres et des caractéristiques desquels sont choisis avec la prise en compte maximale des caractéristiques de la conception d'ingénierie et des tâches de conception. Le dispositif CAO prévoit l'utilisation de programmes en appliquant les outils de communication opérationnels d'un ingénieur avec ordinateur, langues spéciales orientées problématiques et la disponibilité de l'information et de la base de référence.

Les composants structurels de la CAD sont des sous-systèmes avec toutes les propriétés des systèmes et créées comme systèmes indépendants. Celles-ci sont partitionnées par certaines caractéristiques de la partie CAD, qui assurent la mise en œuvre de certaines tâches de conception terminées pour obtenir des solutions de conception pertinentes et des documents de projet.

Sur la nomination du sous-système triste, ils sont divisés en deux types: concevoir et entretien.

La conception inclut des sous-systèmes qui effectuent des procédures et des opérations de projet, par exemple:

· Sous-système de mise en page de machine;

· Conception de l'assemblage des unités d'assemblage;

· Sous-système de conception de détail;

· Sous-système de conception du schéma de contrôle;

· Sous-système de conception technologique.

L'entretien comprend des sous-systèmes destinés à maintenir la performance des sous-systèmes de conception, par exemple:

· Sous-système de l'affichage graphique des objets de conception;

· Sous-système de documentation;

· Sous-système de récupération de l'information, etc.

En fonction de la relation avec l'objet de conception, deux types de sous-systèmes de conception sont distingués:

· Orienté objet (objet);

· Indépendant de l'objet (invariant).

Les sous-systèmes d'objet comprennent des sous-systèmes qui effectuent une ou plusieurs procédures de projet ou opérations directement dépendantes d'un objet spécifique de conception, par exemple:

· Sous-système de conception technologique;

· Modélisation du sous-système de la dynamique, design conçu, etc.

Les sous-systèmes invariants comprennent des sous-systèmes qui effectuent des procédures et des opérations unifiées du projet, par exemple:

· Calculs du sous-système des pièces de la machine;

· Calcul du sous-système des modes de coupe;

· Sous-système de calcul des indicateurs techniques et économiques, etc.

Le processus de conception est mis en œuvre dans des sous-systèmes sous la forme d'une certaine séquence de procédures et d'opérations du projet. La procédure de projet correspond à la partie du sous-système de projet, à la suite de laquelle une solution de conception est faite. Il consiste en des opérations de conception élémentaire, dispose d'une procédure fermement établie pour leur exécution et visait à atteindre un objectif local dans le processus de conception. Dans le cadre des opérations de projet, comprenez la partie sélectionnée sous condition de la procédure de projet ou de l'action élémentaire effectuée par le concepteur pendant le processus de conception. Des exemples de procédures de projet peuvent servir de procédures de développement d'un schéma cinématique ou de mise en page de la machine, des technologies de traitement des produits, etc. et des exemples d'opérations de projet - le calcul des indemnités, la solution de toute équation, etc.

L'unité structurelle du sous-système triste est assurée par une réglementation stricte des liens entre différents types de garantie, combinée à une fonction cible commune pour ce sous-système. Distinguer les types de collateurs suivants:

· Support méthodique - documents reflétés dans la composition, les règles de sélection et de fonctionnement des outils d'automatisation design;

· Provision linguistique - Langues de conception, Terminologie;

· Support mathématique - Méthodes, modèles mathématiques, algorithmes;

· Logiciels - documents avec textes de programmes, programmes sur les médias de la machine et les documents opérationnels;

· Support technique - Dispositifs d'équipement informatique et organisationnel, outils de transfert de données, mesurer et autres dispositifs et leurs combinaisons;

· Support d'information - Documents contenant une description des procédures de conception standard, des solutions de conception typiques, des éléments typiques, des composants, des matériaux et d'autres données;

· Soutien organisationnel - Dispositions et instructions, commandes, dotation en personnel et autres documents régissant la structure organisationnelle des unités et leur interaction avec la conception des outils d'automatisation de conception.

· 64 technologie CALS.

CAL-Technologies est un moyen d'intégration de systèmes automatisés industriels dans un seul système multifonctionnel. L'intégration des systèmes de conception et de gestion automatisés est d'améliorer l'efficacité de la création et de l'utilisation de matériel complexe.

Dans les conditions modernes, la formation d'une société d'information mondiale, le rôle des technologies de l'information et de l'information dans la préparation du futur spécialiste augmente de manière significative. Dans un proche avenir, le potentiel stratégique de la société ne sera pas des ressources énergétiques, mais des connaissances scientifiques et scientifiques. Les informations deviennent la principale ressource du développement scientifique et technique et socio-économique de la société, affecte considérablement le développement accéléré de la science, de la technologie et de divers secteurs, joue un rôle important dans le processus de modernisation de l'éducation. La caractéristique de l'éducation de la valeur de l'éducation au lycée et des activités professionnelles de spécialistes devrait être exprimée dans la formation d'un environnement professionnel intellectuel qui est le plus pleinement mis en œuvre par la tâche des activités de recherche et de projet.

Information large de tous types d'activités de l'humanité: des tâches intellectuelles traditionnelles d'une nature scientifique avant l'automatisation des activités industrielles, commerciales, commerciales, bancaires et autres activités seraient utilisées pour accroître l'efficacité de la production. Dans une économie de marché, la lutte concurrentielle n'utiliserait que des entreprises qui appliquent des technologies de l'information modernes dans leurs activités.

Ce sont des technologies de l'information, ainsi que des technologies progressives de la production de matériaux, permettent d'accroître considérablement la productivité et la qualité des produits, et en même temps réduire considérablement le calendrier de la production sur la production de nouveaux produits répondant aux demandes et aux attentes des consommateurs. Tout ce qui précède est principalement lié à des produits de haute technologie complexes, y compris des produits techniques.

L'expérience acquise dans le processus d'introduction de divers systèmes d'information autonomes a permis de réaliser la nécessité d'intégrer diverses technologies de l'information en un seul complexe basé sur la création d'un environnement d'information intégré ou d'un groupe d'entreprises (entreprise virtuelle) qui prend en charge toutes les étapes. du cycle de vie des produits. L'environnement professionnel révèle la plupart des possibilités d'amélioration professionnelle, en utilisant de nouvelles technologies de l'information en sciences et dans le domaine des processus de fabrication. Technologies innovantes dans le domaine de l'industrie de la transformation de l'information avec la mise en œuvre de la technologie de la technologie CALS- (Acquisition continue et du cycle de vie) - Prise en charge des informations continues pour le cycle de vie de l'objet projeté, traduit l'automatisation des processus de production vers un nouveau niveau.

L'utilisation des technologies de l'information basées sur l'idéologie CALS est l'un des facteurs qui contribuent à une mise en œuvre plus efficace du système automatisé de gestion des entreprises.

CAL-Technologies est un moyen d'intégration de systèmes automatisés industriels dans un seul système multifonctionnel. L'intégration des systèmes de conception et de gestion automatisés est d'améliorer l'efficacité de la création et de l'utilisation de matériel complexe.

L'essence du concept de CALS est d'appliquer les principes et technologies de l'appui à l'information à toutes les étapes du cycle de vie des produits basé sur l'utilisation d'un environnement d'information intégré qui fournit des méthodes uniformes pour la gestion des processus et interagir tous les participants à ce cycle: clients des produits (y compris des agences gouvernementales et des départements), fournisseurs (fabricants) Produits, personnel opérationnel et de réparation. Ces principes et technologies sont mis en œuvre conformément aux exigences des normes internationales régissant les règles de gestion et d'interaction principalement par l'échange de données électroniques.

Lors de l'utilisation de la technologie CALS, la qualité des produits augmente en raison de la comptabilisation complète des informations disponibles dans la conception et la prise de décisions de gestion, et diminue également les coûts matériels et temporaires pour la conception et la fabrication de produits. Dans le processus de mise en œuvre de cette technologie, la validité des solutions prises dans le système de gestion d'entreprise automatisée (Asup) sera plus élevée si le décideur et les programmes de gestion correspondants ont un accès rapide non seulement à la base de données Asup, mais également aux bases de données. d'autres systèmes automatisés et donc, il peut optimiser les plans de travail, le contenu des applications, la distribution des artistes interprètes, l'allocation des finances, etc. Dans le même temps, l'accès opérationnel doit être compris non seulement la possibilité de lire des données de la base de données, mais également de la facilité de leur interprétation appropriée, c'est-à-dire Cohérence en syntaxe et sémantique avec des protocoles adoptés dans Asup. Les sous-systèmes technologiques doivent percevoir avec une précision élevée et interpréter correctement les données provenant des sous-systèmes de conception automatisés. Ce n'est pas si facile à réaliser, si l'entreprise principale et les organisations directrices fonctionnent avec différents systèmes automatisés. De plus, le problème de la protection de l'information tout au long du périmètre des sous-systèmes technologiques devient pertinent.

L'utilisation de CAL-TECHNOLOGIES permet de réduire considérablement le volume de travaux de conception, car les descriptions de développement réussi précédemment de composants et de dispositifs, de nombreuses parties de composante de l'équipement, des machines et des systèmes conçues précédemment sont stockées dans les bases de données de serveurs de réseau. disponible pour toute technologie CALS. La disponibilité et la protection sont à nouveau assurées par la cohérence des formats, des méthodes, des manuels de différentes parties du système intégré global. En outre, il existe plus d'opportunités pour la spécialisation des entreprises, jusqu'à la création d'entreprises virtuelles, qui contribue également à la réduction des coûts.

Dans le processus de mise en œuvre de la technologie CALS, les coûts de fonctionnement sont considérablement réduits, grâce à la mise en œuvre de fonctions de support logistique intégrées. La solution aux problèmes de maintenabilité, à l'intégration des produits dans divers types de systèmes et de moyens, s'adaptant à l'évolution des conditions de fonctionnement, etc. sera considérablement facilitée. Ces avantages de l'intégration des données sont obtenus par l'utilisation de technologies de la CAL modernes.

Les systèmes automatisés industriels peuvent fonctionner de manière autonome et actuellement, l'organisation du processus de gestion de la production se produit sur cette base. Toutefois, l'efficacité de l'automatisation sera sensiblement plus élevée si les données générées dans l'un des systèmes seront disponibles dans d'autres systèmes, car les décisions prises en eux deviendront plus justifiées.

L'expérience de la mise en œuvre de la technologie CALS montre d'atteindre un niveau d'interaction approprié des systèmes automatisés industriels, la création d'un espace d'information unique est requise au sein des entreprises individuelles et, plus important encore, dans le cadre des entreprises. L'espace d'information unifié est assuré par l'unification de la forme et du contenu d'informations sur des produits spécifiques à différentes étapes de leur cycle de vie.

L'unification du formulaire est obtenue en utilisant des formats standard et des langages de présentation linguistique dans les échanges inter-programmes et lorsqu'il est documenté.

L'unification du contenu, comprise comme l'interprétation sans ambiguïté des données sur un produit particulier à toutes les étapes de son cycle de vie, est assurée par l'élaboration d'applications ontologies (méto-établissement) inscrites dans les protocoles d'application CALS.

CAD - Qu'est-ce que c'est?

Alors, quels sont les systèmes de conception automatisés? Sous CADR désigne des systèmes automatisés conçus pour mettre en œuvre une ou plusieurs technologies de l'information par conception. En pratique, CADR est des systèmes techniques qui vous permettent d'automatiser de cette manière pour assurer le fonctionnement des processus qui composent le développement de projets. Sous CAD, en fonction du contexte peut signifier:

logiciel utilisé comme élément principal de l'infrastructure correspondante;

Une combinaison de systèmes techniques et de personnel (y compris ceux impliquant l'utilisation de CAD sous forme de logiciels) utilisés dans l'entreprise afin d'automatiser le processus de développement de projet;

Ainsi, il est possible de distinguer une interprétation large et plus étroite du terme en question. Il est difficile de dire laquelle de ces interprétations est plus souvent appliquée dans les affaires. Tout dépend de la portée spécifique de l'utilisation de systèmes de conception automatisés, ainsi que de ces tâches, de résoudre les données système que les données sont supposées. Par exemple, dans le contexte d'un atelier distinct de la production, un programme spécifique de conception automatisée est supposé en vertu de la CAD. Si nous parlons de la planification stratégique du développement de l'organisation, un tel concept de CAO correspondra probablement à une infrastructure à grande échelle, qui participe à l'amélioration de l'efficacité du développement de divers projets. Il convient de noter que le terme CAO lui-même est une abréviation qui peut être déchiffrée de différentes manières. En général, cette abréviation correspond à une combinaison des mots "système de conception automatisé". Il existe également d'autres options pour déchiffrer cette abréviation. Par exemple, une variante "Système d'automatisation des travaux de conception" est assez courante. Selon l'analogue anglais de l'abréviation de CAO, l'abréviation de la CAO est également utilisée comme CAX. Examinons plus en détail la question suivante: dans quel type de systèmes de conception automatisés peut être créé dans l'ingénierie mécanique et d'autres domaines?

CAD: Création d'objectifs

L'objectif principal de l'élaboration de CADR est d'accroître l'efficacité des spécialistes du travail, qui résolvent diverses tâches de production, y compris celles liées à la conception de l'ingénierie. Dans ce cas, l'augmentation de l'efficacité peut être effectuée au détriment des facteurs suivants:

Réduire la complexité du processus de conception;

Réduire les périodes de mise en œuvre du projet;

Réduire le coût des travaux de conception et les coûts liés aux coûts;

S'assurer d'améliorer la qualité de l'infrastructure de conception.

Coûts réduits pour les tests et la modélisation.

CAD est un outil qui vous permet d'obtenir des avantages marqués au détriment des facteurs suivants:

Informations efficaces Soutien aux spécialistes impliqués dans le développement de projets;

Automatisation de la documentation;

Application de concepts de conception parallèle;

L'unification de diverses solutions;

L'utilisation de la modélisation mathématique, comme alternative à des tests coûteux;

Optimisation des méthodes de conception;

Améliorer la qualité des processus de gestion des affaires.

Examinons maintenant quelle structure le système de conception automatique peut être présenté.

CAD: Classification

Les critères de classification des CAPR les plus courants incluent le but de l'industrie. Les types suivants sont distingués:

  1. Conception d'infrastructure d'ingénierie automatisée;
  2. CAD pour équipement électronique;
  3. CAD dans le domaine de la construction.

Le premier type de systèmes de CAO peut être utilisé dans une large gamme d'industries: fabrication de l'aéronef, automobile, construction navale, production de biens de consommation. En outre, l'infrastructure correspondante peut être utilisée pour développer à la fois des pièces distinctes et divers mécanismes lors de l'utilisation de toutes sortes d'approches dans le cadre de la modélisation et de la conception.

Les systèmes de CAO de deuxième type sont utilisés pour concevoir l'équipement électronique fini et ses éléments individuels, tels que des circuits intégrés, des processeurs et d'autres types de matériel.

La troisième type CAPR peut être impliquée afin de concevoir diverses structures, bâtiments, éléments d'infrastructure.

Un autre critère pour lequel vous pouvez classer les systèmes de conception automatisés est le but recherché. Ici vous allouez:

Outils de conception utilisés afin d'automatiser des modèles géométriques bidimensionnels ou tridimensionnels pour la formation de la documentation de conception;

Systèmes utilisés pour développer divers dessins;

Systèmes conçus pour la modélisation géométrique;

Systèmes destinés à l'automatisation des calculs dans des projets d'ingénierie et de modélisation dynamique;

Outils d'automatisation utilisés pour optimisation technologique des projets;

Systèmes destinés à une analyse informatique de divers paramètres de projet.

Cette classification est considérée comme conditionnelle.

Le système de conception technologique automatisé peut inclure une large gamme de fonctions parmi celles énumérées ci-dessus. La liste spécifique des capacités de CAO définit principalement le développeur de ce système. Regardons quelles tâches il peut résoudre.

Logiciel de logiciel de logiciel de développement logiciel de développement de logiciels

1. Outils de développement de logiciels. Dans le processus de développement de logiciels à une manière ou à une autre, le support informatique des processus de développement de PS est utilisé. Ceci est réalisé en soumettant au moins certains documents de programme PS (tout d'abord des programmes) sur des supports de données informatiques (par exemple, des disques) et fournissant un développeur de logiciel PS spécial ou inclus dans les périphériques spéciaux informatiques créés pour tout traitement de ces documents. En tant que tel, un PS spécial, vous pouvez spécifier le compilateur à partir de n'importe quel langage de programmation.

Le compilateur élimine le développeur du PS de la nécessité d'écrire des programmes dans la langue informatique, qui est destiné au développeur. PS serait extrêmement inconfortable - cela constitue plutôt des programmes dans un langage de programmation pratique que le compilateur correspondant se traduit automatiquement dans la langue d'ordinateur. En tant que périphérique spécial prenant en charge le processus de développement du PS, un émulateur de toute langue peut servir. L'émulateur vous permet d'effectuer (interpréter) un programme de langue autre qu'un ordinateur qui prend en charge le développement d'un PS, par exemple dans une langue informatique pour laquelle ce programme est destiné. PS, conçu pour soutenir le développement d'autres PS, s'appellera un outil logiciel pour développer un PS, et le périphérique informatique spécialement conçu pour soutenir le développement du PS s'appellera un outil matériel pour le développement de PS.

Les outils de développement PS peuvent être utilisés lors de l'ensemble du cycle de vie PS pour travailler avec différents documents logiciels. L'éditeur de texte peut donc être utilisé pour développer presque tout document de programme. Du point de vue des fonctions que les outils sont effectués dans le développement de PS, ils peuvent être divisés en quatre groupes suivants: · Editors, · Analyseurs, · Transducteurs, · Outils prenant en charge le processus d'exécution du programme.

Les éditeurs soutiennent la conception (formation) de certains documents de programme à différentes étapes du cycle de vie. Comme déjà mentionné, pour cela, vous pouvez utiliser un éditeur de texte universel. Cependant, des éditeurs spécialisés peuvent fournir un support plus fort: pour chaque type de documents - son éditeur. En particulier, dans les premières étapes du développement dans des documents, des moyens graphiques de description (diagrammes, schémas, etc.) peuvent être largement utilisés. Dans de tels cas, les éditeurs graphiques peuvent être très utiles. Au stade de programmation (encodage), au lieu d'un éditeur de texte, un éditeur géré syntaxiquement orienté vers le langage de programmation peut être plus pratique. Les analyseurs produisent soit un traitement statique des documents, effectuant différents types de contrôle, identifiant leurs propriétés définies et leur accumulation de données statistiques (par exemple, vérifiant la conformité des documents à ces normes) ou une analyse dynamique des programmes (par exemple, à Identifier la distribution du programme des modules de programme). Les convertisseurs vous permettent de fournir automatiquement des documents à un formulaire de formulaire différent (par exemple, formulaires) ou traduisez un document d'une espèce à un document d'un autre type (par exemple, convertisseurs ou compilateurs), synthétiser tout document de chaque document, etc.

Les outils prenant en charge le processus d'exécution du programme vous permettent d'effectuer une description de l'ordinateur des processus ou des pièces individuelles présentées sous la forme autre que le code de la machine ou le code de machine avec des caractéristiques supplémentaires de son interprétation. Un exemple d'un tel outil est un émulateur d'un autre code informatique. Différents de pipugeuses doivent être attribués à ce groupe d'outils. Chaque système de programmation contient un sous-système de programmation de la période d'exécution, qui effectue les fragments de logiciels de programmation les plus typiques et fournit une réponse standard aux situations exceptionnelles survenant lors de la réalisation de programmes (un tel sous-système que nous appellerons le soutien de la direction), peut également être considéré comme un groupe d'outils.

2. Environnements de développement de l'environnement instrumental. Actuellement, avec chaque système de programmation, les outils non séparés (par exemple, le compilateur) sont associés à un ensemble logique associé à des outils logiciels et matériels associés à la prise en charge du développement et de la prise en charge du PS dans ce langage de programmation ou orientés vers une zone spécifique. Un tel ensemble sera appelé l'environnement instrumental pour le développement et la maintenance de PS. Pour de tels environnements instrumentaux, il est caractéristique, premièrement, l'utilisation d'outils logiciels et matériels, et, deuxièmement, une certaine orientation ou à un langage de programmation spécifique, ou à une zone spécifique. Le support d'outil ne doit pas nécessairement fonctionner sur l'ordinateur sur lequel le PS développé sera appliqué. Souvent, une telle combinaison est assez pratique (si seule la puissance de l'ordinateur utilisé le permet): il n'est pas nécessaire de traiter des ordinateurs de différents types, les composants du support d'outil peuvent être inclus dans le PS développé.

Il existe trois principales classes de développement instrumental et de maintenance de l'environnement de programmation PS, · Places de travail sur la technologie informatique, · Systèmes instrumentaux de la technologie de programmation. L'environnement de programmation est principalement destiné à soutenir les processus de programmation (codage), les tests et le débogage de PS. Le lieu de travail de la technologie informatique est axé sur le soutien des premières étapes du développement de PS (spécifications) et de la génération automatique de programmes sur les spécifications. Le système d'instruments de la technologie de programmation est conçu pour supporter tous les processus de développement et de maintenance pendant tout le cycle de vie du PS et se concentre sur le développement collectif de grands systèmes logiciels avec un cycle de vie prolongé.

3. L'environnement d'outil de programmation contient principalement un éditeur de texte qui vous permet de concevoir des programmes dans un langage de programmation spécifié, des outils pour compiler ou interpréter des programmes dans cette langue, ainsi que des tests et déboguer les programmes obtenus. De plus, il peut y avoir d'autres outils, par exemple pour une analyse de programme statique ou dynamique. Ces outils interagissent les uns avec les autres via des fichiers réguliers à l'aide de fonctionnalités du système de fichiers standard. Les classes suivantes d'outils de programmation sont distinguées: · Environnement de destination général, · Environnements orientés par la langue.

Les outils de programmation à usage général contiennent un ensemble d'outils logiciels prenant en charge les programmes de programmation dans différentes langages de programmation (par exemple, un éditeur de texte, un éditeur de liaison ou un interprète de langue d'ordinateur cible) et représentent généralement une expansion des capacités de l'exploitation. système utilisé. Pour la programmation dans un tel environnement, tout langage de programmation nécessitera des outils supplémentaires orientés vers cette langue (par exemple, le compilateur). . . Classification de la programmation des médias à outils

4. Le concept de technologie de développement de la technologie informatique et de ses emplois. Il y a quelques difficultés à développer la définition stricte de la technologie de cas (technologie informatique pour le développement de PS). L'affaire est une abréaison de l'ingénierie logicielle aidée par ordinateur anglaise (ordinateur. Engineering de programmation aidé). Mais sans aide (support), l'ordinateur PS n'a pas été développé pendant une longue période (au moins le compilateur est utilisé). En fait, dans ce concept, une signification étroite (spéciale) est intégrée, ce qui est progressivement floue (comme il arrive toujours lorsque tout concept n'a pas de définition stricte). Initialement, le cas a été compris par l'ingénierie des premières étapes du développement PS (définition des exigences, développant une description externe et une architecture PS) à l'aide d'un support logiciel (outils logiciels). Maintenant, dans le cas, l'ingénierie de l'ensemble du cycle de vie PS peut également être comprise (y compris son soutien), mais uniquement dans le cas où les programmes sont partiellement ou entièrement générés par les documents obtenus aux premiers stades de développement spécifiés. Dans ce cas, la technologie de cas est devenue fondamentalement différente de la technologie manuelle (traditionnelle) du développement de PS: non seulement le contenu des processus technologiques a changé, mais leur intégralité elle-même.

Actuellement, la technologie de développement PS peut être caractérisée en utilisant un support logiciel pour le développement des exigences graphiques et des spécifications graphiques PS - Programmation automatique des programmes sur n'importe quel langage de programmation ou en code de machine (partiellement ou entièrement), le support logiciel de prototypage.

Le système d'instruments de la technologie de programmation est un ensemble intégré de logiciels et d'outils matériels qui prennent en charge tous les processus de développement et de maintien de la grande PS tout au long du cycle de vie dans une certaine technologie. À partir de cette définition, les principales caractéristiques suivantes de cette catégorie de soutien informatique coulent: · commercialisation, · Formalisation pour le développement collectif, · Certitude technologique, · Intégration.

Compte tenu des propriétés de la technologie de programmation, les trois composants principaux peuvent être distingués: · Base de données de développement (référentiel), · Toolkit, · Interfaces.

Repository - Un stockage de l'ordinateur central des informations relatives au projet (développement) du PS pendant tout le cycle de vie. Toolkit est un ensemble d'outils qui définissent les capacités fournies par l'équipe du développeur. Habituellement, cet ensemble est ouvert: en plus de l'ensemble minimal (outils intégrés), il contient les moyens d'expansion (outils importés) et structuré, constitué d'une partie commune de tous les outils (noyau) et structurel (parfois liés à la hiérarchie ) Cours d'outils. Les interfaces sont divisées en 1) sur mesure 2) systémique. L'interface utilisateur fournit un accès aux développeurs à la boîte à outils (langue de commande, etc.) est implémentée par la coque du système. Les interfaces système fournissent une interaction entre les outils et leurs pièces partagées. Les interfaces système sont attribuées en tant que composantes architecturales dues à l'ouverture du système - elles sont tenues d'utiliser de nouveaux outils (importés) inclus dans le système.

Il existe deux classes d'outils technologiques de programmation: 1) Systèmes de support de projet et 2) Systèmes instrumentaux dépendants de la langue. Le système de support de projet est un système ouvert capable de soutenir le développement du PS dans différentes langages de programmation après ses instruments d'expansion appropriés orientés vers la langue sélectionnée. Un tel système contient un noyau (fournissant notamment l'accès au référentiel), un ensemble d'outils de gestion de la gestion (gestion) par le développement de PS, indépendamment des outils linguistiques de programmation soutenant le développement de PS (texte et éditeurs graphiques, générateurs de rapport, etc.), ainsi que des outils d'expansion du système. Système instrumental dépendant de la langue est un système de soutien au développement PS à un langage de programmation qui utilise de manière significative les spécificités de cette langue pour organiser ses travaux. Cette spécificité peut également affecter les capacités du noyau (y compris sur la structure du référentiel) et sur les exigences de la coque et des outils.

Langue de modélisation UML unifiée La plupart des méthodes existantes d'analyse et de conception orientées objet (AOOAP) incluent à la fois une langue de modélisation et une description du processus de simulation. Le langage de modélisation est la notation (principalement graphique), qui est utilisé par la méthode de décrivant des projets. La notation est une combinaison d'objets graphiques utilisés dans les modèles; C'est la syntaxe de la langue de modélisation. Par exemple, la notation du diagramme des classes détermine la manière dont ces éléments et concepts, en tant que classe, association et multiplicité sont présentés. Le processus est une description des étapes qui doivent être exécutées lors du développement d'un projet. La mélange de modélisation de modélisation unifiée est le successeur de la génération de méthodes AOAP qui sont apparues à la fin des années 80 et au début des années 90.

UML Language est une langue de modélisation communautaire, conçue pour spécification, visualisation, conception et documentation de composants logiciels, processus métier et autres systèmes. La langue UML est simultanément simple et un puissant agent de modélisation qui peut être efficacement utilisé pour construire des modèles conceptuels, logiques et graphiques de systèmes complexes de divers objectifs. L'utilisation constructive de la langue UML est basée sur la compréhension des principes généraux de modélisation des systèmes complexes et des caractéristiques du processus de conception orienté objet (OOP) en particulier. Le choix des outils expressifs pour les modèles de systèmes complexes est prédéterminé par ces tâches pouvant être résolues à l'aide de modèles de données. Dans le même temps, l'un des principes de base de la construction de modèles de systèmes complexes est le principe de l'abstraction, qui la prescrit à inclure dans le modèle uniquement les aspects du système conçu, qui sont directement liés à la mise en œuvre du système de leurs fonctions. ou son objectif ciblé. Dans le même temps, tous les détails secondaires sont abaissés pour excessivement ne compliquent pas le processus d'analyse et d'étude du modèle obtenu.

UML contient un ensemble standard de diagrammes et de notations d'une grande variété d'espèces. Un diagramme à UML est une représentation graphique de l'ensemble d'éléments, qui est le plus souvent représenté sous la forme d'un graphe lié avec des sommets (entités) et des côtes (relations). Les graphiques dessinent pour visualiser le système de différents points de vue. Graphique - Dans un sens, une des projections du système. En règle générale, à l'exception des cas les plus triviaux, les diagrammes donnent une représentation laminée des éléments à partir duquel le système est composé. Le même élément peut être présent dans tous les graphiques, ou uniquement dans plusieurs (option la plus courante), ou ne pas être présents dans tout (très rarement). Les diagrammes théoriquement peuvent contenir toute combinaison d'entités et de relations. En pratique, cependant, un nombre relativement petit de combinaisons typiques correspondant aux cinq types les plus courants qui constituent l'architecture du système logiciel sont appliqués.

UML alloue les types de diagrammes suivants: - diagrammes d'options d'utilisation (diagrammes USESE) - pour modéliser les processus métier de l'organisation (exigences système); - Diagrammes de classe (diagrammes de classe) - Simuler la structure statique des classes de classe et des liens entre eux. Sur ces diagrammes, classes, interfaces, objets et coopérations sont indiqués, ainsi que leur relation. Lors de la modélisation des systèmes orientés objet, ce type de diagrammes est utilisé le plus souvent. Les diagrammes de classe correspondent au type statique de système en termes de conception; - Tableaux de comportement du système (diagrammes de comportement); Diagrammes d'interaction (diagrammes d'interaction) - simuler le processus de messagerie entre les objets. - Diagrammes StatChart - Pour simuler le comportement des objets du système lors de la mise sous tension d'un état à un autre.

- Diagrammes d'activité (diagrammes d'activités) - Simuler le comportement du système dans diverses utilisations ou activités de modélisation. - diagrammes de mise en œuvre: diagrammes de composants (diagrammes de composants) - pour la modélisation de la hiérarchie des composants (sous-systèmes de système); Diagrammes de placement (diagrammes de déploiement) - Simuler l'architecture physique du système.

abstrait

Le logiciel est un ensemble de systèmes de traitement de l'information et de documents de programme nécessaires pour exploiter ces programmes (GOST 19781-90). Aussi - un ensemble de programmes, de procédures et de règles, ainsi que de la documentation relative au fonctionnement du système de traitement de données (ST ISO 2382 / 1-84).

Logiciels instrumentaux - Logiciels destinés à être utilisés dans la conception, le développement et le soutien des programmes. Habituellement, ce terme est utilisé pour souligner les différences de cette classe en fonction des logiciels appliqués et du système.

Le compilateur est un traducteur qui effectue la conversion de programme compilée dans la langue source dans le module d'objet.

Interprète - Programme (parfois du matériel), analysant des commandes ou des opérateurs de programme et les exécuter immédiatement.

Le système d'exploitation est un ensemble de gestionnaires et de programmes de traitement qui, d'une part, agissent comme une interface entre les périphériques du système informatique et les programmes d'application, ainsi que sur l'autre - sont destinés aux dispositifs de contrôle, à la gestion des processus informatiques, à la répartition efficace de Ressources informatiques entre les processus informatiques et l'organisation de l'informatique fiable.

Programme d'application - Un programme conçu pour effectuer certaines tâches d'utilisateur et conçu pour une interaction directe avec l'utilisateur.

VisualBasic - Outil de développement de logiciels développé par Microsoft et comprend un environnement de langue et de développement de programmation.

VisualBasicForPlication est une implémentation un peu simplifiée du langage de programmation Visual Basic, intégré à la gamme de produits Microsoft Office (y compris les versions Mac OS), ainsi que dans de nombreux autres packages logiciels, tels que AutoCAD, SolidWorks, CorelDRAW, WordPerfect et ESRI ArcGIS.

L'objectif du travail est l'étude des espèces, des fonctions logicielles, en particulier de l'instrumentation.

Classification logicielle:

Types de logiciels instrumentaux:

1) Editeurs de texte

4) compilateurs

5) interprètes

6) Lynolovers

8) assemblages

9) débogueur

10) Profilants

11) Générateurs de documentation

Pour créer un programme dans le langage de programmation sélectionné, vous devez disposer des composants suivants:

2. Compilateur ou interprète. Le texte source utilisant le programme Compiler est traduit en un code d'objet intermédiaire.

Le résultat du travail: logiciel, ses fonctions et types, en particulier, les logiciels instrumentaux, son essence, ses tâches sont prises en compte. Le troisième chapitre examiné par Microsoft Visual Basic comme moyen de développement logiciel et de sa dialecte - Microsoft Visual Basic Forplication. Le travail du cours met en œuvre un algorithme de résolution d'une tâche financière et économique en utilisant le langage de programmation Pascal.

introduction

Dans le monde moderne, aucune personne qui n'a tenté les avantages de la civilisation ne peut soumettre sa vie sans utiliser de matériel informatique. Son utilisation se produit dans n'importe quel domaine de la vie humaine: la production, le commerce, la formation, le divertissement et la communication des personnes, de leurs activités scientifiques et culturelles. Tout cela est dû à la possibilité de sélectionner des équipements informatiques de résoudre tout, même la tâche la plus difficile.

Cependant, la polyvalence et la spécialisation dans les équipements informatiques sont assurées en utilisant presque tous les ordinateurs utilisant un ensemble de logiciels différent qui garantit que toutes les tâches définies.

Nous voyons tous une vaste variété de programmes informatiques et des taux époustouflants de leur croissance et de leur amélioration, et seule une petite partie de nous représente le côté invisible de leur conception, leur développement et sa création. Cependant, cette sphère de technologie informatique est à notre avis le plus important, car les technologies informatiques divergentes dépendront de son développement.

Et puisque le développement de tout programme informatique se produit à l'aide de logiciels instrumental, alors dans notre travail de cours, je voudrais y habiter en détail dessus, après l'avoir alloué à partir de l'ensemble du logiciel et de la discontinuité de son essence et de son absence.

Pour plus de clarté, nous examinerons le logiciel instrumental (objet d'objet) sur l'exemple du package logiciel VisualbasicforPlication (sujet) utilisé pour la programmation dans l'environnement MicrosoftOffice - le paquet de bureau le plus courant et le plus populaire.

1. Logiciel

1.1 Concept et essence de logiciels

Le logiciel (logiciel) fait partie intégrante du système informatique. C'est une continuation logique des moyens techniques de tout ordinateur. Le champ d'application d'un ordinateur particulier est déterminé par le logiciel créé pour cela. En soi, l'ordinateur n'a pas de connaissances dans un domaine d'application. Toutes ces connaissances sont axées sur les programmes effectués sur des ordinateurs disposant d'un ensemble de fonctionnalités spécifiques et sont destinés à effectuer des fonctions spécifiques, dans la plupart des cas, des fonctions hautement spécialisées, telles que la création et la transformation d'images graphiques ou de fichiers sonores.

Le logiciel représente actuellement des centaines de milliers de programmes destinés à traiter les informations les plus diverses avec les objectifs les plus divers.

Le logiciel (logiciel) inclut également l'ensemble des activités de conception et de développement:

1) technologie de conception de programme (par exemple, conception descendante, conception structurelle et orientée objet);

2) méthodes de test de programme;

3) méthodes de preuve de l'exactitude des programmes;

4) analyse de la qualité des programmes;

5) Documentation des programmes;

6) Développement et utilisation des outils logiciels facilitant le processus de conception de logiciels, et bien plus encore.

Il existe de nombreuses définitions de logiciels différentes. En général, le logiciel est un ensemble de systèmes de traitement d'informations et de documents de programme nécessaires pour exploiter ces programmes (GOST 19781-90). Aussi - un ensemble de programmes, de procédures et de règles, ainsi que de la documentation relative au fonctionnement du système de traitement de données (ST ISO 2382 / 1-84).

Le logiciel est l'un des types de systèmes informatiques, ainsi que des techniques (matériel), mathématique, information, linguistique, organisationnel et méthodologique.

Le mot logiciel du logiciel Word anglais est souvent utilisé dans l'argot informatique, qui dans ce sens appliqué dans l'article dans les mathématiques mensuelles mathématiques américaines de l'Université de Princeton John Tyuki (anglais. Johnw. Tukey) en 1958.

Autres définitions:

1) Le logiciel est un ensemble de programmes vous permettant de mettre en œuvre un traitement automatisé d'informations sur l'ordinateur.

2) Software (Machine de calcul électronique d'équipement mathématique), un ensemble de systèmes de traitement de données et de documents logiciels requis pour mettre en œuvre des programmes sur une machine informatique électronique.

3) Logiciel - Un ensemble de programmes de gestion du processus d'exploitation informatique, de la programmation automatisation.

4) Software - Un complexe de programmes informatiques qui fournit une transmission de traitement ou de transmission de données.

Toutes les définitions sont similaires et reflètent l'essence du logiciel - l'organisation de l'interaction de la partie matérielle (technique), sous la forme de divers nœuds intégrés et périphériques, leur contrôle et leur coordination de l'interaction globale du système informatique entre eux-mêmes et l'utilisateur.

1.2 Caractéristiques du logiciel

Les concepts logiciels susmentionnés entraînent des fonctions effectuées par des logiciels dans le processus de fonctionnement des équipements informatiques. La liste de ces fonctions est très diverse, mais de manière conventionnelle peut être divisée en cinq types suivants:

1. Matériel-mécanique. Effectuez les différents composants de l'ordinateur, assurez-vous du transfert du signal matériel d'un composant à un autre.

2. Logique de la machine. Traité et interpréter l'ensemble des impulsions matérielles électromagnétiques dans un code de programme conscient logiquement avec une structure et des propriétés spécifiques.

3. commandants d'information. Réaliser le code du programme conformément aux principes du système et à la création d'une structure d'informations logique et exécutez son exécution.

4. Interface. Fournir le traitement et l'interprétation du code de programme au format d'affichage disponible pour la perception par l'utilisateur. Crée un environnement favorable pour l'interaction d'une personne, une personne-ordinateur.

5. Appliqué. Effectue des actions mathématiques, logiques, physiques et autres avec un ensemble de données disponibles, en d'autres termes, le traitement des informations disponibles pour résoudre certaines tâches.

Cette liste est loin d'être complète, ce qui indique la diversité et l'ambiguïté des fonctions effectuées par le logiciel.

1.3 Types de logiciels

Selon les fonctions fournies par un composant spécifique de l'ordinateur, il est nécessaire de créer son propre logiciel spécialisé pour celui-ci, qui est le motif fondamental de la création de logiciels de différentes espèces indiquées sur (Fig. 1):

a) programmes d'application assurant directement l'exécution des utilisateurs de travail nécessaires;

b) Les programmes système sont destinés à contrôler le fonctionnement du système informatique, exécutant diverses fonctions auxiliaires, par exemple:

1) gestion des ressources informatiques;

2) créer des copies des informations utilisées;

3) vérifier les performances des périphériques informatiques;

4) émission d'informations de référence sur l'ordinateur et les autres;

c) Systèmes logiciels instrumentaux facilitant le processus de création de nouveaux programmes pour l'ordinateur.

Le logiciel système fournit une maintenance et une maintenance informatiques, ainsi que l'automatisation du processus de création de nouveaux programmes. Le logiciel système comprend: Systèmes d'exploitation et interface utilisateur; logiciel instrumental; Systèmes de maintenance.

Le système d'exploitation est une partie obligatoire du logiciel spécial, qui assure le fonctionnement efficace d'un ordinateur personnel dans divers modes qui organisent l'exécution du programme et l'interaction utilisateur et les périphériques externes avec des ordinateurs.

L'interface utilisateur (programmes de service) est la superstructures de logiciels du système d'exploitation (shell et moyen) conçue pour simplifier la communication utilisateur avec le système d'exploitation.

Les programmes fournissant une interface conservent le formulaire de communication (boîte de dialogue) de l'utilisateur avec le système d'exploitation, mais modifient la langue de la communication (généralement la langue de commande est convertie en langage de menu). Les systèmes de service peuvent être conventionnellement divisés en systèmes d'interface, obus de systèmes d'exploitation et de services publics.

Les systèmes d'interface sont des systèmes de services puissants, le plus souvent de type graphique qui améliore non seulement l'utilisateur, mais également l'interface de programme des systèmes d'exploitation, en particulier, en mettant en œuvre certaines procédures supplémentaires pour la séparation de ressources supplémentaires.

Les coquillages des systèmes d'exploitation fournissent à l'utilisateur un nouveau neuf que l'interface mise en œuvre par le système d'exploitation et apporte une connaissance facultative de ce dernier.

Les utilitaires automatisent l'exécution de procédures distinctes typiques et fréquemment utilisées, dont la mise en œuvre nécessiterait que l'utilisateur élabore des programmes spéciaux. De nombreux utilitaires ont une interface de dialogue d'utilisateur développé et approchent le niveau de communication sur les coquilles.

Logiciel d'outils (systèmes de programmation) - logiciels obligatoires, à l'aide de programmes. Le logiciel instrumental comprend des outils d'écriture logiciels (éditeurs de texte); Outils de conversion de programme dans la vue appropriée sur un ordinateur (assembleurs, compilateurs, interprètes, téléchargeurs et éditeurs de liaison), outils de contrôle de programme et de débogage.

Les éditeurs de texte vous permettent de modifier, de former et de combiner facilement les textes des programmes et de contrôler la syntaxe des programmes créés.

Le programme écrit dans la langue algorithmique doit être converti au module d'objet enregistré dans la machine (en codes binaires). Une telle transformation est effectuée par traducteur (assembleur - d'assembleur et compilateurs avec des langues de haut niveau). Pour certaines langues algorithmiques, des interprètes sont utilisés qui ne créent pas de module d'objet, et chaque fois une autre exécution du programme, qui a traduit chaque chaîne ou opérateur à la langue de la machine. Le module d'objet est traité par le chargeur de démarrage - L'éditeur des liens qui le convertissent en la machine exécutable.

Les outils de débogage vous permettent d'effectuer des traces de programme (exécution étape par étape avec des informations d'exécution sur les résultats d'exécution), afin de vérifier la syntaxe du programme et des résultats intermédiaires aux points d'arrêt, modifiez les valeurs des variables de ces points.

Les systèmes techniques et de services sont des contrôles logiciels, des diagnostics et la restauration de l'ordinateur, des disques, etc.

Le logiciel d'application fournit des solutions de tâches personnalisées. Le concept clé est un ensemble de programmes d'application.

Le package de candidature est un ensemble de programmes permettant de résoudre le cercle de tâches selon un certain sujet ou sujet. Les types de packages d'applications suivants sont distingués:

1) axé sur les objectifs généraux pour automatiser une large gamme de tâches utilisateur (processeurs de texte, éditeurs de tableau, systèmes de gestion de base de données, processeurs graphiques, systèmes de publication, systèmes d'automatisation design, etc.);

2) axé sur la méthode - la mise en œuvre de diverses méthodes économiques et mathématiques de résolution des problèmes (programmation mathématique, planification du réseau et gestion, théorie de la maintenance de masse, statistiques mathématiques, etc.);

3) axé sur les problèmes - visant à résoudre une certaine tâche (problème) dans une zone spécifique (packages bancaires, packages comptables, gestion financière, systèmes de référence juridique, etc.).

Les logiciels d'application comprennent un logiciel de service qui servir à organiser un environnement utilisateur convivial, ainsi que d'effectuer des fonctions auxiliaires (gestionnaires d'informations, traducteurs, etc.).

Lors de la construction d'une classification, il est nécessaire de prendre en compte le fait que le développement rapide de l'équipement de calcul et l'expansion de la portée des applications informatiques ont fortement accéléré le processus d'évolution du logiciel. Si, plus tôt, il était facile de répertorier les principales catégories de systèmes d'exploitation, de traducteurs, de forfaits d'application, la situation a maintenant changé radicalement. Le développement de logiciels a été profondément important dans (de nouvelles approches semblaient construire des systèmes d'exploitation, des langages de programmation, etc.) et du style (les programmes appliqués ont cessé d'être appliquées et acquises une valeur indépendante). Le rapport entre le logiciel logiciel et le marché est disponible très rapidement. Même les logiciels classiques, tels que les systèmes d'exploitation, se développent et administrés en permanence par des fonctions intellectuelles, dont beaucoup ont été traités auparavant auparavant aux capacités humaines intellectuelles.

2. Logiciel instrumental

2.1 Essence et concept de logiciel instrumental

Software Instrumental (IPO) - Logiciel conçu pour être utilisé dans la conception, le développement et la maintenance des programmes.

Outil d'occasion dans la phase de développement. Le logiciel instrumental est un ensemble de programmes utilisés pour aider les programmeurs à travailler pour aider les responsables de développement de logiciels dans leur désir de surveiller le processus de développement et les produits obtenus. Les représentants les plus célèbres de cette partie du logiciel sont des programmes de programmation des langages de programmation qui aident les programmeurs à écrire des commandes de la machine. Les programmes instrumentaux sont des traducteurs de Fortran, Cobol, Joe Flall, Beysik, APL et Pascal. Ils facilitent le processus de création de nouveaux programmes de travail. Cependant, les traducteurs avec des langues ne sont que la partie la plus connue des programmes instrumentaux; Il y en a beaucoup beaucoup.

L'utilisation de machines informatiques pour aider à développer de nouveaux programmes est loin d'être évidente pour les personnes qui ne sont pas des programmeurs professionnels. Il arrive souvent que des professionnels soient racontés sur l'instrumental (phase de développement) et le système (phase d'utilisation) par logiciel sur une seule respiration, en supposant que leurs compétences non dédiées au secret sont connues sur le rôle des logiciels instrumentaux. Tout comme dans la phase d'utilisation (pour les programmes d'application), le support système fonctionne dans la phase de développement, mais uniquement avec le support instrumental. Le logiciel instrumental ou le système de programmation est un système permettant d'automatiser le développement de nouveaux programmes de programmation.

Dans le cas le plus général, pour créer un programme dans le langage de programmation sélectionné (langage de programmation système), vous devez disposer des composants suivants:

1. Editeur de texte pour créer un fichier avec programme de texte source.

2. Compilateur ou interprète. Le texte source utilisant le programme Compiler est traduit en un code d'objet intermédiaire. Le texte source du grand programme consiste en plusieurs modules (fichiers avec textes de source). Chaque module est compilé dans un fichier séparé avec le code d'objet, qui doit ensuite être combiné en un.

3. L'éditeur de connexion ou le collecteur qui répertorie la liaison des modules d'objet et génère une application viable au code exécutable de sortie.

Le code exécutable est un programme complet pouvant être lancé sur n'importe quel ordinateur dans lequel le système d'exploitation est installé pour lequel ce programme a été créé. En règle générale, le fichier final a une extension. Lee ou.

Récemment, les méthodes de programmation visuelle ont été distribuées (à l'aide des langues de description de scénario) sur la création d'applications Windows. Ce processus est automatisé dans des environnements de conception rapides. Cela utilise des composants visuels prêts à l'emploi configurés à l'aide d'éditeurs spéciaux.

Les éditeurs les plus populaires (systèmes de programmation logiciels utilisant Visual signifie) Conception visuelle:

1) Borland Delphi - conçu pour résoudre presque toutes les tâches de programmation d'applications.

2) Borland C ++ Builder est un excellent outil permettant de développer des applications DOS et Windows.

3) Microsoft Visual Basic est un outil populaire pour créer des programmes Windows.

4) Microsoft Visual C ++ - Cet outil vous permet de développer toutes les applications exécutées dans Microsoft Windows de type OS.

Ainsi, l'essence du logiciel de l'outil consiste à créer n'importe quel programme exécutable en convertissant des expressions officiellement logiques dans le code de machine exécutable, ainsi que le contrôle et le réglage.

2.2 Tâches et fonctions du logiciel instrumental

Pour le logiciel instrumental, les deux types de logiciels spéciaux sont caractérisés par le général et le privé.

fonctions, ainsi que pour l'ensemble du logiciel dans son ensemble. Les caractéristiques générales sont considérées ci-dessus et des fonctions spécialisées inhérentes à ce type de programmes sont les suivantes:

1. Création du texte du programme développé à l'aide de mots de code spécialement installés (langage de programmation), ainsi qu'un ensemble spécifique de caractères et de leur emplacement dans la syntaxe de programme de fichiers créé.

2. Traduction du texte du programme créé dans un code orienté machine disponible pour la reconnaissance informatique. En cas de création d'une quantité importante du programme, elle est divisée en modules distincts et chacun des modules est traduit séparément.

3. Connexion de modules individuels dans un seul code exécutable, avec la conformité à la structure nécessaire, assurant la coordination de l'interaction des parties individuelles.

4. Tester et contrôler le programme créé, identifier et éliminer les erreurs formelles, logiques et syntaxiques, vérifiant les programmes pour les codes interdits, ainsi que l'évaluation des performances et du potentiel du programme créé.

2.3 Outils de logiciel instrumental

Sur la base des tâches définies avant le logiciel de l'outil, un grand nombre de types de logiciels d'outils peuvent être distingués:

1) Editeurs de texte

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

4) compilateurs

5) interprètes

6) Lynolovers

7) analyseurs d'analyseurs et générateurs (voir Javacc)

8) assemblages

9) débogueur

10) Profilants

11) Générateurs de documentation

12) Analyse de la couverture du code

13) Outils d'intégration continue

14) Outils de test automatisés

15) Systèmes de contrôle de la version, etc.

Il convient de noter que les coquilles de création d'applications sont également créées par des programmes d'outils et peuvent donc être attribués aux programmes d'application. Envisagez de nommer brièvement certains programmes instrumentaux.

Text éditeurs.

Editeur de texte - Un programme informatique conçu pour gérer des fichiers texte, tels que la création et la création de modifications.

Types de textes éditeurs.

Allouer de manière conditionnelle deux types d'éditeurs: streaming text éditeurs et interactif.

Les éditeurs de texte de flux sont des programmes informatiques destinés au traitement automatisé des données de texte d'entrée obtenues à partir d'un fichier texte, conformément aux utilisateurs prédéterminés des règles. Le plus souvent, les règles sont des expressions régulières sur une diagrade spécifique spécifiée pour cet éditeur de texte particulier. Un exemple d'un tel éditeur de texte peut être l'éditeur SED.

Les éditeurs de texte interactifs sont une famille de programmes informatiques conçus pour modifier le fichier texte en mode interactif. Ces programmes vous permettent d'afficher l'état actuel des données de texte dans le fichier et de produire différentes actions sur eux.

Souvent, les éditeurs de texte interactifs contiennent des fonctionnalités supplémentaires significatives conçues pour automatiser une partie des actions d'édition ou apporter une modification d'affichage de données texte, en fonction de leur sémantique. Un exemple de fonctionnalité du dernier type peut servir de surbrillance de la syntaxe.

Les éditeurs de texte sont conçus pour créer et éditer des documents texte. MS Word, le lexique sont les plus courants. Les principales fonctions des éditeurs de texte sont les suivantes:

1) Travailler avec des fragments du document,

2) insérer des objets créés dans d'autres programmes

3) Document de texte de panne sur les pages

4) Entrez et modifiez des tables

5) Entrez et modifiez des formules

6) Formatage de paragraphes

7) Listes automatiques

8) Création automatique du contenu de la table.

Des dizaines de textes éditeurs sont connus. Les plus accessibles sont le bloc-notes (Notepad), WordPad, Word. L'éditeur de texte spécifique est généralement déterminé par les fonctions, dont le but est reflété dans les éléments de menu et dans le système d'aide.

Environnement de développement intégré

Environnement de développement intégré, système de logiciels, utilisé par les programmeurs pour le développement logiciel (logiciel). Habituellement, l'environnement de développement comprend:

1) Editeur de texte

2) Compilateur et / ou interprète

3) Outils d'automatisation de l'Assemblée

4) débogueur.

Contient parfois également des outils d'intégration avec les systèmes de contrôle de version et une variété d'outils pour simplifier la conception de l'interface utilisateur graphique. De nombreux environnements de développement modernes incluent également le navigateur de classe, l'inspecteur d'objets et le graphique de hiérarchie des classes - destinés au développement logiciel orienté objet. Bien qu'il existe des environnements de développement destinés à de multiples langages de programmation - tels que Eclipse, Netbeans, Embarcadero Rad Studio, Qt Créateur ou Microsoft Visual Studio, l'environnement de développement est généralement destiné à une langue de programmation définie - telle que Visual Basic, Delphi, Dev -C ++.

Cas privé de l'environnement de développement visuel, qui incluait la possibilité d'édition visuelle de l'interface de programme.

Sdk.

SDK (du SoftwareDeDevelopmentkit anglais) ou "Devkit" - un ensemble d'outils de développement permettant aux spécialistes du logiciel de créer des applications pour un package logiciel spécifique, un logiciel de développement de base, une plate-forme matérielle, un système informatique, des consoles de jeux vidéo, des systèmes d'exploitation et d'autres plates-formes .

Un programmeur reçoit généralement le SDK directement du développeur de la technologie ou du système cible. Souvent, le SDK s'applique via Internet. De nombreux SDK sont distribués gratuitement pour encourager les développeurs à utiliser cette technologie ou cette plate-forme.

Les fournisseurs de SDK remplacent parfois le terme logiciel dans le kit de développement de logiciels de phrase pour un mot plus précis. Par exemple, "Microsoft" et "Apple" fournissent des kits de développement de pilotes (DDK) pour développer des pilotes de périphérique et "Palmsource" appelle sa boîte à outils pour le développement de "Palmos Development Kit (PDK)".

Exemples de SDK. :

5) Kit de développement Java

6) Dispositifs d'opéra SDK

Compilateurs.

Compilateur -

1) un programme ou un moyen technique exécutant la compilation.

2) Programme de la machine utilisée pour la compilation.

3) Un traducteur qui effectue le programme converti sur la langue source dans le module d'objet.

4) Un programme qui traduit le texte d'un programme de haut niveau en un programme équivalent dans la langue de la machine.

5) Un programme conçu pour diffuser une langue de haut niveau en code absolu ou, parfois, dans la langue des assembleurs. Les informations d'entrée du compilateur (code source) sont une description d'un algorithme ou d'un programme sur une langue axée sur des problèmes et à la sortie du compilateur - une description équivalente de l'algorithme sur une langue orientée machine (code d'objet).

Compilation -

1) Diffusion d'un programme proche de la machine.

2) Diffusion d'un programme compilé dans la langue source dans le module d'objet. Effectué par le compilateur.

Compiler - effectuez la diffusion du programme de la machine à partir d'une langue axée sur des problèmes à une langue orientée automatique.

Vues des compilateurs :

1) Vectorisants. Translève le code source dans le code de machine d'ordinateurs équipés d'un processeur vectoriel.

2) flexible. Compilé selon le principe modulaire, géré par des tables et est programmé dans une langue de haut niveau ou mis en œuvre à l'aide de compilateurs de compilateur.

3) dialogue.

4) incrémentiel. Diffuse à plusieurs reprises les fragments du programme et des ajouts sans recompiler l'ensemble du programme.

5) Interprétation (étape par étape). Effectue systématiquement une compilation indépendante de chaque opérateur (commande) du programme source.

6) compilateur compilateur. Un traducteur qui perçoit une description formelle du langage de programmation et du compilateur générateur pour cette langue.

7) Débogage. Élimine les types individuels d'erreurs syntaxiques.

8) Résident. Est constamment dans la mémoire principale et est disponible pour la réutilisation par de nombreuses tâches.

9) auto-compilé. Écrit dans la même langue à partir de laquelle la diffusion est effectuée.

10) universel. Basé sur la description formelle de la syntaxe et de la sémantique de la langue d'entrée. Les parties composites de ce compilateur sont: le noyau, les chargeuses syntaxiques et sémantiques.

Types de compilation :

1) lot. Compiler plusieurs modules source dans un élément de tâche.

2) ligne.

3) conditionnel. Compilation à laquelle le texte traduit dépend des conditions spécifiées dans le programme d'origine. Donc, en fonction de la valeur d'une certaine constante, vous pouvez activer ou désactiver la diffusion du texte du programme.

Structure du compilateur.

Le processus de compilation comprend les étapes suivantes:

1) analyse lexicale. À ce stade, la séquence de symboles du fichier source est convertie en une séquence Lex.

2) Analyse syntaxique (grammaticale). La séquence du lex est convertie en arbre d'analyse.

3) analyse sémantique. L'arbre d'analyse est traité dans le but d'établir sa sémantique (signification) - par exemple, des identificateurs de liaison à leurs déclarations, types, contrôle de compatibilité, définir les types d'expressions, etc. Le résultat est communément appelé "représentation / code intermédiaire / code", Et peut être un arbre de licenciement à jour, un nouvel arbre, un ensemble abstrait d'équipes ou autre chose, pratique pour un traitement ultérieur.

4) Optimisation. Supprimer des structures excessives et simplifier la conservation du code de sa signification. L'optimisation peut être à différents niveaux et étapes - par exemple, sur le code intermédiaire ou au-dessus du code de machine final.

5) Génération de code. De la vue intermédiaire, le code est généré sur la langue cible.

Dans des implémentations spécifiques des compilateurs, ces étapes peuvent être divisées ou combinées sous une forme ou une autre.

Diffusion et mise en page.

Une caractéristique historique importante du compilateur, reflétée dans son nom (eng. Compilez - de collecter ensemble, de composer), était que cela pourrait produire et mettre en page (c'est-à-dire contenant deux parties - un traducteur et un lieur). Cela est dû au fait que la compilation et la mise en page distinctes comme une étape de montage distincte ont été énoncées beaucoup plus tard que l'apparition de compilateurs. À cet égard, au lieu du terme "compilateur" utilise parfois le terme "traducteur", car il est synonyme: dans l'ancienne littérature, ou quand ils veulent mettre l'accent sur sa capacité à traduire le programme du code de la machine (et au contraire , utilisez le terme "compilateur" pour souligner la capacité de collecter de nombreux fichiers un).

Interprètes.

Interprète (langage de programmation) -

1) un programme ou un moyen technique exécutant une interprétation.

2) La vue du traducteur qui effectue le traitement et l'exécution du joueur (d'une image) du programme source ou de la demande (par opposition au compilateur diffusant l'ensemble du programme sans exécution).

3) Programme (parfois du matériel), analyser les commandes ou les opérateurs de programme et les exécuter immédiatement.

4) Le processeur de langue, qui implique le programme d'origine, tout en effectuant des actions prescrites et ne constitue pas un programme compilé dans la machine, qui est ultérieurement effectué.

Types d'interprètes.

Un interprète simple analyse et effectue immédiatement (inévitablement interprétation) le programme de Pomandandno (ou de ligne), car son code source arrive à l'entrée Interprète. L'avantage de cette approche est une réaction instantanée. Inconvénient - Un tel interprète détecte des erreurs dans le texte du programme uniquement lors de la tentative d'exécution d'une commande (ou d'une chaîne) avec une erreur.

L'interpréteur de type compile est un système de compilateur qui traduit le code source du programme en une représentation intermédiaire, par exemple au code d'octet ou à un code P et l'interprète réel qui effectue le code intermédiaire résultant (la machine virtuelle) . L'avantage de ces systèmes est une plus grande performance de la mise en œuvre des programmes (en raison de la suppression de l'analyse du code source dans un passage distinct et unique et de minimiser cette analyse dans l'interprète). Inconvénients - Plus de demande de ressources et d'exigence pour l'exactitude du code source. Il est utilisé dans des langues telles que Java, PHP, Python, Perl (code octet), REXX (maintient le résultat de l'analyse de code source), ainsi que dans divers SGBD (code P est utilisé).

En cas d'un interprète de type compile, les composants sont obtenus par un compilateur de langue et un simple interprète avec une analyse minimisée du code source. De plus, le code source d'un tel interprète n'a pas besoin d'avoir un format de texte ou d'être code d'octet que seul cet interprète comprend, il peut s'agir d'un code de machine de la plate-forme matérielle existante. Par exemple, des machines virtuelles telles que QEMU, Bochs, VMware comprennent des interprètes du code de machine de la famille des processeurs X86.

Certains interprètes (par exemple, pour LISP, Scheme, Python, Beysik et d'autres langages d'autres) peuvent travailler en mode de dialogue ou appelé cycle de contrôle de lecture (ENG. Read-eval-PrintLOOP, RÉPL). Dans ce mode, l'interprète lit la conception de la langue complétée (par exemple, S-Expression dans la langue LISP), l'exécute, imprime les résultats, après quoi il s'attend à l'attente de l'entrée de l'utilisateur de la conception suivante.

Unique est en avant, capable de travailler dans l'interprétation et la compilation des données d'entrée, ce qui vous permet de basculer entre ces modes sur un moment arbitraire, tant au cours de la transmission du code source qu'au cours du fonctionnement des programmes.

Il convient également de noter que les modes d'interprétation peuvent être trouvés non seulement dans des logiciels, mais également du matériel. Ainsi, de nombreux microprocesseurs interprètent le code de la machine à l'aide du micrologiciel intégré et les processeurs de la famille X86 commençant par Pentium (par exemple, sur l'architecture Intel P6), pendant le code de la machine, il est préchargé au format interne (dans le micro séquence opérationnée).

Algorithme d'un interprète simple :

2. analyser les instructions et déterminer les actions appropriées;

3. Effectuer les actions appropriées;

4. Si le programme n'est pas atteint, lisez les instructions suivantes et passez à l'étape 2.

Avantages et inconvénients des interprètes.

1) Grande portabilité des programmes interprétables - Le programme fonctionnera sur toute plate-forme sur laquelle il existe un interprète approprié.

2) Typiquement, des moyens plus avancés et visuels de diagnostic des erreurs dans les codes source.

3) Simplifiez le code de code source de débogage.

4) Tailles de code plus petites comparées au code de la machine obtenu après des compilateurs classiques.

1) Le programme interprétable ne peut être effectué séparément sans interprète de programme. L'interprète lui-même peut être très compact.

2) Le programme interprétable est plus lent, car l'analyse intermédiaire du code source et la planification de son exécution nécessitent une durée supplémentaire par rapport aux versions directes du code de la machine, que le code source pourrait être compilé.

3) Il n'y a pratiquement aucune optimisation de code, ce qui entraîne des pertes supplémentaires à la vitesse des programmes interprétables.

Lieur.

Linker (également connecté Editor, Linker) - Un programme qui produit une mise en page - prend sur l'entrée un ou plusieurs modules d'objet et recueille le module exécutable en fonction d'eux.

Pour lier les modules, la liaison utilise les noms des noms créés par le compilateur dans chacun des modules d'objet. Ces noms peuvent être de deux types:

1) Noms certains ou exportés - fonctions et variables définies dans ce module et fournies pour utiliser d'autres modules.

2) Noms incertains ou importés - fonctions et variables référencées par le module, mais ne les détermine pas en soi.

Le travail de liaison consiste à permettre aux liens de noms incertains dans chaque module. Pour chaque nom importé, sa définition est définie dans d'autres modules, la mention du nom est remplacée par son adresse.

La liaison ne vérifie généralement pas les types et le nombre de paramètres de procédures et de fonctions. Si vous devez combiner des modules d'objet d'objet écrites dans des langages de taper stricts, les contrôles nécessaires doivent être remplis avec un utilitaire supplémentaire avant de lancer l'éditeur de liens.

Assembleur.

Assembleur (de l'anglais. Assembleur - Un collecteur) - Un programme informatique, le compilateur de texte source du programme écrit dans la langue d'assembleur dans la langue de la machine.

Comme la langue elle-même (assembleur), les assembleurs sont généralement spécifiques à une architecture spécifique, à un système d'exploitation et à une option de syntaxe de langue. Dans le même temps, il existe un multiplateforme ou universel (plus précisément, limité, car dans la langue basse niveau, vous ne pouvez pas écrire de programmes indépendants du matériel) des assembleurs pouvant fonctionner sur différentes plates-formes et systèmes d'exploitation. Parmi ces derniers, vous pouvez également mettre en évidence un groupe croisé-assembleur capable de collecter du code de machine et des modules exécutables (fichiers) pour d'autres architectures et systèmes d'exploitation.

L'assemblage peut ne pas être la première et non la dernière étape sur le point d'obtenir le module de programme exécutable. Ainsi, de nombreux compilateurs de langages de programmation de haut niveau donnent le résultat sous la forme d'un programme dans la langue des assembleurs, que l'assembleur traite à l'avenir. En outre, le résultat de l'assemblage peut ne pas être exécuté et le module d'objet contenant des parties dispersées et inutiles du code de machine et des données du programme, à partir duquel (ou à partir de plusieurs modules d'objet), à l'avenir à l'aide du programme de liaison ("Linker ") Peut être organisé un fichier exécutable.

Le débogueur ou le débogueur est un module d'environnement de développement ou une application distincte conçue pour rechercher des erreurs dans le programme. Le débogueur vous permet d'effectuer des traces, de suivre, d'installer ou de modifier les valeurs des variables pendant l'exécution du programme, d'installer et de supprimer des points de contrôle ou des conditions d'arrêt, etc.

Liste de débogueur.

1) AQTime - Un débogueur commercial pour les applications créées pour .NET Framework version 1.0, 1.1, 2.0, 3.0, 3.5 (y compris les applications ASP.NET), ainsi que pour les applications Windows 32- et 64 bits.

2) DTRACE - Cadre de trace dynamique pour Solaris, OpenSolaris, FreeBSD, Mac OS X et QNX.

3) Clôture électrique - débogueur de la mémoire.

4) GNU Debugger (GDB) - Programmes de débogueur du projet GNU.

5) IDA est un puissant désassembleur et un débogueur de bas niveau pour les systèmes d'exploitation Famille Windows et Linux et Linux.

6) Microsoft Visual Studio - Environnement de développement logiciel qui comprend un débogage vers Microsoft Corporation.

7) OLLYDBG est un débogueur gratuit de faible niveau pour les systèmes d'exploitation Windows.

8) Softice - débogueur de bas niveau pour les systèmes d'exploitation Windows.

9) Sun Studio - Environnement de développement logiciel, y compris le débogueur DBX pour Solaris et Linux, de Sun Microsystems.

10) Dr. Watson est un débogueur Windows standard, vous permet de créer des vidages de mémoire.

11) TotalView est l'un des débuggeurs commerciaux pour UNIX.

12) Windbg est un débogueur gratuit de Microsoft Corporation.

Le générateur de documentation est un programme de programme ou logiciel qui vous permet de recevoir une documentation destinée aux programmeurs (documentation API) et / ou pour les utilisateurs finaux du système, selon un code source spécialement commenté et, dans certains cas, selon les modules exécutables. (obtenu à la sortie du compilateur).

Habituellement, le générateur analyse le code source du programme, mettant en évidence les constructions de syntaxe correspondant à des objets de programme importants (types, classes et membres / propriétés / méthodes, procédures / fonctions, etc.). L'analyse utilise également des méta-informations sur les objets du programme, présenté sous la forme de commentaires documentant. Sur la base de toutes les informations relatives aux informations collectées, la documentation à l'emploi est formée, en règle générale, dans l'un des formats généralement acceptés - HTML, HTMLHelP, PDF, RTF et autres.

Commentaires documentaires.

Documenter un commentaire est un commentaire spécialement décoré sur l'objet de programme, destiné à être utilisé par un générateur de documentation particulier. De quel type de générateur de documentation est appliqué, la syntaxe des structures utilisées dans la documentation des commentaires dépend.

Les commentaires de la documentation peuvent contenir des informations sur l'auteur du code, afin de décrire le but de l'objet du programme, de la signification des paramètres d'entrée et de sortie - pour la fonction / procédures, des exemples d'utilisation, des situations éventuelles exceptionnelles, des caractéristiques de la mise en œuvre.

Documenter les commentaires sont généralement établis en tant que commentaires multilignes dans le style de SI. Dans chaque cas, le commentaire doit être devant l'élément documenté. Le premier symbole dans les commentaires (et au début une ligne de commentaire) devrait être *. Les blocs sont séparés par des chaînes vides.

3. Visual Basic pour les applications

logiciel logiciel système système

3.1 L'essence de Visualbasic et de sa brève histoire

Microsoft Visual Basic (VB) - Outil de développement de logiciels développé par Microsoft et comprend un langage de programmation et un environnement de développement. La langue de Visual Basic a hérité de l'esprit, du style et une partie de la syntaxe de son ancêtre - une mauvaise langue, qui a beaucoup de dialectes. Dans le même temps, Visual Basic allie des procédures et des éléments de langages de programmation orientés orientés objet et orientés vers les composants. L'environnement de développement VB comprend des outils d'interface utilisateur de conception visuelle. (Voir le tableau.).

Visual Basic (caractéristiques clés)

Visual Basic est considéré comme un bon outil pour développer les prototypes de programme, développer des applications de base de données et, en général, pour la méthode de la composante de création de programmes exécutant les systèmes d'exploitation Microsoft Windows.

Dans le processus d'évolution, Visual Basic a passé un certain nombre d'étapes consécutives, ce qui lui a permis de devenir l'une des langues de programmation les plus populaires aujourd'hui. Donc, évolution VisualBasic a marché comme suit:

1. MAY1991 - Publié Visual Basic 1.0 Formicrosoft Windows. La syntaxe Qbasic a été prise comme base de la langue et l'innovation qui a été apportée par la langue de grande popularité était le principe de communication de la langue et de l'interface graphique.

2. Septembre 1992 - Libéré Visual Basic 1.0 sous DOS. Il n'a pas été entièrement compatible avec la version Windows de VB, car il s'agissait de la prochaine version de Quickbasic et travaillé dans l'écran en mode textuel.

3. Novembre 1992 - Publié Visual Basic 2.0. L'environnement de développement est devenu plus facile à utiliser et a fonctionné plus rapidement.

4. À l'été 1993 - Visual Basic 3.0 a été publié dans des versions standard et professionnelle. Tout le reste, le moteur de livraison a été ajouté pour travailler avec des bases de données d'accès.

5. Août 1995 - Visual Basic 4.0 - Version pouvant créer des programmes Windows 32 et 16 bits.

6. Février 1997 - Visual Basic 5.0 - Démarrage de cette version, il est devenu possible, ainsi que des applications ordinaires, développent des composants COM.

7. Au milieu de 1998 - Visual Basic 6.0 est sorti. Après cela, Microsoft a radicalement modifié des politiques concernant les langues de la famille de base. Au lieu de développer Visual Basic, une langue absolument nouvelle de Visual Basic est créée.

8. En 2005, une nouvelle version de Visual Basic a été publiée, incluait Visual Studio. Elle a plu avec une nouvelle interface et des capacités. La langue est basée sur Visual Basic.Net.

9. À la fin de 2007, Microsoft a publié une nouvelle version de Visual Basic - Visual Basic 2008, également basée sur Visual Basic.Net.

Sur la base de la fonctionnalité et des spécificités de l'application, les variétés suivantes du programme spécifié peuvent être distinguées:

1. Classic Visual Basic (version 5-6) Cette langue est très fortement liée à son environnement de développement et au système d'exploitation Windows, étant exclusivement l'outil d'écriture pour les applications Windows.

2. VisualBasicforApplications (VBA) Il s'agit d'un outil de programmation, pratiquement non différent du classique Visual Basic, destiné à écrire des macros et d'autres programmes d'application pour des applications spécifiques. J'ai reçu la plus grande popularité grâce à votre utilisation dans Microsoft Office Package. La diffusion généralisée de base visuelle pour les applications associées à une attention initialement insuffisante sur les problèmes de sécurité a entraîné les macros généralisées.

3. Langue de script VisualBasicsCriPSedition (VBScript), qui est une version légèrement tronquée de l'habituel Visual Basic. Il est utilisé principalement pour automatiser l'administration de systèmes Windows, ainsi que pour créer des pages et des scripts ASP pour Internet Explorer.

3.2 Interface VisualBasicForPlication, fonctions de base et fonctionnalités

En créant VisualBasicforApplication, Microsoft a soulevé sa tâche principale pour créer une prise en charge des outils pour les utilisateurs qui ne sont pas des programmeurs professionnels, mais suffisamment qualifiés pour développer et concevoir des programmes d'application et des applications basées sur MicrosoftOffice. Il résolvait la tâche spécifiée que les développeurs ont créé VBA, après avoir doté un certain nombre de fonctionnalités uniques. L'une de ces personnes les plus précieuses pour l'utilisateur est la possibilité de créer et d'utiliser des boîtes de dialogue non standard (personnalisables) dans des programmes, en ajoutant un objet userForm au projet, ainsi qu'une interface utilisateur conviviale.

L'interface du programme VisualBasicforApplication se termine à partir du complexe de diverses fenêtres et onglets utilisés dans la conception de l'application créée, dont la principale est:

1) Fenêtre de projet (Fig. 2), qui affiche la structure du projet créée.

2) La fenêtre de code de programme (Fig. 3), qui affiche le code de programme du projet créé et la possibilité d'écrire le programme à la méthode classique à l'aide de l'éditeur Word de code intégré, qui dans VBA plus de 16 000 personnes. En outre, cette fenêtre vous permet de modifier le code et de le vérifier pour des erreurs.

3) Onglet Propriétés (Fig. 4) Affiche les paramètres définis sur l'objet spécifié et la possibilité de modifier les paramètres spécifiés.

Déplacement entre Windows et Signets, l'utilisateur peut facilement personnaliser le projet créé.

À l'aide du formulaire VBA généré par l'utilisateur, vous pouvez créer des boîtes de dialogue non standard permettant d'afficher des données ou de recevoir des valeurs de l'utilisateur de l'utilisateur comme la plus conforme aux besoins du programme. Par exemple, vous pouvez créer un test, afficher une boîte de dialogue permettant d'afficher des questions avec des options de réponse et de fournir à l'utilisateur la possibilité de choisir l'une des options de réponse qu'il considère fidèles.

Les boîtes de dialogue non standard permettent au programme d'interagir avec son utilisateur de la manière la plus difficile et de fournir une variété d'entrées et d'une sortie de données.

La boîte de dialogue non standard est créée dans la VBA en ajoutant l'objet UserForm au projet. Cet objet est une boîte de dialogue vide; Il a une chaîne d'en-tête et un bouton de fermeture, mais il n'y a pas d'autres contrôles dedans. La boîte de dialogue non standard est créée en ajoutant des commandes à l'objet UserForm et est généralement appelée simplement formulaire (Fig. 5).

Chaque objet UserForm a des propriétés, des méthodes et des événements hérités de la classe d'objets userForm.

Chaque objet userForm contient également un module de classe auquel l'utilisateur ajoute ses propres méthodes et propriétés ou entre les procédures de traitement de ce formulaire.

Possibilité de créer une interface créative, indépendamment de l'environnement d'application de programme, telle que Excel, à l'aide de formulaires d'écran, est l'une des caractéristiques les plus précieuses de VBA.

Les formes d'écran sont les fenêtres de diverses fins et le type créé par l'utilisateur pour votre application. Ils contiennent des contrôles permettant à l'utilisateur de partager des informations avec l'application.

VBA utilise la conception graphique de formulaire créée - avec les paramètres des propriétés du formulaire et des commandes - pour obtenir toutes les informations nécessaires à l'affichage de la boîte de dialogue: les dimensions de la boîte de dialogue, les éléments de contrôle de celui-ci, etc. En conséquence, VBA vous permet d'afficher la forme de la boîte de dialogue à l'aide d'une seule instruction.

Pour afficher une boîte de dialogue non standard, utilisez la méthode UserForm Afficher la méthode. Si au moment opportun, le formulaire n'est pas chargé en mémoire, la méthode Afficher la charge et l'affiche. Si le formulaire est déjà chargé, la méthode Afficher l'affiche simplement.

Affichage d'une boîte de dialogue pour effectuer la tâche ne suffit généralement pas. Il est presque toujours nécessaire de déterminer l'état des commandes de la boîte de dialogue afin de déterminer quelles données ou options ont choisi l'utilisateur. Par exemple, si la boîte de dialogue est utilisée pour obtenir des informations de l'utilisateur sur la manière dont les colonnes et les lignes doivent être organisées par feuille de travail, il est nécessaire d'avoir la possibilité de déterminer les valeurs d'utilisateur saisies après la fermeture de la boîte de dialogue et au début réel de l'opération de commande.

Dans d'autres cas, il peut être nécessaire de modifier de manière dynamique les en-têtes des boutons (ou d'autres commandes) de la boîte de dialogue, la mise à jour dynamique de l'inscription ou du champ associé au compteur ou à la confirmation dynamique de la boîte de dialogue Data.

La possibilité d'étendre de manière significative l'ensemble des fonctions intégrées à l'application standard, telles que Microsoftexcel, ainsi que créer des fonctions dont les valeurs dépendent des conditions et des événements.

VBA vous permet de programmer des fonctions tabulaires. Pour créer une feuille de travail distincte pour un module logiciel, un module d'insertion est fourni à partir du menu Visual, la commande de module dans le menu Insérer Macro. Après cela, une nouvelle feuille de travail «Modele1» apparaîtra. Dans le module logiciel, vous devez décrire la fonction dans la langue VBA. Dans la fenêtre Module de programme, vous pouvez travailler comme dans la fenêtre d'un petit éditeur de texte.

Les fonctionnalités d'intégration sont effectuées par la commande Navigateur d'objet dans le menu Affichage. Les fonctions définies par l'utilisateur sont considérées dans le programme en tant qu'objets indépendants. VBA a un ensemble important de fonctions intégrées, les séparant aux types.

Visual Basic vous permet de réserver des variables, en indiquant à la fois sans cela, travaillez avec différents types de données, utilisez des constantes, de travailler avec des opérateurs et des fonctions mathématiques, utilisez des opérateurs supplémentaires. Utilisation des opérateurs de cycle pour les prochains objets de type minuterie (chronomètre invisible dans le programme). La précision du réglage du temps dans le programme est de 1 milliseconde, ou 1/1000 secondes. La minuterie lancée travaille constamment - c'est-à-dire La procédure de traitement d'interruption appropriée est effectuée à un intervalle de temps donné - jusqu'à ce que l'utilisateur arrête la minuterie ou désactive le programme.

Dans VBA, vous pouvez spécifier n'importe quelle propriété pour le formulaire, y compris le titre, la taille, le type de trame, la couleur d'arrière-plan et les symboles, la police de texte et le modèle d'arrière-plan.

Si vous résumez toutes les fonctions du programme, alors Visual Basic ForPplication vous permet de:

1) Travailler avec des contrôles

Dignité :

1. Applications à haute vitesse avec une interface graphique pour MS Windows.

2. Une syntaxe simple qui vous permet de maîtriser rapidement la langue.

3. La possibilité de compiler à la fois dans le code de la machine et dans le code P (par la sélection d'un programmateur). En mode de débogage, le programme est toujours compilé dans le code P, ce qui vous permet de suspendre l'exécution du programme, d'apporter des modifications importantes dans le code source, puis de poursuivre l'exécution: recomposition complète et redémarrage du programme n'est pas requis.

4. Protection contre les erreurs associées à l'utilisation des pointeurs et de l'accès à la mémoire. Cet aspect rend les applications de base visuelles plus stables, mais constitue également un objet de critique.

5. Possibilité d'utiliser la plupart des fonctionnalités Winapi pour développer la fonctionnalité de l'application. Dan Apploman, qui a écrit le Guide de l'API Win32 de Win32, cette question est la plus explorée. "

Critique :

1. Les aspects de Visual Basic sont souvent critiqués, car la capacité de désactiver les moyens de suivi des variables déclarées, la capacité de conversion variable implicite, la présence du type de données "variante". Selon les critiques, il permet d'écrire un code extrêmement mauvais. D'autre part, cela peut être considéré comme un plus, car VB n'impose pas de "bon style", mais donne plus de liberté par le programmeur.

2. Manque de pointeurs, accès à la mémoire de bas niveau, inserts ASM. Malgré le fait que le paradigme Visual Basic permet à un programmeur VB moyen de se passer de tout cela, les choses énumérées deviennent aussi souvent des objets de critique. Et cependant, en utilisant des capacités sans papiers et de certaines astuces, tout cela peut être mis en œuvre sur VB (par exemple, à l'aide de fonctions pour obtenir VARPTR (), STRPTR () et Objptr ()); Il est beaucoup plus compliqué d'utiliser ces astuces que, par exemple, en C ++.

Cependant, il convient de noter que toutes les lacunes de la langue proviennent de son principal avantage - la simplicité du développement d'une interface graphique. Par conséquent, de nombreux programmeurs utilisent Visual Basic pour développer une interface utilisateur et la fonctionnalité du programme est implémentée sous forme de bibliothèques connectées dynamiquement (DLL) écrites dans une autre langue (le plus souvent C ++).

4. partie pratique

4.1 Déclaration de problème

Faites un diagramme de bloc et écrivez un programme à Pascal. Calculer le coût interne des titres. La valeur interne de l'actif est déterminée par le flux de revenus futurs de cet actif.

pV - valeur interne actuelle de l'action

c - Arrivée attendue de l'actif considéré

r - Taux de production attendu par un investisseur à revenu avec le niveau de risque correspondant

n est le facteur horaire (en mois).

Effectuer l'analyse du marché et rationaliser le résultat dans l'ascension des données obtenues.

4.2 Texte du programme à Pascal

pV: tableau de réel;

writeln ('Entrez dans l'entrée attendue de', je, '- Go Asset C:');

writeln ('Entrez le taux de rentabilité attendu par l'investisseur R:');

pV: \u003d c / exp (ln (1 + r) * i);

writeln ('la valeur interne actuelle de l'actif est', PV [I]: 1: 3);

writeln («la valeur de l'actif interne est égale à ', s);

pour J: \u003d 1 à 4 faire

si PV [J]\u003e PV alors

writeln (le coût des actifs triés en augmentant »);

pour i: \u003d 1 à 5 faire

writeln (PV [I]: 1: 3);

4.3 Exemple de contrôle

4.4 Résultat de l'exécution du programme sur l'exemple de contrôle

Conclusion

Ainsi, résumant tout ce qui précède, il convient de noter que le logiciel instrumental est l'un des types de logiciels, possédant ses tâches et ses fonctions communes.

Cependant, étant un type de logiciel hautement spécialisé, il dispose d'un certain ensemble de propriétés et de fonctions uniques garantissant la solution des tâches inhérentes à celle-ci.

Il est nécessaire de noter la tendance émergente à simplifier le processus de programmation et de création d'une programmation semi-professionnelle spécifique à des fins applicables.

Cela permettra à l'utilisateur expérimenté de l'utilisateur, mais pas à un programmeur professionnel, créer des applications et de petits fichiers exécutables MicrosoftFice utilisés principalement pour la gestion de la comptabilité et de la gestion des documents dans les petites entreprises.

Pour cette fin, Microsoft a été développé par le package logiciel VisualbasicforPlication, ce qui facilite la facilité de faciliter le processus de programmation et a permis de gérer la programmation des applications et non des programmeurs. Cette fonctionnalité a été implémentée principalement en créant une partition de programme - "Éditeur de script" et la possibilité d'enregistrer et d'exécuter des "macros", en tant que type distinct de modules programmables graphiquement. Mise en œuvre de la possibilité de créer des applications avec une interface graphique pour MS Windows. De plus, l'avantage de ce type de logiciel d'outil est une syntaxe simple qui vous permet de maîtriser rapidement la langue et d'l'appliquer à la programmation dans toutes les applications MicrosoftOffice standard.

Il est donc difficile de surestimer l'importance du soutien instrumental en général et de VisualBasicForPlication en particulier, bien que les lacunes, et elles ont été mentionnées ci-dessus, ont également lieu. Mais ce n'est que même pas des aspects négatifs du produit, mais des directives pour une amélioration supplémentaire du soutien instrumental dans la personne de VisualbasicforPlication.

1. Langues algorithmiques de temps réel / ed. Yang S. / 2004

2. Magazine PC Magazine Edition russe №2 2008. Ordinateur aujourd'hui.

3. Informatique. / Ed. Mogilev A.V., Pak N.I., Henner EK / - M.: Academia, 2000.

4. Informatique et technologie de l'information: manuel / éd. Romanova d.yu. / LLC "Editeur" Eksmo ", 2007.

5. L'encyclopédie la plus récente d'un ordinateur personnel / éd. Leoniev V. / Moscou, 1999. - 271 p.

6. Nouvelles langages de programmation et tendances dans leur développement / ed. Ushkova V. / 2001

7. Pédagogie / Ed. Pidciste P.I. / - M.: Société pédagogique, Russie, 2000.

8. Programmation pour Microsoft Excel 2000 pour 21 jours. / Ed. HARISA M. / - M.: Williams, 2000.

9. Simonovich S. Informatique: cours de base. Études. Pour les universités. Saint-Pétersbourg, Peter, 2002

10. Avec Excel 2000 sans problèmes. / Ed. KOVALSKI / - M.: BININ, 2000.

11. "Travail efficace dans Windows 98" / ED. Stinson K. / 2000. - 247 p.

12. Langues de programmation. kn.5 / ed. Vauina A.S. / 2003

13. Langues de programmation: Développement et mise en œuvre / Ed. Terrens P. / 2001

14. Manuel informatique électronique. Aleksev ex. http: //www.stf.mrsu.ru/economic/lib/informatics/text/prog.html \\

Section technologique

Technologie de développement de logiciels

3.1.1 Définition des processus du sujet

Actuellement, les technologies de l'information sont largement introduites dans toutes les sphères de l'activité humaine. Cela conduit au développement d'un énorme logiciel pour logiciels (PS) d'objectifs fonctionnels divers. Dans le même temps, le volume et la complexité du PS utilisé augmentent constamment. À cet égard, de nombreuses approches du développement de PS, utilisées aux premières étapes du développement de l'équipement informatique, perdent leurs positions, car elles n'obtiennent pas complètement le PS du niveau de qualité requis pour la période de temps limitée. ressources financières, humaines et techniques.. Ceci est connecté à un certain nombre de raisons. Premièrement, une campagne intuitive pour le développement de PS, basée sur les connaissances, les compétences et les talents de programmeurs individuels, ne permet pas de développer un PS complexe et de contredire les principes de leur développement collectif. Deuxièmement, l'utilisation de méthodes de développement collectif nécessite une approche structurée des concepts de cycle de vie (LCC) et des modèles de cycle de vie logiciel (LCC PS). Sinon, il existe des risques importants pour ne pas amener le projet à la fin ou ne pas obtenir de produit avec des propriétés spécifiées. Troisièmement, les méthodologies pour le développement de PS avec la croissance de la complexité et de la criticité de ces derniers cesser de respecter les objectifs et les objectifs confrontés à leurs développeurs. Quatrièmement, la croissance de la complexité et du volume de la PS développée conduit automatiquement à l'apparition de méthodologies suffisamment complexes pour l'analyse, la conception et les étapes de développement ultérieures. L'utilisation de telles méthodologies devient impossible sans utiliser d'outils instrumentaux pour leur soutien. Les raisons susmentionnées conduisent souvent à des résultats insatisfaisants de projets.

3.1.2 Processus de gestion de projet

La conception modulaire est l'une des premières approches du développement de la structure PS et conserve sa position comme une approche classique et comme base pour les technologies de développement des PS modernes. Lorsque vous développez un PS modulaire, des méthodes de conception structurelle ou de méthodes de conception orientée objet peuvent être utilisées. Leur objectif est de former la structure du programme créé - sa séparation selon certaines règles établies sur les composants structurels (modularisation) avec l'organisation hiérarchique ultérieure de ces composants. Pour différentes langages de programmation, les composants peuvent être des sous-programmes, des modules externes, des objets, etc. Vue d'ensemble des méthodes d'analyse et de conception orientées objet est donnée en section. 6. Cette section couvre les méthodes de projet structurel. Ces méthodes sont axées sur la formation d'un cadre pour une base fonctionnelle. La définition classique du programme modulaire idéal est la suivante. Le programme modulaire est un programme dans lequel une partie d'une structure logique peut être modifiée sans entraîner des modifications de ses autres parties.

Figure 3.1 - Imposition de groupes de processus dans la phase

Figure 3.2 - La relation entre les processus de gestion de projet en phase

Dans le projet réel, les phases peuvent non seulement précéder mutuellement, mais également le chevauchement. L'initiation répétée à différentes phases du projet aide à contrôler la pertinence du projet. Si la nécessité de sa mise en œuvre a disparu, la prochaine initiation vous permet de l'installer à temps et d'éviter les coûts inutiles.

3.1.3 Technologie de développement rapide de l'application

Le développement Delphi Mercredi sélectionné pour créer un projet d'études supérieures utilise la technologie (développement d'applications rapides - développement d'applications rapide). Cela signifie que le développement de logiciels dans un environnement instrumental spécial est basé sur la visualisation du processus de création d'un code de programme. Les outils de développement d'applications rapides sont basés sur l'architecture des composants. Dans ce cas, les composants sont des objets combinant des données, des propriétés et des méthodes. Les composants peuvent être à la fois visuels et inconsistants; atomique et conteneur (contenant d'autres composants); Bas niveau (système) et de haut niveau.

Avec la conception visuelle, l'utilisateur offre la possibilité de sélectionner les composants nécessaires à partir d'un jeu (palette) avec la tâche ultérieure de leurs propriétés. Pour faire référence aux outils de conception visuels, utilisez une large gamme de termes, notamment: concepteur de présentation, concepteur de formulaire, éditeur visuel, concepteur d'écran, concepteur de formulaire, concepteur d'interface utilisateur graphique, etc. La procédure de développement d'une interface avec des outils Rad est réduite à un ensemble d'opérations séquentielles, notamment:

Placement de composants d'interface au bon endroit;

Définissez les moments du temps de leur apparence sur l'écran;

Définition des attributs associés à eux et événements.

L'efficacité de la programmation visuelle n'est pas tellement déterminée par la présence des composants visuels eux-mêmes, du nombre d'interconnexions et d'interaction des moyens traditionnels. Même si l'environnement de programmation ne contient pas de nombre suffisant de composants requis, il sera toujours à la demande s'il vous permet de développer indépendamment les composants nécessaires ou d'utiliser les fabricants tiers existants, alternatif à ceux qui y sont absents.

En d'autres termes, la technologie de développement logiciel rapide est basée sur un environnement de programmation intégré avec lequel des processus de conception, des produits de débogage et de test appliqués sont effectués.

3.1.4 Cycle de vie du programme de formation de paquets de documents

Le modèle de cycle de vie est une structure qui détermine la séquence de processus, actions et tâches effectuées tout au long du cycle de vie du logiciel d'application, ainsi que la relation entre ces processus, actions et tâches. Le modèle de cascade a été utilisé pour développer le programme. Ce modèle démontre une approche classique du développement de divers systèmes dans tous les domaines appliqués. Il prévoit une organisation cohérente de travail. La principale caractéristique consiste à diviser l'ensemble du développement aux étapes et la transition d'une étape à la suivante ne se produit qu'après l'achèvement complet de toutes les œuvres à l'étape précédente.

Le développement du programme a été réalisé à plusieurs étapes:

Analyse des besoins des clients: À ce stade, des problèmes découlant lors de l'exploitation de logiciels similaires et ont formulé la tâche technique présentée dans la section de recherche du projet de diplôme;

Conception: Des solutions de conception répondant à toutes les exigences formulées dans la tâche technique sont développées. Une base de données, un diagramme structural et des algorithmes des modules de programme présentés dans une section spéciale du projet de graduation sont créés;

Développement de logiciels: le développement de logiciels a été effectué conformément aux solutions de conception de la phase précédente. À ce stade, les modules de programme nécessaires sont créés. Certains des modules développés sont présentés à la figure 3.3. Le résultat de l'exécution de cette étape est un produit de logiciel prêt à l'emploi;

Essais et exploitation expérimentée: une vérification du logiciel reçu pour le respect des exigences déclarées dans la tâche technique est effectuée;

Livraison du produit fini.

Figure 3.3 - Modules du programme développé

Signes de modularité logicielle: 1) Le programme consiste en des modules. Cette fonctionnalité pour un programme modulaire est évidente; 2) Les modules sont indépendants. Cela signifie que le module peut être modifié ou modifié sans conséquences dans d'autres modules; 3) La condition "une entrée est une sortie". Le programme modulaire consiste en des modules ayant un point d'entrée et un point de sortie. En général, il peut s'agir d'une entrée, mais il est important que les points d'entrée soient déterminés et que d'autres modules ne puissent pas entrer dans ce module à un point arbitraire. Avantages de la conception modulaire: 1) Simplifiant le développement de PS; 2) élimination du traitement excessivement des données; 3) Simplifier le soutien du PS; 4) faciliter la lecture et la compréhension des programmes; 5) Soulagement fonctionnant avec des données ayant une structure complexe. Inconvénients de la modularité: 1) L'approche modulaire nécessite une période plus grande du processeur central (en moyenne de 5 à 10%) en raison du temps de manutention des modules; 2) La modularité du programme entraîne une augmentation de son volume (en moyenne de 5 à 10%); 97 3) La modularité nécessite une opération supplémentaire du programmeur et des compétences définitives de conception PS. Les méthodes classiques de conception structurelle de PS modulaires sont divisées en trois groupes principaux: 1) des méthodes de conception vers le bas; 2) méthodes d'expansion de base; 3) méthodes ascendantes. En pratique, diverses combinaisons de ces méthodes sont généralement appliquées. Résumé Dans le programme modulaire idéal, toute partie de la structure logique peut être modifiée sans provoquer des modifications de ses autres parties. Le programme de module idéal est composé de modules indépendants ayant une entrée et une sortie. Les programmes modulaires ont des avantages et des inconvénients. Il existe trois groupes de méthodes classiques pour la conception de PS modulaires.

3.1.5 Méthodologie, technologie et outils Développement de logiciels d'application

La méthodologie, la technologie et les moyens instrumentaux (affaire) reposent sur la base de la conception de tout programme, technique, systèmes d'information. En ce qui concerne les logiciels, la méthodologie est mise en œuvre via des technologies spécifiques et soutenant leurs normes, techniques et outils garantissant les processus du cycle de vie des produits logiciels.

La méthodologie de création de programmes d'application consiste à organiser le processus de construction de logiciels et à assurer la gestion de ce processus afin de garantir la réalisation des exigences relatives à la fois au système lui-même et aux caractéristiques du processus de développement.

Chaque opération technologique doit être fournie avec les données obtenues lors de l'opération précédente (ou des données de source); matériaux méthodologiques, instructions, normes, normes; logiciel et moyens techniques. Les résultats de l'opération doivent être soumis sous une certaine forme standard, fournissant leur perception adéquate lors de l'exécution des opérations technologiques ultérieures.

Outils de développement automatisés Outils de cas applicables (logiciel assisté par ordinateur / système). Actuellement, le sens de ce terme a augmenté et acquis une nouvelle signification, couvrant le processus de développement de systèmes d'information complexes dans son ensemble. Maintenant, le terme moyen de cas est compris par des outils logiciels prenant en charge les processus de création et de maintien de systèmes d'information, y compris l'analyse et la formulation d'exigences, la conception des logiciels d'application et des bases de données, la génération de codes, les tests, la documentation, l'assurance de la qualité, la gestion de la configuration et la gestion de projet. , ainsi que d'autres processus.

RAD est un ensemble d'outils spéciaux pour développer des systèmes logiciels d'application qui fonctionnent avec un ensemble spécifique d'objets graphiques qui affichent fonctionnement des composants d'informations individuels. Lorsque vous utilisez cette méthodologie, l'expérience et le professionnalisme des développeurs ont une grande importance.

Les principes de base de la méthodologie RAD peuvent être réduits aux éléments suivants:

Le modèle de développement itératif est utilisé et l'achèvement complet des travaux sur chacune des étapes du cycle de vie n'est pas nécessaire;

Dans le processus de développement, une coopération étroite avec le client et les futurs utilisateurs est nécessaire;

Il est nécessaire d'appliquer des fonds de cas et des moyens de développement rapide des applications;

Il est nécessaire d'appliquer les outils de gestion de la configuration facilitant l'introduction des modifications apportées au projet et à la maintenance du système fini;

Les tests et le développement de projets sont effectués simultanément avec le développement;

Le développement est effectué une équipe de professionnels bien gérée et il est nécessaire de la gestion compétente du développement du système, de la planification claire et du contrôle des performances du travail.

Les outils Rad disposent d'une interface graphique pratique et vous permettent de former des applications simples basées sur des objets standard avec presque aucun code de programme d'écriture. Cela réduit largement les travaux de routine sur le développement de la partie d'interface des applications, car Lors de l'utilisation de supports conventionnels, le développement d'interfaces est une tâche assez laborieuse qui prend du temps beaucoup de temps. Ainsi, les outils Rad permettent aux développeurs de concentrer des efforts sur l'essence des processus réels du sujet de l'objet de programmation, ce qui entraîne une meilleure qualité de la qualité du système.

Les outils de développement visuels sont principalement utilisés avec des objets d'interface standard et des contrôles - Windows, listes, textes, boutons, commutateurs, coques, menus, etc., qui facilitent la convertir des informations, l'affichage sur l'écran du moniteur, les données affichées. Tous ces objets peuvent être identifiés normalement par les outils de langue et les descriptions elles-mêmes sont enregistrées pour une réutilisation supplémentaire.

La logique de l'application construite avec RAD est axée sur l'événement, c'est-à-dire La gestion de l'objet est effectuée en utilisant des événements. Cela signifie ce qui suit: Chaque objet inclus dans l'application peut générer des événements et réagir aux événements générés par d'autres objets. Des exemples d'événements peuvent être: ouverture et fermeture des fenêtres, appuyant sur la touche ou la touche de clavier, le mouvement de la souris, la modification des données dans la base de données, etc. Le développeur implémente la logique d'application en définissant le processeur l'événement - la procédure effectuée par l'objet lorsque L'événement approprié se produit. Par exemple, le gestionnaire d'événements "Bouton de pression" peut ouvrir une boîte de dialogue.

Malgré tous ses avantages, la méthodologie RAD ne peut revendiquer l'universalité. Son utilisation est la plus efficace lors du développement d'un logiciel relativement petit. Lors du développement de systèmes typiques non remplis du produit, mais sont un ensemble d'éléments typiques (par exemple, des outils d'automatisation design), de tels indicateurs du projet, tels que la manipulation et la qualité, qui peuvent inclure une contradiction avec la simplicité et la rapidité de développement. Cela est dû au fait que les systèmes typiques sont généralement accompagnés de manière centrale et peuvent être adaptés à divers logiciels et matériels plates-formes, systèmes de gestion de base de données, installations de communication et intégrer avec les développements existants. Par conséquent, pour ce type de projets, une planification élevée et une discipline de conception rigide est requise, suivi strictement à l'avance des protocoles et des interfaces développés, ce qui réduit la vitesse de développement.

L'application de la méthodologie RAD est limitée à la construction de programmes de règlement complexes, de systèmes d'exploitation ou de programmes de gestion pour des projets d'ingénierie et d'objets techniques complexes - programmes nécessitant une grande quantité de code unique. La méthodologie RAD est peu efficace pour développer des applications dans lesquelles l'interface utilisateur est secondaire, c'est-à-dire qu'il n'y a pas de définition visuelle de la logique du logiciel. Des exemples peuvent servir d'applications, de pilotes ou d'utilitaires en temps réel.

La méthodologie RAD est totalement inacceptable pour le développement de systèmes, sur lesquelles la sécurité des personnes, telles que les systèmes de contrôle des transports ou les centrales nucléaires dépend. Cela est dû au fait qu'une approche itérative qui est l'une des fondations de RAD suggère que les premières versions du système ne seront pas pleinement fonctionnelles, ce qui peut entraîner des catastrophes graves.

3.2 Technologie du logiciel

L'industrie du logiciel essaie constamment de résoudre le problème de la qualité, mais à quel point ses succès sont importants, pour le moment, il est assez difficile de dire. Le projet de diplôme parle d'une nouvelle génération d'outils de test conçus pour améliorer la qualité des programmes. Cependant, les outils, même automatiques, ne sont pas capables d'aider si elles sont mal utilisées. Par conséquent, la discussion sur les outils préconise la présentation des dispositions générales du test "correct".

La qualité du programme en cours de développement peut être améliorée de la manière suivante: faire une équipe de bons programmeurs expérimentés dans des projets similaires, donnez-leur une tâche bien définie, de bons outils, de créer de bonnes conditions de travail. Avec une probabilité élevée, vous pouvez vous attendre à ce qu'il soit possible de développer un système de logiciel de bonne qualité.

Les erreurs les plus chères sont effectuées sur les premières phases du cycle de vie - ce sont des erreurs pour déterminer les exigences, le choix de l'architecture, la conception de haut niveau. Par conséquent, il est nécessaire de se concentrer sur la recherche d'erreurs sur toutes les phases, y compris le plus tôt, sans attendre, alors qu'ils sont détectés lors du test des ventes déjà finies.

Les petits modules (procédures, classes, etc.) sont soumis à des tests modulaires. Lors du test d'un module relativement petit, 100 - 1000 lignes est la possibilité de vérifier si ce n'est pas tout, au moins de nombreuses branches logiques dans la mise en œuvre, différents chemins de la colonne de dépendance de données, les valeurs de paramètre limite. Conformément à cela, les critères de couverture des tests sont construits (couverts par tous les opérateurs, toutes les branches logiques, tous les points limites, etc.).

Un produit logiciel entièrement mis en œuvre est soumis à des tests systémiques. À ce stade, le testeur s'intéresse à l'exactitude de la mise en œuvre de procédures et méthodes individuelles, mais l'ensemble du programme dans son ensemble, car l'utilisateur final le voit. La base des tests dessert des exigences générales pour le programme, y compris non seulement l'exactitude de la mise en œuvre des fonctions, mais également des performances, du temps de réponse, de la résistance aux échecs, des erreurs utilisateur, etc. Pour les tests systémiques et composants, des types spécifiques de critères de couverture de test sont utilisés (par exemple, que tous les types de scénarios de travail soient couverts, tous les scénarios avec des situations d'urgence, des paires de scénarios, etc.).

Ainsi, la qualité du PS est un ensemble des indicateurs qualitatifs les plus importants (facteurs) caractérisant suffisamment le PS. Les facteurs totaux incluent:

Fonctionnalité - en tant qu'ensemble de fonctions qui mettent en œuvre les besoins établis ou présumés des utilisateurs;

Exactitude - respect de la mise en œuvre du système de sa spécification et de la cohérence;

Interface - comme moyen de communication avec les utilisateurs du système;

Ouverture - caractériser le modificateur de système;

Confort - caractérisant la commodité d'utiliser PS;

Modernité - caractérisant le degré d'utilisation des technologies de l'information modernes pour la présentation des systèmes d'information et de communication à l'heure actuelle.

Il convient également de noter que la vérification de la précision du PS est le processus de réalisation d'un complexe de mesures explorant l'adéquation du programme pour son exploitation réussie (application et accompagnement) conformément aux exigences du client.

Sur la base des informations obtenues lors des tests du programme, il faut d'abord être établi qu'il effectue des fonctions déclarées, et doit également être établie dans quelle mesure il a déclassé les primitives et les critères de qualité. Ainsi, l'évaluation de la qualité du programme est le principal contenu du processus de certification.

Le besoin et l'importance des tests logiciels sont difficiles à surestimer. Dans le même temps, il convient de noter que les tests sont des activités complexes et fastidieuses. Voici les fonctionnalités de tester le logiciel orienté objet.

Le développement du logiciel orienté objet commence par la création de modèles visuels reflétant les caractéristiques statiques et dynamiques du système futur. Au début, ces modèles enregistrent les exigences source du client, puis formalisent la mise en œuvre de ces exigences en sélectionnant des objets qui interagissent les uns avec les autres en transmettant des messages. La conception des modèles représente la majeure partie du coût d'un processus de développement orienté objet. Si cela est ajouté à cela que le taux d'élimination de l'erreur augmente rapidement avec chaque itération de développement, il est totalement logique de tester des modèles d'analyse et de conception orientés objet.

Critères de test des modèles: exactitude, exhaustivité, cohérence. La correction syntaxique est jugée par l'exactitude de l'utilisation du langage de modélisation. La correction sémantique est jugée par le modèle de conformité aux problèmes réels. Pour déterminer si le modèle reflète le monde réel, il est estimé par des experts qui ont des connaissances et une expérience dans une zone problématique spécifique.

La cohérence est jugée en considérant les contradictions entre les éléments du modèle. Le modèle incompatible a dans une partie de la présentation, qui contredit des idées dans d'autres parties du modèle.

Lorsque vous envisagez des tests axés sur des objets, le plus petit élément testé est l'objet (classe). Dans ce cas, il est impossible de tester une opération distincte de manière isolée, comme cela est habituel dans l'approche standard des modules de test. Toute opération doit être considérée comme faisant partie de la classe. Le logiciel orienté objet n'a pas de structure de contrôle hiérarchique, par conséquent, les méthodes des tests ascendants et à la baisse ne sont pas applicables ici.

Deux techniques de test des systèmes orientés objet sont proposées:

Tests basés sur le flux;

Test basé sur l'utilisation.

Dans la première méthode, l'objet de test est un ensemble de classes servant une seule saisie de données dans le système. En d'autres termes, les moyens de maintenance de chaque courant sont intégrés et sont testés séparément. Dans la deuxième méthode, les classes indépendantes sont d'abord testées. Ensuite, travaillez avec la première couche de classes dépendantes, avec la deuxième couche, etc.

Lors de la vérification de l'exactitude, les détails de la relation de classe disparaissent. Comme la confirmation traditionnelle de l'exactitude, la confirmation de l'exactitude du logiciel orienté objet est axée sur les actions visibles des utilisateurs et les conclusions reconnues par l'utilisateur.


Informations similaires.


Étape 1: Avant le milieu des années 50.

Les coûts principaux sont associés à la codage (dans les codes de machine). Les avtocodes apparaissent (langues utilisant des symboles mnémoniques des commandes) et des traducteurs d'entre eux (assembleurs).

Les possibilités de compilation et de circulation séparées des programmes sont en cours de mise en œuvre. Il existe des charges de démarrage et des liaisons de programmes.

Étape 2: milieu des années 50 - milieu des années 60.

La taille des programmes augmente, l'écart entre les concepts de problèmes de problèmes et des langues orientées automobiles est détecté. Il existe différentes langues de haut niveau (algorithmique, universelle):

Fortran (1954-1957);

Algol-60 (1958-1960);

Cobol (1959-1961);

et traducteurs avec eux (compilateurs). Alternativement, presque tous les types de données principaux, les opérations sur eux, les structures de contrôle et les méthodes de l'image dans des programmes, diverses options pour la paramétrisation des sous-routines sont inventées.

Étape 3: milieu des années 60 - début des années 70.

La taille du logiciel augmente fortement, la transition vers la nature collective des travaux. Conditions requises pour le logiciel en raison de la transition à une augmentation de la production de produits de base.

Le ratio du coût du développement du logiciel (40% est davantage dépensé pour le débogage, la conception et la documentation), le codage est l'un des types de travail les plus simples. "Grand" Langues de programmation - PL / 1, Algol-68, Simula-67, Généralisez et intégrant des solutions données précédemment trouvées sont utilisées.

Systèmes de programmation développés avec optimisation et débogage des traducteurs, des macrobibérabilités, des bibliothèques de programme standard, des éditeurs de texte spécialisés, des écarts d'analyse et de dialogue dans les termes de la langue d'entrée. Systèmes d'exploitation développés, Premiers SGBM, nombreux systèmes d'automatisation de la documentation, systèmes de gestion de logiciels (modifications de suivi et assemblage des versions logicielles) sont développés.

Étape 4 («Stade de la crise dans le développement de PO»): le début des années 70-mi-70.

Malgré le développement d'outils instrumentaux, la productivité des programmeurs n'est pas en croissance. De plus, en raison de l'augmentation des exigences en matière de croissance logicielle et non linéaire de sa complexité, des chutes de productivité du travail. La durée du développement du logiciel est cassée, ses coûts augmentent, sa qualité est imprévisible, les méthodes traditionnelles ne sont pas déclenchées (fournissant des ressources humaines et matérielles supplémentaires), caractérisées par une "crise de logiciel".

La reconnaissance de la méthodologie de programmation structurelle (Dyacstra, 1968) est obtenue, les bases de la technologie de programmation sont formées (langue Pascal (N.Virt), 1971).

Étape 5: 1976. - Notre temps. L'étape du développement post-crise des outils.

1976 - Publication des travaux de Boam, où le concept de cycle de vie est introduit et indique que les coûts principaux ne sont pas sur le développement, mais sur des programmes de soutien.

Langages de programmation:

C (le début des années 1970, pour la première fois est entièrement décrit en 1978);

MODULA-2 (1978, développement est Oberon (1988));

Prolog (1972, reçu depuis 1980);

SmallTalk (1970s, en 1980, était représenté comme SmallTalk-80);

C ++ (début des années 1980, nom - 1983, sous la forme habituelle d'aujourd'hui existait depuis 1990);

Java (version de Java 1.0 - 1996, Java 2.0 - 1998, Java 5 - 2004 ...);

C # (1998-2001, version 1.0 - 2000-2002, version 2.0 - 2003-2005, version 3.0 - 2004-2008, version 4.0 - 2008-2010).

Outils de développement de programmes intégrés se développent. La reconnaissance est reconnue comme une approche orientée objet de la conception et de la programmation. Les programmes soutenant la création de logiciels à chaque étape sont en cours de développement.

Questions de contrôle:

1. Quelles actions comprend le développement logiciel?

2. Quelles étapes dans le développement des programmes sont attribuées dans le processus rationnel unifié (RUP)?

3. Qu'est-ce qui fait l'utilisation d'outils?

4. Quels composants sont inclus dans le programme? But de chacune des pièces.

5. Définitions et logiciels de programme.

6. Quelles propriétés le logiciel doit-il être affiché?

7. Quelles langages de programmation sont utilisés lors de l'élaboration de programmes?

8. Définir le logiciel instrumental.

9. Quels sont les quatre groupes pour diviser le logiciel instrumental? Exemples de logiciels pour chaque groupe.

10. Quels critères pouvons-nous comparer des programmes de la même classe?

11. Quelles étapes sont allouées dans le développement d'outils instrumentaux pour le développement de logiciels?

12. Nomination et principales caractéristiques des compilateurs (assembleur) et des éditeurs de liaison.

13. Nomination et principales caractéristiques des textors.

14. Nomination et caractéristiques principales.

15. Objet et principales caractéristiques de la création d'installateurs.

16. Nomination et principales caractéristiques des acteurs des ressources.

17. Nomination et caractéristiques principalesProfilleur.

18. Nomination et principales caractéristiques des versions Soutenir les programmes.

19. Objet et principales caractéristiques de la création de programmes de fichiers d'aide (documentation).

20. Nomination et principales caractéristiques des générateurs de documentation.

21. Nomination et principales caractéristiquesDesAssembleurs et décompilateurs.

22. Objet et principales caractéristiques du suivi du système de suivi et des changements survenus dans le système.

23. Nomination et principales caractéristiques des vérifères et des conteneurs.

24. Objet et principales caractéristiques des programmes de protection du logiciel développé (protecteurs).

25. Nomination et caractéristiques principalesDK.

26. Nomination et principales caractéristiques des analyseurs.

27. Nomination de normes technologiques.


MATIÈRE:Méthodologie du développement de logiciels.

Littérature: 1. Zelkovitz M., Show A., J. Gannon J. Principes de développement de logiciels.

2. Objectsi K., Jazairei M., Mandrioli D. Principes de base de l'ingénierie logicielle.

3. Kameam V. A., Kosterin V. V. Technologie de programmation.

Considérez les concepts de méthodologie, de méthode et de moyens.

Définition 1: Méthode (de grec. Methodos - une méthode de recherche ou de connaissances, de théorie ou d'enseignement) - Réception ou système de techniques de mise en œuvre pratique de quelque chose dans n'importe quel sujet, un ensemble de techniques ou d'opérations de développement pratique ou théorique de la réalité, subordonnée à la résolution tâches spécifiques.

La méthode comprend fonds- avec l'aide de laquelle l'action est effectuée et méthodes- Comment est l'action.

Définition 2: Méthodologie- Il s'agit d'un système de principes, ainsi que d'une totalité d'idées, de concepts, de méthodes, de méthodes et de moyens définissant le style de développement de logiciels.

La méthodologie est la mise en œuvre de la norme. Les normes elles-mêmes ne parlent que de ce qui devrait être, laissant la liberté de choix et l'adaptation.

Des choses spécifiques sont implémentées par la méthodologie choisie. Il détermine comment le développement sera effectué. Il existe de nombreuses méthodologies de création de logiciels réussies. Le choix d'une méthodologie spécifique dépend de la taille de l'équipe, des spécificités et de la complexité du projet, de la stabilité et de la maturité des processus de la société et des qualités personnelles des employés.

Les méthodologies sont au cœur de la théorie de la gestion du développement logiciel.

Selon le modèle du modèle de cycle de vie, les méthodologies sont divisées en:

Cascade (cascade);

Itératif (spirale).

Il y a aussi une classification plus générale sur:

Prédit;

Adaptatif.

Méthodologies prévues Concentrez-vous sur la planification détaillée de l'avenir. Les tâches programmées et les ressources pour l'ensemble du projet sont connues. L'équipe avec difficulté répond aux changements possibles. Le plan est optimisé sur la base du travail et des exigences existantes. L'évolution des exigences peut entraîner un changement important dans le plan, ainsi que la conception du projet. Un comité spécial sur la «gestion du changement» est souvent créé de manière à ce que seules les exigences les plus importantes soient prises en compte dans le projet.

Méthodologies adaptatives Visant à surmonter le non-paiement attendu des exigences et leur changement constant. Lorsque les exigences sont modifiées, l'équipe du développeur change également. L'équipe impliquée dans le développement adaptatif peut difficilement prédire l'avenir du projet. Il existe un plan exact que pour le futur proche. Plus de plans supprimés de temps n'existent que comme une déclaration des objectifs du projet, des coûts attendus et des résultats.

Développement en cascade Ou un modèle de cascade (fred. Modèle de cascade) - Un modèle de processus de développement de logiciels dans lequel le processus de développement ressemble à un flux, qui transmet toujours la phase de l'analyse des exigences, de la conception, de la mise en œuvre, du test, de l'intégration et du support.

La principale caractéristique d'une approche en cascade est la suivante: la transition vers la prochaine étape est effectuée uniquement après que le travail est entièrement rempli à l'étape actuelle et que les étapes terminées ne sont pas fournies. . Chaque étape se termine par l'obtention de certains résultats servant de données source pour la prochaine étape (Fig. 1).

Figure. 1. Modèle de cycle de vie en cascade.

Chaque étape est complétée par la libération de la documentation, suffisante pour s'assurer que le développement peut être poursuivi par une autre équipe de développeurs. Le critère de la qualité du développement avec cette approche est l'exactitude de la mise en œuvre des spécifications de la tâche technique.

Avantages de l'application d'une méthode de cascade:

À chaque étape, un ensemble complet de documentation de projet est formé, répondant aux exigences de l'exhaustivité et de la cohérence;

L'étape de travail effectuée dans la séquence logique vous permet de planifier la synchronisation de l'achèvement de toutes les œuvres et des coûts correspondants.

L'approche en cascade s'est révélée dans la construction de systèmes d'information électroniques, dont le tout début du développement, il est possible de formuler définitivement toutes les exigences afin de fournir aux développeurs de la liberté de les réaliser techniquement le mieux possible.

Dans le même temps, cette approche présente un certain nombre de lacunes causées, principalement le fait que le processus de création de logiciels réel n'est jamais entièrement empilé dans un système aussi rigide. Le processus de création de logiciels est généralement itératif de nature: les résultats de la prochaine étape provoquent souvent des modifications des solutions de conception développées à des étapes précédentes. Ainsi, la nécessité de retourner aux étapes antérieures et à la clarification ou à la révision des décisions précédemment acceptées (Fig. 2) se produit. Le diagramme décrit peut être attribué à un modèle distinct - modèle à commande intermédiaire, dans lequel les ajustements d'interdasses fournissent une plus grande fiabilité par rapport au modèle en cascade, bien qu'ils augmentent toute la période de développement.

Le principal inconvénient du modèle de cascade est un retard essentiel pour obtenir des résultats et, par conséquent, le risque élevé de créer un système qui ne satisfait pas aux besoins changés des utilisateurs. Cela s'expliquera par deux raisons:

Les utilisateurs ne sont pas en mesure d'indiquer immédiatement toutes leurs exigences et ne peuvent prévoir comment ils changent pendant le développement;

Au cours du développement, des modifications peuvent survenir dans un environnement externe qui affectera les exigences du système.

Figure. 2. Modèle de cascade ZHC dans la pratique.

Dans le cadre d'une approche en cascade, les exigences relatives au produit développé sont comptabilisées sous la forme d'une tâche technique pendant toute la durée de sa création et que l'approbation des résultats obtenus avec les utilisateurs est faite uniquement aux points prévus après la fin de l'achèvement de la finalité. Chaque étape (il est possible d'ajuster les résultats conformément aux commentaires des utilisateurs s'ils n'affectent pas les exigences énoncées dans la tâche technique). Ainsi, les utilisateurs ne peuvent faire que des commentaires significatifs uniquement après le travail sur le système. Les utilisateurs peuvent obtenir un système qui ne satisfait pas à leurs besoins. En conséquence, vous devez démarrer un nouveau projet qui peut comprendre le même destin.

Pour surmonter les problèmes énumérés au milieu des années 80, un modèle en spirale du cycle de vie a été proposé (Fig. 3).

Figure. 3. Modèle de spirale (itérative) LCC.

Sa fondamentalité est la suivante: le logiciel appliqué n'est pas créé immédiatement, comme dans le cas d'une approche en cascade, mais en pièces utilisant la méthode de prototypage .

En dessous de prototype Il est compris comme le composant de programme actuel qui implémente des fonctions individuelles et des interfaces externes du logiciel développées. La création de prototypes est effectuée dans plusieurs itérations, ou des virages en spirale. Chaque itération correspond à la création d'un fragment ou d'une version de logiciels, spécifie les objectifs et les caractéristiques du projet, la qualité des résultats obtenus est estimée et le travail de la prochaine itération est prévu. Chaque itération est une évaluation approfondie du risque de dépasser le calendrier et du coût du projet afin de déterminer la nécessité d'effectuer une autre itération, du degré d'exhaustivité et de précision de la compréhension des exigences relatives au système, ainsi que de l'opportunité de la résiliation. du projet.

Le modèle en spirale élimine les utilisateurs et les développeurs de la nécessité d'une formulation précise et complète des exigences du système à la phase initiale, car elles sont spécifiées à chaque itération. Ainsi, les détails du projet sont approfondis et spécifiquement précisés, et par conséquent, l'option raisonnable est sélectionnée, qui est amenée à la mise en œuvre.

Le modèle en spirale est un exemple classique d'appliquer une stratégie de conception évolutive. Modèle en spirale (auteur Barry Boem, 1988) est basé sur les meilleures propriétés du cycle de vie classique et de la macutation, à laquelle un nouvel élément est ajouté - l'analyse des risques est manquante plus tôt.

Le modèle en spirale détermine les quatre étapes soumises par les secteurs de la spirale:

1. Planification - Définition des objectifs, des options et des restrictions.

2. Analyse des risques - Analyse des options et de la sélection de la reconnaissance / des risques.

3. Conception - Le développement du produit de niveau suivant.

4. Évaluation - Évaluation du client des résultats actuels de la conception.

L'aspect intégrateur du modèle en spirale est évident lors de la prise en compte de la mesure radiale de l'hélice. Avec chaque itération sur la spirale (Promotion du centre à la périphérie), de plus en plus de versions complètes de logiciels sont construites.

Au premier tour de la spirale, les objectifs initiaux, les options et les limitations sont déterminés, le risque est reconnu et analysé. Si l'analyse des risques indique l'incertitude des exigences, le développement du développeur et le client vient être sélectionné (utilisé dans le quadrant design). Pour définir davantage le problème et les exigences mises à jour, la modélisation peut être utilisée. Le client évalue le travail d'ingénierie (conception) et fait des propositions de modification. La prochaine phase de planification et d'analyse des risques est basée sur des offres client. Dans chaque cycle de la spirale, les résultats de l'analyse des risques sont formés par la forme "Continuer, de ne pas continuer". Si le risque est trop important, le projet peut être arrêté.

Dans la plupart des cas, le mouvement de l'hélice continue, à chaque étape promouvant les développeurs à un modèle plus général du système.

Avec une manière itérative, la partie manquante du travail peut être effectuée dans la prochaine itération. La tâche principale consiste à montrer aux utilisateurs un produit fonctionnel aussi rapidement que possible, activant ainsi le processus de raffinement et les ajouts.

Le modèle en spirale n'exclut pas une approche en cascade aux dernières étapes du projet dans les cas où les exigences du système sont entièrement définies.

Le principal problème du cycle en spirale est de déterminer le temps de transition vers la prochaine étape. Pour le résoudre, il est nécessaire d'introduire des restrictions temporaires à chacune des étapes de la LCC. La transition est effectuée conformément au plan, même si toutes les travaux prévus sont terminés. Le plan est établi sur la base de données statistiques obtenues dans des projets précédents et de l'expérience personnelle des développeurs.

Les avantages d'un modèle en spirale:

Le plus réaliste (sous forme d'évolution) affiche le développement de logiciels;

Vous permet de prendre en compte clairement le risque de chaque tour de l'évolution du développement;

Comprend une étape d'approche systématique de la structure de développement itératif;

Utilise la modélisation pour réduire le risque et améliorer le produit logiciel.

Inconvénients du modèle en spirale:

Nouveauté (il n'y a pas de statistiques suffisantes pour l'efficacité du modèle);

Exigences accrues pour le client;

Difficultés à contrôler et à gérer le temps de développement.

À ce jour, les méthodologies de développement de logiciels itératives suivantes peuvent être distinguées:

Processus unifié rationnel (RUP)

Méthodologies de développement flexibles (Scrum, Kanban, DSDM, MSF, ALM, XP)

Méthodologie de développement flexible (Développement de logiciels Agile anglais).

Les méthodologies les plus flexibles visent à minimiser les risques, moyens de développer une série de cycles courts appelés itérationsqui dure généralement une ou deux semaines. Chaque itération elle-même ressemble à un projet logiciel miniature et inclut toutes les tâches nécessaires à la délivrance d'une mini-augmentation de la fonctionnalité: planification, analyse des exigences, conception, codage, test et documentation. Bien qu'une itération séparée soit généralement insuffisante pour libérer une nouvelle version du produit, il est entendu que le projet logiciel flexible est prêt à libérer à la fin de chaque itération. À la fin de chaque itération, la commande effectue la réévaluation des priorités de développement.

Les méthodes agiles se concentrent sur la communication directe à face. La plupart des commandes agiles sont situées dans le même bureau. Au minimum, il comprend à la fois des "clients" (clients qui déterminent le produit, il peut également être des gestionnaires de produits, des analystes d'affaires ou des clients). Le Bureau peut également inclure des titulaires de test, des concepteurs d'interfaces, des écrivains techniques et des gestionnaires.

L'une des techniques flexibles les plus célèbres et les plus avancées est la méthodologie Scrum.

Scrum- Méthodologie destinée aux petites équipes (jusqu'à 10 personnes). L'ensemble du projet est divisé en itérations (sprints) pendant 30 jours chacun. Une liste des fonctions système sont sélectionnées, qui sont prévues pour être implémentées lors du prochain sprint. Les conditions les plus importantes sont l'invariance des fonctions sélectionnées lors de l'exécution d'une itération et d'une adhésion stricte au calendrier de la prochaine version, même s'il ne sera pas en mesure de mettre en œuvre toute la fonctionnalité prévue. Le gestionnaire de développement mène des réunions quotidiennes de 20 minutes appelées Scrum, qui résulte de la fonction du système mis en œuvre pour la veille, des difficultés et du plan le lendemain. De telles réunions vous permettent de suivre constamment le cours du projet, identifiez rapidement les problèmes qui sont apparus et y réagissent rapidement.

Kanban. - Méthodologie de développement de logiciels flexible, orientée opérationnelle.

Règles fondamentales:

Visualisation du développement:

o séparation du travail sur les tâches;

o Utiliser des marques sur la position de la tâche dans le développement;

Restriction des travaux effectués simultanément à chaque étape de développement;

Mesure du temps de cycle (temps moyen pour effectuer une tâche) et l'optimisation du processus.

Les avantages de Kanban:

Réduire le nombre de tâches parallèles effectuées réduit considérablement le temps d'exécution de chaque tâche individuelle;

Détection rapide des tâches problématiques;

Calculer le temps nécessaire pour effectuer une tâche avancée.

Méthode de développement du système dynamique (DSDM) est apparu à la suite d'un consortium de 17 entreprises anglaises. Toute l'organisation est engagée dans le développement des avantages pour cette méthodologie, l'organisation de cours de formation, des programmes d'accréditation, etc. De plus, la valeur de DSDM a un équivalent de trésorerie.

Tout commence par étudier la faisabilité du programme et la zone de son application. Dans le premier cas, vous essayez de comprendre si DSDM convient à ce projet. Étudier la portée du programme est supposée sur une courte série de séminaires, où les programmeurs découvrent la sphère d'entreprise pour laquelle ils doivent travailler. Il discute également des principales dispositions relatives à l'architecture du futur système et du plan de projet.

Ensuite, le processus est divisé en trois cycles interdépendants: le cycle de modèle fonctionnel est responsable de la création de la documentation et des prototypes analytiques, le cycle de conception et la conception - pour apporter le système à l'état de fonctionnement, et enfin, le dernier cycle est le cycle de mise en œuvre - fournit le déploiement du système logiciel.

Les principes de base sur lesquels DSDM est construit:

Interaction active avec les utilisateurs;

Questions fréquentes de versions;

Indépendance des développeurs dans la prise de décision;

Tester pendant tout le cycle de travail.

Comme la plupart des autres méthodologies flexibles, DSDM utilise des itérations courtes, durée de deux à six semaines chacune. Un accent particulier est mis sur une qualité de travail et une adaptabilité élevées aux changements dans les exigences.

Microsoft Solutions Cadre. (MSF) - Méthodologie de développement de logiciels proposé par Microsoft. MSF s'appuie sur l'expérience pratique de Microsoft et décrit les procédures humaines et travailleuses dans le processus de prise de décision.

Concepts de base et principes de processus MSF:

Une vision unique du projet est toutes des personnes intéressées et simplement les participants au projet devraient clairement représenter le résultat final, l'objectif du projet devrait être clair pour tout le monde;

Gestion de compromisance - Recherche de compromis entre les ressources du projet, le calendrier du calendrier et les capacités réalisables;

Flexibilité - Préparation à la modification des conditions du projet;

Concentration sur les priorités commerciales - se concentrer sur ce retour et la prestation que le consommateur devrait recevoir;

Promouvoir la libre communication au sein du projet;

Création de versions de base - fixant l'état de tout artefact de projet, y compris le code de logiciel, le plan de projet, le manuel d'utilisation, les paramètres du serveur et les modifications ultérieures modifiées efficacement, les analyses de projet.

MSF propose des techniques éprouvées pour la planification, la conception, le développement et la mise en œuvre de solutions informatiques qui réussissent. En raison de sa flexibilité, de sa évolutivité et de l'absence d'instructions difficiles, MSF est capable de satisfaire les besoins d'une organisation ou d'un groupe de conception de toutes tailles. La méthodologie MSF comprend des principes, des modèles et des disciplines pour la gestion, les processus, les éléments technologiques et les problèmes connexes liés à la plupart de ces projets.

Gestion du cycle de vie des applications (ALM) - Développé et soutenu par Borland.

Programmation extrême (XP) -Extrem programmation prise en charge par la communauté ouverte de développeurs indépendants.



Avez-vous aimé l'article? Partagez-le