Главная страница
Навигация по странице:

  • Текстовый редактор

  • (строковый)

  • Контекстный

  • Экранный текстовый редактор

  • Интегрированная среда разработки

  • Компилятор

  • Компилировать

  • Компоновщик (редактор связей , линкер

  • Синтаксический анализ (парсинг

  • Отладчик (дебаггер

  • Генератор документации

  • Покрытие кода

  • Автоматизированное тестирование программного обеспече- ния

  • Система управления версиями

  • Лекция. Лекция 1 Инструменталка. Структура программного обеспечения компьютера. Понятие инструментальное средство Под программным обеспечением


    Скачать 251.19 Kb.
    НазваниеСтруктура программного обеспечения компьютера. Понятие инструментальное средство Под программным обеспечением
    АнкорЛекция
    Дата25.09.2021
    Размер251.19 Kb.
    Формат файлаpdf
    Имя файлаЛекция 1 Инструменталка.pdf
    ТипДокументы
    #236909

    Структура программного обеспечения компьютера.
    Понятие «инструментальное средство»
    Под программным обеспечением (Software) понимается сово- купность программ и соответствующей документации, выполняе- мых вычислительной системой.
    К программному обеспечению (ПО) относится также вся об-
    ласть деятельности по проектированию и разработке ПО:
    – технология проектирования программ (например, нисходящее проектирование, структурное и объектно-ориентированное проек- тирование и др.);
    – методы тестирования программ;
    – методы доказательства правильности программ;
    – анализ качества работы программ;
    – документирование программ;
    – разработка и использование программных средств, облегча- ющих процесс проектирования программного обеспечения; и др.
    В первом приближении все программы, работающие на ком- пьютере, можно условно разделить на три категории.
    1. Прикладные программы, непосредственно обеспечиваю- щие выполнение необходимых пользователям работ.
    2. Системные программы, выполняющие различные вспомо- гательные функции, например:
    – управление ресурсами компьютера;
    создание копий используемой информации;
    – проверка работоспособности устройств компьютера;
    – выдача справочной информации о компьютере; и др.
    3. Инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.

    Инструментальные программные средства это программы, которые используются в ходе разработки, корректировки или раз- вития других прикладных или системных программ.
    По своему назначению они близки системам программирова- ния. К инструментальным программам, например, относятся:
    – текстовые редакторы;
    – интегрированные среды разработки;
    – SDK;
    – компиляторы;
    – интерпретаторы;
    – компановщики (линковщики);
    – парсеры;
    – ассемблеры;
    – отладчики;
    – профилировщики;
    – генераторы документации;
    – средства анализа покрытия кода;
    – средства непрерывной интеграции;
    – средства автоматизированного тестирования;
    системы управления версиями;
    – графические пакеты программ.
    Инструментальные программные средства могут оказать по- мощь на всех стадиях разработки ПО.
    Текстовый редактор – самостоятельная компьютерная про- грамма или компонента программного комплекса, предназначен- ная для создания и изменения текстовых данных.
    Построчный (строковый) текстовый редактор (line editor) ра- ботает с текстом как с последовательностью пронумерованных строк, выполняя операции над текстом в указанных строках. Примером та- кого редактора может быть Edlin, входивший в состав MS-DOS.
    Контекстный (строковый) редактор (context editor), при- мером которого может быть ECCE (Edinburgh Compatible Context
    Editor), выполняет операции над текстом в текущей позиции.
    Экранный текстовый редактор позволяет пользователю переме- щать курсор в тексте с помощью клавиш или других устройств ввода.
    Многие текстовые редакторы являются редакторами исходного кода, то есть они ориентированы на работу с текстами программ на тех или иных компьютерных языках.
    Интегрированная среда разработки (ИСР) (IDE, Integrated
    development environment или Integrated debugging environment) – си-

    C
    стема программных средств, используемая программистами для разработки программного обеспечения.
    Обычно среда разработки включает в себя:
    – текстовый редактор;
    – компилятор и/или интерпретатор;
    – средства автоматизации сборки;
    – отладчик.
    Иногда среда разработки содержит также средства для интегра- ции с системами управления версиями и разнообразные инстру- менты для упрощения конструирования графического интерфейса пользователя. Хотя и существуют ИСР, предназначенные для не- скольких языков программирования – такие как Eclipse, NetBeans,
    Embarcadero RAD Studio, Qt Creator или Microsoft Visual Studio, но обычно ИСР предназначается для одного определенного язы- ка программирования, такого, например, как Visual Basic, Delphi,
    Dev-C++.
    Частный случай ИСР – среды визуальной разработки, которые включают в себя возможность визуального редактирования интер- фейса программы.
    ИСР обычно представляет собой единственную программу, в которой проводилась вся разработка. Она обычно содержит много функций для создания, изменения, компилирования, развертыва- ния и отладки программного обеспечения.
    SDK (Software development kit) – комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения для определенного пакета программ, про- граммного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, игровых консолей, операци- онных систем и прочих платформ.
    Программист, как правило, получает SDK непосредственно от разработчика целевой технологии или системы. Часто SDK рас- пространяется через Интернет. Многие SDK распространяются бесплатно для того, чтобы побудить разработчиков использовать данную технологию или платформу.
    Поставщики SDK иногда заменяют слово «software» в словосо- четании «software development kit» на более точное определение.
    Например, Microsoft и Apple предоставляют Driver Development Kit
    (DDK) для разработки драйверов устройств, PalmSource называ- ет свой инструментарий для разработки PalmOS Development Kit
    (PDK), а Oracle – Java Development Kit (JDK).

    Компилятор – программа или техническое средство, выполня- ющее компиляцию.
    Компиляция – трансляция программы, составленной на исход- ном языке высокого уровня, в эквивалентную программу на низко- уровневом языке, близком машинному коду. Входной информаци- ей для компилятора (исходный код) является описание алгоритма или программа на проблемно-ориентированном языке, а на выходе компилятора – эквивалентное описание алгоритма на машинно- ориентированном языке (объектный код).
    Компилировать – проводить трансляцию машинной програм- мы с проблемно-ориентированного языка на машинно-ориентиро- ванный.
    Интерпретатор – программа (разновидность транслятора) или аппаратное средство, выполняющее интерпретацию.
    Интерпретация – пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транс- лируется без ее выполнения).
    Компоновщик (редактор связей, линкер) – программа, кото- рая производит компоновку: принимает на вход один или несколь- ко объектных модулей и собирает по ним исполнимый модуль.
    Работа компоновщика заключается в том, чтобы в каждом мо- дуле определить и связать ссылки на неопределенные имена. Для каждого импортируемого имени находится его определение в дру- гих модулях, упоминание имени заменяется на его адрес.
    Синтаксический анализ (парсинг) – это процесс сопоставле- ния линейной последовательности лексем (слов, токенов) языка с его формальной грамматикой. Результатом обычно является дере- во разбора (синтаксическое дерево). Например, XML, HTML, CSS, ini-файлы, специализированные конфигурационные файлы и т.п.
    Ассемблер (от англ. assembler – сборщик) – компьютерная про- грамма, компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке.
    Как и сам язык (ассемблера), ассемблеры, как правило, специ- фичны для конкретной архитектуры, операционной системы и ва- рианта синтаксиса языка. Вместе с тем существуют мультиплат- форменные или вовсе универсальные (точнее, ограниченно-уни- версальные, потому что на языке низкого уровня нельзя написать аппаратно-независимые программы) ассемблеры, которые могут работать на разных платформах и операционных системах. Среди последних можно также выделить группу кросс-ассемблеров, спо-
    собных собирать машинный код и исполняемые модули (файлы) для других архитектур и ОС.
    Отладчик (дебаггер) – компьютерная программа, предназна- ченная для поиска ошибок в других программах, ядрах операцион- ных систем, SQL-запросах и других видах кода. Отладчик позволя- ет выполнять пошаговую трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия останов- ки и т.д.
    Популярные отладчики:
    – AQtime – коммерческий отладчик для приложений, созданных для .NET Framework версии 1.0, 1.1, 2.0, 3.0, 3.5 (включая ASP.NET приложения), а также для Windows 32- и 64-битных приложений;
    – DBX – стандартный отладчик уровня исходного кода для язы- ков C, C++, Фортран и Java, доступный для операционных систем
    Solaris, AIX, IRIX, Tru64 UNIX, GNU/Linux и BSD;
    – DDD – графический фронтэнд к отладчикам DBX и GDB, ис- пользующий библиотеку виджетов Motif;
    – DTrace – фреймворк динамической трассировки для Solaris,
    OpenSolaris, FreeBSD, Mac OS X и QNX;
    – GNU Debugger – портабельный отладчик уровня исходного кода и дизассемблер из системы программирования GNU, работа- ющий со многими языками программирования, операционными системами и системными архитектурами;
    – Microsoft Visual Studio – среда разработки программного обе- спечения корпорации Microsoft, включающая средства отладки уровня исходного кода;
    – TotalView – коммерческий отладчик для Unix;
    – WinDbg – бесплатный отладчик от корпорации Microsoft;
    – FlexTracer – коммерческий отладчик SQL-запросов для раз- личных СУБД.
    Профилирование – сбор характеристик работы программы, таких как время выполнения отдельных фрагментов (обычно под- программ), число верно предсказанных условных переходов, чис- ло кэш промахов и т.д. Инструмент, используемый для анализа работы, называют профилировщиком. Обычно выполняется со- вместно с оптимизацией программы. Характеристики могут быть аппаратными (время) или вызванными программным обеспечени- ем (функциональный запрос). Инструментальные средства анализа программы чрезвычайно важны для того, чтобы понять поведение
    программы. Проектировщики ПО нуждаются в таких инструмен- тальных средствах, чтобы оценить, как хорошо выполнена работа.
    Программисты нуждаются в инструментальных средствах, что- бы проанализировать их программы и идентифицировать крити- ческие участки программы. К профилировщикам можно отнести
    VTune, CodeAnalyst, AQtime.
    Генератор документации – программа или пакет программ, позволяющая получать документацию, предназначенную для про- граммистов (документация на API) и/или для конечных пользова- телей системы, по особым образом комментированному исходному коду и (в некоторых случаях) по исполняемым модулям (получен- ным на выходе компилятора).
    Покрытие кода – мера, используемая при тестировании про- граммного обеспечения. Она показывает в процентах долю проте- стированного исходного кода программы.
    Непрерывная интеграция (Continuous Integration) – это прак- тика разработки программного обеспечения, которая заключа- ется в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем.
    В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной.
    Автоматизированное тестирование программного обеспече-
    ния – часть процесса тестирования на этапе контроля качества в процессе разработки программного обеспечения. Оно использует программные средства для выполнения тестов и проверки резуль- татов выполнения, что помогает сократить время тестирования и упростить его процесс. Существует два основных подхода к автома- тизации тестирования: тестирование на уровне кода и тестирование пользовательского интерфейса. Для автоматизации тестирования существует большое количество приложений: HP LoadRunner, HP
    QuickTest Professional, HP Quality Center, Segue SilkPerformer,
    IBM Rational FunctionalTester, IBM Rational PerformanceTester, IBM
    Rational TestStudio, SmartBear Software TestComplete.
    Система управления версиями (Version Control System, VCS или Revision Control System) – программное обеспечение для облег- чения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же до- кумента, при необходимости возвращаться к более ранним верси- ям, определять, кто и когда сделал то или иное изменение, и многое другое. В частности, системы управления версиями применяются в системах автоматизированного проектирования (САПР), обычно в составе систем управления данными об изделии (PDM).

    Управ-ление версиями используется в инструментах конфигурационного управления
    (Software
    Configuration
    Management Tools)



    написать администратору сайта