Что называют инструментом для создания программ

Программные инструменты в жизненном цикле программных средств. Инструментальные среды и инструментальные системы поддержки разработки программных продуктов, их классификация. Компьютерная технология (CASE-технология) разработки программных продуктов и ее рабочие места. Общая архитектура инструментальных систем технологии программирования

Инструменты разработки программных продуктов.

При разработке программных продуктов используется в той или иной мере компьютерная поддержка процессов разработки и сопровождения ПП. Это достигается путем представления хотя бы некоторых программных документов ПП (прежде всего, программ) на компьютерных носителях данных (например, на дискетах) и предоставлению в распоряжение разработчика ПП специальных ПП или включенных в состав компьютера специальных устройств, созданных для какой-либо обработки таких документов.

В качестве такого специального ПП можно указать компилятор с какого-либо языка программирования. Компилятор избавляет разработчика ПП от необходимости писать программы на языке компьютера, который для разработчика ПП был бы крайне неудобен, — вместо этого он составляет программы на удобном ему языке программирования, которые соответствующий компилятор автоматически переводит на язык компьютера. В качестве специального устройства, поддерживающего процесс разработки ПП, можно указать, например, эмулятор какого-либо языка. Эмулятор позволяет выполнять (интерпретировать) программы на языке, отличном от языка компьютера, поддерживающего разработку ПП, например, на языке компьютера, для которого эта программа предназначена.

КАК НАУЧИТЬСЯ ПИСАТЬ МУЗЫКУ С НУЛЯ в FL STUDIO или ABLETON

ПП, предназначенное для поддержки разработки других ПП, будем называть программным инструментом разработки ПП, а устройство компьютера, специально предназначенное для поддержки разработки ПП, будем называть аппаратным инструментом разработки ПП.

Инструменты разработки ПП могут использоваться в течение всего жизненного цикла ПП [16.2] для работы с разными программными документами. Так текстовый редактор может использоваться для разработки практически любого программного документа. С точки зрения функций, которые инструменты выполняют при разработке ПП, их можно разбить на следующие четыре группы:

* инструменты, поддерживающие процесс выполнения программ.

Редакторы поддерживают конструирование (формирование) тех или иных программных документов на различных этапах жизненного цикла. Как уже упоминалось, для этого можно использовать один какой-нибудь универсальный текстовый редактор. Однако, более сильную поддержку могут обеспечить специализированные редакторы: для каждого вида документов — свой редактор.

В частности, на ранних этапах разработки в документах могут широко использоваться графические средства описания (диаграммы, схемы и т.п.). В таких случаях весьма полезными могут быть графические редакторы. На этапе программирования (кодирования) вместо текстового редактора может оказаться более удобным синтаксически управляемый редактор, ориентированный на используемый язык программирования.

В КАКИХ ПРОГРАММАХ ПИШУТ МУЗЫКУ — МОЙ ТОП 5 СЕКВЕНСОРОВ

Анализаторы производят либо статическую обработку документов, осуществляя различные виды их контроля, выявление определенных их свойств и накопление статистических данных (например, проверку соответствия документов указанным стандартам), либо динамический анализ программ (например, с целью выявление распределения времени работы программы по программным модулям).

Преобразователи позволяют автоматически приводить документы к другой форме представления (например, форматеры) или переводить документ одного вида к документу другого вида (например, конверторы или компиляторы), синтезировать какой-либо документ из отдельных частей и т.п.

Инструменты, поддерживающие процесс выполнения программ, позволяют выполнять на компьютере описания процессов или отдельных их частей, представленных в виде, отличном от машинного кода, или машинный код с дополнительными возможностями его интерпретации. Примером такого инструмента является эмулятор кода другого компьютера. К этой группе инструментов следует отнести и различные отладчики. По существу, каждая система программирования содержит программную подсистему периода выполнения, которая выполняет программные фрагменты, наиболее типичные для языка программирования, и обеспечивает стандартную реакцию на возникающие при выполнении программ исключительные ситуации (такую подсистему мы будем называть исполнительной поддержкой). Такую подсистему также можно рассматривать как инструмент данной группы.

Читайте также:
Лучшая программа для чпу

Источник: mydocx.ru

Инструменты разработки программных средств

