Главная Теоретический материал Лабораторные работы Задачи Тесты Контакты

Узбекское Агентство
Связи и Информатизации



Ташкентский Университет Информационных Технологий


Кафедра
«Программное обеспечение информационных технологий»

Направления:

5521900Информатика и
информационные технологии,
5523500Защита информации,
5523600Электронная коммерция,
5811200Сервис (информационный сервис),
5811300Сервис (электронные и
компьютерные технологии),
5320200Информатика и
библиотековедение,
5140900Профессиональное образование
(по направлению
информатика и
информационные технологии).


Преподаватель дисциплины



Доцент
Чернев Дмитрий Алексеевич

Общие правила структурного построения программного обеспечения

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

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

 Высокую степень независимости модулей можно достичь с помощью двух методов оптимизации:

- усилением внутренних связей в каждом модуле;

- ослаблением взаимосвязи между модулями.

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

Для этого нужно стремится:

 - реализовать отдельные функции отдельными моделями (высокая прочность модуля).

- ослаблять связь между модулями по данным, применяя формальный механизм передачи параметров (слабое сцепление модулей).

3. Применяются стандартные правила организации связей по управлению и информации с другими модулями (смотри ниже).

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

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

6. Как правило, модуль содержит от 10 до 500 выполняемых операторов языка высокого уровня. Размеры модуля влияют на степень независимости элементов программы, легкость ее чтении и тестирования.

7. Модуль прочный, прочность модуля измеряется его внутренними связями.

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

Функция - эта внешнее описание модуля, т.е. что делает модуль (но не как он это делает).

Логика описывает внутренний алгоритм модуля, т.е. как он выполняет функцию.

8. Модуль предсказуем, т.е. работа модуля не зависит от предыстории его использования. Все модули должны быть предсказуемыми, т.е. они не должны сохранять никаких «воспоминаний» о предыдущем вызове.

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

9. Минимизация доступа данным.

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

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

Когда возникает потребность во внутренней процедуре, проектировщик должен рассмотреть возможность оформления ее в виде отдельного модуля.

11. Обмен данными с процедурами.

Параметры процедур – это «окна во внешний мир», через которые процедура получает исходные данные и отдает свои результаты.

В параметры следует включить только те переменные, через которые идет обмен информацией с другими программными единицами. Другие переменные - это внутреннее дело процедуры и больше эти переменные никого не интересуют.

12. Процедуры, которые выдают в качестве результата только одно значение, оформляются как функции.

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


Назад


Главная Теоретический материал Лабораторные работы Тесты Контакты