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

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

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

    CASE-средства. Характеристика современных CASE-средств

Обзор объектно-ориентированных инструментальных средств

Объектно-ориентированное программирование возникло раньше объектно-ориентированного анализа и проектирования, поэтому на сегодняшний день существует достаточно большое количество языков, поддерживающих данную технологию. Первым из них, по дате возникновения, считается язык Smalltalk , хотя многие элементы объектно-ориентированного подхода были использованы еще в языке Simula в 1967г. Наиболее мощным инструментом создания объектно-ориентированных программ на сегодня является язык C++ , созданный на базе языка структурного программирования C . Успешно развивается язык Java , который изначально разрабатывался как объектно-ориентированный.

Разработка крупных программных систем в современных условиях невозможна без использования средств автоматизации разработки программного обеспечения (CASE средств). CASE, поддерживающих объектно-ориентированный подход, не так много. Наиболее известное средство в этом направлении – система Rational Rose , которая поддерживает, в том числе, этапы объектно-ориентированного анализа и проектирования.

Объектно-ориентированное CASE средство Rational Rose

Разработчик Rational Rose - фирма Rational Software Corp., известная своими наработками в области объектно-ориентированных технологий, главной из которых является язык UML. Именно на поддержку UML, как основного языка проектирования ПО, и ориентированна данная CASE система.

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

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

Из основных возможностей можно перечислить следующие:

    Мощный графический язык моделирования предметной области, обладающий высоким уровнем формализации и поддерживающий объектно-ориентированную методологию.

    Удобная навигация между элементами модели при помощи "инспектора проекта".

    Хранение результатов проектирования в виде единой модели.

    Поддержка работы над проектом группы разработчиков.

    Мощная система подготовки отчетов и документации о проекте.

    Возможности синтеза программ практически на всех современных объектно-ориентированных языках, в том числе и на межплатформенном языке Java.

    Поддержка компонентных технологий построения программных систем.

    Широкие возможности по проектированию ПО различной архитектуры, от простых программ, до крупных "клиент-серверных" систем и Интернет-приложений.

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

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

Принципы разработки программных систем в Rational Rose

Построение объектно-ориентированных систем имеет свою специфику. Очевидно, что для наибольшей эффективности следует использовать единую технологию на всех этапах жизненного цикла. Такую возможность предоставляет универсальный язык моделирования UML. Rational Rose поддерживает все этапы проектирования системы, которые определены в спецификации UML.

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

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

Работа начинается с построения диаграммы использования (Use Case Diagram), характеризующей основные задачи и окружение проектируемой системы. Далее, для каждого блока использования (Use Case), представленного на диаграмме использования, разрабатываются диаграммы последовательностей (Sequence Diagram), идентифицирующие объекты в системе и описывающие последовательности событий, возникающих в процессе общения объектов. Rational Rose позволяет автоматически связывать диаграммы последовательностей с блоками использования.

Объекты, присутствующие на диаграммах последовательностей, определяются в системе с помощью классов. Классы и их взаимосвязь задается с помощью диаграмм классов, разработка которых также поддерживается Rational Rose . Классы группируются в пакеты. Rational Rose позволяет определить набор пакетов, взаимосвязи между ними и представить составляющие их классы на вложенных диаграммах классов.

Состав компилируемых и выполняемых модулей системы задается в Rational Rose с помощью диаграммы компонентов. На диаграмме определяются зависимости между компонентами. Для компонентов могут задаваться интерфейсы, через которые реализуются зависимости. Диаграммы развертывания в Rational Rose отражают конфигурацию исполняемой программной системы и состоят из узлов и отношений взаимодействия между узлами. Узлы включают в себя компоненты, представленные на диаграмме компонентов системы.

Для полностью определенной модели можно осуществить генерацию исходных программных текстов на различных объектно-ориентированных языках программирования, поддерживаемых Rational Rose , например Java или C++.

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

Проектирование программных средств

Моделирование предметной области . Создание проекта начинается с формирования принципов использования системы. В рамках Rational Rose это этап именуется "Use Case View". Реализация этого этапа позволяет идентифицировать внешних пользователей, блоки использования, объекты системы и связи между ними.

Составляется диаграмма использования, отражающая внешнее функционирование создаваемой системы. Эта модель во многом аналогична диаграмме потоков данных в структурном анализ. Основными ее составляющими являются внешние пользователи (actors), блоки использования (use case) и связи между компонентами. Для создания диаграммы в Rational Rose используется специализированный графический редактор.

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

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

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

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

На этом этапе следует определить классы, которые необходимы в системе. Экземпляры этих классов уже указаны на диаграммах последовательностей. Классы и их связи отражается в модели в виде диаграммы классов. Группы классов на этих диаграммах могут быть объединены в пакеты.

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

Встроенный в Rational Rose редактор диаграмм классов представляет удобные средства для таких операций, а инспектор модели облегчает перемещение по иерархии диаграмм.

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

Наличие шаблонов позволяет легко создавать классы различной структуры.

Классы могут импортироваться в систему извне. Rational Rose поддерживает компонентную структуру программного обеспечения и позволяет использовать в модели двоичные компоненты, такие как COM и ActiveX. Их представление в модели выполняется с помощью классов, основанных на интерфейсах данных компонентов.

Кроме диаграмм классов, для описания логики системы применяются на данном этапе применяются диаграммы состояний, диаграммы сценариев и другие элементы языка UML

Проектирование физической структуры приложения. Классы, описанные на предыдущем этапе, связываются с физическими компонентами программы при помощи диаграмм компонент.

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

Для визуализации компонентов проектируемой системы используются диаграммы компонент. Этап построения диаграмм компонент в Rose именуется "Component View". Он состоит из построения общей диаграммы и, при необходимости, детализации отдельных компонентов на вложенных диаграммах.

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

Построение диаграмм выполняется в специализированном редакторе. Для компонента задаются составляющие его классы.

Для компонента может производится генерация исходного текста на различных языках программирования, поддерживаемых Rational Rose, или назначаться программные фрагменты, разработанные вне среды Rose . В последнем случае их интерфейс должен соответствовать объявленному в модели.

