СТАНДАРТЫ И МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

СТАНДАРТЫ И МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Алиева А.А. 1
1Дагестанский Государственный Университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Информационные технологии с каждым годом накапливали опыт в сфере информационных технологий, результаты которых отражаются в отраслевых и международных стандартах. Программное обеспечение (далее ПО) с помощью экспертов в информационной инженерии реализовали ряд успешных проектов в коммерческой и военной индустрии различных стран, таких как США, ЕС и другие развитые страны. Эти стандарты проходили ряд критериев для программного обеспечения в столь передовом направление, как Министерство обороны США, где всегда требуется жесткий контроль и эффективность выполнения поставленных задач, с чем эти стандарты успешно справляются. Сущность стандартов отражается в построение сложных программных систем, которые реализуются в различных проектах сфер экономики и ИТ-направлений.

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

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

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

Информационные системы должны удовлетворять интересам бизнеса, а также быть легко модифицируемыми и недорогими. Плохо спроектированная система, в конечном счете, требует больших затрат и времени для ее содержания и обновления. [1, с. 65]

Проблемы определения и анализа требований в наиболее общем виде понятие сводится к следующим двум аспектам, фиксируемым для выполнения конструкторских работ:

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

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

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

В России было взято направление на развитие и внедрение в отечественную хозяйственную деятельность – концепцию развития международных стандартов программного обеспечения (рис 1)

Рисунок 1. Разработка национальных стандартов в России. [3]

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

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

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

Среди наиболее известных стандартов можно выделить следующие:

  • ГОСТ 34.601-90 - распространяется на автоматизированные системы и устанавливает стадии и этапы их создания. Кроме того, в стандарте содержится описание содержания работ на каждом этапе. Стадии и этапы работы, закрепленные в стандарте, в большей степени соответствуют каскадной модели жизненного цикла.

  • ISO/IEC 12207:1995 - стандарт на процессы и организацию жизненного цикла. Распространяется на все виды заказного ПО. Стандарт не содержит описания фаз, стадий и этапов.

  • CustomDevelopmentMethod(методика Oracle) по разработке прикладных информационных систем - технологический материал, детализированный до уровня заготовок проектных документов, рассчитанных на использование в проектах с применением Oracle. Применяется CDM для классической модели ЖЦ (предусмотрены все работы/задачи и этапы), а также для технологий "быстрой разработки" (Fast Track) или "облегченного подхода", рекомендуемых в случае малых проектов.

  • RationalUnifiedProcess(RUP)предлагает итеративную модель разработки, включающую четыре фазы: начало, исследование, построение и внедрение. Каждая фаза может быть разбита на этапы (итерации), в результате которых выпускается версия для внутреннего или внешнего использования. Прохождение через четыре основные фазы называется циклом разработки, каждый цикл завершается генерацией версии системы. Если после этого работа над проектом не прекращается, то полученный продукт продолжает развиваться и снова минует те же фазы. Суть работы в рамках RUP - это создание и сопровождение моделей на базе UML.

  • MicrosoftSolutionFramework(MSF)сходна с RUP, так же включает четыре фазы: анализ, проектирование, разработка, стабилизация, является итерационной, предполагает использование объектно-ориентированного моделирования. MSF в сравнении с RUP в большей степени ориентирована на разработку бизнес- приложений.

  • ExtremeProgramming(XP).Экстремальное программирование (самая новая среди рассматриваемых методологий) сформировалось в 1996 году. В основе методологии командная работа, эффективная коммуникация между заказчиком и исполнителем в течение всего проекта по разработке ИС, а разработка ведется с использованием последовательно дорабатываемых прототипов. [3, с. 10]

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

Рисунок 2. Стандарты, описывающие структуру жизненного цикла ПО.

Для таких формализованных подходов, как спиральная и каскадная (водопадная) модель, существует определённый путь в виде последовательных этапов жизненного цикла (ЖЦ), по котором осуществляется прохождение программного продукта:

- определение задачи;

- оценка рисков;

- анализ требований;

- формирование проектных спецификаций;

- проектирование;

- реализация;

- тестирование;

- введение в эксплуатацию и сопровождение;

- выведение из эксплуатации.

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

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

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

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

К примеру для стандарта UML 2.0 (Unified Modeling Language) существуют 14 типов диаграмм, предназначенных для применения. Однако на практике использованию подлежат в два раза меньше типов диаграмм.

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

При выборе неоптимальной модели жизненного цикла может понадобится привлечение дополнительных средств, возникнуть непредвиденные события, произойти срыв сроков поставок, выпущен неконкурентоспособный и низкого качества продукт программного обеспечения. [2, с. 104]

Применения моделей полного жизненного цикла

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

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

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

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

 

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

Более того, недостаточная обратная связь на стадии программирования ведет к неконтролируемому росту затрат при сопровождении. Очевидно, что большинство моделей полного ЖЦ в достаточной степени избыточны, неэффективны и слишком дороги для использования в условиях конкурирующего и динамично развивающегося рынка ПО. В конечном счете, документация и диаграммы никогда не смогут устранить архитектурные недостатки дизайна системы, а также учесть постоянное накопление и развитие опыта разработчика. [4, с. 97]

Гибкие методики разработки ПО

Гибкие методики, такие как Crystal, Scrum, XP, предусматривают быструю поставку начальной версии работающей программы заказчику для тестирования, игнорируя на начальном этапе многие проектные требования и подразумевая последующее расширение функциональности программы. Основная цель – обеспечение непрерывности развития проекта с возможностью оперативного реагирования на изменения требований бизнеса. Тяжеловесные модели полного ЖЦ слишком неуклюжи, чтобы предусмотреть полный пересмотр заказчиком своего «видения» на этапе завершения проекта. Гибкие методики предлагают коллективам разработчиков ПО сконцентрироваться на качестве выпускаемого продукта в ущерб документации и прочим артефактам проектно-процессной деятельности.

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

В связи с этим в практической деятельности целесообразно оперировать понятиями ЖЦ отдельной сборочной версии или итерации, что позволит сконцентрировать видение заказчиков и разработчиков на функциональном, более узком аспекте деятельности ИТ-коллективов, связанных в первую очередь с разработкой ПО. Таким образом, в гибкой разработке этапы проектирования, программирования и сопровождения непрерывны, неотделимы друг от друга и входят в состав отдельной короткой итерации разработки. [5, с. 150]

Список использованной литературы:

1. Добрынин А. С., Р. С. Койнов, С. М. Кулаков. Модель неполного жизненного цикла программного обеспечения // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика. № 2 / 2015. С 65-70

2. Добрынин А. С. Формирование расписаний в задачах временного планирования / А. С. Добрынин, С. М. Кулаков, Р. С. Койнов, А. В. Грачёв // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычисли- тельная техника и информатика. 2014. № 4. С. 103–111.

3. Заговор О. В. Учет особенностей ИТ-проектов при определении их жизненного цикла // Восточно-Европейский журнал передовых технологий. 2011г. – С 8-14.

4. Зимин В. В. Основы управления жизненным циклом сервиса систем информатики и автоматизации (лучшие практики ITIL): учеб. пособие / В. В. Зимин, А. А. Ивушкин, С. М. Кулаков, К. А. Ивушкин. Кемерово: Кузбассвузиздат, 2013. 96-100 с

5. Чумакова Т.Я., Цыганенко С.М. Стандартизация в сфере информационных технологий // Математичні машини і системи. – 2009. – № 2. – С. 145 – 150.

 

Просмотров работы: 1833