У нас уже 176407 рефератов, курсовых и дипломных работ
Заказать диплом, курсовую, диссертацию


Быстрый переход к готовым работам

Мнение посетителей:

Понравилось
Не понравилось





Книга жалоб
и предложений


 






Название Виртуальная файловая система
Количество страниц 116
ВУЗ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ ИМЕНИ К.Г. РАЗУМОВСКОГО
Год сдачи 2011
Содержание Содержание.

Введение 5
Раздел 1. Специальный раздел
1.1. Исследовательская часть 10
1.1.1. Постановка задачи 10
1.1.2. Предварительные НИР 11
1.1.3. Информационные потребности пользователей 13
1.1.4. Требования, предъявляемые к системе 14
1.2. Конструкторская часть 17
1.2.1. Структура входных и выходных данных 17
1.2.2. Общая схема работы модуля 18
1.2.3. Выбор платформы проектирования
и его обоснование 19
1.2.4. Проектирование архитектуры модуля 22
1.2.5. Конфигурация технических средств 29
1.2.6. Алгоритмы работы модуля 29
1.2.7. Методика тестирования 35
1.2.8. Результаты экспериментальной проверки 38
Раздел 2. Технологический раздел
2.1. Проектирование на языке UML 40
2.1.1. Концепция Unified Modeling Language 40
2.1.2. Виды диаграмм UML 41
2.1.3. Связь с объектно-ориентированными языками 48
2.2. Идеология STL в применении к архитектуре модуля 48
2.2.1. Шаблоны в C++ 49
2.2.2. Контейнеры 50
2.2.3. Алгоритмы 54
2.2.4. Потоки 56
2.2.5. Умные указатели 57
2.3. Специализированный инструментарий 59
2.3.1. Средства работы с zip-архивами 59
2.3.2. Шифрация по алгоритму CRC32 60
2.4. Тестирование 60
2.4.1. Модульное тестирование 60
2.4.2. Типы тестов 62
2.4.3. Планирование модульных тестов 63
2.4.4. Примеры тестирования 64
2.4.5. Методы “грубой силы” и их
применение при отладке программы 66
Раздел 3. Организационно-экономический раздел
3.1. Цели определения себестоимости и цены модуля 68
3.2. Методы определения себестоимости 68
3.2.1. Метод калькуляции 68
3.2.2. Расчет на основе нормо-часа 69
3.2.3. Метод удельных показателей 69
3.2.4. Метод коэффициентов 69
3.3. Расчет себестоимости VFS 73
3.4. Методы расчета цены 79
3.4.1. По стоимости изготовления 79
3.4.2. На основе отчислений с продаж («роялти») 79
3.4.3. На тиражируемый продукт 80
3.5. Расчет цены VFS 80
3.6. Выводы 81
Раздел 4. Раздел производственно-экологической безопасности
4.1. Производственная безопасность 83
4.2. Анализ работы за компьютером с точки рения производственной безопасности 83
4.2.1. Психофизиологические факторы 84
4.2.2. Электромагнитные излучения 87
4.2.3. Освещение рабочего места 89
4.2.4. Электробезопасность 91
4.2.5. Микроклимат 93
4.2.6. Зашумленность 94
4.3. Инженерный расчет освещенности машинного зала 95
4.4. Экологическая безопасность 98
4.5. Пожарная безопасность 98
4.6. Выводы 98

Заключение 99
Список литературы 100
Приложения 101
1. Руководство программиста 102
2. Тексты программы 107



Введение.
Современные компьютерные игры – крупные и сложные программные комплексы. Затраты только на программную разработку часто измеряются сотнями человеко-месяцев. По объему задействованных технологий, привлеченных средств и уровню профессиональной подготовки разработчиков игровая индустрия давно заняла отнюдь не последнее место в мире IT.
Разработка аппаратной базы в секторе персональных компьютеров уже довольно долго стимулируется именно игровой индустрией. Развитие многих программных технологий, в частности, всех мыслимых способов отрисовки трехмерных изображений, идет именно благодаря играм.
Одной из отличительных черт игры как компьютерного приложения является работа с огромным количеством ресурсов. Текстуры, музыка, видео, скрипты часто исчисляются гигабайтами, особенно в последнее время. Имеет место проблема организации ресурсов, в частности, информации на диске. Применение СУБД в данном случае сопряжено с техническими и экономическими сложностями:
1) Для представления данных в табличном или объектном виде чаще всего нужна их обработка. Сама по себе СУБД - отдельное приложение, с которым нужно устанавливать связь, разделять ресурсы и т.д. Редактирование данных на этапе разработки вызовет сложности. Также тяжело решить некоторые специфичные проблемы, речь о которых пойдет ниже.
2) Современные быстродействующие СУБД стоят довольно больших денег, и в случае с распространением игры как товара, как правило, требуется отдельное лицензирование.
Чаще всего разработчики реализуют иерархические структуры на диске. В силу внешних причин отдельные части ресурсов могут быть заархивированы и/или зашифрованы. Часть ресурсов может быть оставлена на ключевом носителе (сейчас в этой роли часто выступает оптический диск), который тоже может быть защищен по какой-либо технологии (оптический диск - StarForce, LaserLock и другие). Также ресурсы могут быть размещены на сетевом сервере, что накладывает свои требования к доступу, верификации и иногда к защите. Ситуация в индустрии диктует ещё одно требование: необходима возможность работы с несколькими параллельными версиями ресурсов – это нужно для корректной установки патчей (пакетов исправлений и дополнений) и пользовательских модификаций. В результате разработчики часто оказываются перед распределенным комплексом весьма сложных по структуре хранилищ. Кроме того, необходимость знать о типах хранилищ и особенностях работы с ними, вызывает резкое усложнение кода и затрудняет его повторное использование.
В данной работе рассмотрен известный подход к организации подобных хранилищ, названный «виртуальная файловая система». Основные положения этого подхода:
1) Любые обращения к файловой системе идут по виртуальному «дереву» каталогов, начиная с корня (root).
2) Любое файловое хранилище – носитель, архив, сетевой каталог и т.п. – может быть присоединено (замонтировано) к дереву как «ветка», соответственно, часть полного пути до файла будет располагаться в дереве, а часть – в ветке.
3) Под «файлом» подразумевается любой потоковый источник информации, это могут быть дисковый файл, устройство или программно сформированные данные в памяти.
Этот подход был заложен в операционных системах UNIX. Он отличается высокой гибкостью и прозрачностью в использовании. Его реализация позволяет полностью инкапсулировать код, отвечающий за непосредственную работу с разнородными хранилищами, и предоставить единый интерфейс на все файловые операции.
Используя этот подход, был разработан модуль, задачей которого является прозрачная работа с файловыми ресурсами вне зависимости от хранилища, из которого они получены – дисковый каталог, сеть, архив, зашифрованное хранилище, exe-файл или dll-файл. Архитектура модуля предусматривает максимально простое подключение к существующим проектам, а так же простое расширение функционала:
1) Увеличение количества типов поддерживаемых файловых подсистем (хранилищ). Предусмотрен специальный интерфейс, реализуя который можно реализовать и подключить новую подсистему.
2) Наращивание механизмов эвристики по выбору вариантов файлов в случае использования параллельных веток. Предусмотрен механизм передачи внешнего функтора для сравнения файлов.
Модуль реализует работу с алгоритмами архивации zip, шифрованием по алгоритму CRC32, с сетью и с ресурсами исполняемых файлов Win32.
Выбор средств разработки определялся удобством интеграции в существующие проекты, а также быстродействием результирующего модуля. В силу того, что программирование в MiSTland ведется на языке С++, модуль также был реализован на C++ и с использованием идеологии STL. Из инструментальных средств, выбор пал на Microsoft Visual Studio 7.1, STLport, BOOST и zlib. Проектирование велось в Rational Rose, для не-UML схем использовался Microsoft Visio.
Предлагаемый модуль является dll-библиотекой, подключаемой к любому проекту через интерфейс на языке С++, и обеспечивающий требуемый функционал, используя стандартные потоки языка C++.
В технологической части и программной документации освещены этапы решения задачи, принципы тестирования и отладка. Отдельная глава посвящена вопросу надежности.
В организационно-экономическом разделе рассчитаны себестоимость разработки модуля и его цена.
В производственно-экологическом разделе рассмотрены вредные факторы, присутствующие на рабочем месте программиста, психофизиологические факторы, требования к освещенности помещения, шуму, электро- и пожаробезопасности, спланировано само рабочее место и организация работы программиста с компьютером.
Список литературы Заключение.
Модуль, разработанный в ходе выполнения данного дипломного проекта, был успешно внедрен в трех коммерческих программных продуктах компании «МиСТ ленд – ЮГ», один из которых – «Альфа Антитеррор» - поступил в продажу в феврале 2005 года, а остальные в данный момент разрабатываются. Реализация затребованного в техническом задании функционала позволила команде разработчиков безболезненно перейти на завершающей стадии проекта к хранению ресурсов в конечной версии размещения. Вторым по значимости результатом стала возможность быстро менять ресурсы без переупаковки, перераспределения и т.п., что является вариантом пользовательской модификации ресурсов.
Модуль продолжает совершенствоваться. Разрабатывается следующая версия, основными задачами которой являются расширение функционала (программная поддержка защищенных носителей и новых видов шифрования) и увеличение скорости работы.

