- •Введение в Программную Инженерию
- •Отчет о хаосе
- •Что влияет на успешность программного проекта ?
- •В конце 60-х – начале 70-х годов прошлого века произошло событие, которое вошло
- •Software Engineering ( SE ) 1968 год Конференции НАТО
- •Этапы развития программной инженерии
- •software engineering
- •Все виды деятельности, выполняемые в процессе промышленного программирования и необходимые для успешного выполнения
- •Установление и использование правильных инженерных принципов (методов) для экономичного получения надежного и работающего
- •ТАКИМ ОБРАЗОМ
- •Согласно SWEBOK (Software
- •Дополнительные области
- •Программное
- •ЖЦ, Программный
- •Программный процесс — это набор действий и связанных с ними результатов, приводящих к
- •Модель программного процесса
- •Говоря о моделях процессов, необходимо различать фазы и виды деятельности:
- •Вид деятельности
- •К наиболее известным
- •визуального программирования (3 пок – алгоритмический (как делать))
- •Артефакты - это некоторые продукты проекта, порождаемые или используемые в нем при работе
- •Методы программной инженерии
- •Метод программной индустрии основан на идее создания моделей ПО с поэтапным преобразованием этих
- •Методы должны включать в себя
- •Начиная с 70-х годов создано достаточно много методов разработки ПО. Наиболее известны:
- •UML Unified Modeling Language
- •Виды диаграмм
- •Структурные диаграммы
- •Поведенческие
- •1. Диаграммы вариантов использования (Use Case)
- •Бизнес ВИ и Системные ВИ
- •Системная диаграмма ВИ
- •Суть диаграммы use case
- •Базовые элементы этого вида диаграмм —
- •Стандартные элементы
- ••Множество вариантов использования в целом должно определять все возможные стороны ожидаемого поведения системы.
- •Актеры
- •Примечания
- •Отношения на диаграмме вариантов использования
- •Отношение ассоциации
- •Отношение расширения
- •Отношение обобщения
- •Отношение включения
- •Пример диаграммы вариантов использования
- •На следующем этапе разработки данной диаграммы вариант использования "Оформить заказ на покупку товара"
- •Приведенная диаграмма вариантов использования, в свою очередь, может быть детализирована далее с целью
- •Диаграмма деятельности
- •При моделировании поведения проектируемой или анализируемой системы возникает необходимость не только представить процесс
- •В контексте языка UML деятельность (activity) представляет собой некоторую совокупность отдельных операций.
- •Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, а переход в
- •Ветвление на диаграмме деятельности обозначается небольшим ромбом, внутри которого нет никакого текста
- •В языке UML для распараллеливания операций используется специальный символ для разделения (рис. а)
- •Диаграммы деятельности в моделировании бизнес-
- •В общем случае действия на диаграмме деятельности выполняются над теми или иными объектами.
- •Состояние действия (action state) является специальным случаем состояния с некоторым входным действием и,
- •Каждая диаграмма деятельности должна иметь единственное начальное и единственное конечное состояния.
- •Переход как элемент языка UML переводит деятельность в последующее состояние сразу, как только
- •Поток объектов. Объекты, которые являются входными или выходными данными для какого- либо действия,
- •Пример
- •Центральным объектом процесса продажи является заказ или вернее состояние его выполнения.
- •Упражнение
- •Исходные данные
- •Проблемы
- •Решения
- •Цель
- •подсказка
- •Модель сущность- связь
- •ДАЛЕЕ ДЛЯ ДО
- •Архитектура ПО
- •Управление
software engineering
(программная инженерия) - впервые был озвучен в октябре 1968 года на конференции подкомитета НАТО по науке и технике.
Рассматривались проблемы проектирования, разработки, распространения и поддержки программ.
- некоторая дисциплина, которую
надо создавать и которой надо руководствоваться в решении перечисленных проблем.
Все виды деятельности, выполняемые в процессе промышленного программирования и необходимые для успешного выполнения заказов называют
программной инженерией (software engineering)
Получается, что так мы обозначаем, во-первых, некоторую
практическую деятельность, а
во-вторых, специальную область знания. Или другими словами, научную дисциплину.
Установление и использование правильных инженерных принципов (методов) для экономичного получения надежного и работающего на реальных машинах программного обеспечения [Bauer 1972].
Программная инженерия является такой формой инженерии, которая применяет принципы информатики (computer science) и математики для получения рентабельных решений в области программного обеспечения [CMU/SEI-90-TR-003].
Наука о принципах и методологиях, применяемых при разработке и сопровождении программных систем. Она изучает применение систематического, упорядоченного и исчисляемого подхода к разработке, эксплуатации и сопровождению программного обеспечения (ПО), применение принципов инженерии по отношению к процессу разработки ПО [IEEE Std 610.12-1990]
ТАКИМ ОБРАЗОМ
программная инженерия посвящена систематическим,
управляемым и эффективным методам создания высококачественного программного обеспечения.
Согласно SWEBOK (Software
Engineering Body of Knowledge )
программная инженерия включает в себя 10
основных и 7 дополнительных областей знаний, на которых базируются процессы разработки ПО. К основным областям знаний относятся следующие области:
1.Software requirements — программные требования.
2.Software design — дизайн (архитектура).
3.Software construction — конструирование программного обеспечения.
4.Software testing — тестирование.
5.Software maintenance — эксплуатация (поддержка) программного обеспечения.
6.Software configuration management — конфигурационное управление.
7.Software engineering management — управление в программной инженерии.
8.Software engineering process — процессы программной инженерии.
9.Software engineering tools and methods — инструменты и методы.
10.Software quality — качество программного обеспечения.
Дополнительные области
знаний включают в себя:
1.Computer engineering — разработка компьютеров.
2.Computer science — информатика.
3.Management — общий менеджмент.
4.Mathematics — математика.
5.Project management — управление проектами.
6.Quality management — управление качеством.
7.Systems engineering — системное проектирование.
Программное
обеспечение
Программное обеспечение это набор компьютерных программ, процедур и связанной с ними документации и данных (ISO/IEC 12207).
ЖЦ, Программный
процесс
Одним из основных понятий программной инженерии является понятие жизненного цикла программного продукта и программного процесса.
Жизненный цикл – непрерывный процесс, начинающийся с момента принятия решения о создании ПО и заканчивающийся снятием его с эксплуатации. Жизненный цикл разбивается на отдельные процессы.
Программный процесс — это набор действий и связанных с ними результатов, приводящих к созданию программного продукта.
Основными процессами (иногда называют этапами или фазами) жизненного цикла являются:
Разработка спецификации требований (результат – описания требований к программе, которые обязательны для выполнения – описание того, что программа должна делать)
Разработка проекта программы (результат – описание того, как программа будет работать)
Кодирование (результат – исходный код и файлы конфигурации)
Тестирование программы (результат - контроль соответствия программы требованиям)
Документирование (результат – документация к программе)
