Разделы презентаций


Программная инженерия

Содержание

Курс: Программная инженерияЛекции: 1 час в неделюЛабораторные: 1 час в неделюКурсовое проектирование: консультацииЗачетЭкзамен

Слайды и текст этой презентации

Слайд 1Программная инженерия
Самочадин Александр Викторович
Samochadin_av@spbstu.ru

Программная инженерия Самочадин Александр ВикторовичSamochadin_av@spbstu.ru

Слайд 2Курс: Программная инженерия
Лекции: 1 час в неделю
Лабораторные: 1 час в

неделю
Курсовое проектирование: консультации
Зачет
Экзамен

Курс: Программная инженерияЛекции: 1 час в неделюЛабораторные: 1 час в неделюКурсовое проектирование: консультацииЗачетЭкзамен

Слайд 3Программная инженерия: активности

Программная инженерия: активности

Слайд 4Программная инженерия
Соммервилл, Иан Инженерия программного обеспечения, 6-е издание.: Пер. с

англ. – М.: Издательский дом
"Вильямс", 2002. – 624 с.
Дана широкая

панорама тем инженерии ПО, охватывающих все этапы и технологии разработки программных систем. В книге представлен весь спектр процессов, ведущих к созданию программного обеспечения, начиная от начальной разработки системных требований и далее через проектирование, непосредственное программирование и аттестацию до модернизации программных систем.
Программная инженерияСоммервилл, Иан Инженерия программного обеспечения, 6-е издание.: Пер. с англ. – М.: Издательский дом

Слайд 5Разработка требований

Вигерс Карл, Битти Джой Разработка требований к программному обеспечению.

3-е изд., дополненное / Пер. с англ. — М. :

Издательство «Русская редакция» ; СПб. : БХВ-Петербург, 2014. — 736 стр.
Эта книга - подробное руководство по разработке качественных требований к программному обеспечению. Здесь описаны десятки проверенных на практике приемов выявления, формулирования, разработки, проверки, утверждения и тестирования требований, которые помогут разработчикам, менеджерам и маркетологам создать эффективное ПО. Третье издание дополнено новыми приемами, посвященными разработке требований в проектах гибкой разработки (agile).
Разработка требованийВигерс Карл, Битти Джой Разработка требований к программному обеспечению. 3-е изд., дополненное / Пер. с англ.

Слайд 6Объектно-ориентированный анализ и проектирование
Крэг Ларман, Применение UML 2.0 и шаблонов

проектирования (3-е издание). Вильямс 2006. — 736 стр .
В

книге рассматриваются основные принципы и приемы объектно-ориентированного анализа и проектирования (ООА/П). В ней содержатся сведения об итеративном и гибком моделировании, шаблонах проектирования, архитектурном анализе и многих других вопросах. Весь материал рассматривается в контексте гибкого подхода к разработке с совместным применением процесса UP и других итеративных методов. Книга будет хорошим руководством для всех, кто интересуется вопросами ООА/П, языком моделирования UML 2 и современными эволюционными подходами к разработке программного обеспечения.
Объектно-ориентированный анализ и проектированиеКрэг Ларман, Применение UML 2.0 и шаблонов проектирования (3-е издание). Вильямс 2006. — 736

Слайд 7UML
А. Леоненков Самоучитель UML 2. :Издательство: BHV - Санкт –

Петербург, 2007, с. 576 Рассмотрена современная технология объектно риентированного анализа и

проектирования программных систем и бизнес-процессов в контексте нотации унифицированного языка моделирования UML 2. Подробно изложены все понятия языка UML 2 в полном соответствии с оригинальной спецификацией последней версии этого языка. Приведены конкретные рекомендации по разработке канонических диаграмм языка
UMLА. Леоненков Самоучитель UML 2. :Издательство: BHV - Санкт – Петербург, 2007, с. 576 Рассмотрена современная технология

Слайд 8UML

Г. Буч, А. Якобсон, Дж. Рамбо UML Издание второе Издательство:

