Содержание
- 2. Макконел С. Совершенный код. Практическое руководство по разработке программного обеспечения. – 2016. Орлов С.А., Цилькер Б.Я.
- 3. Конструирование программного обеспечения (software construction) представляет собой процесс детального создания программной системы, который раньше называли программированием.
- 4. Этапы разработки программного обеспечения
- 5. основы конструирования; управление конструированием; практические аспекты конструирования. Основные направления конструирования ПО
- 6. Общая структура предмета
- 7. Минимизация сложности; Ожидание изменений; Конструирование с возможностью проверки; Стандарты в конструировании. 1. Основы конструирования (Software Construction
- 8. Информационные технологии – отрасль, заставляющая человеческий разум охватывать диапазон информации от отдельных битов до сотен мегабайт
- 9. Модуль - это функция, процедура или класс, входящие в программную систему. Состав и функции модулей определяются
- 10. Прототип – это работающая версия системы, реализующая определенный набор функций. Использование прототипов позволяет демонстрировать заказчику возможности
- 11. облегчают кодирование (написание программы на алгоритмическом языке), чтение программного кода и его отладку. В коллективе для
- 12. удобство чтения программного кода. Достигается с помощью целого ряда средств: структурирования, использования мнемонических имен и пр.
- 13. общие, разрабатываемые специальными организациями, например, ISO, IEEE или Комитетом по стандартизации РФ, стандарты языка (например, java)
- 14. Модуль это – фрагмент программы, реализующий один или несколько классов, методов или функций. Обычно он состоит
- 15. Затраты на модульность
- 16. информационная закрытость; связность; сцепление. Свойства модулей
- 17. Информационная закрытость модулей
- 18. Это мера зависимости его частей. Для ее измерения используют понятие силы связности (СС). Типы связности: Функциональная
- 19. 1.Функционально связанный модуль содержит элементы, участвующие в решении только одной задачи. Например, вычисление синуса угла, определение
- 20. Это мера взаимодействия модулей по данным и измеряется степенью сцепления ( СЦ). Выделяют 6 типов сцепления
- 21. Показатели: 1) Длина N ≈ n1 log2 (n1) + n2 log2 (n2) где n1 - число
- 22. Количество вершин (модулей); Количество связей между вершинами; Высота – количество уровней управления; Ширина – максимальное количество
- 23. Пример иерархической структуры ПС Высота 4, ширина – 6
- 24. Коэффициент объединения по входу, Fan_in(i) – количество модулей, которые прямо управляют i–тым; Коэффициент разветвления по выходу,
- 25. Это один из этапов разработки программного обеспечения. Свойства прототипа Этап создания должен быть коротким. Прототипы являются
- 26. Определение начальных требований. Разработка первого варианта, который содержит только пользовательский интерфейс системы. Изучение прототипа заказчиком и
- 27. Быстрое, при котором макет может быть выброшен, главное - скорость; Эволюционное, которое ставит своей целью последовательное
- 28. Достоинства уменьшение времени, стоимости и рисков; вовлечение пользователя в процесс разработки Недостатки недостаточный анализ, смешение прототипа
- 29. Это процесс создания модели программного продукта. Модель может быть в виде : Бумажного макета или макета
- 30. Многократное повторение итераций Макетирование
- 31. Последовательность этапов макетирования
- 32. Это свойство текстового материала, характеризующее лёгкость восприятия его человеком. На читабельность программного кода влияют: Стили отступов
- 33. полезны в следующих случаях. Над проектом работает несколько программистов; Программу будут сопровождать и изменять другие программисты;
- 34. Существует два вида изменений: Усовершенствование кода программы (рефакторинг); Добавление новой функциональности (реинжениринг). 1.2. Ожидание изменений
- 35. Это процесс изменения внутренней структуры программы, не затрагивающий ее внешнего поведения и имеющий целью облегчить понимание
- 36. дублирование кода; длинный метод; большой класс; длинный список параметров; «жадные» функции — метод, который часто обращается
- 37. Это - процесс создания новой функциональности или устранения ошибок путем глобального изменения, но на основе уже
- 38. Использует следующие техники: обзор и оценка кода; модульное тестирование; структурирование кода совместно с применениям автоматизированных средств
- 39. заключается в совместном внимательном чтении исходного кода и высказывании рекомендаций по его улучшению. Считается, что автор
- 40. процесс, позволяющий проверить корректность отдельных модулей исходного кода программы. Модульное или юнит-тестирование
- 41. Поиск и документирование несоответствий требованиям Поддержка разработки и рефакторинга низкоуровневой архитектуры системы и межмодульного взаимодействия. Поддержка
- 42. Государственные (ГОСТ) - ЕСПД; Отраслевые (ОСТ) – стандарты языков (СИ, Java); Стандарты предприятий (СТП); Стандарты проектов
- 43. 2. Управление конструированием 2.1 Модели конструирования
- 44. методы, средства и процедуры Принципы разработки ПО
- 45. обеспечивают решение следующих задач: Планирование и оценка проекта; Анализ системных и программных требований; Проектирование структур данных,
- 46. обеспечивают автоматизированную или автоматическую поддержку методов. Могут объединяться в системы автоматизированного конструирования ПО. Такие системы называют
- 47. объединяют методы и средства и обеспечивают непрерывную последовательность разработки. Определяют: Порядок применения методов и утилит; Формирование
- 48. Каскадная или водопадная; Инкрементная; V-образная; Эволюционная (спиральная); Компонентно-ориентированная. Парадигмы и модели жизненного цикла ПО
- 49. Каскадная модель жизненного цикла ПО
- 50. Достоинства - упорядоченный процесс конструирования с четким планом и графиком следования этапов. Недостатки: Требования к проекту
- 51. Инкрементная модель объединяет достоинства каскадной и методов макетирования.
- 52. Основным достоинством V-модели является связь разработки программ с их тестированием, валидацией и верификацией. V-образная модель
- 53. Эволюционная стратегия 1 – начальный сбор требований и планирование проекта; 2 – та же работа на
- 54. Достоинства : Более точно отображает процесс разработки ПО; Позволяет учитывать риск разработки; Использует моделирование для оценки
- 55. основана на эволюционной стратегии конструирования и является развитием спиральной. Использует библиотеки. Компонентно-ориентированная модель
- 56. Уменьшение времени разработки в среднем на 30%; Сокращение стоимости разработки в среднем на 70%; Увеличение производительности
- 57. Необходимо оценить: людские ресурсы (в человеко-месяцах); продолжительность (в календарных датах); стоимость. Определяется порядок разработки компонентов и
- 58. организационное управление (Organizational Management), управление процессом и проектом (Process/Project Management), измерения инженерии ПО (Software Engineering Measurement).
- 59. Задачи : управление персоналом (обучение, мотивация и др.), коммуникации между сотрудниками и средой (сценарии, встречи, презентации
- 60. составление плана проекта, построение графиков работ (сетевых или временных диаграмм) исходя из имеющихся ресурсов, распределение персонала
- 61. Позволяют - определить или показать качество продукции; - оценить производительность труда персонала; - оценить выгоды (прибыль
- 62. Прямые, косвенные. Типы измерений
- 63. Трудоемкость и емкостная сложность (асимптотическая оценка), Количество строк кода (LOC - lines-of-code), Цикломатическая сложность, Анализ функциональных
- 64. 3. Практические соображения 3.1. Проектирование в конструировании
- 65. Структурные - структурное, схемное или текстовое представление структуры ПО из объектов, компонентов, их интерфейсов и связей,
- 66. Литературная, при которой код пишется как письмо, за столом; Сельскохозяйственная – аналогия с выращиванием растений (каждый
- 67. 3) Жемчужины – наращивание функциональности как жемчуг в раковине; 4) Строительная – по аналогии со строительством
- 68. Уровни проектирования программных систем
- 69. Тяжеловесные – строго и подробно документированные, при которых прогнозируется весь объем работ; Облегченные (подвижные - agile)
- 70. Быстрая разработка (RAD); Унифицированная разработка (RUP); Экстремальное программирование; Технология Scrum. Технологии разработки приложений
- 71. применяет инкрементную стратегию конструирования, обеспечивает очень короткий цикл разработки за счет компонентно-ориентированного конструирования. Эффективна, если требования
- 72. Один из самых известных процессов, использующих итеративную модель разработки. Был разработан компанией Rational Software и стал
- 73. Разработка требований с помощью прецедентов использования (сценариев); Итеративная разработка с продолжительностью отдельной итерации от 2 до
- 74. Начало - обычно состоит из одной итерации. Проектирование может занимать 2 – 3 итерации или быть
- 75. 3) Построение длится от 2 до 4 итераций. При этом происходит разработка окончательного продукта. 4) Внедрение
- 76. Облегченный процесс, ориентированный на группы малого и среднего размера (до 10 человек), которые разрабатывают системы в
- 77. Кодирование, Тестирование, Выслушивание заказчика, Проектирование. Основные действия в XP-цикле
- 78. Используются 12 базовых методов, которые предполагают разработку историй (сценариев) и включение их в очередную итерацию. Каждая
- 79. Идеальный XP-процесс
- 80. представляет собой эмпирический подход к разработке программного обеспечения. Основан на повторяющихся циклах. В процессе разработки участвуют
- 81. Процесс работы над программным продуктом
- 82. Это короткие ежедневные и циклические 30-дневные встречи. Отбор задач на спринт выполняется с учетом их важности.
- 83. Конфигурационные, которые задают параметры выполнения программной системы; Инструментальные – языки конструирования из повторно-используемых элементов (script); Языки
- 84. Важную роль играют Программирование не на языке, а с использованием языка. Опыт программирования на конкретном языке.
- 85. Практика написания программного кода. техники создания легко понимаемого исходного кода на основе использования соглашений об именовании,
- 86. 5) обработка ошибочных условий и исключительных ситуаций; 6) документирование кода; 7) тонкая «настройка» кода; 8) рефакторинг.
- 87. читаемость; лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании; экономное использование ресурсов: памяти,
- 88. Это процесс выполнения программы с намерением найти ошибки. Методологии тестирования: «белого ящика» и «чёрного ящика». 3.4
- 89. Метод белого ящика
- 90. Метод черного ящика Тестирование внешних интерфейсов
- 91. Метод серого ящика
- 92. Модульное; Интеграционное. Уровни тестирования
- 93. Схема процесса тестирования
- 94. Это методология конструирования и проектирования программных систем, заключающаяся в том, что система частично или полностью должна
- 95. Представление качества в стандарте ISO 9126 3.6 Качество конструирования
- 96. Внешнее – качество для заказчика (это удобство в использовании, отсутствие ошибок, хорошая производительность и т.п.) Внутреннее
- 97. Характеристики и атрибуты качества ПО по ISO 9126
- 98. Это процесс объединения частей в целое. Наиболее распространенные виды интеграции : Объединение модулей в единую программную
- 99. Это практика разработки программного обеспечения, которая заключается в слиянии рабочих копий в основную ветвь разработки несколько
- 100. получение исходного кода из репозитория; сборка проекта; выполнение тестов; развертывание готового проекта; отправка отчетов. Задачи службы
- 101. проблемы интеграции выявляются и исправляются быстро, что обеспечивает минимум затрат; немедленный прогон модульных тестов для свежих
- 103. Скачать презентацию