- •«Технология создания программных продуктов»
- •6.040303 «Системный анализ»
- •«Технология создания программных продуктов»
- •6.040303 «Системный анализ»
- •Модуль I: «Общая характеристика Visual Basic для приложений»
- •Лекция №1 Введение в Visual Basic для приложений (vba)
- •Лекция №2 Элементы кода Visual Basic для приложений (vba)
- •2.2 Инструкции, функции и выражения
- •2.3 Переменные, массивы, типы данных и константы
- •2.3.1 Правила присвоения имен в языке Visual Basic
- •2.3.2 Типы данных
- •2.3.3 Эффективное использование типов данных
- •2.3.4 Описание констант
- •2.3.5 Описание переменных
- •2.3.6 Описание массивов
- •Лекция №3 Циклические и разветвляющиеся вычислительные процессы в vba
- •3.1 Циклы и условные инструкции в программе
- •3.2 Использование циклов для повторения блоков программы
- •3.3 Использование условных инструкций
- •Пример использования метода Print
- •3.5 Преобразование данных
- •3.6 Функции Int и Fix
- •3.7 Генерация случайных чисел
- •Лекция №4 Организация ввода-вывода в vba
- •4.1 Диалоговый ввод - вывод в vba
- •4.2 Принятие решения
- •4.3 Окно ввода
- •4.4 Ввод-вывод при помощи ячеек Excel
- •Лекция №5 Структура кода vba. Процедуры и функции
- •5.1 Структура кода
- •5.2 Использование функций и процедур
- •5.2.1 Вызов функций и процедур
- •5.2.2 Передача именованных аргументов
- •5.2.3 Эффективная передача аргументов в функции и процедуры
- •Лекция №6 Использование объектов в vba
- •6.1 Понятия объектов, свойств, методов, событий
- •6.2 Создание собственных объектов
- •Пример описания объекта
- •Пример использования объекта
- •Модуль II: «Принципы разработки программ пользователя»
- •Лекция №7 Этапы развития технологии создания программ (технология программирования. Основные понятия и подходы)
- •7.1 Технология программирования и основные этапы ее развития
- •Лекция №8 Блочно-иерархический подход к созданию сложных систем
- •8.1 Проблемы разработки сложных программных систем
- •8.2 Блочно-иерархический подход к созданию сложных систем
- •8.3 Информационное моделирование предметной области [1] -с. 543
- •Лекция №9 Последовательность проектирования ис
- •9.2.1 Содержание и цели предпроектного обследования
- •9.2.2 Функциональная структура объекта автоматизации
- •9.2.3 Методы обследования управленческих процедур
- •9.2.4 Исследование потоков и структуры информации
- •9.3 Обоснование и выбор состава автоматизируемых задач [1] -с.518-519
- •9.4.1 Характеристика задачи (комплекса задач)
- •9.4.2 Выходная информация
- •9.4.3 Входная информация
- •9.4.4 Математическое описание
- •9.4.5 Описание алгоритма решения
- •9.4.6 Разработка контрольного примера
- •10.1 Состав процессов жизненного цикла
- •10.2 Основные этапы разработки программного обеспечения
- •Лекция №11 Развитие моделей жизненного цикла программного
- •11.1 Каскадная модель
- •11.2 Модель c промежуточным контролем
- •11.3 Спиральная модель
- •11.4 Использование case-технологий
- •11.5 Ускорение разработки программного обеспечения. Технология rad
- •Лекция №12 Оценка качества процессов создания программного
- •12.1 Серия стандартов iso 9000
- •12.2 Стандарт cmm
- •12.3 Стандарт spice
- •«Технологія створення програмних продуктів» конспект лекцій з дисципліни
- •6.040303 «Системний аналіз»
- •84313, М. Краматорськ, вул. Шкадінова, 72.
11.5 Ускорение разработки программного обеспечения. Технология rad
Разработка спиральной модели жизненного цикла программного обеспечения и CASE-технологий позволили сформулировать условия, выполнениe которых сокращает сроки создания программного обеспечения.
Современная технологии проектирования, разработки и сопровождения программного обеспечения, должна отвечать следующим требованиям:
поддержка полного жизненного цикла программного обеспечения;
гарантированное достижение целей разработки c заданным качеством и в установленное время;
возможность выполнения крупных проектов в виде подсистем, разрабатываемых группами исполнителей ограниченной численности (3-7 человек) c последующей интеграцией составных частей, и координации ведения общего проекта;
минимальное время получения работоспособной системы;
возможность управления конфигурацией проекта, ведения версий проекта и автоматического выпуска проектной документации по каждой версии;
независимость выполняемых проектных решений от средств реализации (СУБД, операционных систем, языков и систем программирования);
• поддержка комплексом согласованных CASE-средств, обеспечивающих автоматизацию процессов, выполняемых на всех стадиях жизненного цикла.
Этим требованиям отвечает технология RAD (Rapid Application Development - Быстрая разработка приложений). Эта технология ориентирована, как следует из названия, на максимально быстрое получение первых версий разрабатываемого программного обеспечения. Она предусматривает выполнение следующих условий:
ведение разработки небольшими группами разработчиков (3-7 человек), каждая из которых проектирует и реализует отдельные подсистемы проекта - позволяет улучшить управляемость проекта;
использование итерационного подхода способствует уменьшению времени получения работоспособного прототипа;
наличие четко проработанного графика цикла, рассчитанного не более чем на три месяца, существенно увеличивает эффективность работы.
Процесс разработки при этом делится на следующие этапы: анализ и планирование требований пользователей, проектирование, реализация, внедрение.
На этапе анализа и планирования требований формулируют наиболее приоритетные требования, что ограничивает масштаб проекта.
На этапе проектирования используя имеющиеся CASE-средства, детально описывают процессы системы, устанавливают требования разграничения доступа к данным и определяют состав необходимой документации. При этом для наиболее сложных процессов создают частичный прототип: разрабатывают экранную форму и диалог. По результатам анализа процессов определяют количество так называемых функциональных точек и принимают решение о количестве подсистем и, соответственно, команд, участвующих в разработке.
Под функциональной точкой в технологии RAD понимают любой из следующих функциональных элементов разрабатываемой системы:
входной элемент приложения (входной документ или экранная форма);
выходной элемент приложения (отчет, документ или экранная форма);
запрос (пара «вопрос/ответ»);
логический файл (совокупность записей данных, используемых внутри приложения);
интерфейс приложения (совокупность записей данных, передаваемых другому приложению или получаемых от него).
Нормы, рассчитанные исходя из экспертных оценок, для систем со значительной повторяемостью кодов определяются следующим образом:
менее 1 тыс. функциональных точек - 1 человек;
от 1 до 4 тыс. функциональных точек - одна команда разработчиков;
более 4 тыс. функциональных точек - одна команда на каждые 4 тыс. точек.
В соответствии c этими нормами разрабатываемую систему делят на подсистемы, слабо связанные по данным и функциям, и точно определяют интерфейсы между различными частями. Использование CASE-средств при этом позволяет избежать неконтролируемого искажения данных при передаче информации о проекте со стадии на стадию.
Далее разработка ведется группами разработчиков, которые продолжают прорабатывать свои части системы. Действия различных групп разработчиков при этом должны быть хорошо скоординированы.
На этапе реализации выполняют итеративное построение реальной системы, причем при этом для контроля над выполнением требований к создаваемой системе привлекаются будущие пользователи.
Части постепенно интегрируют в систему, причем при подключении каждой части выполняют тестирование. На завершающих этапах разработки определяют необходимость создания соответствующих баз данных, которые разрабатываются и подключаются к системе. Далее формулируют требования к аппаратным средствам, устанавливают способы увеличения производительности и завершают подготовку документации по проекту.
На этапе внедрения проводят обучение пользователей и осуществляют постепенный переход на новую систему, причем эксплуатация старой версии продолжается до полного внедрения новой системы.
Технология RAD хорошо зарекомендовала себя для относительно небольших проектов, разрабатываемых для конкретного заказчика. Такие системы не требуют высокого уровня планирования и жесткой дисциплины проектирования. Однако эта технология не применима для построения сложных расчетных программ, операционных систем или программ управления сложными объектами в реальном масштабе времени, т. e. программ c большим процентом уникального кода. Не годится она и в случае создания приложений, от которых зависит безопасность людей, например, систем управления самолетами или атомными электростанциями, так как технология RAD предполагает, что первые несколько версий не будут полностью работоспособны, что в данном случае полностью исключается.
