Здесь напишу о том как проходил процесс создания БД. Постараюсь описать не написание скриптов и алгоритмов, этого достаточно, а именно весь технологический процесс.
Всю работу можно условно разделить на три составляющие: общую, техническую и технологическую. К технической части отнесем проблемы программистов и касаться их не будем.
Общая составляющая создания БД.
Первое, что можно предположить, это наверное нет такой БД, которая как была задумана так и реализовалась. Наверное потому, что представить вариант всех возможных запросов которые будут адресованы к БД невозможно, а соответственно следует сначала продумать алгоритмы позволяющие переделывать уже проделанную работу. Так же невозможно предусмотреть все технические особенности разработки БД, а значит необходимость переделки будет возникать всегда. Чтобы снизить указанные издержки приняли решение о том, что каждая запись в БД должна состоять из трех документов: основной, текстовой и графический. Для экономии места основной файл сжат в архив.
Маркетинговые аспекты заключались в том, чтобы БД удовлетворяла большинству предъявляемых запросов – также трудно прогнозируема. Здесь мы выбрали деление по следующему принципу:
1. Высокотребовательные запросы;
2. Общераспространенные запросы;
3. Неквалифицированные запросы.
Выбирая технологию их разделения попробовали реализовать следующее:
Неквалифицированные запросы попробовали отделить в инструкциях по пользованию БД. Но правда, сейчас видим, что это мало помогает :).
Общераспространенные и высококвалифицированные запросы оказалось разделить сложнее. Этот вопрос необходимо было решить, потому что в случае его игнорирования следовало использовать более сложные структуры и алгоритмы при создании БД.
Мы приняли следующие критерии.
Общераспространенным запросом считается запрос при котором необходимый и существующий в БД документ можно найти с помощью одного запроса и ручного перебора результатов поиска (то есть 50-100 документов).
Запросы в которых необходимо использовать операторы отнесли к высококвалифицированным.
Данный подход потребовал, чтобы в текстовом документе слова русского языка были написаны без ошибок. В последствии было обнаружено, что не должно быть двойных пробелов (Это уже переделать не смогли).
Еще к общей составляющей разработки БД следует отнести сроки, затраты на разработку, риски ошибок и стоимость их устранения.
Технологическая составляющая создания БД.
Это на наш взгляд самая потерянная тема в этом вопросе, как к нему подходить нигде нам не попалось и опереться было очень сложно. Уже сейчас можем посоветовать следующий алгоритм подхода при реализации данного этапа.
Индивидуальные (для каждой записи) процессы обработки
Не e-Shablon запись в БД состоит из трех документов, 4-ый получен преобразованием одного из основных, то есть следует создать 4 документа. По технологии получалось следующее Word-Документ требует создания и 1-ой обработки. Txt-документ требует создания и 2 операции обработки. Графический документ требует создания и одной обработки. 3 документа требуют заливки. У каждого документа есть три свойства описывающих его – это дает требование проводить две сортировки документов. То есть мы получаем:
4 + 2 + 3 + 2 + 3 + 2 = 16
простых операций прежде чем документ будет доступен пользователю.
Общие процессы обработки.
1. Исходные документы могут быть в четырех форматах и находится на двух предварительных стадиях.
2. У любой операции кроме заливки есть три состояния: не готова, в работе, сделано. И Для заливки – да/нет.
Получаем на этапе обработки существуют:
16*3=48
состояний, которые следует умножить на 4 формата и две предварительные стадии и заливка. То есть получаем:
48*4*2*2 = 768 состояний документа, которые следует учитывать технически.
Также необходимо отследивать с учетом заливки:
16 + 4 + 2 + 2 = 24
Параметра по принципу да/нет.
Еще резервное копирование (мы делали его на трех этапах) итого 27 составляющих.
Также необходимо фиксировать длительность каждого процесса а значит еще три параметра.
Четыре этапа обработки давали случаи когда у некоторых записей было четыре разных исполнителя. А всегда их было не менее 2-х, а в среднем 3.
При таком количестве вопросов возникали вопросы расчетов с работниками и у этого аспекта могли быть следующие состояния: задолженность, аванс, оплачено. Умножая на среднее количество людей работающих с документом (3) получаем:
768*3*3 = 6912
Состояний без учета времени на каждую запись в БД.
Реально количество состояний было меньше, раза в 3 но и 2304 состояний существенное количество.
Можем сделать вывод, чтобы создать БД где у записи 12 свойств, то на каждое свойство приходится учитывать около 200 внешних параметров.
Пришлось создавать обслуживающую БД, правда для этого сгодился Excel, но это все осознали когда запутались в третий раз
Техническое обеспечения процесса обработки.
Ну первое необходимы компьютеры :).
Второе программы. В принципе для опытного пользователя создать исходные документы для записи в БД не составляет труда на том, что у него есть в компе (то есть офисных программ). Но сейчас, по итогам работы, видно, что список софта, который необходим гораздо больше.
1. MS Excel.
2. MS Word/
3. Стандартный Блокнот
4. Microsoft Office Picture Manager
5. NeoPaint (кстати рекомендуем очень удобная программа для простого редактирования)
6. ACDsee
7. Adobe Photoshop Elements 3.0 for Windows
8. DivuOCR
9. WinDjView
10. Adobe Reader 8 for Windows
11. ReGet Deluxe 4.0
12. Teleport Pro
13 IE
14. Mozilla
15. OCR-системы
16. Mass Text Processor
17. Rename Master
Приобрести этот софт не сложно, но этот аспект следует подготавливать заранее так как это экономит время.
Так же он связан с технологией производства и, самое главное, подбором персонала. Здесь важно, чтобы каждую операцию можно было сделать несколькими вариантами т.к. разные люди осваивают лучше различные виды софта.
Кадровое обеспечения процесса обработки.
Кадры это как сейчас видно самая большая проблема. Когда мы составили технологию обработки, то, по нашему мнению, это была не сложная, но рутинная работа. Оценили операции по всем правилам экономики. При этом исходили из того условия, чтобы работник мог работая у себя дома в удобное время, заработать 60-80 руб./час.
Следующим шагом дали объявление и начали отбирать кандидатов. Первым разочарованием оказался тот факт, что половина претендентов абсолютно не знают офисные программы на уровне элементарных операций. Когда я им показывал процесс создания документов, в их глазах было видно, что они считают меня кудесником. Это льстит самолюбию, но не помогает делу. Следующий шок получили когда поняли, что из оставшихся, половина ищет чего угодно, но не возможности подработать, которую мы им предлагали. (Сейчас можно сказать, что люди, в зависимости от ситуации, зарабатывали от 6 до 15 тыс.руб. в мес.). Из тех что отобрали также оказались люди, которые попросту не умели организовывать свое время и поэтому не смогли работать. Так же отпадали люди и по уважительным причинам.
В общем, процесс отбора людей занял до 2-х месяцев.
Экономическая составляющая процесса обработки.
В целом можно сказать, что, в общем на круг, издержки по составлению БД составили в среднем 10 руб. на 1 запись.
Это не считая стоимости софта, техники.