Файл: Основы проектирования программ. Этапы создания программного обеспечения.pdf
Добавлен: 29.06.2023
Просмотров: 71
Скачиваний: 2
СОДЕРЖАНИЕ
1. Жизненный цикл программного обеспечения
1.1. Понятие информационной системы
1.2. Основные характеристики жизненного цикла программного обеспечения
1.3. Стадии и этапы проектирования программного обеспечения
2. Модели жизненного цикла программного обеспечения
2.2. Поэтапная модель с промежуточным контролем
Введение
На сегодняшний день очень важное значение в сфере компьютерных технологий занимает создание программного обеспечения. Создание программного обеспечения является очень сложным процессом, состоящим из многих стадий и этапов. Для создания качественного продукта необходимо соблюдать все стадии и их порядок, для чего необходимо руководствоваться определенной моделью жизненного цикла.
При создании программного обеспечения используются различные модели жизненного цикла, представляющие собой определенную последовательность этапов создания и проектирования ПО. Классической моделью считается каскадная, получившая развитие в поэтапной модели с промежуточным контролем. Также существуют инкрементная модель и получившая наибольшее распространение спиральная модель.
Актуальность темы исследования заключается в том, что создание программного обеспечения является перспективной на сегодняшний день технологией, имеющей много различных аспектов создания. При создании ПО учитывается много различных требований, каждое из которых необходимо учитывать для выбора модели жизненного цикла. Обзор ключевых различий, достоинств и недостатков каждой модели должен помочь в выборе наиболее подходящей под определенную систему стратегии развития. Именно по этой причине является актуальным изучение моделей жизненных циклов программного обеспечения и рассмотрение каждой стадии в отдельности.
Объектом исследования являются основные стадии жизненного цикла программного обеспечения и их основные характеристики. Предметом исследования являются основные модели жизненного цикла в порядке их эволюционного развития.
Целью работы является получение, структурирование и сравнение знаний о задачах и методах создания и проектирования программного обеспечения, посредством изучения основных моделей жизненного цикла.
Задачами данной работы являются:
- рассмотрение основных характеристик жизненного цикла и методологии проектирования программного обеспечения;
- выделение основных стадий создания программного обеспечения;
- обзор основных моделей жизненного цикла программного обеспечения и их сравнительный анализ.
В основу изучения вопроса создания и проектирования программного обеспечения были положены работы Виктора Мелехина и Евгения Павловского, а также некоторых авторов журнала «Программные продукты и системы».
1. Жизненный цикл программного обеспечения
1.1. Понятие информационной системы
Информационная система является совокупностью аппаратных и программных средств, предназначенных для обработки, поиска и хранения информации, а также соответствующих организационных ресурсов, обеспечивающих и распространяющих информацию. Информационная система предназначается для своевременного обеспечения соответствующих пользователей надлежащей информацией, то есть для удовлетворения определенных информационных потребностей в рамках определенной предметной области, когда итог использования информационных систем является информационной продукцией. Информационная продукция включает в себя информационные массивы, документы, информационные услуги и базы данных[1].
Понятие информационной системы интерпретируется зависимо от контекста.
В широком понимании информационной системы подразумевается, что неотъемлемыми компонентами системы являются данные, программное и техническое обеспечение, а также организационные мероприятия и персонал. Понятие информационной системы широко трактуется федеральным законом РФ «Об информации, информационных технологиях и о защите информации». В данной законе под информационной системой подразумевается совокупность информации, содержащейся в базах данных, и информационных технологий и технических средств, обеспечивающих обработку этой информации[2].
В области информатики среди российских ученых наиболее широкое определение информационной системы дается М. Р. Когаловским. По его мнению, понятие информационной системы помимо программ, данных, людских ресурсов и аппаратного обеспечения также включает информационные ресурсы, лингвистические средства и коммуникационное оборудование, образующие в совокупности систему, которая обеспечивает «поддержку динамической информационной модели некоторой части реального мира для удовлетворения информационных потребностей пользователей»[3].
В узком понимании информационной системы ее состав ограничивается аппаратным обеспечением, программами и данными. Интеграция этих компонентов позволяет автоматизировать процессы целенаправленной деятельности конечных пользователей и управления информацией, которая направлена на хранение, модификацию и получение информации. Например, в российском стандарте ГОСТ РВ 51987 под информационной системой подразумевается «автоматизированная система, результатом функционирования которой является представление выходной информации для последующего использования». В ГОСТе Р 53622-2009 используется термин информационно-вычислительной системы в качестве обозначения совокупности отдельных данных или баз данных, прикладных программ и систем управления базами данных, которые функционируют на вычислительных средствах единым целым с целью решения определенных задач[4].
В деятельности организаций информационная система рассматривается программным обеспечением, которое реализует деловую стратегию отдельной организации. При этом успешной практикой является развертывание и создание единой корпоративной информационной системы, которая удовлетворяет информационным потребностям всех подразделений, служб и отдельных сотрудников организации. Практическое создание подобной всеобъемлющей информационной системы очень затруднено или даже невозможно, поэтому на предприятиях чаще всего функционируют несколько различных систем, каждая из которых решает отдельные группы задач. Такими задачами может быть электронный документооборот, финансово-хозяйственная деятельность, управление производством и другие подобные. Иногда часть задач выполняется одновременно несколькими информационными системами, а часть задач может быть вовсе не автоматизированной. Подобные ситуации называют лоскутной автоматизацией, и данный метод довольно типичен для многих предприятий[5] [1, 2].
1.2. Основные характеристики жизненного цикла программного обеспечения
Жизненный цикл программного обеспечения является периодом создания и использования программного обеспечения. Он начинается в момент возникновения потребности в программном обеспечении и заканчивается в момент полного выхода программы из эксплуатации[6].
Методология проектирования программного обеспечения охватывает процессы создания и сопровождения системы в виде жизненного цикла программы, представляя цикл некоторой последовательностью стадий и выполняемых на них процессов. Каждому этапу определяются последовательность и состав выполняемых работ, получаемые результаты, средства и методы, которые необходимы для выполнения работ, ответственность и роли участников, и другие подобные требования. Данное формальное описание жизненного цикла программного продукта позволяет организовать и спланировать процесс коллективной разработки с обеспечением управления этим процессом.
Жизненный цикл программного обеспечения можно представить рядом событий, которые происходят с программой в процессе ее использования и создания[7].
Модель жизненного цикла отражает различные состояния программы, начинаясь в момент возникновения необходимости в конкретной информационной системе и заканчиваясь в момент полного выхода данной системы из употребления. Модель жизненного цикла представляет собой структуру, которая содержит задачи, действия и процессы, осуществляемые в ходе сопровождения, функционирования и разработки программного продукта в процессе всей жизни программы, начиная определением требований и завершая ее использованием.
Каждая стадия жизненного цикла программного обеспечения характеризуется конкретными задачами и методами их решения, полученными на предыдущем этапе исходными данными и результатами. Результатами анализа, в частности, являются информационные модели, функциональные модели и диаграммы, соответствующие им. Жизненный цикл программного обеспечения имеет итерационный характер: результаты очередного этапа часто вызывают изменения в выработанных на более ранних этапах проектных решениях[8] [2, 3].
1.3. Стадии и этапы проектирования программного обеспечения
По стандарту ГОСТ 34.601-90 предусматривается восемь стадий и этапов создания программного обеспечения.
Первый этап является формированием требований к программному обеспечению и включает обследование объекта с последующим обоснованием необходимости создания программного обеспечения, формированием требований пользователя к программному обеспечению и оформлением отчета о выполнении работ и заявки на разработку программного обеспечения.
Второй этап представляет собой разработку концепции программного обеспечения и включает в себя изучение объекта, проведение нужных научно-исследовательских работ, разработку вариантов концепции программного обеспечения с выбором удовлетворяющего требованиям пользователей варианта концепции программного обеспечения и оформление отчета о проделанной работе[9].
Третий этап является построением технического задания, в ходе которого разрабатывается и утверждается техническое задание на создание программного обеспечения.
Четвертый этап представляет собой эскизный проект, включающий разработку предварительных проектных решений по системе в целом и отдельным ее частям, а также разработку документации на программного обеспечения и его части[10].
Пятым этапом является технический проект, состоящий из разработки проектных решений по программе в целом и отдельным ее частям, разработки документации на программное обеспечение и его части, разработки и оформления документации на поставку комплектующих изделий и разработки заданий на проектирования в смежных частях проекта.
Шестой этап представляет собой рабочую документацию, которая состоит из рабочей документации на программное обеспечение и его части, разработки и адаптации программ.
Седьмой этап является вводом в действие, который состоит из подготовки программного продукта, подготовки персонала, комплектации программного обеспечения поставляемыми изделиями, в которые входят программные и технические средства, программно-технические комплексы и информационные изделия, строительно-монтажных работ, пусконаладочных работ, проведения предварительных испытаний, проведения опытной эксплуатации и проведения приёмочных испытаний[11].
Восьмой этап является сопровождением программного обеспечения, состоящим из выполнения работ в соответствии с гарантийными обязательствами и послегарантийного обслуживания.
Этапы эскизного и технического проекта, а также рабочей документации являются последовательным построением все более точных проектных решений.
При создании некоторых программных продуктов допускается исключение стадии эскизного проекта и отдельных этапов на остальных стадиях. Также является возможным объединение стадий технического проекта и рабочей документации в технорабочий проект. Помимо этого, разрешается параллельное выполнение различных работ и этапов и введение дополнительных этапов[12].
В настоящее время данный стандарт является не совсем актуальным, так как некоторые положения уже устарели и многие процессы отражены недостаточно полно[13] [2, 4, 5].
2. Модели жизненного цикла программного обеспечения
Модель жизненного цикла программного обеспечения является структурой, которая определяет последовательность взаимосвязи и выполнения задач, действий и процессов на протяжении жизненного цикла. Выбор модели жизненного цикла зависит от сложности, масштаба и специфики проекта, условий создания и функционирования системы.