Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Поиск

Категории раздела

Диплом [327] Курсовая [699]
Реферат [397] Отчет [11]




Сб, 04.05.2024, 06:34
Приветствую Вас Гость | RSS
ДИПЛОМНИК т.8926-530-7902,strokdip@mail.ru Дипломные работы на заказ.
Главная | Регистрация | Вход
КАТАЛОГ ДИПЛОМНЫХ, КУРСОВЫХ РАБОТ


Главная » Каталог дипломов » бесплатно » Диплом [ Добавить материал ]

АИС индексации файлов
Диплом | 20.02.2015, 18:17

СКАЧАТЬ РАБОТУ БЕСПЛАТНО - 

Содержание

Введение
1. Аналитическая часть
1.1 Компьютерная экспертиза в г. Железногорске Красноярского края
1.2 Описание предметной области
1.3 Обзор существующего специализированного программного обеспечения
1.3.1 Судебно-экспертный комплекс EnCase
1.3.2 Инструментальные экспертные средства Vogon International
1.3.3 Экспертная система ILOOK Investigator
1.3.4 Сравнение специализированного программного обеспечения21
1.4 Требования к системе
2. Выбор программных средств
2.1 Обзор и выбор системы управления базой данных
2.1.1 Обзор существующих СУБД
2.1.2 Выбор СУБД
2.2 Обзор и выбор языка программирования
2.2.1 Подход с применением языка С и API-интерфейса Windows
2.2.2 Подход с применением языка C++ и платформы MFC
2.2.3 Подход с применением Visual Basic 6.0
2.2.4 Подход с применением Java
2.2.5 Подход с применением СОМ
2.2.6 Сложность представления типов данных СОМ
2.2.7 Решение .NET
2.2.8 Что привносит язык С#
2.2.9 Выбор среды программирования
3. Разработка базы данных системы
3.1 Инфологическое проектирование
3.2 Физическое проектирование базы данных
3.3 Поддержка целостности данных
3.4 Оценка возможностей проектируемой программной среды
4. Разработка программного обеспечения
4.1 Функциональное проектирование
4.2 Структура программного обеспечения
4.3 Разработка алгоритмов работы
4.4 Разработка интерфейса пользователя
4.5 Руководство пользователя
5. Тестирование программного обеспечения
5.1 План тестирования
5.2 Результаты тестирования
6. Безопасность жизнедеятельности
6.1 Анализ условий труда на рабочем месте инженера
6.1.1 Анализ микроклимата
6.1.2 Электробезопасность
6.1.3 Анализ освещения
6.1.4 Уровень шума
6.1.5 Эргономика рабочего места инженера
6.2 Требования безопасности и технической эстетики к рабочему месту
6.3 Расчет освещенности помещения
6.4 Инструкция по охране труда
7. Технико-экономическое обоснование
7.1 Карта описания программного продукта
7.2 Прямой метод определения технико-экономических показателей проекта (метод экспертных оценок)
7.3 Метод определения ТЭП проекта на основе размерности базы данных программной системы
7.4 Определение договорной цены на создание программной системы
7.4.1 Определение фонда оплаты труда на разработку и комплексные испытания программной системы
7.4.2 Определение фонда оплаты труда на проведение опытной эксплуатации программной системы
7.5 Структура договорной цены на программное обеспечение
Резюме
Заключение
Список используемых источников
Приложение А
Приложение Б

СКАЧАТЬ РАБОТУ БЕСПЛАТНО - 

Введение

В последние годы возрастает количество преступлений в сфере компьютерной информации.
Важнейшим аспектом расследования указанных преступлений является использование специальных познаний в области современных информационных технологий, основная форма которых - компьютерно-техническая экспертиза, относящаяся к классу инженерно-технических экспертиз, результаты которой имеют важное доказательственное значение при исследовании аппаратных средств, программного обеспечения, компьютерной информации. Ключевая роль в подготовке материалов экспертизы и извлечении из носителей компьютерной информации принадлежит специалистам и экспертам. Для этого, компьютерная техника криминалистических подразделений должна быть оснащена соответствующим программным обеспечением.
Однако, существующее специализированное криминалистическое программное обеспечение, сложно в освоении (процесс обучения может длиться до нескольких лет), а стоимость лицензии начинается от десятков тысяч долларов.
Данные обстоятельства, сдерживают способность органов внутренних дел своевременно реагировать на происшествия и оказывать населению необходимую помощь.
Целью данной работы является снижение трудоемкости при выполнении операции выборки файлов, поиске текста, построении диапазонов активности при производстве компьютерных экспертиз.
Исходя из этого, на разработку были установлены следующие задачи:
- процесс автоматизированной индексации файлов;
- функция выборки файлов и каталогов по параметрам и атрибутам;
- функция формирования временных диапазонов работы с файлами;
- поддержка экспорта выборки файлов и диапазонов в табличную форму;
- полнотекстовый поиск по индексу.
Для реализации поставленных задач были выбраны:
- СУБД – MySql 5.5;
- среда разработки Visual Studio 2010;
- язык программирования C#.
Указанные средства являются одними из самых распространенных, и их выбор аргументирован в соответствующих разделах данной работы.

 
1. Аналитическая часть

1.1 Компьютерная экспертиза в г. Железногорске Красноярского края

Данный вид экспертиз производится в 10 Межрайонном Отделении «Железногорский» Экспертно-Криминалистического Центра Главного Управления МВД РФ по Красноярскому краю с 2008 года. Допуск на производство данного вида исследований имеет капитан полиции эксперт Дегтярев К.И.
«Компьютерная экспертиза» - является востребованным направлением экспертно-криминалистической деятельности в г. Железногорске Красноярского края (за 2010-2011 г. в 10 МРО «Железногорский» было выполнено более 15 экспертиз и 40 исследований).

1.2 Описание предметной области

Одними из основных показателей качества программного обеспечения автоматизированных информационных систем, как известно, являются его функциональность и надежность. Важнейшим этапом разработки, во многом определяющим требуемый уровень этих показателей, является этап анализа и проектирования функций, процессов взаимодействия в информационных системах.
В основу метода, использованного при проектировании функций системы «Компьютерная криминалистическая экспертиза», положены идеи и нотации стандарта IDEF0 (Integrated computer aided manufacturing DEFinition), который является развитием методики SADT (Structural Analysis and Design Technique). Использование методики IDEF0 позволило создать функциональную структуру программного комплекса, выявить производимые им действия и связи между этими действиями, управляющие воздействия и механизмы выполнения каждой функции, что, в конечном итоге, позволило на ранней стадии проектирования предотвратить возможные ошибки. Внешний вид контекстной диаграммы функциональной модели предметной области: «Компьютерная криминалистическая экспертиза» представлен на рисунке 1.1.

 
Рисунок 1.1 — Контекстная диаграмма функциональной модели

На верхнем уровне функциональной модели выделены три основных потока входной информации в систему (Input): Информация об обстоятельствах преступления, носители информации ЭВМ подозреваемого и данные об аппаратной конфигурации ЭВМ подозреваемого. Интерфейс управления (Control) разбит на два логических блока: разрешение на изменение объектов, порядок проведения экспертизы (разрешенная методика).
Механизмы (Mechanism) представлены набором основных ресурсов доступных эксперту: вспомогательное ПО, ресурсы ЭВМ, сам эксперт-криминалист.
В качестве выходной информации (Output), понимается вывод эксперта относительно исследуемой информации: доказательства и выводы о причастности к преступлению подозреваемого.
Первый уровень декомпозиции функциональной модели «Компьютерная криминалистическая экспертиза» предполагает разбиение на законченные, информационно, с точки зрения использования данных для анализа, взаимосвязанные подсистемы. Диаграмма первого уровня декомпозиции модели представлена на рисунке 1.2.

 
Рисунок 1.2 — Первый уровень декомпозиции функциональной модели «Криминалистическая компьютерная экспертиза»

Функция «Подготовка к проведению экспертизы» обеспечивает правовую поддержку эксперта, при производстве экспертизы. На входе функция имеет носитель информации из ЭВМ подозреваемого (эксперт проверяет отсутствие следов постороннего воздействия). Руководящими документами для этой подсистемы являются: разрешенный приказом порядок проведения экспертизы (методика) и постановление следователя с разрешением на изменение объектов исследования. Осматривает объекты, изучает порядок проведения экспертизы и получает разрешение следователя на изменение объектов эксперт-криминалист.
Результатом выполнения функции являются готовые правовые условия для выполнения экспертизы.
Функция «Определение перечня возможных следов» обеспечивает формирование экспертом предполагаемого списка следов (плана проведения исследования). Входными данными являются: информация об обстоятельствах преступления и готовые условия для выполнения экспертизы. Выполняет все действия сам эксперт-криминалист.
Результатом выполнения функции является список возможно имеющихся следов.
Функция «Анализ результатов» обеспечивает, на основе найденных следов, формирование экспертом выводов о причастности подозреваемого к преступлению и вывод списка собранных в процессе исследования доказательств преступления.
Функция «Поиск следов» обеспечивает поиск и формирование списка следов преступления. Входными данными являются: носитель информации из ЭВМ подозреваемого, список возможных следов, данные об аппаратной конфигурации ЭВМ подозреваемого. Управляющим воздействием является порядок проведения экспертизы (методика). Выполняется функция экспертом, с помощью ресурсов стендовой ЭВМ и вспомогательного ПО.
Результатом выполнения функции является список обнаруженных следов.
Функция «Поиск следов» декомпозируется на две составляющие: поиск следов на носителях и поиск следов в аппаратной части (рисунок 1.3).
Функция «Поиск следов в аппаратной части» обеспечивает поиск и формирование списка следов преступления относительно аппаратной части объектов исследования (например, смодулированные или декодированные сигналы в сети). Управляющим воздействием является порядок проведения экспертизы (методика). Входными данными являются: список возможных следов, аппаратная конфигурация ЭВМ подозреваемого. Функция выполняется экспертом, с помощью ресурсов стендовой ЭВМ и вспомогательного ПО.
Результатом выполнения функции является список обнаруженных следов.
Функция «Поиск следов на носителях» обеспечивает поиск и формирование списка следов преступления обнаруженных на носителях информации из ЭВМ подозреваемого. Управляющим воздействием является порядок проведения экспертизы (методика). Входными данными являются: носители информации ЭВМ подозреваемого, список возможных следов. Функция выполняется экспертом, с помощью ресурсов стендовой ЭВМ и вспомогательного ПО.
Результатом выполнения функции является список обнаруженных следов.

 
Рисунок 1.3 — Декомпозиция функции «Поиск следов»

Функция «Поиск следов на носителях» декомпозируется на две составляющие: создание копий носителей, индексация, поиск (рисунок 1.4).
Функция «Создание копий носителей» обеспечивает создание точных копий (клонов) носителей информации из ЭВМ подозреваемого, для исключения любой возможности записи данных на исходный носитель. Управляющим воздействием является порядок проведения экспертизы (методика). На входе у функции носители информации из ЭВМ подозреваемого. Функция выполняется экспертом, с помощью ресурсов стендовой ЭВМ и вспомогательного ПО.
Результатом выполнения функции является копия носителя информации.

 
 
Рисунок 1.4 — Декомпозиция функции «Поиск следов на носителях»

