double arrow
Implementation // Секция реализации

Interface // Секция объявлений

 
 


End. // Терминатор

Программа представляет собой совокупность модулей и имеет следующую структуру:

 
 


Среди множества модулей различают:

· Г о л о в н о й модуль – управляет запуском ПП;

· У п р а в л я ю щ и й модуль – обеспечивает вызов других модулей на обработку (существует в единственном числе);

· Р а б о ч и е модули - выполняют функции обработки;

· С е р в и с н ы е модули и библиотеки, утилиты – осуществляют обслуживающие функции;

Каждый модуль оформляется как самостоятельно хранимый файл. Для функционирования ПП необходимо наличие программных модулей в полном составе.

14.2. Свойства модуля

Модуль имеет:

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

· функциональную завершенность – модуль выполняет перечень операций для реализации каждой отдельной функции в полном составе, достаточных для завершения начатой обработки;

· логическую независимость – результат работы модуля зависит только от исходных данных, и не зависит от работы других модулей;

· слабые информационные связи с другими программными модулями – обмен информации между модулями должен быть по возможности минимизирован;

· обозримый по размеру и сложности программный элемент.

Приложения имеют модульную структуру.

При составлении алгоритма необходимо учитывать:




· каждый модуль вызывается на выполнение вышестоящим модулем и, закончив работу, возвращает управление вызвавшему его модулю;

· принятие основных решений в алгоритме выносится на максимально «высокий» по иерархии уровень;

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

 
 


Функция 1 и Функция 2 выполняются с помощью одного и того же программного Модуля.

Функция 3 реализуется одним программным модулем.

Функция 4 реализуется в виде последовательности выполнения Программных Модулей (2, 3 . . . p).

Функция 5 – с помощью иерархии связанных модулей.

15.0. Проектирование интерфейса пользователя

15.1. Диалоговый режим

Большинство ПП работают в Диалоговом режиме.

Состав диалоговых систем:

· Меню – пользователю предлагается выбор альтернативных функций обработки из фиксированного перечня. Меню может содержать вложенные подменю.



· Действия запрос-ответ – фиксированный перечень возможных значений, выбираемых из списка или ответы типа Да/Нет.

· Запрос по формату – с помощью ключевых слов, фраз.

Диалоговый процесс управляется согласно созданному сценарию, для которого определяются:

· Момент начала диалога.

· Инициатор диалога – человек или ПП.

· Параметры и содержание диалога – сообщения, состав и структура меню, экранные формы.

· Реакция ПП на завершение диалога.

Для создания диалогового процесса и интерфейса пользователя используют объектно-ориентированные средства разработки программ.

В их составе содержатся:

· Построители меню (для создания главного меню и вложенного подменю);

· Конструктор экранных форм (для разработки форматов экранного ввода и редактирования данных).

Диалоговые окна содержат элементы управления:

· Тексты сообщения;

· Поля ввода информации пользователя;

· Списки возможных альтернатив для выбора;

· Кнопки, переключатели и т.п.

15.2. Графический интерфейс пользователя

Является обязательным компонентом большинства современных ПП.

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

1. Содержать привычные и понятные пользователю пункты меню, соответствующие функциям обработки;

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

3. Удовлетворять правилу "шести" – в одну линейку меню включать не более 6 понятий, каждое из которых содержит не более 6 опций;

4. Сохранять стандартизированное назначение и местоположение на экране графических объектов.

Средства визуального программирования позволяют создавать сложные графические интерфейсы пользователя вообще без написания кода программы. Разработчик может на любом этапе наблю­дать то, что закладывается в основу принимаемых решений.

16. Объектно-ориентированное программирование (ООП)

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

1) выделении классов объектов;

2) установлении свойств объектов и методов их обработки (подпрограммы);

3) создании иерархии классов, наследовании свойств объектов и методов их обработки.

ООП используется при разработке крупных программных проектов.

Традиционный подход:

Y :=Z(X); {Z- функция над переменной X}

То же действие с ООП:

Y :=X .Z; {Z- метод, применяемый к объекту X}

Основные понятия ООП: объект, свойства, метод.

Объектсовокупность свойств, методов их обработки (процедуры и функции) и событий, на который данный объект может реагировать, и которые приводят к изменению свойств объекта.

Объект – многократно используемый программный модуль – экземпляр класса.

16.1. Классы в Free Pascal

Однотипные объекты могут объединяться в классы (группы).

Класс – совокупность объектов с одинаковыми свойствами. Или особый тип записи, имеющий в своем составе поля, свойства и методы обработки.

Конкретный объект, имеющий структуру этого класса, называется экземпляром класса, например Button1. Сам класс определяется общими свойствами, которые имеют все экземпляры этого класса.

Например, объект Button1 относится к классу TButton.

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

Методами называются процедуры и функции, предназначенные для обработки внутренних данных объекта данного класса (полей). Объект может обладать набором заранее встроенных методов обработки, созданных пользователем, которые выполняются при наступлении заранее определенных событий, например: нажатие кнопки мыши, определенной клавиши, выбор пункта меню и т.п..

Свойствахарактеристики объекта, его параметры. Объект представляется с помощью присущих ему свойств.

Например:

ОБЪЕКТ_1 (свойство-1, свойство-2, . . . свойство-k).

Свойства объектов различных классов могут пересекаться. Например:

ОБЪЕКТ_А (. . свойство-n, свойство-m, . . . свойство-k).

ОБЪЕКТ_B (свойство-1,. . . свойство-n, . . . свойство-k).

16.2. Основные принципы ООП

ООП включает в себя 3 основных принципа:

- Инкапсуляция;

- Наследование;

- Полиморфизм.

Инкапсуляция – механизм сокрытия всех внутренних деталей объекта, не влияющих на его внешнее поведение. Это объединение объекта и методов работы с ним (или совмещение данных с методами в одном классе).

Класс приобретает определенную функциональность.

Каждый класс обладает свойствами предка, а способы реализации этого свойства заключены внутри класса.

Эти способы недоступны за пределами класса. Более того, классы ничего не знают друг о друге. Они полностью разделены. Т.о. объект “закрыт” и окружение не может случайно изменить этот объект.

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

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

Наследование - создание объектов-потомков, которые обладают всеми свойствами объектов-предков. При наследовании объекты-потомки наследуют свойства объектов-предков и приобретают черты, характерные только для них самих.

Порожденный класс называется потомком, а тот, от которого он порожден – предком. У объекта может быть только один предок, но много потомков.

Объект-потомок наследует все описания и методы объекта-предка. Для него нужно описывать только дополнительные свойства.

Наследуемые свойства и методы можно использовать в неизменном виде или их переопределять (модифицировать).

Нельзя переопределять данные при наследовании. Данные можно только добавлять. С помощью наследования одни классы объектов могут происходить от других.

Возможно многоуровневое наследование. Механизм наследования позволяет многократно применять программный код, создавая иерархию классов.

Полиморфизм – это свойство классов решать схожие по смыслу проблемы разными способами.

Использование для разных объектов методов под одинаковыми именами, но с разным содержанием.

Это свойство, позволяющее одно и тоже имя процедуры использовать для решения нескольких разных задач. Например, щелочек по кнопке Button1Click().

Это достигается переопределением родительского метода в классе-потомке. Переопределение позволяет адресовать разным объектам одно и то же сообщение с разным исполнением.

Родитель и потомок ведут себя по-разному.

Один и тот же метод выполняется по-разному для различных объектов.

16.3. Графическая структура понятий ОО Подхода

 
 


Все классы порождены от единого родителя – класса TObject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающие жизненный цикл любых объектов – от их создания до уничтожения. Нельзя создать класс, который не был бы дочерним классом TObject.

Принцип наследования приводит к созданию ветвящегося дерева классов, постепенно разрастающегося от родителя к потомкам. Каждый потомок дополняет возможности своего родителя новыми свойствами и передает их своим потомкам.

Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.

Свойства - структура данных, характерных для этого объекта.

Преимущества ООП:

– возможность многократного использования программного кода (порождение новых классов);

– невозможность извне ничего изменить в объекте, если такое изменение является недопустимым;

– объекты отображают реально существующие предметы или процессы.






Сейчас читают про: