Abstract:
Разработката на качествен софтуер е немислима без добре
дефиниран и измерваем процес. Една от най-важните фази, от
процеса за разработка на софтуер, е дизайнът. Качеството на
дизайна е определящо за качеството на крайния продукт.
Поради това се полагат много усилия за подобряване на
качеството на дизайна, чрез изследване и модификация на
процеса за разработка. Една от съвременните гъвкави
методологии за разработка на софтуер е "Екстремното
програмиране" (Extreme Programming). То включва практиките
"Програмиране по двойки" (Pair Programming), "Честа
интеграция" (Continuous Integration), "Подобряване на
дизайна" (Design improvement), "Малки доставки" (Small
releases), "Правила за кодиране" (Coding standard),
"Планиране" (Planning game) и "Разработване, базирано на
тестове (Test-driven development)". Характерно за практиката
"Разработване, базирано на тестове" е, че модулните тестове
се написват преди да са готови дизайна от ниско ниво и кода.
Това дава на софтуерния инженер още една възможност за
преглед и анализ на проблемната област, от една друга гледна
точка - как софтуерната система би работила при различни
обстоятелства. Това позволява, още на фаза дизайн, да бъдат
забелязани детайли, свързани с работата на готовата система,
което от своя страна води до по-добър дизайн.
Дипломната работа има за цел да внедри практиката
"Разработване, базирано на тестове", в съществуващ фирмен
софтуерен процес и да изследва влиянието й върху фазата на
дизайна на софтуерна система.
Първата глава въвежда читателя в проблемната област,
резюмира предимствата на разглежданата практика и
набелязва целите на дипломната работа.
Във втората глава е направен обзор на проблемната
област, чрез сравнителен анализ на съвременните процеси за
разработка на софтуерни системи и ролята на фазата дизайн в
тях. В разглежданията са включени както традиционни, така и
съвременни процеси. Представено е Екстремното
програмиране и са обобщени неговите предимства и
недостатъци.
Практиката "Разработване, базирано на тестове" e
представена в детайли в третата глава. Посочени са нейните
предимства и недостатъци. Дефинирани са основни понятия и
концепции, свързани с тестването.
Четвъртата глава въвежда читателя в проведения
експеримент. В началото й е представено подобно изследване
и резултатите от него. Следва описание на проведения
експеримент, с внедряването на практиката в съществуващ
фирмен софтуерен процес, при изграждане на реално
приложение.
В петата глава са представени и изследвани резултатите от
експеримента. Дефинирани са подходящи метрики и критерии
за оценка, с помощта на които резултатите са анализирани и
са дадени препоръки за подобряване на процеса за
разработка.
Заключението прави обобщение и дава препоръки за
бъдеща работа, с цел подобряване на процеса за разработка
на софтуер.
В края е представен списък с използваната литература,
абревиатури и термини и приложение.
Description:
Влияние на практиката "Разработване, базирано на
тестове" върху качеството на дизайна на софтуерна
система
Резюме
Дипломант: Теодор Клисурски
Специалност: Информатика
Магистърска програма "Софтуерни технологии"
Факултетен Номер: М-21547
Научен ръководител: Доц. д-р Силвия Илиева
Консултант: Ива Кръстева
Дата: 17.10.2007 г.