Блочно-иерархический подход к созданию к созданию сложных систем.



 

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

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

• непротиворечивость — контроль согласованности элементов между собой;

• полнота - контроль на присутствие лишних элементов;

• формализация - строгость методического подхода;

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

• локальная оптимизация - оптимизация в пределах уровня иерархии.

Помимо того, что использование блочно-иерархического подхода делает возможным создание сложных систем, он также:

• упрощает проверку работоспособности, как системы в целом, так и отдельных блоков;

• обеспечивает возможность модернизации систем, например, замены ненадежных блоков с сохранением их интерфейсов.

 

Жизненный цикл и этапы разработки программного обеспечения. Кратко охарактеризуйте основные этапы.

 

По стандарту процесс разработки включает следующие действия:

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

методов и средств разработки, а также составление плана работ;

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

• проектирование архитектуры системы  - определение состава необходимого оборудования,

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

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

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

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

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

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

• квалификационное тестирование программного обеспечения - тестирование программного обеспечения в присутствии заказчика для демонстрации его соответствия требованиям и готовности к эксплуатации; при этом проверяется также готовность и полнота технической и пользовательской документации

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

• квалификационное  тестирование  системы  -  тестирование  системы  на  соответствие требованиям к ней и проверка оформления и полноты документации;

• установку  программного  обеспечения  -  установку  программного  обеспечения  на оборудовании заказчика и проверку его работоспособности;

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

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

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

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

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

 


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

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






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