АИС индексации файлов с функцией поиска с заданными критериями и ее применение при проведении криминалистических компьютерных экспертиз

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

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

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

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

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

АИС индексации файлов с функцией поиска с заданными критериями и ее применение при проведении криминалистических компьютерных экспертиз

Содержание

  • Введение
  • 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 язык С# был опять обновлен и дополнен рядом новых функциональных возможностей.

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


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

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

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

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

    дипломная работа [883,5 K], добавлен 12.08.2017

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

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

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

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

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

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

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

    лабораторная работа [1,9 M], добавлен 08.04.2014

  • Web content, usage mining. Современные средства анализа лог-файлов. Требования к создаваемой системе, выбор инструментов реализации, описание общей архитектуры. Конвенции программирования, разработки Firebird. Кроссплатформленость, работа с Еxсel.

    дипломная работа [1,5 M], добавлен 09.10.2013

  • Изучение понятия и основных задач стеганографии - науки, изучающей способы и методы сокрытия информации. Характеристика метода замены наименее значащих битов для bmp файлов. Реализация метода замены НЗБ для bmp файлов на языке программирования Java.

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

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

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

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

    контрольная работа [17,9 K], добавлен 25.12.2010

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