Разработка автоматизированного рабочего места специалиста ООО "Бравида"

Анализ технического задания, разработка программных модулей, средств тестирования и руководство пользователя. Масштабируемые средства для построения баз данных. Расчет эффективности программы "Автоматизированное рабочее место специалиста ООО "Бравида".

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 24.07.2014
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Введение

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

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

Целью дипломного проекта является обобщить знания, полученные за четыре года обучения, иотобразить их на практике путем написания программы для конкретных целей, углубление и расширение знаний внутреннего устройства ЭВС путем изучения новейшей справочной литературы и справочных материалов представленных в сети Интернет ведущими фирмами производителями электронно-вычислительных средств.

Для написания дипломного проекта мной была использована среда разработки Delphi.

Delphi позволяет создать удобный пользовательский интерфейс удобный для работы пользователя. Помимо этого среда программирования Delphi позволяет работать программе в операционных системах Windows 7/XP/NT/98/95 без всевозможных ошибок.

1. Анализ технического задания

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

- Высокопроизводительный компилятор в машинный код;

- Объектно-ориентированная модель компонент;

- Визуальное построение приложений из программных прототипов;

- Масштабируемые средства для построения баз данных.

Компилятор в машинный код

Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и короткое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кодировки, характерное для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода.

В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты. Еще до компиляции он видит результаты своей работы -- после подключения к источнику данных их можно вывести на форму, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10 - 20 раз быстрее, чем то же самое задание, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на практическом быстродействии готового приложения.

Объектно-ориентированная модель программных компонент

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

В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Для начала неплохо. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, прежде чем попытаться начинать решать проблему “с нуля”, советуем просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами. Количество этих фирм в настоящее время превышает число 250, хотя, возможно, мы не обо всех знаем. Скептики, возможно, не поверят, что на Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и, к примеру, игровые программы. Тем не менее, это так. Во многом этот факт объясняется тем, что традиционно в среде Windows было достаточно сложно реализовывать пользовательский интерфейс. Событийная модель в Windows всегда была сложна для понимания и отладки. Но именно разработка интерфейса в Delphi является самой простой задачей для программиста.

Масштабируемые средства для построения баз данных

Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL Link, поэтому доступ к СУБД Oracle, Sybase, Informix и InterBase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в офлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может храненить информацию в файлах формата .dbf (как в dBase или Clipper) или .db (Paradox). Если же он будет использовать локальный InterBase for Windows 4.0 (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.

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

Клиент-серверная версия Delphi

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

Клиент-серверная версия включает в себя следующие особенности:

SQL Links: специально написанные драйвера для доступа к Oracle, Sybase, Informix, InterBase.

- Локальный сервер InterBase: SQL-сервер для Windows СУБД для разработки в корпоративных приложений на компьютере, не подключенном к локальной сети.

- ReportSmith Client/server Edition: генератор отчетов для SQL-серверов.

- Team Development Support: предоставляет версионный контроль при помощи PVCS компании Intersolve (приобретается отдельно) или при помощи других программных продуктов версионного контроля.

- Visual Query Builder -- это средство визуального построения SQL-запросов.

- Лицензия на право распространения приложений в архитектуре клиент-сервер, изготовленных при помощи Delphi.

- Исходные тексты всех визуальных компонент.

Delphi for Windows

Delphi for Windows представляет из себя подмножество Delphi Client-Server и предназначен для разработчиков высокопроизводительных персональных приложений, работающих с локальными СУБД типа dBase и Paradox. Delphi Desktop Edition представляет собой такую же среду для быстрой и простой разработки и компилятор высокого класса, аналогичные клиент-серверная версии (Client/Server Edition). Эта среда позволяет разработчику быстро изготавливать персональные приложения, работающие с персональными СУБД типа dBase и Paradox. Delphi позволяет также создавать разработчику DLL, которая может быть вызвана из Paradox, dBase, C++ или каких-нибудь других готовых программ.

В Delphi for Windows, как и в Delphi Client-Server, входят:

- Компилятор Object Pascal (этот язык является расширением языка Borland Pascal).

- Генератор отчетов ReportSmith.

- Среда визуального построителя приложений.

- Библиотека визуальных компонент.

- Локальный сервер InterBase.

RAD Pack for Delphi

Стоит упомянуть еще один продукт, выпущенный компанией Borland для Delphi. В RAD Pack for Delphi входит набор полезных дополнений, которые помогут разработчику при освоении и использовании Delphi. Это учебник по объектному паскалю, интерактивный отладчик самой последней версии, Borland Visual Solutions Pack (набор VBX для реализации редакторов, электронных таблиц, коммуникационные VBX, VBX с деловой графикой и т.п.), Resource WorkShop для работы с ресурсами Borland Pascal, а также дельфийский эксперт для преобразования ресурсов BP в формы Delphi.

Для кого предназначен Delphi

В первую очередь, Delphi предназначен для профессионалов-разработчиков корпоративных информационных систем. Не секрет, что некоторые удачные продукты, предназначенные для скоростной разработки приложений (RAD -- rapid application development) прекрасно работают при изготовлении достаточно простых приложений, однако, разработчик сталкивается с непредвиденными сложностями, когда пытается сделать что-то действительно сложное. Бывает, что в продукте вскрываются присущие ему ограничения только по прошествии некоторого времени.

Delphi такие ограничения не присущи. Хорошее доказательство тому это тот факт, что сам Delphi разработан на Delphi. Можете делать выводы. Однако Delphi предназначен не только для программистов-профессионалов. Его покупают учителя, врачи, преподаватели ВУЗов, бизнесмены, все те, кто используют компьютер с чисто прикладной целью, то есть для того, чтобы быстро решить какие-то свои задачи, не привлекая для этого программистов со стороны. В большинстве случаев им это удается.

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

Некоторые особенности Delphi

Локальный сервер InterBase

Следует заметить, что этот инструмент предназначен только для автономной отладки приложений. В действительности он представляет из себя сокращенный вариант обработчика SQL-запросов InterBase, в который не включены некоторые возможности настоящего сервера

InterBase. Отсутствие этих возможностей с лихвой компенсируется преимуществом автономной отладки программ.

Team Development Support

Средство поддержки разработки проекта в группе. Позволяет существенно облегчить управление крупными проектами. Это сделано в виде возможности подключения такого продукта как Intersolve PVCS непосредственно к среде Delphi.

Высокопроизводительный компилятор в машинный код

В отличие от большинства Паскаль-компиляторов, транслирующих в p-код, в Delphi программный текст компилируется непосредственно в машинный код, в результате чего Delphi-приложения исполняются в 10-20 раз быстрее (особенно приложения, основанные на математических функциях). Готовое приложение может быть изготовлено либо в виде исполняемого модуля, либо в виде динамической библиотеки, которую можно использовать в приложениях, написанных на других языках программирования.

Открытая компонентная архитектура

Благодаря такой архитектуре приложения, изготовленные при помощи Delphi, работают надежно и устойчиво. Delphi поддерживает использование уже существующих объектов, включая DLL, написанные на С и С++, OLE сервера, VBX, объекты, созданные при помощи Delphi. Из готовых компонент работающие приложения собираются очень быстро. Кроме того, поскольку Delphi имеет полностью объектную ориентацию, разработчики могут создавать свои повторно используемые объекты для того, чтобы уменьшить затраты на разработку.

Delphi предлагает разработчикам -- как в составе команды, так и индивидуальным -- открытую архитектуру, позволяющую добавлять компоненты, где бы они ни были изготовлены, и оперировать этими вновь введенными компонентами в визуальном построителе. Разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help'ы, доступные через меню Delphi.

Two-way tools -- однозначное соответствие между визуальным проектированием и классическим написанием текста программы Это означает, что разработчик всегда может видеть код, соответствующий тому, что он построил при помощи визуальных инструментов и наоборот.

Визуальный построитель интерфейсов (Visual User-interface builder) дает возможность быстро создавать клиент-серверные приложения визуально, просто выбирая компоненты из соответствующей палитры.

2. Структурное объектно-ориентированное программирование

Delphi использует структурный объектно-ориентированный язык (Object Pascal), который сочетает с одной стороны выразительную мощь и простоту программирования, характерную для языков 4GL, а с другой - эффективность языка 3GL. Программисты немедленно могут начать производить работающие приложения, и им не придется для этого изучать особенности программирования событий в Windows. Delphi полностью поддерживает передовые программные концепции, включая инкапсуляцию, наследование, полиморфизм и управление событиями.

Delphi: настраиваемая среда разработчика

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

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

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

Но для работающей программы видимыми остаются только визуальные компоненты. Компоненты сгруппированы на страницах палитры по своим функциям. К примеру, компоненты, представляющие Windows common dialogs все размещены на странице палитры с названием Dialogs.

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

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

Интеллектуальный редактор

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

Графический отладчик

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

Инспектор объектов

Этот инструмент представляет из себя отдельное окно, где вы можете в период проектирования программы устанавливать значения свойств и событий объектов (Properties & Events).

Менеджер проектов

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

Менеджер проектов показывает имена файлов, время/дату выбранных форм и пр.

Можно немедленно попасть в текст или форму, просто щелкнув мышкой на соответствующее имя.

Навигатор объектов

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

Дизайнер меню

Можно создавать меню, сохранить созданные в виде шаблонов и затем использовать в их в любом приложении.

Эксперты

Это набор инструментальных программ, облегчающих проектирование и настройку ваших приложений.

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

Включает в себя:

- Эксперт форм, работающих с базами данных.

- Эксперт стилей и шаблонов приложений.

- Эксперт шаблонов форм

В состав RAD Pack входит эксперт для преобразования ресурсов, изготовленных в Borland Pascal, в формы Delphi. Уже появились эксперты, облегчающие построение DLL и даже написание собственных экспертов.

Интерактивная обучающая система

Позволяет более полно освоить Delphi. Она являются не просто системой подсказок, а показывает возможности Delphi на самой среде разработчика.

Компоненты доступа к базам данных и визуализации данных

Библиотека объектов содержит набор визуальных компонент, значительно упрощающих разработку приложений для СУБД с архитектурой клиент-сервер. Объекты инкапсулируют в себя нижний уровень -- Borland Database Engine.

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

Разработка приложений БД

Delphi позволяет использовать библиотеку визуальных компонент для быстрого создания надежных приложений, которые легко расширяются до приложений с архитектурой клиент-сервер. Другими словами, вы можете создать приложение, работающее с локальным сервером InterBase, а затем использовать это приложение, соединяясь с удаленным SQL-сервером через SQL-Links.

Библиотека объектных Визуальных Компонент

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

Этот костяк называется Visual Component Library (VCL). В VCL есть такие стандартные элементы управления, как строки редактирования, статические элементы управления, строки редактирования со списками, списки объектов.

Добавлены такие компоненты, которые ранее были доступны только в библиотеках третьих фирм: табличные элементы управления, закладки, многостраничные записные книжки.

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

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

Здесь следует отметить, что обычных ограничений, присущих средам визуальной разработки, в Delphi нет. Сам Delphi написан при помощи Delphi.

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

Язык программирования Delphi базируется на Borland Object Pascal.

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

Формы, модули и метод разработки “Two-Way Tools”

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

Информация о формах хранится в двух типах файлов -- .dfm и .pas, причем первый тип файла -- двоичный -- хранит образ формы и ее свойства, второй тип описывает функционирование обработчиков событий и поведение компонент. Оба файла автоматически синхронизируются Delphi, так что если добавить новую форму, связанный с ней файл .pas автоматически будет создан, и его имя будет добавлено в проект.

Такая синхронизация и делает Delphi two-way-инструментом, обеспечивая полное соответствие между кодом и визуальным представлением. Как только вы добавите новый объект или код, Delphi устанавливает так называемую “кодовую синхронизацию” между визуальными элементами и соответствующими им кодовыми представлениями.

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

Добавление новых объектов

Delphi -- это прежде всего среда разработки, базирующаяся на использовании компонент. Поэтому вы можете добавлять совершенно новые компоненты в палитру компонент. Вы можете создавать компоненты внутри Delphi, или вводить компоненты, созданные как управляющие элементы VBX или OLE 2.0, или же вы можете использовать компоненты, написанные на С или С++ в виде dll.

Введение новой компоненты состоит из трех шагов:

- наследование из уже существующего типа компоненты;

- определение новых полей, свойств и методов;

- регистрация компоненты.

Это все делается через меню Install Components

Добавление управляющих элементов VBX

Delphi генерирует объектное расширение VBX, которое инсталлируется в качестве компонент.

Например, если вы инсталлируете SaxComm VBX из Visual Solutions Pack компании Borland в Delphi, автоматически генерится тип объекта TComm, который наследуется из стандартного TVBXControl. Когда вы инсталлируете компоненты, Delphi будет компилировать и подлинковывать их к библиотеке компонент.

Делегирование: события программируются проще

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

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

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

Ссылки на классы

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

Обработка исключительных ситуаций

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

3. Системное проектирование

При выборе среды разработки нужно учитывать, что созданное программное обеспечение должно иметь достаточно понятный интерфейс для пользователя. Для его создания в проекте должны быть использованы компоненты, которые характерны для работы с базами данных. Это компоненты, с помощью которых в приложении будут отображены таблицы. Но размещение только этого компонента недостаточно. Поэтому для разработки системы была выбрана интегрированная среда разработки Borland Delphi 7. Потому что в этой среде представлены все компоненты для работы с базой данных, даже если она удаленная. Для связи с каким-нибудь источником данных используется компонент TDataSource, у которого есть свойство DataSet (набор данных). Последний компонент служит для управления набором данных, который нужно отобразить, например, в TDBGrid [1].

Delphi сочетает в себе все полезные возможности. Фирма Borland объединила здесь все лучшее, что только было создано для разработки продуктов, работающих в среде Windows. Delphi включает огромную библиотеку классов компонентов, делая ненужным утомительное программирование.

В заключение следует отметить, что причин для выбора Delphi в качестве инструмента разработки более чем достаточно. Основными среди них являются: объектно-ориентированная среда разработки; быстрый компилятор с естественным кодом; интегрированный отладчик; высокоуровневый доступ к базе данных; наличие совершенных двусторонних инструментов.

Одним из основных критериев при выборе инструмента разработки приложения является масштабируемость - возможность работать с данными в различных платформах. Delphi легко решает эти и даже более сложные проблемы, обеспечивая наилучшую масштабируемость среди инструментов Быстрой Разработки Приложений (БРП или RAD - Rapid Application Development) [1].

Масштабируемость в Delphi достигается благодаря следующим свойствам:

1) поддержка, как локальных таблиц, так и находящихся на удаленных серверах баз данных;

