Методология и технология проектирования информационных систем. Учебное пособие для магистрантов направления подготовки 09.04.03 «Прикладная информатик
.pdfГенераторы программ типовых операций обработки данных, а также средства расширения функций операционных систем (утилиты). К данному классу относятся также такие простейшие инструментальные средства проектирования, как средства для тестирования и отладки программ, поддержки процесса документирования проекта и т. п. Особенность последних программ заключается в том, что с их помощью повышается производительность труда проектировщиков, но не разрабатывается законченное проектное решение.
Таким образом, средства данного подкласса поддерживают отдельные операции проектирования ИС и могут применяться независимо друг от друга.
Ко второму подклассу относятся средства,
поддерживающие проектирование отдельных компонентов проекта ИС. К данному подклассу относятся средства общесистемного назначения, системы управления базами данными (СУБД); методоориентированные пакеты прикладных программ (решение задач дискретного программирования, математической статистики и т. п.); табличные процессоры; статистические пакеты прикладных программ (ППП, оболочки экспертных систем; графические редакторы; текстовые редакторы; интегрированные ППП
(интерактивная среда с встроенными диалоговыми возможностями, позволяющая интегрировать перечисленные ранее программные средства).
Для перечисленных средств проектирования характерно их использование для разработки технологических подсистем ЭИС: ввода информации, организации хранения и доступа к данным, вычислений, анализа и отображения данных,
принятия решений. |
|
|
|
К |
третьему |
подклассу относятся |
средства, |
поддерживающие проектирование разделов проекта ИС. В этом подклассе выделяют функциональные средства проектирования. Функциональные средства направлены на разработку автоматизированных систем, реализующих функции, комплексы задач и задачи управления. Разнообразие
30
предметных областей порождает многообразие средств данного подкласса, ориентированных на тип организационной системы (промышленная, непромышленная сферы), уровень управления (например, предприятие, цех, отдел, участок, рабочее место, функцию управления (планирование, учет и т. д.
Кфункциональным средствам проектирования систем обработки информации относятся типовые проектные решения, функциональные пакеты прикладных программ, типовые проекты.
Кчетвертому подклассу средств проектирования ИС относятся средства, поддерживающие разработку проекта на стадиях и этапах процесса проектирования. К данному классу относится подкласс средств автоматизации проектирования ИС (CASE-средства).
Современные CASE-средства, в свою очередь, классифицируются в основном по двум признакам:
1) по охватываемым этапам процесса разработки ИС;
2) по степени интегрированности: отдельные локальные средства (tools), набор не интегрированных средств, охватывающих большинство этапов разработки ИС (toolkit), и полностью интегрированные средства, связанные общей базой проектных данных –репозиторием (Workbench).
Таким образом, проект ИС - проектно-конструкторская
итехнологическая документация, в которой представлено описание проектных решений по созданию и эксплуатации ИС в конкретной программно-технической среде.
Средства проектирования должны быть:
– инвариантны к объекту проектирования (в своем
классе);
–охватывать все совокупности все этапы жизненного цикла ИС;
–технически, программно и информационно совместимыми;
–простыми в освоении и применении;
–экономически целесообразными.
31
Средства проектирования ИС можно разделить на два класса: без использования ЭВМ и с использованием ЭВМ.
Средства проектирования без использования ЭВМ применяются на всех стадиях и этапах. Как правило, это средства организационно-методического обеспечения операций и в первую очередь различные стандарты, регламентирующие процесс проектирования систем. Сюда же относятся единая система классификации и кодирования информации, унифицированная система документации, Модели описания и анализа потоков информации и т. п.
Средства проектирования с использованием ЭВМ могут применяться как на отдельных, так и на всех стадиях и этапах процесса проектирования ИС и соответственно поддерживают разработку элементов, разделов, проекта системы в целом. Все множество средств проектирования с использованием ЭВМ делят на четыре подкласса.
Методология и технология проектирования ИС. Требования, предъявляемые к выбираемой технологии проектирования. Классификация методов проектирования ИС.
Методологии, технологии и инструментальные средства проектирования (CASE-средства) составляют основу проекта любой ИС. Методология реализуется через конкретные технологии и поддерживающие их стандарты, методики и инструментальные средства, которые обеспечивают выполнение процессов ЖЦ.
Технология проектирования определяется как совокупность трех составляющих:
–пошаговой процедуры, определяющей последовательность технологических операций проектирования;
–критериев и правил, используемых для оценки результатов выполнения технологических операций;
–нотаций (графических и текстовых средств), используемых для описания проектируемой системы.
32
Технология проектирования, разработки и сопровождения ИС должна удовлетворять следующим общим требованиям:
–технология должна поддерживать полный ЖЦ ПО;
–технология должна обеспечивать гарантированное достижение целей разработки ИС с заданным качеством и в установленное время;
–технология должна обеспечивать возможность выполнения крупных проектов в виде подсистем (т.е. возможность декомпозиции проекта на составные части, разрабатываемые группами исполнителей ограниченной численности с последующей интеграцией составных частей). Опыт разработки крупных ИС показывает, что для повышения эффективности работ необходимо разбить проект на отдельные слабо связанные по данным и функциям подсистемы. Реализация подсистем должна выполняться отдельными группами специалистов. При этом необходимо обеспечить координацию ведения общего проекта и исключить дублирование результатов работ каждой проектной группы, которое может возникнуть в силу наличия общих данных и функций;
–технология должна обеспечивать возможность ведения работ по проектированию отдельных подсистем небольшими группами (3–7 человек). Это обусловлено принципами управляемости коллектива и повышения производительности за счет минимизации числа внешних связей;
–технология должна обеспечивать минимальное время получения работоспособной ИС. Речь идет не о сроках готовности всей ИС, а о сроках реализации отдельных подсистем. Реализация ИС в целом в короткие сроки может потребовать привлечения большого числа разработчиков, при этом эффект может оказаться ниже, чем при реализации в более короткие сроки отдельных подсистем меньшим числом разработчиков. Практика показывает, что даже при наличии полностью завершенного проекта, внедрение идет последовательно по отдельным подсистемам;
33
–технология должна предусматривать возможность управления конфигурацией проекта, ведения версий проекта и его составляющих, возможность автоматического выпуска проектной документации и синхронизацию ее версий с версиями проекта;
–технология должна обеспечивать независимость выполняемых проектных решений от средств реализации ИС (систем управления базами данных (СУБД), операционных систем, языков и систем программирования);
–технология должна быть поддержана комплексом согласованных CASE-средств, обеспечивающих автоматизацию процессов, выполняемых на всех стадиях ЖЦ.
Методы проектирования ИС можно классифицировать по степени использования средств автоматизации, типовых проектных решений, адаптивности к предполагаемым изменениям.
Так, по степени автоматизации методы проектирования разделяются на:
–ручное, при котором проектирование компонентов ИС осуществляется без использования специальных инструментальных программных средств, а программирование – на алгоритмических языках;
–компьютерное, при котором производится генерация или конфигурирование (настройка) проектных решений на основе использования специальных инструментальных программных средств.
По степени использования типовых проектных решении различаются следующие методы проектирования:
–оригинальное (индивидуальное), когда проектные решения разрабатываются «с нуля» в соответствии с требованиями к АИС. Характеризуется тем, что все виды проектных работ ориентированы на создание индивидуальных для каждого объекта проектов, которые в максимальной степени отражают все его особенности;
–типовое, предполагающее конфигурирование ИС из
готовых типовых проектных решений (программных
34
модулей). Выполняется на основе опыта, полученного при разработке индивидуальных проектов. Типовые проекты, как обобщение опыта для некоторых групп организационноэкономических систем или видов работ, в каждом конкретном случае связаны со множеством специфических особенностей и различаются по степени охвата функций управления, выполняемым работам и разрабатываемой проектной документации.
По степени адаптивности проектных решений выделяют методы:
–реконструкции, когда адаптация проектных решений выполняется путем переработки соответствующих компонентов (перепрограммирования программных модулей);
–параметризации, когда проектные решения настраиваются (генерируются) в соответствии с изменяемыми параметрами;
–реструктуризации модели, когда изменяется модель проблемной области, на основе которой автоматически заново генерируются проектные решения.
2.2.Каскадная (водопадная) модель жизненного цикла
(ЖЦ) и поэтапная модель с промежуточным контролем
Собственно, что же такое жизненный цикл программного обеспечения – ряд событий, происходящих с системой в процессе ее создания и дальнейшего использования. Говоря другими словами, это время от начального момента создания какого-либо программного продукта, до конца его разработки и внедрения. Жизненный цикл программного обеспечения можно представить в виде моделей.
Модель жизненного цикла программного обеспечения – структура, содержащая процессы действия и задачи, которые осуществляются в ходе разработки, использования и
сопровождения |
программного |
продукта. |
|
35 |
|
Эти модели можно разделить на 3 основных группы: инженерный подход; с учетом специфики задачи; современные технологии быстрой разработки.
Теперь рассмотрим непосредственно существующие модели (подклассы) и оценим их преимущества и недостатки. Например, модель кодирования и устранения ошибок. Совершенно простая модель, характерная для студентов ВУЗов. Именно по этой модели большинство студентов разрабатывают, ну скажем лабораторные работы. Данная модель имеет следующий алгоритм:
1.Постановка задачи
2.Выполнение
3.Проверка результата
4.При необходимости переход к первому пункту
Рисунок 2.1 – Каскадная модель ИС
Модель также ужасно устаревшая. Характерна для 1960-1970 гг., поэтому преимуществ перед следующими моделями в нашем обзоре практически не имеет, а недостатки на лицо. Относится к первой группе моделей.
36
Каскадная модель жизненного цикла программного обеспечения (водопад) приведен на схеме (рис. 2.1), имеет ряд преимуществ перед алгоритмом предыдущей модели, но также имеет и ряд весомых недостатков.
Преимущества:
–последовательное выполнение этапов проекта в строгом фиксированном порядке;
–позволяет оценивать качество продукта на каждом
этапе. Недостатки:
–отсутствие обратных связей между этапами;
–не соответствует реальным условиям разработки программного продукта.
Относится к первой группе моделей.
Рисунок 2.2 – Модель на основе разработки прототипа
Каскадная модель с промежуточным контролем (водоворот) является почти эквивалентной по алгоритму предыдущей модели, однако при этом имеет обратные связи с каждым этапом жизненного цикла, при этом порождает очень
37
весомый недостаток: десятикратное увеличение затрат на разработку. Относится к первой группе моделей.
V-модель (разработка через тестирование) имеет более приближенный к современным методам алгоритм, однако все еще имеет ряд недостатков. Является одной из основных практик экстремального программирования.
Рисунок 2.3 – Спиральная модель жизненного цикла программного обеспечения
Данная модель основывается на разработки прототипов и прототипирования продукта.
Прототипирование используется на ранних стадиях жизненного цикла программного обеспечения:
1.Прояснить не ясные требования (прототип UI)
2.Выбрать одно из ряда концептуальных решений (реализация сценариев)
3.Проанализировать осуществимость проекта Классификация протопипов:
1.Горизонтальные и вертикальные
38
2.Одноразовые и эволюционные
3.бумажные и раскадровки
Горизонтальные прототипы |
– |
моделирует |
исключительно UI, не затрагивая логику обработки и базу |
||
данных. |
|
|
Вертикальные прототипы – |
проверка |
архитектурных |
решений.
Одноразовые прототипы – для быстрой разработки. Эволюционные прототипы – первое приближение
эволюционной системы.
Эта модель принадлежит второй группе.
Спиральная модель жизненного цикла программного обеспечения (рис. 2.3) представляет собой процесс разработки программного обеспечения, сочетающий в себе как проектирование, так и постадийное прототипирование с целью сочетания преимуществ восходящей и нисходящей концепции.
Преимущества: быстрое получение результата, повышение конкурентоспособности, Изменяющиеся требования – не проблема.
Недостатки: отсутствие регламентации стадий.
2.3. Инкрементная, V-образная, спиральная и итеративная модели ЖЦ
Спиральная и инкрементная модели являются видами итерационной модели жизненного цикла. Итерационная модель предполагает разбиение проекта на части (этапы, итерации) и прохождение этапов жизненного цикла на каждом их них. Каждый этап является законченным сам по себе, совокупность этапов формирует конечный результат.
Поясним разбиение на этапы на простом примере. Допустим, нам нужно сделать компьютерный стол.
–На первом этапе мы сделаем столешницу, ножки и скрепим их так, чтобы стол стоял.
–На втором, укрепим и покрасим его.
39
