![](/user_photo/2706_HbeT2.jpg)
- •VIII. Розробка інтернет-програм
- •IX. БдБ і БдС системи
- •X. Реалізація
- •XI. Тестування
- •Введення в розробку програмного забезпечення
- •1. Складність інформаційних систем
- •2. Розробка програмного забезпечення
- •Криза програмного забезпечення
- •4.Концептуальне моделювання
- •Життєві цикли програмного забезпечення
- •Модель водоспаду
- •2. Модель водоспаду із зворотнім зв'язком
- •Документоване виконання
- •Прототипування
- •Покрокова розробка
- •7.Модель спіралі
- •III. Етапи розробки програмного забезпечення
- •1. Стратегічний етап
- •Етап визначення вимог
- •2.2. Нефункціональні вимоги
- •4. Етап проектування
- •5. Етап реалізації
- •6. Етап тестування
- •7. Етап установки
- •8. Етап підтримки
- •IV. Стратегічний етап
- •1. Дії на стратегічному етапі
- •2. Співпраця з клієнтом
- •3. Область дії і контекст проекту
- •4. Стратегічні рішення
- •5. Оцінка різних варіантів рішеннь
- •6. Оцінка вартості рішень
- •7. Чинники успіху
- •8. Результати стратегічного етапу
- •9. Короткий звіт
- •V. Розпізнавання вимог і документація
- •1. Складнощі у формулюванні вимог
- •2. Методи ідентифікації вимог
- •3. Методи опису вимог
- •4. Типи вимог
- •5. Перевірка вимог
- •6. Документ з вимогами
- •2. Аналітична модель
- •3. Дії на етапі аналізу
- •4. Функціональна декомпозиція
- •5. Методологія, що використовується в створенні аналітичної моделі
- •6. Документація вимог
- •7. Аналіз чинників успіху
- •8. Короткий звіт
- •VII. Етап проектування
- •1. Цілі проектування
- •Малюнок 7.2.1. Етап проектування.
- •2. Специфікація результатів аналізу
- •3. Дизайн інтерфейсу
- •4. Структуровані схеми/діаграми
- •5. Складова організації даних
- •6. Оптимізація проекту
- •7. Фізична структура системи
- •8. Правильність і якість проекту
- •9. Нефункціональні вимоги на етапі проектування
- •10. Результати етапу проектування
- •11. Детальний документ проекту
- •2. Стандарти, правила і порядок здійснення дій проекту:
- •12. Короткий звіт
- •VIII. Розробка інтернет-програм
- •1. Специфікація інтернет-програми
- •2. Методи розробки інтернет-програм
- •3. Об'єктно-орієнтована гіперсередовищна модель розробки (oohdm)
- •4. Метод розробки веб-сторінок (wsdm)
- •5. Мова веб-моделювання (WebMl)
- •Формулювання вимог
- •Проект структури даних
- •Гіпертекстовий проект
- •IX. Бдб і бдс системи
- •1. Електронний бізнес
- •2. Інтернет-бізнес і електронний ринок.
- •3. Інтернет-магазин
- •4. Модель електронного бізнесу
- •1.Модель брокера
- •2.Модель, яка задовольняє індивідуальним потребам
- •3.Модель контактів
- •5. Платежі
- •6. Безпека
- •8. Моделювання систем бдб і бдс
- •9. Багатошарова архітектура програм
- •9. Cервіс-орієнтована архітектура (соа)
- •10. Короткий звіт
- •X. Реалізація
- •1. Характеристики етапу реалізації
- •2. Надійність програмного забезпечення
- •3. Похибка
- •4. Транзакції
- •5. Середовище реалізації
- •6. Чинники успіху і результати етапу реалізації
- •7. Короткий звіт
- •XI. Тестування
- •1. Етап тестування
- •2. Перевірка
- •Малюнок 11.3.1. Модель V-тестування.
- •3. Перегляди
- •4. Аудит
- •5. Інспекції
- •6. Види тестів
- •7. Процес тестування
- •8. Тестування надійності
- •9. Типи тестів на знаходження помилок
- •10. Програми-інструменти
- •11. Статичні тести
- •12. Підрахунок кількості помилок
- •13. Чинники успіху, успіх тестування
- •14. Короткий звіт
- •XII. Оцінка програмного забезпечення
- •1. Простановка розмірів проекту
- •2. Оцінка складності в проектах
- •3. Ефекти масштабування
- •4. Оцінка вартості програмного забезпечення
- •5. Конструктивна вартісна модель (cocomo)
- •6. Балова функціональна оцінка
- •7. Метод випадкового використання
- •8. Короткий звіт
- •XIII. Управління конфігурацією пз і версіями
- •1. Управління конфігурацією пз
- •2. Елементи конфігурації пз
- •3. Угода позначень
- •4. Зберігання елементів конфігурації
- •5. Перегляди
- •7. План управління конфігурації пз
- •I Вступ
- •II Управління
- •III Визначення конфігурації
- •IV Управління конфігурацією
- •4. Модель якості iso-9126
- •5. Управління якістю
- •6. Стандарти якості
- •7. Незрілість і зрілість виробництва
- •8. План гарантії якості пз (sqap)
- •9. Короткий звіт
- •XV. Управління проектом програмного забезпечення
- •1. Завдання управління проектом
- •2. Працівники виробництва програмного забезпечення
- •3. Характеристика хорошого розробника програмного забезпечення
- •4. Робота в команді
- •5. Управління підприємством по виробництву програмного забезпечення
- •6. Розвиток компанії по розробці програмного забезпечення
- •7. Документація проекту
- •8. Визначення продуктивності
- •9. Складання графіків проекту
- •10. Завдання управління проектом
- •11. Інтерфейс проекту
- •12. Планування проекту
- •13. Управління ризиком
- •14. Вимірювання процесів і продуктів
- •15. Короткий звіт
8. Моделювання систем бдб і бдс
Бізнес-програми не обмежуються однією компанією; вони повинні мати вихід в інтернет. Це вимагає розробка особливого ПЗ. Програма грунтується на гнучкій архітектурі, яка може бути модифікована. Моделювання - найважливіша частина. Вона дозволяє зрозуміти систему і дає можливість її спростити.
Що таке модель? Це спрощення реальності; дає різні проекції і може бути загальною або дуже точною. Рівень абстракції визначає деталі, що відображаються. Розуміння системи можливе лише у разі створення багатьох моделей, які дають відображення різних аспектів реальності.
9. Багатошарова архітектура програм
При розробці програм для сервера слід враховувати безліч чинників, в основному, в багатозадачному середовищі:
-
надійність;
-
безпека;
-
продуктивність.
Клієнтами таких систем є банки, страхові компанії, служби інформаційного обслуговування і т.д. Область дії таких систем робить розробку програм дуже складною, якщо враховувати всі чинники.
У хорошій програмі код повинен бути логічно розкладений на складові частини. Всі шари містять один або декілька програмних елементів. Розкладання ефективне, оскільки функціональність шарів може розроблятися незалежно.
Три шари коду:
1. Шар представлення : містить компоненти, що відповідають за зображення. Мережеве представлення складається з веб-сайтів, які використовують таку техніку, як JSP, ASP, PHP, аплети в Java.
2. Логічний шар : містить елементи, що вирішують конкретні програмні проблеми. У таких випадках вимоги жорсткіші. Реалізується на таких мовах, як Java або C++.
3. Шар даних : використовується, як логічний шар для зберігання даних. Звичайно це - база даних.
Ділення програми зазвичай відбувається зі зменшенням взаємозв'язків. У інтернет-бізнесі дуже важливо мати таке розділення.
За логічним розкладанням слідує фізична пргограма з багатошаровою архітектурою.
Є два головні підходи в створенні такого застосування:
-
дволанковий метод,
-
N-ланковий метод.
Межі визначаються межами процесів, машинами, корпораціями. Важлива технологія, а не тип фізичного походження.
Двошарова архітектура
Дві програми розрізняються між собою. Перша сполучає логічний шар і шар представлення, а в другому деякі елементи логічного шару перенесені в шар даних.
Об'єднання логічного шару і шару представлення.
У цьому рішенні логічний шар відокремлений від шару даних. Шари є одними цілими. На цьому етапі головна частина системи (два об'єднаних шара) знаходяться на стороні клієнта. Тому клієнта називають "товстим", а сервер - "худим". Малюнок 9.9.1 відображає рішення:
Малюнок 9.9.1 Двошарова архітектура товстого клієнта.
Архітектура має декілька небажаних властивостей:
-
висока вартість установки - кожен комп'ютер-клієнт повинен мати драйвер бази даних;
-
висока вартість оновлення - заміна драйвера бази даних вимагає таку ж заміну у всіх комп'ютерах;
-
висока вартість зміни схеми бази даних - клієнти використовують безпосередньо саму базу даних;
-
висока вартість зміни структури бази даних;
-
висока вартість заміни логічного шару на кожному комп'ютері;
-
зменшення продуктивності із-за великого трафіку - кожен запит повинен оброблятися.
Об'єднання логічного шару і шару даних
Рішення дозволяє позбавитися від недоліків попереднього рішення.
Головна перевага - переміщення частини логічного шару в шар даних, що зменшує завантаженість мережі. Операції, що зберігаються в шарі даних дозволяють обробляти відповіді на велику кількість питань і повертати результат у формі запису. Це підвищує продуктивність.
Збільшується розширність установки програми.
На жаль, деякі проблеми з установкою логічного шару на стороні клієнта все ще існують. Малюнок 9.9.2 показує реалізацію цієї архітектури.
Малюнок 9.9.2. Двошарова архітектура, об'єднання логічного шару і шару даних.
Багатошарова архітектура
Зараз найефективнішим рішенням вважається фізичне розділення логічних шарів. Тришарове рішення - установка тільки інтерфейсу на стороні клієнта, що робить його "худим". Логічний шар і шар даних залишаються на стороні сервера. Приклад такої архітектури показаний на малюнку 9.9.2.
Малюнок 9.9.3. Тришарова архітектура з худим клієнтом.
Переваги розробки тришарових програм
-
Зменшення установки - драйвери бази даних і ядро встановлюються на сторону сервера. Це зменшує робоче навантаження.
-
Спрощено оновлення бази даних і логічний шар системи. Клієнт не користується базою даних безпосередньо, що полегшує переміщення і зміну бази даних без зміни інтерфейсу клієнта.
-
Безпека забезпечується установкою брандмауерів. Це дозволяє обмежити доступ до захищених даних.
-
Ресурси сервера доступні у вигляді так званої сукупність ресурсів, що прискорює доступ.
-
Застосування архітектури до бази даних зменшує з'єднання і кількість необхідних ліцензій.
-
Кожен шар може мінятися без звернення до інших.
-
Моніторинг вельми простий. Помилки і вразливі місця легко виявляються. Перевантаження одного шару не впливає на інше.
Недоліки тришарових програм
-
Велике перевантаження зв'язку. Фізичне розкладання вимагає додаткових зв'язків. Мережа переповнюється надлишком інформації, переданої між комп'ютерами.
-
Збільшена вартість підтримки програм.
-
Великий код.
-
Останній недолік - реалізація взаємозв'язку шарів.
-
Всі завдання вимагають великих витрат і робочого навантаження. Реалізація таких програм складна, тому створюються серверні програми.
Серверні програми - завдання і ролі
Серверне застосування дозволяє програмістам думати про програми в цілому, а не про конкретних. Сервер - платформа, обслуговуюча системи, зокрема - програми інтернет-бізнесу. Платформа зберігає бізнес-логіку, всю модель, надає послуги шаруючи представлення і методи доступу до бази даних. Мета полягає і в забезпеченні механізмом інтеграції.
Головними ролями серверних програм є:
-
забезпечення стандартами безпеки;
-
забезпечення мережевими ресурсами;
-
багатозадачність;
-
обслуговування розподілених систем.
Вони є невід'ємною частиною багатошарової архітектури. Вони підтримують технологію технологій, створених з компонентів. Сервер - контейнер для компонентів.
Таблиця 9.9.4. представляє декілька серверних програм:
Таблиця 9.9.4. Серверні програми.