Последним этапом в проектировании программного обеспечения является подготовка диаграммы развертывания. В Rose этот этап именуется "Deployment View". Диаграммы развертывания показывает конфигурацию исполняемой программной системы. Она состоит из узлов и отношений взаимодействия между узлами и компонентами. Узлы могут включать компоненты и объекты. Узлы являются физическими элементами времени выполнения.

Построение и сопровождение системы

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

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

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

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

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

Rational Rose 98 Enterprise Edition позволяет генерировать исходный текст на Visual Basic, C++, Java, а также получать описание интерфейсов компонент на языке IDL и создавать проекты для системы Oracle 8.

Реинжиниринг модели на основе исходных текстов . Возможность реинжиниринга, или, как его еще называют, "обратного проектирования", модели по исходным программным текстам представляется одной из важных и, безусловно, полезных функций Rose . Потребность в такой операции часто возникает при выполнении модификации и модернизации проекта. Сгенерированные по модели шаблоны программы, после их передачи программистам, могут быть модифицированы и необходимо учитывать эти изменения в модели. Кроме того, поскольку Rational Rose поддерживает импорт двоичных компонентов (COM объекты в среде Win32), то поддержка построения классов на основе описания интерфейсов двоичного компонента просто необходима.

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

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

Теперь становится возможным внести в модель изменения, определяемые добавленными компонентами, и вновь генерировать исходные тексты.

Поддержка этапов разработки

Компоненты и шаблоны. Одной из возможностей Rose является моделирование двоичных компонентов, поддерживающих спецификацию COM. В модели подобные компоненты представляются интерфейсными классами, созданными на основе IDL файлов, сопровождающих COM объект. Это позволяет включать в модель различные готовые компоненты.

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

Рабочие среды. Логичным развитием идеи использования шаблонов и внешних двоичных компонентов в Rational Rose стало появление рабочей среды (Framework).

Рабочая среда является разновидностью шаблона, устанавливающего окружение для создаваемой модели. Это выполняется путем загрузки базовых элементов, включенных в рабочую среду, которые становятся неотъемлемой частью модели.

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

    Среда проектирования распределенных приложений (Application Performance Explorer)

    Стандартная среда (Standard). Ориентированна на создание приложений на Visual Basic. Включает объявление многих стандартных объектов VB.

    Среда проектирования приложений для Интернет (Internet). Включает определение различных компонентов ActiveX и библиотек VB.

    Среда проектирования приложений для работы с локальными базами данных (Local Database). Содержит объявление объектов системы DAO

    Среда проектирования приложений с использованием RDO (Remote Data Object). Позволяет использовать объекты RDO для создания клиент-серверных приложений.

    Среда проектирования приложений для доступа к SQL-серверами (SQL Server Distributed Management Object (SQL-DMO)), поддерживающая доступ к SQL через объекты OLE-Automation.

    Среда поддержки Microsoft Transaction Server

    Среда поддержки Microsoft Outlook

    Среды проектирования приложений на Java (Java JDK 114 Full и Java JDK 114 Quick). Включают модели классов и интерфейсов Java полученные путем реинжиниринга.

    Среда поддержки Oracle8

Среда разработки назначается при создании модели. Хранятся среды разработки в виде файлов модели (*.mdl) предназначенных только для чтения (Read only). В процессе создания новой модели необходимые элементы загружаются из выбранной среды разработки, после чего новую модель.

Среды разработки представляют собой замечательный механизм для настройки Rose на конкретный проект. Можно создать собственную среду разработки, которая будет включать необходимые вам элементы из различных стандартных сред. В состав Rational Rose входит "мастер" по созданию рабочих сред.

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

Наряду с удобным средством инспектирования модели, облегчающим переключение между этапами, в Rational Rose определены механизмы поддержки группы разработчиков.

Создаются различные рабочие области для разработчиков и рабочая область всего проекта. Каждый разработчик производит изменения в своей части (подмодели), и эти изменения становятся глобальными (переносятся в общую модель) только после их утверждения системой управления проектом. В качестве контроллеров проекта в Rose могут использоваться внешние системы, такие как ClearCase и Microsoft SourceSafe .

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

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

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

Для управления расширениями в Rose существует менеджер расширений. С его помощью можно активизировать и де активизировать различные модули расширений.

Достоинства и недостатки Rational Rose

Данное CASE средство может быть применено для создания разнообразного объектно-ориентированного программного обеспечения, в первую очередь для платформы Windows, а так же на межплатформенном языке Java.

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

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

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

Сущность и понятие инструментального программного обеспечения

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

Применяется инструментальное обеспечение в фазе разработки. Инструментальное программное обеспечение - это совокупность программ, используемых для помощи программистам в их работе, для помощи руководителям разработки программного обеспечения в их стремлении проконтролировать процесс разработки и получаемую продукцию. Наиболее известными представителями этой части программного обеспечения являются программы трансляторов с языков программирования, которые помогают программистам писать машинные команды. Инструментальными программами являются трансляторы с языков Фортран, Кобол, Джо-виал, Бейсик, АПЛ и Паскаль. Они облегчают процесс создания новых рабочих программ. Однако трансляторы с языков это только наиболее известная часть инструментальных программ; существует же их великое множество.

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

В самом общем случае для создания программы на выбранном языке программирования (языке системного программирования) нужно иметь следующие компоненты:

1. Текстовый редактор для создания файла с исходным текстом программы.

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

3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение - исполнимый код.

Исполнимый код - это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение.ЕХЕ или.СОМ.

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

Наиболее популярные редакторы (системы программирования программ с использованием визуальных средств) визуального проектирования:

Borland Delphi - предназначен для решения практически любых задачи прикладного программирования.

Borland C++ Builder - это отличное средство для разработки DOS и Windows приложений.

Microsoft Visual Basic - это популярный инструмент для создания Windows-программ.

Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft Windows

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

Задачи и функции инструментального программного обеспечения

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

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

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

2. Перевод текста создаваемой программы в машинно-ориентированный код, доступный для распознавания ЭВМ. В случае значительного объема создаваемой программы, она разбивается на отдельные модули и каждый из модулей переводится отдельно.

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

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

