0. Введение | 0.1 |
0.1. Содержание дисциплины | |
Высокоуровневые методы информатики и программированияПредметом изучения являются: - Новейшие направления в области создания технологий программирования,- Законы эволюции программного обеспечения,- Создание модульных программ,- Элементы теории модульного программирования,- Объектно-ориентированное программирование,- Объектный тип данных,- Переменные объектного типа,- Конструкторы и деструкторы,- Инкапсуляция, наследование, полиформизм,- Классы и объекты,- Особенности программирования в оконных операционных средах,- Основные стандартные модули, обеспечивающие работу в оконной операционной системе,- Интегрированная среда программирования,- Система окон разработки, система меню,- Основы визуального программирования,- Компоненты и их использование,- Размещение нового компонента. Реакция на событие | Объем - 52 часа2 семестр:лекции - 34лаб. работы - 18-----------------------------всего - 52 экзамен курсовая работа экзамен |
0.2. Список литературы | |
Основная:1. Петров А. и др. Вычислительная техника и программирование. Высшая школа, 1990.2. Епанешников А.. М. Епанешников В. А. Программирование в среде TURBO PASCAL 7.0. Диалог МИФИ, 1995г.3. Р. Баас, М. Фервай, Х. Гюнтер. Delphi 4. Пер. с нем. под ред. А. Шевцова. Для пользователя BNV, Киев 1999.4. В. Гофман, А. Хоменко. Delphi 5. Наиболее полное руководство. СПБ: БХВ, 2000 Дополнительная:5. Информатика, Учебник /Под ред. Макаровой Н.В. Москва, Финансы и статистика, 1997.6. Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. Мир, 1985. | УчебникУчебно-справочное изданиеУчебное пособие.Учебное пособие.УчебникПособие по языку. |
0.3 Программные продукты и их основные характеристики | 0.2 |
0.3.1. Понятия программного обеспечения | |
Программирование – это сфера действий, направленная на создание программ.Программа – это последовательность команд компьютера, приводящая к решению задачи.Приложение – это программная реализация на компьютере решения задачи.Программное обеспечение (ПО) - это программные продукты и техническая документация к ним.Программный продукт (ПП)– это комплекс взаимосвязанных программ, предназначенный для реализации определенной задачи массового спроса.Программы являются критерием развития вычислительной техники.Проблемы, возникающие при создании программных продуктов:1. Быстрая смена вычислительной техники и алгоритмических языков.2. Не стыковка машин друг с другом (VAX и IBM).3. Отсутствие полного взаимопонимания между заказчиком и исполнителем к разработанному программному продукту. | Программирование может рассматриваться как наука, так и искусствоПрограмма результат интеллектуального труда, для которого характерно творчество. Программы предназначены для машинной реализации задач.Задача – это проблема, подлежащая решению с помощью технических средств, а приложение (синоним программа) – реализованное на компьютере решение данной задачи.Программы делятся на утилиты (для нужд разработчиков) и программные продукты (для удовлетворения потребностей пользователя)В настоящее время на мировом рынке господствуют ЭВМ разного типа: VAX и IBM и языки, совместимые с этими ЭВМ. Программы, написанные для одной машине, не всегда подходят к другой.Для разработчика это творчество, для заказчика это удобный инструмент.В Японии 60% трудоспособного населения занимается программированием |
0.3.2 Характеристики качества ПО. | |
Перечень показателей качества:- документированность,- эффективность,- простота использования,- удобство эксплуатации,- мобильность,- совместимость,- испытуемость,- стоимость. | Критерии оценки качества программы. Программа должна:1. работать согласно техническому заданию (и это легко проверяется);2. быть эффективна по быстродействию и памяти (или быстрее работать или занимать меньше памяти); 3. широко использоваться и быть доступной (любой грамотный программист должен в программе разобраться и ее эксплуатировать, модернизировать как под новую задачу, так и под новую версию ОС);4. быть приспособлена к выявлению ошибок (достаточно надежна в процессе расчета получать достоверные результаты);5. должна быстро разработана и отлажена с минимальными трудозатратами. |
0.4. Классификация и сравнение языков программирования | 0.3 |
ЭВМ исполняет программу в машинных кодах.Составляют программу люди на удобном для себя языке.Различают языки:- низкого уровня (машинно-ориентированные),- высокого уровня (на зависят от типа ЭВМ).Языки высокого уровня бывают:- процедурно-ориентированные (Паскаль),- проблемно-ориентированные (MathCAD),- объектно-ориентированные (С++).Трансляторы переводят программу с языка программирования в машинные коды.Виды трансляторов:Интерпретатор – построчный перевод и исполнение,Компилятор – перевод всей программы с последующим исполнением. | Программа для ЭВМ занимается преобразованием одних данных в другие.На английском языке.Зависит от типа ЭВМ. Например, Ассемблер.Не зависят от типа ЭВМ.Например, Паскаль.Например, MathCAD.Например, С++И. - Построчный перевод и исполнение. Медленно, но удобно при отладке.К. - Перевод всей программы с последующим исполнением. Неудобно при отладке, но быстрое исполнение готовой программы |
Примеры языков высокого уровня:Fortran = FormulaTranslator-----------------------------------------BASIC = Beginner’sAll-perposeSymbolicInstructionCode----------------------------------------COBOL = CommonBusinessOrientedLanguage-----------------------------------------Algol = AlgorithmicLanguage-------------------------------Pascal-------------------------------С,С++-------------------------------Ada-------------------------------Lisp = ListProgramming-------------------------------Prolog= ProgrammingLogically | Для математических расчетов. Отслов - транслятор формул.Универсальный простой язык.Многоцелевой мнемокод для начинающих. Язык для бизнеса. По первым буквам слов английской фразы - язык, ориентированный на обычный бизнес.Язык для описания алгоритмов.Универсальный современный структурированный язык. Назван в честь Блеза Паскаля.Языки для системного программирования.Для решения задач в реальном времени. Назван в честь программистки Ады Лавлейс.Язык обработки списков в системах искусственного интеллекта.Язык логического программирования для систем искусственного интеллекта. |
0.5. Проектирование программных продуктов (ПП) | 0.4 |
0.5.1. Классификация методов проектирования ПП | |
ПризнакиНеавтоматизированное проектирование алгоритмов и программ используется при разработке небольших по трудоемкости и структурной сложности ПП. Автоматизированное проектирование используется в крупных фирмах при разработке определенного класса ПП большого коллектива разработчиков..Структурное проектирование – это последовательная декомпозиция, целенаправленное разбиение на отдельные составляющие.Структурное проектирование включает в себя:- нисходящее проектирование ("сверху вниз"),- модульное программирование,- структурное программирование (кодирование).Информационное моделирование – построение комплекса взаимосвязанных моделей данных.Объектно-ориентированный подход основан на:- выделении классов объектов;- установлении свойств объектов и методов их обработки;- создании иерархии классов, наследовании свойств объектов и методов их обработки.Каждый объект объединяет данные и программу обработки этих данных и относится к определенному классу.Основная цель ООП - преодолеть следующие недостатки проектирования “сверху вниз”:- недостаточное внимание к структурам данных,- слабая связь структур данных с процессами их обработки. | Проектирование алгоритмов и программ – наиболее ответственный этап жизненного цикла ПП.Традиционное неавтоматизированное проектирование алгоритмов и программ используется при разработке небольших по трудоемкости и структурной сложности ПП, не требующих большого числа разработчиков. ПП имеют прикладной характер.Автоматизированное проектирование алгоритмов и программ возникло с необходимостью уменьшить затраты на проектные работы, сократить сроки их выполнения, создать типовые "заготовки", многократно тиражируемых для различных разработок, координации работ большого коллектива разработчиков Методология –это подходы к проектированиюНачало развития падает на 60-е годы.Метод нисходящего проектирования предполагает последовательное разложение общей функции обработки данных на простые функциональные элементы ("сверху вниз").В основе Информационного моделирования лежит положение об определяющей роли данных при проектировании алгоритмов и программ.Структурное программирование основано на модульной структуре программного продукта и базовых алгоритмических структурах.Кроме того, ООП позволяет резко сократить объем и трудоемкость подготовки программ, имеющих дело с множеством связанных друг с другом объектов.Объектно-ориентированный анализ – это выявление объектов, определение свойств и методов обработки объектов, установление их взаимосвязей. ООП процесс объектной декомпозиции и представления с использованием моделей данных проектируемой системы на логическом и физическом уровнях. |
0.5.2. Этапы создания ПП | 0.5 |
1. Составление технического задания на програм-мирование. На этом этапе требуется:· определить тип ОС - MS DOS, Windows, Windows NT,· оценить необходимость сетевого варианта работы программы,· определить необходимость разработки программы,· обосновать необходимость работы с БД под управлением СУБД,· выбрать методы решения задачи,· разработать обобщенный алгоритм решения комплекса задач и структуры данных,· определить требования к интерфейсу пользователя.2. Технический проект. На этом этапе выполняется:· разработка детального алгоритма обработки данных,· определение состава общесистемного программного обеспечения, включающего базовые средства (ОС, модель БД, электронные таблицы), · разработка внутренней структуры ПП, образованной отдельными программными модулями,· выбор средств разработки программных модулей.3. Рабочая документация (рабочий проект). На этом этапе осуществляется:· разработка программных модулей,· программирование или создание программного кода,· отладка программного продукта,· испытание работоспособности программных модулей и базовых программных средств,· подготовка контрольного примера, для проверки соответствия ПП заданию, · создание эксплуатационной документации на программный продукт:– Описание применения; – Руководство пользователя;– Руководство программиста (оператора).– Обучающей системы (для ПП массового применения)4. Ввод в действие. Готовый программный продукт сначала проходит опытную эксплуатацию, а затем сдается в промышленную эксплуатацию. | Создание программных продуктов трудоемкий процесс, основанный на определенной технологии. которую можно переносить на различные платформы.Разрабатывают функциональную структуру алгоритма или состав объектов, определяют требования к комплексу технических средств системы.Пример: для создания MS DOS- приложений может быть использован язык программирования Visual Basic for DOS Standard, Fortran, Visual C++ for Windows. Если необходима переносимость программ на другие ЭВМ, выбирается среда Windows NT. При разработке программ, работающихв среде Windows, возможно применение технологии OLE, для создания приложений.Приложение может работать с БД различных СУБД. - характеристика программного изделия с указанием сферы его применения;- детальное описание функциональных возможностей и технологии работы с программным продуктом;- указывает особенности установки программного продукта.Тиражирование и распространение ПП |
0.6. Структура программных продуктов ( ПП ). | 0.6 |
Архитектура ПП представляет собой совокупность и взаимосвязь программных модулей. Модуль – это самостоятельная часть программы,имеющая определенное назначение и обеспечивающая заданные функции обработки автономно от другихпрограммных модулей. Программный продукт обладает внутренней структурой. Структуризация программы выполняется для удобства– разработки,– программирования,– отладки,– внесения изменения в ПП..Структуризация ПП преследует следующие цели:· Распределить работы по исполнителям, обеспечив их загрузку и требуемые сроки разработки;· Построить календарные графики проектных работ и осуществлять их координацию в процессе создания программных изделий;· Контролировать трудозатраты и стоимость проектных работ.. . .. . .. . . Среди множества модулей различают:· Г о л о в н о й модуль – управляет запуском ПП;· У п р а в л я ю щ и й модуль – обеспечивает вызов других модулей на обработку;· Р а б о ч и е модули - выполняют функции обработки· С е р в и с н ы е модули и библиотеки, утилиты –осуществляют обслуживающие функции. Каждый модуль оформляется как самостоятельно хранимый файл. Для функционирования ПП необходимоналичие программных модулей в полном составе. | В большей степени программные продукты не являются монолитом и имеют конструкцию построения – совокупность программных модулей. ПП обладает внутренней структурой, что обеспечивает удобство разработки, программирование, отладку и внесение изменений в ПП. Программные комплексы большой алгоритмической сложности разрабатываются коллективом разработчиков ( 2-15 человек ). Управлять разработкой программ можно при научной основе.Структурное разбиение программ на отдельные составляющие служит основой и для выбора средств их создания. При создании ПП выделяются многократно используемые модули, проводится их типизация и унификация, за счет чего сокращаются сроки и трудозатраты на разработку ПП в целом.Некоторые ПП используют модули из готовых библиотек стандартных подпрограмм, процедур, функций, объектов, методов обработки данных. На Рис. Приведена типовая структура ПП, состоящая из отдельных программных модулей и библиотек процедур, встроенных функций, объектов.Существует в единственном числе.В работе ПП активизируются необходимые программные модули. Управляющие модули задают последовательность вызова на выполнение очередного модуля. Информационная связь модулей обеспечивается за счет использования общей БД либо межмодульной передачиданных через переменные обмена. Структура ППП многомодульная. |
0.7.Проектирование интерфейса пользователя | 0.7 |
0.7.1. Диалоговый режим | |
Большинство ПП работают в Диалоговом режиме. Состав диалоговых систем:· Меню – пользователю предлагается выбор альтернативных функций обработки из фиксированного перечня;Меню может содержать вложенные подменю.· Действия запрос-ответ – фиксированный перечень возможных значений, выбираемых из списка или ответы типа Да/Нет;· Запроспо формату - с помощью ключевых слов, фраз.Диалоговый процесс управляется согласно созданному сценарию, для которого определяются:· Момент начала диалога;· Инициатор диалога – человек или ПП;· Параметры и содержание диалога – сообщения, состав и структура меню, экранные формы;· Реакция ПП на завершение диалога.Для создания диалогового процесса и интерфейса пользователя используют объектно-ориентированные средства разработки программ (Delphi).В их составе содержатся:· Построители меню (для создания главного меню и вложенного подменю);· Конструктор экранных форм (для разработки форматов экранного ввода и редактирования данных). Диалоговые окна содержат элементы управления:· Тексты сообщения;· Поля ввода информации пользователя;· Списки возможных альтернатив для выбора;· Кнопки, переключатели и т.п. | В диалоговом режиме под воздействием пользователя осуществляется запуск функций обработки, изменение свойств объектов, производится настройка – параметров выдачи информации на печать и т.п. Меню могут быть иерархическим и содержать вложенные подменю следующего уровня.- Выставить панели инструментов.- или путем заполнения экранной формы с регламентированным по составу и структуре набором реквизитов осуществляется подготовка сообщений: "Выполнили не допустимую операцию"Описание сценария диалога выполняют блок-схемы, специализированные объектно-ориентированные языки построения сценариев.ООТехнологии, включают в себя специальные языки программирования и инструментальные средства разработки пользовательского интерфейса.Возможны настройки главных меню, создание системы подсказок с помощью встроенных средств и языков программирования. |
0.7.2. Графический интерфейс пользователя | Реализуется для ПП, |
Обязательный компонент большинства современных ПП.Требования к графическому интерфейсу:1. Содержать привычные и понятные пользователю пункты меню, соответствующие функциям обработки;2. Ориентироваться на пользователя, который общается с программой на внешнем уровне взаимодействия;3. Удовлетворять правилу "шести" – в одну линейку меню включать не более 6 понятий, каждое из которых содержит не более 6 опций;4. Сохранять стандартизированное назначение и местоположение на экране графических объектов. | работающих в среде Windows.К нему предъявляются высокие требования с инженерной и художественной стороны разработки.Строится в виде системы ниспадающих меню с использованием в качестве средства манипуляции мыши и клавиатуры. С помощью интерфейса пользователь работает с экранными формами, содержащими объекты управления, панели инструментов с пиктограммами режимов и команд обработки. |
0.8. Структурное проектирование и программирование | 0.8 |
Структурное проектирование включает в себя:- нисходящее проектирование ("сверху вниз"),- модульное программирование,- структурное программирование. | |
0.8.1.Нисходящее проектирование | |
Метод предполагает последовательное разложение функции обработки данных на простые функциональные элементы ("сверху вниз").В результате строится функциональная структура алгоритма (ФСА) приложения, в которой отражаются:· цели предметной области (цель-подцель);· состав приложений (задач обработки), обеспечивающих реализацию поставленных целей;· характер взаимосвязи приложений с их основными характеристиками;· функции обработки данных; Функциональная структура приложения.. . . . . . . . . . . . . По частоте использования функции делятся на:· однократно выполняемые;· повторяющиеся. | В результате строится иерархическая схема, которая отражает состав и взаимоподчиненность отдельных функций. Она носит название функциональная структура алгоритма (ФСА) приложения.Подобная структура отражает состав и взаимосвязь функций обработки информации для реализации приложений, не раскрывая логику выполнения каждой отдельной функции.Разложение должно носить строго функциональный характер, т.е. отдельный элемент ФСА описывает законченную содержательную функцию обработки информации, которая предполагает определенный способ реализации на программном уровне.Функции ввода/вывода информации отделяют от функций вычислительной или логической обработки данных.Некоторые функции например Ф2, ФМ далее неразложимы на составляющие, они предполагают непосредственную программную реализацию. Другие функции Ф2… могут быть представлены в виде структурного объединения более простых функций, например Ф11, Ф12 .. Для всех функций-компонентов осуществляется самостоятельная программная реализация, составные функции типа Ф1, ФМ реализуются как программные модули, управляющие функциями-компонен-тами, например, в виде программ-меню. |
0.8.2. Модульное программирование | 0.9 |
Модуль представляет собой совокупность логически связанных элементов, предназначенных для использования другими модулями и программами.Модули предназначены для хранения готовых программ. Модуль сам по себе не является выполняемой программой – его объекты используются другими программными единицами (процедурами, функциями). Модуль имеет:· один вход и один выход – на входе программный модуль получает определенный набор исходных данных, выполняет обработку данных и возвращает один набор результатных данных, т.е. реализует принципIPO (Input – Process – Output) – вход-процесс-выход;· функциональную завершенность – модуль выполняет перечень операций для реализации каждой отдельной функции в полном составе, достаточных для завершения начатой обработки;· логическую независимость – результат работы модуля зависит только от исходных данных, и не зависит от работы других модулей;· слабые информационные связи с другими программ- ными модулями – обмен информации между модулями должен быть по возможности минимизирован;· обозримый по размеру и сложности программный элемент. Каждый модуль состоит из:Спецификации – правила использования модуля иТела – способ реализации процесса обработки. Модульная структура приложения.Принцип модульного программирования ПП:1. определение состава и подчиненность функций, 2. определение набора программных модулей, реализующих эти функции. При составлении алгоритма необходимо учитывать:· Каждый модуль вызывается на выполнение вышестоящим модулем и, закончив работу, возвращает управление вызвавшему его модулю;· Принятие основных решений в алгоритме выносится на максимально «высокий» по иерархии уровень;· Для использования одной и той же функции в разных местах алгоритма создается один модуль, который вызывается на выполнение по мере необходимости. Функционально-модульная схема (ФМС).Функция 1 и Функция 2 выполняются с помощью одного и того же программного Модуля.Функция 3 реализуется одним программным модулем.Функция 4 – в виде последовательности выполненияПрограммных Модулей (2, 3 . . . p).Функция 5 – с помощью иерархии связанных модулей. Алгоритмы большой сложности представляются с помощью схем двух видов:· Обобщенной схемы алгоритма – раскрывает общий принцип функционирования алгоритма и основные логические связи между отдельными модулями:· Детальной схемы алгоритма – представляет содер- жание каждого элемента обобщенной схемы с ис- пользованием управляющих структур в блок-схемах и алгоритмических языков высокого уровня. | Модульное программирование основано на понятии модуля.Все программные ресурсы модуля можно разбить на две части:· Объекты, прямо предназначенные для использования другими программами или модулями;· Объекты рабочего характера. Свойства модуля.Т.о. Модули содержат:-определение доступных для обработки данных,-операции обработки данных,-схемы взаимосвязи с другими модулями.Принцип модульного программирования ПП во многом сходны с принципами нисходящего проектирования:Функции верхнего уровня обеспечивается главным модулем; он управляет выполнением нижестоящих функций, которым соответствуют подчиненные модули. 10В результате детализации алгоритма создается Функционально-модульная схема алгоритма приложения, которая является основой для программирования. Состав и вид программных модулей, их назначение и характер использования в программе в значительной степени определяются инструментальными средствами. Например, применительно к средствам СУБД отдельными модулями могут быть:Экранные формы ввода и редактирования информации БД;Отчеты генератора отчетов;Макросы;Стандартные процедуры обработки информации;Меню, обеспечивающее выбор функции обработки и др.Алгоритм – формальное описание способа решения задачи путем разбиения ее на элементарные операции. Алгоритмическое программирование – это разбиение программы на последова тельность модулей, каждый из которых выполнят одно или несколько действий. Алгоритм на выбранном языке програм мирования записывается с помощью команд описания данных. |
0.8.3. Структурное программирование | |
Основано на модульной структуре ПП и типовых управляющих структурах алгоритмов обработки данных различных программных модулей.Типы управляющей структуры:· Последовательность;· Альтернатива (условие выбора);· Цикл. | Наиболее часто детально проработанные алгоритмы изображаются в виде блок схемы согласно требованиям структурного программирования, при их разработке используются условные обозначения согласно ГОСТа («следование», «ветвление», «цикл»). |
1.0. Интегрированная среда разработки ( I DE ) | 11 |
1.1 Основные характеристики. | Integrated Development Environment. |