Модули и их свойства
Диалоговые программы
Понятие технологичности программного обеспечения
Тема 2. Основы теории программирования
Тема 5
В его основу были положены следующие концепции:
- нисходящая разработка;
- модульное программирование;
- структурное программирование;
- сквозной структурный контроль.
Под технологичностью понимают качество проекта программного продукта, от которого зависят трудовые и материальные затраты на его реализацию и последующие модификации. Хороший проект сравнительно быстро и легко кодируется, тестируется, отлаживается и модифицируется.
Многолетний опыт программирования показывает, что технологичность ПО определяется проработанностью его моделей, уровнем независимости модулей, стилем программирования и степенью повторного использования кодов.
Чем лучше проработана модель разрабатываемого ПО, чем четче определены подзадачи и структуры данных, хранящие входную, промежуточную и выходную информацию, тем проще их проектирование и реализация и меньше вероятность ошибок, для исправления которых потребуется существенно изменять программу.
Чем выше независимость модулей, тем их легче понять, реализовывать, модифицировать, а также находить в них ошибки и исправлять их.
Стиль программирования, под которым понимают стиль оформления программ и их «структурность», также существенно влияет на читаемость программного кода и количество ошибок программирования.
Увеличение степени повторного использования кодов предполагает как использование ранее разработанных библиотек подпрограмм или классов, так и унификацию кодов текущей разработки
Как следует из определения, высокая технологичность проекта особенно важна, если разрабатывается программный продукт, рассчитанный на многолетнее интенсивное использование, или необходимо обеспечить повышенные требования к его качеству.
Диалоговые программы – это программы, работающие в интерактивном режиме, т.е. в режиме диалога с пользователем. Различают два вида (режима) выполнения программ: интерактивный и пакетный. Интерактивное выполнение программ – это вид информационного взаимодействия между пользователем и программой в реальном масштабе времени. Пакетное выполнение программ – это вид организации обработки информации, когда несколько задач объединяются в пакет и отсутствует непосредственный доступ пользователей к программе.
При проектировании достаточно сложного программного обеспечения после определения его общей структуры выполняют декомпозицию компонентов в соответствии с выбранным подходом до получения элементов, которые, по мнению проектировщика, в дальнейшей декомпозиции не нуждаются.
Как уже упоминалось раньше, в настоящее время используют два способа декомпозиции разрабатываемого ПО, связанные с соответствующим подходом:
-процедурный (или структурный – по названию подхода);
- объектный.
Результатом процедурной декомпозиции является иерархия подпрограмм (процедур), в которой функции, связанные с принятием решения, реализуются подпрограммами верхних уровней, а непосредственно обработка – подпрограммами нижних уровней. Это согласуется с принципом вертикального управления, который был сформулирован вместе с другими рекомендациями структурного подхода к программированию. Он также ограничивает возможные варианты передачи управления, требуя, чтобы любая подпрограмма возвращала управление той подпрограмме, которая ее вызвала.
Результатом объектной декомпозиции является совокупность объектов, которые затем реализуют как переменные некоторых специально разрабатываемых типов (классов), представляющих собой совокупность полей данных и методов, работающих с этими полями.
Таким образом, при любом способе декомпозиции получают набор связанных с соответствующими данными подпрограмм, которые в процессе реализации организуют в модули.
Модули. Модулем называют автономно компилируемую программную единицу.