Comparison of application frameworks designed to support application extensibility


Autoria(s): Mäkäräinen, Mikko
Data(s)

15/04/2008

15/04/2008

2008

Resumo

Reusability has become more popular factor in modern software engineering. This is mainly because object-orientation has brought methods that allow reusing more easily. Today more and more application developer thinks how they can reuse already existing applications in their work. If the developer wants to use existing components outside the current project, he can use design patterns, class libraries or frameworks. These provide solution for specific or general problems that has been already encountered. Application frameworks are collection of classes that provides base for the developer. Application frameworks are mostly implementation phase tools, but can also be used in application design. The main purpose of the frameworks is separate domain specific functionalities from the application specific. Usually the frameworks are divided into two categories: black and white box. Difference between those categories is the way the reuse is done. The application frameworks provide properties that can be examined and compared between different frameworks. These properties are: extensibility, reusability, modularity and scalability. These examine how framework will handle different platforms, changes in framework, increasing demand for resources, etc. Generally application frameworks do have these properties in good level. When comparing general purpose framework and more specific purpose framework, the main difference can be located in reusability of frameworks. It is mainly because the framework designed to specific domain can have constraints from external systems and resources. With general purpose framework these are set by the application developed based on the framework.

Nykyaikaisessa ohjelmistontuotannossa uudelleenkäytettävyys on tullut tärkeäksi osaksi koko prosessia. Olio-ohjelmointi ja suunnittelu ovat mahdollistaneet valmiiden luokkien helpomman uudelleenkäytön ja uudelleenkäyttöön myös monet sovelluskehittäjät pyrkivätkin. Nykyaikana uudelleenkäyttöä helpottamaan on olemassa erilaisia teknikoita. Näistä tärkeimpinä voidaan mainita luokkakirjastot, suunnittelumallit (design pattern) ja sovelluskehykset. Sovelluskehykset ovat luokkakokoelmia, jotka tarjoavat hyvän peruslähtökohdan sovelluskehittäjälle työn aloittamiseksi. Yleensä sovelluskehyksiä käytetään toteuttamisvaiheessa mutta sovelluskehykset myös määrittävät osaltaan sovelluksen suunnittelua. Sovelluskehyksen avulla erotellaan siihen liittyvät toiminnallisuudet itse sovelluksen toiminnallisuuksista. Sovelluskehykset voidaan jaotella kahteen ryhmään. On olemassa niin sanottuja valkoisen laatikon ja mustan laatikon kehyksiä. Kehysten erottelu näihin ryhmiin tapahtuu niiden tavalla tarjota luokkien uudelleenkäyttö. Sovelluskehyksistä voidaan löytää ominaisuuksia, joita voidaan käyttää vertailtaessa eri sovelluskehyksiä. Näitä ominaisuuksia ovat laajennettavuus, uudelleenkäytettävyys, modulaarisuus ja skaalautuvuus. Näiden ominaisuuksien avulla voidaan vertailla kuinka sovelluskehykset toimivat eri alustoilla tai kuinka haavoittuvia ne ovat muutoksille osassa kehystä. Pääsääntöisesti sovelluskehyksissä edellä mainitut ominaisuudet ovat hyvällä tasolla. Vertailtaessa yleiseen käyttöön suunniteltua ja tiettyyn ongelmaan suunniteltua sovelluskehystä huomataan, että uudelleenkäytettävyydessä on eroja. Tiettyyn tarkoitukseen suunniteltu kehys esim. asettaa ehtoja ulkoisille ohjelmille ja toimintaympäristölle.

Identificador

http://www.doria.fi/handle/10024/37376

Idioma(s)

en

Palavras-Chave #sovelluskehys #uudelleenkäytettävyys #application frameworks #reusability
Tipo

Master's thesis

Diplomityö