Автор работы: Пользователь скрыл имя, 18 Мая 2013 в 14:38, курсовая работа
Потрібно сказати, що в житті будь-якої компанії буває момент, коли кількість справ, яке змушені контролювати співробітники і особливо керівництво стає таким що перевершують можливості людської пам'яті.
При вирішенні складних завдань буває момент, коли співробітники і керуючі не можуть бачити проект в цілому, втрачається з пам'яті необхідність зробити ті чи інші роботи.
Буває й інша ситуація подібна цій - відділ, що складається більш ніж з 15-20 співробітників працюють одночасно над однією задачею - складна структура для управління, і без спеціальних засобів проконтролювати їх роботу надзвичайно складно. Застарілий метод - нескінченні наради і доповіді - тільки посилює проблему, так як відволікає від ведення головної справи.
Ідентифікація основних абстракцій полягає в попередньому визначенні набору класів системи (класів аналізу) на основі опису наочної області і специфікації вимог до системи (зокрема, глосарію). Способи ідентифікації основних абстракцій аналогічні способам ідентифікації суті в моделі "суть-зв'язок". Основний (неформальний) спосіб ідентифікації суті - це пошук абстракцій, що описують фізичні або матеріальні об'єкти, процеси і події, ролі людей, організації і інші поняття. Єдиним формальним способом ідентифікації суті є аналіз текстових описів наочної області, виділення з описів імен іменників і вибір їх як "кандидати" на роль абстракцій. Кожна суть повинна мати найменування, виражене іменником в однині.
Архітектурні рівні утворюють ієрархію рівнів представлення системи.
У практиці
розробки клієнт-серверних
- прикладний
– набір компонентів, що
- бізнес-рівень
– набір компонентів,
- проміжний – різні незалежні сервіси (бібліотеки призначеного для користувача інтерфейсу, брокери запитів і ін.);
- системний
– програмне забезпечення для
обчислювальної і мережевої
Архітектурні
рівні представляються в
Діаграми класів
(class diagram) дозволяють створювати
логічне представлення системи,
Після того, як перелік потенційних класів сформований, необхідна їх подальша специфікація: класи потрібно включити в діаграму класів і визначити їх властивості. Деякі властивості можна ввести і відобразити усередині графічних піктограм, що представляють класи на діаграмі класів. Багато інших властивостей, включених в специфікацію класу, мають тільки текстове уявлення. CASE-засоби, як правило, володіють можливостями редагування, що дозволяють легко вводити або модифікувати подібну інформацію за допомогою діалогових вікон, забезпечених вкладками, або за допомогою аналогічних способів.
Рис. 6. Операції в класах – Boundary та Control
Атрибути класів аналізу визначаються виходячи із знань про наочну область, вимог до системи і глосарію.
Графічна піктограма, що представляє клас, складається з трьох відділень (ім'я класу, атрибути, операції). Виділення атрибутів здійснюється паралельно з виділенням класів. Ідентифікація атрибутів свого роду "побічний ефект" встановлення класів. Це не означає, що виявлення атрибутів — просте завдання. Навпаки, це процес, що вимагає значних зусиль і багатократних ітерацій.
Рис. 7. Визначення атрибутів для класів Entity
Класи з операціями та атрибутами:
Додамо зв'язки до класів, що беруть участь у варіанті використання "Нарахування заробітної плати". Для відображення зв'язків між класами побудуємо нові діаграми класів.
Зв'язки між класами (асоціації) визначаються в два етапи:
Етап 1. Початковий набір зв'язків встановлюється на основі аналізу кооперативних діаграм. Якщо два об'єкти взаємодіють (обмінюються повідомленнями), між ними на кооперативній діаграмі повинен існувати зв'язок (шлях взаємодії), який перетвориться в двонаправлену асоціацію між відповідними класами. Якщо повідомлення між деякою парою об'єктів передаються тільки в одному напрямі, то для відповідної асоціації вводиться напрям навігації.
Етап 2. Аналізуються і
уточнюються асоціації між
Рис. 8. Діаграма класів з повністю визначеними атрибутами, операціями та зв’язками
Метою об'єктно-орієнтованого проектування є адаптація попереднього системного проекту (набору класів "аналізу"), що становить стабільну основу архітектури системи, до середовища реалізації з урахуванням всіх нефункціональних вимог.
Об'єктно-орієнтоване проектування включає два види діяльності:
- проектування архітектури системи
- проектування елементів системи.
В якості серверної мови програмування була обрана мова програмування - PHP
Переваги PHP
Головним чинником
мови РНР є практичність. РНР повинен
надати програмісту засоби для швидкого
та ефективного вирішення поставле
• традиційністю;
• простотою;
• ефективністю;
• безпекою;
• гнучкістю.
Існує ще одна «характеристика», яка робить РНР особливо привабливим: він розповсюджується безкоштовно!Причому, з відкритими початковими кодами (Open Source).
Традиційність
Мова РНР здаватиметься знайомою програмістам, що працюють в різних областях. Багато конструкції мови запозичені з Сі, Perl.
Код РНР дуже схожий на той, який зустрічається в типових програмах на С або Pascal. Це помітно знижує початкові зусилля при вивченні РНР. PHP - мова, що поєднує достоїнства Perl і Сі і спеціально націлений на роботу в Інтернеті, мова з універсальним (правда, за деякими застереженнями) і ясним синтаксисом.
І хоча PHP є досить молодою мовою, він знайшов таку популярність серед web-програмістів, що на даний момент є мало не найпопулярнішою мовою для створення web-додатків (скриптів).
Простота
Сценарій РНР може складатися з 10 000 рядків або з одного рядка - все залежить від специфіки вашої задачі. Вам не доведеться довантажувати бібліотеки, вказувати спеціальні параметри компіляції або що-небудь в цьому роді.Механізм РНР просто починає виконувати код після першої екрануючої послідовності (<?) І продовжує виконання до того моменту, коли він зустріне парну екранує послідовність (?>). Якщо код має правильний синтаксис, він виконується в точності так, як вказав програміст.
PHP - мова, яка
може бути вбудований
Велика розмаїтість функцій PHP позбавлять вас від написання багаторядкових призначених для користувача функцій на C або Pascal.
Ефективність
Ефективність
є виключно важливим фактором при
програмуванні для
Дуже важлива перевага PHP полягає в його «движку» . «Движок» PHP не є ні компілятором, ні інтерпретатором. Він є транслює інтерпретатором. Такий пристрій «движка» PHP дозволяє обробляти сценарії з достатньо високою швидкістю.
За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше аналогічних їм програм, написаних на Perl. Однак, щоб не робили розробники PHP, відкомпілювалися виконувані файли будуть працювати значно швидше - в десятки, а іноді і в сотні разів. Але продуктивність PHP цілком достатня для створення цілком серйозних web-додатків.
Безпека
РНР надає в розпорядження розробників і адміністраторів гнучкі та ефективні засоби безпеки , які умовно поділяються на дві категорії: засоби системного рівня і засоби рівня програми.
1. Засоби безпеки системного рівня
У РНР реалізовані
механізми безпеки, що знаходяться
під управлінням
2. Засоби безпеки рівня програми
У стандартний набір функцій РНР входить ряд надійних механізмів шифрування. РНР також сумісний з багатьма додатками незалежних фірм, що дозволяє легко інтегрувати його з захищеними технологіями електронної комерції (e-commerce). Інша перевага полягає в тому, що вихідний текст сценаріїв РНР можна переглянути в браузері, оскільки сценарій компілюється до його відправлення за запитом користувача. Реалізація РНР на стороні сервера запобігає викрадення нетривіальних сценаріїв користувачами, знань яких вистачає хоча б для виконання команди View Source.
Гнучкість
Оскільки РНР є вбудовуваним (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 і безкоштовне розповсюдження початкових текстів РНР надало неоціниму послугу користувачам. Вдобавок, чуйне спільнота користувачів РНР є свого роду «колективної службою підтримки», і в популярних електронних конференціях можна знайти відповіді навіть на найскладніші питання.
Проектування архітектури системи включає:
Об'єднання класів в підсистеми проводиться по наступних міркуваннях:
Приклади можливих підсистем:
Информация о работе Об'єктно-орієнтована програмна система для управління проектами