1. Поддерживать технологию работы пользователя с программой (содержать привычные и понятные пользователю меню, расположенных в естественной последовательности использования).
2. Ориентироваться на конечного пользователя, который взаимодействует с программой на внешнем уровне.
3. Удовлетворять правил у «шести» (в одну линейку меню включать не более шести понятий, каждое из которых содержит не более шести опций).
4. Графические объекты сохраняют стандартные назначения и расположения на экране.
36. Метод нисходящего проектирования.
Метод нисходящего проектирования – позволяет последовательно разложить общую функцию, обработки данных на простые функциональные элементы. В результате строится иерархическая схема, отображающая состав функций и связей. Цель может быть любая, связанная с обработкой информации.
Последовательность действий при разработке схем:
1. Определяются цели автоматизации предметной области и их иерархия (определяется цель, подцель).
2. Устанавливается состав приложений, обеспечивающих реализацию поставленных целей (выбор программы).
3. Уточняется характер взаимосвязи между приложениями и их основными характеристиками:
- информация для решения задач; - время и периодичность решения;
- условия выполнения приложения.
4. Определяются необходимые функции обработки данных для решения поставленных задач.
5. Выполняется декомпозиция функций обработки до необходимой структурной сложности, реализуемой выбранным инструментом.
6. Выделение широко используемых функций обработки для применения их в качестве стандартных.
37. Модульное программирование.
Модуль - логически взаимосвязанная совокупность функциональных элементов, оформленных в виде отдельных программных модулей. Характеристики модуля:
-Один выход и один вход - на входе модуль получает один набор исходных данных, выполняет содержательную обработку и возвращает набор результатных данных.
-Функциональная завершенность - модуль выполняет перечень операций для реализации функций в полном составе, достаточных для завершения начатой обработки.
-Логическая независимость - результат работы модуля зависит только от исходных данных, и не зависит от работы других модулей.
-Слабые информационные связи с другими модулями. Обмен информацией между модулями должен быть по возможности минимизирован.
-Ограниченные по размеру и сложности программные элементы.
Каждый модуль состоит из:
Спецификации – правила использования модуля.
Тело – способ реализации процесса обработки.
Принцип модульного программирования сходен с нисходящим проектированием.
1)Определяется состав и подчиненность функций;
2)определяется набор модулей, реализующих функции.
Однотипные функции реализуются одним модулем. Функции верхнего уровня реализуются главным модулем, который управляет выполнением нижестоящих функций. Им соответствуют подчинённые модули.
При определении модулей необходимо учитывать:
1) модуль вызывается на выполнение вышестоящем модулем и закончив работу возвращает ему управление;
2) принятие основных решений выносится на максимально высокий уровень;
3) для использования одинаковой функции, в разных местах алгоритма создаётся один модуль.
В результате реализации создаётся функционально-модульная схема алгоритма приложения, которая является основной для программирования.
Например, при создании СУБД отдельными модулями могут быть:
1) экранная форма;
2) отчёты;
3) макросы;
4) программные модули; 5) процедуры обработки; 6) меню.
Алгоритм большой сложности представляется с помощью схем двух видов:
1) Обобщённая схема алгоритма показывает общий принцип работы алгоритма и основные связи между модулями;
2) Детальная схема алгоритма показывает содержание каждого элемента обобщённой схемы.
38. Структурное программирование.
Основано на модульной структуре ПП и типовых управляющих структурах алгоритмов обработки данных.
Типовые управляющие структуры:
1)Последовательность (фиксированный перечень блоков (операторов), каждый блок обрабатывается после завершения предыдущего).
2)Альтернатива (условие выбора). Содержится условие выбора альтернативы обработки, каждая альтернатива выполняется один раз.
3)Цикл. В блоке «условия» задается условие тела цикла, если не выполняется, цикл прерывается и выполняется «выход».
Оператор безусловного перехода в структурном программировании не используется.
39. Основные понятия объектно-ориентированного проектирования. Объектно-ориентированное проектирование основывается на:
1)модели построения системы, как совокупности объектов абстрактного типа данных.
2)модульной структуре программ.
3)нисходящем проектировании, использующем при выделении объектов.
Основные понятия:
Объект - совокупность свойств (параметров) определенных сущностей и методов их обработки (программ.). Объект содержит инструкции (программы), определяющие действия, которые может выполнять и обрабатываемые данные.
Свойства - характеристика объекта, его параметр. Любой объект наделен свойствами, которые выделяют его из множества других объектов. Свойства объекта обрабатываются с помощью специального метода.
Метод - программа действий над объектом или его свойствами, т.е. метод всегда связан с определенным объектом и осуществляет преобразование свойств и поведения объекта.
Любой объект может обладать определенным набором методов обработки, созданных пользователем или взятых из стандартных библиотек. Данные методы выполняются при наступлении заранее определенных событий. По мере развития объектов создаются стандартные методы обработки и фиксированный перечень событий.
Событие - изменение состояния объекта. События разделяются на:
-внешние события (генерируемые пользователем). -внутренние события (генерируемые системой).
Объекты могут объединяться в классы.
Класс - совокупность объектов, характеризуемых общими методами обработки или свойств. Один объект может выступать объединением вложенных в него по иерархии других объектов.
Схематично связи классов и объектов можно представить в виде дерева:
В объектно-ориентированном проектировании используется следующий формат записи при работе с объектами:
Объект. Метод
Объект. Свойства. Метод
40. Принципы и методика объектно-ориентированного проектирования. Принципы объектного подхода:
1. Инкапсуляция (замыкание) – сочетание структур данных с методами их обработки в абстрактных типах данных (классов объектов).
2. Наследование – механизм, позволяющий в образованном от исходного класса подклассе переопределить или добавить новые данные и методы их обработки,
3. Полиморфизм – способность объекта реагировать на запрос сообразно своему типу, при этом одно и тоже имя метода может использоваться для различных классов.
Черты методик ООП:
1. Объект описывается как модель некоторой сущности реального мира.
2. Объекты рассматриваются во взаимосвязи, применительно к ним создаются программы.
В процессе ООП:
1) осуществляется идентификация объектов и их свойств.
2) устанавливается перечень методов обработки, выполняемых над каждым объектом в зависимости от его состояния.
3) определяются связи между объектами для образования класса. 4) устанавливаются требования к интерфейсу с объектами.
Выделено 4 этапа ООП:
1) Разработка структуры классов, описывающая связь между классами и объектами.
2) Разработка диаграмм объектов, показывающей связи с другими объектами.
3) Разработка внутренней структуры ПП.
4) Разработка диаграммы аппаратных средств системы обработки данных, показывающей процессоры, внешние устройства, вычислительные сети и их соединения.
41. Основы функционального программирования.
Первый функциональный язык (Lisp) был изобретён Дональдом Мак-карти для поддержки языковых средств обработки списков. В языке Lisp существует два типа структур данных: атомы и списки, что позволяет абстрагироваться от знаний реальной структуры ЭВМ.
Основная цель данного языка - более точная имитация математических функций. Чистый функциональный язык не использует ни переменных, ни операторов присваивания. Он содержит набор элементарных функций, набор функциональных форм для построения сложных функций из элементарных, операцию применения функций и структуру для представления данных.
Данные языки реализуются часто с помощью интерпретаторов, но могут быть и компилируемыми.
Математическая функция - это отображение элементов одного множества (область определения) в другое множество (множества значений). Отображение описывается выражением или таблицей. Функция возвращает элемент из множества значений, который имеет одно единственное значение.
Простые функции - определение функций записывается в виде имени функции, за которыми следует список параметров в скобках и выражение, задающие отображение, Cube(x)= х*х*х. Для вычисления простой функции вместо параметра ставится конкретное значение.
Функции высокого порядка - это функции, которые используют другие функции в виде параметров или результаты их работы.
1) Композиция функций - эта функция параметрами которой служат две функции. Результатом композиции является применение функции в первом параметре к результату работы функции второго параметра, «о» - оператор декомпозиции. Н = f о g;
2) Конструкция - функциональная форма, получающая в качестве параметров список функций. Она обозначается заключением функции в квадратные скобки. [f,g](2).