69 resultados para Search Based Software Engineering

em Doria (National Library of Finland DSpace Services) - National Library of Finland, Finland


Relevância:

100.00% 100.00%

Publicador:

Resumo:

This master’s thesis aims to study and represent from literature how evolutionary algorithms are used to solve different search and optimisation problems in the area of software engineering. Evolutionary algorithms are methods, which imitate the natural evolution process. An artificial evolution process evaluates fitness of each individual, which are solution candidates. The next population of candidate solutions is formed by using the good properties of the current population by applying different mutation and crossover operations. Different kinds of evolutionary algorithm applications related to software engineering were searched in the literature. Applications were classified and represented. Also the necessary basics about evolutionary algorithms were presented. It was concluded, that majority of evolutionary algorithm applications related to software engineering were about software design or testing. For example, there were applications about classifying software production data, project scheduling, static task scheduling related to parallel computing, allocating modules to subsystems, N-version programming, test data generation and generating an integration test order. Many applications were experimental testing rather than ready for real production use. There were also some Computer Aided Software Engineering tools based on evolutionary algorithms.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Taking the maximum advantage of technological innovations and the investment in them is of key importance for businesses. The IT industry offers a wide range of innovative high-technology solutions to manage information processing and distribution. However for end-user businesses to make informed decisions in this area is challenging. The aim of this research is to identify the key differences in principal solutions, and what the selection criteria should be for those involved. Existing methodologies for software development are classified, and some key criteria are described to help IT system developers and users determine what are the most important factors in system selection, development and deployment. Statistical data is researched and analysed, a theoretical basis is developed and reviewed, key issues from case studies are identified and generalized to be presented along with the conclusions in the current study. The results give a good basis for corporate consideration and provide overall support to the key decisions in developing web-based software. The conclusion is that new web developments should be considered the stakeholders as an evolution of existing business systems, but they should then pay particular attention to the new advantages that web-based software offers in terms of standardised interfaces and procedures, universal deployment opportunities, and a range of other benefits the study highlights.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

The goal of this thesis is to define and validate a software engineering approach for the development of a distributed system for the modeling of composite materials, based on the analysis of various existing software development methods. We reviewed the main features of: (1) software engineering methodologies; (2) distributed system characteristics and their effect on software development; (3) composite materials modeling activities and the requirements for the software development. Using the design science as a research methodology, the distributed system for creating models of composite materials is created and evaluated. Empirical experiments which we conducted showed good convergence of modeled and real processes. During the study, we paid attention to the matter of complexity and importance of distributed system and a deep understanding of modern software engineering methods and tools.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Vaatimusmäärittely on tärkeä vaihe ohjelmistotuotannossa, koska virheelliset ja puutteelliset asiakasvaatimukset vaikuttavat huomattavasti asiakkaan tyytymättömyyteen ohjelmistotuotteessa. Ohjelmistoinsinöörit käyttävät useita erilaisia menetelmiä ja tekniikoita asiakasvaatimusten kartoittamiseen. Erilaisia tekniikoita asiakasvaatimusten keräämiseen on olemassa valtava määrä.Diplomityön tavoitteena oli parantaa asiakasvaatimusten keräämisprosessia ohjelmistoprojekteissa. Asiakasvaatimusten kartoittamiseen käytettävien tekniikoiden arvioinnin perusteella kehitettiin parannettu asiakasvaatimusten keräämisprosessi. Kehitetyn prosessin testaamiseksi ja parantamiseksi järjestettiin ryhmätyöistuntoja liittyen todellisiin ohjelmistokehitysprojekteihin. Tuloksena vaatimusten kerääminen eri sidosryhmiltä nopeutui ja tehostui. Prosessi auttoi muodostamaan yleisen kuvan kehitettävästä ohjelmistosta, prosessin avulla löydettiin paljon ideoita ja prosessi tehosti ideoiden analysointia ja priorisointia. Prosessin suurin kehityskohde oli fasilitaattorin ja osallistujien valmistautumisessa ryhmätyöistuntoihin etukäteen.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

