загрузка...
загрузка...
На головну

Архітектура інформаційної системи типу «клієнт-сервер»

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

Більшість конфігурацій інформаційних систем типу «клієнт-сервер» використовує дворівневу модель, в якій клієнт звертається до сервера.

Структура інформаційної системи з сервером бази даних

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

Безпека ж сучасних серверів баз даних, організована в декількох напрямках:

O за допомогою самої операційної системи;

O з використанням схем, імен входів, ролей, шифрування бази даних і т. Д .;

O шляхом обмеження доступу користувачів через уявлення, заслуговує на похвалу.

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

переваги

O Відсутність дублювання коду програми-сервера програмами-клієнтами.

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

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

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

O Дозволяє розвантажити мережі за рахунок того, що між сервером і клієнтом передаються невеликі порції даних.

недоліки

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

O Підтримка роботи даної системи вимагає окремого спеціаліста - системного адміністратора.

O Висока вартість обладнання.

O Багаторівнева архітектура клієнт-сервер

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

Окремі випадки багаторівневої архітектури:

O Трирівнева архітектура

O Мережа з виділеним сервером

Мережа з виділеним сервером (англ. Client / Server network) - Це локальна обчислювальна мережа (LAN), в якій мережеві пристрої централізовані і управляються одним або декількома серверами. Індивідуальні робочі станції або клієнти (такі, як ПК) повинні звертатися до ресурсів мережі через сервер (и).

V. Компоненти ІС.

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

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

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

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

Для функціонування ІС необхідні наступні основні компоненти:

O база даних (БД);

O схема бази даних;

O система управління базою даних (СУБД);

O додатки;

O користувачі;

O технічні засоби.

Розглянемо коротко кожен з цих компонентів. Почнемо з бази даних. Існує чимало визначень цього поняття. Ось нестроге визначення БД, яке Кріс Дейт (С. J. Date), один з головних експертів в області баз даних, дає на початку свого навчального курсу: «Базу даних можна розглядати як подобу електронної картотеки, тобто сховище для деякого набору занесених до комп'ютер файлів даних ».

Тоді виходить, що база даних - Це просто колосальний набір даних? Так, багато людей так і думають. Але файл може містити досить велика кількість даних і не бути базою даних. Важливим властивістю БД є те, що база даних може себе описати. Можна сказати, що БД обов'язково містить - дані та метадані.

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

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

Користувачів можна розділити на три великі групи: (1) прикладні програмісти, (3) користувачі, (3) адміністратори.

прикладні програмісти - Відповідають за написання бізнес-додатків, що використовують базу даних (наприклад, додатки по автоматизації бухгалтерського обліку, маркетингу). Додатки виконують над даними стандартні операції: вибірку існуючої інформації, вставку нової інформації, видалення або оновлення існуючої інформації. Всі ці функції виконуються через відповідний запит до СУБД.

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

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

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

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

СУБД важливий, але не єдиний компонент програмного забезпечення ІС. Серед інших - згадані вище бізнес-додатки, утиліти, CASE-засоби, генератори звітів і форм і т. Д.

Технічні засоби інформаційних систем можуть включати:

O кошти обчислювальної техніки (серверне обладнання, робочі станції, принтери і т. Д.),

O локальні обчислювальні мережі,

O копіювально-розмножувальну апаратуру,

O засоби зв'язку (установчі АТС, канали зв'язку і канальне обладнання, телефони, факсимільні апарати, мобільні засоби зв'язку).

VI. Структура програмного забезпечення ІС.

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

O забезпечення управління

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

O забезпечення бізнес-процесів

б) конвеєрний блок - Містить елементи, складові групи рішення, що забезпечують виробничий цикл роботи ІС

в) обліковий блок - Містить елементи, що забезпечують облікові функції системи.

VII. Життєвий цикл АІС.

Методологія проектування інформаційних систем описує процес створення і супроводу систем у вигляді життєвого циклу(ЖЦ) ІС, представляючи його як деяку послідовність стадій і виконуваних на них процесів. Для кожного етапу визначаються склад і послідовність виконуваних робіт, одержувані результати, методи і засоби, необхідні для виконання робіт, ролі і відповідальність учасників і т. Д. Таке формальне опис ЖЦ ІС дозволяє спланувати та організувати процес колективної розробки і забезпечити управління цим процесом.

Життєвий цикл ІСможна уявити як ряд подій, що відбуваються з системою в процесі її створення і використання.

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

В даний час відомі і використовуються наступнімоделі життєвого циклу:

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

Поетапна модель з проміжним контролем.Розробка ІС ведеться ітераціями з циклами зворотного зв'язку між етапами. Міжетапні коригування дозволяють враховувати реально існуюче взаємовплив результатів розробки на різних етапах; час життя кожного з етапів розтягується на весь період розробки.

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

VIII. Етапи універсального процесу розробки ПО.

Програми невеликого і середнього розміру (кілька тисяч рядків) створюються, як правило, в два етапи. Спочатку необхідно точно встановити, що треба зробити, продумати відповідний алгоритм, визначити структури даних, об'єкти і взаємодія між ними (це етап системного аналізу), а потім висловити цей алгоритм у вигляді, зрозумілому машині (етап кодування). Якщо ж розробляється великий проект обсягом від десятків тисяч до мільйонів рядків коду, тоді доводиться застосовувати спеціальні методології проектування, що охоплюють період розробки ПО.
Період розробки ПО
Розглянемо класичний період розробки ПО.
 1. Формуються і аналізуються вимоги до проекту. Цей етап найважливіший, оскільки неправильне формулювання вимог призводить до виконання непотрібної роботи, а недооцінка складності викликає перевитрата коштів і часу. Сьогодні близько 60% великих проектів завершуються невдачею саме через помилки на стадії підготовки вимог.
 На основі вимог за різними методиками визначається приблизний обсяг проекту та його трудомісткість, розраховуються майбутні трудовитрати і визначається його вартість. Так як вимоги до проекту під час роботи над ним можуть уточнюватися і змінюватися, а виконання вимог треба відстежувати, застосовуються спеціальні програми для управління вимогами.

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

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

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

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

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

Досить популярна методологія итерационного проектування, орієнтована на використання RAD-засобів і систем автоматичної генерації вихідних текстів на основі створеної формальної моделі. Такий підхід хороший тим, що дозволяє швидко створити перший працюючий прототип програми, коли ще вимоги до неї остаточно не визначені, а в подальшому, на наступних ітераціях (їх зазвичай потрібно від двох до п'яти), поступово деталізувати і реалізовувати конкретні можливості, пропущені за якими -то причин на попередній ітерації. Ця методологія трохи відрізняється від спадного проектування тим, що застосовується, коли остаточні вимоги невідомі і можуть змінюватися, а основні працюють функції потрібні замовнику якомога швидше (замовник частіше хоче отримати додаток, яке закінчила на 80%, сьогодні, ніж закінчене на 100% завтра) . При низхідному проектуванні основна структура завдання повинна бути визначена заздалегідь.

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

В процесі розробки необхідно:

O безперервно підтримувати зворотний зв'язок із замовником, щоб стежити за правильністю реалізації вимог;

O безперервно контролювати хід робіт відповідно до плану і при відхиленнях від нього вживати екстрених заходів.

Приблизний обсяг цих робіт - 10% від загального обсягу проекту.

5. Коли програма закінчена (готова працездатна альфа-версія), вона надходить до тестерів компанії-виконавця, які починають перевіряти її на наявність помилок і повідомляти про знайдені помилки програмістам. Аналізується, зокрема, стійкість роботи програми при вводі неприпустимих або критичних значень, при відсутності інформації, при невірних діях, при збоях апаратури, в стресових режимах і т. П. Коли число помилок, що виявляються за певний термін (тиждень, місяць), знижується нижче експериментально підібраного рівня (на основі аналогічних проектів), починається бета-тестування програми у замовника. До такого тестування залучається максимально можливу кількість співробітників, і програма вже починає частково функціонувати в робочому режимі. Приблизний обсяг цих робіт - 10% від загального обсягу проекту.

Після того як замовник задоволений якістю продукту, починається його впровадження - підготовка до остаточного запуску в експлуатацію. Якщо додаток на багато користувачів, нерідко потрібно сформувати і налаштувати локальну мережу, встановити сервери, інсталювати допоміжні програми. Дуже багато проблем виникає при переході зі старих програм (наприклад, бухгалтерського обліку, розрахунку зарплати, роботи з персоналом), які створювалися різними співробітниками і купувалися в різних фірмах (так звана клаптева автоматизація), до нової інтегрованої системи. Необхідно зважити, ввести або перенести безліч життєво важливої інформації: всю бухгалтерську та фінансову звітність, дані про доглянутому обладнанні і безліч інших відомостей. Цей етап найбільш трудомісткий і «нудний» і займає часом до 90% часу всього проекту. Для систем автоматизації великих підприємств він розтягується на роки.

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

Приблизний обсяг трудовитрат на навчання - 5% від загального обсягу проекту.

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

Реально обсяг безпосереднього програмування і налагодження (тестування) в циклі розробки невеликий. Він становить 10-20% від загального обсягу робіт.

Архітектура інформаційної системи типу «файл-сервер». «-- попередня | наступна --» права дитини
загрузка...
© om.net.ua