Разработка и создание электронной версии учебного пособия «Электроника», страница 4

• идентификация классов и объектов данного уровня абстракции.

• идентификация семантики классов и объектов.

• идентификация связей между классами и объектами.

• использование классов и объектов.

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

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

Второй шаг - основной - заключается в определении содержания классов и объектов, заданных на предыдущем шаге. Здесь анализируется каждый класс с точки зрения перспективы его взаимодействия с другими классами и объектами, и определяются механизмы этого взаимодействия. Результаты данного шага отражают ступенчатый характер процесса ООП.

Третий шаг можно рассматривать как продолжение предыдущего. Здесь мы точнее определяем механизмы взаимодействия внутри системы. Что касается основных абстракций, то мы должны определить типы отношения между ними: использование, наследование и т.д. Необходимо так же определить статические и динамические свойства объектов и их механизмов.

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

Четвертый шаг представляет собой процесс создания классов и объектов;

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

RAD - системы — это системы, ускоряющие процесс проектирования и развития приложений. Многие из таких систем базируются на виртуальных технологиях. Это значит, что пользователь создает интерфейс своей программы

(в виде кнопок, полей ввода и т.п.), просто расставляя элементы в окне/окнах программы (здесь используется терминология системы Windows). В

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

«RAD — это управляемая разработка наращиваемой прикладной системы за короткое время». Это наиболее емкое определение систем «быстрой разработки приложений».

Обычно к RAD - средствам относят любое программное средство, обеспечивающее помощь в разработке ПО, его сопровождении или деятельности по управлению проектом, и проявляющее следующие дополнительные черты:

• хорошо развитая графическая оболочка для построения систем ПО, а также для создания интерфейса с пользователем;

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

Кроме этого в основе RAD - средств лежат следующие положения:

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

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

• доступность для разных категорий пользователей;

• рентабельность;

• человеческий фактор, определяющий разработку ПО как легкий, удобный и экономичный процесс;

• сопровождаемость, способность адаптации при изменении требований и целей проекта.

Итеративную разновидность RAD, вероятно, можно использовать совместно со структурными методами и инструментальными средствами разработки, но большинство пользователей склоняется к объектноориентированному подходу, который сам напрашивается для использования рабочими группами. Кроме того, объектно-ориентированный подход может ускорить процесс разработки за счет обеспечиваемого им многократного использования компонентов. Если используются структурные методы, то попытка разделить разработку на отдельные части оказывает очень сильное влияние на уже проделанную часть работы.

Иногда RAD пытаются представить самостоятельной методологией, но это просто подход, который охватывает весь цикл разработки. Чтобы RAD был более формализованным и управляемым нужно сформулировать все элементы и требования подхода RAD. Никакой конкретной технологии при этом не предписывается, т. е. не говорится, что вы должны использовать систему управления базами данных Oracle, среду разработки клиентских программ для баз данных Powerbuilder, или что-либо еще.

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

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

Объектно-ориентированная технология имеет целый ряд достоинств:

- упрощение внесения изменений;

- гибкая архитектура и переносимость;

- повторное использование программных компонент;

- естественность описания проекта.

2.2. Организация доступа к данным

Организация доступа к БД зависит от ее типа и набора средств, которые разработчик предполагает для этого использовать. Традиционно доступ к данным в Delphi осуществлялся с помощью BDE. Компоненты DataSet

обращаются к BDE посредством набора команд, не зависящих от конкретного сервера. BDE интерпретирует эти команды с помощью драйверов, которые