Professional Documents
Culture Documents
Магдалена Силјаноска
Topic 02 - Критериуми за квалитет на софтверски производи
1
Topic 03 - Процесни модели
1. Waterfall модел
дефиниција
(II по приоритет) - Спецификација на структурата на
НАЈВАЖЕН софтверот, спецификација на компоненти и нивни врски
Програмирање на
(Најскапи се грешките кои Имплемен компонтентите
настануваат во првиот чекор) тација Резултат: код
(III по приоритет)
Тестирање на компоненти Тестирање
Резултат: тест – случаи, тест – протоколи
2
Употреба и
(IV по приоритет) – НАЈСКАП ЧЕКОР
одржување
3. Агилен развој на софтвер Agile manifesto (12 принципи зад Agile Manifesto)
4. V модел – подобрување од Waterfall модел. Сигурност за квалитет (тестирање) е вклучен во
текот на целиот развоен процес.
5. Prototyping – Runnable софтверски системи (некои услови од системот се веќе завршени, а
други се уште треба да се извршуваат.
6. Спирален модел
Анализа на
ризик
Евалуација на
алтернативи
Конструкција на производ
Реализација Реализација на производ
3
Планирање
(следни чекори
во проектот)
Преглед
Што е АГИЛНОСТ?
o Ефективен одговор на промена. Ефективна комуникација помеѓу сите членови во
тимот. Внесување на корисникот во тимот. Нагласок на инкрементирачка
доставувачка стратегија
o Добро дизајниран агилен процес може да ја зарамни кривата на „трошок од
промена“ со инкрементирачка достава со агилни методи како што се:
континуирано единечно тестирање и програмирање во пар.
ЕКСТРЕМНО ПРОГРАМИРАЊЕ (ХР)
o Најупотребуван агилен процес. Користи објектно-ориентиран пристап.
o ХР планирање
Започнува со сослушување на корисникот кој објаснува (кажува „приказни“)
баран излез, можности, карактеристики и функционалност.
Корисникот кажува вредност (приоритет) на секоја приказна, а агилниот тим
доделува „трошок“ на секоја од приказните.
Стратегија е направена со видови на приказни:
Сите приказни да се имплементираат во неколку седмици;
Приказните со висок приоритет – ПРВИ;
Најризичните приказни – ПРВИ;
o ХР дизајн (се случува и пред и после кодирањето)
Го следи KIS принципот (Keep It Simple). Ни повеќе ни помалку од
прикажаното. Користи Refactoring
o ХР кодирање
„Програмирање во пар“, односно двајца да работат заедно на една работна
станица, со сосем малку различни улоги.
o ХР тестирање
Сите поединечни тестови се извршени и идеално треба да се
автоматизираат
АДАПТИВЕН СОФТВЕРСКИ РАЗВОЈ (ASD)
4
o Oд Jim Highsmith (2000), фокусирајќи се на човечка колаборација и тимска
самоорганизираност, како техника за градење на сложен софтвер и систем.
Составен е од три фази: Шпекулација, Колаборација и Учење.
o Шпекулација
Проектот е инцииран и адаптирачки планирачки циклус е оформен.
Тој користи проектна иницирачка информација која ја дефинира
корисничката мисија, противречностите на проектот и основни барања за
дефинирање на множеството од инкременти кои ќе бидат потребни за
проектот.
o Колаборација
Ги величи комуникацијата и тимската работа, но исто така го нагласува
индивидуализмот, бидејќи индивидуалната креативност, игра важна улога
во колаборативносто размислување.
o Учење
Развојувачите на софтвер често го преценуваат нивното познавање на
технологијата, процесот и проектот, па затоа учењето ќе им помогне да го
подобрат нивото на реално познавање.
МЕТОД ЗА РАЗВОЈ НА ДИНАМИЧКИ СИСТЕМИ (DSDM) – многу сличен на ХР и/или ASD
SCRUM
o Развојната работа е поделена на „пакети“. Тестирањето и документацијата се
прават како што се развива производот. Состаноците се многу кратки. Се
доставуваат demos до корисникот и тој дава feedback.
CRYSTAL
o Всушност фамилија од процеси што овозможуваат управување и очи-во-очи
комуникација.
FEATURE DRIVEN DEVELOPMENT (FDD)
o Нагласокот е на дефинирањето на карактеристики кои можат да бидат
организирани хиерархиски. Користи темплејт.
5
o Одредување на трошоци
o Проект-план
Во ДЕФИНИЦИОНАТА спаѓаат следните документи:
o Спецификација на барања СРЦЕТО НА AAD phase
o Продукт – модел (производен модел)
o Кориснички интерфејс
o User manual (прирачник за користење)
Содржина на спецификацијата на барања:
o Функционални барања (функционалност, кориснички интерфејс)
o Барања за околина на апликација
o Технички барања (имплементациски јазик, оперативен систем, хардвер)
o Перформансни барања (ефикасност, количество на податоци)
o Валидирачки барања
o Квалитативни барања (user-friendliness, надежност)
Реализирачки барања (процесен модел, документација, регулации, рокови, трошоци..)
USE CASE дијаграм
o USE CASE = фундаментална функција на системот со вредност за корисникот,
реализирана од секвенца на интеракции помеѓу корисникот и системот.
o Релации помеѓу Use cases (UML): extend; include; generalize;
Topic 06 - Проценка на трошоци (Cost Estimation)
7
Чекор 7: Надградба на практичните податоци
8
Тој вклучува: како и кога use case–от започнува и завршува; кога use case –от
има интеракција со актери и кои објекти се разменуваат; основниот тек и
алтернативните текови на однесувањето!
o Aктери:
Еден актер репрезентира множество од улоги кои корисниците на use case-от ги
играат кога имаат интеракција со овие use case-ови.
Актерите можат да бидат луѓе или автоматизирани системи.
Тие се ентитети кои бараат помош од системот за да ја извршат нивната задача
или се потребни за да ги извршат функциите на системот.
Актерите не се дел од системот.
o Use case-ови и Актери:
Од перспектива на даден актер, еден use case прави нешто што е од вредност за
актерот. Актерите ги дефинираат околините во кои системот живее.
o Врски помеѓу Use cases (UML):
GENERALIZEврска: use cases што се специјализирани верзии од други use-cases
Детето-use case го наследува однесувањето и знаењето од родителот-use
cas, но може да додаде или да го преклопи однесувањето на неговиот
родител.
INCLUDEврска: use case-ови што се вклучени како делови од други use cases
Основниот (BASE) use case никогаш не останува сам. Тоа единствено се
случува како дел од некоја поголема база што го вклучува.
Include врската овозможува да се избегне опишување на ист тек на
настани повеќе пати со поставување на заедничкото однесување во
засебен use case.
9
Use case = фундаментална подфункција на системот (сервис на системот) со
вредност за корисникот, реализирана со секвенца од интеракции помеѓу
корисникот и системот.
Функционален опис на системот = множеството на сите use cases
o Use case-овите можат да се опишат на неколку начини
Текстуално
со колаборациски дијаграм
со секвенцијален дијаграм
со дијаграм на активности
со дијаграм на состојби
петри мрежи
11