ПС, предназначенное для поддержки разработки других ПС, будем называть программным инструментом разработки ПС, а устройство компьютера, специально предназначенное для поддержки разработки ПС, будем называть аппаратным инструментом разработки ПС.

С точки зрения функций, которые инструменты выполняют при разработке ПС, их можно разбить на следующие четыре группы:

  • редакторы,
  • анализаторы,
  • преобразователи,
  • инструменты, поддерживающие процесс выполнения программ.

Компьютерная поддержка процессов разработки и сопровождения ПС может производиться не только за счет использования отдельных инструментов (например, компилятора), но и за счет использования некоторой логически связанной совокупности программных и аппаратных инструментов. Такую совокупность будем называть инструментальной средой разработки и сопровождения ПС.

Инструментальная среда не обязательно должна функционировать на том компьютере, на котором должно будет применяться разрабатываемое с помощью ее ПС.

Совокупность инструментальных сред можно разбивать на разные классы, которые различаются значением следующих признаков:

  • ориентированность на конкретный язык программирования,
  • специализированность,
  • комплексность,
  • ориентированность на конкретную технологию программирования,
  • ориентированность на коллективную разработку,
  • интегрированность.

Ориентированность на конкретный язык программирования (языковая ориентированность) показывает: ориентирована ли среда на какой-либо конкретный язык программирования (и на какой именно) или может поддерживать программирование на разных языках программирования. В первом случае информационная среда и инструменты существенно используют знание о фиксированном языке (глобальная ориентированность), в силу чего они оказываются более удобным для использования или предоставляют дополнительные возможности при разработке ПС. Но в этом случае такая среда оказывается не пригодной для разработки программ на другом языке. Во втором случае инструментальная среда поддерживает лишь самые общие операции и, тем самым, обеспечивает не очень сильную поддержку разработки программ, но обладает свойством расширения (открытости). Последнее означает, что в эту среду могут быть добавлены отдельные инструменты, ориентированные на тот или иной конкретный язык программирования, но эта ориентированность будет лишь локальной (в рамках лишь отдельного инструмента).

Специализированность инструментальной среды показывает: ориентирована ли среда на какую-либо предметную область или нет. В первом случае информационная среда и инструменты существенно используют знание о фиксированной предметной области, в силу чего они оказываются более удобными для использования или предоставляют дополнительные возможности при разработке ПС для этой предметной области. Но в этом случае такая инструментальная среда оказывается не пригодной или мало пригодной для разработки ПС для других предметных областей. Во втором случае среда поддерживает лишь самые общие операции для разных предметных областей. Но в этом случае такая среда будет менее удобной для конкретной предметной области, чем специализированная на эту предметную область.

Комплексность инструментальной среды показывает: поддерживает ли она все процессы разработки и сопровождения ПС или нет. В первом случае продукция этих процессов должна быть согласована. Поддержка инструментальной средой фазы сопровождения ПС, означает, что она должна поддерживать работу сразу с несколькими вариантами ПС, ориентированными на разные условия применения ПС и на разную связанную с ним аппаратуру, т.е. должна обеспечивать управление конфигурацией ПС.

Ориентированность на коллективную разработку показывает: поддерживает ли среда управление (management) работой коллектива или нет. В первом случае она обеспечивает для разных членов этого коллектива разные права доступа к различным фрагментам продукции технологических процессов и поддерживает работу менеджеров по управлению коллективом разработчиков. Во втором случае она ориентирована на поддержку работы лишь отдельных пользователей.

Интегрированность инструментальной среды показывает: является ли она интегрированной (и в каком смысле) или нет. Инструментальная среда считается интегрированной, если взаимодействие пользователя с инструментами подчиняется единообразным правилам, а сами инструменты действуют по заранее заданной информационной схеме, связаны по управлению или имеют общие части. В соответствие с этим различают три вида интегрированности:

  • интегрированность по пользовательскому интерфейсу,
  • интегрированность по данным,
  • интегрированность по действиям (функциям).
Читайте также:
Какая программа записывает iso на диск

Интегрированность по пользовательскому интерфейсу означает, что все инструменты объединены единым пользовательским интерфейсом. Интегрированность по данным означает, что инструменты действуют в соответствии с фиксированной информационной схемой (моделью) системы, определяющей зависимость друг от друга различных используемых в системе фрагментов данных (информационных объектов). В этом случае может быть обеспечен контроль полноты и актуальности программных документов и порядка их разработки. Интегрированность по действиям означает, что, во-первых, в системе имеются общие части всех инструментов и, во-вторых, одни инструменты при выполнении своих функций могут обращаться к другим инструментам.

