Классический жизненный цикл
Одной из старейших последовательностей шагов разработки программного обеспечения (ПО) является классический жизненный цикл (Автор Уинстон Ройс, 1970).
Чаще классический жизненный цикл называют КАСКАДНОЙ или ВОДОПАДНОЙ моделью, подчеркивая, что разработка рассматривается как последовательность этапов, причем переход на следующий иерархически нижний этап происходит только после полного завершения работ на текущем этапе и возврата к пройденным этапам не предусматривается. (см. рис. ниже)
Рисунок - Классический жизненный цикл разработки ПО.
Приведем краткое описание основных этапов. Разработка начинается на системном уровне и проходит через
- анализ,
- проектирование,
- кодирование (реализация),
- тестирование,
- сопровождение
При этом моделируются действия стандартного инженерного цикла.
Системный анализ определяет роль каждого элемента в компьютерной системе, взаимодействие элементов друг с другом.
Анализ начинается с определения требований и назначения подмножества этих требований программному элементу.
На этом этапе начинается решение задачи планирования проекта ПО.
В ходе планирования проекта определяются:
- объем проектных работ,
- риск проектных работ,
- необходимые трудозатраты,
- формируются рабочие задачи,
- формируется план-график работ.
Анализ требований, относящийся к программному элементу, т.е. к ПО, уточняет и детализирует:
- функции ПО,
- характеристики ПО,
- интерфейс ПО.
Все определения документируются в спецификации анализа.
Проектирование создает представления:
- архитектуры ПО,
- модульной структуры ПО,
- алгоритмической структуры ПО,
- структуры данных,
- входного и выходного интерфейса (входных и выходных форм данных).
Кодирование (реализация) состоит в переводе результатов проектирования в текст на языке программирования.
Тестирование – это выполнение программы для выявления дефектов в функциях, логике и форме реализации программного продукта.
Сопровождение – это внесение изменений в эксплуатируемое ПО. Цели изменений:
- исправление ошибок,
- адаптация к изменениям внешней для ПО среды,
- усовершенствование ПО по требованию заказчика.
Сопровождение ПО состоит в повторном применении каждого из предшествующих шагов (этапов) жизненного цикла, т.е. системного анализа, анализа требований, проектирования и т. д., к существующей программе, но не разработке новой программы.
Каждая стадия (этап) завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Достоинствами классического жизненного цикла являются:
- получение плана и временного графика по всем этапам проекта,
- упорядочение хода разработки.
К недостаткам классического жизненного цикла относятся:
- частое отклонение реальных проектов от стандартной последовательности шагов,
- основанность цикла на точной формулировке исходных требований к ПО, тогда как реально в начале проекта требования заказчика определены лишь частично,
- доступность результатов проекта заказчику лишь в конце работы.
Макетирование (прототипирование)
На начальной стадии проекта полностью и точно сформулировать все требования к будущей модели невозможно, поскольку пользователи, как правило, не в состоянии изложить все свои требования и не могут предвидеть, как они изменятся в ходе разработки, и , кроме того, за время разработки могут произойти изменения во внешней среде, которые могут повлиять на требования к системе. Поэтому процесс создания ПО носит скорее итерационный характер, когда результаты очередной стадии разработки могут вызвать необходимость возврата к предыдущим разработкам.
Поэтому ПО создается не сразу, как в случае каскадного подхода, а постепенно с использованием макетирования (прототипирования), когда создается модель требуемого программного продукта.. Под прототипом понимается действующий программный компонент, реализующий отдельные функции.
Модель может принимать одну из трех форм:
- бумажный макет или макет на основе ПК (изображает или рисует человеко – машинный диалог),
- работающий макет (выполняет некоторую часть требуемых функций),
- существует программа, характеристики которой затем должны быть улучшены.
Макетирование основывается на многократном повторении итераций, в
которых участвуют заказчик и разработчик.
Поскольку часто заказчик не может определиться в своих требованиях по разрабатываемому продукту, а проектировщик сомневается в полноте и целесообразности требований заказчика, то прототипирование (макетирование) начинается со сбора и уточнения требований к создаваемому ПО.
Совместными усилиями разработчик и заказчик определяют все цели ПО, устанавливают, какие требования известны, а какие предстоит доопределить. Следующим шагом является быстрое проектирование, внимание в котором сосредотачивается на тех характеристиках ПО, которые должны быть видимы пользователю. Макет (прототип), построенный на этапе быстрого проектирования, оценивается заказчиком и используется для уточнения требований к ПО. Итерации повторяются до тех пор, пока макет не выявит все требования заказчика и не даст возможности разработчику понять, что должно быть сделано.
Достоинством макетирования является обеспечение определения полных требований к ПО.
К недостаткам макетирования относятся:
- возможность принятия заказчиком макета за продукт,
- возможность принятия разработчиком макета за продукт
Заказчик, получивший предварительную версию (макет) и удостоверившийся в ее работоспособности, может перестать видеть недостатки и нерешенные вопросы ПО и перестать соглашаться на дальнейшее усовершенствование, требуя скорейшего преобразования макета в рабочий продукт. В тоже время для экономии времени разработки макета, а также возможности показать работающий вариант, разработчик может использовать неэффективные средства. Забывая о причинах, побудивших использовать эти средства, разработчик может интегрировать неэффективный вариант в систему.
Стратегии разработки ПО
Стратегии разработки ПО можно подразделить на три группы:
1. Линейная последовательность этапов разработки – однократный проход (водопадная стратегия)
2. Инкрементная стратегия, когда сначала определяются все требования (пользовательские и системные), а затем оставшаяся часть разработки выполняется в виде последовательности версий, первая из которых реализует часть запланированных возможностей, а все последующие версии реализуют дополнительные возможности до тех пор, пока не будет получена полная система.
3. Эволюционная стратегия.
При этой стратегии начальный этап не содержит полного объема требования, они уточняются в ходе разработки новых последовательных версий.
Инкрементная стратегия
Инкрементная модель является классическим примером инкрементной стратегии разработки ПО, объединяя элементы последовательной водопадной модели с итерационной философией макетирования. Она представляет собой несколько поставок (инкрементов) представляющих собой последовательность анализа, проектирования, кодирования и тестирования.
Разработка первого инкремента позволяет получить базовый продукт, реализующий базовые требования, при этом многие вспомогательные требования остаются нереализованными. План следующих инкрементов предусматривает последовательную модификацию базового продукта, обеспечивающих дополнительные характеристики и функциональность.
По своей природе инкрементный процесс итеративен, но в отличие от макетирования инкрементная модель обеспечивает в конце инкрементной итерации работающий продукт.
Эволюционная стратегия разработки ПО
Эволюционную стратегию рассмотрим на примерах спиральной модели, компонентно-ориентированной модели и тяжеловесных и облегченных процессах проектирования.
Спиральная модель
Спиральная модель (автор Боэм Б, 1988 г.) опирается на лучшие свойства классического жизненного цикла и макетирования, к которым добавляется новый элемент – анализ риска, отсутствующий в этих шагах разработки.
Спиральная модель определяет планирование (определение целей, вариантов, ограничений), анализ риска (анализ вариантов и распознавание/выбор риска), конструирование (разработка продукта следующего уровня), оценивание (оценка заказчиком текущих результатов разработки).
С каждой итерацией по спирали (продвижением от центра к периферии) строятся все более полные версии ПО. В первом витке спирали определяются:
1) начальные цели, варианты и ограничения;
2) распознавание и анализ риска;
3) необходимость использования макетирования;
4) оценка заказчиком конструктивной работы и внесение предложения по модификации;
5) следующая фаза планирования и анализа риска, базируемая на предложениях заказчика.
В каждом цикле по спирали результаты анализа риска формируются в виде «продолжать, не продолжать». Если риск слишком велик, проект может быть остановлен. В большинстве случаев движение по спирали продолжается, с каждым шагом продвигая разработчиков к более общей модели системы. В каждом цикле по спирали требуется конструирование, которое может быть реализовано классическим жизненным циклом или макетированием.
К достоинствам спиральной модели относится:
1) наиболее реальное (в виде эволюции) отображение разработки программного обеспечения,
2) возможность явно учитывать риск на каждом витке эволюционной разработки,
3) включение шага системного подхода в итерационную структуру разработки,
4) использование моделирования для уменьшения риска и совершенствования программного изделия.
Недостатками спиральной модели являются:
1) повышенные требования к заказчику,
2) трудности контроля и управления временем разработки.
Компонентно-ориентированная модель
Компонентно-ориентированная модель является развитием спиральной модели и основывается на эволюционной стратегии разработки ПО. В этой модели конкретизируется содержание конструирования – оно отображает тот факт, что в современных условиях новая разработка должна основываться на повторном использовании существующих программных компонентов.
К достоинствам компонентно-ориентированной модели относится:
1) уменьшение времени разработки ПО;
2) снижение стоимости программной разработки;
3) повышение производительности разработки.
Тяжеловесные и облегченные процессы
Традиционно для упорядочения и ускорения программных разработок использовались строго упорядочивающие так называемые тяжеловесные процессы. В этих процессах прогнозируется весь объем предстоящих работ, поэтому они называются прогнозирующимися процессами. Порядок, который должен выполнять при этом человек-разработчик, чрезвычайно строг.
В последние годы появилась группа новых облегченных процессов разработки ПО. Их также называют подвижными процессами. Эти процессы привлекательны отсутствием бюрократизма, характерного для тяжеловесных (прогнозирующих) процессов.
Облегченные процессы разработки ПО воплощают разумный компромисс между строгой дисциплиной и отсутствием ее.
Подвижные процессы требуют меньшего объема документации и ориентированы на человека. Подвижные процессы учитывают особенности современного заказчика, а именно, частые изменения его требований к ПО. Подвижные процессы адаптируют изменения требований (адаптивная природа).
3 Классификация и характеристики КИС
3.1 Классификация КИС
Корпоративные информационные системы можно также разделить на два класса: финансово-управленческие и производственные.
1. Финансово-управленческие системы включают подкласс малых интегрированных систем. Такие системы предназначены для ведения учета по одному или нескольким направлениям (бухгалтерия, сбыт, склад, кадры и т.д.)- Системами этой группы может воспользоваться практически любое предприятие.
Системы этого класса обычно универсальны, цикл их внедрения невелик, иногда можно воспользоваться «коробочным» вариантом, купив программу и самостоятельно установив ее на ПК.
Финансово-управленческие системы (особенно системы российских разработчиков) значительно более гибкие в адаптации к нуждам конкретного предприятия. Часто предлагаются «конструкторы», с помощью которых можно практически полностью перестроить исходную систему, самостоятельно или с помощью поставщика установив связи между таблицами БД или отдельными модулями.
2. Производственные системы (также называемые системами производственного управления) включают подклассы средних и крупных интегрированных систем. Они предназначены в первую очередь для управления и планирования производственного процесса. Учетные функции, хотя и глубоко проработаны, играют вспомогательную роль, и порой невозможно выделить модуль бухгалтерского учета, так как информация в бухгалтерию поступает автоматически из других модулей.
Эти системы функционально различны: в одной может быть хорошо развит производственный модуль, в другой - финансовый. Сравнительный анализ систем такого уровня и их применимости к конкретному случаю может вылиться в значительную работу. А для внедрения системы нужна целая команда из финансовых, управленческих и технических экспертов. Производственные системы значительно более сложны в установке (цикл внедрения может занимать от 6 - 9 месяцев до полутора лет и более). Это обусловлено тем, что система покрывает потребности всего предприятия, и это требует значительных совместных усилий сотрудников предприятия и поставщиков программ.
Производственные системы часто ориентированы на одну или несколько отраслей и/или типов производства: серийное сборочное (электроника, машиностроение), мелкосерийное и опытное (авиация, тяжелое машиностроение), дискретное (металлургия, химия, упаковка), непрерывное (нефтедобыча, газодобыча).
Специализация отражается как в наборе функций системы, так и в существовании бизнес - моделей данного типа производства. Наличие встроенных моделей для определенного типа производства отличает производственные системы друг от друга. У каждой из них есть глубоко проработанные направления и функции, разработка которых только начинается или вообще не ведется.
Производственные системы по многим параметрам значительно более жестки, чем финансово-управленческие. Основное внимание уделяется
планированию и оптимальному управлению производством. Эффект от внедрения производственных систем проявляется на верхних эшелонах управления предприятием, когда становится видна вся картина его работы, включая планирование, закупки, производство, сбыт, запасы, финансовые потоки и другие аспекты.
При увеличении сложности и широты охвата функций предприятия системой возрастают требования к технической инфраструктуре и программно-технической платформе. Все производственные системы разработаны с помощью промышленных баз данных. В большинстве случаев используются технология клиент-сервер или Internet-технологии.
Для автоматизации больших предприятий в мировой практике часто используется смешанное решение из классов крупных, средних и малых интегрированных систем. Наличие электронных интерфейсов упрощает взаимодействие между системами и позволяет избежать двойного ввода данных.
Также различают виды КИС, такие как заказные (уникальные) и тиражируемые КИС.
Заказные КИС
Под заказными КИС обычно понимают системы, создаваемые для конкретного предприятия, не имеющего аналогов и не подлежащие в дальнейшем тиражированию.
Подобные системы используются либо для автоматизации деятельности предприятий с уникальными характеристиками либо для решения крайне ограниченного круга специальных задач.
Заказные системы, как правило, либо вообще не имеют прототипов, либо использование прототипов требует значительных его изменений, имеющих качественный характер. Разработка заказной КИС характеризуется повышенным риском в плане получения требуемых результатов.
Тиражируемые (адаптируемые) КИС.
Суть проблемы адаптации тиражируемых КИС, т.е. приспособления к условиям работы на конкретном предприятии в том, что в конечном итоге каждая КИС уникальна, но вместе с тем ей присущи и общие, типовые свойства. Требования к адаптации и сложность их реализации существенно зависят от проблемной области, масштабов системы. Даже первые программы, решавшие отдельные задачи автоматизации, создавались с учетом необходимости их настройки по параметрам.
Разработка КИС на предприятии может вестись как “от нуля”, так и на основе референционной модели.
Референционная модель представляет собой описание облика системы, функций, организованных структур и процессов, типовых в каком-то смысле (отрасль, тип производства и т.д.).
В ней отражаются типовые особенности, присущие определенному классу предприятий. Ряд компаний – производителей адаптируемых (тиражируемых) КИС совместно с крупными консалтинговыми фирмами в течение ряда лет ведет разработку референционных моделей для предприятий автомобильной, авиационной и других отраслей.
Адаптации и референционные модели входят в состав многих систем класса
MRP II / ERP, что позволяет значительно сократить сроки их внедрения на предприятия.
Референционная модель в начале работы по автоматизации предприятия может представлять собой описание существующей системы (как есть) и служит точкой отсчета, с которой начинаются работы по совершенствованию КИС.
Используется также следующая классификация. КИС делятся на три (иногда четыре) большие группы:
1) простые (“коробочные”);
2) среднего класса;
3) высшего класса
Простые (“коробочные”) КИС реализуют небольшое число бизнес-процессов организации. Типичным примером систем подобного типа являются бухгалтерские, складские и небольшие торговые системы наиболее широко представленные на российском рынке. Например, системы таких фирм как 1С, Инфин и т.д.
Отличительной особенностью таких продуктов является относительная легкость в усвоении, что в сочетании с низкой ценой, соответствием российскому законодательству и возможностью выбрать систему “на свой вкус” приносит им широкую популярность. Системы среднего класса отличаются большей глубиной и широтой охвата функций. Данные системы предлагают российские и зарубежные компании. Как правило, это системы, которые позволяют вести учет деятельности предприятия по многим или нескольким направлениям:
- финансы;
- логистика;
- персонал;
- сбыт.
Они нуждаются в настройке, которую в большинстве случаев осуществляют специалисты фирмы-разработчика, а также в обучении пользователей.
Эти системы больше всего подходят для средних и некоторых крупных предприятий в силу своей функциональности и более высокой, по сравнению с первым классом, стоимости. Из российских систем данного класса можно выделить, например, продукцию компаний Галактика, ТБ.СОФТ
К высшему классу относятся системы, которые отличаются высоким уровнем детализации хозяйственной деятельности предприятия. Современные версии таких систем обеспечивают планирование и управление всеми ресурсами организации (ERP-системы).
Как правило, при внедрении таких систем производится моделирование существующих на предприятии бизнес-процессов и настройка параметров системы под требования бизнеса.
Однако значительная избыточность и большое количество настраиваемых параметров системы обуславливают длительный срок ее внедрения, и также необходимость наличия на предприятии специального подразделения или группы специалистов, которые будут осуществлять перенастройку системы в соответствии с изменениями бизнес-процессов.
На российском рынке имеется большой выбор КИС высшего класса, и их число растет. Признанными мировыми лидерами являются, например, R/3 фирмы SAP, Oracle Application компании Oracle.
3.2 Классификация автоматизированных систем
Рассмотрим классификацию автоматизированных систем (АС):
· Классификация систем по масштабу применения
1. локальные (в рамках одного рабочего места);
2. местные (в пределах одной организации);
3. территориальные (в пределах некоторой административной территории);
4. отраслевые.
· Классификация по режиму использования
1. системы пакетной обработки (первые варианты организационных АСУ, системы информационного обслуживания, учебные системы);
2. запросно-ответные системы (АИС продажи билетов, информационно-поисковые системы, библиотечные системы);
3. диалоговые системы (САПР, АСНИ, обучающие системы);
4. системы реального времени (управление технологическими процессами, подвижными объектами, роботами-манипуляторами, испытательными стендами и другие).
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|