Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование информационных систем.doc
Скачиваний:
11
Добавлен:
10.11.2019
Размер:
476.67 Кб
Скачать

1. Определение жизненного цикла программного обеспечения. Этапы ЖЦПО. Модели ЖЦПО.

   Информационная система

    Информационная система (ИС) - это совокупность взаимодействующих и взаимодополняющих подсистем, обеспечивающих сбор, хранение и обработку информации

    К подсистемам ИС относятся:

  • Технические средства;

  • Средства связи;

  • Программное обеспечение.

    Технические средства - средства , на физическом уровне обеспечивающие ввод, хранение, обработку и вывод информации. Состав: модемы, Hub`ы, сетевые карты, винчестеры, CD, DVD, сканеры, принтеры, плоттеры, клавиатуры и т.д. Особенности: в большинстве своем технические средства унифицированы и не подлежат настройке под конкретную ИС

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

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

  • Системное ПО (операционная система, драйверы технических средств и средств связи)

  • Системы управления базами данных СУБД (Microsoft SQL Server, InterBase, Firebird и другие);

  • База данных-БД;

  • Клиентское ПО (программа или совокупность программ, обеспечивающих ввод, извлечение, обработку информации из БД, а также ее представление в необходимом виде).

    Особенности: Системное ПО и СУБД унифицированы и не подлежат внутреннему перепроектированию под конкретную ИС. Клиентское ПО и БД проектируются и настраиваются на решение специфических задач отдельных ИС.

Жизненный цикл программного обеспечения

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

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

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

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

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

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

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

    В России первые основы построения и использования профилей стандартов ЖЦ ПО заложены принятием в качестве базового стандарта ГОСТ РФ ИСО/МЭК12207. В стандарте ГОСТ Р ИСО/МЭК 12207 впервые реализован принцип структурной стандартизации ЖЦ ПО на основе регламентации требований к процессам, работам и задачам, входящим в полную типовую структуру ЖЦ ПО. Данный документ введен в действие с 1 июля 2000 г., тесно взаимоcвязан с рядом стандартов, принятых ранее, и с некоторыми стандартами, разрабатываемыми в данное время на основе прямого применения стандартов ISO.

    Актуальность стандарта ГОСТ Р ИСО/МЭК 12207 для современных условий настолько высока, что принятие в ISO его исходного, международного варианта вскоре вызвало самую положительную оценку российских экспертов. Был дан ряд рекомендаций по его использованию в реальных условиях. В данном стандарте определяются:

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

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

    Следует отметить, что в России создание ПО первоначально, в 70-е годы 20 века, регламентировалось стандартами ГОСТ ЕСПД (Единой системы программной документации - серия ГОСТ 19.ХХХ), которые были ориентированы на класс относительно простых программ небольшого объема, создаваемых отдельными программистами. В настоящее время эти стандарты устарели концептуально и по форме, сроки их действия закончились и использование нецелесообразно.

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

  1. Группа основных процессов включает в себя приобретение, поставка, разработка, эксплуатация, сопровождение.

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

  3. Группа организационных процессов включает в себя управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого ЖЦ, обучение.

    Очень важное отличие ISO: каждый процесс, действие или задача инициируется и выполняется другим процессом по мере необходимости, причем нет заранее определенных последовательностей.

Рисунок 1. Схема процессов жизненного цикла

Этапы жизненного цикла программного обеспечения

    В основе деятельности по созданию и использованию ПО лежит понятие его жизненного цикла (ЖЦ). ЖЦ является моделью создания и использования ПО, отражающей его различные состояния, начиная с момента возникновения необходимости в данном программном изделии и заканчивая моментом его полного выхода из употребления у всех пользователей. Традиционно выделяют следующие основные этапы ЖЦ ПО:

  1. Анализ требований;

  2. Проектирование;

  3. Кодирование (программирование);

  4. Тестирование и отладка;

  5. Эксплуатация и сопровождение.

ЖЦ образуется в соответствии с принципом нисходящего проектирования и, как правило, носит итерационный характер: реализованные этапы, начиная с самых ранних, циклически повторяются в соответствии с изменениями требований и внешних условий, введением ограничений и т.п. На каждом этапе ЖЦ порождается определенный набор документов и технических решений, при этом для каждого этапа исходными являются документы и решения, полученные на предыдущем этапе. Каждый этап завершается верификацией порожденных документов и решений с целью проверки их соответствия исходным. Главная особенность индустрии ПО состоит в концентрации сложности на начальных этапах ЖЦ (анализ, проектирование) при относительно невысокой сложности и трудоемкости последующих этапов. Более того, нерешенные вопросы и ошибки, допущенные на этапах анализа и проектирования, порождают на последующих этапах трудные, часто неразрешимые проблемы и, в конечном счете, приводят к неуспеху всего проекта. Рассмотрим эти этапы более подробно. АНАЛИЗ ТРЕБОВАНИЙ является первой фазой разработки ПО, на которой требования заказчика уточняются, формализуются и документируются. Фактически на этом этапе дается ответ на вопрос: "Что должна делать будущая система?". Список требований к разрабатываемой системе должен включать:

  1. Совокупность условий, при которых предполагается эксплуатировать будущую систему (аппаратные и программные ресурсы, предоставляемые системе; внешние условия ее функционирования; состав людей и работ, имеющих к ней отношение);

  2. Описание выполняемых системой функций;

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

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

  1. Архитектура системы, ее функции, внешние условия, распределение функций между аппаратурой и ПО;

  2. Интерфейсы и распределение функций между человеком и системой;

  3. Требования к программным и информационным компонентам ПО, необходимые аппаратные ресурсы, требования к БД, физические характеристики

ЭТАП ПРОЕКТИРОВАНИЯ дает ответ на вопрос "Как (каким образом) система будет удовлетворять предъявленным к ней требованиям?". Задачей этого этапа является исследование структуры системы и логических взаимосвязей ее элементов, причем здесь не рассматриваются вопросы, связанные с реализацией на конкретной платформе. Проектирование определяется как итерационный процесс получения логической модели системы вместе со строго сформулированными целями, поставленными перед нею, а также написания спецификаций физической системы, удовлетворяющей этим требованиям". Обычно этот этап разделяют на два подэтапа:

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

  2. Детальное проектирование, включающее разработку спецификаций каждой компоненты, интерфейсов между компонентами, разработку требований к тестам и плана интеграции компонент.

В результате деятельности на этапах анализа и проектирования должен быть получен проект системы (ПС), содержащий достаточно информации для реализации системы на его основе в рамках бюджета выделенных ресурсов и времени. (ПС - совокупность документов, содержащий необходимую и достаточную информацию для реализации системы. Одним из основных документов которого является техническое задание) ЭТАП КОДИРОВАНИЯ (ПРОЕКТИРОВАНИЯ) - этап программной реализации требований заказчика. Осуществляется на основе технического задания полученного на предыдущем этапе. В виду того, что техническое задание содержит необходимую и достаточную информацию по реализации проекта, техникам - программистам остается немного места для творчества. Однако необходимо отметить, что выбор средств реализации ПО может зависеть от пожеланий заказчика, указаний руководителей проекта, либо от самого программиста. ТЕСТИРОВАНИЕ И ОТЛАДКА - этап итоговых проверок ПО на предмет содержания несоответствий:

  1. Требований заказчика и итоговой реализации ПО;

  2. Итоговой реализации ПО и технического задания;

  3. Действительной работоспособности алгоритмов в итоговой реализации ПО.