В специальном разделе были освещены вопросы предварительных исследований, проектирования и тестирования модуля. Большая часть уделена вопросам архитектуры. В технологическом разделе рассмотрены основные средства, которые были использованы при разработке: UML, средства STL, внешние библиотеки, методология модульного тестирования. Экономический раздел посвящен вопросам себестоимости и цены модуля; в разделе производственно-экологической безопасности рассмотрены основные вредности на рабочем месте программиста и выполнен расчет необходимой освещенности машинного зала.

Список литературы

1) Л.Г.Гагарина, Н.Н,Зубов, А.В.Стрижков, Е.Л.Федотова. Методические указания по подготовке дипломного проекта специалистов направления 654600 «Информатика и вычислительная техника». МГИЭТ, 2004.
2) Костина Г.Д., Моисеева Н.К. Маркетинговые исследования при создании и использовании программных продуктов: Методические указания длявыполнения курсовых и дипломных работ по специальности «Менеджмент». МИЭТ(ТУ),1996.
3) Константинова Л.А., Ларионов Н.М., Писеев В.М. Методические указания по выполнению раздела «Охрана труда» в дипломных проектах для студентов МИЭТ. Под ред. В.И. Каракеяна. М., МИЭТ, 1988.
4) Джефф Элджер. С++: Библиотека программиста. «Питер», 2001.
5) Бьярн Страуструп. Дизайн и эволюция С++. «ДМК Пресс», 2000
6) Эрик Дж. Брауде. Технология разработки программного обеспечения. "Питер", 2004.
7) Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. «Невский диалект», 1998.
8) Айра Пол. Объектно-ориентированное программирование на С++. «Бином», 2001.
9) Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования. «Питер», 2001.
10) Чарльз Петзолд. Программирование для Windows 95. «BHV – Санкт-Петербург», 1997.
11) Герб Саттер. Решение сложных задач на С++. «Вильямс», 2002.
12) Андрей Александреску. Современное проектирование на С++. «Вильямс», 2002.
13) Бьярн Страуструп. Язык программирования С++. Специальное издание. «Бином», 2003.
14) Д. Рихтер. Windows 2000 для профессионалов. «Русская редакция», 2001.
15) Документация к библиотеке zlib - http://www.gzip.org/zlib/
16) Документация к библиотеке infozip - http://www.info-zip.org/pub/infozip/
17) Онлайн-документация по шифрованию CRC32 (CIT-forum, RSDN, flipcode)
18) Внутренняя документация MiSTland
Цена, в рублях:

(при оплате в другой валюте, пересчет по курсу центрального банка на день оплаты)
3000





Найти готовую работу


ЗАКАЗАТЬ

Обратная связь:


Связаться

Доставка любой диссертации из России и Украины



Ссылки:

Выполнение и продажа диссертаций, бесплатный каталог статей и авторефератов

Счетчики:

Besucherzahler
счетчик посещений

© 2006-2022. Все права защищены.
Выполнение уникальных качественных работ - от эссе и реферата до диссертации. Заказ готовых, сдававшихся ранее работ.