Виды инструментального программного обеспечения

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

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

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

Компиляторы

Интерпретаторы

Линковщики

Парсеры и генераторы парсеров (см. Javacc)

Ассемблеры

Отладчики

Профилировщики

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

Средства анализа покрытия кода

Средства непрерывной интеграции

Средства автоматизированного тестирования

Системы управления версиями и др.

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

Текстовые редакторы.

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

Состав САПР

САПР - система, объединяющая технические сред­ства, математическое и программное обеспечение, пара­метры и характеристики которых выбирают с максималь­ным учетом особенностей задач инженерного проектиро­вания и конструирования. В САПР обеспечивается удоб­ство использования программ за счет применения средств оперативной связи инженера с ЭВМ, специальных проб­лемно-ориентированных языков и наличия информаци­онно-справочной базы.

Структурными составными составляющими САПР яв­ляются подсистемы, обладающие всеми свойствами систем и создаваемые как самостоятельные системы. Это выделенные по некоторым признакам части САПР, обеспечиваю­щие выполнение некоторых законченных проектных задач с получением соответствующих проектных решений и проектных документов.

По назначению подсистемы САПР разделяют на два вида: проектирующие и обслуживающие.

К проектирующим относятся подсистемы, выполняю­щие проектные процедуры и операции, например:

· подсистема компоновки машины;

· подсистема проектирования сборочных единиц;

· подсистема проектирования деталей;

· подсистема проектирования схемы управления;

· подсистема технологического проектирования.

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

· подсистема графического отображения объектов про­ектирования;

· подсистема документирования;

· подсистема информационного поиска и др.

В зависимости от отношения к объекту проектирования различают два вида проектирующих подсистем:

· объектно-ориентированные (объектные);

· объектно-независимые (инвариантные).

К объектным подсистемам относят подсистемы, выпол­няющие одну или несколько проектных процедур или операций, непосредственно зависимых от конкретного объекта проектирования, например:

· подсистема проектирования технологических систем;

· подсистема моделирования динамики, проектируемой конструкции и др.

К инвариантным подсистемам относят подсистемы, выполняющие унифицированные проектные процедуры и операции, например:

· подсистема расчетов деталей машин;

· подсистема расчетов режимов резания;

· подсистема расчета технико-экономических показа­телей и др.

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

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

· методическое обеспечение - документы, в которых отражены состав, правила отбора и эксплуатации средств автоматизации проектирования;

· лингвистическое обеспечение - языки проектирова­ния, терминология;

· математическое обеспечение - методы, математические модели, алгоритмы;

· программное обеспечение - документы с текстами про­грамм, программы на машинных носителях и эксплуата­ционные документы;

· техническое обеспечение - устройства вычислитель­ной и организационной техники, средства передачи дан­ных, измерительные и другие устройства и их сочетания;

· информационное обеспечение - документы, содержа­щие описание стандартных проектных процедур, типовых проектных решений, типовых элементов, комплектующих изделий, материалов и другие данные;

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

· 64 CALS-технологии .

CALS-технологии служат средством, интегрирующим промышленные автоматизированные системы в единую многофункциональную систему. Целью интеграции автоматизированных систем проектирования и управления является повышение эффективности создания и использования сложной техники.

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

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

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

Опыт, накопленный в процессе внедрения разнообразных автономных информационных систем, позволил осознать необходимость интеграции различных информационных технологий в единый комплекс, базирующийся на создании в рамках предприятия или группы предприятий (виртуального предприятия) интегрированной информационной среды, поддерживающей все этапы жизненного цикла выпускаемой продукции. Профессиональная среда наиболее полно раскрывает возможности для профессионального совершенствования, используя новые информационные технологии в науке и в сфере управления производственными процессами. Инновационные технологии в области индустрии переработки информации с внедрением CALS-(Continuous Acquisition and Life cycle Support) технологии – непрерывной информационной поддержки жизненного цикла проектируемого объекта, переводит автоматизацию управления производственными процессами на новый уровень.

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

CALS-технологии служат средством, интегрирующим промышленные автоматизированные системы в единую многофункциональную систему. Целью интеграции автоматизированных систем проектирования и управления является повышение эффективности создания и использования сложной техники.

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

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

Применение CALS-технологий позволяет существенно сократить объемы проектных работ, так как описания ранее выполненных удачных разработок компонентов и устройств, многих составных частей оборудования, машин и систем, проектировавшихся ранее, хранятся в базах данных сетевых серверов, доступных любому пользователю CALS-технологии. Доступность и защита опять же обеспечиваются согласованностью форматов, способов, руководств в разных частях общей интегрированной системы. Кроме того, появляются более широкие возможности для специализации предприятий, вплоть до создания виртуальных предприятий, что также способствует снижению затрат.

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

Промышленные автоматизированные системы могут работать автономно, и в настоящее время организация процесса управления производством происходит на этой основе. Однако эффективность автоматизации будет заметно выше, если данные, генерируемые в одной из систем, будут доступны в других системах, поскольку принимаемые в них решения станут более обоснованными .

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

Унификация формы достигается использованием стандартных форматов и языков представления информации в межпрограммных обменах и при документировании.

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

САПР – что это?

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

программное обеспечение, применяемое в качестве основного элемента соответствующей инфраструктуры;

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

Таким образом, можно выделить широкую и более узкую трактовку термина, о котором идет речь. Тяжело сказать, какая из этих трактовок чаще применяется в бизнесе. Все зависит от конкретной сферы использования систем автоматизированного проектирования, а также от тех задач, для решения которых предполагается применять данные системы. Так, например, в контексте отдельно взятого цеха на производстве, под САПР предполагается конкретная программа для автоматизированного проектирования. Если речь идет о стратегическом планировании развития организации, то такое понятие как САПР скорее всего будет соответствовать масштабной инфраструктуре, которая задействуется с целью повышения эффективности разработки различных проектов. Необходимо отметить, что сам термин САПР представляет собой аббревиатуру, которая может расшифровываться по-разному. В общем случае данная аббревиатура соответствует сочетанию слов «система автоматизированного проектирования». Также существуют и другие варианты расшифровки данной аббревиатуры. Например, довольно распространен вариант «система автоматизации проектных работ». По смыслу английским аналогом термина САПР является аббревиатура CAD, в некоторых случаях также используется CAX.Давайте более подробно рассмотрим следующий вопрос: в каких целях могут создаваться системы автоматизированного проектирования в машиностроении и других сферах?

САПР: цели создания

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

Снижения трудоемкости процесса проектирования;

Сокращения сроков реализации проектов;

Снижения себестоимости проектных работ, и издержек, связанных с эксплуатацией;

Обеспечение повышения качества инфраструктуры проектирования.

Снижение издержек на проведение испытаний и моделирование.

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

Эффективная информационная поддержка специалистов, участвующих в разработке проектов;

Автоматизация документации;

Применение концепций параллельного проектирования;

Унификация различных решений;

Применение математического моделирования, как альтернативы дорогостоящим испытаниям;

Оптимизация методов проектирования;

Повышение качества процессов управления бизнесом.

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

САПР: классификации

К наиболее распространенным критериям классификации САПР относится отраслевое назначение. Выделяют следующие типы:

  1. Автоматизированное проектирование инфраструктуры машиностроения;
  2. САПР для электронного оборудования;
  3. САПР в сфере строительства.

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

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

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

Еще одним критерием, по которому можно классифицировать системы автоматизированного проектирования, является целевое назначение. Здесь выделяют:

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

Системы, используемые с целью разработки различных чертежей;

Системы, разработанные для геометрического моделирования;

Системы, предназначенные для автоматизации расчетов в рамках инженерных проектов и динамического моделирования;

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

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

Данная классификация считается условной.

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

Инструментальные системы разработки программного обеспечения Инструментальное программное обеспечение

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

Любая развитая технологическая система должна поддерживать все основные этапы создания проектируемого программного комплекса. Для достижения этой цели в общей структуре типовой технологической системы поддержки разработ­ки (рис. 6.3) обычно выделяют базу данных проекта; подсистему автоматизации проектирования и программирования; подсистемы отладки, документирования и сопровождения, а также подсистему управления ходом выполнения проекта.


Рис. 6.3. Общая структура типовой технологической системы поддержки разработки

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

Один из таких проектов - Gandalf - ориентирован на ав­томатизированную генерацию систем разработки программного обеспечения. Исследования, выполняемые в рамках проекта Gandalf, касаются трех аспектов поддержки проектирования ПО: управление проектом, контроль версий и инкрементное программирование, а также интеграция их в единую среду. Управление в Gandalf-среде базируется на предположении, что разрабатываемый проект дол­жен трактоваться как множество абстрактных типов данных, над которыми могут выполняться лишь определенные операции. Средством, реализующим данную концепцию, явилась система SDC (Software Development Control), представляю­щая собой набор программ, первоначально реализованных на языке Shell в систе­ме UNIX, а позднее переведенная на язык С.

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



В системе LOIPE (Language-Oriented Incremental Programming Environment) инкрементная компиляция выполняется на уровне отдельной процедуры. Достоин­ством такого подхода является то, что при коррекции процедуры на уровне ло­кальных объектов или типов перекомпилируется только она. Если же меняется спецификация, то перекомпилируются и все зависящие от нее процедуры. Поль­зовательский интерфейс с LOIPE-системой базируется на подсистеме синтакси­чески-ориентированного редактирования ALOE (A Language-Oriented Editor). Целью разработки этой подсистемы было исследование возможности создания и использования синтаксически-ориентированных редакторов в качестве базиса для сред программирования.

Анализ литературы последних лет по технологии программирования показыва­ет, что новой ветвью в технологии промышленной разработки и реализации, сложных и значительных по объему систем программного обеспечения явля­ется CASE-технология (Computer Aided Software Engineering) .

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

Все средства поддержки CASE-технологии делятся на две большие группы: САSE-Toolkits и CASE-Workbenches. Хороших русских эквивалентов этим терми­нам нет. Однако первые часто называют «инструментальными сундучками» (па­кетами разработчика, технологическими пакетами), а вторые - «станками для производства программ» (технологическими линиями).

По определению CASE-Toolkit - коллекция интегрированных программных средств, обеспечивающих автоматическое ассистирование в решении задач одно­го типа в процессе создания программ.

Такие пакеты используют общее «хранилище» для всей технической и управля­ющей информации по проекту (репозиторий), снабжены общим интерфейсом с пользователем и унифицированным интерфейсом между отдельными инстру­ментами пакета. Как правило, CASE-Toolkit концентрируются вокруг поддерж­ки разработки одной фазы производства программ или на одном типе приклад­ных задач.

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

Таким образом, CASE-WorkBench является естественным «замыканием» технологии разработки, реализации и сопровождения программного обеспечения.

В настоящее время «типовая» система поддержки CASE-технологии имеет функци­ональные возможности, представленные на рис. 6.4.

Рис. 6.4. Функциональные возможности типовой системы поддержки CASE-технологии

Как следует из этой Н-диаграммы, в CASE-среде должны поддерживаться все ос­новные этапы разработки и сопровождения процессов создания программных систем. Однако уровень такой поддержки существенно различен. Так, например, если говорить об этапах анализа и проектирования, большинство инструмен­тальных пакетов поддерживает экранные и отчетные формы, создание прототипов, обнаружение ошибок. Значительная часть этих средств предназначена для ПЭВМ. Многие поддерживают такие широко используемые методологии, как структурный анализ DeMarco или Gane/Sarson, структурное проектирование Yourdan/Jackson и некоторые другие. Существуют специализированные пакеты разработчиков для создания информационных систем, например Ana Tool (Ad­vanced Logical Software) для Macintosh; CA-Universe/Prototype (Computer Asso­ciates International) для ПЭВМ. Имеются CASE-среды и для поддержки разра­ботки систем реального времени.

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

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

1. Терминология

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

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

С учетом данного определения термин «Разработка программ» будет звучать следующим образом:

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

2. Основные средства, используемые на разных этапах разработки программ

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

  1. Проектирование приложения.
  2. Реализация программного кода приложения.
  3. Тестирование приложения.

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

2.1 Средства проектирования приложений

На этапе проектирования приложения в зависимости от сложности разрабатываемого программного продукта, напрямую зависящего от предъявляемых требований, выполняются следующие задачи проектирования:

  1. Анализ требований.
  2. Разработка архитектуры будущего программного обеспечения.
  3. Разработка устройств основных компонент программного обеспечения.
  4. Разработка макетов Пользовательских интерфейсов.

Результатом проектирования обычно является «Эскизный проект» (Software Design Document) или «Технический проект» (Software Architecture Document). Задача «Анализ требований» обычно выполняется с использованием методов системологии (анализа и синтеза) с учетом экспертного опыта проектировщика. Результатом анализа обычно является содержательная или формализованная модель процесса функционирования программы. В зависимости от сложности процесса для построения данных моделей могут быть применены различные методы и вспомогательные средства. В общем случае для описания моделей обычно применяются следующие нотации (в скобках приведены программные средства, которые могут быть использованы для получения моделей):

  • BPMN (Vision 2003 + BPMN, AcuaLogic BPMN, Eclipse, Sybase Power Designer).
  • Блок-схемы (Vision 2003 и многие другие).
  • ER-диаграмы (Visio 2003, ERWin, Sybase Power Designer и многие другие).
  • UML-диаграмы (Sybase Power Designer, Rational Rose и многие другие).
  • макеты, мат-модели и т.д.

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

Целью второй и третьей задачи из приведенного списка задач является разработка модели (описания) будущей системы, понятной для кодировщика – человека, который пишет код программы. Здесь огромное значение имеет то, какую парадигму программирования (парадигму программирования также необходимо рассматривать как средство разработки) необходимо использовать при написании программы. В качестве примера основных парадигм необходимо привести следующее:

  • Функциональное программирование;
  • Структурное программирование;
  • Императивное программирование;
  • Логическое программирование;
  • Объектно-ориентированное программирование (прототипирование; использование классов; субъективно-ориентированное программирование).

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

  • диаграмма классов и т.д (Ration Rose, Sybase PowerDisigner и многие другие).
  • описание модулей структур и их программного интерфейса (например, Sybase PowerDisigner и многие другие).

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

2.2 Средства реализации программного кода

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

  • языки программирования (C++,Си, Java, C#, php и многие другие);
  • средства создания пользовательского интерфейса (MFC, WPF, QT, GTK+ и т.д.)
  • средства управления версиями программного кода (cvs, svn, VSS).
  • средства получения исполняемого кода (MS Visual Studio, gcc и многие другие).
  • средства управления базами данных (Оracle, MS SQL, FireBird, MySQL и многие другие).
  • отладчики (MS Visual Studio, gdb и т.д.).

2.3 Средства тестирования программ

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

  • Тестирование на отказ и восстановление.
  • Функциональное тестирование.
  • Тестирование безопасности.
  • Тестирование взаимодействия.
  • Тестирование процесса установки.
  • Тестирование удобства пользования.
  • Конфигурационное тестирование.
  • Нагрузочное тестирование.

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

  • средства анализа кода, профилирования (Code Wizard – ParaSoft, Purify – Rational Softawre. Test Coverage – Semantic и т.д.);
  • средства для тестирования функциональности (TEST – Parasoft, QACenter – Compuware, Borland SilkTest и т.д.);
  • средства для тестирования производительности (QACenter Performance – Compuware и т.д).

3. Заключение

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

Также смотрите :

Қазақстан Республикасының Министерство

Білім және ғылым образования и науки

министрлігі Республики Казахстан

Д. Серікбаев ат ындағы ВКГТУ

ШҚМТУ им. Д. Серикбаева

УТВЕРЖДАЮ

Декан ФИТиБ

М. Кылышканов

2015 г.

БАҒДАРЛАМАНЫ ӘЗІРЛЕУДІҢ ҚҰРАЛ-САЙМАНДАРЫ

Жұмыс модульдік оқу бағдарламасы және силлабус

ИНСТРУМЕНАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ ПРОГРАММ

Количество кредитов дисциплины: 3

Усть-Каменогорск

Рабочая модульная учебная программа и силлабус разработаны на кафедре «Информационные системы и компьютерное моделирование» на основании Государственного общеобязательного стандарта образования РК ГОСО РК 5.04.019 - 2011 Высшее образование. Бакалавриат, Рабочего учебного плана, Типовой учебной программы и Модульной специальности.

Обсуждён на заседании кафедры «Информационные системы и компьютерное моделирование»

Зав. кафедрой Н. Денисова

Одобрен учебно – методическим советом ФИТиБ

Председатель Г. Уазырханова

Протокол № ____ от ____ ____________ 2015

Разработали

доцент кафедры Т. Балова

старший преподаватель кафедры И. Увалиева

Нормоконтролёр И. Фазылова

1 ХАРАКТЕРИСТИКА ДИСЦИПЛИНЫ, ЕЁ МЕСТО В УЧЕБНОМ ПРОЦЕССЕ

1.1 Краткое содержание изучаемой дисциплины

Дисциплина «Инструментальные средства разработки программ» (далее ИСРП) относится к обязательному компоненту цикла профилирующих дисциплин образовательной программы специальности 5В070400-«Вычислительная техника и программное обеспечение» и входит в состав модуля разработки программ модульной образовательной программы специальности 5В070400-«Вычислительная техника и программное обеспечение».

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

1.2 Цели и задачи изучения дисциплины

Цель изучения дисциплины «Инструментальные средства разработки программ» - ознакомление обучающихся с теоретическими знаниями в области технологий проектирования и обеспечения жизненного цикла программных систем, а также приобретение практических навыков использования современных технологий, ориентированных на моделирование бизнес-процессов и проектирование программных систем средствами CASE-технологий (Computer Aided Software/System Engineering, CASE). Цель дисциплины согласована с общими целями модульной образовательной программы специальности.

Компетентностный подход в преподавании дисциплины «Инструментальные средства разработки программ» определяет её основные задачи:

Сформировать у обучающихся систему знаний в области программной инженерии (Software engineering) и программирования (computer programming);

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

Выработать навыки применения CASE-средств структурного и объектно-ориентированного моделирования и проектирования программных средств.


Задачи изучения дисциплины обеспечивают реализацию установленных в квалификационной характеристике требований к подготовке бакалавров по образовательной программе 5В070400-«Вычислительная техника и программное обеспечение».

1.3 Результаты изучения дисциплины

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

знать и понимать:

Модели жизненного цикла программного обеспечения и теоретические основы методологии проектирования программного обеспечения;

Принципы классификации современных инструментальных средств разработки программных продуктов;

Подходы к моделированию и реструктуризации бизнес-процессов и систем;

уметь применять на практике CASE-средства, поддерживающие:

Методологию функционального моделирования IDEF0;

Методологию событийного моделирования IDEF3;

Методологию моделирования потоков данных DFD;

Методологию семантического моделирования данных IDEF1X;

Методологию объектно-ориентированного моделирования программного обеспечения и метамодели UML;

быть готовым формировать суждения:

О выборе модели жизненного цикла для конкретного проекта и проекта;

По вопросам совершенствования программного обеспечения в рамках корпоративных информационных систем и крупных государственных проектов (от модели AS-IS к модели TO-BE);

О значении и последствиях своей профессиональной деятельности с учётом социальных, профессиональных и этических позиций;

развивать коммуникативные способности, в том числе:

развивать навыки обучения, способствующие:

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

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

Учебно-методическое обеспечение дисциплины направлено на успешное формирование указанных результатов обучения.

1.4 Пререквизиты

Для полноценного усвоения материала по дисциплине ИСРП необходимо наличие знаний по дисциплинам, связанным с алгоритмизацией и технологией программирования.

1.5 Постреквизиты

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

2.1 Тематический план


Наименование темы, её содержание

и другие источники

Трудоёмкость,

Модуль 1 «CASE-средства структурно-функционального проектирования программных средств»

Лекционные занятия

Тема 1 «Введение в дисциплину».

Основные понятия. Классификация современных инструментальных средств разработки программных продуктов. Цель и задачи инструментальных средств разработки программ. История развития инструментальных средств.

Тема 2 «Методы проектирования программного обеспечения».

Общие требования к методологии и технологии проектирования программного обеспечения. Руководство к своду знаний по программной инженерии SWEBOK. Обзор методов проектирования программного обеспечения. Обзор инструментария проектирования программного обеспечения

Тема 3 «Основы методологии проектирования программного обеспечения».

Проектирование программ как сложных систем. Жизненный цикл программного обеспечения. Основные процессы ЖЦ ПО. Вспомогательные процессы ЖЦ ПО. Организационные процессы ЖЦ ПО

Тема 4 «Модели жизненного цикла программного обеспечения».

Понятие модели жизненного цикла программного обеспечения. Классическая модель процесса разработки программ. Прототипирование. Стратегия инкрементальной разработки. Спиральная модель процесса. Модель быстрой разработки приложений RAD

Тема 5 «Методологии разработки программного обеспечения».

XP - процесс или экстремальное программирование. Методология Rational Unified Process (RUP). Гибкие (agile) методологии. Выбор модели жизненного цикла для конкретного проекта. Порядок разработки программного обеспечения

Тема 6 «Современные CASE - технологии».

CASE - технологии и их использование. Общая характеристика и классификация современных CASE-средств. Технологии внедрения и освоения CASE-средств. Оценка CASE-средств

Тема 7 «Моделирование бизнес-процессов».

Понятие бизнес-процесса. Реструктуризация бизнес-процессов. Моделирование бизнес-процессов. Методы моделирования бизнес процессов

Тема 8 «CASE-технологии структурного анализа и проектирования программных средств».

Методология структурного анализа и проектирования. Методология функционального моделирования IDEF0. Методология событийного моделирования IDEF3. Моделирование потоков данных DFD. Методология семантического моделирования данных IDEF1X

Лабораторные занятия

Тема 1 «Разработка функциональной модели IDEF0»

Тема 2 «Разработка моделей информационных процессов IDEF3 и потоков данных DFD»

Тема 3 «Методология семантического моделирования данных IDEF1X»

Тема 1 «Отчёты и Sibling диаграммы IDEF0-модели»

Тема 2 «Средства коллективной разработки функциональных моделей в среде BPwin»

Тема 3 «Создание отчётов в ERwin»

Тема 1 «Создание диаграмм FEO»

Тема 3 «Создание связи категоризации в IDEF1X-модели»

Итого по модулю 1

Модуль 2 «CASE-средства объектно-ориентированного проектирования программных средств»

Тема 9 «Основы объектно-ориентированного моделирования программного обеспечения и метамодели UML».

Иерархия метаописаний, используемых в визуальном моделировании программного обеспечения. Назначение и уровни моделей UML. Представления в UML

21, 22, 23, 24, 25

Тема 10 «Унифицированный язык моделирования UML. Модель UML».

UML – унифицированный язык моделирования. Сущности в UML. Отношения в UML

22, 23, 24, 25, 26, 27

Тема 11 «Унифицированный язык моделирования UML. Диаграммы UML».

Виды диаграмм UML. Общие диаграммы UML. Специальные диаграммы UML

22, 23, 24, 25, 26, 27

Тема 12 «Унифицированный язык моделирования UML. Общие механизмы UML».

Использование общих механизмов UML. Общие свойства модели. Точки семантики

22, 23, 24, 25, 26, 27

Тема 13 «Общее описание системы с позиции представления UML».

Представления UML с позиции обобщения описаний. Общие механизмы UML. Общие свойства модели

22, 23, 24, 25, 26, 27

Тема 14 «Описание функциональности разработки программного обеспечения».

Управление рисками проекта. Порядок разработки программного обеспечения. Документирование программных средств. Управление требованиями

Тема 15 «Научно-технологические тренды и самые быстрорастущие сегменты на мировом ИТ рынке».

Три платформы в эволюции рынка ИТ. Новые тренды ИТ: прогноз компании Gartner. Мировые Top тренды развития ИТ на ближайшие 3-5 лет

Лабораторные занятия

22, 23, 24, 25, 26, 27

22, 23, 24, 25, 26, 27

22, 23, 24, 25, 26, 27

Самостоятельная работа обучающегося под руководством преподавателя (СРОП)

Тема 4. «Построение структурных диаграмм UML»

22, 23, 24, 25, 26, 27


Тема 5. «Построение поведенческих диаграмм UML»

22, 23, 24, 25, 26, 27


Тема 6. «Генерация программного кода по модели UML»

22, 23, 24, 25, 26, 27


Самостоятельная работа обучающегося (СРО)

Тема 4. «Построение структурных диаграмм UML»

22, 23, 24, 25, 26, 27

Тема 5. «Построение поведенческих диаграмм UML»

22, 23, 24, 25, 26, 27

Тема 6. «Генерация программного кода по модели UML»

22, 23, 24, 25, 26, 27

Итого по модулю 2

Итого по дисциплине, кредит РК


2.2 Задания для самостоятельной работы (СРОП, СРО)


Продолжитель-ность выполнения, уч. неделя

Форма контроля

Срок сдачи

(номер уч. недели)

Задание на СРОП –IDEF0-модель дополнить отчётами и диаграммами Node Tree.

Задание на СРО –IDEF0-модель дополнить диаграммой FEO.

Познакомиться с основными приёмами коллективной разработки функциональных моделей в среде BPwin

Инд. задание и дополнительные вопросы при защите . Тестовые задания

Задание на СРОП:

Выполнить расщепление IDEF0-модели и

ABC анализ.

Задание на СРО – изучить элементы имитационной модели.

Получить практические навыки использования средств коллективной разработки модели с элементами анализа ABC

Задание на СРОП - для IDEF1X-модели построить шаблон отчёта.

Задание на СРО – изучить работу по созданию связи категоризации в IDEF1X-модели

Изучить приёмы построения шаблонов отчёта средствами Report Builder среды ERwin и освоить процедуры работы со связями категоризации

Инд. задание и дополнительные вопросы при защите лабораторной работы Тестовые задания

Сенсорный многопозиционный ввод и события WPF

Получить начальные сведения о способах взаимодействия с приложением WPF с помощью

касания экрана для интерактивного взаимодействия

Инд. задание и дополнительные вопросы при защите лабораторной работы. Тестовые задания

Триггеры свойств и событий WPF

Познакомиться с механизмом триггеров WPF для создания анимационного эффекта

Инд. задание и дополнительные вопросы при защите лабораторной работы. Тестовые задания

Использование API-интерфейса Office и первичных сборок. Net Microsoft. Office. Interop

Освоить упрощённый механизм взаимодействия с СОМ с целью расширения практических приёмов организации межпрограммного взаимодействия

Инд. задание и дополнительные вопросы при защите лабораторной работы.

Тестовые задания


2.3 График выполнения и сдачи заданий по дисциплине



Основная литература

1 Рамбо Дж. Унифицированный процесс разработки программного обеспечения / А. Якобсон, Г. Буч, Дж. Рамбо - СПб.: Питер, 2002.-496 с.:ил.

2 CASE-технологии. Современные методы и средства проектирования информационных систем / - М.: Финансы и статистика, 1998.- 176 с.

3 Бахтизин, разработки программного обеспечения: учеб. пособие / , . - Минск: БГУИР, 2010. - 267 с. : ил.

4 , Анализ и компьютерное моделирование информационных процессов и систем / , .- Диалог-МИФИ, 2009. - 416 стр.

5 ISO/IEC 12207:2008. Systems and software engineering - Software life cycle processes [Электронный ресурс]. - URL: http://www. iso. org/iso/catalogue_detail? csnumber=43447, свободный. – Загл. с экрана (дата обращения: 30.10.2015)

6 ГОСТ Р ИСО/МЭК 12207-2010 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств. – М. Изд-во стандартов, 2011., 115с.

7 ГОСТ Р ИСО/МЭК 11179-2-2012 Информационная технология. Регистры метаданных (РМД). Часть 2. Классификация [Электронный ресурс]. - URL: http:///Catalog/64/6430.shtml, свободный. – Загл. с экрана (дата обращения: 30.10.2015)

8 ГОСТ Р ИСО/МЭК ТО 12182 – 2002. Информационная технология. Классификация программных средств. – Введ. 2002 – 06 – 11. – М. Изд-во стандартов, 2002

9 IEEE Computer Society. SWEBOK [Электронный ресурс]. - URL: http://puter. org/web/swebok, свободный. – Загл. с экрана (дата обращения: 30.10.2015)

10 , Учебное пособие к практическим занятиям «Структурно-функциональный подход к проектированию и с использованием CASE-средств» / Перм. гос. тещн. ун.-т. – Пермь, 2005.- 245 с.

11 Марка МакГоуэн етодология структурного анализа и проектирования SADT [Пер. с англ.] / арка, акГоуэн - М.: МетаТехнология, 1993. -240 с.

12 РД 50.1.028-2001. Методология функционального моделирования IDEF0, Руководящий документ. Издание официальное. - М.: ИПК Издательство стандартов, 2000. - 75 с.

13 оделирование и анализ систем. IDEF-технологии: практикум/С. Черемных, И. Семенов, В. Ручкин.- М.: Финансы и статистика, 2006. -192 с.

14 , Структурный анализ систем. IDEF - технологии/С. Черемных, И. Семенов, В. Ручкин.- М.: Финансы и статистика,2001. – 208 с.

15 труктурные модели бизнеса: DFD-технологии/ А. Калашян, Г. Калянов.- М.: Прикладные информационные технологии, 2009.- 256 с.

Дополнительная литература

16 IEEE Std. 1320.2–1998. Стандарт IEEE по синтаксису и семантике языка концептуального моделирования IDEFIX97 (IDEF Object). - Введ. 1998-06-25. – Нью-Йорк: IEEE, 1998.

17 ффективное моделирование с AllFusion Process Modeler/ В. Дубейковский.- М.: Диалог-МИФИ, -2007.- 384 с.

18 оделирование бизнес-процессов с AllFusion Process Modeler/ С. Маклаков.- М.: Диалог-МИФИ, -2004.- 240 с.

19 BPwin и Erwin. CASE-средства для разработки информационных систем / С. Маклаков. - Диалог-МИФИ, 2000. - 320 с.

20 , Методология функционального проектирования IDEF0. Учебное пособие по курсу «Технология разработки программного обеспечения» для студ. спец. 40 01 01 Программное обеспечение информационных технологий дневной формы обучения. – Минск: БГУИР, 2003. – 24 с.: ил.

21 , Моделирование на UML. Теория, практика, видеокурс. - СПб, Профессиональная литература, Наука и Техника, 2010, 640 с.

22 зык UML. Руководство пользователя. Второе издание. - ДМК, 2006, 496 с.

23 Дж. Рамбо, М. Блаха, UML 2.0. Объектно-ориентированное моделирование и разработка.- Питер, 2007г., 544 с.

24 Мартин Фаулер. UML. Основы. Краткое руководство по стандартному языку объектного моделирования. Символ-Плюс, 2011., 192с.

25 The Unified Modeling Language (UML) [Электронный ресурс]. - URL: http://www. uml. org/, свободный. – Загл. с экрана (дата обращения: 30.10.2015)

26 ведение в UML: [Электронный ресурс] - Открытые курсы Интернет-университета информационных технологий (ИНТУИТ). - Режим доступа http://www. intuit. ru/studies/courses/1007/229/info (дата обращения: 30.10.2015)

27 изуальное моделирование в среде IBM Rational Rose 2003: [Электронный ресурс] - Открытые курсы Интернет-университета информационных технологий (ИНТУИТ). - Режим доступа http://www. intuit. ru/studies/courses/14/14/info (дата обращения: 30.10.2015)

28 The Gartner Symposium/ITxpo [Электронный ресурс]. - URL: http://www. /technology/symposium/japan/exhibitor-directory. jsp, свободный. – Загл. с экрана (дата обращения: 30.10.2015)

29 Обзор и оценка перспектив развития мирового и российского рынков ИТ / Блог компании Московская Биржа, IT-стандарты, ИТ-инфраструктура [Электронный ресурс]. - URL: http://habrahabr. ru/company/moex/blog/250463/, свободный. – Загл. с экрана (дата обращения: 30.10.2015)

4 ОЦЕНКА ЗНАНИЙ

4.1 Требования преподавателя

Требования преподавателя:

Посещение лекционных и лабораторных занятий, СРСП по расписанию является обязательным;

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

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

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

В течение занятий мобильные телефоны должны быть отключены;

Студент обязан приходить на занятия в деловой одежде.

4.2 Критерии оценки

Оценка всех видов заданий осуществляется по 100-балльной системе.

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

Рубежный контроль знаний проводится на 7 и 15 неделе семестра в форме тестирования. Рейтинг складывается из следующих видов контроля:



Экзамен по дисциплине проходит во время экзаменационной сессии в форме тестирования.

Итоговая оценка знаний студента по дисциплине включает:

40% результата, полученного на экзамене;

60% результатов текущей успеваемости.

Формула подсчёта итоговой оценки:

где Р1, Р2 – цифровые эквиваленты оценок первого, второго рейтингов соответственно; Э – цифровой эквивалент оценки на экзамене.

Итоговая буквенная оценка и её цифровой эквивалент в баллах:



4.3 Материалы для итогового контроля

4.3.1 Модуль 1 «CASE-средства структурно-функционального проектирования программных средств»

В соответствии с международным стандартом ISO и IEC (International Electrotechnical Commission) технология программирования – это

A) один из видов деятельности, входящих в цикл разработки программного обеспечения

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

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

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

