Лекция 01 - Введение. swebok€¦ · ¥ Жизненный цикл ПО ¥...

Post on 02-Jun-2020

33 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ

ПРОГРАММНАЯ ИНЖЕНЕРИЯ

ПРОГРАММА КУРСА¥ 18лекций;9практическихзанятий¥ Основныебаллы:

¥ Дополнительныебаллы:

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 2

Блок Максимумбаллов БалловнааттестациюПодготовкакурсовойработы 15 7Выполнение практическихработ 30 15Тестыналекциях 5 -Экзамен 50 25

Блок МаксимумбалловПосещаемость практическихзанятий 10Подготовка ипредставлениедоклада 10Выполнение дополнительныхзаданийпопрактическимработам 10

ИТОГОВАЯ АТТЕСТАЦИЯ

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 3

1) Аттестованповсемблокам:экзаменввидетеста2) Неаттестованхотябыпоодномублоку:экзамен

ввидетеста+практическоезаданиесделатьналисточке/всредемоделированияUML.

3) Переэкзаменовка: экзаменввидетеста+практическоезаданиесделатьналисточке/всредемоделированияUML. Оценка Баллы

2(Неуд.) 0-503(Удовл.) 50.01-654 (Хор.) 65.01-755 (Отл.) 75.01-100

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 4

ЛИТЕРАТУРА

¥ Арлоу Д.,Нейштад А.UML2иУнифицированныйпроцесс.Практическийобъектно-ориентированныйанализипроектирование,2-еиздание.2007.624с.

¥ СергейОрлов,БорисЦилькер.Технологииразработкипрограммногообеспечения 4-еиздание.2012г.608с.

¥ БучГ.идр.Объектно-ориентированныйанализипроектированиеспримерамиприложений.3-еиздание.2010г.718с.

¥ БруксФ.Мифическийчеловеко-месяц,илиКаксоздаютсяпрограммныесистемы.2007.304с.

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 5

ДОКЛАДЫ

Максимум10балловзадоклад(минимум45минут).

1. Выбрать(илиуказать)темудокладавфоруменастраницекурса.

2. Выбратьзанятие,накоторомвыхотитесделатьсвойдоклад,назначиввстречунасоответствующийденьвкалендаредокладов.

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

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 6

ВОЗМОЖНЫЕ ТЕМЫ ДОКЛАДОВ

Выможетевыбратьоднуизтемпредставленныхниже,либопредложитьсобственнуютемупопрограммнойинженерии:

¥ ГибкиеметодологииразработкиПО.Методологияэкстремальногопрограммирования.Scrum,Kanban.

¥ Системыуправленияверсиями(VCS)ПО:история,видыVCS,современныеVCS:SVN,GIT,Mercurial.

¥ Разработкачерезтестирование(TDD).Разработканаосновеповедения(BDD).СистемыподдержкиTDDиBDD(Cucumber,SpecFlow).

¥ КонцепциянепрерывнойинтеграцииПО.Системыподдержкинепрерывнойинтеграции.TeamCity,Jenkins (Hudson)- функциональныевозможности,настройкаииспользование.

¥ МетодыиподходыккоманднойразработкеПО.Системыиметодологииподдержкикоманднойразработки.

Пожалуйста,проверяйте,чтобыжелаемаявамитемадокладанебылавыбранадовас.

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ7

ОСНОВНЫЕ ТЕМЫ КУРСА

¥ ЖизненныйциклПО

¥ СоставлениетребованийкПОивариантыиспользования

¥ Объектно-ориентированныйанализПО

¥ Объектно-ориентированноепроектированиеПО

¥ Кодированиеитестирование

¥ Архитектурапрограммныхсистем

¥ МетрикииоценкакачестваПО© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 8

ПРОГРАММНАЯ ИНЖЕНЕРИЯ

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 9

ИНЖЕНЕРИЯ

¥ Инженерияобеспечиваетрешениепоставленныхзадачпосредствомсуществующихтеорийиметодов.

¥ Инженерначинаетспостановкизадачиипоискаинструментовдлянаилучшегорешениязадачиврамкахсуществующихорганизационных,финансовыхивременныхограничений.

¥ Программнаяинженерияделаетзначительныйупорнаметодыиподходы аненаинструменты.

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 10

ОРФОГРАФИЯ

Инжен’ерия

Engin’eering© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 11

Инжен’ерия

Engin’eering

ПРОГРАММНАЯ ИНЖЕНЕРИЯ

¥ Терминбылпредложенв1968г.наконференциипосвященной«КризисуПО»,возникшеговрезультатепоявленияинтегральныхсхемикатастрофическогоусложненияПО:

¤ Реализацияпроектовзадерживаласьнагоды

¤ Стоимостьпроектоввдесяткиразпревышалапрогнозируемую

¤ Необходимыбылиметодыразработкииконтролятакихсложныхпрограммныхсистем

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 12

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

¥ Программноеобеспечение(программныйпродукт) – этокомпьютернаяпрограммаисоответствующаядокументация.Программныепродуктымогутбытьразработаныкакдляконкретногозаказчика,такидлявсегорынкавцелом.

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 13

ПРОГРАММА И ПРОГРАММНЫЙ ПРОДУКТ

Программа

Программныйкомплекс

(интерфейсы,системнаяинтеграция)

Программныйпродукт

(обобщение,тестирование,документирование,сопровождение)

Системныйпрограммный

продукт

Ф. БРУКС. МИФИЧЕСКИЙ ЧЕЛОВЕКО-МЕСЯЦ 14

x3

x3

ПРОГРАММНАЯ ИНЖЕНЕРИЯ

¥ Программнаяинженерия– этоинженернаядисциплина,отражающаявсеграниразработкипрограммногообеспечения.

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 15

ПРОГРАММНАЯ ИНЖЕНЕРИЯVS КОМПЬЮТЕРНЫЕ НАУКИ

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

Практикаиподходыкразработкеполезныхдляконечногопользователяпрограммныхпродуктов

Компьютерные науки

Теорияифундаментальныеосновыпосозданиюалгоритмовикомпьютерныхпрограмм

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 16

В идеале, каждый программный инженер должен знать компьютерные науки (как каждый электрик должен знатьфизику)

Программист

© IVAN MARSIC. SOFTWARE ENGINEERENG. RUTGERS THE STATE UNIVERSITY OF NEW JERSEY 17

ПРОГРАММНАЯИНЖЕНЕРИЯ

ЗаказчикЗадача,

требования,ограничения

ХОРОШЕЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

МожновыделитьследующиеважныепризнакихорошегоПО:

¥ Удобствосопровождения- ПОдолжнобытьнаписанотакимобразом,чтобыономоглоразвиваться,чтобысоответствоватьизменяющимсятребованиямпользователей.

¥ Функциональнаянадежность– надежноеПОнедолжноприноситьфизическогоилиэкономическоговредавслучаесистемнойошибки.

¥ ЭффективностьПО– должноэффективноиспользоватьресурсысистемы,включаяпамять(оперативнуюи/илипостоянную),процессорноевремяит.п.

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

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 18

СОВРЕМЕННЫЕ ПРОБЛЕМЫПРОГРАММНОЙ ИНЖЕНЕРИИ

¥ Проблемагетерогенности

¥ Проблемасвоевременногопредставлениярезультатов

¥ Проблемадоверия

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 19

SWEBOK

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 20

ЧТО ТАКОЕ SWEBOK

¥ SWEBOK– это SoftwareEngineeringBodyofKnowledge(Сводзнаниипо программной инженерии)

¥ SWEBOK– этооткрытыйпроект,реализуемыйприподдержкемеждународногокомитетаIEEE начинаяс1998года.

¥ ВSWEBOKопределеннаборзнанийирекомендуемыепрактикипоинженериипрограммногообеспечения.

¥ Последняяверсия(SWEBOKV3)выпущенав2013году

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 21

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 22

1. РАБОТА С ТРЕБОВАНИЯМИ К ПО¤ ОсновытребованийкПО(чтотакоетребованиекПО; Функциональные

инефункциональныетребования)¤ Процессработыстребованиями¤ Методывыявлениятребований¤ АнализтребованийкПО¤ Методыспецификацииивалидациитребований¤ Системыдляподдержкиработыстребованиями

23

2. ПРОЕКТИРОВАНИЕ ПО¤ ОсновыпроектированияПО(принципыи

концепциипроектированияПО)¤ Основныесложностиприпроектировании

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

¤ СтруктураиархитектураПО(паттерныпроектирования,архитектурныерешенияипринципы,основныефреймворки)

¤ Проектированиепользовательскогоинтерфейса¤ ОценкакачестваПО¤ ЯзыкиинотациидляописанияархитектурыПО¤ СтратегиииметодыпроектированияПО¤ СистемыподдержкипроектированияПО

3. РАЗРАБОТКА (КОДИРОВАНИЕ) ПО

¤ ОсновыразработкиПО¤ Практическиеподходык

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

¤ Технологииразработки(созданиеAPI,объектно-ориентированнаяразработка,обработкаошибокиисключительныхситуаций,идр.)

¤ СредыразработкиПО.

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 24

4. ТЕСТИРОВАНИЕ ПО

¤ ОсновытестированияПО

¤ УровнитестированияПО

¤ МетодытестированияПО

¤ МетрикитестированияПО

¤ Процесстестирования

¤ СистемыподдержкитестированияПО

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 25

5. ПОДДЕРЖКА ПО

¤ ОсновыподдержкиПО

¤ ОсновныепроблемыприподдержкеПО

¤ Процессподдержки

¤ ТехникиобеспеченияподдержкиПО

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 26

6. УПРАВЛЕНИЕ КОНФИГУРАЦИЯМИ:

¤ ЧтотакоеконфигурацияПОичтотакоеуправлениеконфигурациями.

¤ ПроцессуправлениеконфигурациямиПО

¤ АудитконфигурацииПО¤ Управлениепроцессомсборкии

развертыванияпрограммныхсистем¤ Программныесистемыдля

поддержкипроцессауправленияконфигурациями

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 27

8. ПРОЦЕСС РАЗРАБОТКИ ПО¤ Определениепонятия

процессаразработкиПО¤ Понятиежизненногоцикла

ПО¤ Оценкакачестваи

улучшениепроцессаразработки

¤ ИзмерениеПО¤ Программныесистемыдля

поддержкипроцессаразработкиПО

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 28

9. МОДЕЛИ И МЕТОДЫ РАЗРАБОТКИ ПО

¤ ПонятиемоделированиявразработкеПО

¤ Типымоделей(информационные,структурные,поведенческие)

¤ Методыпрограммнойинженерии(эвристические,формальные,прототипирование,гибкиеметоды)

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 29

10. КАЧЕСТВО ПО

¤ ПонятиекачестваПО(культураиэтикаприразработкеПО,безопасностьПО)

¤ УправлениекачествомПО

¤ Практическиеметодыуправлениякачеством(требованияккачествуПО,определениедефектов,измерениекачестваПО)

¤ Программныесистемыдляуправлениякачеством

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 30

11. ПРОФЕССИОНАЛЬНЫЕ ПРАКТИКИ

¤ Понятиепрофессионализма:¢ профессиональнаяаккредитацияилицензирование,кодексэтики;¢ профессиональныесообщества,профессиональныестандарты;¢ экономическиеэффектыПО;¢ понятиеконтрактанаразработкуПО,контрактнаработу;¢ юридическиеособенностиразработкиПО

¤ Управлениегруппами¢ особенностигрупповойработы¢ управлениесложностью¢ взаимодействиесзаказчиком¢ взаимодействиеслюдьмииздругихкультур

¤ Коммуникация¢ Чтение¢ Письмо¢ Взаимодействиевнутрикоманды¢ Навыкипрезентации

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 31

12. ЭКОНОМИКА РАЗРАБОТКИ ПО

¤ ОсновыэкономикиразработкиПО(финансы,бухгалтерия,денежныйпоток,налоги)

¤ Экономикапрограммногопродукта(проект,продукт,жизненныйциклпроектаипродукта,инвестиции,горизонтыпланирования,определениецены)

¤ Рискиинеопределенность¤ Моделиэкономическогоанализа

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 32

13. ОСНОВЫ ВЫЧИСЛЕНИЙ

¤ ОсновыСУБДиуправленияданными

¤ Основыкомпьютерныхсетей¤ Параллельныеи

распределенныевычисления¤ Взаимодействиес

пользователем¤ БезопасностьПО

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 33

¤ Основыпрограммирования¤ Основыязыков

программирования¤ Методыисистемыотладки¤ Структурыданных¤ Алгоритмыисложность¤ Архитектуракомпьютера¤ Основыкомпиляторов¤ Основыоперационныхсистем

14. МАТЕМАТИЧЕСКИЕ ОСНОВЫ

¤ Множества,отношения,функции¤ Математическаялогика¤ Методыдоказательств¤ Графыидеревья¤ Дискретнаявероятность¤ Машиныконечныхсостояний¤ Грамматики¤ Численныеметоды,точность¤ Теориячисел¤ Алгебраическиеструктуры

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 34

15. ОСНОВЫ ИНЖЕНЕРИИ

¤ Эмпирическиеметодыитехникиэксперимента

¤ Статистическийанализ¤ Основыизмерений¤ Моделирование,симуляция,

прототипирование¤ Стандарты

© РАДЧЕНКО Г.И., КАФЕДРА СП ЮУРГУ 35

top related