Разработка программы регистрации доступа клиентов в базу данных с конфиденциальной информацией
Общая характеристика организации Муниципального автономного учреждение "Хоккейная команда Кузбасс". Разработка программы регистрации в системе программирования Delphi. Тестирование разработанной программы. Руководства пользователю и администратору.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.06.2012 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ И НАУКИ КЕМЕРОВСКОЙ ОБЛАСТИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
КЕМЕРОВСКИЙ ПРОФЕССИОНАЛЬНО-ТЕХНИЧЕСКИЙ КОЛЛЕДЖ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К ДИПЛОМНОМУ ПРОЕКТУ
Разработка программы регистрации доступа клиентов в базу данных с конфиденциальной информацией
Отделение Информационных технологий
Студент Беломыцев Артем Константинович
(фамилия, имя, отчество)
Группа ПР - 81
Кемерово
2012
СОДЕРЖАНИЕ
1. ИССЛЕДОВАНИЕ ИНФОРМАЦИОННОЙ СРЕДЫ
1.1 Общая характеристика организации Муниципального автономного учреждение «Хоккейная команда Кузбасс»
1.2 Обоснование необходимости использования вычислительной техники для решения задачи
1.3 Анализ существующих разработок по менее исследования
1.4 Планирование задачи
1.5 Обоснование проектных решений по видам обеспечения
1.5.1 Техническое обеспечение
1.5.2 Программное обеспечение
1.5.3 Информационное обеспечение
2. ТЕХНИЧЕСКИЕ РАЗРАБОТКИ ПРОМНОГО ОБЕСПЕЦЕНИЕ
2.1 Анализ требований, предъявляемых к программному продукту
2.2 Описание входных и выходных данных
2.3 Обоснование выбора языка программирование
2.4 Описание программы
2.4.1 Разработка программ
2.4.2 Описание разработанного ПП
2.4.3 Тестирование и отладка программы
3. ЭКСПЛУАТАЦИОННАЯ ДОКУМЕНТАЦИЯ
3.1 Руководства пользователю
3.2 Руководства администратору
Заключение
Литература
1. ИССЛЕДОВАНИЕ ИНФОРМАЦИОННОЙ СРЕДЫ
1.1 Общая характеристика организации Муниципальном автономное учреждение «Хоккейная команда Кузбасс»
Муниципальное автономное учреждение «Хоккейная команда «Кузбасс» создано по решению комитета по управлению муниципальным имуществом города Кемерово в 1997 году.
Учреждение создано с целью развития популяризации хоккея с мячом в городе Кемерово, а также для участия команды в Чемпионате России по хоккею с мячом.
Задача деятельности учреждения является подготовка и успешное выступление на общероссийских и международных соревнованиях по хоккею с мячом.
Предметом деятельности является:
1. Осуществление учебно-тренировочного процесса.
2. Организация и проведение спортивных турниров, соревнований различного уровня, а также массовых физкультурное - оздоровительных мероприятий.
Структура предприятия «Хоккейная команда Кузбасс» представлена следующим образам:
1. Дирекция
Директор, Генеральный директор... и т.п.
Его замы по различным направлениям.
2. Финансово-экономический отдел
2.1 Бухгалтерия.
Главный бухгалтер.
Основные функции бухгалтерии:
- формирование учетной и налоговой политики в соответствии с действующим законодательством и потребностями компании;
- подготовка и принятие плана счетов, форм первичных учетных документов, применяемых для оформления хозяйственных операций, разработка форм документов внутренней бухгалтерской отчетности;
- своевременное предоставление полной и достоверной бухгалтерской и управленческой информации о деятельности компании, ее имущественном положении, доходах и расходах;
- осуществление мероприятий, направленных на укрепление финансовой дисциплины;
- учет всех хозяйственных операций компании;
- учет исполнения бюджетов компании;
- налоговый учет компании, составление и своевременная сдача налоговой и иной требуемой законодательством отчетности;
- составление бухгалтерского баланса, другой бухгалтерской, налоговой, управленческой и статистической отчетности;
- своевременное представление бухгалтерской отчетности в налоговые органы, органы статистики, внебюджетные фонды и иные инстанции;
- правильное начисление и своевременное перечисление налогов и сборов в федеральный, региональный и местный бюджеты, страховых взносов в государственные внебюджетные социальные фонды, а также иных платежей в соответствии с законодательством;
- налоговое планирование. Мониторинг актуальных законодательных и нормативных документов.
- осуществление платежей в наличной и безналичной форме в порядке, определяемом внутренними документами компании;
- расчеты по заработной плате и иным выплатам с сотрудниками компании. Выдача справок сотрудникам компании по вопросам начисления заработной платы и других выплат, а также удержаний из них;
- проведение инвентаризации основных средств, товарно-материальных ценностей, денежных средств, расчетов с контрагентами;
- участие в проведении экономического анализа финансово-хозяйственной деятельности компании по данным бухгалтерского и управленческого учета и отчетности в целях выявления внутрихозяйственных резервов, устранения потерь и непроизводственных затрат;
- участие во внедрении передовых информационных систем по управлению финансами в соответствии с требованиями бухгалтерского, налогового статистического и управленческого учета, контроль над достоверностью информации;
- принятие мер по предупреждению недостач, незаконного расходования денежных средств и товарно-материальных ценностей, нарушений законодательства и внутренних регламентов компании;
- участие в подписании договоров с контрагентами компании;
- участие в претензионно-исковой работе компании;
- взаимодействие с внутренними и внешними аудиторами компании.
2.2 Экономический отдел.
Главный экономист.
Функции экономиста:
- выполнение работы по осуществлению экономической деятельности предприятия;
- анализ производственной деятельности предприятия;
- участие в проведении маркетинговых исследований;
- подготовка отчетности.
2.3 Склад готовой продукции.
Кладовщик.
2.4 Транспортно-экспедиторский отдел:
- Экспедитор.
3. Отдел рекламы и маркетинга:
- Аналитик.
- Специалист по рекламе.
- Вебмастер.
4. Отдел внешних закупок и логистики.
5. Отдел продаж и дистрибьюторской сети.
6. Отдел производства продукции (дисков с ПО, документации, коробок и т.п.)
7. Отдел техподдержки.
Системный администратор.
Специалист по информационной безопасности. Под "информационной безопасностью" подразумевается в первую очередь сохранность всех исходных кодов продуктов, версионность и воспроизводимость продукции.
8. Отдел кадров.
Начальник ОК.
HR-менеджер (специалист по подбору персонала).
Функции отдела кадров:
- определением стратегии предприятия. Формированием управления персоналом на предприятии, учитывается стратегия деятельности предприятия, которую выбрал руководитель;
- планированием потребности предприятия в персонале с учетом существующего кадрового состава;
- привлечением, отбором и оценкой персонала;
- повышением квалификации персонала и его переподготовкой;
- системой продвижения по службе (управлением карьерой);
- освобождением персонала (увольнением);
- построением и организацией работ, в том числе и определением рабочих мест, функциональных и технологических связей между ними, содержания и последовательности выполнения работ, условий труда.
- заработной платой и социальными услугами. Отдел кадров должен разрабатывать и внедрять системы заработной платы, определять особенности оплаты труда отдельных категорий работников, занятых на предприятии;
- управлением затратами на персонал. При выполнении данной функции отдел кадров должен прежде всего планировать затраты на персонал.
В организационном же отношении отдел кадров занимается обеспечением нормальной трудовой деятельности всех работников и всех структурных подразделений на предприятии, которые несут ответственность за работу с персоналом.
9. АХЧ
Начальник АХЧ (завхоз).
Уборщицы, секретари и др. вспомогательный персонал.
Вычислительные работы на предприятие.
Именно при помощи электронно-вычислительной техники гораздо проще осуществлять такие затруднительные и кропотливые действия, связанные с обработкой множества документов, как бухгалтерское обслуживание, бухгалтерский учет и так далее. Кроме того, компьютеры помогают сохранять не только финансовую отчётность, но и вести самым разумным образом учёт персонала, быстро рассчитывать заработные платы и премиальные, вычислять продолжительность отпуска. При этом многие из вышеперечисленных действий осуществляются без каких-то специальных лицензионных дорогостоящих программ, а только средствами стандартного пакета электронных таблиц.
А вот установка специального программного обеспечения, даже относительно простого, такого как «1С бухгалтерия» уже реально позволяет проделывать сложные операции в сотни раз быстрее и без лишних ошибок. На компьютере можно даже составлять действующие бизнес-планы и проверять их на жизнеспособность, виртуально воссоздавая среду и окружающую ситуацию. Программы позволяют руководителям и рядовым сотрудникам производить финансовое планирование и прогнозирование, за секунды обрабатывая огромные массивы прошлых экономических данных. Специальные системы мотивации персонала, устанавливаемые на персональных компьютерах, позволяют повышать эффективность труда, отслеживать слабые места, производить стимулирующие действия и так далее.
программа регистрация база данных конфиденциальный
1.2 Обоснование необходимости использования вычислительной техники для решения задачи
Важнейшим фактором повышения эффективности производства в любой сфере является улучшение управления. Информация в настоящее время относится к разряду наиболее важных, ценных и дорогостоящих ресурсов, экономящих трудовые, материальные и финансовые средства. Компьютер становится основным инструментом менеджера любой специализации: финансиста, экономиста, аналитика, менеджера на государственной службе. Автоматизированные информационные технологии позволяют использовать компьютер в управлении экономическими процессами, информационных коммуникациях. И поэтому мы проходим эту практику, что б применить свои теоретические знания, мы должны получить навыки использования автоматизированных информационных технологий в управлении: получении, обработке, анализе и подготовке информации к принятию решений, в процессе принятия решений, оценке полученных результатов и организационных и внешних коммуникациях.
Технологический процесс данной задачи состоит из трех этапов. Целью первого этапа является сбор, регистрация, передача данных для дальнейшей обработки. Результатом является составление документа (заявки). Цель второго этапа - перенос данных на машинные носители и первоначальное формирование информационной базы. Третий этап включает операции накопления, сортировки, корректировки, обработки данных и выдачи результатов (ответа).
При этом требуется учитывать следующие требования:
- обеспечение достоверности обрабатываемой информации; - решение задач в установленные сроки;
- обеспечение минимальных трудовых и стоимостных затрат на обработку данных;
- наличие возможности обработки данных на ЭВМ;
- возможность решения задачи в различных режимах.
Эти требования могут быть выполнены за счет нескольких факторов: - сокращение числа операций, особенно ручных;
- разработка системы жесткого контроля вводимой информации;
- снижение объема обрабатываемых данных (ведение НСИ);
- повышение квалификации пользователей, улучшение условий труда и, как следствие, повышение производительности.
На выбор способа сбора, регистрации и передачи данных влияют следующие факторы:
-удаленность источников информации от центра обработки данных;
-возможность связи с источниками информации по выделенным каналам связи.
При обработке данных желательно использовать массивы нормативно-справочной информации. Это дает преимущества в скорости поиска, выбора, сортировки и т.д. При этом необходима возможность просмотра полученных результатов перед оформлением и передачей выходной информации. Использование вычислительной техники при решении комплекса задач, описываемого в данной работе, обуславливается рядом факторов. Объем и качество выходной информации не позволит решать задачи без использовании вычислительной техники быстро и, что важно, корректно. Необходимость постоянной связи с различными юридическими базами данных, возможность использования локальной вычислительной сети, средств телекоммуникации - другие факторы, определяющие методы решения поставленных задач с использование вычислительной техники.
1.3 Анализ существующих разработок по менее исследования
По анализу исследование работки было выявлено, что приложения клиент-сервер сочетают пользовательский графический интерфейс клиента с реляционной базой данных, расположенной на сервере. Структура таких приложений подразумевает возможность совместной работы пользователей; при этом ответственность за выполнение тех или иных функций ложится на различные, независимые друг от друга элементы открытой распределенной среды. Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющая этим ресурсом, клиентом - компьютер (программа), использующий этот ресурс. В качестве ресурса компьютерной сети могут выступать, базы данных, файловые системы, службы печати, почтовые службы. Тип сервера определяется видом ресурса, которым он управляет. Например, если управляемым ресурсом является база данных, то соответствующий сервер называется сервером базы данных. Структура распределенной ИС, построенной по архитектуре клиент-сервер с использованием сервера баз данных. При такой архитектуре сервер базы данных обеспечивает выполнение основного объема обработки данных. Формируемые пользователем или приложением запросы поступают к серверу базы данных в виде инструкции языка SQL. Сервер базы данных выполняет поиск и извлечение нужных данных, которые затем передаются на компьютер пользователя. Достоинством такого подхода в сравнении с файл-сервером является заметно меньший объем передаваемых данных. Для создания и управления персональными базами данных и приложений, работающих с ними, используются СУБД, такие как Access и Visual FoxPro фирмы Microsoft, Paradox фирмы Borland. Корпоративная база данных создается, поддерживается и функционирует под управлением сервера баз данных, например Microsoft SQL Server. В зависимости от размеров организации и особенностей решаемых задач ИС может иметь одну из следующих конфигураций:
1.Компьютер-сервер, содержащий корпоративную и персональную базы.
2. Компьютер-сервер и персональные компьютеры с ПБД.
3. Несколько компьютеров-серверов и персональных компьютеров с ПБД.
Использование архитектуры клиент-сервер дает возможность постепенного наращивания ИС предприятия, во-первых, по мере развития предприятия; во-вторых, по мере развития самой ИС. Разделение общей базы данных на корпоративную и персональные позволяет уменьшить сложность проектирования баз данных по сравнению с централизованным вариантом, а значит снизить вероятность ошибок при проектировании и стоимость проектирования. Важнейшим достоинством применения базы данных в ИС является обеспечение независимости данных от прикладных программ, это дает возможность пользователям не заниматься проблемами представления данных на физическом уровне: размещение данных в памяти, методов доступа к ним. Такая независимость достигается поддерживаемым СУБД многоуровневым представлением данных в базе данных на логическом (пользовательском) и физическом уровнях. Благодаря СУБД и наличию логического уровня представления данных обеспечивается отделение концептуальной (понятийной) модели базы данных от ее физического представления в памяти ЭВМ. Важнейшим параметром крупной информационной системы является быстродействие при значительном количестве пользователей, а также надежность, масштабируемость и безопасность. Всё это обеспечивает архитектура "клиент-сервер". Такая архитектура позволяет оптимально распределить работу между клиентскими и серверной частями системы: теперь приложение, работающее на рабочей станции, не читает записи базы данных "напрямую", а посылает запросы на сервер, где они принимаются и последовательно отрабатываются специальными программами. В результате на рабочую станцию поступают только обработанные данные, что радикально сокращает информационные потоки в ЛВС.
Во время разработки своей программы использовал более новые компоненты в среде программирование Delphi а именно Indy Server и Indy Client. Большинство компонентов Indy Client и Indy Servers представляют собой пары, соответствующие клиентским и серверным частям протоколов и служб. За исключением отдельных, в основном серверных, компонентов типа TunnelMaster и TunnelSlave, и позволяют использовать такие протоколы, как TCP/IP, UDP, NNTP, SMTP, FTP, HTTP, а также службы ECHO, FINGER, WHOIS и т.д. Клиентские компоненты Indy написаны с использованием сокетов. Сокет со стороны клиента требует соединения с сервером. Если связь установлена, клиент и сервер могут начинать обмен сообщениями. Эти сообщения носят различный характер, но обычно обмен происходит по определенному протоколу (например, НТТР). Эти компоненты используются для поддержки одного из основных сетевых протоколов - ТСР (Transmission Control Protocol), а также являются базовыми классами для компонентов TIdSMTP и TIdFTP. Класс TIdTCPServer обладает свойством ThreadMgr, по умолчанию равным nil. Если ThreadMgr равно nil, когда TIdTCPServer активизирован, класс TIdThreadMgrDeafault будет создан неявно. В противном случае используется установленный менеджер процессов.
Эти компоненты обеспечивают более быстрый и надежный обмен данными, благодаря которым в данной программе были улучшены следующие качества:
1.Программа обеспечит полную защиту от нежелательного доступа.
2.Обеспецивает связь между базой данной.
3.Делает информацию конфиденциальной тем самое позволяет обеспечить пользователю полную защиту данных.
1.4 Планирование задачи
Задача в Delphi
1.5 Обоснование проектных решений по видам обеспечения
1.5.1 Техническое обеспечение
Техническое обеспечение - это комплекс технических средств, с помощью которого осуществляют сбор, обработку, хранение, преобразование и передачу данных, связанных с объектом проектирования. Основу технического обеспечения составляют средства вычислительной техники и, в первую очередь, это - персональный компьютер. Стандартная конфигурация компьютера для работы, данной программы;
1. Процессор Intel Core 2 Duo E7500 2.93GHz 1066MHz 3Mb LGA775 OEM.
2. Материнская плата ASUS LGA1155 P8H67 H67 4xDDR3-1333 2xPCI-E 8ch 4xSATA 2xSATA3 RAID IDE 2xUSB3 GLAN ATX.
3. Память DIMM DDR3 2048MB PC10666 1333MHz.
4. 1 гб свободного места на жестком диске.
7. Видеокарта PCI-E Asus AMD Radeon HD6450 1024MB 64bit DDR3 [EAH6450 SILENT, DI, 1GD3(LP)] DVI D-Sub HDMI Low Profile.
7. БП FSP Everest 85PLUS 800W(80+ Bronze, ATX v2.3/EPS v2.92, 120mm Fan, Active PFC, Cable Management, Box)[Everest-85-800].
8. Корпус Miditower ATX.
9. Устройство для чтения DVD.
10. Клавиатура и мышь.
1.5.2 Программное обеспечение
Для написания программного продукта к дипломному проекту я выбрал язык программирование Delphi. Язык программирования Delphi представляет собой комбинация таких технологий, как:
- высокопроизводительный компилятор в машинный код;
- объектно-ориентированная модель компонент;
- визуальное построение приложений;
- средство для построения баз данных.
Рекомендую использовать Delphi для разработки приложений клиент-сервер людям. В конце концов, имеется немало хороших средств разработки, позволяющих создавать приложения для архитектуры клиент-сервер PowerBuilder, Visual Basic и другие подобные системы охватывают достаточно большие секторы средств разработки баз данных. Почему же нужно отказываться от этих средств в пользу Delphi? На мой взгляд, на то есть масса причин. В Delphi удачно сочетаются средства визуального проектирования приложений и оптимизирующий компилятор, чего, к сожалению, нельзя сказать о других системах создания средств разработки программных продуктов. Наличие в системе компилятора или генерирование ею выполняемого машинного кода еще не означает, что получаемый код является оптимальным. Такие системы, как PowerBuilder и Visual Basic, изначально создавались на основе концепции генерации псевдокода. При выполнении приложений, созданных с помощью этих систем, полученный псевдокод интерпретировался. С выходом Delphi как компания Microsoft, так и компания Powersoft попытались внедрить в свои продукты полноценные компиляторы. По-видимому, производители внезапно "прозрели" и "поняли", что компиляция приложений в машинный код - это стоящее дело. Однако проблема заключается в том, что ни язык Visual Basic, ни язык PowerScript не предназначались для компиляции, поэтому преобразование их в машинный код оказалось достаточно трудной задачей. Что касается оптимизации получаемого кода, то о ней можно вообще не говорить. Если сравнивать вышеупомянутые языки с языком Object Pascal, используемом в системе Delphi, то различие видно сразу. Object Pascal всегда был компилируемым языком, и при его разработке были соблюдены все требования, выполнение которых обязательно при компиляции и оптимизации. Итог вышесказанного таков, Delphi является единственным полноценным средством промышленной разработки систем клиент - сервер.
Для корректной и бесперебойной работы системы в состав программного обеспечения должны входить:
1. Операционная система Windows XP/7 или более поздние версии.
2. Локальная вычислительная сеть.
3. База данных Microsoft Office Access 2003-2007.
1.5.3 Информационное обеспечение
Клиент-сервер - архитектура или организация построения сети, в том числе локальной и распределенной, в которой производится разделение вычислительной нагрузки между включенными в ее состав компьютера. Выполняющими функции клиентов, и одной мощной центральной ЭВМ - сервером. Процесс наблюдения за данными отделен от программ, использующих эти данные. Сервер может поддерживать центральную базу данных, расположенную на большом компьютере, зарезервированном для этой цели. Клиентом будет обычная программа, расположенная на любой ЭВМ, включенной в сеть, а также сама ЭВМ, которая по мере необходимости запрашивает данные с сервера. Производительность при использовании клиент - серверной архитектуры выше обычной, поскольку как клиент, так и сервер делят между собой нагрузку по обработке данных. Достоинствами клиент - серверной архитектуры являются большой объем памяти и ее пригодность для решения разнородных задач, возможность подключения большого количества рабочих станций, включая ПЭВМ и пассивные терминалы, а также установки средств защиты от несанкционированного доступа. Основные понятия клиент-серверной архитектуры:
Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющая этим ресурсом, клиентом - компьютер (программа), использующий этот ресурс. В качестве ресурса компьютерной сети могут выступать, базы данных, файловые системы, службы печати, почтовые службы. Тип сервера определяется видом ресурса, которым он управляет. Например, если управляемым ресурсом является база данных, то соответствующий сервер называется сервером базы данных.Структура распределенной ИС, построенной по архитектуре клиент-сервер с использованием сервера баз данных. При такой архитектуре сервер базы данных обеспечивает выполнение основного объема обработки данных. Формируемые пользователем или приложением запросы поступают к серверу базы данных в виде инструкции языка SQL. Сервер базы данных выполняет поиск и извлечение нужных данных, которые затем передаются на компьютер пользователя. Достоинством такого подхода в сравнении с файл-сервером является заметно меньший объем передаваемых данных.Для создания и управления персональными базами данных и приложений, работающих с ними, используются СУБД, такие как Access и Visual FoxPro фирмы Microsoft, Paradox фирмы Borland. Корпоративная база данных создается, поддерживается и функционирует под управлением сервера баз данных, например Microsoft SQL Server. В зависимости от размеров организации и особенностей решаемых задач ИС может иметь одну из следующих конфигураций: компьютер-сервер, содержащий корпоративную и персональную базы; компьютер-сервер и персональные компьютеры с ПБД; несколько компьютеров-серверов и персональных компьютеров с ПБД. Использование архитектуры клиент-сервер дает возможность постепенного наращивания ИС предприятия, во-первых, по мере развития предприятия; во-вторых, по мере развития самой ИС. Разделение общей базы данных на корпоративную и персональные позволяет уменьшить сложность проектирования баз данных по сравнению с централизованным вариантом, а значит снизить вероятность ошибок при проектировании и стоимость проектирования. Важнейшим достоинством применения базы данных в ИС является обеспечение независимости данных от прикладных программ, это дает возможность пользователям не заниматься проблемами представления данных на физическом уровне: размещение данных в памяти, методов доступа к ним.Такая независимость достигается поддерживаемым СУБД многоуровневым представлением данных в базе данных на логическом (пользовательском) и физическом уровнях. Благодаря СУБД и наличию логического уровня представления данных обеспечивается отделение концептуальной (понятийной) модели базы данных от ее физического представления в памяти ЭВМ. Важнейшим параметром крупной информационной системы является быстродействие при значительном количестве пользователей, а также надежность, масштабируемость и безопасность. Всё это обеспечивает архитектура "клиент-сервер". Такая архитектура позволяет оптимально распределить работу между клиентскими и серверной частями системы: теперь приложение, работающее на рабочей станции, не читает записи базы данных "напрямую", а посылает запросы на сервер, где они принимаются и последовательно отрабатываются специальными программами. В результате на рабочую станцию поступают только обработанные данные, что радикально сокращает информационные потоки в ЛВС.
Для разработки приложения клиент - севера использовался также SQL. SQL - это язык манипулирования данными, который работает в одно- или многопользовательской системе. Особенно хорошо SQL работает в системе клиент-сервер. В такой системе пользователи работают на множестве клиентских машин, соединенных с серверным компьютером. В прикладной программе (DB LIB), работающей на клиентском компьютере, создаются команды SQL. Та часть системы СУБД, которая находится на клиентском компьютере, передает эти команды на сервер по каналу связи, соединяющему сервер с клиентом. А та часть СУБД, которая находится на сервере, интерпретирует и выполняет полученную команду SQL, а затем по каналу связи отправляет результаты назад к клиенту. В виде SQL можно закодировать сложные операции, а затем на сервере декодировать их и выполнить. Такого рода система позволяет эффективнее использовать пропускную способность канала связи. Архитектура клиент-сервер, дополняя характеристики SQL, дает возможность в малых, средних и больших сетях получать хорошую производительность при умеренных расходах.
Организация взаимодействия клиент-сервер при помощи SQL. При использовании технологии клиент-сервер приложение разделяется на две части. Клиентская часть обеспечивает удобный графический интерфейс и размещается на компьютере пользователя. Серверная часть осуществляет управление данными, разделение информации, администрирование и обеспечивает безопасность информации. Клиентское приложение формирует запросы к серверу базы данных, на котором выполняются соответствующие команды. Результаты выполнения запросов пересылаются клиенту. При разработке распределенных информационных систем в организации взаимодействия клиентской и серверной части выделяются следующие важные в практическом смысле задачи:
1.Перенос персональной базы данных на сервер для последующего ее коллективного использования как корпоративной базы данных.
2.Организация запросов к корпоративной базе данных, размещенной на сервере, со стороны компьютера-клиента.
3.Разработка клиентского приложения для удаленного доступа к корпоративной базе данных со стороны компьютера- клиента.
Задача переноса персональной базы на сервер может возникать в ситуациях, когда требуется обеспечить коллективный доступ к базе данных, разработанной с помощью персональной СУБД (FoxPro, Access). Для решения этой задачи, в составе названных персональных СУБД имеются соответствующие средства, предназначенные для преобразования баз данных в формат SQL.Подготовка запросов к базе данных на сервере (на языке SQL) со стороны клиентской части может выполняться с помощью специально предназначенной утилиты. Для предоставления пользователю больших возможностей и удобства в подготовке и выполнении запросов создаются клиентские приложения. Для организации запросов к серверной базе данных на языке SQL или с помощью клиентского приложения возможны различные способы взаимодействия, заметно влияющие на эффективность. К числу основных способов такого взаимодействия относятся:
1.Интерфейс DB-LIB (библиотек баз данных).
2.Технологии ODBC (совместимости открытых баз данных).
3.Интерфейса OLE DB (связывания и встраивания объектов баз данных).
4.Технологии DAO (объектов доступа к данным).
5.Технологии ADO (объектов данных).
Интерфейс DB-LIB представляет собой специально предназначенный для SQL интерфейс прикладных программ. Поэтому он является наименее мобильным из числа рассматриваемых в смысле возможностей переноса приложений в другую среду. С точки зрения производительности этот способ позволяет осуществить самый быстрый доступ к информации. Причиной этого является то, что он представляет оптимизированный интерфейс прикладного программирования и непосредственно использует язык запросов системы SQL. Технологии ODBC предназначены для обеспечения возможности взаимосвязи между различными СУБД и получения от приложения запросов на выборку информации, перевод их на язык ядра адресуемой базы данных для доступа хранимой в ней информации. Основное назначение ODBC состоит в абстрагировании приложения от особенностей ядра серверной базы данных, с которой оно осуществляет взаимодействие, поэтому серверная база данных становится как бы прозрачной для любого клиентского приложения. Достоинством этой технологии является простота разработки приложений, обусловленная высоким уровнем абстрактности интерфейса доступа к данным практически любых существующих типов СУБД. Используя эту технологию, можно создавать клиент-серверные приложения, причем средствами персональных СУБД целесообразно разрабатывать клиентскую часть приложения, а средствами SQL - серверную часть.Основной недостаток технологии ODBC связан с необходимостью трансляции запросов, что снижает скорость доступа к данным. В системах клиент-сервер этот недостаток устраняется путем перемещения запроса с компьютера-клиента на компьютер-сервер. При этом устраняются промежуточные звенья, являющиеся основной причиной снижения скорости обработки информации с использованием средств рассматриваемой технологии. При использовании в клиентском приложении средств ODBC осуществляется обращение к определенному источнику данных, а через него - к СУБД, которую он представляет. При установке средств ODBC устанавливается общая подсистема ODBC и определяются пары «драйвер-база данных», которым задаются имена, используемые при установке соединения с. базой данных. Соответствующие пары называются поименованными источниками данных.Каждый поименованный источник данных описывает собственно источник данных и информацию о доступе к этим данным. В качестве данных могут выступать базы данных, электронные таблицы и текстовые файлы. Информация о доступе, например, к серверу баз данных, обычно включает в себя сведения о размещении сервера, имя базы данных, идентификатор учетной записи и пароль, а также различные параметры драйвера, описывающие как устанавливать соединение с источником данных. При обработке данных на сервере с использованием технологии ODBC и применением клиентского приложения выделяются два основных этапа: задание источника данных - создание и настройка соединения, а также собственно обработка данных с помощью запросов. Интерфейс OLE DB рекомендуется использовать для создания средств и утилит, или разработок системного уровня, нуждающихся в высокой производительности или доступе к SQL свойствам, недоступные с помощью технологии ADO. Основные возможности спецификации OLE DB обеспечивают полную функциональность доступа к данным. В SQL процессор баз данных сервера использует это интерфейс для связи: между внутренними компонентами, таким как процессор хранения и процессор отношений; между установками SQL при использовании удаленных хранимых процедур; как интерфейс к другим источникам данных для распределенных запросов. При использовании технологии ОАО работа с базами данных, таблицами ведется с использованием коллекций объектов. При этом обеспечиваются большие удобства в работе с объектами баз данных.В настоящее время технология ОАО постепенно вытесняется технологией ADO, которая позволяет разрабатывать приложения Web для работы с базами данных. В целом технологию ADO можно охарактеризовать как наиболее современную технологию разработки приложений для работы с распределенными базами технологии клиент-сервер.
2. ТЕХНИЧЕСКИЕ РАЗРАБОТКИ ПРОМНОГО ОБЕСПЕЦЕНИЕ
2.1 Анализ требований, предъявляемых к программному продукту
1.Требования по надежности
Надежность является одним из наиболее важных критериев качества программный продукт. Это обуславливается с одной стороны той ролью, которую может играть программный продукт. В процессе управления каким либо объектом, а с другой стороны надежность определяет затраты на сопровождение программный продукт, которое может достигать 50% от стоимости разработки и эксплуатации. Для примера можно привести тот факт, что многие технологические промышленные процессы реального времени управляются программно-техническими комплексами. В этом случае наличие ошибок в программный продукт может привести не только к огромным материальным потерям, но и человеческим жертвам.
Можно выделить два основных аспекта надежности:
1.Наличие в готовом программном продукте ошибок.
2.Готовность программного продукта к могущим возникнуть исключительным (нештатным) ситуациям.
Первый аспект в свою очередь можно разделить на два:
1. Ошибки, возникающие на этапе проектирования программный продукт.
2. Ошибки, возникающие на этапе кодирования.
Ошибки этапа проектирования могут возникать из-за недостаточной квалификации персонала проводящего анализ, слабых знаний в обследуемой предметной области, отсутствия отработанной, методологии проведения обследования объекта автоматизации.
Последнее становиться особенно критичным с увеличением размера осуществляемого проекта.
Ошибки этапа кодирования возникают вследствие. Недостаточной квалификации программистов, плохой проработки постановки задачи программистам. При этом надо заметить, что любой достаточно большой программный продукт обязательно содержит некоторое количество ошибок различной степени важности. Причина состоит в том, что количество тестовых сочетаний исходных данных, обеспечивающих прохождение вычислительного процесса по всем сочетаниям возможных путей в программе, увеличивается экспоненциально с ростом числа ветвей алгоритма. Поэтому практически невозможно испытать программу на завершающей стадии разработки по всем вариантам исходных данных.
Второй аспект подразделяется:
1. Непредусмотренных действий пользователя.
2. Недопустимых сочетаний исходных данных.
3. Влияние операционного окружения.
Использующий программный продукт персонал часто имеет достаточно низкую подготовленность для работы с вычислительной техникой. В связи с этим непредусмотренные действия пользователя возникают с одной стороны из-за их низкой квалификации, механических ошибок при обработке (вводе) пользователем в ручную больших объемов информации, ошибок в построении интерфейса пользователя выражающихся в бесконтрольном предоставлении пользователю возможности проведения различных операций по обработке данных. Кроме этого пользователь может ввести комбинацию входной информации, которая не допускается с точки зрения предметной области. В таких случаях программный продукт должен отвергнуть входные данные и сообщить об этом пользователю. В подавляющем большинстве случаев программный продукт функционирует, в каком либо операционном окружении (под управлением ОС). Состояние данного окружения может оказывать значительно влияние на функционирование программный продукт. Поэтому необходимо, по возможности, предусматривать реакцию программный продукт на различные сбои в функционировании операционного окружения. Надежно написанное программный продукт должно иметь функцию восстановления своего состояния в случае произошедшего аварийного завершения предыдущего сеанса работы. Это имеет особенно большое значение для программного продукт коллективного пользования.
Для оценки требований надежности с точки зрения обеспечения поставленной цели выберем следующие показатели:
1. Разработка функциональной модели, изучая уже имеющиеся аналоги, различные стандарты.
2. Использование средств разработки с встроенным контролем качества написанного программного кода и средств отладки программного кода.
3. Использование эталонных тестовых вариантов.
4. Ограничение возможных действий пользователя и проверка вводимых данных.
Использование средств разработки с встроенным контролем качества написанного программного кода и средств отладки программного кода. Современные инструментальные средства, предназначенные для разработки программного продукта позволяют автоматически производить контроль отдельных аспектов создаваемого программного обеспечения. К этому можно отнести: контроль преобразования типов, контроль использования объявленных переменных, проверка соответствия возвращаемых значений функций, проверка количества и типов передаваемых в функцию параметров. Также используются специальные программы, предназначенные для тестирования качества программы во время ее работы. Они позволяют выявить участки программы, наиболее активно использующие системные ресурсы (время работы процессора, запрашиваемая оперативная память, интенсивность ввода-вывода с внешними устройствами). Если разрабатываемая программа будет использоваться в сети, то необходимо использовать специализированные системные утилиты для отображения и анализа размера сетевого трафика создаваемого программой. Программы, работающие с общей базой данных должны тестироваться на эффективность производимых ею блокировок и количество устанавливаемых соединений.
Использование эталонных тестовых вариантов. Наличие хорошо продуманных и разработанных тестовых вариантов может сильно облегчить работу по выявлению ошибок в программном продукте. Необходимо разрабатывать тестовые варианты, которые по возможности, будут охватывать наибольшее количество ветвей реализуемого алгоритма. Необходимо разработать тесты, проверяющие ввод информации, основные этапы ее обработки, возникающий сетевой трафик при передаче информации по вычислительной сети и. т.д.
2. Технические требования.
Этот показатель характеризует объемы требующихся ресурсов вычислительной системы. Для программного продукта функционирующих в сети необходимо дополнительно оценивать технические характеристики сетевых компонентов. Как правило, он определяется из существующих или планирующихся к установке вычислительных ресурсов. Необоснованно завышенные требования программного продукта к требуемым ему вычислительным ресурсам могут привести к необходимости полного обновления аппаратной базы организации, что всегда сопряжено с большими материальными затратами. При выборе значений также необходимо правильно оценивать нижнюю границу требуемых ресурсов. Так как может оказаться, что при данном количестве выделенных ресурсов построение вычислительной системы удовлетворяющей требованиям вообще не возможно.
Для оценки технической эффективности с точки зрения обеспечения поставленной цели выберем следующие показатели:
1. Производительность ЦП рабочей станции;
2. Количество оперативной памяти установленной на рабочей станции.
3.Требования по адаптивности.
Уровень адаптивности программного продукта определяет его подготовленность к возможным изменениям. Необходимость в изменении может возникнуть в следующих случаях:
1. Выявлено несоответствие между реализованным и реальным алгоритмом функционирования создаваемой системы.
2. Возникла необходимость в переносе ПП под другое операционное окружение.
3.Возникла необходимость в смене источника данных для работы с которым предназначался программный продукт.
Для оценки адаптивности с точки зрения обеспечения поставленной цели выберем следующие показатели.
1. Наличие исходного текста программ.
2. Поддерживаемое количество ОС.
3. Использование промежуточного уровня при организации доступа к источнику данных.
Опишем влияние каждого из выбранных показателей на адаптивность разрабатываемого программного продукта:
Наличие исходного текста программ. Без исходных текстов говорить о каком либо значительном изменении в программный продукт просто невозможно. Любое изменение в алгоритме требует наличия исходных текстов. Кроме этого становиться, невозможен перевод программного продукта под другие операционные системы, компиляторы. Поддерживаемое количество ОС. Важный показатель при использовании (планировании использования) в организации разнородных вычислительных систем. Например, если в организации одновременно используются ЭВМ под управлением MS Windows 95, MS Windows XP, Windows7, Windows linux. В таких случаях очень важно правильно выбрать средство разработки программ, определить способы доступа к данным, используемые сетевые протоколы. Если же использование разнородных вычислительных систем ограниченно, то данный показатель во многом теряет свою важность. Особенно это усиливается при использовании одной аппаратной платформы, например все ЭВМ, построены на базе процессоров Intel.
2.2 Описание входных и выходных данных
В качестве выходные данные используется серверная часть программы. В серверной части содержится все информация о заходах пользователей об их id адресах, времени захода, логинах и паролей. Также в этом случае входной информацией также будет, является база данных, которое хранит в себе всю информацию о логинах и паролей (см. Рис.1.1).
Рисунок 3.1 серверная часть программы
Выходная информация - это информация, полученная на основе входной информации. Выходная документация включает сводные данные, полученные в результате автоматизированной обработки. Входная документация содержит первичную необработанную информацию, отражающую состояние текущих клиентов.
Входными данными будет, является клиент.
2.3 Обоснование выбора языка программирование
При решении поставленной задачи оптимально использовать для представления информационных материалов язык Delphi, который является языком высокого уровня и позволяет быстро и эффективно создавать приложения. Для реализации клиент - серверной программы была выбрана система программирования Delphi версии 7 фирмы Enterprise (Borland), так как она предоставляет наиболее широкие возможности для программирования приложений ОС Windows. Delphi - это продукт Borland International для быстрого создания приложений. Высокопроизводительный инструмент визуального построения приложений включает в себя настоящий компилятор кода и предоставляет средства визуального программирования, несколько похожие на те, что можно обнаружить в Microsoft Visual Basic или в других инструментах визуального проектирования. В основе Delphi лежит язык Object Pascal, который является расширением объектно-ориентированного языка Pascal. В Delphi также входят локальные SQL-сервера, генераторы отчетов, библиотеки визуальных компонентов, и прочее хозяйство, необходимое для того, чтобы чувствовать себя совершенно уверенным при профессиональной разработке информационных систем или просто программ для Windows-среды. Прежде всего, Delphi предназначен для профессиональных разработчиков, желающих очень быстро разрабатывать приложения в архитектуре клиент-сервер. Delphi производит небольшие по размерам (до 15-30 Кбайт) высокоэффективные исполняемые модули (.exe и .dll), поэтому в Delphi должны быть, прежде всего, заинтересованы те, кто разрабатывает продукты на продажу. С другой стороны небольшие по размерам и быстро исполняемые модули означают, что требования к клиентским рабочим местам существенно снижаются - это имеет немаловажное значение и для конечных пользователей.
Преимущества Delphi по сравнению с аналогичными программными продуктами:
- быстрота разработки приложения;
- высокая производительность разработанного приложения;
- низкие требования разработанного приложения к ресурсам компьютера;
- наращиваемость за счет встраивания новых компонент и инструментов в среду Delphi;
- возможность разработки новых компонент и инструментов собственными средствами Delphi (существующие компоненты и инструменты доступны в исходных кодах);
- удачная проработка иерархии объектов.
Система программирования Delphi рассчитана на программирование различных приложений и предоставляет большое количество компонентов для этого. К тому же работодателей интересует прежде всего скорость и качество создания программ, а эти характеристики может обеспечить только среда визуального проектирования, способная взять на себя значительные объемы рутинной работы по подготовке приложений, а также согласовать деятельность группы постановщиков, кодировщиков, тестеров и технических писателей. Возможности Delphi полностью отвечают подобным требованиям и подходят для создания систем любой сложности.
2.4 Описание программы
2.4.1 Разработка программ
Программа написана в интегрированной среде разработки программ Delphi с применением объектно-ориентированного (ОО) подхода, который обеспечивает более быструю и компактную реализацию алгоритма. Алгоритм составлен следующим образом. При создании формы задаем нужный порт и активируем сервер. При поступлении сообщения от клиента, считываем это сообщение. Устанавливаем позицию разделителя (символ |). Копируем логин слева от разделителя, а пароль справа. Посылаем SQL запрос в базу данных на проверку наличия логина и пароля. Записываем результат (удачный или нет). Открываем файл с логами Log.log. Если результат запроса успешный записываем в файл с логами и в соответствующее текстовое поле на форме сообщение об этом и соответствующее сообщение в противном случае закрываем файл. Отправляем запрос в базу данных для отображения всей таблицы на сервере. Отправляем ответ клиенту. Сервер подключается к порту на хосте и ждет соединения с клиентом. Клиент создает сокет и пытается соединить его с портом на хосте. Если создание сокета прошло успешно, то сервер переходит в режим ожидания команд от клиента. Клиент формирует команду и передает ее серверу, переходит в режим ожидания ответа. Сервер принимает команду, выполняет ее и пересылает ответ клиенту.
2.4.2 Описание разработанного программного продукта
Для работы ПО «Разработка программы регистрации доступа клиентов в базу данных с конфиденциальной информацией» необходимо сделать следующие действия:
1.В корень диска С сохранить папки сервера и клиента.
2. Заходим в папку сервер, запускаем файл Сервер.exe.
3. Заходим в папку клиент, запускаем файл Клиент.exe.
После запуска программы Сервер на экране появится главная форма (см. Рис.2.1).
Рисунок 2.1 главная форма серверной части программы.
На рисунке показаны основные области серверной части программы краткое описания по пунктам:
1.Поля для ввода логина и пароля предпочитаемых пользователем.
2. Настройка порта.
3. Статус подключений во время работы он показывает всю информацию о пользователях. В какое время был заход,id пользователя его пароль и логин.
4.База данных программы тут хранится все пороли и логины пользователей также их можно удалить добавить.
После того как пользователь зайдет в клиентскую часть программы и попытается войти в нее в серверной части будет отображены все его данные (см. Рис.2.2).
Рисунок 2.2 попытка входа клиента
На рисунки отображен лог-файл где можно просмотреть все входы пользователей. Лог-файл - специальный файл, в котором записываются определённые события, в хронологическом порядке совершённые пользователем на сайте или сервере. В зависимости от ситуации в сохраняемую в лог-файл информацию могут попасть такие сведения, как IP-адрес пользователя, дата и время запроса, запрашиваемый адрес ресурса, географическое положение пользователя, адрес страницы, с которой он зашёл, наименование операционной системы и браузера. На рисунки 2.1 показаны удачные и не удачные входы:
1. Под статусом подключен, показывает его логин и пароль программа сверяет его с базой данных и допускает его к приложению.
2. Под статусом не подключен, также показывает логин и пароль ну уже тех пользователей которое нет в базе данных, такие пользователи пытаются проникнуть в программу для получение информации. Программа же закрывает им доступ и посылает запрос о проникновение администратору.
Клиентская часть в этом случае посылает запрос с логином и паролем и дожидается ответ от серверной части программы (см. Рис.2.3).
Рисунок 2.3 клиентская часть программы
На данном рисунки изображено:
1.Настройка подключение. При нажатие этой кнопки открывается окно настройки подключения (см. Рис.2.4). Там нужно указать id адрес серверной части программы и порт.
2. Ввод логина и пароля в этих полях мы вводим данные, под которыми вы были зарегистрированы.
3. Авторизация и выход. При нажатие этих кнопок мы входим в программу либо выходим из нее. Если пароль и логин указан, верно, то при нажатие кнопки авторизация открывается окно пользователи (см. Рис.2.5). Если пароль будет указан не верно то программа закроет вам доступ (см. Рис.2.6).
Рисунок 2.4 настройка подключения
На данном рисунки изображено:
1.Поля для ввода id адреса он должен быть такой же, как и адрес сервера адрес сервера должен знать администратор.
2. Поля ввод порта. Суда нужно ввести порт он также как id адрес должен быть одинаковым с сервером.
Рисунок 2.5 рабочая область пользователя
На данном рисунки расположена рабочая область пользователя. Где расположены база данных с определенной информации в данном случае это количество путевок и их цена.
Рисунок 2.5 не удачный вход в программу
2.4.3 Тестирование и отладка программы
При разработке программ наиболее трудоемким является этап отладки и тестирования программ. Цель тестирования, т.е. испытания программы, заключается в выявлении имеющихся в программе ошибок. Цель отладки состоит в выявлении и устранении причин ошибок. Отладку программы начинают с составления плана тестирования. Такой план должен представлять себе любой программист. Составление плана опирается на понятие об источниках и характере ошибок. Основными источниками ошибок являются недостаточно глубокая проработка математической модели или алгоритма решения задачи; нарушение соответствия между схемой алгоритма или записью его на алгоритмическом языке и программой, записанной на языке программирования; неверное представление исходных данных на программном бланке; невнимательность при наборе программы и исходных данных на клавиатуре устройства ввода. Нарушение соответствия между детально разработанной записью алгоритма в процессе кодирования программы относится к ошибкам, проходящим вследствие невнимательности программиста. Отключение внимания приводит и ко всем остальным ошибкам, возникающим в процессе подготовки исходных данных и ввода программы в ЭВМ. Ошибки, возникающие вследствие невнимательности, могут иметь непредсказуемые последствия, так как наряду с потерей меток и описаний массивов, дублированием меток, нарушением баланса скобок возможны и такие ошибки, как потеря операторов, замена букв в обозначениях переменных, отсутствие определений начальных значений переменных, нарушение адресации в массивах, сдвиг исходных данных относительно полей значений, определенных спецификациями формата.
Подобные документы
Характеристика функциональных возможностей разрабатываемой программы в среде Delphi для регистрации абитуриентов. Описание алгоритма и структуры данной программы. Поиск данных в базе по заданным параметрам. Описание модулей и листинг программы.
курсовая работа [801,5 K], добавлен 19.07.2011Разработка эскизного и технического проектов программы, ее назначение и область применения, технические характеристики. Организация входных и выходных данных, выбор состава технических и программных средств. Текст программы, ее описание и тестирование.
курсовая работа [1,3 M], добавлен 15.11.2009Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.
курсовая работа [560,1 K], добавлен 18.07.2012Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.
курсовая работа [506,5 K], добавлен 21.02.2011Проектирование автоматизированного рабочего места менеджера продаж железнодорожного вокзала с использованием языка программирования Delphi версии 7.0. Алгоритм ввода данных в базу. Листинг программы и скриншоты интерфейса разработанной программы.
курсовая работа [5,3 M], добавлен 09.05.2013Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.
курсовая работа [1,5 M], добавлен 08.02.2011Разработка и тестирование программы класса Точка. Спецификация программы. Сценарий диалога с пользователем. Разработка структур данных и алгоритмов. Таблица параметров функций программы. Текст программы на языке C++. Особенности тестирования программы.
лабораторная работа [43,1 K], добавлен 21.07.2012Разработка программного обеспечения для работы с информацией и ее обработкой на языке программирования Delphi. Описание алгоритмов процедуры работы со стеком - добавление, удаление элементов, редактирование записи. Инструкция по использованию программы.
курсовая работа [2,9 M], добавлен 06.02.2013Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Разработка в среде Delphi приложения "Записная книжка" для ввода и корректировки информации, поиска данных. Выбор состава технических и программных средств. Текст программы, ее описание и тестирование. Основные условия программы, требования к компьютеру.
курсовая работа [565,7 K], добавлен 08.12.2011