Софтуерни технологии


Повторно използване в софтуерното



страница89/106
Дата11.05.2023
Размер2.27 Mb.
#117653
ТипАнализ
1   ...   85   86   87   88   89   90   91   92   ...   106
Softuerni Texnologii
Свързани:
empty doc
13.3. Повторно използване в софтуерното
производство ("Re-use")
Подходът за повторно използване (ПИ) е съвкупност от планирани и сис-
тематични дейности, насочени към максимално използване на съществуващи
софтуерни елементи в процеса на създаване на нов софтуер.
Този подход е заимстван от материалното производство и се оказва приемли-
во решение за намаляване на сроковете и стойността на софтуерните разработки.
Софтуерните елементи, които се използват повторно, могат да се класифи-
цират по различни критерии.
а) класификация по същността им:

  • uдeu или концепции. В тази група са алгоритми, методи, техники или
    формални модели.

  • софтуерни компоненти. Това са най-често използваният тип елементи
    и могат да бъдат:




  • приложни системи. Например реализация на една и съща прог-
    рамна система на различни платформи (т. е. в различни съчетания на опе-
    рационна и хардуерна среда).

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

  • програмни модули, функции или други обособени програмни части;

— процедури или умения, свързани с процесите на създаване на софтуер.
В тази група е know-how информация, която може да бъде под формата на
наблюдения, препоръки, експертно знание и др.
б) класификация по обхват
В зависимост от формата и докъде се простира повторното използване, то
може да бъде вертикално или хоризонтално.
При вертикално повторно използване в избрана приложна област се съз-
дават основни модели, които се прилагат във всички разработвани за тази об-
ласт софтуерни системи.
167
При хоризонталното повторно използване се създават универсални ком-
поненти, които могат да се вграждат в програмни системи за различни прилож-
ни области — например средства за управление на бази от данни, за разпреде-
лени среди, за изграждане на графичен потребителски интерфейс и др.
в) класификация по начина на осъществяване

  • планирано и систематично повторно използване. В съответната соф-
    туерна организация са регламентирани основните принципи и процедури за
    осъществяване и оценка на подхода.

  • инцидентно (ad-hoc) повторно използване. За конкретен софтуерен
    проект се търсят съществуващи софтуерни елементи, удовлетворяващи форму-
    лирани изисквания.

г) класификация по използвана техника:
сглобяващо ПИ. Съществуващи софтуерни компоненти се вграждат ка-
то основни блокове в софтуерните системи.
генериращо ПИ. Използват се идеи или концепции само на специфика-
ционно ниво, след което чрез специално разработени генератори на програми
автоматично се създават съответните програмни части.
д) класификация по начина на използване:
без промяна. Съществуващи софтуерни елементи се прилагат без изме-
нения. Този вид повторно използване трябва да се предпочита, защото се осно-
вава на проверено качество и минимизира усилията за съпровождане.
с модифициране. В този случай се изисква допълнително специфици-
ране и реализация на измененията и тестване, за да се провери коректността на
получения вариант.
е) класификация по вида на използвания софтуерен продукт. Могат да
се използват спецификации, проекти, фрагменти от програмен текст, докумен-
тация, тестови примери и др.
Ще се спрем накратко на проблемите, свързани с осъществяване на подхо-
да за повторно използване в конкретна софтуерна организация.
Създаването на софтуер в една и съща приложна област или в една и съща
среда дава възможност за натрупване на знания и опит, които могат да се използват
и в следващи проекти. Преди всичко необходимостта от въвеждане на подхода трябва
да бъде осъзната от ръководството на фирмата, което да планира, финансира и
управлява конкретна програма. Мотивите за ПИ могат да бъдат подобряване на
качеството на създавания софтуер, доколкото се използват елементи с проверени
вече свойства, и по-бързо излизане на пазара с нови продукти, тъй като се намаля-
ва времето за разработка. Препоръчва се следната постъпкова процедура:

  • идентифициране на компонентите за ПИ. Обикновено се анализира при-
    ложната област, като се откриват и обособяват общи модели и свързаните с тях
    структури. Могат да се изследват и създадените във фирмата програми, които
    да се класифицират по реализираните функции;

  • документиране на всяка компонента и включване в общодостъпна биб-
    лиотека;

  • обучение на всички участници в разработката, как да използват библио-
    теката.

Например след решение да се приложи повторно използване в Nec Software
Engineering Lab e била съставена библиотека от 32 групи програми, реализира-
щи 130 алгоритъма с универсално предназначение.
168
Друга софтуерна организация анализира 5 000 програми на Кобол, разра-
ботени в нея, и ги класифицира в три групи: редактиращи, обработващи и със-
тавящи справки. След целенасочено повторно използване на съществуващи прог-
рамни фрагменти са постигнати 50% увеличение на производителността на прог-
рамисткия труд, като повторно използваните елементи са съставлявали 60% от
новоразработвания софтуер [5].
Съществени за успеха на подхода са техниките за съхраняване и извли-
чане на компонентите. За да се опише какво се търси, се използват някои
класификационни схеми, познати от библиотечните системи. Механизмите за
търсене могат да се основават на ключови думи, на текстови описания на ес-
тествен език, фасетна техника чрез съставяне на описания от различни гледни
точки и т. н.
Препоръчва се сформиране на специална група от високо квалифицирани
специалисти, която да осъществява подхода за ПИ в софтуерната организация.
Основна дейност на групата е разработване и съпровождане на компоненти за
ПИ. Проектирането и създаването на такива компоненти изисква от 5 до 10
пъти повече усилия, отколкото за обикновените компоненти. От програмистка
гледна точка трябва да се вземат предвид следните особености:
а) програмните компоненти трябва да се проектират и програмират така,
че да са лесно настройваеми и да решават клас сходни задачи;
б) да се обмисли и реализира систематично процесът на „клониране", т. е.
копиране на избран програмен фрагмент на съответно място в новата програм-
на система;
в) да се регламентира механизъм за съставяне на имена на променливи за
предотвратяването на програмни грешки от дублиране на използваните имена;
г) програмните компоненти да са преносими, т. е. да могат да работят в
различни операционни и хардуерни среди. Формулирани са някои принципи,
следването на които би осигурило висока преносимост на разработвания соф-
туер. Основен принцип е всички зависещи от средата програмни части да се
оформят като самостоятелни модули. При това трябва да се отчитат различната
дължина на машинната дума, различното представяне на числовата и символна
информация, различните съвкупности от системни прекъсвания и др.
Същата група от специалисти поддържа и библиотеката за ПИ — контро-
лира съдържанието и качеството на съхраняваната информация, създава опи-
сания за нови елементи, изтрива неизползвани елементи, консултира потреби-
телите, натрупва статистика за използването й и др.
В началото на всеки нов проект се изследва възможността да се използват
някои компоненти от библиотеката със или без допълнително модифициране.
Прилагането на подхода за повторно използване е все още ограничено
поради следните причини:

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

  • ефективно повторно използване може да се осъществи само при нали-
    чие на софтуерни средства, които го подпомагат на методологическо и техни-
    ческо ниво.

169
В [5] са анализирани резултатите от прилагане на ПИ в редица индустри-
ални софтуерни организации.
Основни тенденции в изследванията са:

  • проектиране на библиотеки от елементи за ПИ и вграждането им в сре-
    ди за разработване на софтуер;

  • създаване на стандарти за интегрирано използване на библиотеките от

елементи за ПИ;
— създаване на модели за процеса на ПИ и на съответни инструментални
средства, поддържащи разработването за и с повторно използване.


Сподели с приятели:
1   ...   85   86   87   88   89   90   91   92   ...   106




©obuch.info 2024
отнасят до администрацията

    Начална страница