Инструментальную среду, интегрированную хотя бы по данным или по действиям, будем называть инструментальной системой. При этом интегрированность по данным предполагает наличие в системе специализированной базы данных, называемой репозиторием. Под репозиторием будем понимать центральное компьютерное хранилище информации, связанной с проектом (разработкой) ПС в течение всего его жизненного цикла.

Основные компоненты инструментальных систем технологии программирования:

  • репозиторий,
  • инструментарий,
  • интерфейсы.

Репозиторий — специализированная база данных.

Инструментарий — набор инструментов, определяющий возможности, предоставляемые системой коллективу разработчиков. Обычно этот набор является открытым и структурированным. Помимо минимального набора (встроенные инструменты), он содержит средства своего расширения (импортированными инструментами). Кроме того, в силу интегрированности по действиям он состоит из некоторой общей части всех инструментов (ядра) и структурных (иногда иерархически связанных) классов инструментов.

Интерфейсы разделяются на пользовательский и системные. Пользовательский интерфейс обеспечивает доступ разработчикам к инструментарию. Он реализуется оболочкой системы. Системные интерфейсы обеспечивают взаимодействие между инструментами и их общими частями.

Вопросы для самопроверки:

  1. Сформулируйте определение понятия «программный продукт».
  2. Как можно классифицировать программные продукты.
  3. Как можно классифицировать системное программное обеспечение (СПО). Структура СПО.
  4. Дать определение базового программного обеспечения компьютера.
  5. Что входит в системное программное обеспечение.
  6. Дать определение операционной системы.
  7. Дать определение операционной оболочки.
  8. Что входит в набор сервисных (дополнительно устанавливаемых) программ.
  9. Дать определение программы утилиты. Какие комплекты утилит вы знаете. Приведите пример.
  10. Что входит в минимальный состав системного программного обеспечения.
  11. Сформулируйте определение понятия «пакеты прикладных программ». Приведите примеры.
  12. Сформулируйте определение понятия «инструментарий технологии программирования».
  13. Назовите виды инструментальных средств, для разработки программных продуктов и дайте им краткую характеристику.
  14. Что такое инструментальная среда разработки и сопровождения ПС?
  15. Дайте определение CASE-технологии. Когда она используется.
  16. Что такое инструментальная система технологии программирования?

Источник: studfile.net

Основные инструменты для C#-разработчика

Разработка на языке C# подразумевает под собой использование целого ряда инструментов и технологий, о которых мы расскажем в этом материале.

Естественно, что здесь преобладают официальные решения от Microsoft и их партнеров, которые по распространенности сильно опережают любые свои аналоги. Выделяем главные, о которых должен знать каждый начинающий разработчик.

Отдельно отметим, что такой богатый инструментарий делает C# одним из самых универсальных языков программирования.

Это очень хорошо продуманный высокоуровневый объектно-ориентированный язык программирования. На платформе .Net можно реализовать любое приложение: от оконной Windows программы (при помощи современной технологии WCF) и современных веб-сайтов (с помощью ASP.NET) до мобильных и облачных приложений.

Формально владение языком C# позволяет разрабатывать приложения для любой платформы и операционной системы. Например, компания Xamarin активно развивает проект Mono — реализацию .Net для UNIX-подобных операционных систем.

C# используется при разработке desktop, web, мобильных и облачных приложений.

На C# разрабатываются компьютерные игры, программы математического моделирования, шлюзы платежных систем и многое другое. Всё чаще стали встречаться реализации научных программ на C#. Можно сказать, что этот язык подойдет для реализации проекта любой сложности.

Интегрированная среда разработки. Официальная, бесплатная и самая функциональная. Естественно, это самый распространенный и популярный инструмент среди C#-разработчиков, превосходящий всех своих возможных конкурентов.

Читайте также:
Как обновить программы на Айфон 4

Бесплатной является только версия Community edition, но ее в большинстве случаев достаточно —можно подключать плагины и другие языки программирования, улучшать и анализировать структуру кода. Имеет огромное количество встроенных инструментов и библиотек, поддерживающих компиляцию, отладку, профилирование, git-репозитарий, юнит-тестирование.

Регистрация в сообществе дает доступ к облачному хранилищу, где можно размещать файлы и совместно работать над ними. В качестве минусов выделяют сложность IDE (новичкам тяжело самостоятельно разобраться в большом количестве функций). Также отмечают наличие ошибок при переходе на платную версию. Аналоги — MonoDevelop и SharpDevelop.

Легкий и кроссплатформенный редактор кода (благодаря плагинам способен выйти на уровень практически полноценной IDE). Много возможностей кастомизации под конкретного пользователя — настройка горячих клавиш, конфигураций, тем. Поддерживает огромное количество расширений, быстро устанавливается и отлично работает даже на слабых машинах. Тем не менее, для сложных проектов этого инструмента будет, скорее всего, недостаточно.

Доминирующий среди C#-разработчиков фреймворк для создания веб-приложений. Позволяет разрабатывать мощные и надежные продукты с развитым пользовательским интерфейсом. Серьезно упрощает работу программистов, выстраивает чистую кодовую архитектуру. Это родственная технология классической ASP.NET Web Forms, основанная на той же платформе, имеет перед ней ряд преимуществ.

Основное средство взаимодействия между .NET-приложениями и реляционными базами данных (ORM-фреймворк), встроенное в платформу. Упрощает сопоставление объектов в программном обеспечении с таблицами и столбцами реляционной базы данных. Повышает производительность за счет сокращения задач по сохранению данных. Microsoft активно развивает данный инструмент и он, в целом, выигрывает конкуренцию у большинства своих аналогов для C#-разработчика (например, NHibernate и LLBLGen Pro).

Фреймворк для разработки кроссплатформенных мобильных приложений на языке C#. Получающиеся на выходе продукты вполне способны конкурировать с нативными приложениями. Особенно подходит для тех приложений, где главное функциональность, а не дизайн. Для проектов со сложным интерфейсом данное решение выглядит спорным (впрочем, как и любые другие кроссплатформенные средства).

Позволяет экономить ресурсы, использовать одну и ту же кодовую базу. Раньше это был платный инструмент, но после поглощения компанией Microsoft стал встроенным. Его еще можно называть относительно молодым, однако на официальном сайте доступна вся исчерпывающая документация и туториалы.

Один из плагинов от компании JetBrains, специально разработанный на основе партнерских отношений с Microsoft для повышения производительности, чистоты и качества кода. Очень популярный и востребованный среди разработчиков. Множество функций и возможностей, которые рекомендованы к использованию для начинающих, так как они существенно облегчают программирование.

Расширений для Visual Studio существует много, но именно это стоит выделить отдельно. Поддерживает C#, VB.NET, XAML, XML, ASP.NET, JavaScript, TypeScript, HTML и CSS. Подходит для исследования библиотек, у которых отсутствуют исходники (в него встроен компилятор). Аналоги — CodeRush и JustCode.

Мощная графическая подсистема в .NET Framework для разработки настольных приложений. Использует язык XAML. Отличная технология для реализации и построения пользовательских интерфейсов с красивой визуальной составляющей. Позволяет объединять анимацию, 3D-графику, динамическую смену обложек, мультисенсорный ввод, распознавание речи.

Библиотека для обмена данными между приложениями и распределенными системами. Платформа просто незаменима при развертывании, создании и настройки распределенных сетевых сервисов. Мультипарадигменный инструмент, вобравший в себя все лучшее от своих предшественников.

Получить профессию C#-разработчика с нуля Вы можете на нашем онлайн-курсе. Познакомиться с преподавателем, узнать об особенностях языка и профессии, решить первую практическую задачу — для этого приглашаем на наш бесплатный онлайн-тренинг по С#.

Последние новости

  • Курс Java online – возможность овладеть универсальной логикой 25.06.2023
  • Вопросы на миллион: интервью с преподавателем по системному анализу 10.06.2023
  • Тестировщик – работа для внимательных и усидчивых 12.07.2022
  • Политика обработки данных пользователей сайта itsuhorukov.ru 02.06.2022
  • 10 самых сочных ссылок для разработчика на Unity3D 02.08.2021

Источник: itsuhorukov.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru