Документообігу

Технологічні характеристики систем електронного

Парадигма сучасних СЕД будується на наступних основних елементах:

• технологія клієнт/сервер у мережному оточенні;

• сховища даних;

• настільна обробка інформації.

Існує ряд сталих технологічних характеристик систем, які є безсумнівно корисними і які уособлюють певні досягнення інформаційних технологій. До таких насамперед відносяться об'єктно-орієнтований підхід, інтуїтивно зрозумілий і дружелюбний інтерфейс, відкритість, модульність і гнучкість.

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

Основна ідея їх застосування може бути сформульована в такий спосіб: використання прогресивних інформаційних технологій дозволяє малому числу кваліфікованих фахівців створювати великі та надійні програмно-апаратні комплекси.

Особливості збереження документів

СЕД працюють, переважно, на базі розподілених архітектур і використовують різні комбінації технологій збору, індексування, збереження, пошуку і перегляду електронних документів. У більшості СЕД реалізована ієрархічна система збереження документів (за принципом "шафа/поличка/папка"). Кожен документ міститься в папці, яка, у свою чергу, знаходиться на полиці і т.д. Кількість рівнів вкладення при збереженні документів не обмежена. Той самий документ може входити до складу декількох папок і полиць за рахунок застосування механізму посилань (вихідний документ у цьому випадку залишається незмінним і зберігається на місці, визначеному адміністратором СЕД). У ряді СЕД реалізовані ще більш потужні можливості збереження за рахунок організації зв'язків між документами (ці зв'язки можна встановлювати і редагувати в графічному вигляді).

Будь-якому документу в СЕД притаманний певний набір атрибутів (наприклад, його назва, автор документа, час його створення та ін.). Набір атрибутів може мінятися від одного типу документа до іншого (у межах одного типу документів він зберігається незмінним). У СЕД атрибути документа зберігаються в реляційній базі даних. Для кожного типу документів за допомогою візуальних засобів створюється шаблон картки, де в зрозумілому графічному вигляді представлені найменування атрибутів документа. При введенні документа в СЕД береться необхідний шаблон і заповнюється картка (заносяться значення атрибутів). Після заповнення картка виявляється пов'язаною із самим документом.

У більшості випадків, серверна частина СЕД складається з наступних логічних компонентів (які можуть розташовуватися як на одному, так і на декількох серверах):

• сховища атрибутів документів (карток);

• сховища документів;

• сервісів повнотекстової індексації.

Під сховищем документів звичайно розуміється сховище вмісту документів. Сховище атрибутів і сховище документів часто поєднують під загальною назвою "архів документів". Для збереження атрибутів у більшості СЕД використовуються СУБД Oracle, Sybase, MS SQL Server і Informix, що забезпечують пошук документів за атрибутами.

Для збереження безпосередньо вмісту документів у більшості СЕД застосовуються файли-сервери MS Windows NT, Novell NetWare, UNIX та ін. У цьому випадку можуть бути реалізовані і гетерогенні комбінації мережних середовищ. Наприклад, база даних з атрибутами документів може працювати під управлінням операційної системи UNIX у мережі ТСРЛР, а самі документи можуть зберігатися під операційною системою Novell NetWare у мережі IPX/SPX. Слід зазначити, що значними перевагами СЕД є збереження документів у вихідному форматі й автоматичне розпізнавання великої кількості форматів файлів.

Останнім часом усе більшу популярність здобуває збереження документів разом з атрибутами в базі даних. Такий підхід має свої переваги і недоліки. Перевагою є значне підвищення безпеки доступу до документів, а основним недоліком - низька ефективність роботи з документами при великому обсязі збереженої інформації. При такому підході також потрібно використання потужних серверів з великими обсягами оперативної пам'яті і жорстких дисків. Крім того, у випадку збою бази даних відновити документи, що зберігалися в ній, буде дуже непросто. Необхідно також строго прив'язуватися до конкретної СУБД.

Клієнтська частина більшості СЕД може бути розміщена на ПК з операційною системою MS Windows, Windows NT. У деяких СЕД використовуються також платформи UNIX і Macintosh. Крім того, усі сучасні СЕД дозволяють працювати з документами через стандартні Web-навігатори. Оскільки Web-навігатори можуть бути розміщені на різних клієнтських платформах, це полегшує вирішення проблеми забезпечення роботи СЕД у гетерогенних мережних середовищах. При використанні Internet-технологій у СЕД з'являється ще один серверний компонент, відповідальний за доступ до документів через Web-навігатори.

Об'єктно-орієнтований підхід

Основну роль у появі обє'ктно-орієнтованого програмування (ООП) зіграли два фактори. По-перше, зросло розуміння того, що дані -це не просте накопичення бітів і чисел, а складні інформаційні об'єкти. По-друге, було замічено, що над об'єктами можна виконувати тільки певні операції. Визнано розумним дозволити доступ до об'єктів тільки цим операціям і сховати їх від інших.

На основі цього були розроблені принципи роботи з інформацією, що має складну структуру. Здійснення цих принципів у рамках мови програмування одержало назву об'єктно-орієнтованого програмування.

ООП значно збільшує надійність програм, полегшує налагодження і модифікацію програм, істотно прискорює програмування, дозволяє невеликому числу професійних програмістів створювати бібліотеки об'єктів і операцій над ними, з яких користувач міг би сам, як з дитячого конструктора, збирати свої програми. ООП може застосовуватися практично для будь-яких задач і знаходити широке застосування в СЕД. На основі об'єктно-орієнтованого підходу будуються майже всі сучасні СЕД.

Ключовим поняттям об'єктно-орієнтованого підходу є об'єкт -логічна одиниця, що містить дані та правила їхньої обробки. Об'єктно-орієнтований підхід базується на чотирьох властивостях об'єктно-орієнтованих мов програмування: інкапсуляції, спадкуванні, поліморфізмі, абстракції типів даних.

У рамках такого підходу в сучасних СЕД ключовим об'єктом є документ, а вся множина документів розбивається на класи відповідно до різних підстав класифікації.

Інкапсуляція означає, що дані та процедури їхньої обробки (функції) є однорідними полями структури об'єкта-документа або класу об'єктів. Тобто такі сутності, як текст (зміст документа), процес, дія, є однорідними атрибутами класу документ.

Спадкування дозволяє будувати розумну ієрархію класів документів, при якій окремі (дочірні) документи успадковують атрибути і властивості більш загальних (кореневих) документів.

Властивість поліморфізму істотно спрощує розуміння складної системи обробки документів, дозволяючи використовувати ті самі імена для логічно пов'язаних цілей. Наприклад, процедура контролю виконання документа буде називатися однаково для зовсім різних за ступенем контролю документів, а при обробці цих документів будуть викликатися зовсім різні процедури.

Абстрактний тип даних - об'єкт, що описується атрибутами. Атрибутами об'єкта документ є, наприклад, заголовок, автор, тема, зміст, послідовність прочитання експертами і порядок внесення змін. Зміст може бути представлений у вигляді тексту, зображення, відеоінформації та ін.

Об'єктно-орієнтований підхід пов'язаний насамперед з мовами програмування й іншими засобами розробки додатків у сучасній архітектурі "клієнт-сервер". Об'єктна технологія дозволяє уникнути складного кодування і дозволяє швидко створювати додатки, не маючи спеціальних знань. Це відбувається тому, що розроблювач має справу не зі змінними мови програмування, а з класами об'єктів, що значно простіше, наочніше. Для цього використовуються такі ключові можливості об'єктно-орієнтованого програмування, як багаторівневе спадкування, інкапсуляція даних і логіки обробки, поліморфізм, механізм подій.

Об'єктно-орієнтований підхід дозволяє уникнути надлишкового програмування за рахунок використання бібліотек повторно використовуваних об'єктів або розроблених різними фірмами бібліотек класів.

Усе це забезпечує цілісність додатка, що розроблюється, підвищує продуктивність праці розроблювачів і знижує витрати на супровід.

Інтуїтивно зрозумілий і дружелюбний інтерфейс

Сьогодні важко уявити собі прикладну програму, яка не мала би розвинений графічний інтерфейс.

Розглянемо основні проблеми, пов'язані зі створенням інтуїтивно зрозумілого користувальницького інтерфейсу, а також приділимо деяку увагу інструментарію, що забезпечує розробку таких інтерфейсів.

