Технология программирования конспект лекций шурыгин в н москва мгуп 2010 с 3 17

Обновлено: 07.07.2024

Документ из архива "Е.А. Жоголев - Лекции по технологии программирования", который расположен в категории " ". Всё это находится в предмете "технологии программирования" из раздела "", которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Онлайн просмотр документа "Е.А. Жоголев - Лекции по технологии программирования"

Текст из документа "Е.А. Жоголев - Лекции по технологии программирования"

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

им. М.В.ЛОМОНОСОВА

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

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

Е.А.Жоголев. Лекции по технологии программирования. - М.: Московский государственный университет им. М.В.Ломоносова, факультет ВМиК, рукопись, 1997.

Copyright ã Е.А. Жоголев, 1994-1997.

Лекция 1. НАДЕЖНОЕ ПРОГРАММНОЕ СРЕДСТВО КАК ПРОДУКТ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ИСТОРИЧЕСКИЙ И СОЦИАЛЬНЫЙ КОНТЕКСТ ПРОГРАММИРОВАНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Программа как формализованное описание процесса обработки данных. Программное средство . . . . . . . . . . . . . . . . . . 9

Неконструктивность понятия правильной программы . . . .10

1.3. Надежность программного средства . . . . . . . . . . . . . . . . . 11

Технология программирования как технология разработки надежных программных средств . . . . . . . . . . . . . . . . . . . . . . 12

1.5. Технология программирования и информатизация общества . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Упражнения к лекции 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Литература к лекции 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Лекция 2. ИСТОЧНИКИ ОШИБОК В ПРОГРАММНОМ СРЕДСТВЕ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Интеллектуальные возможности человека. . . . . . . . . . . . . 18

Неправильный перевод как причина ошибок в программном средстве. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Модель перевода. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.4. Основные пути борьбы с ошибками . . . . . . . . . . . . . . . . . . 22

Литература к лекции 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Лекция 3. ОБЩИЕ ПРИНЦИПЫ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Специфика разработки программных средств . . . . . . . . . . 23

Жизненный цикл программного средства . . . . . . . . . . . . . 24

Понятие качества программного средства . . . . . . . . . . . . . 25

Обеспечение надежности - основной мотив разработки программных средств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Методы борьбы со сложностью . . . . . . . . . . . . . . . . . . . . 28

Обеспечение точности перевода . . . . . . . . . . . . . . . . . . . . 29

Преодоление барьера между пользователем и разработчиком . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Контроль принимаемых решений . . . . . . . . . . . . . . . . . . . 29

Литература к лекции 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Лекция 4. ВНЕШНЕЕ ОПИСАНИЕ ПРОГРАММНОГО СРЕДСТВА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Назначение внешнего описания программного средства и его роль в обеспечении качества программного средства. 31

Определение требований к программному средству . . . 33

Спецификация качества программного средства . . . . . . . 35

4.4. Функциональная спецификация программного средства . 37

4.5. Методы контроля внешнего описания программного средства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Литература к лекции 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Лекция 5. МЕТОДЫ СПЕЦИФИКАЦИИ СЕМАНТИКИ ФУНКЦИЙ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Основные подходы к спецификации семантики функций. 41

Метод таблиц решений . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Операционная семантика . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Денотационная семантика . . . . . . . . . . . . . . . . . . . . . . . . . 47

Аксиоматическая семантика . . . . . . . . . . . . . . . . . . . . . . . 50

Языки спецификаций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Упражнения к лекции 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Литература к лекции 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Лекция 6. АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА . . . . . 54

Понятие архитектуры программного средства . . . . . . . . . 54

Основные классы архитектур программных средств . . . . 54

Архитектурные функции . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Контроль архитектуры программного средства . . . . . . . . 59

Литература к лекции 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Лекция 7. РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ И МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ . . . . . . . . . . . . . . . . . . . . 61

Цель модульного программирования . . . . . . . . . . . . . . . . 61

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

Методы разработки структуры программы . . . . . . . . . . . . 64

Контроль структуры программы . . . . . . . . . . . . . . . . . . . . . 72

Литература к лекции 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Лекция 8. РАЗРАБОТКА ПРОГРАММНОГО МОДУЛЯ. . . . . . . . . 74

Порядок разработки программного модуля . . . . . . . . . . . . 74

Структурное программирование . . . . . . . . . . . . . . . . . . . . 75

Пошаговая детализация и понятие о псевдокоде. . . . . . . . 78

Контроль программного модуля . . . . . . . . . . . . . . . . . . . . . 83

Литература к лекции 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Лекция 9. ДОКАЗАТЕЛЬСТВО СВОЙСТВ ПРОГРАММ . . . . . . . . 84

Обоснования программ. Формализация свойств программ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

9.2. Свойства простых операторов . . . . . . . . . . . . . . . . . . . . . . 85

Свойства основных конструкций структурного программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Завершимость выполнения программы. . . . . . . . . . . . . . . . 88

Пример доказательства свойства программы . . . . . . . . . . 89

Упражнения к лекции 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Литература к лекции 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Лекция 10. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО СРЕДСТВА. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Основные понятия. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Принципы и виды отладки . . . . . . . . . . . . . . . . . . . . . . . . 92

Заповеди отладки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Автономная отладка модуля . . . . . . . . . . . . . . . . . . . . . . . 96

Комплексная отладка программного средства . . . . . . . 100

Литература к лекции 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Лекция 11. ОБЕСПЕЧЕНИЕ ФУНКЦИОНАЛЬНОСТИ И НАДЕЖНОСТИ ПРОГРАММНОГО СРЕДСТВА . . . . . . . . . . . . . . . . 104

Функциональность и надежность как обязательные критерии качества программного средства . . . . . . . . . . . . . . . . . 104

11.2. Обеспечение завершенности программного средства. . 104

11.3. Обеспечение точности программного средства . . . . . . . 106

11.4. Обеспечение автономности программного средства. . . 106

11.5. Обеспечение устойчивости программного средства . . . 107

11.6. Обеспечение защищенности программных средств . . . 108

Литература к лекции 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Лекция 12. ОБЕСПЕЧЕНИЕ КАЧЕСТВА ПРОГРАММНОГО СРЕДСТВА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Общая характеристика процесса обеспечения качества программного средства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

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

Обеспечение эффективности программного средства. . 117

Обеспечение сопровождаемости программного средства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Обеспечение мобильности программного средства . . . 119

Литература к лекции 12. . . . . . . . . . . . . . . . . . . . . . . . . . 120

Лекция 14. АТТЕСТАЦИЯ ПРОГРАММНОГО СРЕДСТВА . . . . 118

Назначение аттестации программного средства . . . . . . 118

Виды испытаний программного средства . . . . . . . . . . . 118

Методы оценки качества программного средства . . . . 120

Литература к лекции 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Лекция 15. ОЪЕКТНЫЙ ПОДХОД К РАЗРАБОТКЕ ПРОГРАММНЫХ СРЕДСТВ

Лекция 16. КОМПЬЮТЕРНАЯ ПОДДЕРЖКА РАЗРАБОТКИ И СОПРОВОЖДЕНИЯ ПРОГРАММНЫХ СРЕДСТВ

Лекция 17. ОБЯЗАННОСТИ И ОТВЕТСТВЕННОСТЬ ПРОГРАММИСТОВ. ИНТЕЛЛЕКТУАЛЬНАЯ СОБСТВЕННОСТЬ.

Технология - совокупность производственных процессов в определенной отрасли производства, а также научное описание способов производства.

С.И. Ожегов. Словарь русского языка. - М.: Советская энциклопедия, 1975

Настоящее учебное пособие представляет собой расширение и новую редакцию конспекта лекций , читавшихся в течении ряда лет на факультете Вычислительной математики и кибернетики МГУ:

Е.А. Жоголев. Введение в технологию программирования (конспект лекций). - М.: "ДИАЛОГ-МГУ", 1994.

По содержанию оно полностью соответствует обновленной программе курса "Технология программирования", утвержденного для студентов программистских кафедр.

Хотя понятие технологии в русском языке имеет ясное определение, понятие технологии программирования требует некоторого уточнения прежде всего из-за необходимости определения, что следует считать продуктом этой технологии. Кроме того появление этого термина в русскоязычной научной литературе вызвано в значительной степени не всегда адекватным переводом иноязычной литературы по программированию, что привело к различным определениям (толкованиям) этого понятия. Это уточнение делается в первой лекции настоящего курса.

