- •Лекция 2. Программный продукт. Проектирование компьютерных информационных систем
- •Программный продукт
- •Классификация программных продуктов по категориям пользователей
- •Правовые методы защиты программных продуктов и баз данных
- •Жизненный цикл, процессы и модели жизненного цикла программного продукта
- •Каскадная модель
- •Итерационная модель
- •Спиральная модель
- •Инкрементальная модель
- •Развитие инкрементального подхода. Технология использования xp-процессов.
- •Выбор модели жц программного проекта
- •Насколько стабильны требования?
- •Кто же является конечным пользователем системы?
- •Временные рамки проекта агрессивны или консервативны?
- •Где расположены команды проекта?
- •Какие ресурсы являются критическими?
- •Case - средства
- •Разработка информационных систем
- •Типовые уровни решений по построению единой аис
- •Разработка информационных систем под конкретную организацию
- •Понятие бизнес-процесса.
- •Реинжиниринг бизнес-процессов.
- •Разработка ис с помощью прототипирования
- •Основные принципы проектирования макета системы
- •Достоинства прототипного подхода к построению аис
- •Недостатки прототипного подхода к построению аис
- •Быстрое прототипирование технических систем
- •Быстрая разработка программных приложений (rad-метод) для организационно – административных систем
- •Axure rp (Rapid Prototyping) Pro – средство для прототипирования
- •Скорость разработки первой версии
- •Cкорость внесения изменений
- •Эстетичность
- •Просмотр прототипа заказчиком без установки дополнительных программ
- •Минимальная интерактивность
- •Разработка ис на основе готовых программных продуктов
- •Основные черты тпр и их классификация
- •Достоинства разработки информационных систем на базе ппп по сравнению с оригинальным проектированием:
- •Недостатки разработки информационных систем на базе ппп по сравнению с оригинальным проектированием
- •Информационная система, построенная на основе аутсорсинга (наиболее распространенная форма построения ис)
- •Исходные положения
- •Существует три больших плюса аутсорсинга.
- •Меньшая плата за квалифицированную работу.
- •Инвестирование развивающихся рынков.
- •Расширение бизнес-служб.
- •Почему аутсорсинг – зло?
- •Сложности взаимодействия.
- •Методы определения целесообразности аутсорсинга
- •Матрицы bcg
- •Недостатки представления ситуации в виде Матрицы бкг
- •К преимуществам Матрицы бкг относятся:
- •Правила построения матрицы бкг
- •Матрица аутсорсинга
- •Преимущества и недостатки аутсорсинга
- •Критерии выбора поставщиков по аутсорсингу
- •Виды аутсорсинга
- •Решение компании об использовании услуг it-аутсорсинга
- •Понятие и особенности it-консалтинга Понятие консалтинга.
- •Цели разработки консалтинговых проектов.
- •Этапы разработки консалтинговых проектов.
- •Особенности консалтинговых структур:
- •Основные виды консалтинговых услуг:
Спиральная модель
Спиральная модель (80 – 90 годы), прототипная модель, предполагающая постепенное расширение прототипа АИС.
Проектирование в данном случае ведется «сверху – вниз», когда определяется состав функциональных подсистем, общие системные проектные решения (например, организация интегрированной (единой для всего предприятия) Базы Данных (БД), разработка технологии сбора, регистрации, накопления и передачи информации), а затем проводится постановка отдельных задач.
Программирование в данном случае ведется от головных модулей к модулям, выполняющим отдельные функции.
Мощность системы может наращиваться сразу по всей спирали или по секторам.
Согласно этой технологии АИС разрабатывается путем расширения программных прототипов, повторяя путь от детализации требований к детализации программного кода.
Рисунок 8. Спиральная модель жизненного цикла
Версии программного продукта называют прототипами. Каждый виток спирали соответствует созданию фрагмента или версии ПО.
Таким образом,. углубляются и последовательно конкретизируются детали проекта. В результате выбирается обоснованный вариант, который доводится до реализации.
При использовании спиральной модели на первый план выходят вопросы взаимодействия интерфейсов программных модулей между собой и с БД. На втором плане – реализация алгоритмов решения задач.
Основное желание заказчика АИС – получить готовое приложение высокого качества быстро при минимальных затратах на его разработку. Кроме того, вкладывая деньги в создание системы, заказчики желают контролировать процесс создания системы. Критерием качества должно быть наиболее полное удовлетворение требований заказчика на момент введения системы в эксплуатацию
Одним из условий обеспечения высокого качества является активное вовлечение заказчика в процесс разработки, что нашло отражение в методологии прототипного проектирования. Ядром этой методологии является совокупность приемов для быстрой разработки приложений RAD (Rapid Application Development) – RAD – технологии.
Данная технология обеспечивает создание на ранней стадии реализации действующей интерактивной модели системы, так называемой системы – прототипа, позволяющей наглядно продемонстрировать пользователю будущую систему (в других моделях он ее видит только на этапе внедрения), уточнить его требования, оперативно модифицировать интерфейсные элементы: формы ввода сообщений, выходные документы, структуру диалога, состав реализуемых функций. Этим реализуется возможность получать замечания и дополнения в процессе проектирования, снижая стоимость (исправление ошибки, совершенной на предыдущем этапе, стоит в 10 раз дороже ошибки текущей) и время разработки и повышая качество системы.
В случае спирального процесса (автор Барри Боэм, 1988) последовательность анализ требований - проектирование - реализация - тестирование выполняется более одного раза.
Для этого может быть несколько причин:
- необходимость предупреждения рисков;
- необходимость предоставить заказчику частичную версию проекта для получения отзывов и пожеланий.
Дополнительное преимущество: на каждом витке спирали можно собрать метрические характеристики проекта (трудоемкость затрат, затраты на проект, длительность, документированность). Таким образом, уточняется план-график дальнейшей работы.
Минусы использования спиральной модели:
1. Требуется более искусное управление;
2. Необходимость поддержки целостности документации, которая должна быть полностью сформирована к концу каждой версии;
3. Трудность в определении момента перехода на следующий этап;
4. Переход осуществляется в соответствии с планом, даже если не все работы выполнены;
5. Слишком большое количество витков потребует увеличения затрат;
Типичный проект, трудоемкость которого оценивается в три человеко-месяца, а продолжительность - в четыре месяца, вероятнее всего, потребует две-три итерации. Затраты на проведение большего числа итераций могут просто перевесить выгоду от дополнительных итераций.
Жизненный цикл при использовании RAD – технологии предполагает активное участие на всех этапах разработки конечных пользователей будущей системы и включает 4 основных стадии информационного инжиниринга:
анализ и планирование информационной стратегии. Пользователи вместе со специалистами – разработчиками участвуют в идентификации проблемной области (детализации функциональности, анализе, определении видов деятельности, активных субъектов, входных/выходных точек, и т.д.);
проектирование. Пользователи принимают участие в техническом проектировании под руководством специалистов – разработчиков;
реализация. Специалисты – разработчики разрабатывают рабочую версию АИС с использование современных языков программирования;
внедрение. Специалисты – разработчики обучают пользователей работе в среде новой АИС.
Все приемы для быстрой разработки приложений RAD служат одновременно для обеспечения высокого качества продукта и низкой стоимости разработки. К числу этих приемов относятся:
разработка приложений итерациями;
необязательность полного завершения работ на каждом из этапов ЖЦ для начала работ на следующем;
обязательное вовлечение пользователей в процесс проектирования и построения системы;
высокая параллельность работ (чем выше параллельность работ, тем меньше длительность проекта);
повторное использование частей проекта;
необходимое применение CASE (Computer- Aided (помощник) Software/System Engineering) – средств, обеспечивающих техническую целостность на этапах анализа и проектирования;
применение средств управления конфигурациями, облегчающее внесение изменений в проект и сопровождение готовой системы;
использование автоматических генераторов (мастеров);
использование прототипирования, позволяющего полнее выяснить и удовлетворить потребности конечного пользователя;
тестирование и развитие проекта, осуществляемые одновременно с разработкой нескольких версий прототипа.