Функция «Индексация» обеспечивает автоматизированную индексацию текстовых данных. На входе функции копия носителя информации из ЭВМ подозреваемого. Управляющим воздействием является порядок проведения экспертизы (методика). Функция выполняется экспертом, с помощью ресурсов стендовой ЭВМ и вспомогательного ПО.
Результатом выполнения функции является база проиндексированных данных.
Функция «Поиск» обеспечивает поиск и формирование списка следов преступления обнаруженных на носителе информации из ЭВМ подозреваемого. Входными данными являются: список возможно имеющихся следов, индексные данные, копия носителя информации из ЭВМ подозреваемого. Управляющим воздействием является порядок проведения экспертизы (методика). Функция выполняется экспертом, с помощью ресурсов стендовой ЭВМ и вспомогательного ПО.
Результатом выполнения функции является список обнаруженных следов.
Таким образом, на основе системного подхода с использованием методологии IDEF0 разработана функциональная модель «Компьютерная криминалистическая экспертиза», определены основные функции и взаимосвязи между отдельными функциональными блоками.
Результаты функционального моделирования позволили в дальнейшем перейти к следующим этапам разработки системы – структурному моделированию и созданию программного обеспечения отдельных подсистем. В конечном итоге, разработана автоматизированная информационная система «Эксперт-Поиск», которая обеспечивает снижение трудоемкости при выполнении операции выборки файлов, поиске текста, построении диапазонов активности при производстве компьютерных экспертиз.

1.3 Обзор существующего специализированного программного обеспечения

1.3.1 Судебно-экспертный комплекс EnCase
Одним из мировых лидеров в области разработки программного обеспечения и программных средств, организации профессионального обучения специалистов для сферы судебно-экспертного исследования компьютерных систем является компания Guidance Software.
Разработанная компанией технология EnCase представляет собой комплекс инструментальных методов и средств обеспечения всех стадий экспертного исследования компьютерных систем – от предварительного просмотра компьютерной информации до составления заключения эксперта как источника доказательств. Case-методология, на которой базируется специальное программное обеспечение, обеспечивает соблюдение принципа сохранения первоначального вида и содержания исследуемой компьютерной информации, т.е. проведение экспертного исследования без внесения каких-либо изменений в объект экспертизы.
Характерной особенностью EnCase – методологии является практическая реализация творческого подхода к судебно-экспертному исследованию компьютерных систем. Последняя версия программного пакета EnCase, имеет следующие функциональные характеристики:
    поиск и анализ информации в различных файловых системах целого ряда аппаратных платформ;
    встроенный макроязык ESCRIPT позволяет писать фильтры и программы, чтобы настроить EnCase и применять современные методы автоматизированного анализа криминалистически значимой компьютерной информации;
    база данных с графическими форматами автоматически распознает любые графические файлы, содержащиеся на носителе информации, которые впоследствии могут быть отмечены или скопированы на компакт диск;
    просмотр содержимого файлов и установление времени их создания (изменения);
    проведение базового поиска ключевых слов с использованием произвольного набора алфавитно-цифровых данных;
    автоматический поиск скрытых и архивированных файлов;
    сортировка файлов по заданным признакам, включая временные метки (создания, модификации, удаления);
    осуществление выделения (пометки) интересуемых файлов либо их частей (фрагментов) и сохранение ссылок на них для последующей подготовки заключения эксперта;
    экспортирование копии любой части исследуемого файла, выделенных файлов или полных деревьев папок;
    распознавание сигнатур выявленных файлов, а также возможность пополнения библиотеки сигнатур пакета EnCase своими сигнатурами;
    построение библиотек форматов (типов) файлов, типичных для экспертной практики, с целью применения их при автоматическом распознавании информации;
    формирование отчета о выполненном исследовании (заключения эксперта) с проставлением дат и времени проведенных определенных действий (операций);
    отображение просматриваемого файла в текстовом или Hex-виде и др.
1.3.2 Инструментальные экспертные средства Vogon International
В настоящее время частое применение в зарубежной следственной практике находят инструментальные средства Vogon International. Использование данного комплекса, как свидетельствуют специалисты правоохранительной сферы, имеет особую эффективность при раскрытии и расследовании таких преступлений, как мошенничество, Internet/e-mail – злоупотребления, убийство, терроризм и пр. Наибольшее распространение средства Vogon International получили в Великобритании и ряде стран Европы, Северной Америки и Дальнего Востока.
Особенностью технологии Vogon International является обеспечение проведения судебно-экспертного исследования на высоком технологическом уровне посредством использования аппаратных компьютерных средств, и мощных инструментов программного обеспечения. Вся экспертная работа при использовании Vogon досконально регистрируется; после экспертизы все действия могут быть воспроизведены заново и повторены без ущерба объекту исследования; кроме того, все используемые при этом методы и средства сертифицированы соответствующим образом.
Кроме того, средства Vogon International спроектированы с учетом следующих важных принципов получения доброкачественных доказательств:
    никакое действие, предпринятое специалистом правоохранительной сферы, не должно изменить данные, содержащиеся на представленном компьютере или других средствах информатизации, которые можно впоследствии представить в суде как вещественные доказательства;
    все действия по экспертному исследованию объектов обязательно документируются, оформляются в отчет о проведенном исследовании и сохраняются в установленном порядке; независимое третье лицо должно быть способно произвести повторную экспертизу и достичь того же самого результата.
Средства Vogon International отличаются высокой производительностью. Например, 200Gb-диск может быть просмотрен на предмет контекстного поиска менее чем за 2 минуты. Автоматический режим предварительного просмотра содержания обнаруженных искомых файлов организован независимо от продолжения дальнейшей работы программного обеспечения.
Программное обеспечение проведения экспертного исследования состоит из модуля GenTree, позволяющего проводить сложные контекстные поиски и изучение графических объектов.