У 1959 р. на конференції ЮНЕСКО по обробці інформації професор Стречі вперше запропонував режим поділу часу при вирішенні задач на комп'ютерах - саме з цього моменту прийнято відраховувати початок інтерактивних обчислень і, отже, дослідження і розробку людинно-машинного інтерфейсу. Тоді, у 1959 p., ця ідея зустріла безліч заперечень з боку постачальників машинного часу, що вказували на неефективність використання комп'ютерів у такому режимі.

Однак у міру зросту потужності комп'ютерів, зростали і витрати на діалоговий компонент програмного забезпечення. Питання ефективності використання машин загострилося під час стрімкого виходу на ринок робочих станцій, які об'єднали інтерактивність із графікою.

Термін "ефективність" змінив своє значення - якщо раніше він відбивав такі характеристики, як процесорний час і обсяг займаної пам'яті, то тепер під ним розуміють простоту розробки, легкість супроводу і зручність роботи з програмою. Тому витрати на дослідження і розробку користувальницького інтерфейсу є виправданими.

Розробка будь-якого прикладного програмного забезпечення, як правило, містить створення користувальницького інтерфейсу. Оскільки більшість сучасних користувальницьких інтерфейсів ґрунтуються на розповсюджених і близьких кожному користувачу ідеях (активне використання "мишки", орієнтованість на об'єкти, графіка тощо - імітація процесів і явищ, можливість використання алгоритмів, інтуїтивно зрозумілих і знайомих кожній людині з його повсякденного життя), то існує можливість і необхідність розробки допоміжного програмного забезпечення, призначеного для створення такого роду "стандартних" інтерфейсів.

Можна класифікувати існуючі інструментарії за наступною схемою:

• текстові екранні системи;

• графічні екранні системи;

• багатовіконні системи (WMS - Windows Management System);

• UIMS - User Interface Management System - система управління користувальницького інтерфейсу.

Останнім часом значні зусилля прикладаються до розробки методів і створення інструментальних систем - UIMS.

Суттєве удосконалення графічних інтерфейсів закономірно сприяє розвитку людино-машинної взаємодії. Основні ідеї сучасного інтерфейсу включають використання наступних елементів:

• керування вікнами;

• застосування графічних символів (піктограм) для представлення об'єктів;

• взаємодії, що базується на безпосередньому маніпулюванні;

• використання маніпулятора миші як пристрою позиціонування на екрані;

• об'єктно-орієнтованого стилю програмування. Багатовіконна технологія забезпечує користувача доступом до

більшого обсягу інформації, ніж це можливо при роботі з одним екраном. Вікна дають доступ до безлічі джерел інформації.

Користувач може поєднувати інформацію від декількох джерел, досліджувати інформацію на різних рівнях деталізації. У мультипрограмному режимі є можливість керувати декількома рівнобіжними задачами. Введення і виведення кожної задачі відображається в різних вікнах, дозволяючи користувачу зосередитися по необхідності на який-небудь одній.

Інструментарій створення користувальницького інтерфейсу є, по суті, бібліотекою технологічних інтерактивних засобів, що дають можливість використовувати фізичні пристрої введення (миша, клавіатура, планшет та ін.) для введення значень при наявності зворотного зв'язку (відображенні на екрані).

Програміст використовує цей інструментарій для організації взаємодії людини з машиною. Інструментарій містить набір функцій, що реалізує компоненти інтерфейсу нижнього рівня, такі як меню, кнопки, зони діалогу, підвікна, зони прокручування. Інструментарій включає також графічну бібліотеку виводу (тільки основні примітиви) і оброблювач подій.

Основною концепцією UIMS є ідея строгого поділу інтерфейсу і прикладної програми. В ідеалі вона повинна підтримувати всі стилі діалогу і спрощувати побудову складних інтерфейсів. UIMS повинна забезпечувати мову визначення інтерфейсу для представлення необхідного діалогу і генератор, що автоматично створює необхідний код з вихідного визначення в цій мові.

Основною метою UIMS є звільнення програміста не тільки від низкорівневого програмування і турботи про безпосереднє управління пристроями введення/виводу, але і від проблем інтерфейсу, що носять не програмний, а наприклад, естетичний характер. Такі проблеми є роботою для художників, дизайнерів інтерфейсів, а також предметом досліджень у психології, ергономіці тощо.

Система звичайно включає, як складову частину, набір інструментів для забезпечення підтримки, створення, налагодження, тестування й апробування інтерактивних людино-комп'ютерних систем. UIMS повинна включати інструменти дизайнера інтерфейсу. UIMS покликана знижувати витрати на створення програмного забезпечення.

Розроблювачу програмного забезпечення повинна бути надана можливість створення інтерфейсів, сумісних між різними прикладними програмами. Корисною властивістю є гнучкість системи в значенні можливості підтримки користувачів різного рівня підготовки – така гнучкість робить прикладну частину програмного продукту незалежною від рівня користувача й операційного середовища.

Інтуїтивний інтерфейс повинен бути самодокументованим і надавати інформаційну підтримку різних рівнів. Кінцевий користувач повинен мати можливість підігнати інтерфейс під свої потреби (естетичні, професійні) для того, щоб зробити його більш легким у використанні.

Безліч вимог, що пред'являються до UIMS, і критеріїв їхньої оцінки будується виходячи з основної еталонної моделі UIMS. Ця модель є системою у вигляді двох компонентів: інструментарію, що використовується на стадії розробки діалогу (мова специфікації діалогу, готові бібліотечні модулі, що реалізують стандартні функції, компілятор з мови специфікації та засоби розробки діалогу), і частини, що відноситься саме до виконання (інтерфейс із прикладною програмою, засоби управління діалогом і графічні модулі). UIMS звичайно надає спосіб управління послідовністю дій кінцевого користувача.

У складі UIMS повинний бути присутнім інструментарій WYSIWYG (What You See Is What You Get - що бачите, те й одержуєте) - для полегшення конструювання макетів екранів, структур меню і діалогових послідовностей.

Бажана наявність інструментів, що могли б допомогти дизайнеру інтерфейсу вникнути в суть поставленої задачі, яку кінцевий продукт і покликаний вирішувати. Ці інструменти могли б допомогти виробити моделі даних і поводження користувача при роботі з ними, посприяти при пошуку документів і одержанні даних. Інструментарій повинен також надавати кошти для швидкого створення прототипу, який можна було б багаторазово використовувати в кінцевій системі.

UIMS надає можливість настроювання інтерфейсу розроблювачем або кінцевим користувачем. Управління настроюванням може бути лексичного рівня, наприклад, користувач визначає, де і як розташовані меню й інші інтерактивні графічні об'єкти на екрані, чи потрібно використовувати для залучення уваги звуковий або світловий сигнал.

Компоненти, що допускають багаторазове використання, підвищують продуктивність праці як програміста, так і дизайнера, надають можливість стандартизації та гарантії повної перевірки всіх складових частин інтерфейсу. Тому бажано, щоб UIMS мала засоби для універсалізації програмних компонентів — для полегшення їх повторного використання. Такі засоби можуть бути інструментами налагодження, перевірочними й аналітичними інструментами.

При розробці інтерфейсу користувача можна виділити наступні три об'єкти, для кожного з яких ставляться різні цілі.

• Інтерфейс із користувачем: погодженість, підтримка користувача різного рівня, забезпечення обробки помилок і відновлення.

• Розроблювач програмного забезпечення: надання абстрактної мови для конструювання інтерфейсу користувача, надання погоджених інтерфейсів для
пов'язаних прикладних задач, забезпечення простоти зміни інтерфейсу на стадії його проектування (швидке створення прототипу), спрощення розробки за допомогою повторного
використання програмних компонентів, забезпечення простоти вивчення і використання прикладних програм.

• Кінцевий користувач: погодженість інтерфейсу по прикладних програмах, багаторівнева підтримка супроводу або функцій допомоги, підтримка процесу навчання,
підтримка розширюваності прикладних програм.

Можливі різні форми реалізації:

• розміщення на екрані інтерактивних засобів (меню, кнопки і т.п.) і їх прив'язка до фрагментів, які написані розроблювачем інтерфейсу;

• мережа статичних сторінок (кадрів), що містять тексти, графіки, інтерактивні засоби;

• специфікація по демонстрації.