SARS 2011-12 L1 Introduction

33
СУ “Св. Климент Охридски” Специалност “Софтуерно инженерство” Курс “Софтуерни архитектури и разработка на софтуер СОФТУЕРНИ АРХИТЕКТУРИ И РАЗРАБОТКА НА СОФТУЕР Едносеместриален курс за специалност “Софтуерно Инженерство” СУ “Св. Кл. Охридски”

TAGS:

Transcript of SARS 2011-12 L1 Introduction

Page 1: SARS 2011-12 L1 Introduction

СУ “Св. Климент Охридски”

Специалност “Софтуерно инженерство”

Курс “Софтуерни архитектури и разработка на софтуер

СОФТУЕРНИ АРХИТЕКТУРИ И

РАЗРАБОТКА НА СОФТУЕР

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

“Софтуерно Инженерство”

СУ “Св. Кл. Охридски”

Page 2: SARS 2011-12 L1 Introduction

СУ “Св. Климент Охридски”

Специалност “Софтуерно инженерство”

Курс “Софтуерни архитектури и разработка на софтуер

ВЪВЕДЕНИЕ В СОФТУЕРНИТЕ

АРХИТЕКТУРИ

Лекция № 1

Page 3: SARS 2011-12 L1 Introduction

СЪДЪРЖАНИЕ

� Нуждата от софтуерна архитектура

� Историческа справка

� Паралел между софтуера и други области

� Понятие за софтуерна архитектура

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

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Място на софтуерната архитектура в

софтуерното производство

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

3

Page 4: SARS 2011-12 L1 Introduction

НУЖДАТА ОТ АРХИТЕКТУРИ

� Целта е да се решават практически проблеми

възникващи при разработката на големи

софтуерни системи

� Проблеми свързани със спецификата на

софтуерното инженерство

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

софтуерното инженерство

� Необходимост от създаване на условия за

многократна употреба

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

4

Page 5: SARS 2011-12 L1 Introduction

СПЕЦИФИКИ НА СОФТУЕРНОТО

ИНЖЕНЕРСТВО

� Сравнително нова област, към която има

твърде големи очаквания

� Създават се твърде комплексни и в същото

време абстрактни и неосезаеми системи

� Софтуерът не се произвежда сам за себе си,

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Софтуерът не се произвежда сам за себе си,

много често той трябва да се съобразява с

промени в други области

� Поведението на потребителите е

непредсказуемо

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

5

Page 6: SARS 2011-12 L1 Introduction

ПРОИЗХОД НА СОФТУЕРНАТА

АРХИТЕКТУРА

� Понятие за системна архитектура –

съществува от много време

� Много от идеите произлизат от други не-

компютърни области

� Всяка софтуерна система си има архитектура

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Всяка софтуерна система си има архитектура

� Дори и да не подозираме за това и да не сме я

проектирали

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

6

Page 7: SARS 2011-12 L1 Introduction

ОЩЕ ЗА НУЖДАТА ОТ АРХИТЕКТУРИ

� Всички области свързани със създаване на

някакъв продукт предполагат предварително

изготвяне на проект за него

� Строителство

� Машиностроене

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Машиностроене

� Електроника

� И т.н.

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

7

Page 8: SARS 2011-12 L1 Introduction

КОРАБЪТ ВАСА – 1628 Г.С

оф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

8

Page 9: SARS 2011-12 L1 Introduction

НЯКЪДЕ ИЗ СОФИЯ – 2012 Г.С

оф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

9

Page 10: SARS 2011-12 L1 Introduction

ПОПУЛЯРНИ СОФТУЕРНИ ПРОБЛЕМИ

� Спътник за изледване на климата на Марс

катастрофира през 1999

� Проблем – объркване на мерните единици

� Влак спира да се движи в Англия

� Проблем - фалшива “промяна на

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Проблем - фалшива “промяна на

местоположението” на следващата гара,

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

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

10

Page 11: SARS 2011-12 L1 Introduction

ИЗВОД

� За да е възможно една голяма система да бъде

� Разбрана

� Разработена с предвидими време и цена

се налага информацията за отделните

елементи, които я изграждат да бъде

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

елементи, които я изграждат да бъде

структурирана и подходящо описана

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

11

Page 12: SARS 2011-12 L1 Introduction

ИЗВОД

� Софтуерната архитектура (СА) представлява

точно такова описание

� СА играе ролята на инструмент за

комуникация, обосновка, анализ и растеж

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