1.3.3 Экспертная система ILOOK Investigator
Данная система (разработка Elliot Spencer & the Criminal Investigation Division of the United States Internal Revenue Service, U.S. Treasury Department) также служит задачам обеспечения производства судебной экспертизы в сфере современных информационных технологий. Программный комплекс ILOOK является экспертным инструментом, предназначенным для всестороннего исследования и анализа представленной на экспертизу компьютерной системы. Пакет программ состоит из главного исполнимого файла, нескольких файлов, создаваемых во время работы программы, а также файла диалоговой помощи.
ILOOK используется как для экспертизы целой компьютерной системы посредством создания побитной копии (образа) носителя информации, так и исследования отдельных файлов различных типов.
ILOOK имеет следующие функциональные характеристики:
    имеет интерфейс типа Проводника Windows для осуществления навигации по файловой системе исследуемого компьютера;
    сервисные средства обеспечения исследования позволяют анализировать всю файловую систему либо лишь требуемую ее часть;
    реализует иерархический алгоритм поиска необходимой информации (стандартный, расширенный и индексированный способы поиска);
    содержит возможности проведения автономного поиска и выявления признаков индексации данных;
    просматривает файлы в различных форматах и кодировках;
    организует автоматизированную подготовку и последующую обработку образа (зеркальной копии) исследуемого носителя информации;
    проводит диагностику сигнатуры исследуемых файлов;
    имеет интегрированный многофункциональный вьюер.

1.3.4 Сравнение специализированного программного обеспечения
Основные характеристики перечисленного выше программного обеспечения приведены в таблице 1.1.

Таблица 1.1
Характеристики специализированного программного обеспечения
Характеристика    Программное обеспечение
    EnCase    Vogon International    ILOOK Investigator
Поддержка языка запросов    Да    Нет    Нет
Поиск по индексированным данным    Да    Нет    Да
Хранение индекса на удаленной станции    Да    Нет    Да
Фильтрация файлов по типу    Да    Нет    Да
Создание диапазонов дат    Да    Нет    Нет
Поддержка кириллицы    Да    Да    Нет
Встроенный вьювер    Нет    Нет    Да
Анализ сигнатуры файла    Да    Нет    Да
Ручное пополнение базы сигнатур    Да    Нет    Нет
Регулярные обновления    Да    Нет    Нет

Из таблицы 1.1 очевидно, что судебно-экспертный комплекс EnCase обладает наибольшим набором криминалистически-значимых функций. Однако работа в нем производится с помощью сложного скриптового языка (базовый курс обучения длительностью 6 месяцев). Кроме того, стоимость базовой версии EnCase составляет порядка 800 т.р.
Инструментальные экспертные средства Vogon International изначально разрабатывались как набор инструментов для работы с аппаратными компонентами и имеют ограниченные функции работы с файлами. Функциональность инструментальных экспертных средств Vogon International и ILOOK Investigator гораздо слабее, а их производители не производят обновления уже длительное время.
Таким образом, очевидна нехватка специализированного программного обеспечения обладающего криминалистически-значимыми функциями, простого в использовании и доступного по цене.

1.4 Требования к системе

Разрабатываемая система должна обеспечивать:
Функциональные требования
    соответствие стандартам интерфейса пользователя Microsoft Windows;
    сканирование и индексацию файловой системы;
    сохранение индексированных данных;
    устойчивость и контроль всевозможных ошибок ввода;
    обработку корректно введенных запросов;
    экспорт результатов в формате Word, Excel, txt.
Требования практичности
Интерфейс программной среды должен быть максимально понятный даже неподготовленному человеку.
Программная среда должна быть снабжена всплывающими подсказками и сообщениями.
Требования надёжности
Разрабатываемая среда должна иметь возможность резервного архивирования, восстановления, экспорта и импорта рабочих баз.
Требования к производительности
Рекомендуемые минимальные требования к аппаратной части:
    процессор не ниже Intel Core 2 с производительностью не менее 1.8Ггц;
    оперативная память 1024Мб, HDD 80 Гб.
Разрабатываемая программная среда должен работать под управлением операционной системы Microsoft Windows (не ниже Windows XP), с установленной программной платформой .Net Framework версии не ниже 3.5.
Внешние требования
Программное обеспечение «Эксперт-поиск» будет установлено на персональных компьютерах Экспертно-Криминалистического Центра. Выгрузка результатов в формате удобном для пользователя (документ Excel, txt).
Требования к документации
Для более быстрого освоения программной среды требуется разработка понятного руководства пользователя.
«Эксперт-поиск» будет включать систему интерактивной справки всплывающих подсказок.

 
2. Выбор программных средств

2.1 Обзор и выбор системы управления базой данных

2.1.1 Обзор существующих СУБД
Согласно данным Википедии[1], наиболее популярными СУБД являются:
- InterBase;
- Firebird;
- MySql;
- PostgreSql;
- Oracle;
- MS SQL Server.
Рассмотрим их более подробно.
InterBase
В настоящее время последней версией является InterBase 2009 , в которой появилась поддержка Unicode и шифрование AES/DES. InterBase 7.5/2007 и Firebird 1.5/2.0 похожи, но уже далеки от полной совместимости — то есть миграция между их форматами баз данных легче, чем между форматами совсем «чужих» баз данных, но все же сопряжена с определенными проблемами.
Основными достоинствами последней версии InterBase являются низкие требования к системе, с одновременной масштабируемостью на несколько процессоров, плюс развитая система мониторинга, временные таблицы, встраиваемая аутентификация пользователей, журналирование. Традиционным достоинством считается кросс-платформенность — InterBase поддерживает Linux, Microsoft Windows, Unix и Solaris.
Firebird
Firebird (FirebirdSQL) — компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.
В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.
Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.
Среди недостатков: отсутствие кеша результатов запросов, полнотекстовых индексов.
MySql
MySQL [1] — свободная система управления базами данных (СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
PostgreSql
PostgreSQL базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2003 (ISO/IEC 9075)[1].
Сильными сторонами PostgreSQL считаются:
-    поддержка БД практически неограниченного размера;
-    мощные и надёжные механизмы транзакций и репликации;
-    расширяемая система встроенных языков программирования: в стандартной поставке поддерживаются PL/pgSQL, PL/Perl, PL/Python и PL/Tcl; дополнительно можно использовать PL/Java, PL/PHP, PL/Py, PL/R, PL/Ruby, PL/Scheme и PL/sh, а также имеется поддержка загрузки C-совместимых модулей;
-    наследование;
-    легкая расширяемость.
Oracle
СУБД Oracle поставляется в четырех различных редакциях, ориентированных на различные сценарии разработки и развертывания приложений (а также отличающиеся ценой):
- Enterprise Edition Standard Edition, не может устанавливаться на системы, имеющие более 4-х процессорных разъёмов;
- Standard Edition One,не может устанавливаться на системы, имеющие более 2-х процессорных разъёмов;
- Personal Edition, один пользователь;
- Lite,для мобильных и встраиваемых устройств
- Express Edition,бесплатная редакция; используемая оперативная память — 1 Гбайт, а так же используется только 1 процессор. Максимальный объем базы данных Oracle Database XE составляет 12 гигабайт (Гб). Из них от 0.5 до 0.9 Гб используются словарем данных, внутренними схемами и временным дисковым пространством. Поэтому остается 11.0 Гб для пользовательских данных.
Ms SQL Server
Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.
Сервер баз данных Microsoft SQL Server в качестве языка запросов использует версию языка SQL, получившую название Transact-SQL (сокращённо T-SQL). Язык T-SQL является реализацией SQL-92 (стандарт ISO для языка SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением).
Для обеспечения доступа к данным Microsoft SQL Server поддерживает Open Database Connectivity (ODBC) — интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Компания Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.
Также SQL Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL — это совокупность одинаково конфигурированных серверов; такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP-адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.
В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому хранимые процедуры БД могут быть написаны на любом языке платформы .NET, используя полный набор библиотек, доступных для .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework). Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.
Microsoft и другие компании производят большое число программных средств разработки, позволяющих разрабатывать бизнес-приложения с использованием баз данных Microsoft SQL Server. Microsoft SQL Server 2005 включает в себя также Common Language Runtime (CLR) Microsoft .NET, позволяющий реализовывать хранимые процедуры и различные функции приложениям, разработанным на языках платформы .NET (например, VB.NET или C#). Предыдущие версии средств разработки Microsoft использовали только API для получения функционального доступа к Microsoft SQL Server.
2.1.2 Выбор СУБД
Основные характеристики [1] перечисленных выше СУБД приведены в таблицах 2.1 - 2.3.

Таблица 2.1
Операционные системы, поддерживаемые СУБД
СУБД    Операционная система
    Windows    Mac OS X    Linux    BSD    UNIX
Firebird    Yes    Yes    Yes    Yes    Yes
InterBase    Yes    Yes    Yes    No    Yes (Solaris)
Microsoft SQL Server    Yes    No    No    No    No
MySQL    Yes    Yes    Yes    Yes    Yes
Oracle    Yes    Yes    Yes    No    Yes
PostgreSQL    Yes    Yes    Yes    Yes    Yes

Таблица 2.2
Ограничения по размерам данных в СУБД
СУБД    Ограничение
    Максимальный размер базы    Максимальный размер таблицы
Firebird    Unlimited    ~32TB
InterBase    Unlimited    ~32TB
Microsoft SQL Server    524 258 TB (32 767 files * 16 TB max file size)    524 258TB
MySQL    Unlimited    MyISAM storage limits: 256 TB; Innodb storage limits: 64 TB
Oracle    Unlimited (4 GB * block size per tablespace)    4 GB * block size (with BIGFILE tablespace)
PostgreSQL    Unlimited    32 TB

Таблица 2.3
Другие характеристики
СУБД    Характеристика
    Шифрование траффика    Подключение anonymous    Аудит    Full-text
Firebird    No    Yes    No    No
InterBase    No    Yes    No    No
Microsoft SQL Server    Yes    Yes    Yes (From 2008)    Yes
MySQL    Yes (SSL with 4.0)    Yes    -    MyISAM tables only
Oracle    Yes    Yes    Yes    Yes
PostgreSQL    Yes (for 9.1)    No    Yes    Yes

Основываясь на данных таблиц 2.1-2.3 и описаниях СУБД, следует:
- Firebird и InterBase не обладают функциями полнотекстового поиска;
- Microsoft SQL Server не поддерживает сторонние операционные системы (но вполне возможна ситуация, когда будет необходимо сохранить индексную базу на машине под управлением другой ОС (например, ubuntu));
- бесплатная редакция Oracle Express Edition имеет недопустимое количество ограничений (используемая оперативная память — 1 Гбайт, а так же используется только 1 процессор. Максимальный объем базы данных Oracle Database XE составляет 12 гигабайт (Гб)).
Далее, методом исключения, на выбор остались две СУБД: MySql и PostgreSQL. Согласно статье [2], MySql позиционируется как более быстрая, а применение PostgreSql оправдано, когда необходим расширенный набор функций.
Таким образом, для решения поставленных задач, была выбрана СУБД MySql.

2.2 Обзор и выбор языка программирования

2.2.1 Подход с применением языка С и API-интерфейса Windows
Традиционно, разработка программного обеспечения для операционных систем семейства Windows подразумевала использование языка программирования С в сочетании с API-интерфейсом Windows (Application Programming Interface — интерфейс прикладного программирования). И хотя то, что за счет применения этого проверенного временем подхода было успешно создано очень много приложений, мало кто станет спорить по поводу того, что процесс создания приложений с помощью одного только API-интерфейса является очень сложным занятием.
Первая очевидная проблема состоит в том, что С представляет собой очень лаконичный язык. Разработчики программ на языке С вынуждены мириться с необходимостью "вручную" управлять памятью, безобразной арифметикой указателей и ужасными синтаксическими конструкциями. Более того, поскольку С является структурным языком программирования, ему не хватает преимуществ, обеспечиваемых объектно-ориентированным. Из-за сочетания тысяч глобальных функций и типов данных, определенных в API-интерфейсе Windows, с языком, который и без того выглядит устрашающе, совсем не удивительно, что сегодня в обиходе присутствует столь много дефектных приложений.

2.2.2 Подход с применением языка C++ и платформы MFC
Огромным шагом вперед по сравнению с подходом, предполагающим применение языка С прямо с API-интерфейсом, стал переход на использование языка программирования C++. Язык C++ во многих отношениях может считаться объектно-ориентированной надстройкой поверх языка С. Из-за этого, хотя в случае его применения программисты уже могут начинать пользоваться преимуществами известных "главных столпов ООП" (таких как инкапсуляция, наследование и полиморфизм), они все равно вынуждены иметь дело с утомительными деталями языка С (например, необходимость осуществлять управление памятью "вручную", безобразная арифметика указателей и ужасные синтаксические конструкции). Невзирая на сложность, сегодня существует множество платформ для программирования на C++. Например, MFC (Microsoft Foundation Classes — библиотека базовых классов Microsoft) предоставляет в распоряжение разработчику набор классов C++, которые упрощают процесс создания приложений Windows. Основное предназначение MFC заключается в представлении "разумного подмножества" исходного API-интерфейса Windows в виде набора классов, "магических" макросов и многочисленных средств для автоматической генерации программного кода (обычно называемых мастерами).
Несмотря на очевидную пользу данной платформы приложений (и многих других основанных на C++ наборов средств), процесс программирования на C++ остается трудным и чреватым допущением ошибок занятием из-за его исторической связи с языком С.

2.2.3 Подход с применением Visual Basic 6.0
Благодаря искреннему желанию иметь возможность наслаждаться более простой жизнью, многие программисты перешли из "мира платформ" на базе С (C++) в мир менее сложных и более дружественных языков наподобие Visual Basic 6.0 (VB6). Язык VB6 стал популярным благодаря предоставляемой им возможности создавать сложные пользовательские интерфейсы, библиотеки программного кода (вроде СОМ-серверов) и логику доступа к базам данных с приложением минимального количества усилий. Во многом как и в MFC, в VB6 сложности API-интерфейса Windows скрываются из вида за счет предоставления ряда интегрированных мастеров, внутренних типов данных, классов и специфических функций VB.
Главный недостаток языка VB6 (который с появлением платформы .NET был устранен) состоит в том, что он является не полностью объектно-ориентированным, а скорее — просто "объектным". Например, VB6 не позволяет программисту устанавливать между классами отношения "подчиненности" (т.е. прибегать к классическому наследованию) и не обладает никакой внутренней поддержкой для создания параметризованных классов. Более того, VB6 не предоставляет возможности для построения многопоточных приложений, если только программист не готов опускаться до уровня вызовов API-интерфейса Windows (что в лучшем случае является сложным, а в худшем - опасным подходом).
 
2.2.4 Подход с применением Java
Теперь пришел черед языка Java. Язык Java представляет собой объектно-ориентированный язык программирования, который своими синтаксическими корнями уходит в C++. Как многим известно, достоинства Java не ограничиваются одной лишь только поддержкой независимости от платформ. Java как язык не имеет многих из тех неприятных синтаксических аспектов, которые присутствуют в C++, а как платформа - предоставляет в распоряжение программистам большее количество готовых пакетов с различными определениями типов внутри. За счет применения этих типов программисты на Java могут создавать "на 100% чистые Java-приложения" с возможностью подключения к базе данных, поддержкой обмена сообщениями, веб-интерфейсами и богатым настольными интерфейсами для пользователей (а также многими другими службами).
Хотя Java и представляет собой очень элегантный язык, одной из потенциальных проблем является то, что применение Java обычно означает необходимость использования Java в цикле разработки и для взаимодействия клиента с сервером. Надежды на появление возможности интегрировать Java с другими языками мало, поскольку это противоречит главной цели Java — быть единственным языком программирования для удовлетворения любой потребности. В действительности, однако, в мире существуют миллионы строк программного кода, которым бы идеально подошло смешивание с более новым программным кодом на Java. К сожалению, Java делает выполнение этой задачи проблематичной. Пока в Java предлагаются лишь ограниченные возможности для получения доступа к отличным от Java API-интерфейсам, поддержка для истинной межплатформенной интеграции остается незначительной.

2.2.5 Подход с применением СОМ
Модель COM (Component Object Model — модель компонентных объектов) была предшествующей платформой для разработки приложений, которая предлагалась Microsoft, и впервые появилась в мире программирования приблизительно в 1991 г. (или в 1993 г., если считать моментом ее появления рождение версии OLE 1.0). Она представляет собой архитектуру, которая, по сути, гласит следующее: в случае построения типов в соответствии с правилами СОМ, будет получаться блок многократно используемого двоичного кода. Такие двоичные блоки кода СОМ часто называют "серверами СОМ".
Одним из главным преимуществ двоичного СОМ-сервера является то, что к нему можно получать доступ независимым от языка образом. Это означает, что программисты на C++ могут создавать СОМ-классы, пригодные для использования в VB6, программисты на Delphi — применять СОМ-классы, созданные с помощью С, и т.д. Однако, как не трудно догадаться, подобная независимость СОМ от языка является несколько ограниченной. Например, никакого способа для порождения нового СОМ-класса с использованием уже существующего не имеется (поскольку СОМ не обладает поддержкой классического наследования). Вместо этого для использования типов СОМ-класса требуется задавать несколько неуклюжее отношение принадлежности (has-a).
Еще одним преимуществом СОМ является прозрачность расположения. За счет применения конструкций вроде системного реестра, идентификаторов приложений (AppID), заглушек, прокси-объектов и исполняющей среды СОМ программисты могут избегать необходимости иметь дело с самими сокетам, RPC-вызовам и другими низкоуровневыми деталями при создании распределенного приложения.
Хотя COM и можно считать очень успешной объектной моделью, ее внутреннее устройство является чрезвычайно сложным (и требует затрачивания программистами многих месяцев на его изучение, особенно теми, которые программируют на C++). Для облегчения процесса разработки двоичных СОМ-объектов программисты могут использовать многочисленные платформы, поддерживающие СОМ. Например, в ATL (Active Template Library — библиотека активных шаблонов) для упрощения процесса создания СОМ-серверов предоставляется набор специальных классов, шаблонов и макросов на C++.
Во многих других языках приличная часть инфраструктуры СОМ тоже скрывается из вида. Поддержки одного только языка, однако, для сокрытия всей сложности СОМ не хватает. Даже при выборе относительно простого поддерживающего СОМ языка вроде VB6, все равно требуется бороться с "хрупкими" записями о регистрации и многочисленными деталями развертывания (в совокупности несколько саркастично называемыми адом DLL).

2.2.6 Сложность представления типов данных СОМ
Хотя СОМ, несомненно, упрощает процесс создания программных приложений с помощью различных языков программирования, независимая от языка природа СОМ не является настолько простой, насколько возможно хотелось бы. Некоторая доля этой сложности является следствием того факта, что приложения, которые сплетаются вместе с помощью разнообразных языков, получаются совершенно не связанными с синтаксической точки зрения. Например, синтаксис JScript во многом похож на синтаксис С, а синтаксис VBScript представляет собой подмножество синтаксиса VB6. СОМ-серверы, которые создаются для выполнения в исполняющей среде СОМ+ (представляющей собой компонент операционной системы Windows, который предлагает общие службы для библиотек специального кода, такие как транзакции, жизненный цикл объектов, безопасность и т.д.), имеют совершенно не такой вид и поведение, как ориентированные на использование в веб-сети ASP-страницы, в которых они вызываются. В результате получается очень запутанная смесь технологий.
Более того, что, пожалуй, даже еще важнее, каждый язык и/или технология обладает собственной системой типов (которая может быть совершенно не похожа на систему типов другого языка или технологии). Помимо того факта, что каждый API-интерфейс поставляется с собственной коллекцией готового кода, даже базовые типы данных могут не всегда интерпретироваться идентичным образом. Например, тип CComBSTR в ATL представляет собой не совсем то же самое, что тип String в VB6, и оба они не имеют совершенно ничего общего с типом char* в С.
Из-за того, что каждый язык обладает собственной уникальной системой типов, СОМ-программистам обычно требуется соблюдать предельную осторожность при создании общедоступных методов в общедоступных классах СОМ. Например, при возникновении у разработчика на C++ необходимости в создании метода, способного возвращать массив целых чисел в приложении VB6, ему пришлось бы полностью погружаться в сложные вызовы API-интерфейса СОМ для построения структуры SAFE ARRAY, которое вполне могло бы потребовать написания десятков строк кода. В мире СОМ тип данных SAFEARRAY является единственным способом для создания массива, который могли бы распознавать все платформы СОМ. Если разработчик на C++ вернет просто собственный массив C++, у приложения VB6 не будет никакого представления о том, что с ним делать.
Подобные сложности могут возникать и при построении методов, предусматривающих выполнение манипуляций над простыми строковыми данными, ссылками на другие объекты СОМ и даже обычными булевскими значениями. Мягко говоря, программирование с использованием СОМ является очень несимметричной дисциплиной.

2.2.7 Решение .NET
.NET Framework представляет собой программную платформу для создания приложений на базе семейства операционных систем Windows, а также многочисленных операционных систем производства не Microsoft, таких как Mac OS X и различные дистрибутивы Unix и Linux.
В .Net проработано обеспечение взаимодействия с существующим программным обеспечением. Эта возможность, несомненно, является очень хорошей функцией, поскольку позволяет комбинировать существующие двоичные единицы СОМ (т.е. обеспечивать их взаимодействие) с более новыми двоичными единицами .NET и наоборот.
Приложения .NET можно создавать с помощью множества языков программирования (С#, Visual Basic, F#, S# и т.д.).
В .NET поддерживается межъязыковое наследование, межъязыковая обработка исключений и межъязыковая отладка кода.
В .NET нет никакой необходимости заботиться о регистрации двоичной единицы в системном реестре за счет упрощенной модели развертывания.
Как не трудно догадаться по приведенному выше перечню, платформа .NET не имеет ничего общего с СОМ (за исключением разве что того факта, что обе этих платформы являются детищем Microsoft). На самом деле единственным способом, которым может обеспечиваться взаимодействие между типами .NET и СОМ, будет использование уровня функциональной совместимости.

2.2.8 Что привносит язык С#
Из-за того, что платформа .NET столь радикально отличается от предыдущих технологий, в Microsoft разработали специально под нее новый язык программирования С#. Синтаксис этого языка программирования очень похож на синтаксис языка Java. Однако сказать, что С# просто переписан с Java, будет неточно. И язык С#, и язык Java просто оба являются членами семейства языков программирования С (в которое также входят языки С, Objective С, C++ и т.д.) и потому имеют схожий синтаксис.
Правда состоит в том, что многие синтаксические конструкции в С# моделируются согласно различным особенностям Visual Basic 6.0 и C++. Например, как и в VB6, в С# поддерживается понятие формальных свойств типов (в противоположность традиционным методам get и set) и возможность объявлять методы, принимающие переменное количество аргументов (через массивы параметров). Как и в C++, в С# допускается перегружать операции, а также создавать структуры, перечисления и функции обратного вызова (посредством делегатов).
Более того, в С# поддерживается целый ряд функциональных возможностей, которые традиционно встречаются в различных функциональных языках программирования (например, LISP или Haskell) и к числу которых относятся лямбда-выражения и анонимные типы. Кроме того, с появлением технологии LINQ в С# стали поддерживаться еще и конструкции, которые делают его довольно уникальным в мире программирования. Несмотря на все это, наибольшее влияние на него все-таки оказали именно языки на базе С.
Благодаря тому факту, что С# представляет собой собранный из нескольких языков гибрид, он является таким же "чистым" с синтаксической точки зрения, как и язык Java (а то и "чище" его), почти столь же простым, как язык VB6, и практически таким же мощным и гибким как C++ (только без ассоциируемых с ним громоздких элементов).
Ниже приведен неполный список ключевых функциональных возможностей языка С#, которые присутствуют во всех его версиях.
Никаких указателей использовать не требуется! В программах на С# обычно не возникает необходимости в манипулировании указателями напрямую.
Управление памятью осуществляется автоматически посредством сборки мусора. По этой причине ключевое слово delete в С# не поддерживается.
Предлагаются формальные синтаксические конструкции для классов, интерфейсов, структур, перечислений и делегатов.
Предоставляется аналогичная C++ возможность перегружать операции для пользовательских типов, но без лишних сложностей (например, заботиться о "возврате *this для обеспечения связывания" не требуется).
Предлагается поддержка для программирования с использованием атрибутов. Такой подход в сфере разработки позволяет снабжать типы и их членов аннотациями и тем самым еще больше уточнять их поведение.
С выходом версии .NET 2.0 (примерно в 2005 г.), язык программирования С# был обновлен и стал поддерживать многочисленные новые функциональные возможности, наиболее заслуживающие внимания из которых перечислены ниже.
Возможность создавать обобщенные типы и обобщенные элементы-члены. За счет применения обобщений можно создавать очень эффективный и безопасный для типов код с многочисленными метками-заполнителями, подстановка значений в которые будет происходить в момент непосредственного взаимодействия с данным обобщенным элементом.
Поддержка для анонимных методов, каковые позволяют предоставлять встраиваемую функцию везде, где требуется использовать тип делегата.
Многочисленные упрощения в модели "делегат-событие", в том числе возможность применения ковариантности, контравариантности и преобразования групп методов. (Если какие-то из этих терминов пока не знакомы, не стоит пугаться; все они подробно объясняются далее в книге.)
Возможность определять один тип в нескольких файлах кода (или, еслинеобходимо, в виде представления в памяти) с помощью ключевого слова partial.
В версии .NET 3.5 (которая вышла примерно в 2008 г.) в язык программирования С# снова были добавлены новые функциональные возможности, наиболее важные из которых описаны ниже.
Поддержка для строго типизированных запросов (также называемых запросами LINQ), которые применяются для взаимодействия с различными видами данных.
Поддержка для анонимных типов, которые позволяют моделировать форму типа, а не его поведение.
Возможность расширять функциональные возможности существующего типа с помощью методов расширения.
Возможность использовать лямбда-операцию (=>), которая даже еще больше упрощает работу с типами делегатов в .NET.
Новый синтаксис для инициализации объектов, который позволяет устанавливать значения свойств во время создания объектов.
В текущем выпуске платформы .NET версии 4.0 язык С# был опять обновлен и дополнен рядом новых функциональных возможностей.
Поддержка необязательных параметров в методах, а также именованных аргументов.
Поддержка динамического поиска членов во время выполнения посредством ключевого слова dynamic.
Вместе с предыдущей возможностью в .NET 4.0 значительно упрощается обеспечение взаимодействия приложений на С# с унаследованными серверами СОМ, благодаря устранению зависимости от сборок взаимодействия (interop assemblies) и предоставлению поддержки необязательных аргументов ref.
Работа с обобщенными типами стала гораздо понятнее, благодаря появлению возможности легко отображать обобщенные данные на и из общих коллекций System.Object с помощью ковариантности и контравариантности.
Возможно, наиболее важным моментом, о котором следует знать, программируя на С#, является то, что с помощью этого языка можно создавать только такой код, который будет выполняться в исполняющей среде .NET (использовать С# для построения "классического" СОМ-сервера или неуправляемого приложения с вызовами API-интерфейса и кодом на С и C++ нельзя). Официально код, ориентируемый на выполнение в исполняющей среде .NET, называется управляемым кодом (managed code), двоичная единица, в которой содержится такой управляемый код — сборкой (assembly; о сборках будет более подробно рассказываться позже в настоящей главе), а код, который не может обслуживаться непосредственно в исполняющей среде .NET — неуправляемым кодом.
В качестве языка программирования выбран язык C#[4] как наиболее перспективный и полностью удовлетворяющий заявленным требованиям.

2.2.9 Выбор среды программирования
Для решения поставленной задачи была выбрана среда разработки Microsoft Visual Studio 2010 Express.
Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.
Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов цикла разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).
Таким образом, выбрав Microsoft Visual Studio C# 2010, были получены следующие основные преимущества:
- Полностью объектно-ориентированная модель программирования, позволяющая существенно упростить процесс разработки приложений.
- Механизмы автоматического управления ресурсами, встроенные в CLR, позволяют не заботиться об освобождении занятых ресурсов.
- Технология .NET позволяет эффективно использовать код, написанный на предыдущих (не .NET) версиях языка, включая COM(+) (Component Object Model), DNA (Distributed iNternet Architecture) и др.
- Технология .NET позволяет эффективно осуществлять межъязыковое взаимодействие, что позволяет разрабатывать фрагменты одного и того же проекта на различных языках программирования.
- Код, сгенерированный для .NET, может быть проверен на безопасность. Это гарантирует, что приложение не может навредить пользователю или нарушить функционирование операционной системы. Кроме того, полный отказ от использования реестра также позволяет существенно повысить безопасность приложений.
- В среде .NET существенно упрощен процесс развертывания приложений. По сути, в архитектуре .NET установка приложения может свестись к простому копированию всех файлов в определенный каталог.

 
3. Разработка базы данных системы

3.1 Инфологическое проектирование

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

Добавил: Демьян |
Просмотров: 2211
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Дипломник © 2024
магазин дипломов, диплом на заказ, заказ диплома, заказать дипломную работу, заказать дипломную работу mba