Summary: | Ohjelmistokehitys on muuttunut ja monimutkaistunut edellisen 20 vuoden aikana merkittävästi. Uusia järjestelmiä rakennetaan uudelleenkäyttämällä ja yhdistelemällä olemassa olevia komponentteja ja niiden arkkitehtuureja. Ketterät menetelmät ovat hallitseva lähestymistapa suunnitelmalähtöisten menetelmien sijaan. Tutkimuksen tavoitteena oli kartoittaa arkkitehtuurisuunnittelun tilaa avoimen lähdekoodin ja ketterien menetelmien tulokulmista ja selvittää, miten yrityksissä käytetään ohjelmistoarkkitehtuuria tuotannon tukena ja ohjauksessa. Tutkimuksen teoriaosassa käsitellään ohjelmistoarkkitehtuuria avoimen lähdekoodin, koodin uudelleenkäytön ja ketterien menetelmien näkökulmista. Tutkimus toteutettiin kyselytutkimuksena. Kyselytutkimuksen kohderyhmänä olivat IT-alalla työskentelevät henkilöt, jotka päivittäisessä työssään ovat osa arkkitehtonisten suunnittelupäätöksien tekoa. Tutkimustulokset osoittivat, että ohjelmistoarkkitehtuuri on kehittynyt kaavioista ja dokumenteista myös osaksi lähdekoodia. Ohjelmistoarkkitehtuuri on tärkeä apuväline kehityksessä, mikäli sitä osataan käyttää ja se ymmärretään oikein.
Software development has evolved and become more complex over the past 20 years. New systems are built by reusing and merging existing components and their architectures. Agile methods are the dominant approach to software development. The goal of the thesis was to establish an understanding how Finnish companies use software architecture to support communication and development. The thesis focused on how software architecture related to open source, code reuse and agile software development. The theoretical part of the study deals with software architecture from the perspectives of open source, code reuse, and agile methods. The research was conducted with an online survey. The target group of the survey were people working in IT involved in the design decisions related to software architecture. The research findings showed that software architecture has evolved from diagrams and documents into source code as well. Software architecture is an important tool in development if it is used and understood appropriately.
|