2) поддержка сложных запросов и доступ из одного приложения ко многим системам управления базами данных (СУБД), построенным на различных платформах;

3) свободное перемещение приложения из одной СУБД в другую, осуществляемое посредством ядра Borland Database Engine, которое организует доступ к базам данных, невзирая на различия в платформах;

4) наличие собственных быстрых драйверов для основных платформ типа клиент/сервер;

5) полная поддержка ODBC и ADO.

Возможности Delphi таковы, что все будет сделано значительно быстрее и с меньшими затратами сил. Если необходимо работать с локальными таблицами или таблицами SQL-сервера, Delphi представляет и здесь необходимые средства.

Приложения Delphi могут осуществлять доступ к локальным и удаленным БД с использованием следующих механизмов:

- BDE (Borland Database Engine -- процессор баз данных фирмы Borland), предоставляющий развитый интерфейс API для взаимодействия с базами данных;

- ADO (ActiveX Data Object -- объекты данных ActiveX) осуществляет доступ к информации с помощью OLE DB (Object Linking and Embedding Data Base -- связывание и внедрение объектов баз данных);

- dbExpress обеспечивает быстрый доступ к информации в базах данных с помощью набора драйверов;

- InterBase реализует непосредственный доступ к базам данных InterBase [1].

Таким образом, в качестве среды программирования для решения нашей задачи было выбрано Delphi версии 7.0 компании Borland International.

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

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

Средой разработки приложения выбрана среда быстрой разработки Delphi 7.

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

­ это 32-разрядное приложение для Windows 98 SE или Windows NT, a так же Windows XP, Windows 7 и т.д.;

­ оно имеет простой, удобный, интуитивно понятный интерфейс со всеми присущими Windows атрибутами: динамическими окнами, кнопками, меню;

­ оно управляется как мышью, так и клавиатурой;

­ оно отказоустойчиво и корректно обрабатывает любые ошибки пользователя;

­ оно черпает информацию из баз данных;

­ оно работает быстро, не раздражая пользователя бесконечно медленной прокруткой;

­ оно хорошо документировано (как минимум имеет хороший Help);

­ оно поддерживает OLE (требования для всех продуктов, желающих получить сертификат от Microsoft);

­ оно, возможно, относятся к группе баз данных;

­ оно разрабатывается достаточно быстро, чтобы не устареть еще на стадии разработки.

Задачей дипломного проекта является создать автоматизированное рабочее место специалиста ООО «БРАВИДА». Введение такого рода работы значительно сокращает как время, так и средства на ее выполнения.

Рассмотрим внутреннюю структуру программного продукта ( рисунок 3 ). Ядро программы - это самая главная часть программы, которая отвечает за механизм работы и выполнение различных операций, таких как вызов модулей, ввод информации, вывод информации, интерфейс пользователя и работа с системными продуктами. Интерфейс - это внешний вид программы, где пользователь может обращаться к программе и данным. Ввод информации - это распознавание программой введенных пользователем данных (рисунок 4). Вывод информации - вывод результата пользователем действий на экран. ОС Windows XP - это использование программой системных библиотек операционной системы Windows XP. Модули uses - это использование системных модулей программного продукта, которые подключаются к главной программе и к другим модулям во время разработки программного продукта.

Рассмотрим более подробно основные элементы структурной схемы:

- MainMenu - Главное меню программы. Компонент способен создавать и обслуживать сложные иерархические меню.

- Label - Метка. Используется для размещения не очень длинных сообщений в виде статического текста.

- Edit - Строка ввода. Предназначена для ввода пользователем текстовой информации в виде одной строки. Имеет возможности по управлению вводимой информацией, например, переопределению символов до их появления в поле ввода, что используется в формах для ввода пароля.

Размещено на http://www.allbest.ru/

Рисунок 3.1 - Структура программы

- Button - Командная кнопка. Используется для реализации в программе команд с помощью обработчика события OnClick этого компонента.

- StringGrid - Таблица строк. Этот компонент обладает мощными возможностями для представления текстовой информации в табличном виде.

- StatusBar- Панель статуса. Предназначена для размещения разного рода служебной информации в окнах редактирования. Пример - нижняя часть рамки окна текстового редактора Word.

- OpenDialog - визуальный компонент. Он используется, чтобы позволить пользователю выбирать один или более файлов, для открытия. Он может быть определен, перемещением значка OpenDialog с вкладки Dialogs, или определяя переменную TOpenDialog.

- SaveDialog - визуальный компонент. Он используется для выбора пользователем имени файла предназначенного для сохранения.

- Image - Рисунок. Компонент для отображения изображений в том числе пиктограмм и метофайлов.

- Timer- Таймер. Этот компонент служит для отсчета интервалов реального времени. Имеет ограничение - не может обрабатывать интервалы менее 55 миллисекунд.

- PrinterSetupDialog - визуальный компонент. Он используется, чтобы позволить пользователю выбирать настройки печати.

- OpenPictureDialog - визуальный компонент. Он используется, чтобы позволить пользователю выбирать один или более изображений для открытия.

Функциональное проектирование

Алгоритм и его свойства

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

Алгоритм означает точное описание некоторого процесса, инструкцию по его выполнению. Разработка алгоритма является сложным и трудоемким процессом. Алгоритмизация - это техника разработки (составления) алгоритма для решения задач на ЭВМ.

Изобразительные средства для описания (представление) алгоритма

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

Словесно-формульное описание

Блок-схема (схема графических символов)

Алгоритмические языки

Операторные схемы

Псевдокод

Для записи алгоритма существует общая методика:

Каждый алгоритм должен иметь имя, которое раскрывает его смысл.

Необходимо обозначить начало и конец алгоритма.

Описать входные и выходные данные.

Указать команды, которые позволяют выполнять определенные действия над выделенными данными

Общий вид алгоритма

Алгоритм:

Название алгоритма

Описание данных

Начало

Команды

Конец

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

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

Алгоритмы разветвляющейся структуры

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

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

Рисунок 3.2 - Пример алгоритма разветвляющейся структуры

Циклические вычислительные процессы

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

Существуют две схемы циклических вычислительных процессов.

Рисунок 3.3 - Схемы циклических вычислительных процессов

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

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

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

Языки программирования

Языки программирования - это искусственные языки записи алгоритмов для исполнения их на ЭВМ. Программирование (кодирование) - составление программы по заданному алгоритму.

Классификация языков программирования

В общем, языки программирования делятся на две группы: операторные и функциональные. К функциональным относятся ЛИСП, ПРОЛОГ и т.д.

Операторные языки делятся на процедурные и непроцедурные (Smalltalk, QBE). Процедурные делятся на машинно-ориентированные и машинно- независимые.

К машинно-ориентированным языкам относятся: машинные языки, автокоды, языки символического кодирования, ассемблеры.

К машинно-независимым языкам относятся:

Процедурно-ориентированные (Паскаль, Фортран и др.)

Проблемно-ориентированные (ЛИСП и др.)

Объектно-ориентированные (Си++, Visual Basic, Java и др.)

Средства и правила построения блок-схем

Блок-схема является формой представления алгоритма с помощью графических символов. Графические символы, их размеры, а также правила построения блок-схем определены государственными стандартами. Рассмотрим часто употребляемые графические символы (полный список включает 42 символа).

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

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

Рисунок 3.4 - Обозначения на блок схеме элемента процесс

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

Рисунок 3.5 - Обозначения на блок схеме элемента решение

Символ используется для изображения унифицированных структур:

РАЗВИЛКА ПОЛНАЯ

РАЗВИЛКА НЕПОЛНАЯ

ВЫБОР

ЦИКЛ-ДО

ЦИКЛ-ПОКА

Модификация. Выполнение операций, меняющих команды или группу команд, изменяющих программу.

Символ используется для изображения унифицированной структуры ЦИКЛ С ПАРАМЕТРОМ. Внутри символа записывается параметр цикла с указанием начального и конечного значений, а также шаг изменения цикла, если он не равен единице.

Рисунок 3.6 - Обозначения на блок схеме элемента цикл с параметром

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

Рисунок 3.7 - Обозначения на блок схеме элемента предопределенный процесс

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

Рисунок 3.8 - Обозначения на блок схеме элемента ручной ввод

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

Рисунок 3.9 - Обозначения на блок схеме элемента дисплей

Документ. Ввод - вывод данных, носителем которых служит бумага.

Рисунок 3.10 - Обозначения на блок схеме элемента документ

Линия потока. Указание последовательности связей между символами.

Рисунок 3.11 - Обозначения на блок схеме элемента линия потока

Перечислим некоторые правила изображения линий потока:

1) линии потока должны быть параллельны линиям внешней рамки блок-схемы (границам листа, на котором изображена блок-схема);

2) направление линии потока сверху вниз и слева направо принимается за основное и стрелками не обозначается, в остальных случаях направление линии потока обозначается стрелками;

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

Соединитель. Указание связи между прерванными линиями потока, связывающими символы.

Если блок-схема состоит из нескольких частей, расположенных на одной странице, то линия потока одной части заканчивается символом СОЕДИНИТЕЛЬ, а линия потока на продолжении блок-схемы начинается с этого же символа.

Внутри символов СОЕДИНИТЕЛЬ ставятся одинаковые порядковые номера, соответствующие разорванной линии потока.

Рисунок 3.12 - Обозначения на блок схеме элемента соединитель

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

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

