Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Сцепление модулей




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

Этапы разработки пользовательского интерфейса

1) Постановка задачи (определение типа интерфейса, и общих требований к меню)

2) Анализ требований и определение спецификаций (определение сценариев использования и пользовательской модели интерфейса)

3) Проектирование (проектирование диалогов и их реализация в виде процессов ввода-вывода)

4) Реализация (программирование и тестирование интерфейсных процессов)

Модулем называется автономно компилируемая программная единица. Данные модуль может получать и (или) возвращать через общие области памяти или параметры. Основное требование к модулям это независимость. Чем выше степень независимостей модулей тем:

1) Легче разобраться в отдельном модуле и всей программе и соответственно тестировать отлаживать и модифицировать её.

2) Меньше вероятность появление новых ошибок при исполнении старых или внесение изменений в программу.

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

Степень независимостей модулей оценивают двумя критериями: сцеплением и связностью.

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

1) По данным

2) По образцу

3) По управлению

4) По общей области данных

5) По содержимому

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

function Max(a,b:integer):integer;

begin

if a>b then Max:= a

else Max:= b;

end;

Сцепление по образцу предполагает, что модули обмениваются данными объединенными в структуры. Этот тип также обеспечивает неплохие характеристики, но они хуже чем сцепление по данным так как конкретные передаваемы данные «спрятаны» в структуры, и потому уменьшается прозрачность связей между модулей. кроме того при изменении структуры передаваемых данных необходимо модифицировать все использующие её модули. Функция MaxEL предполагает сцепление по образцу:

function MaxEL (a:array of integer:integer);

var

i:word;

begin

MaxEL:=a[0];

for i:=1 to High(a) do

if a[i]>MaxEL:=a[i];

end;

При сцепление по управлению один модуль посылает другому некоторый информационный объект (флаг). Который предназначен для управления внутренней логикой модуля. Таким способом часто выполняют настройку режимов работы ПО. Подобные настройки также снижают наглядность взаимодействия модулей и поэтому обеспечивают ещё худшие характеристики технологичности разрабатываемого ПО по сравнению со сцеплениями по данным и по образцу. Например:

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

function MinMax(a,b:integer,Flag Boolean):integer;

begin

If (a>b) and (flag) then MinMax=a else MinMan=b

end;

Сцепление по общей области данных, предполагает, что модули работают с общей областью данных. Это считается недопустимым:

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

программного обеспечения.

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

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

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

Качество программного обеспечения принято определять по типу сцепления с худшими характеристиками.




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


Дата добавления: 2014-01-07; Просмотров: 2151; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.