Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии разработки ПО Уебное пособие Глухова Лилия Александровна, БГУИР 2010 (Книга).pdf
Скачиваний:
1090
Добавлен:
15.06.2014
Размер:
1.83 Mб
Скачать

ВВЕДЕНИЕ

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

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

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

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

сзаданными свойствами.

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

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

Вышеназванные причины зачастую приводят к неудовлетворительным результатам выполнения проектов.

Для иллюстрации вышесказанного приведем некоторые данные статисти-

ки [37, 18].

Известно, что 30 – 40 % проектов по разработке ПС не доходят до завершения. Около 70 % всех проектов реализуют поставленные задачи не полностью. Средний проект завершается с опозданием на 220 %.

В 10 % проектов результат не соответствует требованиям. В 12 % заказчик недостаточно привлекался к работе, чтобы обеспечить требуемые характеристики продукта. В 22 % проектов не все вносимые изменения принимались во внимание.

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

7

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

ISO/IEC 12207:2008 – Системная и программная инженерия – Процессы жиз-

ненного цикла программных средств. В Республике Беларусь действует нацио-

нальный стандарт СТБ ИСО/МЭК 12207–2003 – Информационная технология – Процессы жизненного цикла программных средств, являющийся аутентичным аналогом первой редакции международного стандарта ISO/IEC 12207:1995.

Структуризация моделей жизненного цикла программных средств. С

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

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

Создание методологий анализа и проектирования программных средств.

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

Разработка инструментальных средств поддержки современных методологий разработки программных средств и систем. С 80-х г. ХХ в. бурно раз-

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

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

ISO/IEC 9126–1–4:2001–2004 – Программная инженерия – Качество продукта;

ISO/IEC 14598–1–6:1998–2001 – Информационная (программная) ин-

женерия – Оценка программного продукта.

Внастоящее время разрабатывается серия стандартов ISO/IEC 250ХХ – Разработка программного обеспечения – Требования к качеству и оценка про-

граммного продукта (SQuaRE). Стандарты данной серии призваны заменить две вышеназванные серии стандартов.

Вопросы стандартизации ЖЦ ПС и оценки качества ПС подробно рас-

8

смотрены в предыдущем учебном пособии авторов «Стандартизация и сертификация программного обеспечения» [15].

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

С учетом изложенного сформирована структура учебного пособия. Пособие состоит из семи разделов.

Впервом разделе рассматриваются основные понятия и определения в области технологий разработки ПС и систем. Кратко описываются процессы ЖЦ ПС и систем, регламентированные стандартом СТБ ИСО/МЭК 12207–2003.

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

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

граммного обеспечения SQI (Software Quality Institute, США).

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

Впятом разделе описываются CASE-технологии структурного анализа и проектирования ПС. Даны общие сведения о CASE-технологиях. Детально рассмотрены широко используемые методологии функционального моделирования IDEF0, структурного анализа потоков данных DFD, информационного моделирования IDEF1X. Описаны метод JSD Джексона и диаграммы Варнье–Орра.

Вшестом разделе приведены основы объектно-ориентированного анализа и проектирования. Подробно рассмотрены правила построения диаграмм вариантов использования.

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

Впособии используются следующие сокращения:

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

9