Читайте также:
|
|
Если нет необходимости разбивать систему на несколько подсистем, то этот этап может опускаться.
В классическом структурном проектировании было 2 основных метода создания архитектуры систем.
1-й метод основан на выделении уровней абстракции (внимание уделяется правильному распределению функций между уровнями иерархии)
2-й метод - метод портов: подсистемы есть потоки, они функционируют одновременно. Если подсистеме что-то нужно, она выкладывает это во внешний порт, потом это приходит на входной порт другой системы и обрабатывается ею.
Идея уровней призвана уменьшить сложность подсистем за счет высокой степени независимости уровней друг от друга. Возможны 2 варианта:
1) Связаны между собой только соседние уровни
2) Уровни могут быть связаны через голову
Основные характеристики уровней абстракций:
1. Фундаментальное свойство: на любом уровне абсолютно ничего не известно о свойствах и существовании более высоких уровней. Иерархия должна быть строго вниз
2. На любом уровне ничего неизвестно о внутреннем строении других уровней. Связь между ними осуществляется через жесткие, заранее определенные сопряжения
3. Любой уровень представляет собой группу модулей. Некоторые модули являются внутренними и недоступны для других уровней и подсистем, другие представляют собой интерфейс для взаимодействия с другими уровнями
4. Любой уровень может обеспечить сокрытие, скрывая от других уровней структуру этих данных
5. Связи между уровнями ограничены явными аргументами, передаваемыми с одного уровня на другой. Недопустимо использование глобальных данных несколькими уровнями
Дейкстра в этой концепции использовал основные концепции борьбы со сложностью – абстракцию, декомпозицию, иерархию.
Абстракция (абстрагирование) – выделение сущностных характеристик объекта или подсистемы, которое позволяет выделить только основные и отбросить несущественные параметры. Например, на прикладном уровне мы не рассматриваем взаимодействие ОС или работу с аппаратурой.
Декомпозиция – процесс разбиения системы на части по определенным критериям. Разбивать надо правильно, а то получится еще сложнее проектировать. В подсистему должны входить наиболее связанные объекты, а связи между кусками должны быть минимальны. Можно свести декомпозицию к задаче разбиения графа на куски, связей между которыми должно быть как можно меньше. Но задача разбиения графа возникла еще раньше – когда надо было проектировать огромные сложные компьютеры.
Эти концепции оказали огромное влияние на развитие ООП-языков.
Дата добавления: 2015-04-26; просмотров: 13 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Определение требований к системе | | | Классическая схема информационной системы |