Рассмотрим, как решаются проблемы совместимости на примере, близком каждому программисту: обеспечения совместимости программных модулей.
Почему возникает такая проблема? Пока Вы пишете коротенькие и достаточно простые программки, Вы без труда можете проследить все связи и все изменения переменных величин. Но, время простых программ прошло. Современный программный комплекс оперирует с тысячами параметров и массивов. Размеры программного кода составляют десятки, а иногда и сотни мегабайт. Чтобы представить себе такие размеры вспомним, что страница текста в формате txt занимает приблизительно 2 кБт. Следовательно, один мегабайт - это книга в пятьсот страниц. Даже набрать на клавиатуре такую огромную программу сложно. А ее еще нужно отладить, заставить правильно
выполнять порученную ей работу и не создавать дополнительной головной боли у пользователя. Кроме того, программа должна быть написана в сжатые сроки, иначе конкуренты нас обгонят и «опоздавшая родиться» программа окажется ни кому не нужной.
Как решаются подобные задачи сейчас? Рассмотрим несколько правил быстрого и эффективного создания программ:
1) К разработке программ привлекается не один, а целая команда программистов.
2) Программа разбивается на относительно независимые части (модули), каждая
из которых должна выполнять определенную функцию.
3) Обеспечивается совместимость программных модулей.
Как видим, разбиение программы на модули - типичная задача обеспечения совместимости.
Последовательность реализации модульного принципа программирования
1. Задача разбивается на относительно простые и самостоятельные фрагменты.
Критериями качества разбиения являются:
a. Законченность выделяемых фрагментов. Каждый из них должен до конца
решать какую-то, пусть маленькую задачу.
b. Посильность программирования. Размеры и сложность модуля должны быть
такими, чтобы один программист в реальные сроки справился сего написанием и
отладкой.
c. Минимум связей с остальными модулями. Чем меньше зависит наш модуль
от остальной части программы, тем меньше проблем возникнет при его
совместной отладке.
d. Проверяемость входных данных и результатов выполнения модуля. К
правильности и полноте входных данных должны быть сформулированы четкие
требования, выполнение которых должно быть проверено на входе модуля.
Ситуации получения неверных данных должны быть учтены и обработаны.
Решая определенную задачу до конца, модуль должен выдавать результаты,
правильность которых можно логически проверить.
2. Формируются требования к модулям. Для каждой задачи, выполняемой программы
должна существовать цепочка последовательно выполняемых модулей, полностью
решающая данную задачу. В простейшем случае цепочка может состоять из одного
модуля. Требования к модулям формируются по принципу «обратной волны»:
a. Требования к результату решения задачи являются требованиями к
последнему модулю в цепочке, решающей эту задачу.
b. Анализируется, что (какая информация и инструментарий) необходимы
модулю, чтобы обеспечить предъявленные требования.
c. Часть требований могут обеспечить входная информация и условия
выполнения модуля, остальное формулируется как требования к предыдущим
модулям.
d. Описанный анализ проводится последовательно по всем модулям от конца к
началу. Если модуль участвует в нескольких цепочках, требования к нему
анализируются на совместимость и объединяются. Если требования к модулю не
совместимы, необходимо пересмотреть модульную структуру программы.
В результате такого анализа формируется совокупность требований к каждому модулю. 3. Разрабатывается межмодульный интерфейс - правила вызова модулей и передачи им параметров. Информация, необходимая для работы большинства модулей организуется в виде общих областей, глобальных переменных, массивов или баз данных.
После завершения третьего этапа формируются задания на программирование. Только после этого и программисты могут приступать к реализации модулей.
На самом деле, процесс выделения модулей и формирования требований к ним проходит в несколько итераций. От качества выделения модулей зависят трудоемкость и реализуемость программного комплекса, сроки его реализации и качество. 4. После написания отдельных модулей проводится их комплексная отладка. В ходе отладки проверяется возможность совместной работы модулей, правильность решения всех задач программного комплекса.
Поможем написать любую работу на аналогичную тему