Питер Серия: Классика Computer Science 2006 г., с. 736
Эта книга

представляет собой полный справочник по языку UML. Она адресована в первую очередь разработчикам, системным архитекторам, руководителям проектов, инженерам-системщикам, программистам, аналитикам, заказчикам и вообще всем, кому по роду деятельности приходится описывать, проектировать и строить сложные программные системы, а также разбираться в их функционировании. В книге дается всестороннее описание понятий и конструкций UML, включая их семантику, нотацию и назначение. Материал организован таким образом, чтобы книгой было удобно пользоваться, несмотря на ее объем и полноту содержания.


UMLГ. Буч, А. Якобсон, Дж. Рамбо UML Издание второе Издательство: Питер Серия: Классика Computer Science 2006 г.,

Слайд 9Программная инженерия
Программная инженерия (Software engineering) – это инженерная дисциплина, которая

охватывает все аспекты производства программных продуктов.
Программная инженерия— приложение систематического, дисциплинированного,

измеримого подхода к разработке, функционированию и сопровождению программного обеспечения, а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению (ISO/IEC/IEEE 24765:2017)

Программная инженерияПрограммная инженерия (Software engineering) – это инженерная дисциплина, которая охватывает все аспекты производства программных продуктов.Программная инженерия—

Слайд 10Области знаний программной инженерии (Software Engineering Body of Knowledge v 3.0

SWEBOK)

Области знаний программной инженерии (Software Engineering Body of Knowledge v 3.0 SWEBOK)

Слайд 11Основные области знаний SWEBOK

Основные области знаний SWEBOK

Слайд 12Организационные области знаний SWEBOK

Организационные области знаний SWEBOK

Слайд 13Языки моделирования

Языки моделирования

Слайд 14UML
Unified Modeling Language (UML) — унифицированный язык моделирования для

описания, визуализации и документирования объектно-ориентированных систем в процессе их анализа

и проектирования
Язык UML предоставляет стандартный способ написания проектной документации на системы

UML Unified Modeling Language (UML) — унифицированный язык моделирования для описания, визуализации и документирования объектно-ориентированных систем в

Слайд 15Стандарт UML
Стандарт на язык моделирования разработан консорциумом фирм Object Management

Group: http://www.omg.org
Текущая версия стандарта, доступная для свободного скачивания, UML 2.5.1:
https://www.omg.org/spec/UML/2.5.1/PDF
UML

2.4.1 принят в качестве международного стандарта ISO/IEC 19505-1, 19505-2.
Стандарт UMLСтандарт на язык моделирования разработан консорциумом фирм Object Management Group: http://www.omg.orgТекущая версия стандарта, доступная для свободного

Слайд 16BPMN
Business Process Model and Notation (BPMN) нотация и модель бизнес-процессов

— система условных обозначений (нотация) для моделирования бизнес-процессов.
Последняя версия стандарта

— BPMN 2.0.2 (январь 2014).
BPMNBusiness Process Model and Notation (BPMN) нотация и модель бизнес-процессов — система условных обозначений (нотация) для моделирования

Слайд 17Курс: Программная инженерия
Курсовая работа по курсу «Программная инженерия»
Разделы курсовой

работы:
1. Концепция проекта, которая отражает в краткой форме все составляющие

проекта.
2. Технико-экономическое обоснование проекта
3. Требования к проекту (Use case документ)
4. Описание содержания проекта, которое содержит описание работ, которые предстоит выполнить, и результатов поставки.
5. План реализации проекта.
6. Описание проекта
7. Тест-план

Курс: Программная инженерияКурсовая работа по курсу «Программная инженерия» Разделы курсовой работы:1. Концепция проекта, которая отражает в краткой

Слайд 18Требования к ПО
Требования к ПО – Software Requirements – свойства

программного обеспечения, которые должны быть надлежащим образом представлены в нѐм

для решения конкретных практических задач.
Требование определяется как некое свойство ПО, необходимое пользователю для решения проблемы при достижении поставленной цели;
“Условие или возможность, которое система должна выполнять или поддерживать”.

Требования к ПОТребования к ПО – Software Requirements – свойства программного обеспечения, которые должны быть надлежащим образом

Слайд 19Требования к ПО
Разработка требований включает следующие типы деятельности:
Сбор (выявление)требований —

общение с клиентами и пользователями, чтобы определить, каковы их требования;

анализ предметной области.
Анализ требований — систематизация требований. Определение, являются ли собранные требования неясными, неполными, неоднозначными или противоречащими; выявление взаимосвязи требований.
Документирование требований — требования могут быть в различных формах, таких как простое описание, сценарии использования, пользовательские истории.
Специфицирование требований.
Управление требованиями.

Требования к ПОРазработка требований включает следующие типы деятельности:Сбор (выявление)требований — общение с клиентами и пользователями, чтобы определить,

Слайд 20Требования к ПО
Уровни требований по Вигерсу

Требования к ПОУровни требований по Вигерсу

Слайд 21Требования к ПО
Бизнес-требования (business requirements). Примеры бизнес-требования: система должна сократить

срок оборачиваемости обрабатываемых на предприятии заказов в три раза. Бизнес-требования

обычно формулируются заказчиком.
Пользовательские требования (Пользовательские потребности). (User Requirement Specification - URS) Описание на естественном языке (плюс поясняющие диаграммы) функций, выполняемых системой, и ограничений, накладываемых на нее. Ориентированы на заказчика ПО (руководство и специалисты организации – заказчика, пользователи)
Специфицированные требования (или просто требования) (Software Requirement Specification - SRS). Детализированное описание системных функций и ограничений. Системные требования служат основой для контракта между заказчиком и разработчиком. Ориентированы на заказчика и разработчика (специалисты разработчика и исполнителя)
Требования к ПОБизнес-требования (business requirements). Примеры бизнес-требования: система должна сократить срок оборачиваемости обрабатываемых на предприятии заказов в

Слайд 22Требования к ПО
Сегодняшняя задача: разработка пользовательских функциональных требований к ПО

с помощью методики основанной на вариантах использования.
В рамках этой методики

разрабатываются:
1. Диаграммы вариантов использования (Use Case диаграмма)
2. Сценарии вариантов использования
3. Создается Use Case документ
Требования к ПОСегодняшняя задача: разработка пользовательских функциональных требований к ПО с помощью методики основанной на вариантах использования.В

Слайд 23Назначение диаграммы вариантов использования
Определить общие границы функциональности проектируемой системы в

контексте моделируемой предметной области.
Специфицировать требования к функциональному поведению проектируемой системы

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

Назначение диаграммы вариантов использованияОпределить общие границы функциональности проектируемой системы в контексте моделируемой предметной области.Специфицировать требования к функциональному

Слайд 24Основные обозначения на диаграмме вариантов использования

Основные обозначения на диаграмме вариантов использования

Слайд 25Вариант использования (use case)
Представляет собой общую спецификацию совокупности выполняемых системой действий

с целью предоставления некоторого наблюдаемого результата, который имеет значение для

одного или нескольких актеров
Отвечает на вопрос «Что должна выполнять система?», не отвечая на вопрос «Как она должна выполнять это?»
Имена – отглагольное существительное или глагол в неопределенной форме
Вариант использования (use case)Представляет собой общую спецификацию совокупности выполняемых системой действий с целью предоставления некоторого наблюдаемого результата, который

Слайд 26Действующее лицо, Актер (actor)
Любая внешняя по отношению к проектируемой системе

сущность, которая взаимодействует с системой и использует ее функциональные возможности

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

Слайд 27Вопросы для идентификации действующих лиц в системе
Какие организации или лица

будут использовать систему
Кто будет получать пользу от использования системы
Кто будет

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

Слайд 28Отношение ассоциации
Ассоциация (association) является одним из фундаментальных понятий в

языке UML 2.х и может использоваться на различных канонических диаграммах

при построении визуальных моделей
Применительно к диаграммам вариантов использования отношение ассоциации может служить только для обозначения взаимодействия актера с вариантом использования.
Отношение ассоциации Ассоциация (association) является одним из фундаментальных понятий в языке UML 2.х и может использоваться на

Слайд 29Отношение включения
Отношение включения (include) специфицирует тот факт, что некоторый

вариант использования содержит поведение, определенное в другом варианте использования

Отношение включения Отношение включения (include) специфицирует тот факт, что некоторый вариант использования содержит поведение, определенное в другом

Слайд 30Отношение расширения
Отношение расширения (extend) определяет взаимосвязь одного варианта использования

с некоторым другим вариантом использования, функциональность или поведение которого задействуется

первым не всегда, а только при выполнении некоторых дополнительных условий.
Отношение расширения Отношение расширения (extend) определяет взаимосвязь одного варианта использования с некоторым другим вариантом использования, функциональность или

Слайд 31Отношение обобщения
Отношение обобщения (generalization relationship) предназначено для спецификации того

факта, что один элемент модели является специальным или частным случаем

другого элемента модели
Отношение обобщения Отношение обобщения (generalization relationship) предназначено для спецификации того факта, что один элемент модели является специальным

Слайд 32Диаграмма вариантов использования

Диаграмма вариантов использования

Слайд 33Диаграмма вариантов использования

Диаграмма вариантов использования

Слайд 34Диаграмма вариантов использования (с ошибками)

Диаграмма вариантов использования (с ошибками)

Слайд 35Диаграмма вариантов использования (с ошибками)

Диаграмма вариантов использования (с ошибками)

Слайд 36Диаграмма вариантов использования (с ошибками)

Диаграмма вариантов использования (с ошибками)

Слайд 37Диаграмма вариантов использования (с ошибками)

Диаграмма вариантов использования (с ошибками)

Слайд 38Диаграмма вариантов использования

Диаграмма вариантов использования

Слайд 39Диаграмма вариантов использования

Диаграмма вариантов использования

Слайд 40Диаграмма вариантов использования

Диаграмма вариантов использования

Слайд 41Диаграмма вариантов использования (с ошибками)

Диаграмма вариантов использования (с ошибками)

Слайд 42Сценарии вариантов использования.
Сценарий варианта использования – последовательность действий (сценарий), включая

варианты, при которых система приносит действующему лицу полезный и понятный

результат и действия, которые не приносят такого результата.
Действующее лицо – определяет связанный набор ролей, которые пользователи системы могут играть при взаимодействии с этой системой. Пользователем может быть человек или внешняя система.
Действующее лицо – кто-то или что-то обладающее поведением.
Основное действующее лицо: действующее лицо, инициирующее взаимодействие с системой для достижения некоторой цели.
Предусловие объявляет выполнение какого условия гарантируется перед тем, как разрешить запуск этого варианта использования
Триггер – событие, которое запускает вариант использования.
Гарантия успеха – устанавливает, что интересы участников удовлетворены
Основной сценарий – вариант, в котором не возникает никаких ошибок
Расширения – различные отклонения от основного сценария.
Область действия – идентифицирует рассматриваемую систему
Уровень цели: обобщенный (описание бизнес-процесса), уровень цели пользователя (которую можно достигнуть за один сеанс), уровень подцели.
Сценарии вариантов использования.Сценарий варианта использования – последовательность действий (сценарий), включая варианты, при которых система приносит действующему лицу

Слайд 43Сценарий варианта использования.
Пример сценария варианта использования.
Оформление продажи
Основное действующее лицо: кассир
Область

действия: система автоматизации торговли
Уровень: пользовательский
Участники и интересы:
Кассир – хочет точно

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

Слайд 44Основной сценарий:
Кассир открывает новую продажу.
Кассир вводит идентификатор товара
Система записывает наименование

товара и на основании каталога товаров и выдает его описание,

цену и общую стоимость. Цена вычисляется на основе набора правил.
Кассир повторяет действия , описанные в пп. 2-3, для каждого наименования товара
Система вычисляет общую стоимость покупки с налогом
Кассир сообщает покупателю общую стоимость и предлагает оплатить покупку
Покупатель оплачивает покупку, система обрабатывает платеж
Система регистрирует продажу в реестре продаж и отправляет информацию о продаже внешней бухгалтерской системе и системе складского учета (для обновления данных)
Система выдает товарный чек
Покупатель покидает магазин с чеком и товарами (если он что-то купил)

Сценарий варианта использования.

Основной сценарий:Кассир открывает новую продажу.Кассир вводит идентификатор товараСистема записывает наименование товара и на основании каталога товаров и

Слайд 45Расширения:
2а. Неправильный идентификатор
2а1. Система уведомляет об ошибке и отменяет ввод

данного наименования товара
2б. В рамках одной категории существует несколько наименований

товара
2б1. Кассир может ввести идентификатор товара и количество единиц.
2в. Покупатель просит продавца отменить покупку одного из товаров
2в1. Кассир вводит идентификатор товара для удаления из продажи
2в2. Система отображает обновленную промежуточную стоимость.

Сценарий варианта использования.

Расширения:2а. Неправильный идентификатор	2а1. Система уведомляет об ошибке и отменяет ввод данного наименования товара2б. В рамках одной категории

Слайд 46Пример. Фрагмент диаграммы вариантов использования для системы заказов
Сценарий варианта

использования.

Пример. Фрагмент диаграммы вариантов использования для системы заказов Сценарий варианта использования.

Слайд 47Сценарий варианта использования.

Сценарий варианта использования.

Слайд 48Сценарий варианта использования.

Сценарий варианта использования.

Слайд 49Основные разработчики языка UML (Three amigos)
Grady Booch
Гради Буч
Dr. James Rumbaugh
Джеймс Рамбо
(Джим

Румбах)
Dr. Ivar Jacobson
Айвар Джекобсон
(Ивар Якобсон)
OMG (Object Management Group) — название

консорциума, созданного в 1989 году для разработки индустриальных стандартов с их последующим использованием в процессе создания масштабируемых неоднородных распределенных объектных сред.
Официальный сайт: www.omg.org
Основные разработчики языка UML (Three amigos)Grady BoochГради БучDr. James RumbaughДжеймс Рамбо(Джим Румбах)Dr. Ivar JacobsonАйвар Джекобсон(Ивар Якобсон)OMG (Object

Слайд 50История
развития
языка UML

История развития языка UML

Слайд 51Назначение языка UML
Предоставить разработчикам легко воспринимаемый и выразительный язык визуального

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

различного целевого назначения
Снабдить исходные понятия языка UML возможностью расширения и специализации для более точного представления моделей систем в конкретной предметной области
Графическое представление моделей в нотации UML не должно зависеть от конкретных языков программирования и инструментальных средств проектирования
Описание языка UML должно включать в себя семантический базис для понимания общих особенностей ООАП
Способствовать распространению объектных технологий и поощрять развитие рынка программных инструментальных средств
Интегрировать в себя новейшие и наилучшие достижения практики ООАП
Назначение языка UMLПредоставить разработчикам легко воспринимаемый и выразительный язык визуального моделирования, специально предназначенный для разработки и документирования

Слайд 52Классификация моделей в языке UML
Структурные модели (structured models) – модели,

предназначенные для описания статической структуры сущностей или элементов некоторой системы,

включая их классы, интерфейсы, атрибуты и отношения.
Модели поведения (behavioral models) – модели, предназначенные для описания процесса функционирования элементов системы, включая их методы и взаимодействие между ними, а также процесс изменения состояний отдельных элементов и системы в целом.
Классификация моделей в языке UMLСтруктурные модели (structured models) – модели, предназначенные для описания статической структуры сущностей или

Слайд 53Канонические диаграммы языка UML 2.х

Канонические диаграммы языка UML 2.х

Слайд 54Канонические диаграммы языка UML 2.х

Канонические диаграммы языка UML 2.х

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика