Нужна помощь в написании работы?

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

Почему возникает такая проблема? Пока Вы пишете коротенькие и достаточно простые программки, Вы без труда можете проследить все связи и все изменения переменных величин. Но, время простых программ прошло. Современный программный комплекс оперирует с тысячами параметров и массивов. Размеры программного кода составляют десятки, а иногда и сотни мегабайт. Чтобы представить себе такие размеры вспомним, что страница текста в формате txt занимает приблизительно 2 кБт. Следовательно, один мегабайт - это книга в пятьсот страниц. Даже набрать на клавиатуре такую огромную программу сложно. А ее еще нужно отладить, заставить правильно

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

Как решаются подобные задачи сейчас?   Рассмотрим несколько правил быстрого и эффективного создания программ:

1) К разработке программ привлекается не один, а целая команда программистов.

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

3)             Обеспечивается совместимость программных модулей.

Как видим, разбиение программы на модули - типичная задача обеспечения совместимости.

Последовательность реализации модульного принципа программирования

1.   Задача   разбивается   на   относительно   простые   и   самостоятельные   фрагменты.
Критериями качества разбиения являются:

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

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

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

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

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

Внимание!
Если вам нужна помощь в написании работы, то рекомендуем обратиться к профессионалам. Более 70 000 авторов готовы помочь вам прямо сейчас. Бесплатные корректировки и доработки. Узнайте стоимость своей работы.

a.     Требования   к   результату   решения   задачи   являются   требованиями   к
последнему модулю в цепочке, решающей эту задачу.

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

c.     Часть   требований   могут   обеспечить   входная   информация   и   условия
выполнения модуля, остальное   формулируется как требования к предыдущим
модулям.

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

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

После завершения третьего этапа формируются задания на программирование. Только после этого и программисты могут приступать к реализации модулей.

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

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