Для студентов МГУ им. Ломоносова по предмету Технология программированияБилеты и ответы к нимБилеты и ответы к ним 2019-05-11СтудИзба

Ответы: Билеты и ответы к ним

Описание

Описание файла отсутствует

Характеристики ответов (шпаргалок)

Учебное заведение
Семестр
Просмотров
90
Скачиваний
5
Размер
263,96 Kb

Список файлов

LECTP13N

Возможно не удалось распознать кодировку файла

LECTP14N

Возможно не удалось распознать кодировку файла

Лекция 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 предназначена для поддержки всех процессов разработки и

сопровождения в течение всего жизненного цикла ПС и ориентирова-

на на коллективную разработку больших программных систем с длин-

ным жизненным циклом. Для таких систем стоимость сопровождения

LECTTP

Возможно не удалось распознать кодировку файла

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. М.В.ЛОМОНОСОВА

Факультет вычислительной математики и кибернетики

Е.А.Жоголев

ЛЕКЦИИ ПО ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

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

При копировании или цитировании материалов на других сайтах обязательно используйте ссылку на источник

Картинка-подпись
Хочешь зарабатывать на СтудИзбе больше 10к рублей в месяц? Научу бесплатно!
Начать зарабатывать

Комментарии

Поделитесь ссылкой:
Рейтинг-
0
0
0
0
0
Поделитесь ссылкой:
Сопутствующие материалы
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5139
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее