Розробка "клієнт-серверної" системи для обліку і збереження інформації користувачів медичного ресурсу
Використання PHP та MySQL як інструмента для створення простих інтерактивних веб-сайтів та систем електронної комерції на основі архітектури "клієнт-сервер". Переваги цифрового обліку медичного закладу, обґрунтування засобів проектування СУБД клініки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 16.05.2014 |
Размер файла | 305,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Міністерство освіти і науки України
Національний університет "Львівська політехніка"
Звіт
з переддипломної практики на тему:
"Розробка "клієнт-серверної" системи для обліку і збереження інформації користувачів медичного ресурсу"
Виконав: студент групи КІ - 42
Мацюк Тарас
Перевірив: Козак Назар
Львів - 2014
Зміст
- 1. Аналітичний огляд
- 1.1 Опис HTML
- 1.2 Опис PHP
- 1.3 Архітектура клієнт-сервер
- 1.4 Опис SQL
- 1.5 Опис MySQL
- 1.6 Опис Apache HTTP-сервер
- 1.7 Unified Modeling Language
- 1.8 Діаграми прецедентів
- 1.9 Діаграма прецедентів обліку користувачів медичного закладу
- 2. Обґрунтування вибраного напряму проектування
- 2.1 Переваги цифрового обліку медичного закладу
- 2.2 Обгрунтування вибору PHP
- 2.3 Обґрунтування вибору MySQL
1. Аналітичний огляд
1.1 Опис HTML
HTML (HyperText Markup Language) - стандартна мова розмітки веб-сторінок в Інтернеті. Більшість веб-сторінок створюються за допомогою мови HTML (або XHTML). Документ HTML оброблюється браузером та відтворюється на екрані у звичному для людини вигляді.
HTML є похідною мовою від SGML, успадкувавши від неї визначення типу документу та ідеологію структурної розмітки тексту.
HTML разом із каскадними таблицями стилів та вбудованими скриптами - це три основні технології побудови веб-сторінок.
Історія розвитку HTML
1989 року Бернерс-Лі запропонував впровадити на базі Internet гіпертекстову систему документів.
Вже наприкінці 1990 року він розробив HTML і написав браузер та серверне програмне забезпечення для запропонованої системи. У цьому ж році Тім Бернерс-Лі та Роберт Кайо, інженер інформаційних систем CERN, подали спільну заявку на фінансування проекту, проте цей проект не був офіційно прийнятий CERN.
Бернерс-Лі розглядав HTML як похідну мову від SGML, і в середині 1993 року Спеціальна Комісія Інтернет-розробок (IETF) офіційно визначила її такою, опублікувавши першу специфікацію HTML: "Hypertext Markup Language (HTML)" Internet-проект, авторами якої були Тім Бернерс-Лі та Ден Конолі. Ця специфікація вже містила визначення типу документу, яке чітко зазначало граматику HTML.
Проект втратив силу через 6 місяців, проте був відомий за офіційне визнання в ньому, створеного для браузера NCSA Mosaic, тега додавання зображень. Так само пізніше в 1993 році в конкуруючому Інтернет-проекті Дейва Раджетта "HTML+ (Hypertext Markup Format)", було запропоновано стандартизувати вже запроваджені браузерами сенсаційні на той час можливості, такі як таблиці та перші інтерактивні форми.
На початку 1994 року, після того, як проекти "HTML" і "HTML+" втратили свою силу. Робоча група HTML завершила роботу над документом "HTML 2.0" (опублікований як RFC із номером 1866), першою специфікацією, що мала бути використана як базовий стандарт для подальших вдосконалень HTML. Версія 2.0 окреслювала чіткі відмінності між новим виданням специфікації та попередніми проектами.
Остання специфікація HTML, опублікована W3C наприкінці 1999 року, має назву "HTML 4.01 Recommendation".
Версії HTML
Тім Бернерс-Лі представив HTML в дослідницькому центрі CERN в Женеві 1989 року.
· HTML (без номера версії, 3 листопада 1992): найперша версія, орієнтована лише на текст.
· HTML (без номера версії, 30 квітня 1993): до тексту додано атрибути, які визначають курсивне або жирне написання літер, та зображення.
· HTML+ (листопад 1993): заплановані доповнення, які потрапили до наступних версій, але ніколи не були відокремлені як HTML+.
· HTML 2.0 (листопад 1995): визначена стандартом RFC 1866 версія з підтримкою форм. Статус цього стандарту вже "історичний", також визнані застарілими попередні версії.
· HTML 3.0: версія, яка не зазнала поширення, оскільки разом із випуском браузера Netscape Navigator версії 3, цей стандарт вже був застарілим.
· HTML 3.2 (14 січня 1997): були додані численні можливості, такі як таблиці, обтікання текстом зображень, інтеграція аплетів.
· HTML 4.0 (18 грудня 1997): були додані таблиці стилів, скрипти та фрейми. Також, відбулось розділення на Strict (суворе дотримання стандартів), Frameset (з підтримкою фреймів), Transitional (перехідний). 24 квітня 1998 було випущено виправлену версію цього стандарту.
· HTML 4.01 (24 грудня 1999): Заміна версії HTML 4.0, містить численні дрібні виправлення.
· HTML 5 (Working Draft, 5 квітня 2008): HTML 5 має новий словник побудований на основі HTML 4.01 та XHTML 1.0. Також перероблена і розширена пов'язана з HTML специфікація DOM
· XHTML 1.0 (26 січня 2000): Висловлення стандарту HTML 4.01 засобами XML. 1 серпня 2002 було випущено оновлену редакцію стандарту.
· XHTML 1.1 (31 травня 2001): Після того, як XHTML буде розділено на модулі, стандарт XHTML 1.1 визначатиме сувору версію, в якій не буде запроваджених HTML 4 можливостей Frameset та Transitional.
· XHTML 2.0 (в розробці): ця версія вже не базується на HTML 4.01 і додає деякі нові теги. Буде завершено розділення між представленням та вмістом.
Розмітка
Розмітка в HTML складається з чотирьох основних компонентів: елементів (та їхніх атрибутів), базових типів даних, символьних мнемонік та декларації типу документа.
Загальна структура
Нижче наведено приклад загальної структури HTML-документу:
<!doctype HTML public "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Мій перший HTML-документ</title>
</head>
<body>
Hello world!
</body>
</html>
Рис.1 HTML-розмітка документа
1.2 Опис PHP
PHP (PHP: Hypertext Preprocessor)- скриптова мова програмування, була створена для генерації HTML-сторінок на стороні веб-сервера. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java,.NET, Perl, Python, Ruby). PHP підтримується переважною більшістю хостинг-провайдерів. PHP - проектвідкритого програмного забезпечення.
PHP інтерпретується веб-сервером в HTML-код, який передається на сторону клієнта. На відміну від скриптової мови JavaScript, користувач не бачить PHP-коду, бо браузер отримує готовий html-код. Це є перевага з точки зору безпеки, але погіршує інтерактивність сторінок. Але ніщо не забороняє використовувати РНР для генерування і JavaScript-кодів які виконуються вже на стороні клієнта.
Особливості
PHP - мова, яка може бути вбудована безпосередньо в html-код сторінок, які, в свою чергу коректно будуть оброблені PHP -інтерпретатором. Механізм РНР просто починає виконувати код після першої екрануючої послідовності (<?) і продовжує виконання до того моменту, коли він зустріне парну екрануючу послідовність (?>). Велика різноманітність функцій PHP дають можливість уникнути написання багаторядкових призначених для користувача функцій на C або Pascal.
· Наявність інтерфейсів до багатьох баз даних
· в PHP вбудовані бібліотеки для роботи з MySQL, Postgre SQL, mSQL, Oracle, dbm, Hyperware, Informix, InterBase, Sybase.
· через стандарт відкритого інтерфейсу зв'язку з базами даних (Open Database Connectivity Standard - ODBC) можна підключатися до всіх баз даних, до яких існує драйвер.
· Традиційність
Мова РНР здаватиметься знайомою програмістам, що працюють в різних областях. Багато конструкцій мови запозичені з С, Perl. Код РНР дуже схожий на той, який зустрічається в типових програмах на С або Pascal. Це помітно знижує початкові зусилля при вивченні РНР. PHP - мова, що поєднує переваги Perl і С і спеціально спрямована на роботу в Інтернеті, мова з універсальним і зрозумілим синтаксисом. І хоча PHP є досить молодою мовою, вона здобула таку популярність серед web-програмістів, що в наш час є мало не найпопулярнішою мовою для створення веб-застосунків (скриптів).
· Наявність вихідного коду та безкоштовність
Стратегія Open Source, і розповсюдження початкових текстів програм в масах, безсумнівно справили благотворний вплив на багато проектів, в першу чергу - Linux хоч і успіх проекту Apache сильно підкріпив позиції прихильників Open Source. Сказане відноситься і до історії створення РНР, оскільки підтримка користувачів зі всього світу виявилася дуже важливим чинником в розвитку проекту РНР.
· Ефективність
Ефективність є дуже важливим чинником у програмуванні для середовищ розрахованих на багато користувачів, до яких належить і web. Важливою перевагою PHP є те, що ця мова належить до інтерпретованих. Це дозволяє обробляти сценарії з достатньо високою швидкістю. За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше за аналогічні їм програми, написані на Perl.
Історія
Історія PHP починається з 1995 року, коли Расмус Лердорф (англ. Rasmus Lerdorf) створив простий застосунок мовою Perl, що аналізував відвідування користувачами його резюме на веб-сайті. Потім, коли цим застосунком вже користувалися кілька чоловік, а число охочих одержати його постійно збільшувалося, Лердорф назвав своє творіння Особисті інструменти домашньої сторінки англ. Personal Home Page Tools версія 1 і виставив для вільного завантаження. З цієї миті почався небувалий зліт популярності PHP.
Як це завжди буває, терміново було потрібне доопрацювання і нові доповнення. Для їхньої реалізації Расмус створює нову версію пакету, тепер уже написану на С. Отриманий таким чином інструмент набуває робочої назви PHP/FI надалі він також буде відомий під назвою PHP 2. Ця версія вже більшою мірою схожа на сьогоднішній PHP. Вона мала синтаксис і спосіб іменування змінних в стилі мови Perl, можливість вбудовування PHP операторів в html-код сторінки, автоматичну інтерпретацію форм,інтеграцію з базами даних. При цьому все працювало досить швидко, оскільки PHP прикомпилювалось до веб-серверу Apache. До 1997 року PHP використовувався вже на 50,000 доменах (не більше 1% всіх веб-серверів).
У тому ж 1997 році до проекту PHP підключилися Зев Сураскі (англ. Zeev Suraski) і Енді Гутманс (англ. Andi Gutmans). Ці студенти Техніону, одного з найкращих ізраїльських університетів, намагалися використовувати PHP/FI для одного з комерційних університетських проектів. При цьому їм довелося зіткнутися з багатьма труднощами і обмеженнями цієї технології. Вивчаючи початковий код PHP 2.
Закінчивши роботу Зеєв і Енді домовились з Расмусом про співпрацю в галузі розвитку та вдосконалення мови. З цієї миті з'являється PHP Group - група однодумців, що працюють над розвитком технології PHP. Одержаний продукт з'явився на світ у 1998 році під назвою PHP 3.
При цьому головною особливість PHP 3 була можливість розширення ядра, що привернуло до роботи над PHP безліч сторонніх розробників, що створюють спеціалізовані модулі. Їх наявність дала PHP можливість працювати з величезною кількістю баз даних, протоколів, підтримувати велике число API. До кінця 1998 кількість користувачів PHP перевалила за 100000, а PHP був вже встановлений на не менше ніж 10% серверах Інтернету. У той ж час значному поширенню даної мови сприяли публікації в електронній пресі та вихід книжок для вивчення PHP.
Відразу ж після виходу PHP 3, Енді Гутманс і Зеєв Сураскі почали переробку ядра PHP. PHP 4, що працює на цьому ядрі, вийшов в 2000 році. На додаток до збільшення продуктивності, PHP 4 мав нові можливості щодо підтримки сесій,буферизацію виводу, безпечні способи обробки інформації, що вводиться користувачем, і нові мовні конструкції. З виходом 4 версії PHP став використовуватися вже на більш ніж 20% доменів Інтернету.
За час з 2000 по 2004 рік продовжувалися активні роботи з покращення 4 версії, але майже відразу PHP Group приступила до продумування можливостей нової версії. В першу чергу було вирішено підсилити об'єктні можливості мови, що дозволяло використовувати його для реалізації масштабних проектів.
У липні 2004 року виходить офіційний реліз PHP 5. В першу чергу, як і планувалося, було перероблено весь механізм роботи з об'єктами. І якщо в попередніх версіях об'єктно-орієнтоване програмування на PHP було можливе в мінімальному ступені, а тому і використовувалося на практиці не часто, то PHP 5 володіє прекрасним потенціалом реалізації об'єктного програмування. Окрім цього, PHP збагатився рядом цінних розширень для роботи з XML, різними джерелами даних, генерації графіки і інше.
Серед інших украй корисних доповнень в PHP 5 слід зазначити нову схему обробки виключень У PHP 5 також включені два нові модулі для роботи з протоколами - SimpleXML і SOAP. SimpleXML дозволяє значно спростити роботу з XML-даними, представляючи вміст XML-документа у вигляді PHP-об'єкта. Розширення SOAP дозволяє будувати на PHP сценарії, що обмінюються інформацією з іншимизастосунками за допомогою XML-повідомлень поверх існуючих веб-протоколів, наприклад HTTP. Модуль для роботи з SOAP для PHP 5 надає розробникам засіб для достатньо швидкого створення ефективних SOAP-клієнтів і SOAP-серверів.
Новий модуль PHP 5 MySQLi (MySQL Improved) призначений для роботи з MySQL-сервером версій 4.1.2 і вище, реалізовуючи не тільки процедурний, але і об'єктно-орієнтований інтерфейс до MySQL. Додаткові можливості цього модуля включають - SSL, контроль транзакцій, підтримка реплікації і ін.
Синтаксис
Всі сценарії оформляються у вигляді блоків коду. Ці блоки можуть бути поміщені в HTML-код, але відділені від нього відповідними обмежувачами. Код PHP в HTML повинен знаходитись між початковим тегом <?php та кінцевим ?> (або між <script language="php"> та </script>) Бажаним варіантом виділення PHP коду є варіант <?php ?>, оскільки саме такі початковий та кінцевий теги дозволять використовувати PHP код в документах, які відповідають правилам XML. Також можна користуватися скороченим записом: <? ?> (інколи потрібно активізувати даний стиль внісши вручну зміни в файл php.ini: змінна short_open_tag повинна мати значення On) і записом в стилі ASP: <% %> (в php.ini змінна asp_tags повинна мати значення On). Проте стиль ASP не рекомендується і очікується, що він буде відсутній у PHP6.
PHP виконує код, що знаходиться в середині обмежувачів, таких як <?php ?>. Все, що знаходиться поза межами обмежувачів виводиться без змін. Таким чином виконується вставка PHP коду в HTML код. Наприклад, код html-сторінки з попереднім прикладом виглядатиме так:
<html>
<head>
<title>Тестуємо PHP</title>
</head>
<body>
<?php echo 'Hello, world!'; ?>
</body>
</html>
1.3 Архітектура клієнт-сервер
Сервер - будь-яка система, процес, комп'ютер, які володіють довільним обчислювальним ресурсом (пам'яттю, часом тощо).
Клієнт - будь-яка система, процес, комп'ютер, користувач, які запитують у сервера який-небудь ресурс, які користуються будь-яким ресурсом або обслуговуються сервером іншим способом.
Клієнт-сервер - це вид розподіленої системи, в якій є сервер, що виконує запити клієнта, причому сервер і клієнт спілкуються між собою з використанням того або іншого протоколу. На рис 1.2 наведено приклад клієнт- серверної архітектури:
Рис 1.2 Приклад клієнт-серверної архітектури
Архітектура клієнт-сервер є одним із архітектурних шаблонів програмного забезпечення та є домінуючою концепцією у створенні розподілених мережних застосунків і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти:
· набір серверів, які надають інформацію або інші послуги програмам, які звертаються до них;
· набір клієнтів, які використовують сервіси, що надаються серверами;
· мережа, яка забезпечує взаємодію між клієнтами та серверами.
Сервери є незалежними один від одного. Клієнти також функціонують паралельно і незалежно один від одного. Немає жорсткої прив'язки клієнтів до серверів. Більш ніж типовою є ситуація, коли один сервер одночасно обробляє запити від різних клієнтів; з іншого боку, клієнт може звертатися то до одного сервера, то до іншого. Клієнти мають знати про доступні сервери, але можуть не мати жодного уявлення про існування інших клієнтів.
Дуже важливо ясно уявляти, хто або що розглядається як "клієнт". Можна говорити про клієнтський комп'ютер, з якого відбувається звернення до інших комп'ютерів. Можна говорити про клієнтське та серверне програмне забезпечення. Нарешті, можна говорити про людей, які бажають за допомогою відповідного програмного та апаратного забезпечення отримати доступ до тієї чи іншої інформації.
Загальноприйнятим є положення, що клієнти та сервери - це перш за все програмні модулі. Найчастіше вони знаходяться на різних комп'ютерах, але бувають ситуації, коли обидві програми - і клієнтська, і серверна, фізично розміщуються на одній машині; в такій ситуації сервер часто називається локальним.
Приклад
Типовим прикладом клієнт-серверної взаємодії є WWW. Існує величезна кількість веб-серверів, на яких розміщується та чи інша інформація. У найпростішому випадку ця інформація являє собою набір веб-сторінок, які можуть зберігатися на сервері у вигляді файлів, розмічених за допомогою мови розмітки HTML. Але ситуація, як правило, є складнішою; значна частина веб-ресурсів на сучасному етапі є динамічними, тобто вони не існують в заздалегідь підготовленому вигляді, а створюються безпосередньо в процесі обробки запиту від користувача.
Для того, щоб людина, яка працює в Інтернеті, могла переглянути ту чи іншу сторінку, на її комп'ютері повинно бути встановлено відповідне програмне забезпечення. Програми для перегляду веб-сторінок називаються браузерами (веб-оглядачами). Найпоширеніші браузери: Google Chrome, Internet Explorer, Firefox, Safari і Opera.
Але, крім браузерів, до серверів можуть звертатися і інші клієнти, а саме - автономні програми. Вони можуть передбачати взаємодію з людиною, а можуть працювати в цілком автоматичному режимі. Типовим класом таких програм є роботи, призначені для автоматичного перегляду веб-ресурсів. Зокрема, роботи є важливим елементом пошукових систем і використовуються ними для перегляду сторінок і збору інформації про них.
Для запиту до веб-сервера клієнтська програма повинна задати місцезнаходження комп'ютера, на якому розміщується серверна програма, назву потрібного документа і, можливо, інші дані, які специфікують запит. Мережа забезпечує знаходження сервера і передачу йому клієнтського запиту. Серверні програми обробляють цей запит, відповідь пересилається по мережі клієнтові.
На сучасному етапі для програмування модулів проміжного рівня використовується мова серверних сценаріїв РНР, а для управління даними - СУБД MySQL. Таким чином, зв'язку PHP-MySQL слід розглядати як стандартний інструмент для створення порівняно простих інтерактивних веб-сайтів та систем електронної комерції; близько 90% комерційних систем сьогодні створюється саме на цій основі. Водночас як засоби управління даними, так і middleware-засоби можуть бути найрізноманітнішими. Так, для створення серверних застосунків, крім РНР, широко застосовуються Java, Perl, Python.
1.4 Опис SQL
SQL (Structured query language) - декларативна мова програмуваннядля взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД, створення схеми бази даних і її модифікації, системи контролю за доступом до бази даних. Сам по собі SQL не є ні системою керування базами даних, ні окремим програмним продуктом. Не бувши мовою програмування в тому розумінні, як C або Pascal, SQL може формувати інтерактивні запити або, бувши вбудованою в прикладні програми, виступати в якості інструкцій для керування даними. Стандарт SQL, крім того, вміщує функції для визначення зміни, перевірки і захисту даних.
SQL - це діалогова мова програмування для здійснення запиту і внесення змін до бази даних, а також управління базами даних. Багато баз даних підтримує SQL з розширеннями до стандартної мови. Ядро SQL формує командна мова, яка дозволяє здійснювати пошук, вставку, обновлення, і вилучення даних, використовуючи систему управління і адміністративні функції. SQL також включає CLI (Call Level Interface) для доступу і управління базами даних дистанційно.
Перша версія SQL була розроблена на початку 1970-х років у IBM. Ця версія мала назву SEQUEL і була призначена для обробки й пошуку даних, що містилися в реляційній базі даних IBM, System R . Мова SQL пізніше була стандартизована Американськими Держстандартами (ANSI) в 1986. Спочатку SQL розроблялась як мова запитів і управління даними, пізніші модифікації SQL створено продавцями системи управління базами даних.
Оператори SQL
На Рис.1.3 наведені оператори які присутні в SQL:
Рис. 1.3 Оператори SQL
Приклад
Простий запит для виведення списку із атрибутами Name, Address, Class із таблиці School у певній базі даних має такий вигляд:
SELECT Name, Address, Class
FROM School;
1.5 Опис MySQL
MySQL - вільна система керування реляційними базами даних.
MySQL був розроблений компанією "ТсХ" для підвищення швидкодії обробки великих баз даних. Ця система керування базами даних (СКБД) з відкритим кодом була створена як альтернатива комерційним системам. MySQL з самого початку була дуже схожою на mSQL, проте з часом вона все розширювалася і зараз MySQL - одна з найпоширеніших систем керування базами даних. Вона використовується, в першу чергу, для створення динамічних веб-сторінок, оскільки має чудову підтримку з боку різноманітних мов програмування.
Історія
MySQL виникла як спроба застосувати mSQL до власних розробок компанії: таблиць, для яких використовувалися ISAM - підпрограми низького рівня. У результаті був вироблений новий SQL-інтерфейс, але API-інтерфейс залишився в спадок від mSQL. Звідки походить назва "MySQL" - достеменно не відомо. Розробники дають два варіанти: або тому, що практично всі напрацювання компанії починалися з префікса My, або на честь дівчинки на ім'я My, дочки Майкла Монті Віденіуса, одного з розробників системи.
В січні-лютому 2008 Sun Microsystems придбала розробника системи керування базами даних MySQL за $1 млрд. Після поглинання у 2009 році Sun Microsystems компанією Oracle Corporation MySQL стала власністю Oracle.
За час розвитку під орудою Oracle все більше відокремлює MySQL від спільноти і робить процес розробки все менш прозорим. Наприклад, повернута практика поставки власницьких розширених функцій в Enterprise-версії MySQL, спостерігається приховування інформації про вразливості, зі складу виключений тестовий набір, закритий доступ до більшої частини системи відстеження помилок та припинено публікація згрупованого логу змін, що дозволяє судити про прив'язку патчів до конкретних змін.
· перший внутрішній випуск MySQL - 23 травня 1995
· версія для систем Windows ((Windows 95 і NT))- 8 січня 1998
· версія 3.23: бета від червня 2000, стабільний випуск у січні 2001
· версія 4.0: бета від серпня 2002, стабільний випуск у березні 2003 (unions, query cache)
· версія 4.1: бета від червня 2004, стабільний випуск у жовтні 2004 (r-trees, subqueries)
· версія 5.0: бета від березня 2005, стабільний випуск у жовтні 2005 (cursors, stored procedures, triggers, views, XA transactions)
· версія 5.1: розробка велась із листопада 2005, стабільний випуск в листопаді 2008
· версія 5.4: бета в квітні 2009
· версія 6.0: в розробці
Можливості
MySQL - компактний багатонитевий сервер баз даних. Характеризується великою швидкістю, стійкістю і простотою використання.
MySQL вважається гарним рішенням для малих і середніх застосувань. Сирцеві коди сервера компілюються на багатьох платформах. Найповніше можливості сервера виявляються в UNIX-системах, де є підтримка багатонитковості, що підвищує продуктивність системи в цілому.
Можливості сервера MySQL:
· простота у встановленні та використанні;
· підтримується необмежена кількість користувачів, що одночасно працюють із БД;
· кількість рядків у таблицях може досягати 50 млн;
· висока швидкість виконання команд;
· наявність простої і ефективної системи безпеки.
1.6 Опис Apache HTTP-сервер
Apache HTTP - сервер - відкритий веб - сервер Інтернет для UNIX-подібних, Microsoft Windows, Novell NetWare та інших операційних систем.
Apache розроблюється та підтримується спільнотою розробників відкритого програмного забезпечення під керівництвом Apache Software Foundation.
В 1996 році Apache обійшов NCSA HTTPd із того часу є найбільш популярним веб-сервером у світі. Станом на червень 2013 ріку Apache встановлений на 53.34% (358 974 045 серверів) для порівняння на другому місці Microsoft IIS їхня частка 17.22% (115 920 681 серверів) .
Історія
Сервер Apache створений на початку 1995 року співтовариством незалежних розробників "Apache Group", члени якої у свій час брали участь у проекті з побудови перших Web-серверів у NCSA (National Center for Supercomputer Applications, USA). "Apache Group" пропонує Web-сервери, сумісні з будь-якою UNIX-системою, установленої на будь-якій апаратній платформі. Сервер перенесений і на інші операційні системи. Так, уже зараз Apache Web-сервер доступний для OS/2, UNIX-платформ, Windows 2000 та ін.
Можливості
Web-сервер Apache є самостійним, некомерційним, вільно розповсюджуваним продуктом. Продукт підтримує безліч можливостей, багато з яких реалізовані як скомпільовані модулі, які розширюють основні функціональні можливості. Вони різняться від серверної підтримки мов програмування до схем аутентифікації. Існують інтерфейси для підтримки мов програмування Perl, Python, Tcl і PHP.
Популярні методи стискування на Apache включають зовнішній модуль mod_gzip, створений для зменшення розміру веб-сторінок, переданих по HTTP.
Функції віртуального хостингу дозволяють одній інсталяції Apache обслуговувати різні веб-сайти. Наприклад, одна машина, з однією інсталяцією Apache може одночасно містити www.example.com, www.test.com, test47.test-server.test.com і так далі.
Використання
Apache передусім використовується для передачі через HTTP статичних та динамічних веб-сторінок у всесвітній павутині. Багато веб-застосунків спроектовано, зважаючи на середовище і можливості, які надає цей веб-сервер.
Продукт може працювати в якості кешувального проксі-сервера, що дозволяє істотно підвищити продуктивність роботи користувачів локальної мережі при роботі з документами, розташованими в Інтернет. Можна задавати такі параметри і налаштування проксі-сервера:
· типи файлів, які необхідно кешувати або навпаки, не включати в кеш;
· максимальний обсяг дискового простору, відведений під кеш;
· періодичний перегляд і індексування бази даних кеша з метою вивільнення дискового простору шляхом видалення застарілих об'єктів.
Apache зіграв ключову роль у початковому зростанні всесвітньої павутини, і продовжує бути найпопулярнішим у світі веб-сервером, де-факто платформою, на яку орієнтуються інші веб-сервери.
Відповідно до статистики Netcaft за червень 2008 року, Apache є найпоширенішим серверним програмним забезпеченням в Мережі: на цей веб-сервер припадала частка близько 49 % відповідного сегменту ринку (майже 85 мільйонів сайтів). Друге місце за популярністю займають програмні платформи Microsoft - 35,4 % (61 мільйон сайтів).
1.7 Unified Modeling Language
UML (Unified Modeling Language) - уніфікована мова моделювання, використовується у парадигмі об'єктно-орієнтованого програмування. Є невід'ємною частиною уніфікованого процесу розробки програмного забезпечення. UML є мовою широкого профілю, це відкритий стандарт, що використовує графічні позначення для створення абстрактної моделі системи, називаної UML-моделлю. UML був створений для визначення, візуалізації, проектування й документування в основному програмних систем. UML не є мовою програмування, але в засобах виконання UML-моделей як інтерпретованого коду можлива кодогенерація.
Перша версія (1.0) UML вийшла 13 січня 1997, вона була створена за запитом Object Management Group (OMG) - організації, відповідальної за прийняття стандартів в галузі об'єктних технологій і баз даних. Після обговорення, у вересні 1997 року, версія 1.1 UML була представлена на голосування в OMG. Розробку UML підтримали і вже тоді використовували як стандарт такі гранди ринку інформаційних технологій, як Microsoft, IBM, Hewlett-Packard, Oracle,DEC, Sybase, Logic Works й інші.
Поточна версія - 2.0.
UML може бути застосовано на всіх етапах життєвого циклу аналізу бізнес-систем і розробки прикладних програм. Різні види діаграм які підтримуються UML, і найбагатший набір можливостей представлення певних аспектів системи робить UML універсальним засобом опису як програмних, так і ділових систем. Діаграми дають можливість представити систему (як ділову, так і програмну) у такому вигляді, щоб її можна було легко перевести в програмний код. Основною причиною використання мови UML є спілкування розробників між собою. Крім того, UML спеціально створювалася для оптимізації процесу розробки програмних систем, що дозволяє збільшити ефективність їх реалізації у кілька разів і помітно поліпшити якість кінцевого продукту. UML прекрасно зарекомендувала себе в багатьох успішних програмних проектах. Засоби автоматичної генерації кодів дозволяють перетворювати моделі мовою UML у вихідний код об'єктно-орієнтованих мов програмування, що ще більш прискорює процес розробки.
Види діаграм
В UML використовується 13 видів діаграм:
Структурні діаграми:
· Класів
· Компонент
· Композитної/складеної структури
· Кооперації (UML2.0)
· Розгортування
· Об'єктів
· Пакетів
Діаграми поведінки:
· Діяльності
· Скінчених автоматів (станів)
· Прецедентів
Діаграми взаємодії:
· Кооперації (UML1.x) / Комунікації (UML2.0)
· Огляду взаємодії (UML2.0)
· Послідовності
· Синхронізації (UML2.0)
1.8 Діаграми прецедентів
Діаграма прецедентів - діаграма, на якій зображено відношення між акторами та прецедентами в системі. Також, перекладається як діаграма варіантів використання. На Рис 1.4 наведено приклад діаграми прецедентів:
Рис 1.4 Діаграма прецедентів
Діаграма прецедентів є графом, що складається з множини акторів, прецедентів (варіантів використання) обмежених границею системи (прямокутник), асоціацій між акторами та прецедентами, відношень серед прецедентів, та відношень узагальнення між акторами. Діаграми прецедентів відображають елементи моделі варіантів використання.
Суть даної діаграми полягає в наступному: проектована система представляється у вигляді безлічі сутностей чи акторів, взаємодіючих із системою за допомогою так званих варіантів використання. Варіант використання (use case) служить для опису сервісів, що система надає актору. Кожен варіант використання визначає деякий набір дій, чинений системою при діалозі з актором. При цьому нічого не говориться про те, яким чином буде реалізована взаємодія акторів із системою.
У мові UML є кілька стандартних видів відношень між акторами і варіантами використання:
* асоціації (association relationship)
* включення (include relationship)
* розширення (extend relationship)
* узагальнення (generalization relationship)
При цьому загальні властивості варіантів використання можуть бути представлені трьома різними способами, а саме - за допомогою відношень включення, розширення і узагальнення.
Відношення асоціації - одне з фундаментальних понять у мові UML і в тій чи іншій мірі використовується при побудові всіх графічних моделей систем у формі канонічних діаграм.
Включення (include) у мові UML - це різновид відношення залежності між базовим варіантом використання і його спеціальним випадком. При цьому відношенням залежності (dependency) є таке відношення між двома елементами моделі, при якому зміна одного елемента (незалежного) приводить до зміни іншого елемента (залежного). Відношення розширення (extend) визначає взаємозв'язок базового варіанта використання з іншим варіантом використання, функціональна поведінка якого задіюється базовим не завжди, а тільки при виконанні додаткових умов.
1.9 Діаграма прецедентів обліку користувачів медичного закладу
2. Обґрунтування вибраного напряму проектування
2.1 Переваги цифрового обліку медичного закладу
У медичній карті зберігається вся інформація про пацієнта - реєстраційні дані, результати медичних оглядів, антропометричні вимірювання, лабораторні обстеження
При введенні даних в електронну медичну картку не потрібно витрачати час на набір тексту за допомогою клавіатури. В системі буде використана унікальна технологія деревовидних шаблонів, яка дозволяє формувати звіти оглядів з використанням стандартного набору професійних термінів і фраз. При цьому лікаря або медсестри досить вибрати необхідні слова і вирази з переліку запропонованих у спеціально розроблених шаблонах оглядів. Правильність і повнота введення інформації контролюється автоматично під час формування медичного документа.
Введення інформації в карту пацієнта за допомогою шаблонів і її збереження в структурованому вигляді забезпечує широкі можливості для аналізу даних і полегшує обмін інформацією. Зручна система пошуку даних дозволяє без особливих зусиль знайти необхідну інформацію у великих обсягах медичної документації Система дає можливість легко формувати, редагувати і роздруковувати різноманітні виписки, довідки, епікризи, а також зберігати копії цих документів в медичній карті пацієнта. Будь-які з цих документів можна експортувати і надавати пацієнтам на мобільних носіях даних в зручному для них форматі, доступному для перегляду на будь-якому комп'ютері .
При необхідності, персонал клініки може отримати доступ до карти пацієнта не тільки з комп'ютерів локальної мережі, але і з домашнього комп'ютера за допомогою віддаленого доступу. Так як медична інформація є суворо конфіденційною, доступ до медичної карти і окремих її розділів чітко регламентований. Крім того, в системі ведеться протокол редагування, видалення будь-яких медичних даних.
Швидкий доступ до інформації, зручність у використанні програми підвищують ефективність і якість роботи персоналу, а також надійність і конфіденційність зберігання медичних даних.
2.2 Обґрунтування вибору PHP
медичний клініка облік сервер
Головним чинником мови PHP є практичність. PHP повинна надати програмісту інструмент для швидкого і ефективного вирішення поставлених завдань. Практичний характер РНР обумовлений п'ятьма важливими характеристиками:
· традиційністю
· простотою
· ефективністю
· безпекою
· гнучкістю
Існує ще одна "характеристика", яка робить РНР особливо привабливим: він розповсюджується безкоштовно! Причому, з відкритими вихідними кодами (Open Source).
Традиційність
Мова РНР здаватиметься знайомою програмістам, що працюють в різних областях. Багато конструкції мови запозичені з Сі, Perl.
Код РНР дуже схожий на той, який зустрічається в типових програмах на С або Pascal. Це помітно знижує початкові зусилля при вивченні РНР. PHP - мова, що поєднує достоїнства Perl, Сі і спеціально націлена на роботу в Інтернеті, мова з універсальним (правда, за деякими застереженнями) і ясним синтаксисом. І хоча PHP є досить молодою мовою, вона знайшла таку популярність серед web-програмістів, що на даний момент є мало чи не найпопулярнішою мовою для створення web-додатків (скриптів).
Простота
Сценарій РНР може складатися з 10 000 рядків або з одного рядка - все залежить від специфіки вашої задачі. Вам не доведеться довантажувати бібліотеки, вказувати спеціальні параметри компіляції або що-небудь в цьому дусі. Механізм РНР просто починає виконувати код після першої послідовності (<?php) І продовжує виконання до того моменту, коли вона зустріне парну послідовність (?>). Якщо код має правильний синтаксис, він виконується в точності так, як вказав програміст.
PHP - мова, яка може бути вбудована безпосередньо в html-код сторінок, які, у свою чергу будуть коректно оброблятися PHP-інтерпретатором. Ми можемо використовувати PHP для написання CGI-сценаріїв і позбутися від безлічі незручних операторів виведення тексту. Ми можемо залучати PHP для формування HTML-документів, позбавившись від безлічі викликів зовнішніх сценаріїв.
Велика різноманітність функцій PHP позбавлять вас від написання багаторядкових призначених для користувача функцій на C або Pascal.
Ефективність
Ефективність є виключно важливим чинником при програмуванні для розрахованих на багато користувачів середовищ, до числа яких належить і web.
Дуже важлива перевага PHP полягає в його "движку". "Движок" PHP не є ні компілятором, ні інтерпретатором. Він є транслюючим інтерпретатором. Такий пристрій "движка" PHP дозволяє обробляти сценарії з достатньо високою швидкістю.
За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше аналогічних їм програм, написаних на Perl. Проте, щоб не робили розробники PHP, виконувані файли відкомпільований будуть працювати значно швидше - в десятки, а іноді і в сотні разів. Але продуктивність PHP цілком достатня для створення цілком серйозних web-додатків. Детально про пристрій і характеристики "движка" PHP можна ознайомитися розділі опису движка.
Безпека
РНР надає в розпорядження розробників та адміністраторів гнучкі та ефективні засоби безпеки, які умовно поділяються на дві категорії: засоби системного рівня та засоби рівня програми.
1. Засоби безпеки системного рівня
У РНР реалізовані механізми безпеки, що знаходяться під управлінням адміністраторів; при правильному налаштуванні РНР це забезпечує максимальну свободу дій і безпеку. РНР може працювати в так званому безпечному режимі (safe mode), який обмежує можливості застосування РНР користувачами по ряду важливих показників. Наприклад, можна обмежити максимальний час виконання та використання пам'яті (неконтрольована витрата пам'яті негативно впливає на швидкодію сервера). За аналогією з cgi-bin адміністратор також може встановлювати обмеження на каталоги, в яких користувач може переглядати та виконувати сценарії РНР, а також використовувати сценарії РНР для перегляду конфіденційної інформації на сервері (наприклад, файлу passwd).
2. Засоби безпеки рівня програми
У стандартний набір функцій РНР входить ряд надійних механізмів шифрування. РНР також сумісний з багатьма додатками незалежних фірм, що дозволяє легко інтегрувати його з захищеними технологіями електронної комерції (e-commerce). Інша перевага полягає в тому, що вихідний текст сценаріїв РНР не можна переглянути у браузері, оскільки сценарій компілюється до його відправлення за запитом користувача. Реалізація РНР на стороні сервера запобігає викрадення нетривіальних сценаріїв користувачами, знань яких вистачає хоча б для виконання команди View Source. Детально про безпеку PHP можна ознайомитися в розділі "безпека"
Гнучкість
Оскільки РНР є вбудовуваною (embedded) мовою, вона відрізняється винятковою гнучкістю по відношенню до потреб розробника. Хоча РНР зазвичай рекомендується використовувати у поєднанні з HTML, вона з таким же успіхом інтегрується і в JavaScript, WML, XML та інші мови. Крім того, добре структуровані програми РНР легко розширюються в міру необхідності (втім, це відноситься до всіх основних мов програмування).
Немає проблем із залежністю від браузерів, оскільки перед відправкою клієнту сценарії РНР повністю компілюються на стороні сервера. По суті, сценарії РНР можуть передаватися будь-яким пристроям із браузерами, включаючи стільникові телефони, електронні записні книжки, пейджери і портативні комп'ютери, не кажучи вже про традиційні ПК. Програмісти, які розробляють допоміжні утиліти, можуть виконувати РНР-код в режимі командного рядка.
Оскільки РНР не містить коду, орієнтованого на конкретний web-сервер, користувачі не обмежуються певними серверами (можливо, незнайомими для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold і Zeus - РНР працює на всіх перерахованих серверах. Оскільки ці сервери працюють на різних платформах, РНР в цілому є платформо-незалежним мовою і існує на таких платформах, як UNIX, Solaris, FreeBSD і Windows 95/98/NT/2000/XP/2003.
Нарешті, можливості РНР дозволяють програмісту працювати із зовнішніми компонентами, такими як Enterprise Java Beans або СОМ-об'єкти Win32. Завдяки цим новим можливостям РНР займає гідне місце серед сучасних технологій і забезпечує масштабування проектів до необхідних меж.
Безкоштовне розповсюдження
Стратегія Open Source, і розповсюдження початкових текстів програм в масах, зробило поза сумнівом благотворний вплив на багато проектів, в першу чергу - Linux, хоча і успіх проекту Apache сильно підкріпив позиції прихильників Open Source. Сказане відноситься і до історії створення РНР, оскільки підтримка користувачів зі всього світу виявилася дуже важливим чинником в розвитку проекту РНР.
Прийняття стратегії Open Source і безкоштовне розповсюдження початкових текстів РНР надало неоціниму послугу користувачам. До того ж, чуйне співтовариство користувачів РНР є свого роду "колективною службою підтримки", і в популярних електронних конференціях можна знайти відповіді навіть на найскладніші питання.
2.3 Обґрунтування вибору MySQL
MySQL являється компактним багатопоточним сервером баз даних та характеризується великою швидкістю, стійкістю і простотою використання.
Ця система вважається гарним рішенням для малих і середніх додатків. Вихідний код сервера компілюється на безлічі платформ. Найбільш повно можливості сервера виявляються в UNІХ-системах, де є підтримка багатопоточності, що підвищує продуктивність системи в цілому. Для некомерційного використання MySQL є безкоштовним.
Можливості сервера MySQL:
· простота у встановленні та використанні;
· підтримується необмежена кількість користувачів, що одночасно працюють із БД;
· кількість рядків у таблицях може досягати 50 млн.;
· висока швидкість виконання команд;
· наявність простої і ефективної системи безпеки.
Недоліками сервера MySQL залишається не реалізована підтримка транзакцій, замість якої пропонується використовувати LOCK/UNLOCK TABLE, а також відсутність підтримки для зовнішніх (foreign) ключів, тригерів, збережених процедур та представлень (VIEW). Та для розробки малих та середніх інформаційних систем, призначених для використання в межах робочих груп ці недоліки є фактично невідчутними.
Размещено на Allbest.ru
...Подобные документы
Переваги архітектури "клієнт-сервер", порівняльна характеристика програмних засобів розробки його систем. Основні концепції функціонування системи IP-телебачення на базі архітектури "клієнт-сервер". Механізм взаємодії клієнта і сервера в середі Delphi.
реферат [955,9 K], добавлен 30.01.2010Загальна характеристика розвитку електронної торгівлі в Україні на сучасному етапі. Сутність і переваги клієнт-серверної технології, вибір мови програмування. Розробка структури бази даних та веб-сервера MySQL 4.1.8 для прийому замовлень в режимі online.
дипломная работа [2,5 M], добавлен 24.09.2012Аналіз системних вимог та обґрунтування методу проектування системи. Алгоритм розв'язання задачі. Інформаційне, технічне, програмне та організаційне забезпечення. Вибір методу проектування архітектури та моделі функціонування системи "клієнт-банк".
дипломная работа [3,1 M], добавлен 12.05.2017Принципи організації баз даних (БД) при проектуванні клієнт-серверних додатків. Інструментальні засоби створення системи. Різновиди архітектур БД. Функції та програмна реалізація. Економічне обґрунтування доцільності розробки програмного продукту.
дипломная работа [2,1 M], добавлен 22.10.2012Робота з клієнт-серверними додатками на основі сокетів. Розробка програм сервера та клієнта для обробки запитів клієнта сервером. Можливості програм сервера та клієнта. Створення гри "хрестики-нулики" на основі сокетів. Програмне забезпечення сервера.
лабораторная работа [181,8 K], добавлен 23.05.2015Проектування дієздатної демонстраційної моделі системи електронної комерції. Розробка сценарію купівлі з використанням мережі Інтернет. Архітектура механізму розповсюдження сертифікатів відкритих ключів. Підсистема асиметричної і симетричної криптографії.
дипломная работа [2,0 M], добавлен 10.08.2011Характеристика засобів масового спілкування, які надає Інтернет. Проектування багаторівневої архітектури клієнт-серверу. Розробка бази даних соціальної мережі, використання шаблонізатора для генерації сторінок. Тестування програмного забезпечення.
дипломная работа [4,5 M], добавлен 18.03.2012Створення гнучкої клієнт-серверної системи інформаційної підтримки підвищення кваліфікації персоналу ДП № 9 з застосуванням мови програмування PHP, системи керування базами даних MySQL. Розробка алгоритмів, програмна реалізація основних процедур системи.
дипломная работа [1,8 M], добавлен 26.10.2012Розробка комплексу інтерактивних програмних засобів для обліку і продажу товарів в Інтернет-магазині. Консультативні та довідкові функції інформаційної системи. Створення і реалізація структурної моделі бази даних. Вимоги до ресурсів сервера і ПК клієнта.
дипломная работа [891,6 K], добавлен 14.02.2015Загальна характеристика методів проектування та документації додатків. Розробка інтерфейсу програми для медичного діагностичного центру. Вибір архітектури. Описання логічної структури програми. Розробка структури бази даних проекту, полів таблиць.
курсовая работа [2,0 M], добавлен 21.08.2015Загальна структура автоматизованої інформаційної системи, особливості її технічного, програмного, правового та економічного забезпечення. Характеристика апаратної платформи сучасних інформаційних систем. Основні компоненти архітектури "клієнт-сервер".
контрольная работа [19,8 K], добавлен 22.08.2011Створення баз даних за допомогою стандартних бібліотек Java та клієнт-серверних програм. Основні стандартні класи і методи бібліотек SQL та swing, бібліотек, що дозволяють опрацьовувати дані СУБД та навчитись концепціям програмування мовою Java.
лабораторная работа [215,3 K], добавлен 04.10.2011Серверна мова програмування PHP. База даних MySQL. Мова та стандарти XML. Рівні та способи взаємодії засобів розробки. Засоби трансформації XML. Розробка інтернет-додатку з використанням PHP, MYSQL, XML. Розрахунок трудомісткості створення системи.
дипломная работа [1,8 M], добавлен 19.08.2012Вибір методу проектування архітектури та моделі функціонування системи автоматизації обліку ресурсів в складських приміщеннях. Аналіз системних вимог та обґрунтування методу проектування інформаційної системи, постановка та алгоритм розв’язання задачі.
дипломная работа [3,5 M], добавлен 25.05.2017Проектування web-ресурсу міста для інформування про цілі, пріоритети, програмні напрямки, конкурси та підтримані проекти організації. Найменування та область застосування сайту; організація зв'язку із соціальними мережами. Розробка структури web-ресурсу.
дипломная работа [1,0 M], добавлен 02.07.2015Створення оригінальної розподіленої інформаційної системи на основі технології SOAP. Надана архітектура клієнт-серверної взаємодії: клієнтське прикладення споживає Web-сервіс з Internet, а отримані об'єктні методи звертаються до віддалених даних на Web.
лабораторная работа [556,0 K], добавлен 08.06.2009Розробка автоматизованої бази даних реєстратури в поліклініці для ведення обліку лікарів та пацієнтів, а також зберігання та отримання якісної структурованої, та доступної інформації про них за допомогою виконання певних запитів в середовищі MySQL.
курсовая работа [1,5 M], добавлен 03.11.2011Аналіз інформаційних потоків підприємства торгівлі. Обґрунтування необхідності автоматизації складського обліку автозапчастин. Вимоги до архітектури і продуктивності клієнтської системи. Розробка модулів, алгоритмів, структури даних, інтерфейсу програми.
дипломная работа [1,6 M], добавлен 12.04.2012Автоматизація планування та обліку методичної роботи. Особливовсті веб-орієнтованих інформаціних систем. Логічна модель роботи системи. Розробка структури бази даних та серверної частини. Вибір засобів розробки. Формування інструкції користувача.
дипломная работа [4,9 M], добавлен 21.06.2014Аналіз та проектування бази даних по організації обліку та руху товарів на складах, обґрунтування вибору інструментального засобу. Застосування СУБД Microsoft Access, розробка таблиць бази даних. запитів, форм, конструювання звітів і організація захисту.
курсовая работа [463,3 K], добавлен 07.06.2010