Главная
Рефераты по биологии Рефераты по экономике Рефераты по москвоведению Рефераты по экологии Краткое содержание произведений Рефераты по физкультуре и спорту Топики по английскому языку Рефераты по математике Рефераты по музыке Остальные рефераты Рефераты по авиации и космонавтике Рефераты по административному праву Рефераты по безопасности жизнедеятельности Рефераты по арбитражному процессу Рефераты по архитектуре Рефераты по астрономии Рефераты по банковскому делу Рефераты по биржевому делу Рефераты по ботанике и сельскому хозяйству Рефераты по бухгалтерскому учету и аудиту Рефераты по валютным отношениям Рефераты по ветеринарии Рефераты для военной кафедры Рефераты по географии Рефераты по геодезии Рефераты по геологии |
Курсовая работа: Разработка информационной системы «Служба занятости»Курсовая работа: Разработка информационной системы «Служба занятости»Курсовой проект по дисциплине: Базы данных Выполнил студент группы АСОУ-031 Самусенко А.В. Ставропольский институт управления Ставрополь 2006 ВведениеОсновная цель профессиональной ориентации службы занятости - оказывать содействие гражданам, обращающимся в службу занятости, в получении подходящей работы в соответствии с их личными интересами, потребностями работодателей и рынка труда путем их профессионального информирования, консультирования. Система профессиональной ориентации в государственной службе занятости предоставляет следующие услуги: - информирование и консультирование граждан, обращающихся в службу занятости в целях выбора работы, режима труда; - профессиональная ориентация безработных граждан. Основная проблема в работе рекрутерских фирм - отсутствие взаимопонимания с клиентами. Заказывая работника, российские клиенты обычно сами не знают, чего именно они хотят. Нередки случаи, когда потенциальные работодатели просят фирму подобрать специалиста, но при этом название должности, функциональные обязанности будущего работника и предлагаемая ему заработная плата между собой никак не коррелируют. Во многом это связанно с тем, что в большинстве фирм обязанности сотрудников сформулированы плохо и без учета их квалификации. Подав заявление в систему, трудоустраиваемый работник или работодатель становится ее клиентом и начинает обслуживаться на протяжении срока обслуживания заявки. Срок обслуживания заявки рассматривается несколько месяцев. Если за это время заявка не выполняются то она возвращается. Заявка представляет собой анкету. Основным назначением системы является автоматизация ввода и хранения данных по трудоустраиваемым гражданам и работодателям. Система позволяет изменять, дополнять, вести поиск и просмотр информации о трудоустраиваемых гражданах и работодателях. 1. Создание модели ИС с AllFusion Process Modeler 4.1 (Bpwin 4.1)Для проведения анализа и реорганизации бизнес - процессов предназначено CASE-средство верхнего уровня AllFusion Process Modeler (BPwin), поддерживающее методологии: IDEF0 (функциональная модель); DFD (DataFlow Diagram); IDEF3 (Workflow Diagram). 1.1. Создание модели в стандарте IDEF0 Функциональная модель предназначена для описания существующих бизнес - процессов на предприятии (так называемая модель AS-1S) и идеального положения вещей - того, к чему нужно стремиться (модель ТО-ВЕ). Методология IDEF0 предписывает построение иерархической системы диаграмм - единичных описаний фрагментов системы. Построение модели информационной системы начинается с описания функционирования предприятия (системы) в целом в виде контекстной диаграммы. На Рис. 1 представлена контекстная диаграмма информационной системы «Службы занятости». Рис. 1 - Контекстная диаграмма «Службы занятости». Взаимодействие системы с окружающей средой описывается в терминах входа (на рис.1 это «Заявка работодателя» и «Заявка трудоустраиваемого»), выхода («Отчет о выполненных заявках», «Отчет о невыполненных заявках», «Возврат невыполненных заявок» и «Возврат выполненных заявок»), управления («Правила и процедуры») и механизмов («Персонал» – это ресурсы, необходимые для процесса функционирования службы занятости). «Правила и процедуры» – это правила, которыми управляется процесс функционирования службы занятости. В оказании услуг принимает участие “Персонал” службы занятости. Общие стрелки и диаграммы, опишем с помощью отчета:
После описания контекстной диаграммы проводится функциональная декомпозиция - система разбивается на подсистемы и каждая подсистема описывается отдельно (диаграммы декомпозиции). Затем каждая подсистема разбивается на более мелкие и так далее до достижения нужной степени подробности. В результате такого разбиения, каждый фрагмент системы изображается на отдельной диаграмме декомпозиции. После дальнейшего разбиения диаграммы получаем три диаграммы декомпозиции, описывающие каждая одну из работ, представленных на диаграмме верхнего уровня (рис. 2). Рис. 2 - Декомпозиция работы «Службы занятости». Весь процесс функционирования «Службы занятости» разбивается на три диаграммы: 1) «Консультационный отдел» - занимается консультацией, приемом заявок, формированием отчетов; 2) «Обработка запроса» - представляет собой процесс поиска информации по заявкам; 3) «Картотека» - хранение заявок. Общие стрелки, перешедшие с диаграммы верхнего уровня и диаграммы, опишем с помощью отчета:
Рис. 3 - Декомпозиция работы «Консультационный отдел». Общие стрелки, перешедшие с диаграммы верхнего уровня и диаграммы, опишем с помощью отчета:
Рис. 4 - Декомпозиция работы «Обработка запроса». Общие стрелки, перешедшие с диаграммы верхнего уровня и диаграммы, опишем с помощью отчета:
1.2. Организационные диаграммы Если в процессе моделирования нужно осветить специфические стороны технологии предприятия, BPwin позволяет переключиться на любой ветви модели на нотацию IDEF3 или DFD и создать смешанную модель. 1.2.1. Диаграммы потоков данных (Data Flow Diagramming) Диаграммы потоков данных (DFD) используются для описания документооборота и обработки информации. Нотация DFD включает такие понятия, как "внешняя ссылка" и "хранилище данных", что делает ее более удобной (по сравнению с IDEF0) для моделирования документооборота. На рис. 5 представлена «Декомпозиция в нотации DFD «Выполнение запроса», описывающая деятельность по поиску информации в базе данных. Рис. 5 - Декомпозиции в нотации DFD «Выполнение запроса». Все работы, представленные на диаграмме выполняются «Персоналом» в соответствие с перечнем обязанностей. Общие стрелки, перешедшие с диаграммы верхнего уровня и диаграммы, опишем с помощью отчета:
Рис. 6 - Декомпозиции в нотации DFD «Картотека». Общие стрелки, перешедшие с диаграммы верхнего уровня и диаграммы, опишем с помощью отчета:
Диаграмма дерева узлов показывает иерархию работ в модели и позволяет рассмотреть всю модель целиком, но не показывает взаимосвязи между работами. На рис. 7 представлено итоговое расположение работ в дереве узлов: Рис. 7 - Диаграмма дерева узлов. - диаграмма «Центр службы занятости» – 1-ый уровень дерева узлов; - диаграммы «Консультационный отдел», «Обработка запроса» и «Картотека» – 2-ой уровень дерева узлов; - диаграммы «Приемная», «Статический отдел», «Открытие БД», «Выполнение запроса» и «Администратор БД» – 3-ий уровень; - диаграммы «Обработка запроса трудоустраиваемого» и «Обработка запроса работодателя» – 4-ый уровень дерева узлов. 2. Создание модели данных с помощью AllFusion Erwin Data Modeler 4.1Информационная модель в нотации IDEF1X Для представления информационной модели данных используется CASE-средство ERWin. С его помощью при проектировании модели информационной системы «Служба занятости» была создана физическо-логическая модель базы данных, представленная на рисунках (рис. 8, 9). Рис. 8 - Модель данных в нотации IDEF1X (логический уровень) Рис. 9 - Модель данных в нотации IDEF1X (физический уровень) База данных представлена в виде сущностей, их атрибутов и связей между ними. Каждая сущность представляет множество подобных объектов, называемых экземплярами. Каждый экземпляр индивидуален и должен отличаться от всех остальных. Атрибут выражает определенное свойство объекта. С точки зрения физической модели базы данных сущности соответствует таблица (например, «Работодатель», «Картотека»), экземпляру сущности – строка в таблице, а атрибуту – колонка таблицы. В результате проектирования было выделено шесть сущностей. Связь на диаграмме отображает логическую зависимость одной сущности от другой. В IDEF1X различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Экземпляр зависимой сущности определяется только через отношение к родительской сущности. Зависимая сущность изображается на диаграмме прямоугольником со скругленными углами. На нашей диаграмме зависимыми сущностями являются: «Консультационный отдел». Родительскими для нее являются сущности «Работодатель» и «Трудоустраиваемый» соответственно. При установлении неидентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав неключевых компонентов родительской сущности. Неидентифицирующая связь служит для связывания независимых сущностей. Для того, чтобы однозначно идентифицировать экземпляр сущности используется первичный ключ (атрибут или группа атрибутов). Атрибуты первичного ключа на диаграмме не требуют специального обозначения - это те атрибуты, которые находятся в списке атрибутов выше горизонтальной линии. Например, на рис. 8 сущность «Работодатель» однозначно идентифицирует первичный ключ «Заявка работодателя(РК)» и «Дата заявки работодателя(РК)». При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ - (FK). Пример такой миграции атрибутов с участием дочерней сущности «Консультационный отдел», родительской сущности «Работодатель» и первичного ключа родительской сущности «Заявка работодателя» и «Дата заявки работодателя» представлен на рис. 10: Рис. 10 - Пример миграции атрибутов Сущности и атрибуты, определенные в информационной модели представлены в отчете (на рис. 11), сгенерированном с помощью пункта меню Tools/Data Browser/Erwin Repots.
3. Выбор языка программирования баз данных Выбрать язык программирования – главная задача проектировщика БД. Существует множество языков программирования, но мы остановимся на трех: ● Microsoft Visual FoxPro Традиционно одной из наиболее распространенных в России и странах СНГ является СУБД Microsoft Visual FoxPro, новая версия которой, Visual FoxPro 7.0, содержит дополнения и улучшения, расширяющие возможности системы. Visual FoxPro состоит из отдельных компонентов, которые используются для хранения информации, ее отображения и редактирования. В Visual FoxPro вся информация хранится в базе данных, которая состоит из таблиц, отношений между таблицами, индексов, триггеров и хранимых процедур. Каждая таблица имеет уникальное имя и хранится в отдельном файле, наименование которого совпадает с именем таблицы. Созданный файл имеет расширение DBF. Чрезвычайно удобным и полезным средством доступа к базе данных являются представления данных. Представления данных позволяют объединять данные таблиц и отображать их в более удобном виде. Вы можете выбрать только интересующие вас поля таблиц, объединить несколько полей в одно поле, вычислить итоговые значения и задать новые имена полей таблицы. Как правило, количество представлений в базе данных намного превосходит количество таблиц. По мере эксплуатации базы данных их количество непрерывно растет. Во многих информационных системах доступ к данным, включая просмотр, добавление и редактирование, осуществляется только с помощью представлений данных. Данный подход позволяет осуществить гибкое управление доступом к информации. При использовании представлений для выборки данных в формах, отчетах, при создании запросов и в программах применяются те же правила, что и для таблиц. Редактирование данных, включенных в представление, возможно только при определенных условиях. Например, в том случае, если оно создано на основе только одной таблицы. Для объединения компонентов создаваемого приложения используется проект. Использование проекта упрощает разработку приложения и его сопровождение. ● Microsoft Access Microsoft Access является инструментом, рассчитанным на разработку БД, системы запросов и форм программистом – профессионалом и лишь во вторую очередь – инструментом для доступа к данным, хранящимся в БД. Microsoft Access – один из компонентов семейства офисных приложений Microsoft Office – является одной из самых популярных настольных (desktop) СУБД. Это связано с тем, что СУБД Access предоставляет пользователю очень широкие возможности для ввода, обработки и представления данных. Эти средства являются не только удобными, но и высокопродуктивными, что обеспечивает высокую скорость разработки приложений. Изначала система управления базами данных Access обладала рядом уникальных возможностей: Объединение информации из самых разных источников (электронных таблиц, текстовых файлов, других баз данных); Представление данных в удобном для пользователя виде с помощью таблиц, диаграмм, отчетов; Интеграция с другими компонентами Microsoft Office. Совершенствуясь от версии к версии, система Access стала инструментом, который может удовлетворить самые разные категории пользователей: от новичка, которому нравится дружеский интерфейс, позволяющий ему справиться с его задачами, до профессионального разработчика, имеющий весь необходимый инструментарий для уникального решения конкретной задачи. ● Database Desktop и Borland C++ Builder Является очень хорошим программным продуктом и средством разработки БД. Однако имеет ряд недостатков, которые существенно затрудняют работу проектировщика. А) Невозможность добавлять к проекту новые файлы, таблицы и базы данных, созданные за рамками головного проекта. Б) Для создания частей БД используется множество разных программ, между которыми постоянно необходимо переключатся (Database Desktop – создание таблиц, Borland C++ Builder – компоновщик и визуальный язык программирования). В) Плохая наглядность проекта во время разработки. Для создания информационной системы «Служба занятости» на основе проведенных исследований и имеющихся возможностей был выбран Database Desktop и Borland C++ Builder.
4. Разработка экранных форм 4.1. Создание таблиц При создании базы данных было выявлено две сущности: 1. Организация; 2. Трудоустраиваемый. В каждой сущности имеются атрибуты: 1. Организация – код организации; название организации; адрес организации. 2. Трудоустраиваемый – код организации; код трудоустраиваемого; ФИО трудоустраиваемого; дата рождения; пол; образование; специальность; район проживания; должность. Рассмотрим работу Базы данных на примере двух таблиц: «Организация» и «Трудоустраиваемый». Структура таблиц выглядит так, как показано на рисунках 11 и 12: Рис. 11 - Структура таблицы «Организация» Рис. 12 - Структура Таблицы «Трудоустраиваемый» 4.2. Создание приложения На рисунке 13 показана сама программа для работы с базой данных, в основу которой входят эти две таблицы. Рис.13 - Программа для работы с базой данных В приложении реализована функция сортировки. Сортировка может производиться по 8 критериям: 1.код организации; 2.Ф.И.О.; 3.Дата рождения; 4.Пол; 5.Образование; 6.Специальность; 7.Район; 8.Должность. Рис.14 - Виды сортировок На следующем рисунке показан результат работы выбранной нами сортировки – «Ф.И.О» Рис.15 - Результат работы сортировки «Ф.И.О» 5. Язык запросов SQL SQL символизирует собой Структурированный Язык Запросов. Это–язык, который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации сохраняемой в таблицах. Мир баз данных становится все более и более единым, что привело к необходимости создания стандартного языка, который мог бы использоваться, чтобы функционировать в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять, и передавать информацию независимо от того работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ. В нашем все более и более взаимосвязанном компьютерном мире, пользователь, снабженный таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов. Элегантность и независимость от специфики компьютерных технологий, а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL, и вероятно в течение обозримого будущего оставит его, основным стандартным языком. По этой причине, любой, кто хочет работать с базами данных 90-х годов должен знать SQL. Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (МЕЖДУНАРОДНОЙ ОРГАНИЗАЦИЕЙ ПО СТАНДАРТИЗАЦИИ). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя разные другие особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами "рынка" сами по себе в силу полезности своих качеств. Иногда это несколько нарушает стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и становиться стандартами рынка в силу полезности своих качеств. Для той цели, чтобы пользователям было легче найти какую-то запись (информацию), во многих программах, работающих с огромными архивами данных – в частности и Базах Данных, программисты снабжают свои приложения средствами сортировки. Некоторые из них прошивают код сортировки, а некоторые программисты позволяют пользователям самим выбирать из предложенных ими видов сортировок ту, которая более подойдет пользователю. Вот и в нашем приложении тоже представлена возможность выбора сортировки – из перечисленных 6 видов. Конечно, все эти виды сортируют данные по алфавиту (для текста – от А до Я(A-Z), для цифровой информации, по возрастающей от 0), но выбрав нужный вид, можно быстрее найти то, что требуется. Рассмотрим SQL запрос для приложения «Трудоустройство». Все SQL-запросы выполняются автоматически по выбору соответствующего пункта в списке сортировок, “SQL-сортировка” для этих визуальных компонентов, описание оператора SELECT проводится ниже. КОД ПРОГРАММЫ void __fastcall TForm1::SKChange(TObject *Sender) //Выбор таблицы { Table1->Active=false; Table1->Active=false; if(SK->Position == 0) { Table2->Active=false; DB->DataSource=DataSource1; DBN->DataSource=DataSource1; Table1->Active=true; } if(SK->Position == 1) { Table1->Active=false; DB->DataSource=DataSource2; DBN->DataSource=DataSource2; Table2->Active=true; } } //--------------------------------------------------------------------------- void __fastcall TForm1::CBChange(TObject *Sender) // выбираем в всплывающем списке сортировку… { DB->DataSource=DataSource3; Table1->Active=false; Table2->Active=false; if (CB->ItemIndex == 0) // если в всплывающем списке сортировки … Код организации ….то { Query1->Active = false; // активность Query -false (выключено) Query1->SQL->Clear();//функция очистки буфера SQL-запроса /*добавить в буфер нов. запись SQL -запроса */ Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY KOD_ORG"); Query1->Active = true;} //активность Query -true (включено) else if (CB->ItemIndex == 1) // если в всплывающем списке сортировки “ФИО” то…. { Query1->Active = false; Query1->SQL->Clear(); Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY FIO"); Query1->Active = true;} else if (CB->ItemIndex == 2) { Query1->Active = false; Query1->SQL->Clear(); Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY DATA_ROG"); Query1->Active = true;} else if (CB->ItemIndex == 3) { Query1->Active = false; Query1->SQL->Clear(); Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY POL"); Query1->Active = true;} else if (CB->ItemIndex == 4) { Query1->Active = false; Query1->SQL->Clear(); Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY OBRAZOV"); Query1->Active = true;} else if (CB->ItemIndex == 5) { Query1->Active = false; Query1->SQL->Clear(); Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY SPEC"); Query1->Active = true;} else if (CB->ItemIndex == 6) { Query1->Active = false; Query1->SQL->Clear(); Query1->SQL->Append("SELECT KOD_ORG as КОД_ОРГАНИЗАЦИИ,FIO as ФИО,DATA_ROG as ДАТА_РОЖДЕНИЯ,POL as ПОЛ,OBRAZOV as ОБРАЗОВАНИЕ,SPEC as СПЕЦИАЛЬНОСТЬ,RAION as РАЙОН FROM ORG2 ORDER BY RAION"); Query1->Active = true;} } //---------------------------------------------------------------------------
Заключение В результате курсового проекта была спроектирована и реализована информационная система «Службы занятости». Данная система удовлетворяет всем требованиям, предъявленным в задании, и реализует большинство необходимых сотрудникам службы занятости функций. В результате выполнения курсовой работы был сделан вывод, что сегодня внедрение информационных систем может способствовать: - получению более рациональных вариантов решения управленческих задач за счет внедрения математических методов и интеллектуальных систем и т.д.; - освобождению работников от рутинной работы за счет ее автоматизации; - обеспечению достоверности информации; - замене бумажных носителей данных на магнитные и оптические, что приводит к более рациональной организации переработки информации на компьютере и снижению объемов бумажных документов; - уменьшению затрат на производство продуктов и услуг. В процессе выполнения данного курсового проекта были освоены на практике методы предпроектного обследования объекта информатизации, приобретен практический опыт по подготовке и систематизации необходимых материалов, изучены действующие стандарты, технические условия, положения и инструкции по эксплуатации аппаратных и программных средств вычислительной техники, периферийного и связного оборудования. Список литературы1. Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite. – М.: ДИАЛОГ – МИФИ, 2002. – 224с. 2. Маклаков С.В. BPWin и ERWin. CASE – средства разработки информационных систем. – М.: ДИАЛОГ – МИФИ, 1992. – 256с. 3. Кириллов В.В. Структурированный язык запросов (SQL). – СПб.: ИТМО, 1994. – 80 с. 4. Цикритизис Д., Лоховски Ф. Модели данных. – М.: Финансы и статистика, 1985. – 344 с. 5. Атре Ш. Структурный подход к организации баз данных. – М.:Финансы и статистика, 1993. – 320 с. 6. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 1999. – 351 с. 7. Дейт К. Руководство по реляционной СУБД DB2. – М.: Финансы и статистика, 1998. – 320 с. 8. Кириллов В.В. Структуризованный язык запросов (SQL). – СПб.: ИТМО, 1994. – 80 с. 9. Мартин Дж. Планирование развития автоматизированных систем. – М.: Финансы и статистика, 1994. – 196 с. 10. Мейер М. Теория реляционных баз данных. – М.: Мир, 1997. – 608 с. 11. Питер Роб, Карлос Коронел. Системы БД: проектирование, реализация и управление.-Санкт-Петербург:БХВ-Петербург,2004.-1024 с. 12. Архангельский А.Я.Программирование C++Builder6.М: Бином,2003.-1151с. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|