Автор: Пользователь скрыл имя, 12 Декабря 2011 в 19:25, реферат
Жизненный цикл программного обеспечения (ПО) можно представить как период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл — процесс построения и развития ПО.
Жизненный цикл программного обеспечения…………………… 3
Структурный подход к проектированию программного обеспечения………………………………………………………….. 7
Функциональные модели…………………………………………… 10
Список использованной литературы…………………………………… 13
Содержание
Список использованной литературы…………………………………… 13
Жизненный цикл программного обеспечения (ПО) можно представить как период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл — процесс построения и развития ПО.
Модель жизненного цикла - структура, содержащая процессы, действия и задачи, которые осуществляются в ходе разработки, функционирования и сопровождения программного продукта в течение всей жизни системы, от определения требований до завершения ее использования.
В настоящее время известны и используются следующие модели жизненного цикла:
Каскадная модель (рис. 1) предусматривает
последовательное выполнение всех этапов
проекта в строго фиксированном порядке.
Переход на следующий этап означает полное
завершение работ на предыдущем этапе.
Рис. 1. Каскадная модель ЖЦ
Преимущества применения каскадного способа заключаются в следующем:
Каскадный подход хорошо зарекомендовал себя при построении относительно простых ИС, когда в самом начале разработки можно достаточно точно и полно сформулировать все требования к системе. Основным недостатком этого подхода является то, что реальный процесс создания системы никогда полностью не укладывается в такую жесткую схему, постоянно возникает потребность в возврате к предыдущим этапам и уточнении или пересмотре ранее принятых решений. В результате реальный процесс создания ИС оказывается соответствующим поэтапной модели с промежуточным контролем.
В поэтапной модели с промежуточным контролем (рис. 2) разработка ведется итерациями с циклами обратной связи между этапами. Межэтапные корректировки позволяют учитывать реально существующее взаимовлияние результатов разработки на различных этапах; время жизни каждого из этапов растягивается на весь период разработки.
Рис. 2. Поэтапная модель с промежуточным контролем
Однако
и эта схема не позволяет оперативно
учитывать возникающие
И последняя - спиральная модель (рис. 3) ЖЦ была предложена для преодоления перечисленных проблем. На каждом витке спирали выполняется создание очередной версии продукта, уточняются требования проекта, определяется его качество и планируются работы следующего витка.
Итеративная разработка отражает объективно существующий спиральный цикл создания сложных систем. Она позволяет переходить на следующий этап, не дожидаясь полного завершения работы на текущем и решить главную задачу - как можно быстрее показать пользователям системы работоспособный продукт, тем самым активизируя процесс уточнения и дополнения требований.
Рис. 3. Спиральная модель ЖЦ
Основная проблема спирального цикла - определение момента перехода на следующий этап. Для ее решения вводятся временные ограничения на каждый из этапов жизненного цикла, и переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. Планирование производится на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
Каждая из стадий создания системы предусматривает выполнение определенного объема работ, которые представляются в виде процессов ЖЦ. Процесс определяется как совокупность взаимосвязанных действий, преобразующих входные данные в выходные. Описание каждого процесса включает в себя перечень решаемых задач, исходных данных и результатов.
В соответствии со стандартом ISO/IEC 12207 все процессы ЖЦ ПО разделены на три группы
Одной из основных проблем, которые приходится решать при создании больших и сложных систем любой природы, в том числе и ПО, является проблема сложности. Единственный эффективный подход к решению этой проблемы заключается в построении сложной системы из небольшого количества крупных частей, каждая из которых, в свою очередь, строится из частей меньшего размера, и т.д., до тех пор, пока самые небольшие части можно будет строить из имеющегося материала. Этот подход известен под самыми разными названиями, среди них такие, как «разделяй и властвуй», иерархическая декомпозиция и др. По отношению к проектированию сложной программной системы это означает, что ее необходимо разделить (декомпозировать) на небольшие подсистемы, каждую из которых можно разрабатывать независимо от других. Это позволяет при разработке подсистемы любого уровня иметь дело только с ней, а не со всеми остальными частями системы.
Существуют два основных подхода к декомпозиции систем:
Рассмотрим наиболее подробно структурный подход проектирования ПО.
Сущность структурного подхода заключается в его декомпозиции (разбиении) на автоматизируемые функции: система разбивается на функциональные подсистемы, которые, в свою очередь, делятся на подфункции, те — на задачи и так далее до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. При разработке системы "снизу вверх", от отдельных задач ко всей системе, целостность теряется, возникают проблемы при описании информационного взаимодействия отдельных компонентов.
Все наиболее распространенные методы структурного подхода базируются на ряде общих принципов. Базовыми принципами являются:
Выделение двух базовых принципов не означает, что остальные принципы являются второстепенными, так как игнорирование любого из них может привести к непредсказуемым последствиям (в том числе и к провалу всего проекта). Основными из этих принципов являются:
При проведении структурного анализа и проектирования для повышения наглядности используется графическое представление функций и отношений между данными. Наиболее распространенными моделями и диаграммами графического представления являются следующие:
Диаграммы потоков данных и диаграммы «сущность-связь» — наиболее часто используемые в CASE-средствах виды моделей.
Конкретный вид перечисленных диаграмм и интерпретация их конструкций зависят от стадии ЖЦ ПО.
Перечисленные
модели в совокупности дают полное описание
ПО независимо оттого, является ли система
существующей или вновь разрабатываемой.
Состав диаграмм в каждом конкретном случае
зависит от сложности системы и необходимой
полноты ее описания.
Функциональные
модели, используемые на стадии проектирования
ПО предназначены для описания функциональной
структуры проектируемой
Применение системно-структурного подхода позволяет произвести исследование функций, выполняемых реальной системой, путем разложения действий на более мелкие операции по переработке определенной части информационных или материальных ресурсов при определенных условиях с использованием заданных механизмов. Методология IDEFO позволяет произвести создание иерархической системы диаграмм, каждая из которых является единичным описанием фрагментов системы.
IDEFO, являющийся наиболее удобным языком моделирования процессов, был предложен более 20 лет назад Дугласом Россом и назывался первоначально SADT - Structured Analysis and Desifi Technique.
В IDEFO система представляется как совокупность взаимодействующих работ или функций. Такая чисто функциональная ориентация является принципиальной – функции системы анализируются независимо от объектов, которыми они оперируют. Это позволяет более четко смоделировать логику и взаимодействие процессов организации.
Под моделью в IDEFO понимают описание системы (текстовое и графическое), которое должно дать ответ на некоторые заранее определенные вопросы.
В результате моделирования системы по методологии IDEF0 создается функциональная модель, которая представляет собой: