Дипломна работа

Изследване на използваемостта на софтуерните шаблони за обектно-ориентирано проектиране | Защитена на: 01/01/1900

Софтуерната индустрия се развива с все по – динамични темпове и набира все по-голяма популярност в днешно време. Поради тази причина разработването на софтуер става все по - изискващо към качествените характеристики. Дипломната работа е в областта на проучването и изследването на шаблоните за дизайн на обектно-ориентиран софтуер. Тя цели да се извърши изследване на качествените характеристики на обектно-ориентираните шаблоните за дизайн, като се дефинират подходящи качествени метрики за програмен код, използващ обектно-ориентирани шаблони за дизайн, и се проектира и проведе количествено изследване за определяне на степента на използваемост сред софтуерните проектанти на различните видове обектно-ориентирани шаблони.  От направените анализи беше извлечено знание за различни аспекти на използваемостта на шаблоните, като например:

  • Кои са най-известните и използвани шаблони за дизайн.
  • Кои са най-неизползваните шаблони за дизайн.
  • Оправдана ли е известността на дадени шаблони за дизайн или има други такива, които вършат същата работа.
  • Защо дадени шаблони са по-използваеми от други.
  • Има ли шаблони, които помагат на качеството, но не са много използвани и имат нужда от популяризиране.
  • Кои са най – ценените качествени характеристики на даден софтуер според българските разработчици.
  • Колко от българските разработчици използват и знаят какво са шаблони за дизайн.

За целите на дипломната работа, беше проведено изследване сред 82 лица в сферата на софтуерните технологии. Анализът на анкетата показва, че проведеното изследване е актуално, тъй като показва тенденциите в софтуерните технологии в последните 10 – 15 години. Най-заеманите професии в сферата на софтуерните технологии се оказаха „програмист“ и „архитект“, а най-малко заеманите - „поддръжка“ и „интегратор“. Анализът също така показа, че има взаимовръзка между опита с обектно – ориентирано програмиране и опита с шаблони за дизайн, както и че шаблоните за дизайн започват да става по – използвани и разпознаваеми в България в последните няколко години. Също така се оказа, че най-много години опит с шаблони за дизайн имат изследваните лица, които са архитекти или програмисти.

 Оказа се, че 20,7% от софтуерните специалисти и студенти в областта на софтуерните технологии не знаят и не са използвали шаблони за дизайн, което е изключително висок процент. Шаблоните за дизайн трябва да бъдат популяризирани, тъй като софтуерната индустрия се развива изключително бързо и става все по изискваща откъм качество.

Най – важните качествени характеристики на даден софтуер се оказаха лесната поддръжка, разширяемостта и надеждността според изследваните лица. Установихме, че има силна корелация между най – използваемите и най – полезните шаблони за дизайн, както и между най – неизползваемите и най – безполезните, според изследваните лица. Най – използваемите шаблони според изследваните лица са „Сек“, „Метод фабрика“ и „Абстрактна фабрика“, а най – неизползваемите - „Мост“, „Медиатор“ и „Мини - обект“.  Шаблоните „Сек“ и „Абстрактна фабрика“ са в разпределението на най-разпознаваемите и най-полезните шаблони, но също така присъстват и в разпределението на най-безполезните, което свидетелства за висока степен на поляризация на отговорите за този шаблон.

Изследвахме използваемостта на шаблоните и като групи. Резултатите показват, че най-използваемите шаблони за дизайн са от групата на „създаващите“, а най-неизползваемите са от групата на „поведенческите“. От тези резултати си направихме извода, че изследваните лица използват шаблони за дизайн предимно при създаването на обекти и по-рядко търсят елегантни и изпитани решения за комуникацията и взаимовръзката между тези обекти.

От анализа на въпросите свързани с качествените характеристики на кода, разбрахме доста неща, като например:

  • 90,8% от изследваните лица смятат, че шаблоните за дизайн подобряват качеството, а едва 9.2% смятат обратното.
  • Според изследваните лица, за да се гарантира качеството на дизайна на даден софтуер по време на разработката му, най-важните неща са личния опит, код ревютата и насоките за дизайн, а най-маловажните са софтуерните метрики и инструментите за проектиране.
  • Изследваните лица целят най-вече осигуряване на функционална коректност и чак след това мислят за качеството на създадения код.
  • Изследваните лица променят кода най-често, за да опростят кода, да създадат интерфейс или да намалят свързаността.

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

Най-важните характеристики в даден шаблон за дизайн според изследваните лица са: да решава точно конкретния проблем и да допринася максимално много качества към кода. 90,8% от изследваните лица биха използвали шаблон, който не са използвали преди, ако той би решил проблема им по по-добър начин, което е доказателство за отвореност към новите решения и желание за експериментиране с тях.

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

Имплементацията на трите най-неизползваеми шаблона за дизайн увеличи индекса за лесна поддръжка с 2 единици и разширяемостта с 1 и нямаше ефект върху надеждността, докато имплементацията на трите най-използваеми шаблона за дизайн увеличи индекса за лесна поддръжка само с 1 единица и разширяемостта пак с 1 и отново нямаше ефект върху надеждността.

 Оказа се, че най – използваемите шаблони са от групата на създаващите шаблони и че те са най – използваеми поради факта, че са приложими в много ситуации, а не защото допринасят с качества, с които другите шаблони не могат. Най – неизползваемите шаблони допринесоха дори повече качества към кода и определено имат нужда от популяризиране. Това което също се забеляза е, че те са приложими на по – малко места и установихме, че вероятно за това те са по – непопулярни.

Първоначално поставените цели на дипломната работа бяха постигнати и резултатите определено са значими. Те отразяват тенденциите в последните години и направените изводи могат да са полезни за развитието на темата за шаблоните за дизайн и популяризирането им.

Scroll to Top