Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Технология программирования

Покупка
Артикул: 041027.04.99
Доступ онлайн
1 600 ₽
В корзину
Подробно рассмотрены основные методы и нотации, применяемые при разработке сложного программного обеспечения. Особое внимание уделено проектированию программных систем с использованием структурного, объектного и компонентного подходов. Детально разобраны основные приемы обеспечения требуемых технологических свойств. Приведена классификация и проанализированы принципы проектирования пользовательских интерфейсов программного обеспечения. Материал учебника проиллюстрирован большим количеством примеров и поясняющих рисунков. В третьем издании (2-е — 2003 г.) переработан материал по оформлению текстовых документов в соответствии с ГОСТ 7.32-2001 и 7.1-2004, уточнены некоторые понятия, добавлены примеры разработки программных систем. Содержание учебника соответствует курсу лекций, которые автор читает в МГТУ им. Н.Э. Баумана. Для студентов вузов, обучающихся по специальностям, связанным с информатикой. Может быть полезен всем изучающим программирование самостоятельно.
Иванова, Г. С. Технология программирования : учебник / Г. С. Иванова. - 3-е изд., перераб. и доп. - Москва : МГТУ им. Баумана, 2006. - 336 с. - (Информатика в техническом университете.) - ISBN 5-7038-2891-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/2009701 (дата обращения: 30.11.2023). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Информатика в техническом университете 

 

Информатика в техническом университете 

Серия основана в 2000 году 

РЕДАКЦИОННАЯ КОЛЛЕГИЯ: 

чл.-кор. РАН И.Б. Федоров — главный редактор 
д-р техн. наук И.П. Норенков — зам. главного редактора 
д-р техн. наук Ю.М. Смирнов — зам. главного редактора 
д-р техн. наук В.В. Девятков 
д-р техн. наук В.В. Емельянов 
канд. техн. наук И.П. Иванов 
д-р техн. наук В.А. Матвеев 
канд. техн. наук Н.В. Медведев 
д-р техн. наук В.В. Сюзев 
д-р техн. наук Б.Г. Трусов 
д-р техн. наук В.М. Черненький 
д-р техн. наук В.А. Шахнов 

Г.С. Иванова

Технология
программирования

Издательство МГТУ имени Н.Э. Баумана

Москва
Издательство МГТУ им. Н.Э. Баумана
2006

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

«

Издание третье, переработанное и дополненное

УДК 681.3.06(075.8)
ББК 32.973-018
И201

Рецензенты:
кафедра «Компьютерные системы и технологии» 
Московского государственного инженерно-физического института 
(зав. кафедрой профессор Л.Д. Забродин); 
кафедра «ЭВМ, комплексы и сети» 
Московского государственного авиационного института 
(зав. кафедрой профессор О.М. Брехов) 

Иванова Г.С.
И201

Подробно рассмотрены основные методы и нотации, применяемые при разработке 
сложного программного обеспечения. Особое внимание уделено проектированию
программных систем с использованием структурного, объектного и компонентного
подходов. Детально разобраны основные приемы обеспечения требуемых технологических 
свойств. Приведена классификация и проанализированы принципы проектирования 
пользовательских интерфейсов программного обеспечения. Материал учебника
проиллюстрирован большим количеством примеров и поясняющих рисунков. 
В третьем издании ( 2-е – 2003 г.) переработан материал по оформлению текстовых
документов в соответствии с ГОСТ 7.32 – 2001 и 7.1–2004, уточнены некоторые понятия, 
добавлены примеры разработки программных систем. 
Содержание учебника соответствует курсу лекций, которые автор читает в МГТУ
им. Н.Э. Баумана.
Для студентов вузов, обучающихся по специальностям, связанным с информатикой. 
Может быть полезен всем изучающим программирование самостоятельно. 

УДК 681.3.06(075.8)
ББК 32.973-018