12

Page 13: SARS 2011-12 L1 Introduction

КАКВО Е СА?

� Обикновено СА се създава като първа стъпка

по време на проектирането, като целта е да се

гарантира наличието на дадени качества в

системата

� Детайли като алгоритми, представяне на

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Детайли като алгоритми, представяне на

данни, реализация, и т.н. не са предмет на СА

� Предмет на СА е поведението и връзките

между различни елементи, разглеждани като

“черни кутии”

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

13

Page 14: SARS 2011-12 L1 Introduction

ДЕФИНИЦИЯ

� Съгласно SEI:

“Архитектура на дадена софтуерна система е

някаква съвкупност от структури, показващи

различните софтуерни елементи на системата,

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

различните софтуерни елементи на системата,

външно видимите им свойства и връзките между

тях”

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

14

Page 15: SARS 2011-12 L1 Introduction

АНАЛОГИИ СЪС СТРОИТЕЛСТВОТО

� За всяка сграда се описват различни гледни

точки

� Схема на водопроводна мрежа

� Схема на ел. инсталация

� Изкопни схеми

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Изкопни схеми

� Схема на разположението на помещенията и др.

� Съществува и документация на съответствието

между тези различни структури

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

15

Page 16: SARS 2011-12 L1 Introduction

ОЩЕ АНАЛОГИИ

� Специализация на ролята на различните

заети в създаването на продукта

� Комуникация и удовлетворяване на

изискванията на клиента

� Съществуват редица утвърдени практики под

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Съществуват редица утвърдени практики под

формата на тактики, методи, шаблони и

стилове

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

16

Page 17: SARS 2011-12 L1 Introduction

ОТ КАКВО СЕ ОПРЕДЕЛЯ СА?

� Широко разпространено е схващането, че СА

зависи само от изискванията;

� Истината е, че се намесват и много други

фактори на обкръжението (environment), а

именно:

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

именно:

� технически, бизнес и социални влияния;

� опит, знания и умения на архитекта;

� съвременните технологии;

� От друга страна, самото създаване на СА

повлиява върху обкръжението, т.е. процесът е

цикличен;

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

17

Page 18: SARS 2011-12 L1 Introduction

ЦИКЛИЧЕН ПРОЦЕС НА СЪЗДАВАНЕ НА

АРХИТЕКТУРАТАС

оф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

18

Page 19: SARS 2011-12 L1 Introduction

ОТ КАКВО СЕ ВЛИЯЕ СА?

� Заинтересованите лица (stakeholders)

� Организационната структура

� Опит на архитекта

� Технологии

Пазар и бизнес модели

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Пазар и бизнес модели

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

19

Page 20: SARS 2011-12 L1 Introduction

ФАКТОРИ,

КОИТО ВЛИЯЯТ

НА СА

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

20

Page 21: SARS 2011-12 L1 Introduction

ВЛИЯНИЕ НА ЗАИНТЕРЕСОВАНИТЕ ЛИЦА

� Заинтересовани лица (Stakeholders, ЗЛ) – това

са всички, които имат отношение към

създаването на софтуерната система – напр.

собствениците, управителите, специалистите

по продажби, ръководителя на проекта,

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

по продажби, ръководителя на проекта,

разработчиците, екипа по поддръжка,

различни прослойки от страна на клиента,

крайните потребители и т.н.

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

21

Page 22: SARS 2011-12 L1 Introduction

ВЛИЯНИЕ НА ЗЛ

� Всички те имат разнопосочни интереси, напр.:

� Да се държи по определен начин;

� Да работи добре на определен хардуер;

� Да може лесно да се променя;

� Да се стане бързо;

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Да се стане бързо;

� Да стане евтино;

� Да я правят хора с конкретни умения;

� Да е многофункционална;

� и т.н.

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

22

Page 23: SARS 2011-12 L1 Introduction

ВЛИЯНИЕ НА ЗЛ

� Тези интереси най-често си противоречат;

� Архитектът е в неблагоприятна позиция –

какъвто и ход да предприеме, все някой от

списъка със ЗЛ ще е недоволен;

� Ролята му е да балансира между различните

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Ролята му е да балансира между различните

ЗЛ за бъдат конкретните интереси отразени в

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

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

23

Page 24: SARS 2011-12 L1 Introduction

ВЛИЯНИЕ НА ОРГАНИЗАЦИЯТА

� Основното влияние идва от целите, заради

които се създава системата (изискванията

отразяват най-пълно тях);

� Други влияния са:

� Текущо състояние на организацията;

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Текущо състояние на организацията;

� Употреба на предишни разработки;

� Организационна структура;

� Стратегия за дългосрочни инвестиции;

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

24

Page 25: SARS 2011-12 L1 Introduction

ВЛИЯНИЕ НА ОПИТА НА АРХИТЕКТА

� Знанията и уменията на архитекта влияят

върху създаваната СА:

� Ако архитектът има положителен опит с даден

подход, вероятно ще го използва отново;

� Обратно, ако резултатите са били катастрофални,

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Обратно, ако резултатите са били катастрофални,

най-вероятно ще се въздържи;

� Подходът ще зависи и от това къде, какво и колко е

учил и чел архитекта;

� Дали се е сблъсквал с успешни/неуспешни подходи

и/или реализации;

� Наклонности за експерименти;

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

25

Page 26: SARS 2011-12 L1 Introduction

ВЛИЯНИЕ НА ТЕХНОЛОГИИТЕ

� Частен случай на влиянието на опита и

средата на архитекта е влиянието на текущите

технологии:

� Индустриални стандарти;

� Най-добри практики;

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� Най-добри практики;

� Преобладаващи инженерни техники;

� В настоящия момент модерни са уеб-

базираните, ориентирани към услуги

софтуерни архитектури.

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

26

Page 27: SARS 2011-12 L1 Introduction

ВЛИЯНИЕ НА ПАЗАРА И БИЗНЕС МОДЕЛА

� Всеки софтуерен продукт се прави от гледна

точка на някакъв интерес

� Пари, реклама, известност и т.н.

� Промяната на пазара води до промяна в

изискванията

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

изискванията

� Скоростта на промяна на пазара е твърде

различна за различните приложения

� Дизайнът на софтуера трябва да отговаря на

склоността на пазара да се променя

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

27

Page 28: SARS 2011-12 L1 Introduction

РЕЗУЛТАТ ОТ ТЕЗИ ВЛИЯНИЯ

� В много редки случаи изискванията, породени от

бизнес целите, както и различните влияния, са

напълно разбрани, обяснени и документирани

� Това води до конфликти между различните ЗЛ,

които трябва да се разрешават

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

� За целта архитекта трябва да разбере същността,

източниците и приоритетите на различните

ограничения и трябва да управлява нуждите и

очакванията на ЗЛ

� Крайната цел е ЗЛ да бъдат притиснати да

приближат позициите си така, че да се намери

пресечна точка между противоречивите на пръв

поглед изисквания

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

28

Page 29: SARS 2011-12 L1 Introduction

ОБРАТНИ ВРЪЗКИ НА ВЛИЯНИЕ

� Веднъж създадена, СА от своя страна повлиява

същите тези фактори, които са отговорни за

съществуването и: организацията, нейните

цели, опита на архитекта, изискванията към

бъдещи системи, в някои случаи дори

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

бъдещи системи, в някои случаи дори

технологичната среда;

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

29

Page 30: SARS 2011-12 L1 Introduction

ОБРАТНИ ВРЪЗКИ НА ВЛИЯНИЕ

� СА повлиява организационната структура

(посредством структурата на системата);

� СА може да повлияе целите на организацията

– в зависимост от успеха или неуспеха на

системата ще бъдат поставени различни

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

системата ще бъдат поставени различни

стратегически и тактически цели за в бъдеще;

� СА може да повлияе изискванията към бъдещи

системи, отново в зависимост от успеха,

неуспеха и наученото по време на

разработката;

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

30

Page 31: SARS 2011-12 L1 Introduction

ОБОБЩЕНИЕ

� Разглеждането на софтуерната архитектура е

необходимо за да създаваме софтуер, който

отговаря на изискванията и е с предвидимо

качество

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

31

Page 32: SARS 2011-12 L1 Introduction

ОБОБЩЕНИЕ

� Софтуерната архитектура се създава на базата

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

� В последствие в зависимост от фактори като

пазар, бизнес цели, желание на ЗЛ и др. може

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

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

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

� Процесът за проектиране на софтуерната

архитектура е итеративен и е съпътстван от

редица компромиси

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

32

Page 33: SARS 2011-12 L1 Introduction

ВЪПРОСИС

оф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

соф

туер

Соф

туер

ни

ар

хи

тек

тур

и и

ра

зр

аботк

а н

а

33