Ответы: Билеты и ответы к ним
Описание
Характеристики ответов (шпаргалок)
Список файлов
- Билеты и ответы к ним
- 1ST 4,58 Kb
- 2ND 66,92 Kb
- ANSWERS.DOC 45,74 Kb
- EXTICKLS.DOC 7,04 Kb
- LECTP13N.TXT 30,88 Kb
- LECTP14N.TXT 27,77 Kb
- LECTTP.TXT 250,97 Kb
- QUESTION 1,79 Kb
- TECHPROG.DOC 6,33 Kb
- TECHPROG.KOI 209,08 Kb
- TECHPROG.LEC 209,08 Kb
- Прочти меня!!!.txt 136 b
Возможно не удалось распознать кодировку файла
Возможно не удалось распознать кодировку файла
Лекция 14. КОМПЬЮТЕРНАЯ ПОДДЕРЖКА РАЗРАБОТКИ И
СОПРОВОЖДЕНИЯ ПРОГРАММНЫХ СРЕДСТВ
14.1. Инструменты разработки программных средств.
В процессе разработки программных средств в той или иной
мере используется компьютерная поддержка процессов разработки
ПС. Это достигается путем представления хотя бы некоторых прог-
раммных документов ПС (прежде всего, программ) на компьютерных
носителях данных (например, дискетах) и предоставлению в распо-
ряжение разработчика ПС специальных ПС или включенных в состав
компьютера специальных устройств, созданных для какой-либо обра-
ботки таких документов. В качестве такого специального ПС можно
указать компилятор с какого-либо языка программирования. Компи-
лятор избавляет разработчика ПС от необходимости писать програм-
мы на языке компьютера, который для разработчика ПС был бы край-
не неудобен, - вместо этого он составляет программы на удобном
ему языке программирования, которые соответствующий компилятор
автоматически переводит на язык компьютера. В качестве специаль-
ного устройства, поддерживающего процесс разработки ПС, может
служит эмулятор какого-либо языка. Эмулятор позволяет выполнять
(интерпретировать) программы на языке. отличном от языка компь-
ютера, поддерживающего разработку ПС, например на языке компь-
ютера, для которого эта программа предназначена.
ПС, предназначенное для поддержки разработки других ПС, бу-
дем называть 1программным инструментом 0разработки ПС, а устройс-
тво компьютера, специально предназначенное для поддержки разра-
ботки ПС, будем называть 1аппаратным инструментом 0разработки ПС.
Инструменты разработки ПС могут использоваться в течении
всего жизненного цикла ПС для работы с разными программными до-
кументами. Так текстовый редактор может использоваться для раз-
работки практически любого программного документа. С точки зре-
ния функций, которые инструменты выполняют при разработке ПС, их
можно разбить на следующие четыре группы: - редакторы, - анали-
заторы, - преобразователи, - инструменты, поддерживающие процесс
выполнения программ.
1Редакторы 0 поддерживают конструирование (формирование) тех
или иных программных документов на различных этапах жизненного
цикла. Как уже упоминалось, для этого можно использовать один
какой-нибудь универсальный текстовый редактор. Однако, более
- 2 -
сильную поддержку могут обеспечить специализированные редакторы:
для каждого вида документов - свой редактор. В частности, на
ранних этапах разработки в документах могут широко использовать-
ся графические средства описания (диаграммы, схемы и т.п.). В
таких случаях весьма полезными могут быть графические редакторы.
На этапе программирования вместо текстового редактора может ока-
заться более удобным синтаксически управляемый редактор, ориен-
тированный на используемый язык программирования.
1Анализаторы 0 производят либо 1статическую 0 обработку докумен-
тов, осуществляя различные виды их контроля, выявление опреде-
ленных их свойств и накопление статистических данных (например,
проверку соответствия документов указанным стандартам), либо 1ди-
1намический 0 анализ программ (например, с целью выявление распре-
деления времени работы програмы по программным модулям).
1Преобразователи 0 позволяют автоматически приводить докумен-
ты к другой форме представления (например, форматеры) или пере-
водить документ одного вида к документу другого вида (например,
конверторы или компиляторы), синтезировать какой-либо документ
из отдельных частей и т.п.
Инструменты, поддерживающие процесс выполнения программ,
позволяют выполнять на компьютере описания процессов или отдель-
ных их частей, представленных в виде, отличном от машинного ко-
да, или машинный код с дополнительными возможностями его интерп-
ретации. Примером такого инструмента является эмулятор кода дру-
гого компьютера. К этой группе инструментов следует отнести и
различные отладчики. По-существу, каждая система программирова-
ния содержит программную подсистему периода выполнения, которая
выполняет наиболее типичные для языка программирования программ-
ные фрагменты и обеспечивает стандарную реакцию на возникающие
при выполнении программ исключительные ситуации (такую подсисте-
му мы будем называть 1 исполнительной поддержкой 0). Такую подсисте-
му можно также рассматривать как инструмент данной группы.
14.2. Инструментальные среды разработки и сопровождения
программных средств.
В настоящее время с каждой системой программирования связы-
ваются не отдельные инструменты (например, компилятор), а неко-
торая логически связанная совокупность программных и аппаратных
- 3 -
инструментов поддерживающих разработку и сопровождение ПС на
данном языке программирования или ориентированных на какую-либо
конкретную предметную область. Такую совокупность будем называть
1инструментальной средой разработки и сопровождения ПС. 0 Для таких
инструментальных сред характерно, во-первых, использование как
программных, так и аппаратных инструментов, и, во-вторых, опре-
деленная ориентация либо на конкретный язык программирования,
либо на конкретную предметную область.
Инструментальная среда не обязательно должна функциониро-
вать на том компьютере, на котором должно будет применяться раз-
рабатываемое с помощью ее ПС 1. 0 Часто такое совмещение бывает дос-
таточно удобным (если только мощность используемого компьютера
позволяет это): не нужно иметь дело с компьютерами разных типов,
в разрабатываемую ПС можно включать компоненты самой инструмен-
тальной среды. Однако, если компьютер, на котором должно приме-
няться ПС, недоступен для разработчиков этого ПС (например, он
постоянно занят другой работой, которую нельзя прерывать, или он
находится еще в стадии разработки), либо неудобен для разработки
ПС, либо мощность этого компьютера недостаточна для обеспечения
функционирования требуемой инструментальной среды, то применяет-
ся так называемый 1 инструментально-объектный подход 0. Сущность его
заключается в том, что ПС разрабатывается на одном комьютере,
называемым 1 инструментальным 0, а применяться будет на другом
компьютере, называемым 1 целевым 0(или 1объектным 0).
Различают три основных класса [14.1] инструментальных сред
разработки и сопровождения ПС: среды программирования, рабочие
ш1.0
Инструментальные
среды разработки и
сопровождения ПС
Инструментальные Рабочие места Инструментальные
среды компьютерной системы
программирования технологии технологии
программирования
ш0
Рис. 14.1. Основные классы инструментальных сред разработки
и сопровождения ПС.
- 4 -
места компьютерной технологии и инструментальные системы техно-
логии программирования (рис. 14.1). 1 Среда программирования 0 пред-
назначена в основном для поддержки процессов программирования
(кодирования), тестирования и отладки ПС. 1 Рабочее место компь-
1ютерной технологии 0 ориентировано на поддержку ранних этапов раз-
работки ПС (спецификаций) и автоматической генерации программ по
спецификациям. 1 Инструментальная система технологии программиро-
1вания 0 предназначена для поддержки всех процессов разработки и
сопровождения в течение всего жизненного цикла ПС и ориентирова-
на на коллективную разработку больших программных систем с длин-
ным жизненным циклом. Для таких систем стоимость сопровождения
Возможно не удалось распознать кодировку файла
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. М.В.ЛОМОНОСОВА
Факультет вычислительной математики и кибернетики
Е.А.Жоголев
ЛЕКЦИИ ПО ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
1 9 9 6
.
- 2 -
Е.А.Жоголев
Лекции по технологии программирования.- М.: Московский го-
сударственный университет им. М.В.Ломоносова, факультет
ВМиК, рукопись, 1996.
(с) copyright 1 0 Е.А.Жоголев, 1994-1996
.
- 3 -
СОДЕРЖАНИЕ
ВВЕДЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . 7
Лекция 1. НАДЕЖНОЕ ПРОГРАММНОЕ СРЕДСТВО КАК ПРОДУКТ ТЕХ-
НОЛОГИИ ПРОГРАММИРОВАНИЯ. ИСТОРИЧЕСКИЙ И СОЦИАЛЬНЫЙ
КОНТЕКСТ ПРОГРАММИРОВАНИЯ . . . . . . . . . . . . . 9
1.1. Программа как формализованное описание процес-
са обработки данных. Программное средство . . 9
1.2. Неконструктивность понятия правильной програм-
мы . . . . . . . . . . . . . . . . . . . . . . 10
1.3. Надежность программного средства . . . . . . . 11
1.4. Технология программирования как технология
разработки надежных программных средств. . . . 12
1.5. Технология программирования и информатизация
общества . . . . . . . . . . . . . . . . . . . 13
Упражнения к лекции 1 . . . . . . . . . . . . . . . 16
Литература к лекции 1 . . . . . . . . . . . . . . . 16
Лекция 2. ИСТОЧНИКИ ОШИБОК В ПРОГРАММНОМ СРЕДСТВЕ. . . . 19
2.1. Интеллектуальные возможности человека. . . . . 19
2.2. Неправильный перевод как причина ошибок в про-
граммном средстве. . . . . . . . . . . . . . . 20
2.3. Модель перевода. . . . . . . . . . . . . . . . 21
2.4. Основные пути борьбы с ошибками. . . . . . . . 23
Литература к лекции 2 . . . . . . . . . . . . . . . 23
Лекция 3. ОБЩИЕ ПРИНЦИПЫ РАЗРАБОТКИ ПРОГРАММНЫХ
СРЕДСТВ . . . . . . . . . . . . . . . . . . . . . . 24
3.1. Специфика разработки программных средств . . . 24
3.2. Жизненный цикл программного средства . . . . . 25
3.3. Понятие качества программного средства . . . . 26
3.4. Обеспечение надежности - основной мотив разра-
ботки программных средств . . . . . . . . . . 27
3.5. Методы борьбы со сложностью . . . . . . . . . 28
3.6. Обеспечение точности перевода . . . . . . . . 29
3.7. Преодоление барьера между пользователем и раз-
работчиком . . . . . . . . . . . . . . . . . . 29
3.8. Контроль принимаемых решений . . . . . . . . . 30
Литература к лекции 3 . . . . . . . . . . . . . . . 30
- 4 -
Лекция 4. ВНЕШНЕЕ ОПИСАНИЕ ПРОГРАММНОГО СРЕДСТВА . . . . 32
4.1. Назначение внешнего описания программного
средства и его роль в обеспечении качества
программного средства. . . . . . . . . . . . . 32
4.2. Определение требований к программному сред-
ству . . . . . . . . . . . . . . . . . . . . . 34
4.3. Спецификация качества программного средства. . 36
4.4. Функциональная спецификация программного сред-
ства . . . . . . . . . . . . . . . . . . . . . 39
4.5. Методы контроля внешнего описания программно-
го средства. . . . . . . . . . . . . . . . . . 40
Литература к лекции 4 . . . . . . . . . . . . . . . 41
Лекция 5. МЕТОДЫ СПЕЦИФИКАЦИИ СЕМАНТИКИ ФУНКЦИЙ . . . . 43
5.1. Основные подходы к спецификации семантики фун-
кций . . . . . . . . . . . . . . . . . . . . . 43
5.2. Метод таблиц решений . . . . . . . . . . . . . 45
5.3. Операционная семантика . . . . . . . . . . . . 46
5.4. Денотационная семантика . . . . . . . . . . . 48
5.5. Аксиоматическая семантика . . . . . . . . . . 50
5.6. Языки спецификаций . . . . . . . . . . . . . . 53
Упражнения к лекции 5 . . . . . . . . . . . . . . . 53
Литература к лекции 5 . . . . . . . . . . . . . . . 54
Лекция 6. АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА . . . . . . 55
6.1. Понятие архитектуры программного средства . . 55
6.2. Основные классы архитектур программных
средств. . . . . . . . . . . . . . . . . . . . 55
6.3. Архитектурные функции . . . . . . . . . . . . 60
6.4. Контроль архитектуры программного средства . . 61
Литература к лекции 6 . . . . . . . . . . . . . . . 61
Лекция 7. РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ И МОДУЛЬНОЕ
ПРОГРАММИРОВАНИЕ . . . . . . . . . . . . . . . 62
7.1. Цель модульного программирования . . . . . . . 62
7.2. Основные характеристики программного модуля . 63
7.3. Методы разработки структуры программы . . . . 65
7.4. Контроль структуры программы . . . . . . . . . 73
Литература к лекции 7 . . . . . . . . . . . . . . . 74
Лекция 8. РАЗРАБОТКА ПРОГРАММНОГО МОДУЛЯ . . . . . . . . 75
8.1. Порядок разработки программного модуля . . . . 75
- 5 -
8.2. Структурное программирование . . . . . . . . 70
8.3. Пошаговая детализация и понятие о псевдокоде. 79
8.4. Контроль программного модуля . . . . . . . . . 84
Литература к лекции 8 . . . . . . . . . . . . . . . 84
Лекция 9. ДОКАЗАТЕЛЬСТВО СВОЙСТВ ПРОГРАММ . . . . . . . 86
9.1. Обоснования программ. Формализация свойств
программ . . . . . . . . . . . . . . . . . . . 86
9.2. Свойства простых операторов . . . . . . . . . 87
9.3. Свойства основных конструкций структурного
программирования . . . . . . . . . . . . . . . 88
9.4. Завершимость выполнения программы. . . . . . . 91
9.5. Пример доказательства свойства программы . . . 92
Литература к лекции 9 . . . . . . . . . . . . . . . 93
Лекция 10. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО СРЕДСТ-
ВА. . . . . . . . . . . . . . . . . . . . . . 94
10.1. Основные понятия. . . . . . . . . . . . . . . 94
10.2. Принципы и виды отладки . . . . . . . . . . . 94
10.3. Заповеди отладки. . . . . . . . . . . . . . . 97
10.4. Автономная отладка модуля . . . . . . . . . . 98
10.5. Комплексная отладка программного средства. 102
Литература к лекции 10. . . . . . . . . . . . . . 105
Лекция 11. ОБЕСПЕЧЕНИЕ КАЧЕСТВА ПРОГРАММНОГО СРЕДСТВА. 106
11.1. Общая характеристика процесса обеспечения ка-
чества программного средства. . . . . . . . 106
11.2. Обеспечение функциональности программного
средства. . . . . . . . . . . . . . . . . . 107
11.3. Обеспечение надежности программного средства 107
Файл скачан с сайта StudIzba.com
При копировании или цитировании материалов на других сайтах обязательно используйте ссылку на источник
Начать зарабатывать