© Г.С. Иванова, 2003; 2006, с изменениями
© Оформление. Издательство МГТУ 
ISBN 5-7038-2891-0                                    им. Н.Э. Баумана, 2003; 2006, с изменениями

Технология программирования: Учебник для вузов. – 3-е изд., пе-
рераб. и доп. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2006. – 336 с.: ил.
(Сер. Информатика в техническом университете.)
ISBN 5-7038-2891-0

Оглавление

Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
9

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1. Технология программирования. Основные понятия и подходы . . . . . . . . . 12

1.1. Технология программирования и основные этапы ее развития . . . . . . . . . . 12

1.2. Проблемы разработки сложных программных систем . . . . . . . . . . . . . . . . . 23

1.3. Блочно-иерархический подход к созданию сложных систем . . . . . . . . . . . . 24

1.4. Жизненный цикл и этапы разработки программного обеспечения . . . . . . . 27

1.5. Эволюция моделей жизненного цикла программного обеспечения . . . . . . 32

1.6. Ускорение разработки программного обеспечения. Технология RAD . . . . 37

1.7. Оценка качества процессов создания программного обеспечения . . . . . . . 40

2. Приемы обеспечения технологичности программных продуктов . . . . . . . . 45

2.1. Понятие технологичности программного обеспечения . . . . . . . . . . . . . . . . . 45

2.2. Модули и их свойства
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.3. Нисходящая и восходящая разработка программного обеспечения . . . . . . 55

2.4. Структурное и «неструктурное» программирование. Средства 

описания структурных алгоритмов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

2.5. Стиль оформления программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

2.6. Эффективность и технологичность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

2.7. Программирование «с защитой от ошибок» . . . . . . . . . . . . . . . . . . . . . . . . . . 70

2.8. Сквозной структурный контроль . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5

Содержание

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

данных для его проектирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.1. Классификация программных продуктов по функциональному признаку. . 75

3.2. Основные эксплуатационные требования к программным продуктам . . . . 78

3.3. Предпроектные исследования предметной области . . . . . . . . . . . . . . . . . . . . 81

3.4. Разработка технического задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

3.5. Принципиальные решения начальных этапов проектирования . . . . . . . . . . 95

4. Анализ требований и определение спецификаций программного

обеспечения при структурном подходе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

4.1. Спецификации программного обеспечения при структурном подходе. . . . 103

4.2. Диаграммы переходов состояний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

4.3. Функциональные диаграммы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

4.4. Диаграммы потоков данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

4.5. Структуры данных и диаграммы отношений компонентов данных . . . . . . 123

4.6. Математические модели задач, разработка или выбор методов решения . 136

5. Проектирование программного обеспечения при структурном подходе . . 139

5.1. Разработка структурной и функциональной схем . . . . . . . . . . . . . . . . . . . . . 139

5.2. Использование метода пошаговой детализации для проектирования

структуры программного обеспечения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

5.3. Структурные карты Константайна . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

5.4. Проектирование структур данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

5.5. Проектирование программного обеспечения, основанное на декомпозиции 
данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

5.6. Case-технологии, основанные на структурных методологиях анализа

и проектирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

6. Анализ требований и определение спецификаций программного 

обеспечения при объектном подходе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

6.1. UML – стандартный язык описания разработки программных продуктов

с использованием объектного подхода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

6.2. Определение «вариантов использования» . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

6.3. Построение концептуальной модели предметной области . . . . . . . . . . . . . 177

6.4. Описание поведения. Системные события и операции . . . . . . . . . . . . . . . . 183

7. Проектирование программного обеспечения при объектном подходе . . . 189

7.1. Разработка структуры программного обеспечения при объектном 

подходе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

7.2. Определение отношений между объектами . . . . . . . . . . . . . . . . . . . . . . . . . 192

7.3. Уточнение отношений классов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

7.4. Проектирование классов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

7.5. Компоновка программных компонентов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

