Перечень требований к языкам программирования и платформам разработки
Функциональность
Производительность
Безопасность
Удобство разработки
Поддержка и сообщество
Кроссплатформенность
Масштабируемость
Лицензирование и стоимость
Интеграция
Долговечность и поддержка
Перечень требований к системам управления базами данных
Моделирование данных
Особенности архитектуры и функциональные возможности
Особенности архитектуры и функциональные возможности
Особенности архитектуры и функциональные возможности
Особенности разработки приложений
Особенности разработки приложений
Производительность
Производительность
Надежность
Надежность
Требования к рабочей среде
Смешанные критерии
Смешанные критерии
Классификация СУБД
1. Полнофункциональные СУБД (ПФСУБД)
2. Серверы БД
3. Клиенты БД
4. Средства разработки программ работы с БД
4. По характеру использования СУБД бывают
4. Обоснование выбора средств
1. Критерии выбора
2. Принятие решения
323.00K
Категория: Базы данныхБазы данных

L8prodolzhenie

1. Перечень требований к языкам программирования и платформам разработки

Функциональность
Производительность
Безопасность
Удобство разработки
Поддержка и сообщество
Кроссплатформенность
Масштабируемость
Лицензирование и стоимость
Интеграция
Долговечность и поддержка

2. Функциональность

Язык
программирования
Поддержка
необходимых
парадигм
(объектноориентированное,
функциональное,
процедурное и т.д.).
Наличие
библиотек
и
фреймворков
Платформа разработки
Поддержка
необходимых
технологий для реализации
функциональных
требований
проекта
(например,
вебтехнологии,
мобильные
приложения,
интеграция
с
базами данных).
Гибкость и расширяемость:
возможность добавления новых
функций и модулей без
значительных затрат времени и
ресурсов.

3. Производительность

Язык
программирования
Скорость выполнения: язык
должен обеспечивать высокую
производительность
и
быстрое выполнение кода,
особенно
для
высоконагруженных систем.
Эффективное
управление
памятью:
возможности
управления памятью, включая
автоматическое
управление
(сборка мусора) и ручное
(например, в C/C++).
Платформа разработки
Скорость обработки данных:
должна обеспечивать высокую
производительность
при
обработке больших объемов
данных
и
поддерживать
высокую скорость отклика.
Масштабируемость:
возможность горизонтального и
вертикального
масштабирования
для
обработки увеличивающегося
объема запросов и данных.

4. Безопасность

Язык
программирования
Защита от уязвимостей: язык
должен
предоставлять
механизмы для защиты от
распространенных
уязвимостей (например, SQLинъекций,
переполнения
буфера).
Типизация:
статическая
типизация
может
помочь
избежать многих ошибок на
этапе компиляции.
Платформа разработки
Механизмы защиты данных:
наличие встроенных средств
для защиты данных
(шифрование, аутентификация,
авторизация).
соответствие стандартам
безопасности: поддержка
стандартов и протоколов
безопасности (например,
OWASP, GDPR).

5. Удобство разработки

Язык
программирования
Читаемость
и
простота
синтаксиса
Инструменты
разработки:
наличие
мощных
IDE
и
инструментов для отладки,
тестирования
и
профилирования.
Платформа разработки
Инструменты разработки:
наличие мощных инструментов
для разработки, отладки и
тестирования (IDE, системы
контроля версий, инструменты
для автоматизации).
Документация: качественная и
актуальная документация,
которая поможет
разработчикам быстро освоить
платформу.

6. Поддержка и сообщество

Язык
программирования
Документация:
наличие
качественной и актуальной
документации.
Активное
сообщество:
поддержка
со
стороны
сообщества,
наличие
форумов, чатов и других
ресурсов для обмена опытом.
Платформа разработки
Техническая поддержка:
доступность профессиональной
технической поддержки от
разработчиков платформы.
Активное сообщество: наличие
активного сообщества
разработчиков, которое может
предоставить помощь и обмен
опытом.

7. Кроссплатформенность

Язык
программирования
Платформа разработки
Поддержка различных платформ: обеспечивать возможность
разработки приложений для различных операционных систем
(Windows, Linux, macOS и т.д.).

8. Масштабируемость

Язык
программирования
Поддержка многопоточности и
асинхронного
программирования:
возможности для разработки
масштабируемых приложений,
которые могут обрабатывать
множество
запросов
одновременно.
Платформа разработки
Возможность горизонтального и
вертикального
масштабирования для
обработки увеличивающегося
объема запросов и данных.

9. Лицензирование и стоимость

Язык
программирования
Лицензия:
условия
использования языка и его
библиотек
(открытый
исходный код, коммерческая
лицензия и т.д.).
Стоимость
обучения
и
поддержки
Платформа разработки
Лицензионные условия:
понятные условия
лицензирования, включая
стоимость использования
платформы.
Общие затраты на внедрение:
оценка всех затрат, связанных с
внедрением и поддержкой
платформы.

10. Интеграция

Язык
программирования
Платформа разработки
Совместимость с другими системами: возможности интеграции с
существующими системами и сервисами (API, веб-сервисы, сторонние
библиотеки).
Поддержка стандартов обмена
данными (REST, SOAP, JSON,
XML).

11. Долговечность и поддержка

Язык
программирования
Платформа разработки
Стабильность и развитие: активная поддержка и развитие, для
избегания проблем с устареванием.
Обновления и патчи:
регулярные обновления и
исправления безопасности.

12. Перечень требований к системам управления базами данных

моделирование данных
особенности архитектуры и функциональные
возможности
контроль работы системы
особенности разработки приложений
производительность
надежность
требования к рабочей среде
смешанные критерии

13. Моделирование данных

Существует множество моделей данных, поэтому
вопрос о применении той или иной модели
должен
решаться
на
начальном
этапе
проектирования ИС.
К
наиболее
распространенным
среди используемых моделей данных относятся
иерархическая, сетевая, реляционная, объектнореляционная и объектно-ориентированная.

14. Особенности архитектуры и функциональные возможности

Мобильность — независимость системы от среды,
в которой она работает. Средой в данном случае
является как аппаратура, так и программное
обеспечение (операционная система).
Масштабируемость. При выборе СУБД необходимо
учитывать,
сможет
ли
данная
система
обеспечивать развитие ИС, которое может
проявляться в увеличении числа пользователей,
объема
хранимых
данных
и
объема
обрабатываемой информации.

15. Особенности архитектуры и функциональные возможности

Распределенность.
Основной
причиной
применения ИС на основе БД является стремление
создать единое информационное пространство
организации. Самый простой и надежный подход
— централизация хранения и обработки данных
на одном сервере.
Сетевые возможности. Многие системы позволяют
использовать
широкий
диапазон
сетевых
протоколов
и
служб
для
работы
и
администрирования.

16. Особенности архитектуры и функциональные возможности

Контроль
использования
памяти
компьютера.
В
системе предусматривается возможность управления
как
оперативной
памятью,
так
и
дисковым
пространством. В последнем случае к вышесказанному
относятся, например, функции сжатия БД или
удаления избыточных файлов.
Автонастройка.
Многие
современные
системы
предусматривают самоконфигурирование, которое, как
правило,
опирается
на
результаты
работы
сервисов самодиагностики производительности. При
этом выявляются слабые места конфигурации системы,
и она автоматически настраивается на максимальную
производительность.

17. Особенности разработки приложений

Ряд производителей СУБД выпускает также средства
разработки приложений, которые, как правило, позволяют
наилучшим образом реализовать все возможности сервера.
Поэтому при анализе СУБД следует обратить внимание на
особенности средств разработки приложений.
Средства проектирования. Некоторые системы имеют
средства автоматического проектирования как БД, так и
прикладных программ. Средства проектирования различных
производителей могут существенно различаться.
Многоязыковая
поддержка.
Поддержка
большого
количества национальных языков расширяет область
применения системы и приложений, построенных на ее
основе.

18. Особенности разработки приложений

