Лекция 2nis-su.eu/documents/uploaded/l2-1-process-bsc-2011-12.pdf · 2020. 1. 23. · 1...

34
1 Лекция 2 Софтуерен процес

Upload: others

Post on 17-Oct-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

1

Лекция 2

Софтуерен процес

Page 2: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

2

Съдържание

• Софтуерен процес – значение и характеристики

• Цели на процеса

• Рамка на софтуерен процес (Process framework)

• Модели на софтуерни процеси – цели и разлики

• Езици за моделиране на процеси (PML)

• Шаблони за описание на софтуерни процеси

Page 3: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

3

Процес

• Последователност от стъпки включващи дейности, ограничения и ресурси, които осигуряват постигането на някакъв вид резултат

• Процесът е повече от процедура

– Процесът е съвкупност от процедури, организирани така, че да се изграждат продукти, задоволяващи определени цели и стандарти

Page 4: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

4

Характеристики на процес

• Процесът описва всички важни основни дейности

• Процесът използва ресурси, които най-често са ограничени

• Процесът създава междинни и крайни работни продукти

• Процесът може да бъде съставен от подпроцеси, с йерархии и връзки между тях

• Процесът представлява последователност от дейности

• Съществуват входни и изходни критерии за всяка дейност и по този начин е ясно кога започва и кога свършва отделна дейност

• Съществуват ръководни принципи, включително цели на всяка дейност

• Съществуват ограничения за всяка дейност, били те по отношение на ресурсите или на работния продукт, очакван от дейността.

Page 5: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

5

Значение на процеса

• Две крайни становища

– Процесът е нищо (Hero tendency)

– Процесът е всичко

Page 6: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

6

Основни цели на процеса

• Ефикасност (Effectiveness)

• Възможност за поддръжка (Maintainability)

• Предсказуемост (Predictability)

• Повторяемост (Repeatability)

• Качество (Quality)

• Усъвършенстване (Improvement)

• Проследяване (Tracking)

Page 7: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

7

Жизнен цикъл на софтуера и

софтуерен процес

Page 8: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

8

Етапи при разработване на софтуер

• Анализ и дефиниране на изискванията

• Проектиране на системата

• Проектиране на програмата

• Писане на програмата

• Тестване на единици (unit testing)

• Интеграционно тестване (Integration testing)

• Тестване на системата

• Доставяне на системата

• Поддръжка

Page 9: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

9

Процес-хора-технология

Page 10: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

10

Рамка на процес

• Основни дейности (Framework activities) –

малък брой, които са приложими за всички

софтуерни проекти

– Действия (Software engineering actions) – съвкупност от

свързани задачи, която довежда до значителен/важен

работен продукт

• Работни задачи (Work tasks) – изпълняване на част от

работата, която е дефинирана от действието

• Допълнителни дейности (Umbrella activities) –

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

Page 11: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

11

Основни дейности

• Комуникация (Communication)

• Планиране (Planning)

• Моделиране (Modeling)

• Конструиране (Construction)

• Внедряване (Deployment)

Page 12: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

12

Комуникация

• Основната цел е

– събиране и разбиране както на изискванията за

функционалността на софтуера, така и на

ограниченията върху работата и разработването

му.

Page 13: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

13

Планиране

• Създава се план за бъдещата работа по разработка на софтуера

• Описват се

– техническите рискове, които трябва да се имат предвид;

– потенциалните рискове;

– необходимите ресурси;

– работните продукти, които ще се произведат; и

– времеви график на работата

Page 14: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

14

Моделиране

• Действие Анализ

– Работни задачи

• Събиране на изисквания (Requirements gathering)

• Уточняване (Elaboration)

• Договаряне (Negotiation)

• Специфициране (Specification)

• Валидиране (Validation)

– Работни продукти

• Модел на анализа (Analyses model)

• Спецификация на изискванията

Page 15: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

15

Моделиране - 2

• Действие Проектиране

– Работни задачи

• Дизайн на данните (Data design)

• Дизайн на архитектурата (Architectural design)

• Дизайн на интерфейс (Interface design)

• Дизайн на ниво компоненти (Component level

design)

– Работни продукти

• Модел на дизайна (Design model)

• Спецификация на дизайна

Page 16: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

16

Конструиране

• Генериране на код

– ръчно или

– автоматично

• Тестване

– тестване на самостоятелни компоненти,

– тестване на интегрираната система от компоненти (тестване на модули, тестване на подсистема и тестване на система) и

– потребителско тестване (бета-тестване)

Page 17: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

17

Внедряване

• Софтуерът се предоставя на клиента

• Клиентът оценява продукта

– Забележки

– Препоръки

Page 18: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

18

Допълнителни дейности

• Следене и управление на софтуерния продукт (Software product tracking and control)

• Управление на риска (Risk management)

• Осигуряване на качеството (Software quality assurance)

• Формални технически прегледи (Formal technical reviews)

• Измерване (Measurement)

• Управление на софтуерната конфигурация (Software configuration management)

• Управление на повторното използване (Reusability management)

• Подготовка и генериране на работни продукти (Work product preparation and production)

Page 19: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

19

Модел на софтуерен процес

• Опростено описание на начина на

разработване на софтуера, представено от

определена гледна точка

Page 20: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

20

Цели на моделите на софтуерен

процес

• Формиране на общо разбиране у участниците в разработването на софтуер за дейностите, ресурсите и ограниченията;

• Намиране на несъответствия, излишества и пропуски в процеса от разработващия екип, което от своя страна му помага да подобри процеса;

• Намиране и оценяване на подходящи дейности за постигане на целите на процеса;

• Адаптиране на общ процес към отделна ситуация, в която ще се приложи.

Page 21: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

21

Разлики между моделите на процеси

• Моделите на процеси се различават по:

– Общият поток от дейности и задачи и

зависимостите между тях

– Степента до която са дефинирани работните

задачи в рамките на всяка основна дейност

– Степента до която са дефинирани и изисквани

работни продукти

Page 22: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

22

Разлики между моделите на процеси

- 2

– Общата степен на детайлност и строгост, с

които процеса е описан

– Степента до която купувачът и другите

заинтересовани лица са включени в проекта

– Степента на автономност, която се дава на

софтуерния екип в проекта

– Степента до която са описани структурата на

екипа и отделните роли

Page 23: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

23

Езици за моделиране на процеси

• Език за моделиране на процеси е език,

адаптиран или създаден с цел

представянето на процеси

Page 24: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

24

Езици за моделиране на процеси (2)

• Езиците и формализмите за моделиране на процес

се използват за представяне по прецизен и

изчерпателен начин на следните характеристики

на софтуерния процес:

• Дейностите, които трябва да се извършат, за да се

постигнат целите на процеса;

• Ролите на хората, участващи в процеса;

• Структурата и същността на артефактите, които

се създават и поддържат;

• Средствата, които се използват.

Page 25: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

25

Класификация на езиците за

моделиране на процеси

• Дескриптивни (логически) – използват правила

или тригери

– Sentinel/Latin

• Мрежово базирани (езици на базата на мрежи) –

представят процесите на базата на мрежи на

Петри

– SPADE, FUNSOFT nets

• Императивни – базирани са на езиците за

програмиране

– APPL/A, JIL

Page 26: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

26

Цели на езиците за моделиране на

процеси

• Подпомагане

– разбирането на процеса

– дизайна на процеса

– обучението

– симулирането и оптимизирането на процеса

– поддръжката на процеса.

Page 27: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

27

Класификация спрямо степен на

формалност

• Формални PML

– формален синтаксис и семантика

• Полуформални PML

– обикновено имат графично представяне с формален

синтаксис, но не и формална семантика.

• Неформални PML

– няма строго дефинирани правила, а смисълът на

конструкциите идва от реалния опит и употребата им

Page 28: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

28

Избор на език за моделиране

• Желани характеристики

– разбираемост,

– простота,

– формалност,

– изразителност,

– гъвкавост,

– възможност за няколко перспективи и изгледи,

– абстракция,

– модулност.

Page 29: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

29

Шаблони за описание на процес

Page 30: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

30

Шаблони за описание на процес

• Шаблон е описание на общо решение на общ проблем или въпрос, на базата на което може да се извлече детайлно решение на специфичен проблем.

• Шаблони, свързани с разработката на софтуер – шаблони на анализа,

– шаблони на проектирането,

– организационни шаблони,

– шаблони на процес и много други.

• Шаблон на процес е шаблон, който описва доказан, успешен подход и/или последователност от действия за разработване на софтуер

Page 31: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

31

Шаблони за описание на процес 2

• Шаблонът на процес представлява структурирано описание на процес, което на практика е метод за описание на важните характеристики на софтуерния процес.

– Важна характеристика на шаблон на процес е, че той описва какво трябва да се направи, а не точни детайли как трябва да се направи.

• Шаблоните могат да бъдат дефинирани на различни нива на абстракция

Page 32: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

32

Example of template

• Pattern name

• Intent – the objective of the pattern is described briefly

• Type – Task patterns define a software engineering

action or work task that is part of the process

– Stage patterns define a framework activity for the process.

– Phase patterns define the sequence of framework activities that occur with the process

Page 33: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

33

Example of template - 2

• Initial context – the conditions under which the pattern applies

• Problem – the problem to be solved by the pattern

• Solution – the implementation of the pattern

• Resulting Context – the conditions that will result once the pattern has been successfully implemented

• Related Patterns – a list of all process patterns that are directly related to this one

• Known Uses/Examples

Page 34: Лекция 2nis-su.eu/Documents/Uploaded/L2-1-process-BSc-2011-12.pdf · 2020. 1. 23. · 1 Лекция 2 Софтуерен ... product tracking and control) ... configuration

34

Обобщение

Всички модели на процеси дефинират:

– Множество от основни дейности

– Съвкупност от задачи, които водят до

завършване на всяка дейност

– Работни продукти, като следствие от задачите

– Множество от допълнителни дейности, които

обхващат целия процес