Диплом: Автоматизация допечатного процесса создания, радактирования и заполнения кроссвордов,сканвордов и других головоломок для ООО МЕГА-ПРЕСС ГРУП.

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
51
Таблица 14. Технологический процесс создания головоломки
Этап
Описание
1.
Создать новый доку-
мент.
На данном этапе открывается новый документ.
2.
Добавить в документ
головоломку.
Например добавляется сетка для сканворда из базы дан-
ных.
3.
Привязать документ
к публикации.
На данном этапе определяется к какой публикации при-
надлежит документ. Это необходимо например для опре-
деления глубины проверки слов на повторение из спра-
вочника «Публикации».
4.
Для головоломок
связанных со сло-
вами указать язык.
Здесь определяется на каком языке будут выбираться
слова и определения из базы данных для заполнения го-
ловоломки.
5.
Запустить процесс
заполнения голово-
ломки значениями.
На данном этапе, например, сканворд будет заполняться
словами и определениями.
6.
Если сетка содержит
места для фото, то
добавить в сетку
изображения.
Данный этап предполагает наличие фото в базе данных,
которое будет добавлено и отформатировано в сетке.
7.
Добавить в таблицу
номеров изданий но-
вый номер публика-
ции.
Данный этап предполагает наличие таблицы номеров с
помощью которой происходит проверка повторяемости
слов.
8.
Сохранить документ
в последнем номере
публикации.
На данном этапе документ, который привязан к опреде-
ленной публикации сохранится в последнем номере для
данной публикации. При этом сохраняться все использо-
ванные слова, определения и изображения для дальней-
шего контроля.
Показанный технологический процесс помогает определить некоторый состав
сущностей базы данных «Таблица 15. Состав предопределенных сущностей
системы».
Таблица 15. Состав предопределенных сущностей системы
Наименование
Описание
1.
Модели сеток
Сущность для хранения сеток головоломок.
2.
Номера публика-
ций
Данная сущность необходима для сохранения всех данных
номера публикации.
3.
Документы пуб-
ликации
Данная сущность подчинена номеру публикации и необхо-
дима для сохранения документов.
4.
Головоломки до-
кумента
Данная сущность подчинена документу и предназначена для
сохранения головоломок, которые имеют сетки.
5.
Слова голово-
ломки
Данная сущность подчинена сетке головоломки и предна-
значена для сохранения слов ответов.
6.
Определения го-
ловоломки
Данная сущность подчинена сетке головоломки и предна-
значена для сохранения определений ответов.
7.
Изображения го-
ловоломки
Данная сущность подчинена сетке головоломки и предна-
значена для сохранения изображений, которые были ис-
пользованы в сетке.
8.
Слова
Все слова для заполнения сеток.
9.
Определения
Все определения для заполнения сеток.
10.
Изображения
Сущность для хранения всех изображений.
52
11.
Связь слов с
изображениями
Сущность для привязки слов к изображениям
12.
Связь слов с
группами
Сущность для привязки слов к группам
13.
Связь определе-
ний с группами
Сущность для привязки определений к группам
После определения сущностей остается открытым вопрос, откуда возьмутся в
базе данных слова и определения? На самом деле сам набор слов и определений
тот, который используется субподрядчиком для изготовления головоломок явля-
ется собственностью издательства. Этот набор был передан ему для составления
головоломок с выверенными в издательстве словами и определениями. В самом из-
дательстве этот набор сохранился в виде файлов Microsoft Excel.
Исходя из этого возникла задача загрузки вышеуказанных данных в разраба-
тываемую систему. По сути появляется технологический процесс импорта и экс-
порта данных. Для этого возникает необходимость создания стандарта форматиро-
вания данных для загрузки. В качестве файла для загрузки данных принимается
файл с разделителем, а сам первичный стандарт для импорта выглядит очень про-
сто «Таблица 16. Формат файла для импорта слов и определений».
Таблица 16. Формат файла для импорта слов и определений
Реквизит
Тип
Описание
Язык
строка
Наименования языка, например «Русский»
Слово
строка
Набор слов
Определение
строка
Определения слов
В качестве примера приводиться небольшой фрагмент файла в приложении
«C-1 Фрагмент набора данных для импорта в базу слов и определений».
До сих пор головоломка рассматривалась как абстрактный объект без при-
вязки к определенным видам. В приложении «Приложение A Виды головоломок»
перечислены головоломки с их описанием, которые возможны в изданиях редак-
ции. В идеале разрабатываемое программное обеспечение должно выдавать все
виды перечисленных головоломок. Но, ввиду того, что на практике львиную долю
занимают скандинавские кроссворды (сканворды), то на первом этапе разработки
речь идет именно о создании этого вида головоломки. Классические кроссворды
являются практически упрощенной версией сканвордов то также целесообразно од-
новременно дать возможность создавать и их.
53
Нужно отметить, что часть головоломок являются производными от сканвор-
дов и классических кроссвордов. Поэтому некоторые из них также могут быть под-
готовлены без особого изменения. В частности сканворд без стрелок (приложение
«A-2-2 Сканворд без стрелок (финский)») фактически тот же сканворд со скры-
тыми стрелками.
В итоге в проект на первом этапе включены следующие головоломки:
1. Классический кроссворд (приложение «A-1-1 Классический кросс-
ворд»).
2. Кроссворд «Два в одном (приложение «A-1-2 Кроссворд «Два в од-
ном»).
3. Кроссворд «Перевод» (приложение «A-1-16 Кроссворд «Перевод»»).
4. Кроссворд «Из трех (приложение «A-1-18 Кроссворд «Из трех»).
5. Сканворд(приложение «A-2-1 Сканворд»).
6. Сканворд без стрелок (финский) (приложение «A-2-2 Сканворд без
стрелок (финский)»).
7. Сканворд числовой (приложение «A-2-5 Сканворд числовой»).
8. Сканворд «Вперемешку» (приложение «A-2-8 Сканворд «Впере-
мешку»).
9. Сканворд «Согласные» (приложение «A-2-9 Сканворд «Согласные»).
10. Кейворд (приложение «A-2-13 Кейворд сканвордный»).
На рисунке «Рисунок 13. Доли всех головоломок, которые выпускаются во
всех журналах издательства» показаны доли головоломок, которые фактически вы-
пускаются издательством.
54
Рисунок 13. Доли всех головоломок, которые выпускаются во всех журналах
издательства
Как видно, разрабатываемый набор из 10ти головоломок покрывает практиче-
ски половину всех потребностей (49,85%) в головоломках издательства. Также оче-
видно, что при добавлении Судоку (это можно запланировать как ближайшее раз-
витие) покрытие потребности в головоломках достигнет 77,5%.
Необходимо пояснить, что доли показаны в процентном соотношении, а опре-
делены не по количеству головоломок, а по стоимости на основании таблицы «Таб-
лица 8. Сводная таблица стоимости изготовления всех головоломок для всех изда-
ний за год (руб.)». С точки зрения объективности данный показатель более точен.
1.4.2. Обоснование проектных решений по программному обеспечению
Исходя из технических возможностей предприятия, а также из вполне четких
требований, обеспечить автоматизацию с использованием существующих техниче-
Классический кроссворд 4,79%
Скандинавский
кроссворд
(Сканворд) 42,39%
Сканворд «Числовой» 0,36%
Сканворд «Финский» 0,37%
Кроссворд «Из трех» 0,38%
Кроссворд «Два в одном» 0,58%
Кейворд 0,98%
Японский 10,30%
Какуро 4,84%
Судоку 27,65%
Доли головоломок во всех изданиях
Классический кроссворд Скандинавский кроссворд (Сканворд)
Сканворд «Числовой» Сканворд «Согласные»
Сканворд «Питерский» Сканворд «Финский»
Сканворд «Эстонский» Сканворд «Внешний»
Сканворд «Буквенный» Кроссворд «Буквы»
Кроссворд «Эстонский» Кроссворд «Итальянский»
Кроссворд «Венгерский» Кроссворд «Из трех»
Кроссворд «Два в одном» Кроссворд «Слова»
Кроссворд «Потеряшка» Числобус
Кейворд Японский
Какуро Судоку
55
ских и программных средств выбор остается невелик. Разрабатываемое программ-
ное обеспечение должно поддерживать минимум ОС Microsoft Windows XP SP3. В
принципе ничего страшного в этом нет, как указывалось ранее, при хорошей орга-
низации сети и средств защиты можно обеспечить достаточный уровень произво-
дительности и безопасности.
Что касается предполагаемой системы управления базами данных, то на пред-
приятии уже задействовано две различные СУБД — это Microsoft SQL Server 2008
и FireBird 2.5. В принципе каждая из них вполне сможет справится с хранением
слов и определений. Но, дополнительно стоит задача интеграции всей информации
в одной базе данных, имеется ввиду хранение изображений, сеток и документов. В
этом случае желательно выбрать коммерческую СУБД Microsoft SQL Server 2008 и
при этом это должна быть версия Enterprise для поддержки достаточного объема
хранимой информации. В остальном данная СУБД подходит по всем параметрам.
Принимая во внимание тот факт, что необходимо на относительно маломощ-
ном оборудовании обеспечить приемлемую производительность, необходимо ис-
пользовать приложение с прямым бинарным кодом. Другими словами, необходимо
использовать компилятор создающий прямой код для используемого класса про-
цессоров. Благо в издательстве достаточно вполне производительных компьюте-
ров, например, на базе процессоров Intel Pentium Core 2. Как минимум эти процес-
соры уже поддерживают инструкции Streaming SIMD Extensions 3 (SSE3)
instructions, что можно использовать при оптимизации кода и таким образом обес-
печить достаточный уровень производительности.
На сегодняшний день выбор в общем то невелик, компиляторов для Microsoft
Windows не так уж много, как этого хотелось бы. Самым мощным компилятором
для получения наиболее оптимального кода считается компилятор от самого произ-
водителя процессоров Intel Compiler. Одним из наиболее удобных и быстрых с
точки зрения скорости разработки многие считают Embarcadero® RAD Studio.
Здесь нужно отметить, что именно Embarcadero® Delphi пользуется большей попу-
лярностью. И, конечно же, компилятор от разработчика операционной системы
Microsoft Visual Studio. Данный компилятор считается хорошо оптимизированным
для работы с операционной системой. Надо отметить, что компилятор от Intel хо-
56
рошо интегрируется с оболочкой Microsoft Visual Studio, поэтому его можно ис-
пользовать для компиляции кода в любой момент, что является хорошим преиму-
ществом при выборе данной среды разработки. С другой стороны, пользуясь
Embarcadero® Delphi, разработка движется быстрее, хотя это довольно спорный
момент. Тем более, при необходимости получить оптимальный код, разработчики
на Object Pascal/Delphi очень часто прибегают к ассемблерным вставкам, что в
свою очередь усложняет написание оптимального кода.
В свою очередь Microsoft Visual Studio предоставляет очень мощные старто-
вые шаблоны и хорошую поддержку документно-ориентированной архитектуры
приложения. При использовании MFC (Microsoft Foundation Classes) разработчику
предоставляются готовые механизмы для работы с документами, с объектами доку-
мента, с базой данных, с современным интерфейсом и т.д. Другими словами, по-
строить приложение, которое бы выглядело и работало как Microsoft Office или
Microsoft Visual Studio гораздо проще чем в любой другой системе. Главное пре-
имущество в том, что, если пользователь уже знаком с Microsoft Office, то и данное
приложение будет для него более комфортным.
Многие из вышеперечисленных утверждений могут оспариваться разработчи-
ками, предпочитающими ту или иную систему, но в данном случае предпочтитель-
нее использовать Microsoft Visual Studio, MFC и С/С++.
Несмотря на выбор среды разработки и пользовательского интерфейса, жела-
тельно предусмотреть возможность переноса функциональности в другую среду.
Для этого головоломки со своей функциональностью будут перенесены в ActiveX
компоненты, это позволит их переносить в другие оболочки.
Само приложение предполагается как COM (Component Object Model) Server
для более полной автоматизации процесса изготовления головоломок. Имеется
ввиду плановое изготовление пакета головоломок для номера нажатием одной
кнопки.
В итоге для проекта выбрано: минимальная ОС Microsoft Windows XP SP3,
СУБД Microsoft SQL Server, среда и язык разработки Microsoft Visual Studio, MFC,
C/C++.
57
1.4.3. Обоснование проектных решений по техническому обеспечению
Для работы разрабатываемой системы на предприятии не предусматривается
какая-либо модернизация. Точнее, новая программа должна обеспечить достаточ-
ную производительность на имеющемся оборудовании.
Состав наличного оборудования представлен ранее, за рамки которого в про-
екте выходить нельзя, даже несмотря на сложности в разработке. Т.е. приоритет-
ным всегда будет являться программная оптимизация, а не модернизация оборудо-
вания.
С точки зрения просто функционирования выдвигаются требования, указан-
ные ниже.
Операционная система для настольной версии Microsoft Windows XP Home
Edition Service Pack 3 или выше.
Операционные системы для сетевой версии. Рабочая станция Microsoft Win-
dows XP Home Edition Service Pack 3 или выше.
Сервер баз данных Windows Server 2003, Datacenter Edition или выше.
Для настольной версии, рабочей станции:
Процессор Pentium® с частотой 300 МГц или более быстрый
Не менее 128 МБ оперативной памяти
Дисковод для компакт- или DVD-дисков
Клавиатура, мышь Microsoft Mouse или совместимое указывающее устрой-
ство
Видеокарта и монитор, поддерживающие режим Super VGA с разрешением
не менее чем 800x600 точек.
Для сервера базы данных:
Для компьютеров на базе процессоров x86:
Должен быть способен поддерживать восемь или более процессоров с мини-
мальной частотой 550 МГц
Не менее 512 Мб оперативной памяти
Для компьютеров на базе процессоров Itanium:
Должен быть способен поддерживать восемь или более процессоров с мини-
мальной частотой 733 МГц
Не менее 1 Гб оперативной памяти
58
Для компьютеров на базе процессоров x64:
Должен быть способен поддерживать восемь или более процессоров с мини-
мальной частотой 1,4 ГГц
Не менее 1 Гб оперативной памяти
Ограничения для процессоров в зависимости от использования расширенного
набора команд:
MMX: процессор не менее Intel® Pentium® MMX.
SSE: процессор не менее Intel® Pentium® III.
SSE2: процессор не менее Intel® Pentium® 4.
SSE3: процессоры начиная с ядра Prescott, Intel® Pentium® 4 с тактовой ча-
стотой не менее 3.4МГц, Pentium® D, Celeron® D и др.
SSE4: процессор начиная с ядра Wolfdale, Yorkfield и более новые, такие как
Intel® Core™ 2 на базе 45-нанометровой технологии (Penryn).
59
II. ПРОЕКТНАЯ ЧАСТЬ
2.1. Разработка проекта автоматизации
2.1.1. Этапы жизненного цикла проекта автоматизации
Для разработки выбран наиболее привычный и хорошо зарекомендовавший
себя ГОСТ 34.601-90. Этапы, указанные в этом ГОСТе, фактически являются отра-
жением реальных действий необходимых при разработке любой системы автомати-
зации. Иногда разработчики опускают некоторые пункты, что может приводить к
нежелательным эффектам по завершению работ. Этот ГОСТ, по большому счету,
защищает разработчика как от совершения ошибок, так и от претензий заказчика.
Поэтому выполненные работы по всем правилам со всеми документами не позво-
лят как ошибиться, так и защититься в случае недобросовестности заказчика. Это
еще один аргумент в пользу выбора регионального ГОСТа.
В случае высокого доверия между заказчиком и исполнителем, и, если разра-
ботчик обладает большим опытом в данной отрасли, тогда, для ускорения разра-
ботки, возможно опустить некоторые пункты. Очень часто в таких случаях перехо-
дят сразу к техническому заданию, которое выступает одновременно и требовани-
ями пользователя.
В данном проекте выполняются все стадии.
1. Формирование требований к автоматизированной системе (АС)
В данном случае автоматизация объекта практически отсутствует, что в об-
щем то и служит обоснованием для создания системы. Пользователи оформили
свои требования высказавшись о недостатках существующих систем. По итогам
этапа оформлен документ с точкой зрения сотрудников.
2. Разработка концепции АС
Изучение объекта автоматизации практически раскрыто в предыдущих гла-
вах. На данном этапе разработан макет программы, проще говоря был собран ске-
лет с базовым интерфейсом и продемонстрирован пользователю.
Были исследованы открытые алгоритмы по созданию головоломок. Написан
тестовый алгоритм заполнения сетки словами. В данном случае гипотетической,
созданной программным способом. Результаты показали слабую скорость выпол-
нения алгоритма из-за частого обращения к базе данных. Слишком много работы
60
по выборке слов возлагалось на выполнение SQL запросов. Поначалу такая идея
казалась более корректной, возложить часть задачи на сервер базы данных, но
практика показала, что объемы информации велики для регулярной загрузки по
сети. Т.е. шаблоны слов иногда давали большие массивы данных. Пришлось пере-
водить алгоритм в режим локальной обработки масок, а данные пришлось кеширо-
вать. Данный алгоритм оказался более эффективным, точнее гораздо эффективнее.
Принцип заключается в следующем: заранее известно какие длины слов есть в
сетке и из базы данных вычитываются только слова с такой длиной, и с сортиров-
кой по алфавиту. Все кеширование и поиск происходит с помощью стандартной
библиотеки шаблонов, и все происходит в оперативной памяти. Результат превзо-
шел ожидания. Даже на довольно посредственном компьютере сетка классического
кроссворда среднего размера, где-то 20х30 ячеек заполнялась за несколько секунд.
Конечно на это повлиял и сам алгоритм заполнения, который также прошел
несколько итераций и от простого подбора по порядку слов в сетке, в алгоритм был
внедрен механизм поиска лучшего пути заполнения на основе статистики.
Надо отметить, что конфигурация сетки не известна, состав базы данных слов
также неизвестен. По сути, если рассматривать сетку как большое число, то нужно
подобрать такой вариант из малых чисел (слов), который удовлетворит условиям
пересечений сетки.
Данные работы помогли выработать основную концепцию заполнения сеток
словами за приемлемое время на оборудовании с минимальной конфигурацией.
3. Техническое задание
Данный пункт является квинтэссенцией всей проделанной ранее работы, в
конце которого мы должны получить документ, содержащий понятные задачи для
разработчика.
4. Эскизный проект
Эскизный проект фактически был начат при разработке концепции. В данном
случае еще есть время для окончательного убеждения в правильности принятого
решения, как разработчиком, так и заказчиком. Данный проект покажет насколько
система эффективна и жизнеспособна.
5. Технический проект
Фактическая реализация технического задания.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)