- •Введение Цели и задачи курса «Технология программирования»
- •Классификация программного обеспечения
- •Тема 1.Понятие программного изделия
- •1.1.Основные требования к программному изделию как к продукции производственно-технического назначения
- •1.2.Жизненный цикл программных изделий
- •1.3.Методическая, технологическая, инструментальная и организационная поддержка процесса проектирования программных изделий
- •1.4.Этапы проектирования сложных программных изделий
- •Тема 2.Внешнее проектирование программных изделий
- •2.1.Разработка требований и внешнее проектирование программных изделий
- •2.2.Обеспечение целей создания программных изделий Цели проекта с точки зрения пользователя
- •Цели проекта с точки зрения разработчика
- •2.3.Разработка внешних спецификаций проекта
- •Тема 3.Внутреннее проектирование программных изделий
- •3.1.Понятие модуля. Характеристики качества модулей
- •3.2.Методы проектирования программ
- •Иерархическая декомпозиция и абстрактные машины (метод нисходящей декомпозиции)
- •Программирование на основе принципа пошагового совершенствования
- •Структурное программирование по нисходящему принципу
- •Программирование с использованием пошаговой реорганизации
- •Способы описания программ. Язык проектирования программ
- •Тема 4.Структурированные программы
- •4.1.Блок-схемы и управляющие структуры
- •4.2.Теорема о структурировании
- •4.3.Рекурсивные структурированные программы
- •Тема 5.Методы Доказательства правильности программ
- •5.1.Математический аппарат доказательства Принцип простой индукции
- •Принцип модифицированной простой индукции
- •Принцип обобщенной индукции
- •5.2.Методы доказательства правильности программ Метод индуктивных утверждений
- •Пример доказательства правильности программы методом индуктивных утверждений
- •Тема 6.Рекурсивные программы. Методы доказательства их правильности
- •6.1.Понятие рекурсивных программ. Способы их описания Язык описания рекурсивных программ
- •Примеры рекурсивных программ
- •6.2.Рекурсивные программы работы со списками Списки и операции над ними
- •Примеры программ работы со списками
- •6.3.Примеры доказательства правильности рекурсивных программ
- •Тема 7.Отладка программ
- •7.1.Типичные ошибки в программных комплексах
- •7.2.Задачи отладки программ
- •7.3.Методы разработки тестов Метод эквивалентных разбиений
- •Методы тестирования программ путем покрытия логики
- •Метод функциональных диаграмм
- •Предположения об ошибках
- •7.4.Задачи комплексной отладки программ
- •Библиографический список
Федеральное агентство по образованию
Нижнекамский химико-технологический институт (филиал)
Государственного образовательного учреждения
высшего профессионального образования
«Казанский государственный технологический университет»
Технологии программирования
Текст лекций
2007
Федеральное агентство по образованию
Нижнекамский химико-технологический институт (филиал)
Государственного образовательного учреждения
высшего профессионального образования
«Казанский государственный технологический университет»
Технологии программирования
Текст лекций
Нижнекамск 2007
Составители:
О.В. Ибушева, А.Р. Нигматуллина, Н.Н. Саримов.
Технологии программирования: Текст лекций / Нижнекамский рег. уч.-мет. центр; Сост.: О.В.Ибушева, А.Р.Нигматуллина, Н.Н.Саримов. Нижнекамск, 2007.
Пособие предназначено для обеспечения курса лекций по дисциплине «Технологии программирования» для студентов, обучающихся по специальности 230102 - Автоматизированные системы обработки информации и управления и по направлению подготовки бакалавров 230100 – Информатика и вычислительная техника.
Подготовлено на цикле информационных технологий при кафедре АТПП Нижнекамского химико-технологического института.
Печатается по решению методической комиссии по циклу дисциплин автоматизации и электропривода.
Рецензенты: д. ф.-м. н., профессор КазГУ И.Б.Бадриев,
к. ф.-м. н., доцент КазГУ О.А.Задворнов.
Введение Цели и задачи курса «Технология программирования»
Умение формулировать требования к программным средствам.
Оценивать качество и эффективность программного изделия.
Выбирать программные средства, наиболее соответствующие запросам пользователя.
Научиться современным методам и навыкам проектирования, тестирования, а также сопровождению программного обеспечения.
Классификация программного обеспечения
Программным обеспечением (ПО) вычислительной машины называется совокупность программ и сопровождающей их документации, позволяющих использовать вычислительную машину для решения задач.
Различают системное (общее) и прикладное (специальное) ПО.
Системное ПО включает программы, необходимые для согласования работы всего вычислительного комплекса при решении задач, а также при разработке новых программ.
По функциональному назначению в системном ПО выделяют:
Операционную систему – это комплекс управляющих программ, обеспечивающих функционирование вычислительной машины, включая планирование и управление ресурсами ЭВМ, решение задач по запросам пользователей, управление вводом-выводом данных. Операционные системы можно рассматривать как программное расширение аппаратурной части вычислительной машины.
П од системой программирования понимают комплекс средств для разработки и отладки программ. В систему программирования входят языки программирования, трансляторы, различные обслуживающие программы для редактирования текстов и отладки программ.
Системные обслуживающие программы (утилиты) предназначены для выполнения типовых действий по подготовке носителей информации, обслуживанию файлов и т.д. В ряде случаев утилиты считают частью ОС.
Средства контроля и диагностики – служат для проверки исправности отдельных устройств и локализации выявленных неисправностей.
Прикладное ПО разрабатывается и используется для решения конкретных задач пользователей ЭВМ.
Тема 1.Понятие программного изделия
1.1.Основные требования к программному изделию как к продукции производственно-технического назначения
В современных ЭВМ программы решают самые различные задачи по содержанию и по народнохозяйственному значению. В научно-исследовательских институтах и вузах во многих случаях программы создаются в единственном экземпляре для решения частных исследовательских задач, для ускорения вычислений, моделирования процессов, обработки экспериментального материала и т. д. Такие программы не имеют массового применения и доступны для использования только тем, кто их разработал. Они являются объектами научно-технического творчества и редко становятся промышленными изделиями.
Совершенно иным классом программ являются индустриальные программные средства, которые можно квалифицировать как продукцию производственно-технического назначения. Они представляют собой программы на носителях данных с технической (эксплуатационной и технологической) документацией, разработанные в соответствии с действующими стандартами, прошедшие государственные, межведомственные или ведомственные испытания. Программные средства, принятые в производство, изготавливаются по утвержденной в установленном порядке технологии, должны соответствовать утвержденным техническим условиям и действующей нормативно-технической документации, обеспечиваться гарантиями поставщика.
Программные средства являются непосредственной производительной силой, так как от них в ряде случаев зависят эффективность промышленного производства и качество продукции, создаваемой в технологическом процессе с применением ЭВМ. Характеристики программ влияют на экономические показатели предприятий и отраслей, так как все больше изменяют технологический и технический уровни производств и средств автоматизации. Их качество и функциональные возможности интенсивно воздействуют на качественное преобразование промышленного производства и инженерного труда. В то же время они наиболее гибкая и модернизируемая часть систем, обеспечивающая относительно легкую адаптацию к изменяющимся условиям в процессе развития техники и к особенностям конкретного применения.
Перемещение затрат на программные средства из сферы производства (тиражирования) в область инженерного проектирования и прикладной науки резко повышает актуальность развития технологий разработки программных средств. Расширение фронта работ в этой области привело к разработке ряда технологических систем проектирования и к появлению множества частных средств для автоматизации отдельных технологических операций. Современная индустриальная технология проектирования программ включает в себя комплекс мероприятий, руководящих документов и автоматизированных средств, предназначенных для системного анализа, разработки, отладки, документирования, управления работой специалистов и контроля эксплуатации программ. Средствами автоматизации необходимо обеспечить весь жизненный цикл программного средства, начиная от формулирования исходных требований и кончая завершением промышленного производства и эксплуатацией.