Разработка Web-приложения для управления знаниями на основе технологии Wiki, проектный офис
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Московский авиационный институт
Факультет прикладной математики и физики
Кафедра вычислительной математики и программирования
Персональный отчет по курсовой работе
Разработка Web-приложения для управления знаниями на основе технологии Wiki, проектный офис
Введение
Программа проектов - это ряд связанных друг с другом проектов, управление которыми координируется для достижения преимуществ и степени управляемости, недоступных при управлении ими по отдельности. Общий проектный офис нужен для координации этих проектов и сведения их в единую базу. Многие коммерческие компании и общественные организации в явной или неявной форме используют подобные структуры данных.
Цель проектного офиса: сделать работу эффективной (в широком смысле: минимум затрат - максимум результат)
Задачи проектного офиса:
1.Упростить коммуникацию внутри проектов и между проектами
2.Сделать возможным совместное проектирование и принятие решений.
.Сделать возможным сиюминутную фиксацию идей.
.Сделать возможным быстрое извлечение ранее принятых решений.
Про последнее свойство нужно сказать, что в идеале, оно должно выполняться не только в рамках конкретного проекта, но в рамках всей организации. Это полезно, потому что разные проекты могут сталкиваться с похожими трудностями. А в век информации непозволительно пренебрегать чужим опытом.
Задачи 1 и 2 отлично решаются в рамках простой реальной конторы. Чего нельзя сказать про остальные два. Тем более в нашем случае каждодневная встреча команд проектов совершенно бессмысленна.
Зачем {нам} это
Проектный офис, позволит нам координировать работу учебных команд. Учебных ли? Как сказал один мудрец современности, --- не существует учебных команд, учебных проектов, учебных языков программирования, и т.п.
Но это не единственное преимущество, которое нам даст проектный офис. Ресурсы подобные этому позволяют собирать и перерабатывать знания. В итоге опыт полученный в рамках одного проекта становится доступен в рамках другого. На данный момент существует много способов передачи корпоративного опыта. Обычно они решают следующие задачи:
1.Фиксация новых знаний;
2.Обработка знаний - поддержание актуальности, классификация, установление семантических связей и т. п.;
.Извлечение знаний.
Наш проектный офис позволит решать подобные задачи. И эффективность их решения будет зависеть только от пользователей.
Зачем нам {это}
Для создания виртуальных проектных офисов существует множество технологий. Но наиболее успешной и часто используемой является технология wiki. Выбор технологии определяется удобством совместной работы. Для различных групп участников важными являются разные и конфликтующие между собой аспекты.
Эффективность: Параллелизм
Возможность асинхронной работы с минимумом блокировок и других узких мест, что дает возможность масштабировать команду. Правильными практиками для этого аспекта являются использование систем контроля версий с неблокирующей моделью Копирование-Изменение-Слияние, допускающей параллельную правку одного артефакта несколькими участниками. Отрицательными примерами могут служить схемы согласование по email, файлы на файл-сервере с блокировкой, Word-документ на всех.
Эффективность: Скорость
Аспект технологии, ответственный за минимизацию затрат (человеко-часов, килокалорий, меганейронов) на условную единицу документации.
Позитивные примеры:
написал несколько коротких строчек - диаграммы сами нарисовались,
текст сам красиво отформатировался.
Отрицательные примеры :
выравнивать маловажные диаграммы,
долго переформатировать текст.
Эффективность: Гибкость
цена внесения изменений должна быть ограничена и не более чем пропорциональна объему изменений. Хорошо, когда используются различные составные документы, шаблоны, автоматическое построение документации по программному коду (literate programming) или по схеме базы данных. Плохо, когда изменения надо проносить вручную и во множество различных документов.
Любой участник команды, с минимальной подготовкой и минимальными временными затратами должен быть в состоянии принять самое активное участие в проекте.
К процессу можно подключиться откуда угодно, нет никаких ограничений и требований к рабочему месту, не требуется сложных инсталляций набора ПО. В идеале должна использоваться модель тонкого клиента, под которым в данный момент обычно подразумевают браузер.
Всеми указанными качествами обладают Wiki-системы. Наш выбор пал MediaWiki. Количество контента, размещенного в MediaWiki, количество пользователей и разработчиков на порядки больше, чем у любой другой системы. Знание разметки MediaWiki уже не менее полезно, чем знание HTML - хотя бы потому, что дает возможность копировать или публиковать материалы в Википедии. Открытая архитектура имеет сотни возможных точек расширения (Hooks, Extensions), куда можно подключать свои модули, легко реализуя собственные предметно-ориентированные языки, дополнительные интерфейсы редактирования и публикации, поиска и навигации. Причем API-интерфейсы достаточно стабильны - то есть реализовав расширение, можно спокойно обновлять MediaWiki, бесплатно получая новый функционал, без боязни потерять свои наработки.
1. Паспорт проекта
Идентифика