Электронный справочник программиста на предприятии (с базой данных)

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

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

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

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

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

Корпорация Borland постоянно обогащала язык. Когда-то в версию 4.0 были включены средства раздельной трансляции, позже, начиная с версии 5.5, появились объекты, а в состав шестой версии пакета вошла полноценная библиотека классов Turbo Vision, реализующая оконную систему в текстовом режиме работы видеоадаптера. Это был один из первых продуктов, содержавших интегрированную среду разработки программ.

В классе инструментальных средств для начинающих программистов продуктам компании Borland пришлось конкурировать со средой Visual Basic корпорации Microsoft, где вопросы интеграции и удобства работы были решены лучше.

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

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

Как язык Turbo Pascal естественно сравнивать с его ближайшими конкурентами - многочисленными вариациями на тему языка Basic (в первую очередь с Visual Basic корпорации Microsoft) и с C++. Turbo Pascal существенно превосходит Basic за счет полноценного объектного подхода, включающего в себя развитые механизмы инкапсуляции, наследование и полиморфизм. Последняя версия языка, применяемая в Delphi, по своим возможностям приближается к C++.

Из основных механизмов, присущих C++, отсутствует только множественное наследование. (Впрочем, этим красивым и мощным механизмом порождения новых классов пользуется лишь небольшая часть программистов, пишущих на С++.)

Плюсы применения языка Pascal очевидны: с одной стороны, в отличие от Visual Basic, основанного на интерпретации промежуточного кода, для него имеется компилятор, генерирующий машинный код, что позволяет получать значительно более быстрые программы. С другой - в отличие от C++ синтаксис языка Pascal способствует построению очень быстрых компиляторов.

Среда программирования представляет собой несколько отдельных окон: меню и инструментальные панели, Object Inspector (в котором можно видеть свойства объекта и связанные с ним события), окна визуального построителя интерфейсов (Visual User Interface Builder), Object Browser (позволяющее изучать иерархию классов и просматривать списки их полей, методов и свойств), окна управления проектом (Project Manager) и редактора [40-42].

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

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

Нужно выбрать форму (в понятие формы входят обычные, диалоговые, родительские и дочерние окна MDI), задать ее свойства и включить в нее необходимые компоненты (видимые и, если понадобится, неотображаемые): меню, инструментальные панели, строку состояния и т.п., задать их свойства и далее написать (с помощью редактора исходного кода) обработчики событий. Object Browser Окна типа Object Browser стали неотъемлемой частью систем программирования на объектно-ориентированных языках. Работа с ними становится возможной сразу после того, как вы скомпилировали приложение.

Projeсt Manager - это отдельное окно, где перечисляются модули и формы, составляющие проект.

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

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

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

Visual Component Library (VCL) Богатство палитры объектов для построения пользовательского интерфейса - один из ключевых факторов при выборе инструмента визуального программирования. При этом для пользователя имеет значение как число элементов, включенных непосредственно в среду, так и доступность элементов соответствующего формата на рынке.

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

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

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

Были изучены особенности разнообразных средств разработки, в результате которых для разработки программного комплекса были выбраны BDE и Delphi.

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

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

Благодаря этому не надо менять приложение при смене реализации базы данных. Приложение Delphi обращается к базе данных через BDE. В этом случае общение с базами данных соответствует схеме, приведенной на рисунке 3. [44].

Приложение Delphi, когда ему нужно связаться с базой данных, обращается к BDE и сообщает обычно псевдоним базы данных и необходимую таблицу в ней. BDE реализован в виде динамически присоединяемых библиотек DLL (файлы IDAPI01. DLL, IDAPI32. DLL). Они, как и любые библиотеки, снабжены API (Application Program Interface - интерфейсом прикладных программ), названным IDAPI (Integrated Database Application Program Interface). Это список процедур и функций для работы с базами данных, которым и пользуются приложения.

