Тема 1. 6 проектирование по и его виды. Понятие архитектуры по. Влияние архитектуры на свойства по. 


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



ЗНАЕТЕ ЛИ ВЫ?

Тема 1. 6 проектирование по и его виды. Понятие архитектуры по. Влияние архитектуры на свойства по.



Слово «Проектирование» определяется в словаре как «Придание формы в соответствии с планом». Термин «Проектирование программного обеспечения» укоренился, или, по крайней мере, сделался популярным после двух конференций, организованных НАТО в 1968, 1969 гг.

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

Концепция иерархической декомпозиции настолько естественна, что мы не всегда в состоянии осознать, как часто нам приходится использовать ее на практике. Она вытекает из человеческой потребности иметь дело с поддающимся управлению вполне определенным числом дискретных источников информации и производить «отсечение» информации до тех пор, пока число дискретных источников не станет приблизительно равно семи.

Строгая иерархическая декомпозиция подчиняется правилам:

1. На каждом уровне иерархии план или проект должен иметь законченный вид на данном уровне детализации;

2. На любом уровне иерархии каждое разбиение полностью охватывает отдельную функцию или проблему, соответствующую данному уровню детализации.

Некоторые формы иерархической декомпозиции программных средств называются так:

— нисходящее проектирование программного обеспечения;

— структурное проектирование программного обеспечения;

— структурированные планы выпуска и спецификаций изделия;

— поэтапное проектирование программного обеспечения;

— нисходящее программирование;

— модульное программирование;

— структурное программирование;

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

На этом этапе создается и на 90 % приобретает свою окончательную форму разрабатываемое программное обеспечение.

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

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

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

* Моделью системы (или какого-либо другого предмета или явления)называют формальное описание системы, в котором выделены основные объекты, составляющие систему, и отношения между этими объектами. В модели системы опускают многочисленные детали, усложняющие ее понимание.

* Модель системы никак не связана с языком программирования, на котором будет реализована система.

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

* В объектной модели должны быть отражены понятия и объекты реального мира, которые важны для разрабатываемой системы.

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

Архитектура программного обеспечения

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

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

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

Традиционный метод борьбы со сложностью — принцип «Разделяй и властвуй» — часто называют «Модуляризацией».

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

Стремление к созданию модульных программ объясняется следующими факторами:

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

— модульные программы легко читать, сопровождать и модифицировать. Исправление отдельного модуля вызывает минимальные изменения в других модулях, связанных с ним по управлению и информации;

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

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

— процедура загрузки всей программы в оперативную память упрощается при использовании метода оверлейности;

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

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

Минимальными компонентами, из которых строятся модули, являются операторы языка программирования. Разнообразие операторов сравнительно невелико (50 — 100 типов), и каждый оператор реализуется алгоритмом на базе в среднем 1 — 10 машинных команд ЭВМ. С повышением уровня языка программирования возрастает функциональная сложность операторов.

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

 



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 55; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.98.13 (0.005 с.)