Тем не менее уже сейчас можно сказать (в соответствии с общепринятым в русском языке пониманием термина "технология"), что предметом настоящего курса лекций является изучение процессов, приводящих к созданию требуемого программного "продукта". В курсе обсуждаются вопросы, из каких процессов (которые можно назвать технологическими) состоит эта технология, на каких принципах они строятся, какие методы и инструментальные средства в них используются.

Содержание курса сложилось в результате критического анализа многих научных источников, часто противоречивших друг другу, с учетом опыта программирования автора настоящего курса, а также

результатов исследований, проведенных на кафедре системного программирования факультета ВМиК МГУ (в частности, по проблеме качества программного обеспечения). Расширение пособия по сравнению с ранее изданным было связано с включением в обновленную программу курса вопросов обеспечения качества программных продуктов и их документирования, объектного подхода к их разработке, компьютерной технологии и компьютерной поддержки разработки программных продуктов, а также социально-этических вопросов программирования.

Курс рассчитан на студентов, уже прослушавших общий курс по программированию и умеющих работать на компьютере. Его целью является помочь лицам, приступающим к разработке больших программных "продуктов", рационально организовать свой программистский труд.

Математика делает то, что можно, так, как нужно, тогда как информатика делает то, что нужно, так, как можно.

Лекция 1.

НАДЕЖНОЕ ПРОГРАММНОЕ СРЕДСТВО КАК ПРОДУКТ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ИСТОРИЧЕСКИЙ И СОЦИАЛЬНЫЙ КОНТЕКСТ ПРОГРАММИРОВАНИЯ

Вы можете добавить книгу в избранное после того, как авторизуетесь на портале. Если у вас еще нет учетной записи, то зарегистрируйтесь.

Ссылка скопирована в буфер обмена

Вы запросили доступ к охраняемому произведению.

Это издание охраняется авторским правом. Доступ к нему может быть предоставлен в помещении библиотек — участников НЭБ, имеющих электронный читальный зал НЭБ (ЭЧЗ).

Если вы являетесь правообладателем этого документа, сообщите нам об этом. Заполните форму.

Технология программирования. Лекции

Надежное программное средство как продукт технологии программирования. Исторический и социальный контекст программирования.
Источники ошибок в программных средствах.
Общие принципы разработки программных средств.
Внешнее описание программного средства.
Методы спецификации семантики функций.
Архитектура программного средства.
Разработка структуры программы и модульное программирование.
Разработка программного модуля.
Доказательство свойств программ.
Тестирование и отладка программного средства.
Обеспечение функциональности и надежности пс.
Обеспечение качества программного средства.
Документирование программных средств.
Управление разработкой и аттестация программного средства.
Оъектный подход к разработке программных средств.
Компьютерная поддержка разработки и сопровождения программных средств.
литература к лекцииям.
Приложение.
Вопросы к письменному экзамену.
Приложение.
Основные вопросы к письменному экзамену.
Приложение.
Задания на самостоятельную работу (1-й семестр).

Жоголев Е.А. Технология программирования

  • формат pdf
  • размер 1.72 МБ
  • добавлен 31 октября 2009 г.

Жоголев Е. А. Технология программирования. - М. научный мир, 2004, с.216 В основу книги положен курс лекций по технологии проектирования, читавшихся автором в течение ряда лет студентам фак-та Вычислительной матемитики и кибернетики МГУ. В ней обсуждается совокупность процессов, приводящая к созданию требуемого программного продукта (ПС). Рассматриваются наиболее распространненые приемы и методы, исользуемые в таких процессах, а также возникающи.

Камаев В.А. Технологии программирования: Учебник

  • формат djvu
  • размер 3.69 МБ
  • добавлен 28 сентября 2010 г.

Кручинин В.В. Алгоритмические языки и технология программирования

  • формат pdf
  • размер 2.03 МБ
  • добавлен 03 мая 2010 г.

Учебное пособие Томского межвузовского центра дистанционного образования, ТУСУР (Томский университет систем управления и радиоэлектроники). Томск, 2001. 126 стр. Содержание: Основы алгоритмизации Язык программирования С (лексемы, синтаксические структуры, выражения, операторы, указатели, программы и подпрограммы и др. ) Механизм реализации языков программирования Технология создания исполняемой программы