BDE по псевдониму находит подходящий для указанной базы данных драйвер. Драйвер - это вспомогательная программа, которая понимает, как общаться с базами данных определенного типа. Если в BDE имеется собственный драйвер соответствующей СУБД, то BDE связывается через него с базой данных и с нужной таблицей в ней, обрабатывает запрос пользователя и возвращает в приложение результаты обработки. BDE поддерживает естественный доступ к таким базам данных, как Microsoft Access, FoxPro, Paradox и dBase.

Рисунок 3. Схема связи приложения Delphi с базами данных

Если собственного драйвера нужной СУБД в BDE нет, то используется драйвер ODBC. ODBC (Open Database Connectivity) - DLL, аналогичная по функциям BDE, но разработанная фирмой Microsoft. Она хранится в файле ODBC. DLL. Поскольку Microsoft включила поддержку ODBC в свои офисные продукты и для ODBC созданы драйверы практически к любым СУБД, фирма Borland включила в BDE драйвер, позволяющий использовать ODBC. Правда, работа через ODBC осуществляется несколько медленнее, чем через собственные драйверы СУБД, включенные в BDE, но благодаря связи с ODBC масштабируемость Delphi существенно увеличилась и сейчас из Delphi можно работать с любой сколько-нибудь значительной СУБД [45].

BDE поддерживает SQL - стандартизованный язык запросов, позволяющий обмениваться данными с SQL-серверами, такими, как Sybase, Microsoft SQL, Oracle, Interbase. Эта возможность используется особенно широко при работе на платформе клиент/сервер.

Другой важный момент - скорость разработки. Она до сих пор остается самой высокой по сравнению с другими наборами компонент (даже с IBObjects). А скорость разработки - это в первую очередь более низкая стоимость разработки системы [46].

2.6 Проектирование базы данных

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

Данные темы подробно раскрыты в этом разделе.

Прежде, чем начать стоить приложение, работающее с базами данных, надо иметь сами базы данных. Для создания БД в данном случае использовалась программа Database Desktop, которая поставляется вместе с BDE и Delphi и которая позволяет создавать таблицы баз данных некоторых СУБД, задавать и изменять их структуру. Для создания с помощью Database Desktop таблиц базы данных была использована СУБД Paradox 7. В Paradox 7 база данных - это каталог, в котором лежат таблицы - файлы с расширением. db. При разработке структуры БД было принято решение о создании четырех таблиц:

Таблица 2.

"SOTRUDNIK"

ID

N_otd

FNS

Data_Birth

Work

Dey_begin

Last_work

Stag

Education

Married

N_child

Notdela

ID - порядковый номер

N_otd - номер сотрудника в отделе

FNS - Фамилия, Имя, Отчество сотрудника

Data_Birth - Дата рождения

Work - должность

Dey_begin - дата приема на работу

Last_work - предыдущее место работы

Stag - стаж

Education - образование

Married - наличие семьи

N_child - количество детей

Notdela - номер отдела

Таблица 3.

"OTDEL"

ID

Name_of_depart

SN_Header

Phone

ID - порядковый номер

Name_of_depart - номер отдела

SN_Header - начальник отдела

Phone - телефон

Таблица 4.

"OBRAZOVANIE"

IDsort

Тип образования

Форма обучения

Учебное заведение

Дата окончания

Специальность

Комментарий

Таблица 5.

"FAMILY"

IDsort

Член семьи

Дата рождения

ФИО

При создании новой таблицы, в представленном окне на рисунке 4, задается структура таблицы (поля и их типы), создаются вторичные индексы, выводятся диапазоны допустимых значений полей, значения по умолчанию.

Рисунок 4. Окно конструктора Paradox 7

Для каждого поля создаваемой таблицы, прежде всего, указывается имя - идентификатор поля. Он может включать до 25 символов и не может начинаться с пробела. Затем надо выбрать тип данных этого поля. Для некоторых типов необходимо задать размер (Size). Например, для строкового типа Alpha размер - это число символов.

Ключевые поля должны быть отмечены символом "*" в последней колонке.

Для таблицы SOTRUDNIK. db создается вторичный индекс fio, и в окне задания вторичного индекса на панели радиокнопок Index Options (опции индекса) устанавливается Maintained, что обуславливает обновление индекса при каждом изменении в таблице. В противном случае индекс обновляется только в момент связывания с таблицей или передачи в нее запроса. Поэтому полезно включать эту опцию для обновляемых таблиц. Если таблица используется только для чтения, эту опцию лучше не включать [3].

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

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

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

Всякая нормализованная таблица автоматически считается таблицей в первой нормальной форме, сокращенно 1НФ. Таким образом, строго говоря, "нормализованная" и "находящаяся в 1НФ" означают одно и то же. Однако на практике термин "нормализованная" часто используется в более узком смысле - "полностью нормализованная", который означает, что в проекте не нарушаются никакие принципы нормализации. Дадим точные определения наиболее распространенных форм нормализации.

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

Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.

Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и ни одно из ее неключевых полей не зависит функционально от любого другого неключевого поля.

Таблица 6.

Инфологическая таблица базы данных "Кадровый учет"

Таблица

Поле

Тип

Размер поля

Ключ

Индекс

OBRAZOVANIE

IDsort

Тип образования Форма обучения Учебное заведение

Дата окончания

Специальность Комментарий

N

A

A

A

D

A

A

10

10

20

22

20

Да

Нет

Нет

Нет

Нет

Нет

Нет

Да

Нет

Нет

Нет

Нет

Нет

Нет

FAMILY

IDsort

Член семьи

Дата рождения

ФИО

N

A

D

A

10

50

Да

Нет

Нет

Нет

Да

Нет

Нет

Нет

OTDEL

ID

Name_of_depart

SN_Header

Phone

N

A

A

N

20

40

Да

Нет

Нет

Нет

Да

Нет

Нет

Нет

SOTRUDNIK

ID

N_otd

FNS

Data_Birth

Work

Dey_begin

Last_work

Stag

Education

Married

N_child

Notdela

N

N

A

D

A

D

A

N

A

A

N

N

50

18

12

5

5

Да

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Да

Нет

Да

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Нет

Таким образом, каждая нормальная форма является в некотором смысле более ограниченной, но и более желательной, чем предшествующая. Это связано с тем, что " (N+1) - я нормальная форма" не обладает некоторыми непривлекательными особенностями, свойственным "N-й нормальной форме".

Общий смысл дополнительного условия, налагаемого на (N+1) - ю нормальную форму по отношению к N-й нормальной форме, состоит в исключении этих непривлекательных особенностей. Теория нормализации основывается на наличии той или иной зависимости между полями таблицы. Определены два вида таких зависимостей: функциональные и многозначные [48].

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

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

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

Вывод: Разрабатываемая модель БД находится в третьей нормальной форме, так как:

1) ни одна из строк таблиц БД не содержит в любом своем поле более одного значения;

2) ни одно из ключевых полей не пусто;

3) ни одно из неключевых полей всех таблиц БД не зависит функционально от любого другого неключевого поля.

Выделение сущностей.

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

Таблица 7.

Выделение сущностей

Название сущности

Атрибут

Ключ

FAMILY

IDsort, Член семьи, Дата рождения, ФИО

IDsort

OBRAZOVANIE

IDsort, Тип образования, Форма обучения, Учебное заведение, Дата окончания, Специальность, Комментарий

IDsort

OTDEL

ID, Name_of_depart, SN_Header, Phone

ID

SOTRUDNIK

ID, N_otd, FNS, Data_Birth, Work, Dey_begin, Last_work, Stag, Education, Married, N_child, Notdela

ID

При проектировании БД существуют взаимосвязи между информационными объектами трех типов: "один к одному", "один ко многим", "многие ко многим" (рисунок 5).

Рисунок 5. Взаимосвязи между объектами

Построение концептуальной модели.

Выделение связей между сущностями осуществляется на основании анализа предметной области. Все выделенные связи представлены на рисунке 4.

Модели "сущность-связь", дающие возможность представлять структуру и ограничения реального мира, а затем трансформировать их в соответствии с возможностями промышленных СУБД, являются весьма распространенными [49].

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

Тип сущности - сотрудник

Экземпляр сущности - Иванов, Петров, Сидоров и др.

В данном примере отдел, сотрудник, образование семья - сущности. Проанализируем связи между сущностями (рисунок 5).

Рисунок 5. Выделение связей между сущностями

Теперь можно перейти к проектированию информационной (концептуальной) схемы БД (атрибуты сущностей на диаграмме не показаны) (рисунок 6).

Логическое проектирование базы данных.

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

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

Рисунок 6. ER-диаграмма модели данных "Кадровый учет"

TableOtdel-otdel. db

TableSotrud-sotrudnik. db

TableFamily-family. db

TableObraz-obrazovanie. db

В данном случае головной таблицей является таблица OTDEL и связана с таблицей SOTRUDNIK по ключевому полю ID и полю Notdela.

Связь устанавливается следующим образом: в свойстве MasterSource компонента Table, настроенного на вспомогательную таблицу, то есть SOTRUDNIK, устанавливается имя головной таблицы.

После этого в свойстве Master Fields, щелчком открывается окно редактора связей полей (Field Link Designer). Его вид приведен на рисунке 8.

Рисунок 7. Логическое проектирование базы данных

В нем слева в окне Detail Fields расположены имена полей вспомогательной таблицы, но только тех по которым таблица индексирована. Слева в окне Master Fields расположены поля головной таблицы.

Теперь необходимо выделить в одном и другом окне поля по которым будет осуществляться связь таблиц, и после щелчка по кнопке Add, эти поля переносятся в окно Joined Fields - соединяемые поля.

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

Таблица FAMILY связана с таблицей SOTRUDNIK по ключевым полям IDsort и ID и таблицы OBRAZOVANIE и SOTRUDNIK, также по ключевым полям IDsort и ID.

Рисунок 8. Окно редактора связей полей головной (OTDEL) и вспомогательной (SOTRUDNIK) таблиц.

2.7 Разработка алгоритмов обработки информации

Перед началом разработки алгоритма необходимо четко уяснить задачу: что требуется получить в качестве результата, какие исходные данные необходимы и какие имеются в наличии, какие существуют ограничения на эти данные. Далее требуется записать, какие действия необходимо предпринять для получения из исходных данных требуемого результата [47].

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

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

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

- словесная (записи на естественном языке);

- графическая (изображения из графических символов);

- псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и другое);

- программная (тексты на языках программирования).

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Словесный способ не имеет широкого распространения по следующим причинам:

- такие описания строго не формализуемы;

- страдают многословностью записей;

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

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

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

Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.

Он занимает промежуточное место между естественным и формальным языками.

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

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

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

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

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

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

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

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

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода [48].

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

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

Структура ветвление существует в четырех основных вариантах:

- если-то;

- если-то-иначе;

- выбор;

- выбор-иначе.

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

Структура цикл существует в трех основных вариантах:

Цикл типа для.

Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.

Цикл типа пока.

Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.

Цикл типа делать - пока.

Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока. Условие проверяется после выполнения тела цикла.

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

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

Алгоритм, в состав которого входит итерационный цикл, называется итерационным алгоритмом.

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

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

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

В данном разделе приводятся блок-схемы основных процессов, происходящих в системе.

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

Рисунок 9. Блок-схема операций, выполняющихся непосредственно над базой данных.

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

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

Рисунок 10. Блок схема, показывающая процесс выполнения запроса.

2.8 Анализ алгоритмов работы с базой данных

Система управления разработанной БД использует реляционный подход для построения базы данных [50]. Подобные системы основаны на реляционной модели данных, которые используются для моделирования взаимосвязей между объектами реального мира и для хранения данных об этих объектах.

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

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

Рисунок 11. Вид формы для проектирования запросов

1) Uses DMData;

procedure TFormSQL. RadioGroup1Click (Sender: TObject);

begin

Case RadioGroup1. ItemIndex of

0: Begin

DataModule1. QuerySQL. Close;

DataModule1. QuerySQL. SQL. Clear;

DataModule1. QuerySQL. SQL. Add ('select distinct * from Sotrudnik where Married = ''есть''');

DataModule1. QuerySQL. Open;

end;

1: Begin

DataModule1. QuerySQL. Close;

DataModule1. QuerySQL. SQL. Clear;

DataModule1. QuerySQL. SQL. Add ('select distinct * from Sotrudnik where Married = ''нет''');

DataModule1. QuerySQL. Open;

end;

end;

end.

Под цифрой 1 показан фрагмент запроса по наличию семьи: в первом случае, используя оператор выбора select языка SQL, выполняется выбор всех неповторяющихся полей таблицы Sotrudnik, в которой есть сотрудники имеющие семьи.

2) procedure TFormSQL. Edit1Change (Sender: TObject);

begin

If (Edit1. Text <> '') and (Edit1. Text <> ' ') then

begin

DataModule1. QuerySQL. Close;

DataModule1. QuerySQL. SQL. Clear;

DataModule1. QuerySQL. SQL. Add ('Select * from sotrudnik');

DataModule1. QuerySQL. SQL. Add ('Where stag >= '+ Edit1. Text);

DataModule1. QuerySQL. Open;

end;

end.

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

3) procedure TFormSQL. Edit2Change (Sender: TObject);

begin

If (Edit2. Text <> '') and (Edit2. Text <> ' ') then

Begin

DataModule1. QuerySQL. close;

DataModule1. QuerySQL. SQL. Clear;

DataModule1. QuerySQL. SQL. Add ('Select * from sotrudnik ');

DataModule1. QuerySQL. SQL. Add ('where N_Child >= '+ Edit2. text);

DataModule1. QuerySQL. Open;

End;

End.

Аналогично выполняется запрос по количеству детей у сотрудников.

2.9 Создание форм

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

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

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

Рисунок 12. Страница Forms окна опций проекта

Модальные формы.

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

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

Рисунок 13. Форма "Личная карточка"

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

При использовании кнопок можно обойтись и без подобных обработчиков. В приложении "Кадровый учет" для создания модальных форм были использованы кнопки типа TBitBtn, которые имеют свойство ModalResult, по умолчанию равное mrNone (рисунок 14).

Рисунок 14. Фрагмент инспектора объектов

Обработка информации.

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

Для подготовки и печати отчетов использовались компоненты Delphi системы QuickReport. QuickReport - это система, позволяющая визуально проектировать отчеты и связывать их с кодом приложения. Основным компонентом, на котором строится весь отчет, является QuickRep. QuickRep имеет два основных метода: Preview - предварительный просмотр, и Print - печать. На примере фрагмента листинга формы UnPrintPriem можно увидеть, что для построения "приказа о приеме на работу" были использованы компоненты QuickRep.

QuickRep1: TQuickRep; // введение в приложение средств печати

отчетов QuickReport

QRLabel1: TQRLabel; // размещение текста в отчете

QRNum: TQRLabel; // размещение на приказе номера документа

QRLabel3: TQRLabel;

QRDate: TQRLabel; // размещение на приказе даты

QRDBText1: TQRDBText; // размещение текста из базы данных

QRBand1: TQRBand; // размещает на приказе полосу

Далее приведен фрагмент листинга программы формирования отчета и его просмотр:

var

FmPriem: TFmPriem;

implementation

uses dmData, UnPrintPriem;

{$R *. dfm}

procedure TFmPriem. BitBtn1Click (Sender: TObject);

begin

FmPrintPriem. QRNum. Caption: = EditNum. Text;

FmPrintPriem. QRCond. Caption: = EditCond. Text;

FmPrintPriem. QRDate. Caption: = DateToStr (DateTimePicker1. Date);

FmPrintPriem. QRDate2. Caption: = DateToStr (DateTimePicker2. Date);

FmPrintPriem. QRTab. Caption: = EditTab. Text; // Таб номер

FmPrintPriem. QROklad. Caption: = Edit1. Text; // Оклад

FmPrintPriem. QRNadb. Caption: = EditNadb. Text;

FmPrintPriem. QRSrok. Caption: = EditSrok. Text;

FmPrintPriem. QRDogN. Caption: = EditDog. Text;

FmPrintPriem. QRDolghn. Caption: = EditRuk. Text;

FmPrintPriem. QRCript. Caption: = EditRukD. Text;

FmPrintPriem. QRDDate. Caption: = DateToStr (DateTimePicker3. Date);

FmPrintPriem. QuickRep1. Preview;

end;

После запуска на выполнение можно увидеть окно предварительного просмотра отчета перед печатью, показанное на рисунке 15.

2.10 Разработка интерфейса взаимодействия пользователя с системой

В результате выполненного анализа инструментальных средств было выявлено, что в качестве средства разработки АИС будет использован Delphi, как наиболее оптимальное средство разработки с точки зрения разработчика.

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

Рисунок 15. Окно предварительного просмотра

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

Чаще всего сколько-нибудь сложное приложение не может ограничиться одним окном. Есть две различные модели приложений: с интерфейсом одного документа (SDI) и с интерфейсом множества документов (MDI).

В приложении MDI имеется родительское окно и ряд дочерних окон (окна документов).

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

Для проектирования приложения "АИС "Кадровый учет" было отдано предпочтение интерфейсу SDI.

Первая главная форма дипломной работы (рисунок 16) имеет стандартный для Windows вид с полосой заголовка, который задается значением bsSihgle свойства BorderStyle. Свойство BorderIcons определяет набор кнопок, которые имеются в полосе заголовка, а именно - кнопка системного меню, закрывающая окно, кнопка Свернуть и кнопка Развернуть.

Свойство WindowsState имеет значение wsNormal определяет, что окно первоначально предъявляется пользователю при выполнении приложения в нормальном виде, и значение Position равное poScreenCenter означает, что окно расположится в центре экрана.

Рисунок 16. Главная форма приложения

Для вторичных диалоговых окон был использован стиль - BorderStyle равный bsDialog. Это неизменяемое по размерам окно, типичное окно диалогов.

2.11 Описание программы

Общие сведения.

Программа называется jane и сохранена в файле jane. dpr. Программа использует вспомогательные модули main, new, dmData, about, сохранённые соответственно в файлах main. pas, new. pas, about. pas, dmData. pas. Программа написана на языке программирования Delphi. Программа использует данные из таблиц базы данных otdel. db, sotrudnik. db, family. db, obrazovanie. db

Функциональное назначение.

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

Реализация графа диалога.

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

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

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

Рисунок 17. Дерево экранных форм

Описание логической структуры.

Программа управляется событийно. При нажатии на какую-либо кнопку в программу поступает сообщение, при этом вызывается соответствующая процедура-обработчик, которая обрабатывает данное событие. Результаты обработки можно видеть на экране монитора. Например: при нажатии на кнопку "Работа” в форме "Дипломный проект” вызывается процедура, содержащаяся в модуле New, которая скрывает форму "Дипломный проект”, выводит на экран монитора форму "Кадровый учет”, при этом управление передается модулю Main.

Вызов и загрузка.

Для выполнения программы необходимо загрузить на персональном компьютере программную оболочку Delphi, откомпилировать исходный текст программы, содержащийся в файле jane. dpr. Вызвать exe файл и далее работать с ним. Перед началом работы необходимо пройти процедуру авторизации (рисунок 18).

