Евгений Балашов (it_romance) wrote in vzvod_2235,
Евгений Балашов
it_romance
vzvod_2235

Слабал схему:


Подробнее в файле:
http://webfile.ru/1540805

Все обсуждение предлагаю вести здесь.
Хорошо бы вики и свн запустить, но фтопку.

Вся разработка ведется строго в Visual Studio! для всех желающих использовать что-то еще - предоставить интерфейс и объяснить, как прикрутить ваши наработки к тому, что у нас получится.

Те, кто не будет программировать будут готовить тесты и документацию :-)
Ядро можно программировать в одиночку, так и разделить на нескольких человек.

Описание модулей:

Криптодемо – просто программа для демонстрации работы криптомодуля – запрос файла и пароля, после чего кодиравание/декодирование.

Криптомодуль – модуль (или несколько строго взаимозаменяемых!), получающий массив байтов и что-то еще, возвращающий массив байтов, содержащий закодированную/декодированную информацию

Ядро – основной движок программы, как подмодули может содержать части, отвечающие за:

Определение прав доступа – выполняет аутентификацию и определяет права доступа пользователей к ресурсам. Вход – идентификатор пользователя, идентификатор ресурса. Выход – права доступа.

Изменение прав и настроек – набор функций, которые вызывает консоль администратора по изменению служебной информации. А также функции, которые позволяют эту информацию получить с консоли администратора.

Хранение служебной информации – представление в памяти информации о пользователях, фалах и правах, сохранение и загрузка их из файлов.

Считывание секретных файлов – модуль получает идентификатор файла (папки) и идентификатор пользователя или что-то еще. Возвращает либо отказ, либо содержимое в декодированном виде. Модуль также проверяет целостность файлов – вероятно, стоит хранить контрольные суммы в отдельном файле.


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


Интерфейс – ну понятно, что это. Состоит из трех больших частей (окон):

Редактор: просто текстовый редактор для секретных файлов. Взаимодействие редактора: для открытия и сохранения файлов использует браузер, потому что браузер по ходу определит права доступа к файлам и папкам. Браузер отдает редактору тип разрешения доступа к файлу и его идентификатор (в качестве идентификатора файла предлагаю использовать полный путь к нему).
После получения идентификатора и ответа на запрос прав он запрашивает у ядра сам файл и получает данные. После чего при сохранении передает ядру идентификатор файла и незакодированные данные, ядро уже сохраняет.

Администрирование – консоль администратора. Содержит набор средств для редактирования всей служебной информации, взаимодействует с соответствующим модулем в ядре. Не забыть проверить админские права пользователя.



Предлагаю делать так:
К следующему четвергу разбираем себе модули, читаем ТЗ по своим модулям – внимательно и вдумчиво. Предоставляем интерфейс взаимодействия с своими кусками – грубо говоря, классы-заглушки. Потом формулированием желательные требования к интерфейсам и функциональности смежных модулей (какие функции от кого мы хотим).
И пишем кратко механизм работы своего будущего модуля.
Внутренние форматы каждый разработчик определяет сам для своего модуля. В частности, представление файлов с настройками и правами и формат секретных файлов.

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments