- •13. Структурное и модульное программирование
- •14. Объектно-ориентированная парадигма программирования
- •15. Паттерны объектно-ориентированного анализа и проектирования, их классификация.
- •16. Модели представления данных, архитектура и основные функции субд.
- •17. Понятие распределенной системы. Требования к распределенным системам.
- •18. Внутренние и внешние характеристики качества по.
- •19. Методики повышения качества по и оценка их эффективности.
- •20. Стандарты ieee, связанные с качеством по. Закон контроля качества по.
- •21. Смм (модель зрелости процесса разработки по).
- •22. Метрики качества программного обеспечения.
- •23. Распределенные системы и базы данных.
- •24. Распределенные системы. Обмен сообщениями. Дальний вызов процедур. Распределенные события. Распределенные транзакции.
- •25. Принципиальные особенности и сравнительные характеристики файл-серверной, клиент-серверной и интернет технологий распределенной обработки данных.
- •Файл-сервер
- •Клиент-сервер
- •Терминал-сервер
- •Распределенная обработка данных
- •26. Реляционный подход к организации бд. Базисные средства манипулирования реляционными данными. Источник: http://ed.Tusur.Ru/lit/edu/db/04.Shtml
- •4.1. Базовые понятия реляционных баз данных
- •4.1.1. Тип данных
- •4.1.2. Домен
- •4.1.3. Схема отношения, схема базы данных
- •4.1.4. Кортеж, отношение
- •4.2. Фундаментальные свойства отношений
- •4.2.1. Отсутствие кортежей-дубликатов
- •4.2.2. Отсутствие упорядоченности кортежей
- •4.2.3. Отсутствие упорядоченности атрибутов
- •4.2.4. Атомарность значений атрибутов
- •4.3. Реляционная модель данных
- •4.3.1. Общая характеристика
- •4.3.2. Целостность сущности и ссылок
- •Источник: Основные понятия реляционных бд.Pdf
- •27. Методы проектирования реляционных баз данных (нормализация, er-диаграммы). Источник: https://habrahabr.Ru/post/254773/
- •Используемые термины
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •Доменно-ключевая нормальная форма
- •Шестая нормальная форма
- •Источник: https://support.Microsoft.Com/ru-ru/help/283878/description-of-the-database-normalization-basics
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Другие нормальные формы
- •Пример нормализации таблицы
- •28. Стандартный язык баз данных sql. Введение
- •Описание
- •Операторы
- •Преимущества Независимость от конкретной субд
- •Наличие стандартов
- •Декларативность
- •Недостатки Несоответствие реляционной модели данных
- •Сложность
- •Отступления от стандартов
- •Сложность работы с иерархическими структурами
- •Расширения
- •29. Принципы функционирования Internet, типовые информационные объекты и ресурсы. Ключевые аспекты www-технологии.
- •30. Адресация в сети Internet. Методы и средства поиска информации в Internet, информационно-поисковые системы.
- •31. Назначение и принципы построения экспертных систем. Классификация экспертных систем.
21. Смм (модель зрелости процесса разработки по).
CMM (Capability Maturity Model) — модель зрелости процессов создания ПО, которая предназначена для оценки уровня зрелости процесса разработки в конкретной компании. В соответствии с этой моделью имеется пять уровней зрелости процесса разработки: 1. Начальный. Самый примитивный статус организации. Организация способна разрабатывать ПО. Организация не имеет явно осознанного процесса, и качество продукта целиком определяется индивидуальными способностями разработчиков. Один проявляет инициативу, и команда следует его указаниям. Успех одного проекта не гарантирует успех другого. При завершении проекта не фиксируются данные о трудозатратах, расписании и качестве.
2. Повторяемый. В некоторой степени отслеживается процесс. Делаются записи о трудозатратах и планах. Функциональность каждого проекта описана в письменной форме. В середине 1999 года лишь 20 % организаций имели 2-й уровень или выше. 3. Установленный. Имеют определённый, документированный и установленный процесс работы, не зависящий от отдельных личностей. То есть вводятся согласованные профессиональные стандарты, а разработчики их выполняют. Такие организации в состоянии достаточно надёжно предсказывать затраты на проекты, аналогичные выполненным ранее.
Управляемый. Могут точно предсказать сроки и стоимость работ. Есть база данных накопленных измерений. Но нет изменений при появления новых технологий и парадигм.
Оптимизированный. Есть постоянно действующая процедура поиска и освоения новых и улучшенных методов и инструментов.
После появления CMM стали разрабатываться специализированные модели зрелости для создания информационных систем, для процесса выбора поставщиков и некоторые другие. На их основе была разработана интегрированная модель CMMI (Capability Maturity Model Integration). Кроме того, в CMMI была предпринята попытка преодолеть проявившиеся к тому времени недостатки CMM — преувеличение роли формальных описаний процессов, когда наличие определенной документации оценивалось значительно выше, чем просто хорошо налаженный, но не описанный процесс. Тем не менее CMMI также ориентирован на использование весьма формализованного процесса.
Таким образом, основой моделей CMM и CMMI является формализация процесса разработки. Они нацеливают разработчиков на внедрение детально описанного в регламентах и инструкциях процесса, который, в свою очередь, не может не требовать разработки большого объема проектной документации для соответствующего контроля и отчетности.
Связь CMM и CMMI с итеративной разработкой более опосредованная. Формально ни та ни другая не выдвигают конкретных требований к тому, чтобы придерживаться каскадного или итеративного подхода. Однако, по мнению ряда специалистов, CMM в большей степени совместима с каскадным подходом, в то время как CMMI допускает также и применение итеративного подхода.
О CMMI можно почитать на https://habrahabr.ru/post/79130/
22. Метрики качества программного обеспечения.
Ме́трика програ́ммного обеспе́чения (англ. software metric) — мера, позволяющая получить численное значение некоторого свойства программного обеспечения или его спецификаций.
Поскольку количественные методы хорошо зарекомендовали себя в других областях, многие теоретики и практики информатики пытались перенести данный подход и в разработку программного обеспечения. Как сказал Том ДеМарко, «вы не можете контролировать то, что не можете измерить».
К часто используемым метрикам можно отнести:
порядок роста (имеется в виду анализ алгоритмов в терминах асимптотического анализа и O-нотации),
количество строк кода,
цикломатическая сложность,
анализ функциональных точек,
количество ошибок на 1000 строк кода,
степень покрытия кода тестированием,
покрытие требований,
количество классов и интерфейсов,
метрики программного пакета от Роберта Сесиль Мартина, связность кода.
Потенциальные недостатки подхода, на которые нацелена критика:
Неэтичность: Утверждается, что неэтично судить о производительности программиста по метрикам, введенным для оценки эффективности программного кода. Такие известные метрики, как количество строк кода и цикломатическая сложность, часто дают поверхностное представление об "удачности" выбора того или иного подхода при решении поставленных задач, однако, нередко они рассматриваются, как инструмент оценки качества работы разработчика. Такой подход достаточно часто приводит к обратному эффекту, приводя к появлению в коде более длинных конструкций и избыточных необязательных методов.
Замещение «управления людьми» на «управление цифрами», которое не учитывает опыт сотрудников и их другие качества
Искажение: Процесс измерения может быть искажён за счёт того, что сотрудники знают об измеряемых показателях и стремятся оптимизировать эти показатели, а не свою работу. Например, если количество строк исходного кода является важным показателем, то программисты будут стремиться писать как можно больше строк и не будут использовать способы упрощения кода, сокращающие количество строк.
Неточность: Нет метрик, которые были бы одновременно и значимы и достаточно точны. Количество строк кода — это просто количество строк, этот показатель не даёт представление о сложности решаемой проблемы. Анализ функциональных точек был разработан с целью лучшего измерения сложности кода и спецификации, но он использует личные оценки измеряющего, поэтому разные люди получат разные результаты.