The aim of this master’s thesis is to study how Agile method (Scrum) and open source software are utilized to produce software for a flagship product in a complex production environment. The empirical case and the used artefacts are taken from the Nokia MeeGo N9 product program, and from the related software program, called as the Harmattan. The single research case is analysed by using a qualitative method. The Grounded Theory principles are utilized, first, to find out all the related concepts from artefacts. Second, these concepts are analysed, and finally categorized to a core category and six supported categories. The result is formulated as the operation of software practices conceivable in circumstances, where the accountable software development teams and related context accepts a open source software nature as a part of business vision and the whole organization supports the Agile methods.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Ohjelmistoprojektit pohjautuvat nykyään useasti osittain itsenäisesti suunniteltujen ja; toteutettujen ohjelmakomponenttien yhdistelemiseen. Tällä keinolla voidaan vähentää kehitystyön; viemää aikaa ja kustannuksia, jotta saadaan tuotettua kilpailukykyisempiä ohjelmistoja.; Tässädokumentissa käsitellään komponenttipohjaisen ohjelmistotuotannon näkökulmia ja; Microsoft .NET Framework ympäristöä, joka on kehitysympäristö komponenttipohjaisille; ohjelmistoille. Lisäksi esitellään tapauskohtainen ohjelmistoprojekti extranet-verkon; toteutukseen.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Requirements-relatedissues have been found the third most important risk factor in software projects and as the biggest reason for software project failures. This is not a surprise since; requirements engineering (RE) practices have been reported deficient inmore than 75% of all; enterprises. A problem analysis on small and low maturitysoftware organizations revealed two; central reasons for not starting process improvement efforts: lack of resources and uncertainty; about process improvementeffort paybacks.; In the constructive part of the study a basic RE method, BaRE, was developed to provide an; easy to adopt way to introduce basic systematic RE practices in small and low maturity; organizations. Based on diffusion of innovations literature, thirteen desirable characteristics; were identified for the solution and the method was implemented in five key components:; requirements document template, requirements development practices, requirements; management practices, tool support for requirements management, and training.; The empirical evaluation of the BaRE method was conducted in three industrial case studies. In; this evaluation, two companies established a completely new RE infrastructure following the; suggested practices while the third company conducted continued requirements document; template development based on the provided template and used it extensively in practice. The; real benefits of the adoption of the method were visible in the companies in four to six months; from the start of the evaluation project, and the two small companies in the project completed; their improvement efforts with an input equal to about one person month. The collected dataon; the case studies indicates that the companies implemented new practices with little adaptations; and little effort. Thus it can be concluded that the constructed BaRE method is indeed easy to; adopt and it can help introduce basic systematic RE practices in small organizations.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Tässä työssä on esitetty sen ohjelmiston kehittämisen prosessi, joka on tarkoitettu annettavien palveluiden valvottavaksi käyttäen prototyyppimallia. Raportti sisältää vaatimusten, kohteisiin suunnatun analyysin ja suunnittelun, realisointiprosessien kuvauksen ja prototyypin testauksen. Ohjelmiston käyttöala – antavien palveluiden valvonta. Vaatimukset sovellukselle analysoitiin ohjelmistomarkkinoiden perusteella sekä ohjelmiston engineeringin periaatteiden mukaisesti. Ohjelmiston prototyyppi on realisoitu käyttäen asiakas-/palvelinhybridimallia sekä ralaatiokantaa. Kehitetty ohjelmisto on tarkoitettu venäläisille tietokonekerhoille, jotka erikoistuvat pelipalvelinten antamiseen.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Työn tarkoituksena oli tutkia tuotteen määrittelyyn liittyvää kirjallisuutta ja perehtyä tuotteen määrittelytyön nykytilaan kohdeyrityksessä. Näihin molempiin perustuen muodostetaan prosessimalli tuotteen määrittelytyölle kohdeyrityksessä. Työssä käsitellään prosessijohtamisen pääperiaatteet sekä tuotteen määrittelyä koskevaa kirjallisuutta ja tutkimuksia. Koska kysessä oleva tuote on suurelta osalta ohjelmistotuote, ohjelmistojen suunnittelua, erityisesti ohjelmistovaatimusten hallintaa ja ohjelmistojen määrittelyä, on myös tarkasteltu työssä. Tuotteen määrittelyn haasteita on käsitelty yksityiskohtaisemmin, esimerkiksi dokumentointia, prosessin kulkua, vaatimusten epävakaisuutta sekä muutoksia. Kohdeyritys ja sen ongelmakohdat esitellään ja luodaan prosessimalli. Tämä malli esittelee seuraavat prosessit: raakavaatimusten hallinta -prosessin, roadmapping -prosessin, esisuunnittelu- ja spesifikaatioprosessin ja julkaisun suunnittelu -prosessin. Kaikki nämä ovat vaiheita ennen varsinaisen tuotekehitysprojektin aloittamista. Työssä esitellään myös kolmetasoinen dokumentaatiomalli.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Formal software development processes and well-defined development methodologies are nowadays seen as the definite way to produce high-quality software within time-limits and budgets. The variety of such high-level methodologies is huge ranging from rigorous process frameworks like CMMI and RUP to more lightweight agile methodologies. The need for managing this variety and the fact that practically every software development organization has its own unique set of development processes and methods have created a profession of software process engineers. Different kinds of informal and formal software process modeling languages are essential tools for process engineers. These are used to define processes in a way which allows easy management of processes, for example process dissemination, process tailoring and process enactment. The process modeling languages are usually used as a tool for process engineering where the main focus is on the processes themselves. This dissertation has a different emphasis. The dissertation analyses modern software development process modeling from the software developers’ point of view. The goal of the dissertation is to investigate whether the software process modeling and the software process models aid software developers in their day-to-day work and what are the main mechanisms for this. The focus of the work is on the Software Process Engineering Metamodel (SPEM) framework which is currently one of the most influential process modeling notations in software engineering. The research theme is elaborated through six scientific articles which represent the dissertation research done with process modeling during an approximately five year period. The research follows the classical engineering research discipline where the current situation is analyzed, a potentially better solution is developed and finally its implications are analyzed. The research applies a variety of different research techniques ranging from literature surveys to qualitative studies done amongst software practitioners. The key finding of the dissertation is that software process modeling notations and techniques are usually developed in process engineering terms. As a consequence the connection between the process models and actual development work is loose. In addition, the modeling standards like SPEM are partially incomplete when it comes to pragmatic process modeling needs, like light-weight modeling and combining pre-defined process components. This leads to a situation, where the full potential of process modeling techniques for aiding the daily development activities can not be achieved. Despite these difficulties the dissertation shows that it is possible to use modeling standards like SPEM to aid software developers in their work. The dissertation presents a light-weight modeling technique, which software development teams can use to quickly analyze their work practices in a more objective manner. The dissertation also shows how process modeling can be used to more easily compare different software development situations and to analyze their differences in a systematic way. Models also help to share this knowledge with others. A qualitative study done amongst Finnish software practitioners verifies the conclusions of other studies in the dissertation. Although processes and development methodologies are seen as an essential part of software development, the process modeling techniques are rarely used during the daily development work. However, the potential of these techniques intrigues the practitioners. As a conclusion the dissertation shows that process modeling techniques, most commonly used as tools for process engineers, can also be used as tools for organizing the daily software development work. This work presents theoretical solutions for bringing the process modeling closer to the ground-level software development activities. These theories are proven feasible by presenting several case studies where the modeling techniques are used e.g. to find differences in the work methods of the members of a software team and to share the process knowledge to a wider audience.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Software plays an important role in our society and economy. Software development is an intricate process, and it comprises many different tasks: gathering requirements, designing new solutions that fulfill these requirements, as well as implementing these designs using a programming language into a working system. As a consequence, the development of high quality software is a core problem in software engineering. This thesis focuses on the validation of software designs. The issue of the analysis of designs is of great importance, since errors originating from designs may appear in the final system. It is considered economical to rectify the problems as early in the software development process as possible. Practitioners often create and visualize designs using modeling languages, one of the more popular being the Uni ed Modeling Language (UML). The analysis of the designs can be done manually, but in case of large systems, the need of mechanisms that automatically analyze these designs arises. In this thesis, we propose an automatic approach to analyze UML based designs using logic reasoners. This approach firstly proposes the translations of the UML based designs into a language understandable by reasoners in the form of logic facts, and secondly shows how to use the logic reasoners to infer the logical consequences of these logic facts. We have implemented the proposed translations in the form of a tool that can be used with any standard compliant UML modeling tool. Moreover, we authenticate the proposed approach by automatically validating hundreds of UML based designs that consist of thousands of model elements available in an online model repository. The proposed approach is limited in scope, but is fully automatic and does not require any expertise of logic languages from the user. We exemplify the proposed approach with two applications, which include the validation of domain specific languages and the validation of web service interfaces.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Työn päätavoitteena oli tuoda esiin tärkeimmät julkistamisprosessin tehokkuuteen vaikuttavat tekijät. Tutkimuksessa tarkasteltiin aihetta julkistamisprojektien vetäjän näkökulmasta. Kirjallinen selvitys kattaa keskeisimmät ohjelmistoprosessin, palvelun laadun sekä projektihallinnan teoriat. Kokeellisena aineistona käytettiin asiakkailta ja myynnin sekä käyttöönoton organisaatioilta tullutta palautetta ja asiantuntijahaastatteluita. Case-tuotteena tarkasteltiin suuren kansainvälisen yrityksen jälleenmyymää leikkaussalihallinnan ohjelmistoa. Tärkeimpiä julkistamisprosessin tehokkuuteen vaikuttavia tekijöitä ovat tiekartan ja julkistamispakettien sisällön hallinta, projektin aikataulujen pitäminen, rehellinen ja nopea kommunikaatio myyntikanavaan ja asiakkaille, sekä hyvin toteutettu testaus. Työssä käydään läpi esimerkkistrategioita kehittymiseen näillä alueilla.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Tämädiplomityö tutkii kuinka Eclipse -ympäristöä voidaan käyttää testitapausten generoinnissa. Eräs diplomityön pääaiheista on tutkia voidaanko olemassa olevilla Eclipsen komponenteilla parantaa symboolitietoutta, jotta testitapausten generointiin saataisiin lisää tietoa. Aluksi diplomityö antaa lyhyen katsauksen ohjelmistojentestaukseen, jotta lukija ymmärtää mitä ohjelmistotekniikan osa-aluetta diplomityö käsittelee. Tämän jälkeen kerrotaan lisää tietoa itse testitapausten generointiprosessista. Kun perusteet on käsitelty, tutustetaan lukija Eclipse -ympäristöön, mikä se on, mistä se koostuu ja mitä sillä voidaan tehdä. Tarkempaa tietoa kerrotaan Eclipsen komponenteista joita voidaan käyttää apuna testitapausten generoinnissa. Integrointi esimerkkinä diplomityössä esitellään valmiin testitapausgeneraattorin integrointi Eclipse -ympäristöön. Lopuksi Eclipse -pohjaista ratkaisua verrataan symboolitietouden sekä ajoajan kannalta aikaisempaan ratkaisuun. Diplomityön tuloksena syntyi prototyyppi jonka avulla todistettiin, että Eclipse - ympäristöön on mahdollista integroida testitapausgeneraattori ja että se voi lisätä symboolitietoutta. Tämätietouden lisäys kuitenkin lisäsi myös tarvittavaa ajoaikaa, joissakintapauksissa jopa merkittävästi. Samalla todettiin, että tällä hetkellä on menossa projekteja joiden tarkoituksena on parantaa käytettyjen Eclipse komponenttien suorituskykyä ja että tämä voi parantaa tuloksia tulevaisuudessa.