E) алгоритм, записанный на языке программирования

F) последовательность команд (операторов, инструкций) компьютера, выполнение которых приводит к получению результата решения задачи

Инструментальные программные средства (Software tools) – это:

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

B) программное обеспечение предприятий, функции которого обеспечивают финансовое управление, систему отношений с потребителями, управление кадрами и пр.

C) компоновщики и отладчики

D) программное обеспечение, используемое в ходе проектирования, разработки, модификации или развития других программных продуктов

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

Компилятор - это:

A) программа, преобразующая исходный текст, написанной на языке программирования высокого уровня, в исполняемый программный код, который может использоваться на других компьютерах без дополнительных преобразований

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

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

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

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

Основными преимуществами CASE-средств являются:

A) Увеличение затрат на разработку

B) Уменьшение затрат на разработку

C) Усложнение доступа к данным

D) Увеличение времени на разработку

E) Облегчение при модификации систем

F) Возможность хранения данных

В соответствии с проектом ICAM (Интеграция компьютерных и промышленных технологий) методология функционального моделирования производственной среды или системы связана с нотацией

К основным элементам IDEF3-модели относятся

B) связи (Links)

C) внешние сущности (external entities)

D) перекрёстки (Junctions)

E) потоки данных (data flow)

F) хранилища данных (data stores)