Рисунок 3.13 - Обозначения на блок схеме элемента межстраничный соединитель

Пуск - останов. Начало, конец, прерывание процесса обработки данных или выполнения программы.

Рисунок 3.14 - Обозначения на блок схеме элемента пуск

Комментарий. Связь между элементами схемы и пояснениями.

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

Рисунок 3.15 - Обозначения на блок схеме элемента комментарий

Размеры символов должны удовлетворять соотношению b =1.5a .На рисунке 3.15 показан пример использования символа КОММЕНТАРИЙ.

Рисунок 3.15 - Пример использования символа комментарий

Каждому символу на блок-схеме присваивается порядковый номер. Для примера на рис. 1 символу ПРОЦЕСС присвоен порядковый номер 4.

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

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

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

В ходе реализации исходной задачи выполняется следующее:

1. Подключаются рабочие модулю.

2. Подключаются библиотечных элементов.

3. Подключаются автоматические процедуры

4. Подключаются данные о строке состояния.

5. Поиск зашифрованного файла с паролем.

6. Проверка введенного пароля.

7. Вывод модели агрегата.

8. Вывод характеристик агрегата.

9. Сброс параметров агрегата.

Блок-схема алгоритма приведена на чертеже ДП 2-400.202.019.002.

4. Разработка программных модулей

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

Название главной формы:

unit Unit1;

interface

Обьявление всех модулей, используемых в программе:

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, jpeg, Grids, ComCtrls, Menus;

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

type

TForm1 = class(TForm)

Image1: TImage;

Image2: TImage;

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Image3: TImage;

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

Image4: TImage;

Timer1: TTimer;

StatusBar1: TStatusBar;

Image5: TImage;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

procedure FormCreate(Sender: TObject);

procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;

var CanSelect: Boolean);

procedure StringGrid2SelectCell(Sender: TObject; ACol, ARow: Integer;

var CanSelect: Boolean);

procedure Timer1Timer(Sender: TObject);

procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure StringGrid1MouseLeave(Sender: TObject);

procedure Image1MouseLeave(Sender: TObject);

procedure Image2MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Image2MouseLeave(Sender: TObject);

procedure Image3MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Image3MouseLeave(Sender: TObject);

procedure Image4MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Image4MouseLeave(Sender: TObject);

procedure StringGrid2MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure StringGrid2MouseLeave(Sender: TObject);

procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Edit1MouseLeave(Sender: TObject);

procedure Image5MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Image5MouseLeave(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Определение глобальных переменных:

var

Form1: TForm1;

implementation

Определение всех форм, используемых в программе:

uses Unit2, Unit3, Unit4;

Пояснение в строке состояния при наведении мыши на модель агрегата:

procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState;

X,

Y: Integer);

begin

StatusBar1.Panels[0].Text:='Модель агрегата';

end;

Пояснение в строке состояния при наведении мыши на главную форму:

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState;

X,

Y: Integer);

begin

StatusBar1.Panels[0].Text:='';

end;

Пояснение в строку состояния при наведении на изображение агрегата:

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState;

X,

Y: Integer);

begin

StatusBar1.Panels[0].Text:='Изображение агрегата';

end;

Пояснение в строку состояния при наведении на изображение агрегата:

procedure TForm1.Image2MouseMove(Sender: TObject; Shift: TShiftState;

X,

Y: Integer);

begin

StatusBar1.Panels[0].Text:='Изображение агрегата';

end;

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

procedure TForm1.Image3MouseMove(Sender: TObject; Shift: TShiftState;

X,

Y: Integer);

begin

StatusBar1.Panels[0].Text:='Вид резьбы/вид подключения агрегата';

end;

Пояснение в строку состояния при наведении на изображение аналога агрегата:

procedure TForm1.Image4MouseMove(Sender: TObject; Shift: TShiftState;

X,

Y: Integer);

begin

StatusBar1.Panels[0].Text:='Изображение аналога агрегата';

end;

Пояснение в строку состояния при наведении на технические характеристики агрегата:

procedure TForm1.Image5MouseMove(Sender: TObject; Shift: TShiftState;

X,

Y: Integer);

begin

StatusBar1.Panels[0].Text:='Технические характеристики агрегата';

end;

Процедура создания главной формы:

procedure TForm1.FormCreate(Sender: TObject);

Описание переменных:

var s1,s2,U,I,A,B,C,k,sh:string; n,j:integer;

f:textfile;

Начала кода программы:

Begin

Начала кода, который перехватывает ошибки:

try

Сброс данных по предыдущему агрегата:

s1:=''; s2:='';

U:='';

I:='';

A:='';

B:='';

C:='';

Label8.Caption:='';

Label9.Caption:='';

Label5.Caption:='A: ';

Label6.Caption:='B: ';

Label7.Caption:='C: ';

Image1.Visible:=False;

Image2.Visible:=False;

Image3.Visible:=False;

Image4.Visible:=False;

StringGrid1.Visible:=False;

StringGrid2.Visible:=False;

StringGrid1.RowCount:=2;

StringGrid1.Cells[0,0]:='Компоненты';

StringGrid1.Cells[0,1]:='';

StringGrid2.Cells[0,0]:='';

StringGrid2.Cells[0,1]:='';

Считывание модели агрегата:

s1:=Edit1.text;

Чтение характеристик и параметров агрегата из файла:

assignfile(f,ExtractFilePath(paramstr(0))+'\1\'+s1+'\1.txt');

reset(f);

readln(f,U);

readln(f,I);

readln(f,A);

readln(f,B);

readln(f,C);

closefile(f);

Чтение из файла и вывод на экран компонентов агрегата:

StringGrid1.Visible:=True;

assignfile(f,ExtractFilePath(paramstr(0))+'\1\'+s1+'\2.txt');

reset(f);

readln(f,n);

StringGrid1.RowCount:=n+1;

for j := 1 to n do

begin

readln(f,k);

StringGrid1.Cells[0,j]:=k;

end;

closefile(f);

Отображение внешнего вида агрегата:

Image1.Visible:=True;

Image2.Visible:=True;

Image3.Visible:=True;

Image1.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'\1\'+s1+'\1.jpg'

);

Image2.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'\1\'+s1+'\2.jpg'

);

Image3.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'\1\'+s1+'\3.jpg'

);

Вывод характеристик и параметров агрегата на экран:

Label8.Caption:=U;

Label9.Caption:=I;

If A<>'' then Label5.Caption:=Label5.Caption+A+' mm';

if B<>'' then Label6.Caption:=Label6.Caption+B+' mm';

if C<>'' then Label7.Caption:=Label7.Caption+C+' mm';

Начала кода программы при возникновении ошибки:

except

Удаление данных по агрегату при возникновении ошибки:

Label8.Caption:='';

Label9.Caption:='';

Label5.Caption:='A: ';

Label6.Caption:='B: ';

Label7.Caption:='C: ';

Image1.Picture:=nil;

Image2.Picture:=nil;

Image3.Picture:=nil;

Image4.Picture:=nil;

end;

end;

Открытие новой формы при нажатии пользователем на кнопку «О программе»:

procedure TForm1.N1Click(Sender: TObject);

begin

Form4.Show;

end;

Открытие новой формы при нажатии пользователем на кнопку «Добавить»:

procedure TForm1.N2Click(Sender: TObject);

begin

Form3.Show;

end;

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

procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift:

TShiftState; X,

Y: Integer);

begin

StatusBar1.Panels[0].Text:='Компоненты агрегата';

end;

Процедура поиска аналогов выделенного агрегата:

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow:

Integer;

var CanSelect: Boolean);

var f:textfile; n,j:integer; str1,str2,k,s1:string;

begin

s1:=Edit1.text;

StringGrid2.Visible:=True;

str1:=stringGrid1.Cells[ACol,ARow];

StringGrid2.Cells[0,0]:=str1;

assignfile(f,ExtractFilePath(paramstr(0))+'\1\1\'+str1+'.txt');

reset(f);

readln(f,n);

StringGrid2.RowCount:=n+1;

for j := 1 to n do

begin

readln(f,k);


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.