Презентация Конструирование программного обеспечения онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Конструирование программного обеспечения абсолютно бесплатно. Урок-презентация на эту тему содержит всего 102 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Конструирование программного обеспечения
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:102 слайда
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:5.14 MB
- Просмотров:85
- Скачиваний:2
- Автор:неизвестен
Слайды и текст к этой презентации:
№3 слайд
Содержание слайда: Определение
Конструирование программного обеспечения (software construction) представляет собой процесс детального создания программной системы, который раньше называли программированием. В рамках этой дисциплины рассматриваются сложные системы, содержащие несколько десятков и сотен тысяч строк и разрабатываемые коллективом программистов.
№8 слайд
Содержание слайда: 1.1 Минимизация сложности (Minimizing Complexity)
Информационные технологии – отрасль, заставляющая человеческий разум охватывать диапазон информации от отдельных битов до сотен мегабайт ( от 1 до 109 байт и выше).
Простота достигается с помощью :
модульного принципа разработки программ;
прототипирования и макетирования;
наиболее простых и понятных алгоритмов решения задач;
читабельности программного кода;
стандартов программирования.
№10 слайд
Содержание слайда: Прототипирование
Прототип – это работающая версия системы, реализующая определенный набор функций. Использование прототипов позволяет демонстрировать заказчику возможности системы и согласовывать с ним ее функции. Оно обеспечивает разработку последовательности версий программного обеспечения.
№14 слайд
Содержание слайда: Модульный принцип разработки ПО
Модуль это – фрагмент программы, реализующий один или несколько классов, методов или функций. Обычно он состоит из интерфейсной части и реализации.
Модульность – свойство системы подвергаться декомпозиции на ряд связанных между собой частей (модулей). Она обеспечивает интеллектуальную возможность создания сколь угодно сложного программного обеспечения. Это свойство можно проиллюстрировать так.
№18 слайд
Содержание слайда: Связность модулей
Это мера зависимости его частей. Для ее измерения используют понятие силы связности (СС).
Типы связности:
Функциональная (СС = 10)
Информационная (СС = 9);
Коммуникативная (СС = 7);
Процедурная (СС = 5);
Временная (СС = 3);
Логическая (СС = 1);
По совпадению (СС = 0).
№19 слайд
Содержание слайда: Примеры связанных модулей
1.Функционально связанный модуль содержит элементы, участвующие в решении только одной задачи. Например, вычисление синуса угла, определение координат цели, расчет зарплаты сотрудника и пр.
Приложения, построенные из функционально связанных модулей, проще всего сопровождать.
2. При информационной (последовательной) связности элементы-обработчики модуля образуют конвейер (результаты одного обработчика являются входными данными для следующего).
№20 слайд
Содержание слайда: Сцепление модулей
Это мера взаимодействия модулей по данным и измеряется степенью сцепления (
СЦ). Выделяют 6 типов сцепления модулей.
Сцепление по данным (СЦ = 1), при котором результаты одного модуля являются входными данными для другого, причем каждый параметр является элементарным информационным объектом.
Сцепление по образцу (СЦ = 3), при котором передаются сложные типы данных.
№21 слайд
Содержание слайда: Сложность программной системы
Показатели:
1) Длина
N ≈ n1 log2 (n1) + n2 log2 (n2)
где n1 - число различных операторов модуля,
n2 - число различных операндов.
2) Объем
V = N * log2 (n1 + n2).
3) Цикломатическая сложность:
V(G) = E*N – 2,
где E – количество дуг, а
N – количество вершин в управляющем графе программной системы.
№24 слайд
Содержание слайда: Локальные характеристики модулей
Коэффициент объединения по входу, Fan_in(i) – количество модулей, которые прямо управляют i–тым;
Коэффициент разветвления по выходу, Fan_out(i) - количество модулей, которыми прямо управляет i–тый модуль.
В примере Fan_in(n) = 4, Fan_out(m) = 3.
№25 слайд
Содержание слайда: Прототипирование и макетирование
Это один из этапов разработки программного обеспечения.
Свойства прототипа
Этап создания должен быть коротким.
Прототипы являются одноразовыми. Они предназначены для того, чтобы донести идею до заказчика. После того как это сделано, прототип может быть отброшен.
При его создании, в первую очередь, нужно обращать внимание на важнейшие элементы системы, а также сложные части и их взаимодействие
№26 слайд
Содержание слайда: Этапы разработки прототипа
Определение начальных требований.
Разработка первого варианта, который содержит только пользовательский интерфейс системы.
Изучение прототипа заказчиком и конечным пользователем. Получение обратной связи о необходимых изменениях и дополнениях.
Переработка прототипа с учетом полученных замечаний и предложений.
№28 слайд
Содержание слайда: Достоинства и недостатки прототипирования
Достоинства
уменьшение времени, стоимости и рисков;
вовлечение пользователя в процесс разработки
Недостатки
недостаточный анализ,
смешение прототипа и готовой системы в представлении пользователей,
большое время создания прототипа.
№29 слайд
Содержание слайда: Макетирование
Это процесс создания модели программного продукта. Модель может быть в виде :
Бумажного макета или макета на основе компьютера (изображает или рисует человеко-машинный диалог);
Работающего макета (выполняет часть требуемых функций ПС);
Существующей программы (характеристики которой затем улучшаются).
№32 слайд
Содержание слайда: Читабельность программного кода
Это свойство текстового материала, характеризующее лёгкость восприятия его человеком.
На читабельность программного кода влияют:
Стили отступов = правила форматирования исходного кода,
Комментарии,
Декомпозиция (разбиение системы на уровни иерархии),
Соглашения об именовании данных.
№33 слайд
Содержание слайда: Соглашения об именовании
полезны в следующих случаях.
Над проектом работает несколько программистов;
Программу будут сопровождать и изменять другие программисты;
Программа очень большая, поэтому всю ее один человек не может охватить, а вынужден рассматривать по частям;
Программа будет использоваться длительное время, возможно, к ней придется вернуться через несколько недель или месяцев.
№38 слайд
Содержание слайда: 1.3. Конструирование с возможностью проверки
Использует следующие техники:
обзор и оценка кода;
модульное тестирование;
структурирование кода совместно с применениям автоматизированных средств тестирования;
ограниченное применение сложных или тяжелых для понимания языковых структур.
№39 слайд
Содержание слайда: Обзор кода
заключается в совместном внимательном чтении исходного кода и высказывании рекомендаций по его улучшению.
Считается, что автор кода во время обзора не должен давать объяснений, как работает та или иная часть программы. Алгоритм работы должен быть понятен непосредственно из текста программы и комментариев.
Ошибки в чужом коде замечаются легче.
Недостаток – высокая стоимость.
№47 слайд
Содержание слайда: Процедуры разработки ПО
объединяют методы и средства и обеспечивают непрерывную последовательность разработки. Определяют:
Порядок применения методов и утилит;
Формирование отчетов;
Порядок контроля обеспечения качества и координации изменений;
Формирование этапов выполнения работ.
№50 слайд
Содержание слайда: Достоинства и недостатки каскадной модели
Достоинства - упорядоченный процесс конструирования с четким планом и графиком следования этапов.
Недостатки:
Требования к проекту на начальном этапе обычно определены частично, поэтому в дальнейшем возможны их уточнения и изменения;
Этапы выполняются последовательно, поэтому результаты разработки заказчик получает в самом конце.
№53 слайд
Содержание слайда: Спиральная модель
Эволюционная стратегия
1 – начальный сбор требований и планирование проекта; 2 – та же работа на основе рекомендаций заказчика; 3 – анализ риска на основе начальных требований; 4 - анализ риска на основе рекомендаций заказчика; 5 – переход к комплексной системе; 6 – начальный макет системы; 7 – следующий уровень макета; 8 – сконструированная система; 9 – оценивание заказчиком.
№54 слайд
Содержание слайда: Достоинства и недостатки спиральной модели
Достоинства :
Более точно отображает процесс разработки ПО;
Позволяет учитывать риск разработки;
Использует моделирование для оценки характеристик.
Недостатки :
Повышенные требования к заказчику;
Сложность контроля и управления временем разработки.
№60 слайд
Содержание слайда: Управление процессом
составление плана проекта, построение графиков работ (сетевых или временных диаграмм) исходя из имеющихся ресурсов,
распределение персонала по работам с учетом сроков и стоимости их выполнения и др.;
выбор правильной стратегии выполнения плана;
контроль процесса управления планами и продуктами.
№61 слайд
Содержание слайда: 2.3 Измерения в конструировании
Позволяют
- определить или показать качество продукции;
- оценить производительность труда персонала;
- оценить выгоды (прибыль или доход), которые могут быть получены в результате разработки новых программных средств;
- сформировать основу (базовую линию) для последующих оценок;
- получить данные для обоснования запросов на дополнительные средства, обучение и т.п.
№63 слайд
Содержание слайда: Метрики программного обеспечения
Трудоемкость и емкостная сложность (асимптотическая оценка),
Количество строк кода (LOC - lines-of-code),
Цикломатическая сложность,
Анализ функциональных точек,
Количество ошибок на 1000 строк кода,
Степень покрытия кода тестированием,
Покрытие требований,
Количество классов и интерфейсов,
Связность.
№69 слайд
Содержание слайда: Процессы разработки программных систем
Тяжеловесные – строго и подробно документированные, при которых прогнозируется весь объем работ;
Облегченные (подвижные - agile) имеют адаптивную природу, требуют меньшего объема документов, ориентированы на человека и учитывают частые изменения требований к программному продукту.
№71 слайд
Содержание слайда: Быстрая разработка (Rapid Application Development)
применяет инкрементную стратегию конструирования, обеспечивает очень короткий цикл разработки за счет компонентно-ориентированного конструирования. Эффективна, если требования к системе полностью определены.
RAD-подход ориентирован на разработку информационных систем.
№72 слайд
Содержание слайда: Унифицированная разработка (Rational Unified Process - RUP)
Один из самых известных процессов, использующих итеративную модель разработки. Был разработан компанией Rational Software и стал основной методологией компании IBM.
RUP описывает некоторый абстрактный процесс, на основе которого организация или проектная команда создает специализированный процесс для конкретной системы.
№74 слайд
Содержание слайда: Жизненный цикл проекта RUP состоит из 4 фаз:
Начало - обычно состоит из одной итерации.
Проектирование может занимать 2 – 3 итерации или быть пропущенным (если используется уже существующая архитектура). На нем создается архитектура системы. Результатом является 20 – 30 % реализованных прецедентов использования.
№76 слайд
Содержание слайда: Экстремальное программирование (eXtreme Programming, XP)
Облегченный процесс, ориентированный на группы малого и среднего размера (до 10 человек), которые разрабатывают системы в условиях неопределенных или быстро меняющихся требований. XP-процесс – высокодинамичный, состоящий из очень коротких итераций.
№78 слайд
Содержание слайда: Особенности XP-программирования
Используются 12 базовых методов, которые предполагают разработку историй (сценариев) и включение их в очередную итерацию. Каждая история реализуется за 2 недели.
Применяется парное программирование (написание и отладка кода двумя программистами).
Широко используется тестирование. Тесты составляются до начала кодирования.
№80 слайд
Содержание слайда: Технология Scrum
представляет собой эмпирический подход к разработке программного обеспечения. Основан на повторяющихся циклах. В процессе разработки участвуют актеры со следующими ролями.
1. Scrum Мастер (Scrum Master) – самая важная роль (организует работу).
2. Владелец продукта (Product Owner) – представитель заказчика.
3. Команда (Team) самоорганизующаяся и самоуправляемая, работает как единое целое, без учета вклада отдельных членов.
№85 слайд
Содержание слайда: 3.3 Кодирование
Практика написания программного кода.
техники создания легко понимаемого исходного кода на основе использования соглашений об именовании, форматировании и структурировании;
использование классов, перечисляемых типов, переменных, именованных констант и других сущностей;
организация исходного текста (выражения, шаблоны, классы, пакеты/модули и другие структуры);
использование структур управления;
№87 слайд
Содержание слайда: Качество исходного кода
читаемость;
лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании;
экономное использование ресурсов: памяти, процессора, дискового пространства;
отсутствие замечаний, выводимых компилятором;
отсутствие «мусора» — неиспользуемых переменных, недостижимых блоков кода, ненужных устаревших комментариев и т. д.;
адекватная обработка ошибок;
переносимость — возможность использования обработчика (компилятора, интерпретатора, транслятора) разных версий или даже различных ОС;
возможность интернационализации интерфейса.
№94 слайд
Содержание слайда: 3.5 Повторное использование
Это методология конструирования и проектирования программных систем, заключающаяся в том, что система частично или полностью должна составляться из частей (модулей), написанных раньше, и эти части должны применяться более одного раза (если не в рамках одного проекта, то хотя бы разных).
Применяется для сокращения трудозатрат .
№96 слайд
Содержание слайда: Виды качества
Внешнее – качество для заказчика (это удобство в использовании, отсутствие ошибок, хорошая производительность и т.п.)
Внутреннее – это качество для разработчиков программного продукта (соответствие требованиям, удобная архитектура, простота изменения и т.п.)
№98 слайд
Содержание слайда: 3.7 Интеграция
Это процесс объединения частей в целое. Наиболее распространенные виды интеграции :
Объединение модулей в единую программную систему;
Веб-интеграция — объединение разнородных веб-приложений и систем в единую среду;
Интеграция данных — объединение данных, находящихся в различных источниках и предоставление их пользователям в унифицированном виде.
№99 слайд
Содержание слайда: Непрерывная интеграция
(CI - Continuous Integration)
Это практика разработки программного обеспечения, которая заключается в слиянии рабочих копий в основную ветвь разработки несколько раз в день и выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем.
№101 слайд
Содержание слайда: Преимущества непрерывной интеграции
проблемы интеграции выявляются и исправляются быстро, что обеспечивает минимум затрат;
немедленный прогон модульных тестов для свежих изменений;
постоянное наличие текущей стабильной версии;
немедленный эффект от неполного или неработающего кода приучает разработчиков к работе в итеративном режиме с более коротким циклом.
№102 слайд
Содержание слайда: Недостатки непрерывной интеграции
дополнительные затраты на поддержку ее работы;
необходимость в выделенном сервере под ее нужды;
немедленный эффект от неполного или неработающего кода отучает разработчиков от выполнения периодических резервных включений кода в репозиторий.
Скачать все slide презентации Конструирование программного обеспечения одним архивом:
-
Конструирование программного обеспечения. Контейнеры и коллекции объектов
-
Введение в конструирование программного обеспечения
-
Определение технологии конструирования программного обеспечения
-
Особенности проектов по разработке программного обеспечения
-
Гибкие методологии разработки программного обеспечения
-
Тестирование программного обеспечения. История и основные понятия
-
DIASOFT Российский разработчик программного обеспечения для автоматизации банков (АБС), инвестиционных и страховых компаний
-
Технология разработки программного обеспечения (ТРПО)
-
Технология разработки программного обеспечения
-
Курсовая работа. Разработка сетевого программного обеспечения