Блочно-иерархический подход к созданию к созданию сложных систем.
В природе существуют иерархии “целое-часть”, “простое-сложное”(иерархия развития систем в процессе эволюции). В этой иерархии любая функционирующая система является результатом развития более простой системы. Именно данный вид иерархии реализуется механизмом наследования объектно-ориентированного программирования.
Итак, в основе блочно-иерархического подхода лежат декомпозиция и иерархическое упорядочение. Важную роль играют также следующие принципы:
• непротиворечивость — контроль согласованности элементов между собой;
• полнота - контроль на присутствие лишних элементов;
• формализация - строгость методического подхода;
• повторяемость - необходимость выделения одинаковых блоков для удешевления и ускорения разработки;
• локальная оптимизация - оптимизация в пределах уровня иерархии.
Помимо того, что использование блочно-иерархического подхода делает возможным создание сложных систем, он также:
• упрощает проверку работоспособности, как системы в целом, так и отдельных блоков;
• обеспечивает возможность модернизации систем, например, замены ненадежных блоков с сохранением их интерфейсов.
Жизненный цикл и этапы разработки программного обеспечения. Кратко охарактеризуйте основные этапы.
По стандарту процесс разработки включает следующие действия:
• подготовительную работу - выбор модели жизненного цикла (см. далее), стандартов,
|
|
методов и средств разработки, а также составление плана работ;
• анализ требовании к системе - определение ее функциональных возможностей, пользовательских требований, требований к надежности и безопасности, требований к внешним интерфейсам и т. д.;
• проектирование архитектуры системы - определение состава необходимого оборудования,
программного обеспечения и операций, выполняемых обслуживающим персоналом;
• анализ требований к программному обеспечению - определение функциональных возможностей, включая характеристики производительности, среды функционирования компонентов, внешних интерфейсов, спецификаций надежности и безопасности, эргономических требований, требований к используемым данным, установке, приемке, пользовательской документации, эксплуатации и сопровождению;
• проектирование архитектуры программного обеспечения - определение структуры программного обеспечения, документирование интерфейсов его компонентов, разработку предварительной версии пользовательской документации, а также требований к тестам и плана интеграции;
• детальное проектирование программного обеспечения – подробное описание компонентов программного обеспечения и интерфейсов между ними, обновление пользовательской документации, разработка и документирование требований к тестам и плана тестирования компонентов программного обеспечения, обновление плана интеграции компонентов;
|
|
• кодирование и тестирование программного обеспечения – разработку и документирование каждого компонента, а также совокупности тестовых процедур и данных для их тестирования, тестирование компонентов, обновление пользовательской документации, обновление плана интеграции программного обеспечения;
• интеграцию программного обеспечения - сборку программных компонентов в соответствии с планом интеграции и тестирование программного обеспечения на соответствие квалификационным требованиям, представляющих собой набор критериев или условий, которые необходимо выполнить, чтобы квалифицировать программный продукт, как соответствующий своим спецификациям и готовый к использованию в заданных условиях эксплуатации;
• квалификационное тестирование программного обеспечения - тестирование программного обеспечения в присутствии заказчика для демонстрации его соответствия требованиям и готовности к эксплуатации; при этом проверяется также готовность и полнота технической и пользовательской документации
|
|
• интеграцию системы - сборку всех компонентов системы, включая программное обеспечение и оборудование;
• квалификационное тестирование системы - тестирование системы на соответствие требованиям к ней и проверка оформления и полноты документации;
• установку программного обеспечения - установку программного обеспечения на оборудовании заказчика и проверку его работоспособности;
• приемку программного обеспечения - оценку результатов квалификационного тестирования программного обеспечения и системы в целом и документирование результатов оценки совместно с заказчиком, окончательную передачу программного обеспечения заказчику.
Проектирование. Основной задачей этого этапа является определение подробных спецификаций разрабатываемого программного обеспечения. Процесс проектирования сложного программного обеспечения обычно включает:
• проектирование общей структуры - определение основных компонентов и их взаимосвязей;
• декомпозицию компонентов и построение структурных иерархий в соответствии с рекомендациями блочно-иерархического подхода;
• проектирование компонентов.
Дата добавления: 2018-05-13; просмотров: 852; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!