85 resultados para Enterprise Systems, Curricula, Packaged Software
Resumo:
Developing software is a difficult and error-prone activity. Furthermore, the complexity of modern computer applications is significant. Hence,an organised approach to software construction is crucial. Stepwise Feature Introduction – created by R.-J. Back – is a development paradigm, in which software is constructed by adding functionality in small increments. The resulting code has an organised, layered structure and can be easily reused. Moreover, the interaction with the users of the software and the correctness concerns are essential elements of the development process, contributing to high quality and functionality of the final product. The paradigm of Stepwise Feature Introduction has been successfully applied in an academic environment, to a number of small-scale developments. The thesis examines the paradigm and its suitability to construction of large and complex software systems by focusing on the development of two software systems of significant complexity. Throughout the thesis we propose a number of improvements and modifications that should be applied to the paradigm when developing or reengineering large and complex software systems. The discussion in the thesis covers various aspects of software development that relate to Stepwise Feature Introduction. More specifically, we evaluate the paradigm based on the common practices of object-oriented programming and design and agile development methodologies. We also outline the strategy to testing systems built with the paradigm of Stepwise Feature Introduction.
Resumo:
Software is a key component in many of our devices and products that we use every day. Most customers demand not only that their devices should function as expected but also that the software should be of high quality, reliable, fault tolerant, efficient, etc. In short, it is not enough that a calculator gives the correct result of a calculation, we want the result instantly, in the right form, with minimal use of battery, etc. One of the key aspects for succeeding in today's industry is delivering high quality. In most software development projects, high-quality software is achieved by rigorous testing and good quality assurance practices. However, today, customers are asking for these high quality software products at an ever-increasing pace. This leaves the companies with less time for development. Software testing is an expensive activity, because it requires much manual work. Testing, debugging, and verification are estimated to consume 50 to 75 per cent of the total development cost of complex software projects. Further, the most expensive software defects are those which have to be fixed after the product is released. One of the main challenges in software development is reducing the associated cost and time of software testing without sacrificing the quality of the developed software. It is often not enough to only demonstrate that a piece of software is functioning correctly. Usually, many other aspects of the software, such as performance, security, scalability, usability, etc., need also to be verified. Testing these aspects of the software is traditionally referred to as nonfunctional testing. One of the major challenges with non-functional testing is that it is usually carried out at the end of the software development process when most of the functionality is implemented. This is due to the fact that non-functional aspects, such as performance or security, apply to the software as a whole. In this thesis, we study the use of model-based testing. We present approaches to automatically generate tests from behavioral models for solving some of these challenges. We show that model-based testing is not only applicable to functional testing but also to non-functional testing. In its simplest form, performance testing is performed by executing multiple test sequences at once while observing the software in terms of responsiveness and stability, rather than the output. The main contribution of the thesis is a coherent model-based testing approach for testing functional and performance related issues in software systems. We show how we go from system models, expressed in the Unified Modeling Language, to test cases and back to models again. The system requirements are traced throughout the entire testing process. Requirements traceability facilitates finding faults in the design and implementation of the software. In the research field of model-based testing, many new proposed approaches suffer from poor or the lack of tool support. Therefore, the second contribution of this thesis is proper tool support for the proposed approach that is integrated with leading industry tools. We o er independent tools, tools that are integrated with other industry leading tools, and complete tool-chains when necessary. Many model-based testing approaches proposed by the research community suffer from poor empirical validation in an industrial context. In order to demonstrate the applicability of our proposed approach, we apply our research to several systems, including industrial ones.
Resumo:
Many-core systems provide a great potential in application performance with the massively parallel structure. Such systems are currently being integrated into most parts of daily life from high-end server farms to desktop systems, laptops and mobile devices. Yet, these systems are facing increasing challenges such as high temperature causing physical damage, high electrical bills both for servers and individual users, unpleasant noise levels due to active cooling and unrealistic battery drainage in mobile devices; factors caused directly by poor energy efficiency. Power management has traditionally been an area of research providing hardware solutions or runtime power management in the operating system in form of frequency governors. Energy awareness in application software is currently non-existent. This means that applications are not involved in the power management decisions, nor does any interface between the applications and the runtime system to provide such facilities exist. Power management in the operating system is therefore performed purely based on indirect implications of software execution, usually referred to as the workload. It often results in over-allocation of resources, hence power waste. This thesis discusses power management strategies in many-core systems in the form of increasing application software awareness of energy efficiency. The presented approach allows meta-data descriptions in the applications and is manifested in two design recommendations: 1) Energy-aware mapping 2) Energy-aware execution which allow the applications to directly influence the power management decisions. The recommendations eliminate over-allocation of resources and increase the energy efficiency of the computing system. Both recommendations are fully supported in a provided interface in combination with a novel power management runtime system called Bricktop. The work presented in this thesis allows both new- and legacy software to execute with the most energy efficient mapping on a many-core CPU and with the most energy efficient performance level. A set of case study examples demonstrate realworld energy savings in a wide range of applications without performance degradation.
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.
Resumo:
Ohjelmiston suorituskyky on kokonaisvaltainen asia, johon kaikki ohjelmiston elinkaaren vaiheet vaikuttavat. Suorituskykyongelmat johtavat usein projektien viivästymisiin, kustannusten ylittymisiin sekä joissain tapauksissa projektin täydelliseen epäonnistumiseen. Software performance engineering (SPE) on ohjelmistolähtöinen lähestysmistapa, joka tarjoaa tekniikoita suorituskykyisen ohjelmiston kehittämiseen. Tämä diplomityö tutkii näitä tekniikoita ja valitsee niiden joukosta ne, jotka soveltuvat suorituskykyongelmien ratkaisemiseen kahden IT-laitehallintatuotteen kehityksessä. Työn lopputuloksena on päivitetty versio nykyisestä tuotekehitysprosessista, mikä huomioi sovellusten suorituskykyyn liittyvät haasteet tuotteiden elinkaaren eri vaiheissa.
Resumo:
Sustainability in software system is still a new practice that most software developers and companies are trying to incorporate into their software development lifecycle and has been largely discussed in academia. Sustainability is a complex concept viewed from economic, environment and social dimensions with several definitions proposed making sometimes the concept of sustainability very fuzzy and difficult to apply and assess in software systems. This has hindered the adoption of sustainability in the software industry. A little research explores sustainability as a quality property of software products and services to answer questions such as; How to quantify sustainability as a quality construct in the same way as other quality attributes such as security, usability and reliability? How can it be applied to software systems? What are the measures and measurement scale of sustainability? The Goal of this research is to investigate the definitions, perceptions and measurement of sustainability from the quality perspective. Grounded in the general theory of software measurement, the aim is to develop a method that decomposes sustainability in factors, criteria and metrics. The Result is a method to quantify and access sustainability of software systems while incorporating management and users concern. Conclusion: The method will empower the ability of companies to easily adopt sustainability while facilitating its integration to the software development process and tools. It will also help companies to measure sustainability of their software products from economic, environmental, social, individual and technological dimension.
Resumo:
The software development industry is constantly evolving. The rise of the agile methodologies in the late 1990s, and new development tools and technologies require growing attention for everybody working within this industry. The organizations have, however, had a mixture of various processes and different process languages since a standard software development process language has not been available. A promising process meta-model called Software & Systems Process Engineering Meta- Model (SPEM) 2.0 has been released recently. This is applied by tools such as Eclipse Process Framework Composer, which is designed for implementing and maintaining processes and method content. Its aim is to support a broad variety of project types and development styles. This thesis presents the concepts of software processes, models, traditional and agile approaches, method engineering, and software process improvement. Some of the most well-known methodologies (RUP, OpenUP, OpenMethod, XP and Scrum) are also introduced with a comparison provided between them. The main focus is on the Eclipse Process Framework and SPEM 2.0, their capabilities, usage and modeling. As a proof of concept, I present a case study of modeling OpenMethod with EPF Composer and SPEM 2.0. The results show that the new meta-model and tool have made it possible to easily manage method content, publish versions with customized content, and connect project tools (such as MS Project) with the process content. The software process modeling also acts as a process improvement activity.
Resumo:
The aim of this work was to select an appropriate digital filter for a servo application and to filter the noise from the measurement devices. Low pass filter attenuates the high frequency noise beyond the specified cut-off frequency. Digital lowpass filters in both IIR and FIR responses were designed and experimentally compared to understand their characteristics from the corresponding step responses of the system. Kaiser Windowing and Equiripple methods were selected for FIR response, whereas Butterworth, Chebyshev, InverseChebyshev and Elliptic methods were designed for IIR case. Limitations in digital filter design for a servo system were analysed. Especially the dynamic influences of each designed filter on the control stabilityof the electrical servo drive were observed. The criterion for the selection ofparameters in designing digital filters for servo systems was studied. Control system dynamics was given significant importance and the use of FIR and IIR responses in different situations were compared to justify the selection of suitableresponse in each case. The software used in the filter design was MatLab/Simulink® and dSPACE's DSP application. A speed controlled Permanent Magnet Linear synchronous Motor was used in the experimental work.
Resumo:
Tietokonejärjestelmän osien ja ohjelmistojen suorituskykymittauksista saadaan tietoa,jota voidaan käyttää suorituskyvyn parantamiseen ja laitteistohankintojen päätöksen tukena. Tässä työssä tutustutaan suorituskyvyn mittaamiseen ja mittausohjelmiin eli ns. benchmark-ohjelmistoihin. Työssä etsittiin ja arvioitiin eri tyyppisiä vapaasti saatavilla olevia benchmark-ohjelmia, jotka soveltuvat Linux-laskentaklusterin suorituskyvynanalysointiin. Benchmarkit ryhmiteltiin ja arvioitiin testaamalla niiden ominaisuuksia Linux-klusterissa. Työssä käsitellään myös mittausten tekemisen ja rinnakkaislaskennan haasteita. Benchmarkkeja löytyi moneen tarkoitukseen ja ne osoittautuivat laadultaan ja laajuudeltaan vaihteleviksi. Niitä on myös koottu ohjelmistopaketeiksi, jotta laitteiston suorituskyvystä saisi laajemman kuvan kuin mitä yhdellä ohjelmalla on mahdollista saada. Olennaista on ymmärtää nopeus, jolla dataa saadaan siirretyä prosessorille keskusmuistista, levyjärjestelmistä ja toisista laskentasolmuista. Tyypillinen benchmark-ohjelma sisältää paljon laskentaa tarvitsevan matemaattisen algoritmin, jota käytetään tieteellisissä ohjelmistoissa. Benchmarkista riippuen tulosten ymmärtäminen ja hyödyntäminen voi olla haasteellista.
Resumo:
Monimutkaisen tietokonejärjestelmän suorituskykyoptimointi edellyttää järjestelmän ajonaikaisen käyttäytymisen ymmärtämistä. Ohjelmiston koon ja monimutkaisuuden kasvun myötä suorituskykyoptimointi tulee yhä tärkeämmäksi osaksi tuotekehitysprosessia. Tehokkaampien prosessorien käytön myötä myös energiankulutus ja lämmöntuotto ovat nousseet yhä suuremmiksi ongelmiksi, erityisesti pienissä, kannettavissa laitteissa. Lämpö- ja energiaongelmien rajoittamiseksi on kehitetty suorituskyvyn skaalausmenetelmiä, jotka edelleen lisäävät järjestelmän kompleksisuutta ja suorituskykyoptimoinnin tarvetta. Tässä työssä kehitettiin visualisointi- ja analysointityökalu ajonaikaisen käyttäytymisen ymmärtämisen helpottamiseksi. Lisäksi kehitettiin suorituskyvyn mitta, joka mahdollistaa erilaisten skaalausmenetelmien vertailun ja arvioimisen suoritusympäristöstä riippumatta, perustuen joko suoritustallenteen tai teoreettiseen analyysiin. Työkalu esittää ajonaikaisesti kerätyn tallenteen helposti ymmärrettävällä tavalla. Se näyttää mm. prosessit, prosessorikuorman, skaalausmenetelmien toiminnan sekä energiankulutuksen kolmiulotteista grafiikkaa käyttäen. Työkalu tuottaa myös käyttäjän valitsemasta osasta suorituskuvaa numeerista tietoa, joka sisältää useita oleellisia suorituskykyarvoja ja tilastotietoa. Työkalun sovellettavuutta tarkasteltiin todellisesta laitteesta saatua suoritustallennetta sekä suorituskyvyn skaalauksen simulointia analysoimalla. Skaalausmekanismin parametrien vaikutus simuloidun laitteen suorituskykyyn analysoitiin.
Resumo:
Tutkimus on tehty keskisuomalaiselle pk-yritykselle vuosien 2003-2005 aikana. Tutkimusjaksolla kohdeyrityksessä on toteutettu lukuisia mittavia muutoksia ja merkittävä investointiohjelma. Tutkimuksen kannalta oleellisin muutos on ollut yrityksen tietojärjestelmien kokonaisvaltainen uudistaminen. Vanha tuotannonohjausjärjestelmä on korvattu uudella toiminnanohjausjärjestelmällä ja myös taloudenohjausjärjestelmät on uudistettu. Tutkimuksen tavoitteena on ollut laatia kokonaisvaltainen suunnitelma johdon laskentajärjestelmien kehittämiseksi ja selvittää erityisesti toimintolaskentajärjestelmän sekä suorituskyvyn mittaus- ja analysointijärjestelmän implementoinnin edellytyksiä tutkimuksen kohdeyrityksessä ja laatia konkreettinen esitys järjestelmien rakentamiseksi. Johdon laskentajärjestelmän kokonaissuunnitelmassa tarkoituksena on laatia laskentajärjestelmän loogisten elementtien kuvauksen lisäksi esitys tarvittavista sovelluksista sekä tutkia sovellusten välisiä fyysisiä rajapintoja ja suunnitella järjestelmäintegraatio siten, että johdon laskentajärjestelmän koko naissuunnitelma on mahdollista taloudellisesti toteuttaa. Tutkimuksen tavoitteena on lisäksi ollut selvittääyrityksen toimintojen kustannukset ja tuoteryhmien kannattavuudet sekä rakentaasuorituskyvyn mittaus- ja analysointijärjestelmä SAKE prosessi-malliinperustuen. Lisäksi tutkimuksen puitteissa on rakennettu erilaisia liiketoimintaa tukevia raportteja erilaisilla kehitysvälineillä. Tutkimukselle asetetut sisällölliset tavoitteet saavutettiin pääpiirteissään. Jatkuvatoimisten ja integroitujen toimintolaskentajärjestelmän sekä suorituskyvyn mittaus- ja analysointijärjestelmän rakentaminen osoittautui tutkimuksen aikana haastavaksi, joskaan ei mahdottomaksi tehtäväksi. Järjestelmien rakennustyö jatkuu tutkimuksessa esitettyihin ajatuksiin perustuen yhteistyössä ohjelmistotoimittajan kanssa edelleen ja järjestelmät valmistunevat vuosien 2005-2006 aikana.
Resumo:
Diplomityön tavoitteena oli tutkia, miten uusi arkkitehtuurialusta soveltuu erään teolli-suusyrityksen tietojärjestelmien kehittämiseen ja sovellusten toteuttamiseen. Työssä keskeisin käsite oli ohjelmistoarkkitehtuuri ja siihen liittyvät suunnittelumallit sekä komponentit, jotka hyvin suunniteltuina toimivat perustana nopeammalle sovelluskehi-tykselle. Tutkimusmetodina käytettiin konstruktiivista (suunnittelutieteellistä) tutkimusmetodia. Sen vahvat ominaisuudet tukevat tutkimusaiheen innovatiivisuutta sekä soveltavan tie-teen käyttöä uuden tiedon tuottamiseksi. Heikkoutena voinee pitää tulosten analysoinnin vaikeutta, sillä evaluointi tapahtuu käytännöstä saatujen kokemusten perusteella. Työn tuloksena saatiin lisätietämystä komponenttiensuunnitteluun ja toteutukseen liit-tyvissä kysymyksissä. Lisäksi sovelluspalvelimelle luotiin joukko komponentteja, joita tullaan käyttämään jatkossa tietokantasovelluksissa: uusien komponenttien suunnittelua jatketaan ja järjestelmien suunnittelua muutetaan oliopohjaiseksi.
Resumo:
Tutkielman tavoitteena oli tutkia pienten- ja keskisuurten (PK) ohjelmistoyritysten kansainvälisiä kumppanuuksia. Päätavoitteena oli löytää keinoja kuinka PK-ohjelmistoyritykset voisivat tulla strategisiksi kumppaneksi suurten kansainvälisten yritysten kumppanuusohjelmissa. Lisäksi tutkielmassa oli tavoitteena selvittää kuinka kumppaneiden välistä sitoutumista voitaisiin vahvistaa, jotta PK-ohjelmistoyritykset voisivat saavuttaa todellista lisäarvoa ja kansainvälistä kasvua kumppanuusohjelmien kautta. Tutkielma jakaantuu teoreettiseen ja empiiriseen osaan. Teoreettinen osa keskittyy tarkastelemaan korkean teknologian markkinointia ohjelmistoalalla sekä kansainvälisiä kumppanuuksia. Suurten yritystenkumppanuusohjelmia ei ole tutkittu suomalaisten PK-ohjelmistoyritysten näkökulmasta, minkä vuoksi empiirinen tutkimus on perusteltua. Empiirinen tutkimus toteutettiin laadullisena case-tutkimuksena ja tutkimusmenetelmänä käytettiin puolistrukturoitua haastattelua. Tutkimustulokset osoittavat, että strategisen kumppanin aseman saavuttaminen on pitkä ja haastava matka PK-yrityksille. Suurten kansainvälisten yritysten kumppanuusohjelmat ovat useimmiten monimutkaisia ja todellisen lisäarvon saavuttaminen kumppanuusohjelman kautta vaatii paljon resursseja PK-yrityksiltä. Jotta PK-yritykset voisivat saavuttaa ja säilyttää strategisen kumppanin aseman kumppanuusohjelmassa, vaatii se aktiivista ja päivittäistä vuorovaikutusta kumppaneiden kesken. Erityisesti tiiviit henkilösuhteet oikeiden avainhenkilöiden kanssa ovat välttämättömyys. Läheiset kontaktit mahdollistavat sen, että PK-yritykset voivat ainakin osittain ohittaa kumppanuusohjelman byrokratian, mikä lisää luottamusta ja sitoutumista kumppanuussuhteessa sekä edistää kansainvälistä kasvua ja menestystä liiketoiminnassa.
Resumo:
Työ tutkii yritysportaalin roolia organisaation tietojohtamisessa. Tutkimusongelman ratkaisemiseksi luodaan viitekehys, jossa yritysportaalin ja tietojohtamisen teoriat linkittyvät. Työn empiirisessä osassa viitekehys on pohjana case-yritykselle rakennettavalle yritysportaalille. Laadullinen tutkimus käsittää teoriaosuuden sekä osallistuvaan case-tutkimukseen perustuvan empiriaosuuden. Työn runko muodostuu kahden vastakkaisen tietojohtamisajattelun vuoropuhelusta, jotka ovat informaatioteknologiaan- ja strategiseen johtamiseen perustuvat näkökulmat. Toimivan tietojohtamismallin täytyy sisältää molemmat aspektit. Jokainen organisaatio tarvitsee informaation hallintaan liittyviä toiminnallisuuksia ja täten eksplisiittisen tiedon hallinta tietojärjestelmien avulla on onnistuneen tietojohtamisen kulmakiviä. Tätä perusinfrastruktuuria on mahdollista laajentaa hiljaisen tiedon hallintaan perustuvilla tietojohtamismenetelmillä. Työn ratkaisu näiden kahden näkemyksen, 'kovan' informaatioteknogiaan painottuvan sekä 'pehmeän' ihmisnäkökulman integrointiin, on yritysportaali. Työssä käytettävä yritysportaalin viitekehys rakentuu kolmeen päätoiminnallisuuteen; sisällönhallintaan, yhteistyöominaisuuksiin ja liiketoimintatiedon hallintaan. Työ todistaa yhteyden viitekehyksen sekä tietojohtamisen perusmallien, kuten tietojohtamisen prosessimallin sekä tietoympäristöjen välillä. Yritysportaali voi täten toimia, ei ainoastaan yksittäisten tietojohtamistyökalujen implementoinnissa, vaan tietojohtamisstrategian luomisen apuna tarjoten alustan tai 'katalyytin' kokonaisvaltaiselle tietojohtamiselle.
Resumo:
The objective of the dissertation is to increase understanding and knowledge in the field where group decision support system (GDSS) and technology selection research overlap in the strategic sense. The purpose is to develop pragmatic, unique and competent management practices and processes for strategic technology assessment and selection from the whole company's point of view. The combination of the GDSS and technology selection is approached from the points of view of the core competence concept, the lead user -method, and different technology types. In this research the aim is to find out how the GDSS contributes to the technology selection process, what aspects should be considered when selecting technologies to be developed or acquired, and what advantages and restrictions the GDSS has in the selection processes. These research objectives are discussed on the basis of experiences and findings in real life selection meetings. The research has been mainly carried outwith constructive, case study research methods. The study contributes novel ideas to the present knowledge and prior literature on the GDSS and technology selection arena. Academic and pragmatic research has been conducted in four areas: 1) the potential benefits of the group support system with the lead user -method,where the need assessment process is positioned as information gathering for the selection of wireless technology development projects; 2) integrated technology selection and core competencies management processes both in theory and in practice; 3) potential benefits of the group decision support system in the technology selection processes of different technology types; and 4) linkages between technology selection and R&D project selection in innovative product development networks. New type of knowledge and understanding has been created on the practical utilization of the GDSS in technology selection decisions. The study demonstrates that technology selection requires close cooperation between differentdepartments, functions, and strategic business units in order to gather the best knowledge for the decision making. The GDSS is proved to be an effective way to promote communication and co-operation between the selectors. The constructs developed in this study have been tested in many industry fields, for example in information and communication, forest, telecommunication, metal, software, and miscellaneous industries, as well as in non-profit organizations. The pragmatic results in these organizations are some of the most relevant proofs that confirm the scientific contribution of the study, according to the principles of the constructive research approach.