Проектирование, реализация и сопровождение.



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

· проектирование общей структуры – определение основных компонентов и их взаимосвязей;

· декомпозицию компонентов и построение структурных иерархий в соответствии с рекомендациями блочно-иерархического подхода;

· проектирование компонентов.

Результат проектирования - детальная модель разрабатываемого ПО вместе со спецификациями его компонентов всех уровней. Тип модели зависит от выбранного подхода (структурный, объектный или компонентный) и конкретной технологии проектирования. Однако в любом случае процесс проектирования охватывает как проектирование программ (подпрограмм) и определение взаимосвязей между ними, так и проектирование данных, с которыми взаимодействуют эти программы или подпрограммы. два аспекта проектирования( ГОСТ 34.601-90-АС стадии разраб)

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

· физическое проектирование – привязка к конкретным техническим и программным средствам среды функционирования, т.е. учет ограничений, определенных в спецификациях.

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

Реализация.- представляет собой процесс поэтапного написания кодов программы на выбранном языке программирования (кодирование), их тестирование и отладку.

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

· необходимость исправления ошибок, выявленных в процессе эксплуатации предыдущих версий;

· необходимость совершенствования предыдущих версий, например, улучшения интерфейса, расширения состава выполняемых функций или повышения его производительности;

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

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

Модели жизненного цикла программного обеспечения.

Каскадная модель (водопадная).

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

· получение в конце каждой стадии законченного набора проектной документации, отвечающего требованиям полноты и согласованности;

· простота планирования процесса разработки.

такую схему и используют обычно при блочно-иерархическом подходе к разработке сложных технических объектов, обеспечивая очень высокие параметры эффективности разработки. Но она применима только к созданию систем, для кот. в самом начале разработки удавалось точно и полно сформулировать все требования.

необходимость возвратов на предыдущие стадии,причины:

-неточные спецификации, уточнение которых в процессе разработки может привести к необходимости пересмотра уже принятых решений;

-изменение требований заказчика непосредственно в процессе разработки;

-быстрое моральное устаревание используемых технических и программных средств;

-отсутствие удовлетворительных средств описания разработки на стадиях постановки задачи, анализа и проектирования.

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

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

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

Спиральная модель.

В соответствии с данной схемой ПО создается не сразу, а итерационно с использованием метода прототипирования, базирующегося на создании прототипов.

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

· сократить время до появления первых версий программного продукта;

· заинтересовать большое количество пользователей, обеспечивая быстрое продвижение следующих версий продукта на рынке;

· ускорить формирование и уточнение спецификаций за счет появления практики использования продукта;

· уменьшить вероятность морального устаревания системы за время разработки.

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

 

 

CASE-технологии.

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

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

Нотацией называют систему обозначений, используемых для описания некоторого класса моделей. Нотации бывают графические (предоставление моделей в виде графов, диаграмм, таблиц, схем и т.п.) и текстовые (описания моделей на формальных и естественных языках). В CASE-технологиях нотации используют для описания структуры проектируемой системы, элементов данных, этапов обработки и т.п.Средства — инструментарий для поддержки методов: средства создания и редактирования графического проекта, организации проекта в виде иерархии уровней абстракции, а также проверки соответствия компонентов разных уровней. Различают:

· CASE-средства анализа требований, проектирования спецификаций и структуры, редактирования интерфейсов (первое поколение CASE-I);

· CASE-средства генерации исходных текстов и реализации интегрированного окружения поддержки полного жизненного цикла разработки программного обеспечения (второе поколение CASE-II).

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

Автоматизируя трудоемкие операции, современные CASE-средства существенно повышают производительность труда и улучшают кач-во создаваемого ПО. Они:

· обеспечивают автоматизированный контроль совместимости спецификаций проекта;

· уменьшают время создания прототипа системы;

· ускоряют процесс проектирования и разработки;

· автоматизируют формирование проектной документации для всех этапов жизненного цикла в соответствии с современными стандартами;

· частично генерируют коды программ для различных платформ разработки;

· поддерживают технологии повторного использования компонентов системы;

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

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

На сегодня существуют CASE-технологии, поддерживающие как структурный, так и объектный (в том числе и компонентный) подходы к программированию.

К нашему времени накоплен опыт успешного использования большин­ства известных методологий структурного анализа и проектирования в соот­ветствующих CASE-средствах. Наибольшее распространение получили ме­тодологии : SADT, структурного системного анализа Гейна-Сарсона, развития систем Джексона, развития структурных схем DSSD (Data Structured System Development), инфор­мационного моделирования Мартина.

Наибольшее приме­нение нашли структурные методологии, использующие диаграммы потоков данных. Это вызвано двумя причинами:

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

· разработан метод построения проектных спецификаций (структурных карт Джексона или Костантайна) по диаграммам потоков данных, что позволяет автоматически создавать такие спецификации.

 

11. Технология RAD.(Rapid Application Development – Быстрая Разработка Приложений). отвечает следующим требованиям:

· поддержка полного жизненного цикла программного обеспечения;

· гарантированное достижение целей разработки с заданным качеством и в установленное время;

· возможность выполнения крупных проектов в виде подсистем, разрабатываемых группами исполнителей ограниченной численности (3-7 человек) с последующей интеграцией составных частей, и координации ведения общего проекта;

· минимальное время получения работоспособной системы;

· возможность управления конфигурацией проекта, ведения версий проекта и автоматического выпуска проектной документации по каждой версии;

· независимость выполняемых проектных решений от средств реализации (СУБД, операционных систем, языков и систем программирования);

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

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

· ведение разработки небольшими группами разработчиков (3-7 человек), каждая из которых проектирует и реализует отдельные подсистемы проекта – позволяет улучшить управляемость проекта;

· использование итерационного подхода способствует уменьшению времени получения работоспособного прототипа;

· наличие четко проработанного графика цикла, рассчитанного не более чем на три месяца, существенно увеличивает эффективность работы.

Процесс разработки при этом делится на следующие этапы: анализ и планирование требований пользователей, проектирование, реализация, внедрение.

На этапе анализа и планирования требований формулируют наиболее приоритетные требования, что ограничивает масштаб проекта.

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

Под функциональной точкой в технологии RAD понимают любой из следующих функциональных элементов разрабатываемой системы:

· входной элемент приложения (входной документ или экранная форма);

· выходной элемент приложения (отчет, документ или экранная форма);

· запрос (пара «вопрос/ответ»);

· логический файл (совокупность записей данных, используемых внутри приложения);

· интерфейс приложения (совокупность записей данных, передаваемых другому приложению или получаемых от него).

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

· менее 1 тыс. функциональных точек – 1 человек;

· от 1 до 4 тыс. функциональных точек – одна команда разработчиков;

· более 4 тыс. функциональных точек – одна команда на каждые 4 тыс. точек.

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

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

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

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

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

RAD хорошо зарекомендовала себя для относительно небольших проектов, разрабатываемых для конкретного заказчика. Такие системы не требуют высокого уровня планирования и жесткой дисциплины проектирования. Однако эта технология не применима для построения сложных расчетных программ, операционных систем или программ управления сложными объектами в реальном масштабе времени, т.е. программ с большим процентом уникального кода. Не годится она и в случае создания приложений, от которых зависит безопасность людей, например, систем управлениясамолетами или атомными электростанциями, так как технология RAD предполагает, что первые несколько версий не будут полностью работоспособны, что в данном случае полностью исключается.


Дата добавления: 2018-02-15; просмотров: 847; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!