G) внешние сущности (external entities)

H) процессы или работы (activity)

4.3.2 Модуль 2 «CASE-средства объектно-ориентированного проектирования программных средств»

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

A) технического риска

B) календарного риска

C) управленческого риска

D) коммерческого риска

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

A) наследованием

B) инкапсуляцией

C) полиморфизмом

D) абстрагированием

E) многомодельностью

F) иерархическим построением

На диаграмме использования UML применяют следующие типы сущностей

B) Варианты использования

C) Действующие лица

D) Интерфейсы

F) Состояния

G) Объекты

Какая структурная сущность UML находится вне моделируемой системы и непосредственно взаимодействует с ней

A) класс (class)

B) интерфейс (interface)

C) действующее лицо (actor)

D) вариант использования (use case)

E) артефакт (artifact)

F) узел (node)

5 ОСНОВНЫЕ ФОРМЫ И МЕТОДЫ ОБУЧЕНИЯ

Для повышения мотивации обучающихся к усвоению знаний по дисциплине используются:

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

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

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

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

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

Дистанционная технология обучения.

Для формирования индивидуальных заданий с элементами научных исследований при выполнении лабораторных работ используются результаты научных исследований учёных кафедры.

6 ВРЕМЯ КОНСУЛЬТАЦИЙ

Консультации проводятся по графику работы преподавателя.