Методичка по лабораторной работе №2

  • формат doc
  • размер 21.06 КБ
  • добавлен 27 мая 2005 г.

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

Методичка по лабораторной работе №3

  • формат doc
  • размер 10.55 КБ
  • добавлен 28 мая 2005 г.

Автор неизвестен. Методические указания к лабораторной работе программирование алгоритмов обработки файловой информации по дисциплине Технология программирования. Усвоение студентами приемов программирования работы с файлами и обработки файловой информации.

Мукасеева В.Н., Стоянов В.В. Методичка по лабораторным работам

  • формат doc
  • размер 30.38 КБ
  • добавлен 17 июля 2008 г.

Объектно-ориентированное программирование: Лабораторный практикум по дисциплине Технология программирования. /Уфимск. гос. авиац. техн. ун-т; Сост.: В. Н. Мукасеева, В. В. Стоянов. - Уфа, 2007 - 29 с. Содержатся сведения, касающиеся разработке классов на языке С++. Цикл лабораторных работ посвящен технологии объектно-ориентированного программирования на языке C++ в интегрированной среде разработки фирмы Microsoft Visual Studio v.6 – v .8. Изло.

Новиков Ф.А. Учебно-методическое пособие по дисциплине Технологические подходы к разработке программного обеспечения

  • формат pdf
  • размер 1.64 МБ
  • добавлен 25 июля 2011 г.

СПб.: СПбГУ ИТМО, 2007. - 137 с. В первой теме рассматривается сам предмет дисциплины – технология программирования – с самых общих позиций. Здесь же вводится разделение технологии программирования на три составляющих, в соответствии с которой строится изложение курса. Во второй теме вводится понятие жизненного цикла программы – ключевой абстракции, вокруг которой строятся все известные в настоящее время технологические подходы к программировани.

Сборник уроков 1-го курса Компьютерной Академии ШАГ

  • формат zip
  • размер 79.75 МБ
  • добавлен 31 октября 2009 г.

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

  • формат doc
  • размер 1.21 МБ
  • добавлен 18 января 2009 г.

Содержание. Введение. Технология программирования. Основные понятия и подходы. Технология программирования и основные этапы ее развития. Жизненный цикл и этапы разработки программного обеспечения. Постановка и алгоритмизация задач. Понятие алгоритма. Способы описания алгоритмов. Структурные схемы алгоритмов. Основы языка. Алфавит языка. Структура программы. Основные функции среды турбо паскаль. Функциональные клавиши. Текстовый редактор среды. Сч.

Чернев Д.А. Лекции по дисциплине Технология программирования

  • формат chm
  • размер 4.39 МБ
  • добавлен 05 ноября 2011 г.

Настоящее учебное пособие представляет собой расширение и новую редакцию конспекта лекций, читавшихся в течении ряда лет на факультете Вычислительной математики и кибернетики МГУ.По содержанию оно полностью соответствует обновленной программе курса ''Технология программирования'', утвержденного для студентов программистских кафедр.Хотя понятие технологии в русском языке имеет ясное определение, понятие технологии программирования требует некоторого уточнения прежде всего из-за необходимости определения, что следует считать продуктом этой технологии. Кроме того появление этого термина в русскоязычной научной литературе вызвано в значительной степени не всегда адекватным переводом иноязычной литературы по программированию, что привело к различным определениям (толкованиям) этого понятия. Это уточнение делается в первой лекции настоящего курса.Тем не менее уже сейчас можно сказать (в соответствии с общепринятым в русском языке пониманием термина ''технология''), что предметом настоящего курса лекций является изучение процессов, приводящих к созданию требуемого программного ''продукта''. В курсе обсуждаются вопросы, из каких процессов (которые можно назвать технологическими) состоит эта технология, на каких принципах они строятся, какие методы и инструментальные средства в них используются.Содержание курса сложилось в результате критического анализа многих научных источников, часто противоречивших друг другу, с учетом опыта программирования автора настоящего курса, а также результатов исследований, проведенных на кафедре системного программирования факультета ВМиК МГУ (в частности, по проблеме качества программного обеспечения).

* Конвертація файлу може порушити форматування оригіналу. По-можливості завантажуйте файл в оригінальному форматі.

Читайте также: