Рефераты

Лекции по высокоуровневым методам информатики и программированию

Лекции по высокоуровневым методам информатики и программированию

|0. Введение |0.1 |

|0.1. Содержание дисциплины | |

|Высокоуровневые методы информатики и | |

|программирования |Объем - 52 часа |

| |2 семестр: |

|Предметом изучения являются:[pic] |лекции - 34 |

| |лаб. работы - 18 |

|Новейшие направления в области создания |----------------------------- |

|технологий программирования, |всего - 52 |

|Законы эволюции программного обеспечения, |экзамен |

|Создание модульных программ, |курсовая работа |

|Элементы теории модульного программирования, |экзамен |

|Объектно-ориентированное программирование, | |

|Объектный тип данных, | |

|Переменные объектного типа, | |

|Конструкторы и деструкторы, | |

|Инкапсуляция, наследование, полиформизм, | |

|Классы и объекты, | |

|Особенности программирования в оконных | |

|операционных средах, | |

|Основные стандартные модули, обеспечивающие | |

|работу в оконной операционной системе, | |

|Интегрированная среда программирования, | |

|Система окон разработки, система меню, | |

|Основы визуального программирования, | |

|Компоненты и их использование, | |

|Размещение нового компонента. Реакция на событие| |

| | |

|0.2. Список литературы | |

|Основная: | |

|Петров А. и др. Вычислительная техника и |Учебник |

|программирование. Высшая школа, 1990. | |

|Епанешников А.. М. Епанешников В. А. |Учебно-справочное издание |

|Программирование в среде TURBO PASCAL 7.0. | |

|Диалог МИФИ, 1995г. | |

|Р. Баас, М. Фервай, Х. Гюнтер. Delphi 4. Пер. с |Учебное пособие. |

|нем. под ред. А. Шевцова. Для пользователя BNV, | |

|Киев 1999. |Учебное пособие. |

|В. Гофман, А. Хоменко. Delphi 5. Наиболее полное| |

|руководство. СПБ: БХВ, 2000 | |

|Дополнительная: | |

|Информатика, Учебник /Под ред. Макаровой Н.В. |Учебник |

|Москва, Финансы и статистика, 1997. | |

|Ван Тассел Д. Стиль, разработка, эффективность, |Пособие по языку. |

|отладка и испытание программ. Мир, 1985. | |

| | |

| 0.3 Программные продукты |0.2 |

|и | |

|их основные характеристики | |

|0.3.1. Понятия программного обеспечения | |

| |Программирование может |

|Программирование – это сфера действий, |рассматриваться как наука, так и |

|направленная на создание программ. |искусство |

|Программа – это последовательность команд |Программа результат |

|компьютера, приводящая к решению задачи. |интеллектуального труда, для |

|Приложение – это программная реализация на |которого характерно творчество. |

|компьютере решения задачи. |Программы предназначены для |

|Программное обеспечение (ПО) - это программные |машинной реализации задач. |

|продукты и техническая документация к ним. |Задача – это проблема, подлежащая |

|Программный продукт (ПП) – это комплекс |решению с помощью технических |

|взаимосвязанных программ, предназначенный для |средств, а приложение (синоним |

|реализации определенной задачи массового спроса.|программа) – реализованное на |

| |компьютере решение данной задачи. |

|Программы являются критерием развития |Программы делятся на утилиты (для |

|вычислительной техники. |нужд разработчиков) и программные |

| |продукты (для удовлетворения |

|Проблемы, возникающие при создании программных |потребностей пользователя) |

|продуктов: |В настоящее время на мировом рынке |

|Быстрая смена вычислительной техники и |господствуют ЭВМ разного типа: VAX |

|алгоритмических языков. |и IBM и языки, совместимые с этими|

|Не стыковка машин друг с другом (VAX и IBM). |ЭВМ. Программы, написанные для |

|Отсутствие полного взаимопонимания между |одной машине, не всегда подходят к|

|заказчиком и исполнителем к разработанному |другой. |

|программному продукту. |Для разработчика это творчество, |

| |для заказчика это удобный |

| |инструмент. |

| |В Японии 60% трудоспособного |

| |населения занимается |

| |программированием |

|0.3.2 Характеристики качества ПО. | |

| |Критерии оценки качества программы.|

|Перечень показателей качества: |Программа должна: |

|документированность, |работать согласно техническому |

|эффективность, |заданию (и это легко проверяется); |

|простота использования, |быть эффективна по быстродействию и|

|удобство эксплуатации, |памяти (или быстрее работать или |

|мобильность, |занимать меньше памяти); |

|совместимость, |широко использоваться и быть |

|испытуемость, |доступной (любой грамотный |

|стоимость. |программист должен в программе |

| |разобраться и ее эксплуатировать, |

| |модернизировать как под новую |

| |задачу, так и под новую версию ОС);|

| | |

| |быть приспособлена к выявлению |

| |ошибок (достаточно надежна в |

| |процессе расчета получать |

| |достоверные результаты); |

| |должна быстро разработана и |

| |отлажена с минимальными |

| |трудозатратами. |

|0.4. Классификация и сравнение языков |0.3 |

|программирования | |

|ЭВМ исполняет программу в машинных кодах. |Программа для ЭВМ занимается |

|Составляют программу люди на удобном для себя |преобразованием одних данных в |

|языке. |другие. |

|Различают языки: |На английском языке. |

|низкого уровня (машинно-ориентированные), | |

|высокого уровня (на зависят от типа ЭВМ). |Зависит от типа ЭВМ. Например, |

|Языки высокого уровня бывают: |Ассемблер. |

|процедурно-ориентированные (Паскаль), |Не зависят от типа ЭВМ. |

|проблемно-ориентированные (MathCAD), |Например, Паскаль. |

|объектно-ориентированные (С++). |Например, MathCAD. |

| |Например, С++ |

|Трансляторы переводят программу с языка |И. - Построчный перевод и |

|программирования в машинные коды. |исполнение. Медленно, но удобно при|

|Виды трансляторов: |отладке. |

|Интерпретатор – построчный перевод и исполнение,|К. - Перевод всей программы с |

| |последующим исполнением. Неудобно |

|Компилятор – перевод всей программы с |при отладке, но быстрое исполнение |

|последующим исполнением. |готовой программы |

| Примеры языков | |

|высокого уровня: |Для математических расчетов. От |

|Fortran = Formula |слов - транслятор формул. |

|Translator | |

|----------------------------------------- | |

|BASIC = Beginner’s |Универсальный простой язык. |

|All-perpose |Многоцелевой мнемокод для |

|Symbolic |начинающих. |

|Instruction | |

|Code | |

|---------------------------------------- |Язык для бизнеса. По первым буквам |

|COBOL = Common |слов английской фразы - язык, |

|Business |ориентированный на обычный бизнес. |

|Oriented | |

|Language | |

|----------------------------------------- |Язык для описания алгоритмов. |

|Algol = Algorithmic | |

|Language |Универсальный современный |

|------------------------------- |структурированный язык. Назван в |

|Pascal |честь Блеза Паскаля. |

|------------------------------- |Языки для системного |

|С, |программирования. |

|С++ |Для решения задач в реальном |

|------------------------------- |времени. Назван в честь |

|Ada |программистки Ады Лавлейс. |

|------------------------------- |Язык обработки списков в системах |

|Lisp = List | |

|Programming |искусственного интеллекта. |

|------------------------------- |Язык логического программирования |

|Prolog = Programming |для систем искусственного |

|Logically |интеллекта. |

|0.5. Проектирование программных продуктов (ПП) |0.4 |

|0.5.1. Классификация методов проектирования ПП | |

| |Проектирование алгоритмов и |

| |программ – наиболее ответственный |

| |этап жизненного цикла ПП. |

|Признаки |Традиционное неавтоматизированное |

| |проектирование алгоритмов и |

| |программ используется при |

| |разработке небольших по |

| |трудоемкости и структурной |

| |сложности ПП, не требующих большого|

| |числа разработчиков. ПП имеют |

| |прикладной характер. |

| |Автоматизированное проектирование |

| |алгоритмов и программ возникло с |

| |необходимостью уменьшить затраты на|

|Неавтоматизированное проектирование алгоритмов и|проектные работы, сократить сроки |

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

|по трудоемкости и структурной сложности ПП. |"заготовки", многократно |

|Автоматизированное проектирование используется в|тиражируемых для различных |

|крупных фирмах при разработке определенного |разработок, координации работ |

|класса ПП большого коллектива разработчиков. |большого коллектива разработчиков |

| | |

|.Структурное проектирование – это |Методология –это подходы к |

|последовательная декомпозиция, целенаправленное |проектированию |

|разбиение на отдельные составляющие. |Начало развития падает на 60-е |

|Структурное проектирование включает в себя: |годы. |

|нисходящее проектирование ("сверху вниз"), |Метод нисходящего проектирования |

|модульное программирование, |предполагает последовательное |

|структурное программирование (кодирование). |разложение общей функции обработки |

| |данных на простые функциональные |

|Информационное моделирование – построение |элементы ("сверху вниз"). |

|комплекса взаимосвязанных моделей данных. |В основе Информационного |

| |моделирования лежит положение об |

|Объектно-ориентированный подход основан на: |определяющей роли данных при |

|выделении классов объектов; |проектировании алгоритмов и |

|установлении свойств объектов и методов их |программ. |

|обработки; |Структурное программирование |

|создании иерархии классов, наследовании свойств |основано на модульной структуре |

|объектов и методов их обработки. |программного продукта и базовых |

|Каждый объект объединяет данные и программу |алгоритмических структурах. |

|обработки этих данных и относится к |Кроме того, ООП позволяет резко |

|определенному классу. |сократить объем и трудоемкость |

| |подготовки программ, имеющих дело с|

|Основная цель ООП - преодолеть следующие |множеством связанных друг с другом |

|недостатки проектирования “сверху вниз”: |объектов. |

|- недостаточное внимание к структурам данных, |Объектно-ориентированный анализ – |

|- слабая связь структур данных с процессами их |это выявление объектов, определение|

|обработки. |свойств и методов обработки |

| |объектов, установление их |

| |взаимосвязей. |

| |ООП процесс объектной декомпозиции |

| |и представления с использованием |

| |моделей данных проектируемой |

| |системы на логическом и физическом |

| |уровнях. |

|0.5.2. Этапы создания ПП |0.5 |

|Составление технического задания на програм- |Создание программных продуктов |

|мирование. |трудоемкий процесс, основанный на |

|На этом этапе требуется: |определенной технологии. |

|определить тип ОС - MS DOS, Windows, Windows NT,| |

| | |

|оценить необходимость сетевого варианта работы | |

|программы, |которую можно переносить на |

|определить необходимость разработки программы, |различные платформы. |

|обосновать необходимость работы с БД под |Разрабатывают функциональную |

|управлением СУБД, |структуру алгоритма или состав |

|выбрать методы решения задачи, |объектов, определяют требования к |

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

|комплекса задач и структуры данных, |системы. |

|определить требования к интерфейсу пользователя.| |

| |Пример: для создания 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. Графический интерфейс пользователя | |

| |Реализуется для ПП, |

|Обязательный компонент большинства современных |работающих в среде Windows. |

|ПП. |К нему предъявляются высокие |

|Требования к графическому интерфейсу: |требования с инженерной и |

|1. Содержать привычные и понятные пользователю |художественной стороны разработки. |

|пункты меню, соответствующие функциям обработки;|Строится в виде системы ниспадающих|

| |меню с использованием в качестве |

|2. Ориентироваться на пользователя, который |средства манипуляции мыши и |

|общается с программой на внешнем уровне |клавиатуры. |

|взаимодействия; |С помощью интерфейса пользователь |

|3. Удовлетворять правилу "шести" – в одну |работает с экранными формами, |

|линейку меню включать не более 6 понятий, каждое|содержащими объекты управления, |

|из которых содержит не более 6 опций; |панели инструментов с пиктограммами|

|4. Сохранять стандартизированное назначение и |режимов и команд обработки. |

|местоположение на экране графических объектов. | |

|0.8. Структурное проектирование и |0.8 |

|программирование | |

|Структурное проектирование включает в себя: | |

| | |

|нисходящее проектирование ("сверху вниз"), | |

|модульное программирование, | |

|структурное программирование. | |

|0.8.1.Нисходящее проектирование | |

| | |

|Метод предполагает последовательное разложение |В результате строится иерархическая|

|функции обработки данных на простые |схема, которая отражает состав и |

|функциональные элементы ("сверху вниз"). |взаимоподчиненность отдельных |

|В результате строится функциональная структура |функций. Она носит название |

|алгоритма (ФСА) приложения, в которой |функциональная структура алгоритма |

|отражаются: |(ФСА) приложения. |

|цели предметной области (цель-подцель); |Подобная структура отражает состав |

|состав приложений (задач обработки), |и взаимосвязь функций обработки |

|обеспечивающих реализацию поставленных целей; |информации для реализации |

|характер взаимосвязи приложений с их основными |приложений, не раскрывая логику |

|характеристиками; |выполнения каждой отдельной |

|функции обработки данных; |функции. |

| |Разложение должно носить строго |

|Функциональная структура приложения. |функциональный характер, т.е. |

| |отдельный элемент ФСА описывает |

| |законченную содержательную функцию |

| |обработки информации, которая |

|. . . |предполагает определенный способ |

| |реализации на программном уровне. |

| |Функции ввода/вывода информации |

|. . . |отделяют от функций вычислительной |

| |или логической обработки данных. |

| | |

|. . . . |Некоторые функции например Ф2, ФМ |

| |далее неразложимы на составляющие, |

| |они предполагают непосредственную |

|. . . |программную реализацию. Другие |

| |функции Ф2… могут быть представлены|

|По частоте использования функции делятся на: |в виде структурного объединения |

|однократно выполняемые; |более простых функций, например |

|повторяющиеся. |Ф11, Ф12 .. Для всех |

| |функций-компонентов осуществляется |

| |самостоятельная программная |

| |реализация, составные функции типа |

| |Ф1, ФМ реализуются как программные |

| |модули, управляющие |

| |функциями-компонен-тами, например, |

| |в виде программ-меню. |

|0.8.2. Модульное программирование |0.9 |

| |Модульное программирование основано|

Страницы: 1, 2, 3


© 2010 Современные рефераты