Рисунок 18. Форма Ввод пароля

Входные и выходные данные.

Входные данные:

название отдела,

ФИО начальника,

телефон,

ФИО сотрудников, должность,

дата приема на работу,

место последней работы,

стаж на дату приема,

признак наличия образования,

признак наличия семьи,

количество детей,

семейное положение,

даты рождения,

ФИО,

тип образования,

форма обучения,

учебное заведение,

дата окончания,

специальность.

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

2.12 Описание задачи

В процессе создания дипломной работы была разработана программа "АИС Кадровый учёт”. Для выхода из программы следует кнопку "Выход”.

При нажатии на кнопку "О программе" на экран монитора выводится окно "О программе" с пояснением к программе, содержащее кнопку "OK”. При нажатии на кнопку "OK” окно закрывается.

Для продолжения работы следует нажать кнопку "Работа” (рисунок 19).

Рисунок 19. Форма Работа

При нажатии на кнопку "Работа”, на экране монитора появляется форма "Кадровый учет”, в которой находится таблицы, содержащие информацию об отделах и сотрудниках отделов, где пользователь может получить сведения об отделах данного предприятия, список сотрудников, входящих в тот или иной отдел, некоторую информацию о данных сотрудниках, а также при желании дополнительную информацию о каждом сотруднике и отредактировать эти сведения. Данная форма содержит четыре таблицы: таблица отделов, сотрудников и две таблицы с дополнительной информацией о семейном положении и образовании сотрудника (рисунок 20).

Рисунок 20. Отображение дополнительных таблиц

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

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

При работе в главной форме можно сформировать приказы об увольнении (рисунок 21) и принятии на работу (рисунок 22), личные карточки сотрудников (рисунок 23) и выводить их на печать.

Рисунок 21. Данные об увольнении

Рисунок 22. Данные о приеме на работу

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

Заключение

Технический прогресс за последнее столетие стремительно продвинулся вперед, современная вычислительная техника и системы телекоммуникаций достигли огромных результатов за последние несколько лет в плане быстродействия, объемов обрабатываемой и хранимой информации. Развитие систем проектирования программ (объектно-ориентированные системы визуального программирования, СУБД, системы моделирования нейронных сетей, и т.п.) дало в руки инженеров и системных аналитиков мощнейшие средства разработки и внедрения в жизнь самых фантастических проектов. Компьютеры же стали надежным, а иногда и единственным, средством решения научных, инженерно-технических, экономических, управленческих задач, в которых они традиционно применялись.

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

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

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

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

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

1. При разработке АИС был пройден полный цикл проектирования программы от постановки задачи заказчиком до сдачи АИС в эксплуатацию.

2. Разработанная АСИС позволяет достигнуть следующих эффектов:

- уменьшение времени необходимого для учета кадров на предприятие;

- автоматизация учета кадров;

- возможность длительного хранения информации о сотрудниках на предприятии большого срока давности;

- своевременное получение информации о сотрудниках и какой-либо информации о них.

3. Целесообразность разработки обуславливается экономической выгодой для предприятия. Для этого были произведены расчеты экономической эффективности разрабатываемого программного продукта.

4. Так же при создании АИС "Кадровый учет” были исследованы условия труда инженера-программиста на его рабочем месте на предприятии и сделаны конкретные предложения по их улучшению.

5. На основании вышесказанного можно сделать вывод о том, что разработка АИС "Кадровый учет” является целесообразной и будет приносить реальную пользу при использовании ее на предприятии.

Список использованных источников

1. http://ru. wikipedia.org/wiki/Система_автоматизации_документо оборота

2. http://alldocs.ru/download/index. php

3. Аладин, Н. Электронный документооборот для всех и для всего / Н. Аладин // Банковские технологии. - 2008. - №7. - С.57-59

4. ГОСТ Р 6.30-2003 "Унифицированные системы документации. Система организационно-распорядительной документации. Требование к оформлению документов".

5. В. И, Максимович, Г.Ю. Берестова, Секретарское дело № 4/ 2003 "Принципы автоматизации делопроизводства" стр.24-26.

6. Белая, Т.Р. Автоматизированная система документационного обеспечения управления: организация создания АС ДОУ / Т.Р. Белая // Делопроизводство. - 2007. - №3. - С.40-47

7. Журавлева, Н. Распознавание отсканированного документа как необходимый этап организации работы с документами в СЭД / Н. Журавлева // Секретарское дело. - 2008. - №9. - С.92-95

8. Кузнецов, С.Л. Международные требования к системам автоматизации делопроизводства / С.Л. Кузнецов // Делопроизводство. - 2006. - №3. - С.63-69

9. О системе LanDocs [Электронный ресурс]. - 2009. - Режим доступа: http://www.landocs.ru/system/index. php

10. Подолина, О. Автоматизация подготовки организационно-распорядительного документа: работа с его шаблоном / О. Подолина // Секретарское дело. - 2008. - №10. - С. 20-21

11. Подолина, О. Жизненный цикл входящего документа в системе электронного документооборота / О. Подолина // Секретарское дело. - 2009. - №3. - С.26-27

12. Романов, Д.А., Ильина, Т.Н., Логинова, А.Ю. Правда об электронном документообороте / Д.А. Романов, Т.Н. Ильина, А.Ю. Логинова. - М.: Компания АйТи: ДМК Пресс, 2004. - 224 с.

13. Серова, Г. Основные объекты и принципы автоматизации документационного обеспечения управления / Г. Серова // Секретарское дело. - 2008. - №1. - С30-43

14. Якобсон, И. "Локальное" решение электронного документооборота / И. Якобсон // Банковские технологии. - 2008. - №4. - С52


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

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

    дипломная работа [750,8 K], добавлен 10.07.2017

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

    курсовая работа [1,5 M], добавлен 23.01.2010

  • Разработка программного обеспечения для управления базой данных. Место задачи в системе автоматизации. Семантическое моделирование данных. Разработка программного обеспечения и базы данных. Расчет трудоемкости и себестоимости этапов проектирования.

    дипломная работа [2,9 M], добавлен 04.02.2016

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

    курсовая работа [650,9 K], добавлен 27.02.2013

  • Основные подходы к решению проблем управления электронным документооборотом. Разработка информационной системы для работы с базой данных (БД). Проектирование логической структуры БД, программная реализация. Тестирование и отладка программного средства.

    курсовая работа [1,3 M], добавлен 06.01.2013

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

    курсовая работа [37,0 K], добавлен 07.12.2010

  • Проектирование программного обеспечения для создания баз данных о работах студентов университета при помощи языка Visual Basic. Разработка интерфейса пользователя. Руководство для системного программиста. Краткое описание алгоритма работы с программой.

    курсовая работа [2,6 M], добавлен 19.03.2010

  • Появление системы управления базами данных. Этапы проектирования базы данных "Строительная фирма". Инфологическая и даталогическая модель данных. Требования к информационной и программной совместимости для работы с базой данных "Строительная фирма".

    курсовая работа [93,0 K], добавлен 31.03.2010

  • Требования к подсистеме создания Scorm-пакетов. Построение диаграммы потоков данных. Проектирование программного средства. Выбор средств реализации подсистемы. Организация взаимодействия приложения с базой данных. Реализация пользовательского интерфейса.

    курсовая работа [634,2 K], добавлен 16.08.2012

  • Программа для работы с однотабличной ненормализованной базой данных. Цель программы: обеспечение инструментарием для работы с базой данных различных школьных соревнований. Работа с базой данных на физическом и логическом уровнях. Элементы языка.

    курсовая работа [114,3 K], добавлен 02.03.2009

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