ППС (9) - Лекция №8 - Проблема сложности программных систем (продолжение): различия между версиями

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество
Перейти к навигации Перейти к поиску
(Новая страница: «{{Backward|l=ППС (9) - Лекция №7 - Проблема сложности программных систем}} == Проблема сложности п...»)
 
мНет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 51: Строка 51:
* цикл - по кругу внутри можно ходить сколько угодно, но выход из цикла только в одну выходную точку модуля.
* цикл - по кругу внутри можно ходить сколько угодно, но выход из цикла только в одну выходную точку модуля.


=== Характеристики модуля ===
{{Forward|l=ППС (9) - Лекция №9 - Объектно-ориентированный подход}}
 
{{Forward|l=ППС (9) - Лекция №9}}


[[Категория:Проектирование программных систем (9 семестр)]]
[[Категория:Проектирование программных систем (9 семестр)]]
[[Категория:Конспекты лекций и семинаров]]
[[Категория:Конспекты лекций и семинаров]]

Текущая версия от 21:20, 6 ноября 2012

...начало

Проблема сложности программных систем

Сложность описания поведения отдельных подсистем

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

Создание сложной системы

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

Методы создания сложных систем

Декомпозиция

Разложение на более мелкие составные части.

Алгоритмическая декомпозиция

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

Нисходящее проектирование

Этот алгоритм предпочтителен, когда в самом начале мы не проектируем модули, а проектируем управляющий алгоритм.

Восходящее проектирование

Худший метод, хотя и чаще встречающийся. Сначала создаются модули, а потом объединяющий их главный управляющий алгоритм.

Комбинированное проектирование

Сочетание нисходящего и восходящего.

Проблемы модулей

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

Структурное проектирование модуля

Всегда делать так, чтобы была одна точка входа в модуль и одна точка выхода из него.

Варианты:

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

продолжение...