- •Основы программной инженерии
- •Вопрос 2.Классическая (водопадная) модель
- •Вопрос 3.Прототипирование
- •Вопрос 4.◦Инкрементные стратегии
- •Вопрос 5.Спиральная модель
- •Вопрос 6.Быстрая разработка приложений
- •Вопрос 7.Rational Unified Process (rup)
- •Вопрос 8.Экстремальное программирование
- •Вопрос 9.Scrum
- •Вопрос 10.Управление требованиями
- •Вопрос 11.Разработка требований
- •Вопрос 12 и 13.Документирование и организация требований
- •Вопрос 14.Управление изменениями
- •Вопрос 15.Политика управления изменениями
- •Вопрос 16
- •Вопрос 17.Роли
- •Вопрос 17.Роли в процессе разработки программных проектов
- •Вопрос 18.Программные проекты
- •Вопрос 19 и 20. Изменение проекта
- •Управление рисками в программных проектах
- •Вопрос 24.Идентификация риска
- •Вопрос 25.Планирование управления риском
- •Система управления дефектами
- •Вопрос 21.Дефект – обнаруженная в процессе разработки, тестирования или эксплуатации ошибка в разрабатываемом приложении
- •Вопрос 22.Жизненный цикл дефекта
- •Вопрос 23.Нотификация в системе управления дефектами
- •Контроль версий в программных проектах
- •Вопрос 27.Общий доступ к файлам
- •Вопрос 28.Системы контроля
- •Сборка и выпуск программных проектов
- •Вопрос 29.Сборка (building) программного проекта– набор правил и процедур, направленный на получение исполняемой программы
- •Вопрос 30.Окружение для сборки
- •Вопрос 31.Непрерывная интеграция
- •Вопрос 32.Качество программного обеспечения
- •Вопрос 33.
- •Вопрос 34.Метрики программного обеспечения
- •Вопрос 35.Аудит программного кода
- •Обеспечение качества программных систем
- •Вопрос 36.Методы, направленные на проектирование качественного по
- •Вопрос 37.Метод проверки моделей
- •Вопрос 38.Статистический анализ
Вопрос 33.
Программометрика - наука о количественном оценивании свойств программного обеспечения
Программная метрика - мера, позволяющая получить численное значение некоторого свойства программного обеспечения или его спецификаций
Использование метрик для оценки качества
Функциональность – метрики тестирования
Практичность – метрики эргономики Сопровождаемость – метрики кода
Мобильность – метрики кода
Надежность – метрики тестирования, динамические методы
Эффективность – только динамические методы
Вопрос 34.Метрики программного обеспечения
Различные системы метрик позволяют оценивать различные характеристики ПО:
◦Локализация ◦Инкапсуляция ◦Информационная закрытость ◦Наследование ◦Абстракция ◦Связность объектов программы ◦Сложность ◦Размер ◦И т.п.
Существует множество систем метрик:
◦Метрики Холстеда ◦Метрики Л. Константейна и Э. Йордана ◦Метрики Л. Отта и Б. Мехра ◦Метрики Д. Биемена и Б. Кенга ◦Метрики С. Чидамбера и К. Кемерера ◦Метрики М. Лоренца и Д. Кидда ◦Метрики Ф. Абреу ◦Метрики Р. Байндера ◦И т.п.
Метрика Ф. Абреу MOOD
Набор метрик MOOD (Metrics of Object-Oriented Design)
Разработаны Фернандо Абреу в 1994 г.
Цели: ◦Описание ОО-механизмов: инкапсуляция, наследование, полиморфизм, обмен сообщений ◦Формализованность метрик ◦Независимость от размера ПО ◦Независимость от ЯП
Факторы
Фактор закрытости метода (MHF)
MHF – Method Hiding Factor
Показывает долю скрытых методов в программе
MHF = 1..N(Mhi) / 1..N(Mhi + Mvi)
◦Mhi – число скрытых неунаследованных методов класса i
◦Mvi – число видимых неунаследованных методов класса i
Фактор закрытости свойства (AHF)
AHF – Attribute Hiding Factor
Показывает долю скрытых свойств в программе
AHF = 1..N(Ahi) / 1..N(Ahi + Avi)
◦Ahi – число скрытых неунаследованных свойств класса i
◦Avi – число видимых неунаследованных свойств класса i
Фактор наследования метода (MIF)
MIF – Method Inheritance Factor
Показывает долю унаследованных непереопределенных методов в программе
MIF = 1..N(MIi) / 1..N(MNi + MIi+MOi)
◦MIi – число унаследованных непереопределенных методов класса i
◦MNi – число новых методов класса i
◦MOi – число унаследованных переопределенных методов класса i
Фактор наследования свойства (AIF)
AIF – Attribute Inheritance Factor
Показывает долю унаследованных непереопределенных свойств в программе
AIF = 1..N(AIi) / 1..N(ANi + AIi+AOi)
◦AIi – число унаследованных непереопределенных свойств класса i
◦ANi – число новых свойств класса i
◦AOi – число унаследованных переопределенных свойств класса i
Фактор полиморфизма (POF)
POF – Polymorphism factor
POF = 1..N(МОi) / 1..N(MNi * Di)
◦MNi – число новых методов класса i
◦MOi – число унаследованных переопределенных методов класса i
◦Di – количество потомков класса i
Фактор сцепления (COF)
COF – Coupling Factor
Определяет долю пар классов, связанных отношением «клиент-поставщик»
COF = i1..N j1..N(Cij) / (N∙(N-1))
◦Cij = 1, если класс i имеет собственную ссылку на класс j
