13. Мета і задачі проектування
В даний час ключова роль в досягненні успіху більшості комп'ютеризованих систем належить не використовуваному устаткуванню, а програмному забезпеченню. Проте існуючі історичні свідчення про розробку програмного забезпечення систем не виробляють такого глибокого враження, як хронологічні огляди стрімкого прогресу в області апаратних засобів обчислювальної техніки. В останні десятиліття прикладні програми пройшли шлях від маленьких і порівняно простих додатків з декількох рядків коду до дуже великих і складних програм, що складаються з декількох мільйонів рядків.
Багато з цих додатків вимагали постійного супроводу, включаючи виправлення виявлених помилок, реалізацію нових вимог користувачів, а також перенесення програмного забезпечення на нові або модернізовані обчислювальні платформи.
Зусилля та ресурси, що витрачаються на супровід програмного забезпечення, зростали загрозливими темпами. В результаті розробка та реалізація багатьох великих проектів затягувалася, їх вартість перевищувала заплановану, а остаточний продукт виходив ненадійним, складним в супроводі і володів недостатньою продуктивністю. Все це призвело до ситуації, яка відома під назвою "криза програмного забезпечення". Хоча перші згадки про кризу були зроблені ще наприкінці 1960-х років, навіть через більш ніж 50 років його все ще не вдалося подолати. В даний час багато авторів навіть називають цю кризу "депресією програмного забезпечення". У Великобританії спеціальна Група з вивчення організаційних аспектів інформатики (Organizational Aspects Special Interest Group - OASIG) досліджувала цю проблему і сформулювала наступні висновки:
• Приблизно 80-90% комп'ютеризованих систем не мають необхідної продуктивністі.
• При розробці близько 80% систем були перевищені встановлені для цього часові і бюджетні рамки.
• Розробка близько 40% систем закінчилася невдало або була припинена до завершення роботи.
• Менш ніж 40% систем передбачали професійне навчання та підвищення кваліфікації користувачів у всьому необхідному обсязі.
• Гармонійно інтегрувати інтереси бізнесу і використовуваної технології вдалося не більш ніж в 25% систем.
• Тільки 10-20% систем відповідають всім критеріям досягнення успіху.
Невдачі при створенні програмного забезпечення були викликані наступними причинами:
• відсутністю повної специфікації усіх вимог;
• відсутністю прийнятної методології розробки;
• недостатнім ступенем поділу загального глобального проекту на окремі компоненти, які піддаються ефективному контролю та управління.
Для вирішення цих проблем був запропонований структурний підхід до розробки програмного забезпечення, званий життєвим циклом інформаційних систем (Information Systems Lifecycle), або життєвим циклом розробки програмного забезпечення (Software Development LifeCycle - SDLC).
- Передумови виникнення програмної інженерії.
- Основні принципи програмної інженерії.
- Життєвий цикл програмного забезпечення.
- Роль і місце інформаційної інженерії у програмній.
- Призначення і основні компоненти середовища бази даних.
- 7. Системи управління базами даних (субд).
- 8. Реляційна модель даних
- 9. Мова маніпулювання даними для реляційної моделі.
- 10.Умови і обмеження, які накладаються на відношення реляційною
- 11. Переваги реляційної бази даних
- 12. Життєвий цикл інформаційної системи
- Життєвий цикл програмного забезпечення баз даних
- 13. Мета і задачі проектування
- 14. Проектування реляційної бази даних
- Етапи проектування бази даних
- 15. Формулювання та аналіз вимог
- 16.Концептуальне проектування.
- 17.Модель "сутність-зв'язок".
- 18.Критерії вибору первинного ключа.
- 19.Логічне проектування.
- 20.Індексація в базах даних.
- 21.Методи доступу до файлів і хешування.
- 22.Цілісність і схоронність баз даних.
- 23.Нормалізація відношень. Необхідність нормалізації.
- 24. Аномалії додавання, вилучення і обновлення баз даних.
- 25.Явна і неявна надлишковість даних. Декомпозиція відношень.
- 26.Поняття нормальної форми. 1-а, 2-а, 3-я, 4-а нормальні форми. Нормальна форма Бойса-Кодда.
- 27.Реляційна алгебра. Основні і додаткові операції реляційної алгебри.
- 28.Представлення в базах даних.
- 29.Привілеї в базах даних.
- 30.Ієрархічна модель даних.
- 31.Мережева модель даних.
- 32. Багатовимірна модель даних. Olap.
- 33.Case-засоби проектування баз даних. Можливості проектування баз