УчМетПособие_ПрактРаб_ИМС21. Учебнометодическое пособие для студентов бакалавриата рту мирэа по образовательной программе Разработка программных продуктов и проектирование информационных систем
Скачать 235.77 Kb.
|
01.02. Жизненный цикл программного обеспечения. Методология, перечни и понятия. Управленческое соглашение проектаВ основе любой отрасли промышленного производства, к которой, несомненно, относится и создание программных продуктов, лежит технологический процесс. Большинство характеристик ПО, как, например, стоимость, актуальность, функциональность, качество, определяются непосредственно технологией разработки и точностью ее соблюдения. Ключевое при этом понятие качество положено в основу международных стандартов ISO серии 9000. Основополагающая идея ISO 9000 состоит в том, что система качества предполагает построение такой структуры управления производством, которая гарантирует выпуск качественного продукта (в нашем случае программного обеспечения) в любой момент, пока система действует. Требования стандартов ISO 9000 распространяются на такие качества продукта, как управление документацией и проектированием, контроль и проведение испытаний, корректирующие и упреждающие действия, техническая поддержка и многие другие. Теперь непосредственно о понятии жизненного цикла ПО. Под жизненным циклом (ЖЦ) ПО понимается совокупность процессов, связанных с последовательным изменением состояния ПО от формирования исходных требований к нему до окончания его эксплуатации. Жизненный цикл состоит из стадий логически завершенных частей ЖЦ. Стадии характеризуются определенным состоянием ПО, видом предусмотренных работ и их результатом. Выделяют несколько основных моделей ЖЦ, различающихся порядком следования стадий и взаимосвязями между ними, которые мы обсудим несколько позже. При создании заказного ПО выделяют несколько основных стадий ЖЦ анализ и формализация требований заказчика, проектирование, реализация, тестирование, внедрение и эксплуатация. Среди моделей ЖЦ можно выделить две основных группы: последовательные модели и эволюционные модели. Последовательные модели предполагают, что каждая следующая стадия может быть начата только после завершения работ на предыдущей стадии. Он применим в тех случаях, когда требования к программному продукту четко определены и не меняются со временем, имеется достаточно большой опыт реализации подобного рода программного обеспечения и время реализации проекта составляет от нескольких месяцев до года. Реализация проекта по данному типу ЖЦ легко планируется и контролируется. Однако для этого необходимо заранее иметь все требования к ПО. Данные модели ЖЦ не приспособлены к изменениям требований к ПО. Разрабатываемый продукт не может использоваться, пока проект не будет близок к завершению. В реальности в последнее время эти модели жизненного цикла практически никогда не применяются. Эволюционные модели формируются в предположении, что наращивание возможностей программного обеспечения происходит постепенно. В процессе разработки основные стадии ЖЦ (проектирование, реализация, тестирование) проходятся несколько раз применительно к очередной добавляемой порции возможностей ПО. Данные модели ЖЦ не требуют заранее наличия всех требований к ПО и позволяют заказчику активно участвовать в процессе разработки, что является безусловным плюсом. Однако среди недостатков эволюционных моделей можно отметить сложность в управлении и контроле выполнения проекта, сложность оценки затрат на разработку и риск бесконечного улучшения ПО. Данные модели применимы, когда требования к ПО плохо определены или будут изменяться, отсутствует достаточный опыт в разработке подобного ПО, используются новые технологии и (или) инструментальные средства, в ходе разработки ПО необходимо иметь промежуточные версии продукта. Выбор конкретной модели ЖЦ в каждом конкретном случае зависит от ряда субъективных и объективных причин, сопутствующих проекту, то есть наличия четких и подробных требований к ПО; ресурсов, имеющихся в наличии для проведения работ по проекту; наличия и доступности заказчика в процессе разработки и т.д. Как правило, в реальности применяются смешанные методы жизненного цикла. Прежде чем перейти к более подробному рассмотрению этих моделей, необходимо дать понятие системной архитектуры. Под архитектурой программной системы понимается совокупность решений относительно организации программной системы, выбора структурных элементов, составляющих систему и их интерфейсов, составления из этих структурных и поведенческих элементов все более и более крупных подсистем и т. д. Архитектура программной системы охватывает не только ее структурные и поведенческие аспекты, но и использование, функциональность, производительность, гибкость, возможности повторного применения, полноту, экономические и технологические ограничения и компромиссы, а также эстетические вопросы. На сегодняшний день считается, что архитектура программной системы наиболее оптимально может быть описана с помощью пяти взаимосвязанных видов или представлений, каждый из которых является одной из возможных проекций организации и структуры системы и заостряет внимание на определенном аспекте ее функционирования: Вид с точки зрения прецедентов (use case view) охватывает прецеденты, которые описывают поведение системы, наблюдаемое конечными пользователями, аналитиками и тестерами. Этот вид специфицирует не истинную организацию программной системы, а те движущие силы, от которых зависит формирование системной архитектуры. Вид с точки зрения проектирования (design view) охватывает классы, интерфейсы и кооперации, формирующие словарь задачи и ее решения. Этот вид подчеркивает, прежде всего, функциональные требования, предъявляемые к системе, то есть те сервисы, которые она должна предоставлять конечным пользователям. Вид с точки зрения процессов (process view) охватывает нити и процессы, формирующие механизмы параллелизма и синхронизации в системе. Этот вид описывает главным образом производительность, масштабируемость и пропускную способность системы. Вид с точки зрения реализации (implementation view) охватывает компоненты и файлы, используемые для сборки и выпуска конечного программного продукта. Этот вид предназначен в первую очередь для управления конфигурацией версий системы, составляемых из независимых (до некоторой степени) компонентов и файлов, которые могут по-разному объединяться между собой. Вид с точки зрения развертывания (deployment view) охватывает узлы, формирующие топологию аппаратных средств системы, на которой она выполняется. В первую очередь он связан с распределением, поставкой и установкой частей, составляющих физическую систему. Каждый из перечисленных видов может считаться вполне самостоятельным, так что члены группы проекта могут сосредоточиться на изучении только тех аспектов архитектуры, которые касаются непосредственно их. Правда, нельзя забывать о том, что эти виды взаимодействуют друг с другом, что неудивительно, так как они представляют разные взгляды на одну систему. Например, узлы вида с точки зрения развертывания содержат компоненты, описанные для вида с точки зрения реализации, а те, в свою очередь, представляют физическое воплощение классов, интерфейсов, коопераций и активных классов из видов с точки зрения проектирования и процессов. 01.03. Национальный стандарт Российской Федерации ГОСТ Р 53622-2009 «Информационные технологии. Информационно-вычислительные системы. Стадии и этапы жизненного цикла, виды и комплектность документов. Information technologies. Information-computing systems. Life cycle stages and steps, kinds and completeness of the documents. ОКС 03.120.10» в управленческом соглашении проекта ПО Стандарт входит в перечень нормативных документов, используемых при создании и использовании информационно-вычислительных систем. Настоящий документ устанавливает требования к последовательности создания и использования информационно-вычислительных систем, включающей стадии и этапы, состав видов документов, разрабатываемых на стадиях и этапах жизненного цикла информационно-вычислительных систем от формирования требований до снятия с эксплуатации. Стандарт предполагает разработку стандартов на требования к составу и содержанию документов, разрабатываемых на каждой стадии жизненного цикла (ЖЦ) информационно-вычислительной системы, прежде всего технического задания (ТЗ) на создание информационно-вычислительной системы, конструкторских документов, эксплуатационных документов, организационно-распорядительных документов. До принятия таких стандартов предписано руководствоваться стандартами систем ЕСПД и ИТ. Термины и определения в стандарте ГОСТ Р 53622-2009: Аппаратно-программная платформа: Единый комплекс средств вычислительной техники и системных программ. Данные: Информация, представленная на электронном носителе в цифровой форме, пригодной для обработки программами вычислительной техники. База данных: Совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, независимая от прикладных программ. Вычислительные средства (средства вычислительной техники): Технические средства, непосредственно осуществляющие обработку данных. Информационно-вычислительная система (программно-технический комплекс): Совокупность данных (баз данных) и программ, функционирующих на вычислительных средствах как единое целое для решения определенных задач. Информационные технологии: Программы вычислительных средств, выполняющие сбор, накопление, хранение, поиск, обработку и выдачу данных (информации). Конструкторский документ: Документ, описывающий состав, структуру, алгоритмы обработки данных и методы их реализации, правила функционирования и применения информационно-вычислительной системы и ее составных частей, предназначенный для разработчика на всех стадиях жизненного цикла. Программное обеспечение (программа, программное средство): Упорядоченная последовательность инструкций (кодов) для вычислительного средства, находящаяся в памяти этого средства и представляющая собой описание алгоритма управления вычислительными средствами и действий с данными. Программно-информационный продукт: Программы, базы данных, электронные издания, мультимедийные приложения и им соответствующие эксплуатационные документы, предназначенные для поставки потребителю (пользователю). Система управления базами данных: Программа, обеспечивающая процессы описания, хранения и манипулирования данными в базах данных. Стадия: Часть процесса создания ИВС, характеризующаяся однородными по содержанию и результатам видам деятельности с заданным завершенным результатом. Технические средства: Аппаратные средства, используемые для сбора, обработки, хранения, манипуляции и выдачи данных. Техническое задание: Организационно-распорядительный документ, содержащий технические требования к информационно-вычислительной системе и порядку ее создания. Цифровые информационные ресурсы: Переведенная в цифровой код информация в форме данных, баз данных и программно-информационных продуктов, которая обрабатывается с использованием средств вычислительной техники. Эксплуатационный документ: Документ, описывающий состав, структуру и правила применения информационно-вычислительной системы и ее компонент, предназначенный для пользователей на стадии эксплуатации. Основные положения стандарта ГОСТ Р 53622-2009: Средства вычислительной техники разрабатываются как продукция производственно-технического назначения по государственным стандартам системы "Разработка и постановка продукции на производство". Программы разрабатываются как продукция производственно-технического назначения по государственным стандартам "Единой системы программной документации". Системные программы (операционные системы и средства их расширения) разрабатываются, как правило, под конкретные типы средств вычислительной техники. Программы общего назначения (системы управления базами данных, редакторы и пр.) разрабатываются под созданные аппаратно-программные платформы и в совокупности с ними представляют собой интегрированную среду для разработки и реализации прикладных программ. Вычислительная техника, системные программы и программы общего назначения при создании и использовании конкретной информационно-вычислительной системы (ИВС) рассматриваются как готовые (стандартные) изделия. Информационно-вычислительные системы разрабатываются в соответствии с настоящим стандартом и техническим заданием на создание ИВС. Исходными данными для создания ИВС является перечень решаемых задач и им соответствующих типов и объемов данных. Объектом разработки при создании ИВС являются прикладные программы различного назначения, в соответствии с которыми обосновываются и выбираются конкретные вычислительные средства, системные программы и программы общего назначения. Виды документов, разрабатываемых при создании и использовании ИВС Основным документом при создании ИВС является ТЗ на создание (разработку) ИВС, в котором устанавливаются структура ИВС, составные части ИВС и перечень подлежащих разработке ТЗ на создание (разработку) составных частей ИВС. ТЗ на создание (разработку) составных частей ИВС разрабатываются на основе ТЗ на создание (разработку) ИВС. ТЗ на создание (разработку) ИВС и ТЗ на создание (разработку) составных частей ИВС должны являться, как правило, результатами выполнения соответствующих научно-исследовательских работ. Основные стадии и этапы жизненного цикла ИВС: Жизненный цикл создания (разработки) и использования ИВС представляет собой последовательность стадий работ, включающих однородные по содержанию и результатам этапы работ. Проведение научно-исследовательских работ - обоснование состава решаемых задач, структуры и состава ИВС и подготовка проекта ТЗ на создание (разработку) ИВС включает: обоснование требований к ИВС и ее составным частям; подготовку проекта ТЗ на создание (разработку) ИВС (составной части ИВС); согласование и утверждение ТЗ на создание (разработку) ИВС Проектирование (эскизное, техническое) ИВС включает: обоснование состава вычислительных средств; обоснование состава системных программ; обоснование состава программ общего назначения; обоснование и описание технических решений по прикладным программам. Результаты проектирования оформляются в виде конструкторских документов - описаний проектов ИВС. Реализация проекта (рабочее проектирование опытного образца ИВС), включающая: уточненный состав вычислительных средств; уточненный состав системных программ и программ общего назначения; прикладные программы в исполняемом коде; откорректированные конструкторские документы; эксплуатационные документы; технические условия (для тиражирования ИВС). Внедрение (адаптация) опытного образца ИВС в конкретных условиях применения, включающая: уточненный состав вычислительных средств; уточненный состав системных программ и программ общего назначения; прикладные программы в исполняемом коде; откорректированные конструкторские и эксплуатационные документы; откорректированные технические условия (для тиражирования). Эксплуатация ИВС и сопровождение ИВС включают: ТЗ на внесение изменений в прикладные программы; проекты реализации изменений; доработанные прикладные программы; уточненный состав вычислительных средств, системных программ и программ общего назначения; откорректированные конструкторские и эксплуатационные документы. Снятие с эксплуатации, включающее: архивирование программ; утилизацию аппаратных средств. |