Выбор и обоснование среды программирования
Список специальностей
Список кафедр (Kafedra.db) (Special.db)
Список групп (Group.db)
Список дисциплин (Disc.db)
Содержание учебного плана (Plan.db)
Заголовок учебного плана (Header.
db)
Рис.8.
Структура базы данных «Учебный план»
план», должна знать, что все дисциплины, связанные с каким-либо заголовком, должны ссылаться на реально существующие факультеты, кафедры, группы и т.д.
Такого типа свойства называются целостностью базы данных.При создании базы данных информационной системы разработчик сообщает СУБД, какого рода ограничения целостности система должна поддерживать в базе данных, а далее ответственность берет на себя СУБД, без требования вмешательства прикладной программы.
Второй важной особенностью СУБД является обеспечение выполнения так называемых «незапланированных» запросов к базе данных. Представим себе, что при проектировании информационной системы, предназначенной для автоматизации управления военной кафедрой, было запланировано выполнение запросов об общей нагрузке на преподавателей в учебном году, а впоследствии понадобилась информация о нагрузке в каждом семестре. При отсутствии СУБД понадобилась бы переделка информационной системы. Однако СУБД, обладая достаточными знаниями о предметной области (например, о структуре и смысле данных информационной системы учебного отдела), может обеспечить (и реально обеспечивает) универсальный язык запросов (обычно, язык SQL), позволяющий сформулировать произвольный запрос на выборку информации из соответствующей базы данных. Такой запрос может быть в любой момент подан с терминала (без участия информационной системы) или встроен в одну из прикладных программ, входящих в информационную систему.
Наконец, еще одной важной особенностью большинства современных СУБД является обеспечение так называемого «режима мультидоступа».
Сегодня развитые компьютерные архитектуры обычно относятся к одной из двух категорий (или к их комбинации): информационно-вычислительный сервер с более чем одним подключенным к нему терминалом или локальная или распределенная информационно-вычислительная сеть серверов и клиентских рабочих станций, обеспечивающая совместное использование ресурсов. В любом случае каждый из потенциальных пользователей может захотеть (и иметь на это право) в любой момент времени воспользоваться услугами информационной системы. Соответственно, информационная система должна иметь возможность параллельно выполнить операции, задаваемые несколькими пользователями одновременно (или очень близко во времени).
Если проектируемая информационная система достаточно сложна, то решение этих задач «вручную», без привлечения программных инструментальных средств, как правило, превышает человеческие возможности.
Конечно, прежде всего, это системы класса CASE (Computer Added Software Enginering), ориентированные на поддержку разработки информационных систем.
Наиболее развитые CASE-системы позволяют автоматизировать процесс проектирования и разработки прикладной системы, поддерживая полную документацию (возможно, с разными версиями) обо всем этом процессе. Может быть, наиболее важно то, что такие системы существенно помогают создавать схему базы данных, лежащей в основе проекта информационной системы. CASE-системы позволяют достаточно просто пройти путь от интуитивного представления структуры и поведения нужной предметной области до формализованного представления в терминах языка SQL.Другой класс программных средств, часто интегрированных с CASE-системами, составляют программные системы языков четвертого поколения (4GL). Это название означает, что такие, как правило, интерпретируемые языки предоставляют пользователю более или менее удобные средства для формирования интерфейса с конечным пользователем (например, в виде меню или форм), обеспечивают сравнительно простые возможности для взаимодействия с системой управления базами данных, а также предоставляют (обычно достаточно примитивные, но в случае Borland Delphi или Borland C++ Builder сильно развитые) средства программирования. Основным достоинством языков четвертого поколения является то, что они обеспечивают возможность так называемого «быстрого прототипирования приложений».
В последнее время подавляющее большинство CASE-систем и 4GL если не ориентируется, то обращает внимание на объектно-ориентированный подход. Более того, стали появляться методики по объектноориентированному использованию средств автоматизированного проектирования и разработки информационных систем, которые (средства) исходно для этого не предназначались. Сегодня создателю информационной системы, как минимум, нужно иметь базовые знания о современных СУБД, ориентироваться в мире инструментальных средств разработки программных систем и иметь представления об объектно-ориентированном подходе к проектированию и разработке программ.
Задачи, которые мы поставили вначале, предъявляют свои требования к используемой среде программирования:
- она должна быть ориентированной на обработку сложных БД, использую различные модели данных (иерархическую и реляционную) и методы обработки (навигационный, более удобный для ввода и редактирования отдельных записей банка данных, и SQL-ориентированный, единственно возможный для целостного восприятия и обработки информации);
- должна получиться самостоятельная программа, не требующая для своей работы никаких внешних программ и работающая на распространенной платформе Win32, используя ее возможности (полное использование всей установленной оперативной памяти, виртуальная память, многозадачность, работа с сетью);
- возможность написания многопользовательского сетевого приложения (архитектура «Файл-сервер») для любых поддерживаемых Windows типов локальных сетей;
- организация многооконного интерфейса MDI с перекрестными ссылками между окнами;
- генерация и печать отчетов разнообразной структуры;
- возможно более компактный и оптимальный код.
Пакеты Borland C++ и Microsoft Visual C++, будучи мощными профессиональными средами, не ориентированы на работу с БД и не обеспечивают требуемой нехваткой времени простоты и скорости написания программы.
Pascal, а затем его объектно-ориентированный вариант Object Pascal, разрабатывался Н.
Виртом как язык для обучения. Он отличается большей структурированностью, наличием ограниченного набора основных конструкций и жестким контролем на данными и их преобразованием. Было время, когда C++ обладал определенными преимуществами. Но потом фирма Borland взялась за Pascal и добавила в него самое лучшее из C++. В Pascalпоявились преобразования типов, указатели, объекты, встроенный ассемблер и средства для работы с Windows. В настоящее время возможности этих языков отличаются не так сильно, но Pascal гораздо проще в изучении и применении, к тому же он сразу разрабатывался под архитектуру Intel.
Borland C++ имеет то преимущество, что позволяет выполнять и компилировать не только свои проекты, но и проекты Delphi. Правда, для этого требуется произвести довольно нудную операцию по преобразованию (сужу по описанию из книги, так как сам не пробовал).
Обе эти среды используют для построения приложения библиотеку визуальных компонент (VCL), которая изначально была разработана для Delphi на языке Object Pascal. Это привело к тому, что C++ Builder компилирует проект значительно дольше Delphi, получая при этом больший объем кода, так как при этом используется не только компилятор C++, но и Object Pascal. Для обеих систем разработки приложений существует огромное количество дополнительных компонент, значительно облегчающих процесс написания программы и улучшающих его функциональные возможности и интерфейс.
Исходя из вышесказанного, мы в качестве среды разработки выбрали Borland Delphi 3. Дополнительно была установлена библиотека компонент RX Lib 2.60 Федора Кожевникова (fkozh@iname.com), Игоря Павлюка (igorp@mail.com) и Сергея Королева (korolev@usa.net). Для изготовления инсталляционного пакета приложения использовалась программа "Install-Shield Express for Delphi 3", позволяющая изготовить полноценный дистрибутив, включающий также и BDE (Borland Database Engine, процессор баз данных, обеспечивающий доступ к БД из приложений Delphi).
Еще по теме Выбор и обоснование среды программирования:
- Лейомиома матки
- Генитальный эндометриоз
- Разработка и применение стандартов при производстве медицинских услуг
- Процессуально-технологический аспект продуктивной профессиональной деятельности
- Методические комплексы акмеологического тренинга
- Проблема нормы и аномалии в развитии и поведении человека (или введение в психологическую теорию относительности).
- Акмеологические технологии продуктивного развития аутопсихологической компетентности госслужащих
- ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
- Этические принципы и правила работы психолога
- Приложение 19