Возможности разработки Web-приложений. При разработке
различных приложений зачастую возникает необходимость
использовать возможности среды Internet. Средства
разработки некоторых производителей имеют большой
набор инструментов для построения приложений под Web.
Поддерживаемые языки программирования. Широкий спектр
используемых языков программирования может повысить
доступность системы для разработчиков, а также
существенно
повлиять
на
быстродействие
и
функциональность создаваемых приложений.

19. Производительность

Для
тестирования
различные средства
рейтингов.
производительности
применяются
и существует множество тестовых
Рейтинг ТРС (Transactions per Cent) является одним из
самых популярных и объективных. Фактически ТРС-анализ
производительности систем рассматривает композицию
СУБД и аппаратуры, на которой эта СУБД работает.
Показатель ТРС — это отношение количества запросов,
обрабатываемых за некий промежуток времени, к стоимости
всей системы.

20. Производительность

Возможности параллельной архитектуры. Для обеспечения
параллельной обработки данных существуют как минимум два
подхода: распараллеливание обработки последовательности
запросов на несколько процессоров; использование нескольких
компьютеров-клиентов, работающих с одной БД, которые
объединяют в так называемый параллельный сервер.
Возможности оптимизирования запросов. При использовании
непроцедурных языков запросов их выполнение бывает
неоптимальным. Поэтому необходимо произвести процесс
оптимизации, т. е. выбрать такой способ выполнения, когда по
начальному представлению запроса путем его синтаксических и
семантических преобразований вырабатывается процедурный план
выполнения запроса, наиболее оптимальный при существующих в
БД управляющих структурах.

21. Надежность

Понятие надежности системы трактуется неоднозначно — это и
сохранность информации при любом сбое, и безотказность работы
системы в любых условиях, и обеспечение защиты данных от
несанкционированного доступа. Рассмотрим некоторые из них.
Восстановление после сбоев. При возникновении программных
или аппаратных сбоев целостность, да и работоспособность всей
системы могут быть нарушены. От того, насколько эффективен
механизм восстановления, зависит жизнеспособность системы.
Резервное копирование. В результате аппаратного сбоя
зачастую частично повреждается или выводится из строя носитель
информации и тогда восстановление данных невозможно. В этом
случае и в ситуациях, когда происходит логический сбой системы
(например, при ошибочном удалении таблиц), спасает резервное
копирование.

22. Надежность

Откат изменений. При выполнении транзакции применяется
простое правило — либо транзакция выполняется полностью, либо
не выполняется вообще. Это означает, что в случае сбоев все
результаты недоведенных до конца транзакций должны быть
аннулированы. Механизм отката может иметь различное
быстродействие и эффективность.
Многоуровневая система защиты. АИС организации почти
всегда
содержит
секретную
информацию,
поэтому
для
предотвращения
несанкционированного
доступа
используется служба идентификации пользователей. Уровень
защиты может быть различным. Кроме непосредственной
идентификации
пользователей,
при
входе
в
систему
предусматривается также механизм шифрования данных при
передаче по линиям связи.

23. Требования к рабочей среде

В качестве требований рассматривают:
поддерживаемые аппаратные платформы;
минимальные требования к оборудованию;
максимальный размер адресуемой памяти.
Поскольку почти все современные системы используют
свою файловую систему, немаловажным фактором является то,
какой максимальный объем физической памяти они могут
использовать.

24. Смешанные критерии

При
анализе
данной
группы
очевидна
принадлежность
существующих
критериев
к
различным предметным областям, в связи с чем они
и называются смешанными.
Качество и полнота документации. Не все системы
и не всегда имеют полную и подробную
документацию.
Локализованность — возможность использования
национальных языков; не во всех системах она
реализована полностью.

25. Смешанные критерии

Модель формирования стоимости. Как правило,
производители СУБД используют определенные
модели формирования стоимости.
Стабильность производителя. Обычно имеют в
виду многолетнее (стабильное) присутствие
производителя на рыке.
Распространенность
СУБД.
Согласно
существующей
практике
решение
об
использовании той или иной СУБД принимает
один
человек

обычно,
руководитель
предприятия

26. Классификация СУБД

В общем случае под СУБД можно понимать
любой программный продукт,
поддерживающий процессы создания,
ведения и использования БД.

27. 1. Полнофункциональные СУБД (ПФСУБД)

1. Полнофункциональные
СУБД (ПФСУБД)
представляют собой традиционные СУБД, которые сначала появились
для больших машин, затем для мини-машин и для ПЭВМ. Из числа
всех
СУБД
современные
ПФСУБД
являются
наиболее
многочисленными и мощными по своим возможностям.
К ПФСУБД относятся Clarion Database Developer, DataEase, DataFlex,
dBase IV, Microsoft Access, Microsoft FoxPro и Paradox R.BASE.
Обычно ПФСУБД имеют развитый интерфейс, позволяющий с
помощью команд меню выполнять основные действия с БД: создавать
и модифицировать структуры таблиц, вводить данные, формировать
запросы, разрабатывать отчеты, выводить их на печать и т. п. Для
создания запросов и отчетов не обязательно программирование, а
удобно пользоваться языком QBE. Многие ПФСУБД включают средства
программирования для профессиональных разработчиков.

28. 2. Серверы БД

предназначены для организации центров обработки данных в сетях
ЭВМ. Эта группа БД в настоящее время менее многочисленна, но их
количество постепенно растет.
Серверы БД реализуют функции управления базами данных,
запрашиваемые другими (клиентскими) программами обычно с
помощью операторов SQL.
Примерами серверов БД являются следующие программы: NetWare
SQL (Novell), MS SQL Server (Microsoft), InterBase (Borland), SQLBase
Server (Gupta), Intelligent Database (Ingress).

29. 3. Клиенты БД

В роли клиентских программ для серверов БД в общем случае могут
использоваться различные программы: ПФСУБД, электронные
таблицы, текстовые процессоры, программы электронной почты и т. д.
При этом элементы пары «клиент — сервер» могут принадлежать
одному или разным производителям программного обеспечения.

30. 4. Средства разработки программ работы с БД

4. Средства разработки программ
работы с БД
могут использоваться для создания разновидностей следующих
программ:
• клиентских программ;
• серверов БД и их отдельных компонентов;
• пользовательских приложений.
В числе наиболее распространенных можно назвать следующие
инструментальные системы:
Delphi и Power Builder (Borland),
Visual Basic (Microsoft),
SILVERRUN (Computer Advisers Inc.),
S-Designor (SDP и Powersoft) и ERwin (LogicWorks).

31. 4. По характеру использования СУБД бывают

Персональные СУБД обычно обеспечивают возможность
создания персональных БД и недорогих приложений, работающих
с ними. Персональные СУБД или разработанные с их помощью
приложения зачастую могут выступать в роли клиентской части
многопользовательской СУБД.
К персональным СУБД, например, относятся Visual FoxPro, Paradox,
Clipper, dBase, Access и др.
Многопользовательские СУБД включают в себя сервер БД и
клиентскую часть и, как правило, могут работать в неоднородной
вычислительной среде (с разными типами ЭВМ и операционными
системами).
К многопользовательским СУБД относятся, например, СУБД
Oracle и Informix.

32. 4. Обоснование выбора средств

4. ОБОСНОВАНИЕ ВЫБОРА СРЕДСТВ

33. 1. Критерии выбора

При выборе средств для построения информационной
системы
необходимо
учитывать
все
параметры
перечисленные ранее, но наиболее важными являются:
Совместимость:
возможность
интеграции
с
существующими системами.
Гибкость:
возможность адаптации к изменяющимся
требованиям.
Удобство
разработки: наличие инструментов для
упрощения разработки и тестирования.
Поддержка:
наличие
технической
поддержки
и
обновлений.

34. 2. Принятие решения

На основе проведенного анализа и обоснования необходимо
принять решение о выборе конкретных технологий и
инструментов. Это решение должно быть документировано и
согласовано со всеми заинтересованными сторонами.
English     Русский Правила