7.6. Проектирование размещения программных компонентов 

для распределенных программных систем . . . . . . . . . . . . . . . . . . . . . . . . . . 212

7.7. Особенность спиральной модели разработки. Реорганизация проекта. . . . 213

8. Разработка пользовательских интерфейсов . . . . . . . . . . . . . . . . . . . . . . . . . . 215

8.1. Типы пользовательских интерфейсов и этапы их разработки . . . . . . . . . . . 215

8.2. Психофизические особенности человека, связанные с восприятием,

запоминанием и обработкой информации . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

8.3. Пользовательская и программная модели интерфейса . . . . . . . . . . . . . . . . . 228

8.4. Классификации диалогов и общие принципы их разработки . . . . . . . . . . . 231

8.5. Основные компоненты графических пользовательских интерфейсов . . . . 238

8.6. Реализация диалогов в графическом пользовательском интерфейсе. . . . . . 242

8.7. Пользовательские интерфейсы прямого манипулирования 

и их проектирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

8.8. Интеллектуальные элементы пользовательских интерфейсов . . . . . . . . . . . 259

9. Пример разработки приложения Windows «Записная книжка» . . . . . . . . . 263

9.1. Разработка технического задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Оглавление

7

Оглавление

9.2. Анализ предметной области, уточнение спецификаций и разработка 

структурной схемы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

9.3. Проектирование интерфейса пользователя  . . . . . . . . . . . . . . . . . . . . . . . . . 270

9.4. Проектирование классов приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

10. Тестирование программных продуктов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

10.1. Виды контроля качества разрабатываемого программного обеспечения . 279

10.2. Ручной контроль программного обеспечения . . . . . . . . . . . . . . . . . . . . . . . 281

10.3. Структурное тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

10.4. Функциональное тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

10.5. Тестирования модулей и комплексное тестирование . . . . . . . . . . . . . . . . . 295

10.6. Оценочное тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

11. Отладка  программного обеспечения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

11.1. Классификация ошибок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

11.2. Методы отладки программного обеспечения . . . . . . . . . . . . . . . . . . . . . . . 307

11.3. Методы и средства получения дополнительной информации . . . . . . . . . . 310

11.4. Общая методика отладки программного обеспечения . . . . . . . . . . . . . . . . 313

12. Составление программной документации . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

12.1. Виды программных документов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

12.2. Пояснительная записка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

12.3. Руководство пользователя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

12.4. Руководство системного программиста . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

12.5. Отчет по научно-исследовательской работе . . . . . . . . . . . . . . . . . . . . . . . . 321

12.6. Основные правила оформления текстовых документов . . . . . . . . . . . . . . . 323

Приложение. Система условных обозначений универсального

языка моделирования UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

Предметный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

ПРЕДИСЛОВИЕ

До последнего времени элементы технологии разработки программного
обеспечения студенты изучали в таких курсах, как «Алгоритмические языки
и программирование» и «Системное программирование», параллельно с основным 
материалом, что не позволяло сконцентрироваться на указанных вопросах. 
Однако сравнительно недавно в учебных планах специальностей,
связанных с информатикой, появился курс «Технология программирования»,
полностью посвященный этой теме. В предлагаемом учебнике сделана попытка 
обобщения и методического осмысления опыта, накопленного специалистами 
в области разработки программного обеспечения на протяжении
всей истории существования. 
Приведенные сведения могут быть полезны при выполнении учебных
проектов и небольших программных продуктов. 
В создании данного учебника в той или иной степени участвовало много 
заинтересованных лиц. Хочется от души поблагодарить: заведующих кафедрами «
Компьютерные системы и сети» Сюзева В.В. и «Программирование 
и информационные технологии» Трусова Б.Г. – за всестороннее содействие; 
моего мужа – профессора кафедры «Компьютерные системы и сети» Овчинникова 
В.А. – за помощь и поддержку; преподавателей университета: Борисова 
С.В., Курова А.В. –  за предоставленную литературу изданий прошлых 
лет; Романову Т.Н., Пугачева Е.К., Ничушкину Т.Н., Волосатову Т.М. и
Балдина А.В. – за материалы и советы по содержанию учебника. Автор также 
глубоко признательна рецензентам: коллективу кафедры «Компьютерные
системы и технологии» МИФИ во главе с доктором технических наук, профессором 
Забродиным Л.Д. и коллективу кафедры «ЭВМ, комплексы и сети»
МАИ во главе с доктором технических наук, профессором Бреховым О.М.,
чьи ценные замечания позволили улучшить качество книги. 

ВВЕДЕНИЕ 

Создание программной системы – весьма трудоемкая задача, особенно в
наше время, когда обычный объем программного обеспечения превышает
сотни тысяч операторов. Будущий специалист в области разработки программного 
обеспечения должен иметь представление о методах анализа,
проектирования, реализации и тестирования программных систем, а также
ориентироваться в существующих подходах и технологиях. 
Изложение материала учебника строится в соответствии с основными
этапами разработки программного обеспечения. Исключением являются
первые главы, в которых рассмотрены общие вопросы технологии програм-
мирования. 
В первой главе проанализирована история развития технологии про-
граммирования, показано, что в основе разработки программного обеспече-
ния лежит блочно-иерархический подход, рассмотрены особенности приме-
нения этого подхода к разработке программных продуктов. 
Вторая глава содержит описание приемов обеспечения качества про-
граммного обеспечения: основных положений структурного, модульного и
защитного программирования. В ней также приведены некоторые рекомен-
дации, например по стилю оформления программ. 
В третьей главе рассматриваются проблемы, связанные с постановкой
задачи: от классификации программных продуктов до разработки техничес-
кого задания и принятия основных решений начального этапа проектирова-
ния, например выбора подхода, среды и языка программирования.
Четвертая и пятая главы посвящены особенностям разработки про-
граммного обеспечения при структурном подходе; четвертая – анализу раз-
личных моделей разрабатываемого программного обеспечения, используе-
мых на этапе уточнения спецификаций, а пятая – методикам проектирова-
ния. 
Шестая и седьмая главы содержат аналогичный материал для объектно-
го подхода. В качестве основного языка описания моделей анализа и проек-
тирования при объектном подходе используется UML как мощное и практи-
чески стандартное средство описания объектных разработок. 

Введение

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

1. ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ. 
ОСНОВНЫЕ ПОНЯТИЯ И ПОДХОДЫ 

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

1.1. Технология программирования и основные этапы ее развития 

Технологией программирования называют совокупность методов и
средств, используемых в процессе разработки программного обеспечения.
Как любая другая технология, технология программирования представляет
собой набор технологических инструкций, включающих:
• указание последовательности выполнения технологических операций; 
• перечисление условий, при которых выполняется та или иная опера-
ция;
• описания самих операций, где для каждой операции определены ис-
ходные данные, результаты, а также инструкции, нормативы, стандарты, кри-
терии и методы оценки и т. п. (рис. 1.1). 
Кроме набора операций и их последовательности технология также оп-
ределяет способ описания проектируемой системы, точнее модели, исполь-
зуемой на конкретном этапе разработки. 
Различают технологии, используемые на конкретных этапах разработки
или для решения отдельных задач этих этапов, и технологии, охватывающие
несколько этапов или весь процесс разработки. В основе первых, как прави-
ло, лежит ограниченно применимый метод, позволяющий решить конкрет-
ную задачу. В основе вторых обычно лежит базовый метод или подход, опре-

деляющий совокупность методов, используемых на разных этапах разработ-
ки, или методологию. 
Чтобы разобраться в существующих технологиях программирования и
определить основные тенденции их развития, целесообразно рассматривать
эти технологии в историческом контексте, выделяя основные этапы развития
программирования как науки.
Первый этап – «стихийное» программирование. Этот этап охватыва-
ет период от момента появления первых вычислительных машин до середи-
ны 60-х годов XX в. В этот период практически отсутствовали сформулиро-
ванные технологии, и программирование фактически было искусством. Пер-
вые программы имели простейшую структуру. Они состояли из собственно
программы на машинном языке и обрабатываемых ею данных 
(рис. 1.2). Сложность программ в машинных кодах ограничивалась способ-
ностью программиста одновременно мысленно отслеживать последователь-
ность выполняемых операций и местонахождение данных при программиро-
вании. 
Появление ассемблеров позволило вместо двоичных или 16-ричных кодов 
использовать символические имена данных и мнемоники кодов операций. 
В результате программы стали более «читаемыми». 
Создание языков программирования высокого 
уровня, таких как FORTRAN и ALGOL, существенно 
упростило программирование вычислений, 
снизив уровень детализации операций. Это,
в свою очередь, позволило увеличить сложность
программ. 
Революционным было появление в языках
средств, позволяющих оперировать подпрограммами. (
Идея написания подпрограмм появилась

13

1.1. Технология программирования и основные этапы ее развития

Технологическая
операция

Методические материалы,
инструкции, нормативы и
стандарты, критерии оценки
результатов

Исполнители,
программные и
технические средства

Исходные данные
в стандартном
представлении
(документы,
рабочие материалы,
результаты
предыдущей
операции)

Результаты
в стандартном
представлении

Рис. 1.1. Структура описания технологической операции

Программа

Данные

Рис. 1.2. Структура 
первых программ

гораздо раньше, но отсутствие средств
поддержки в первых языковых средствах 
существенно снижало эффектив-
ность их применения.) Подпрограммы
можно было сохранять и использовать
в других программах. В результате бы-
ли созданы огромные библиотеки рас-
четных и служебных подпрограмм, ко-
торые по мере надобности вызывались
из разрабатываемой программы. 
Типичная программа того време-
ни состояла из основной программы,
области глобальных данных и набора
подпрограмм (в основном библиотеч-
ных), выполняющих обработку всех
данных или их части (рис. 1.3). 
Слабым местом такой архитектуры было то, что при увеличении коли-
чества подпрограмм возрастала вероятность искажения части глобальных
данных какой-либо подпрограммой. Например, подпрограмма поиска корней
уравнения на заданном интервале по методу деления отрезка пополам меня-
ет величину интервала. Если при выходе из подпрограммы не предусмотреть
восстановления первоначального интервала, то в глобальной области ока-
жется неверное значение интервала. Чтобы сократить количество таких оши-
бок, было предложено в подпрограммах размещать локальные данные
(рис. 1.4).
Сложность разрабатываемого программного обеспечения при использо-
вании подпрограмм с локальными данными по-прежнему ограничивалась
возможностью программиста от-
слеживать процессы обработки
данных, но уже на новом уровне.
Однако появление средств под-
держки подпрограмм позволило
осуществлять 
разработку 
про-
граммного обеспечения несколь-
ким программистам параллельно. 
В начале 60-х годов ХХ в. раз-
разился «кризис программирова-
ния». Он выражался в том, что
фирмы, взявшиеся за разработку
сложного программного обеспече-
ния, такого как операционные сис-
темы, срывали все сроки заверше-
ния проектов [8]. Проект устаревал

1. Технология программирования. Основные понятия и подходы

1
2
n

Подпрограммы

...

Основная программа

Данные

Рис. 1.3. Архитектура 
программы с глобальной 
областью данных

1

Основная программа

Глобальные данные

Данные

2

Данные

Подпрограммы с локальными данными

n1

Данные
...

Рис. 1.4. Архитектура программы, ис-
пользующей подпрограммы с 
локальными данными

Доступ онлайн
1 600 ₽
В корзину