171 resultados para Publication software
em Doria (National Library of Finland DSpace Services) - National Library of Finland, Finland
Resumo:
Työn tavoitteena oli suunnitella ja toteuttaa uudistettu versio Lappeenrannan teknillisen yliopiston kirjaston käyttämästä WWW-pohjaisesta julkaisurekisteriohjelmasta. Työssä käsitellään muuttuneita tarpeita ja syitä, jotka johtivat uuden ohjelmiston toteuttamiseen. Ohjelmiston uuteen versioon toteutettiin uusi ohjelmistoarkkitehtuuri, joka perustuu eri toiminnot toteuttaviin komponentteihin rajapintoineen. Tässä raportissa kuvataan ohjelmistoon liittyvät vaatimukset, projektin toteutukseen käytetyt tekniset ratkaisut sekä ohjelmiston toiminnallisuus käyttöliittymäkuvineen. Lisäksi käsitellään Ajax-tekniikoiden hyödyntämistä ohjelmiston käyttöliittymän vuorovaikutteisuuden parantamiseen. Lopuksi käsitellään toteutunutta projektia ja lopputuloksen merkitystä.
Resumo:
Dagens programvaruindustri står inför alltmer komplicerade utmaningar i en värld där programvara är nästan allstädes närvarande i våra dagliga liv. Konsumenten vill ha produkter som är pålitliga, innovativa och rika i funktionalitet, men samtidigt också förmånliga. Utmaningen för oss inom IT-industrin är att skapa mer komplexa, innovativa lösningar till en lägre kostnad. Detta är en av orsakerna till att processförbättring som forskningsområde inte har minskat i betydelse. IT-proffs ställer sig frågan: “Hur håller vi våra löften till våra kunder, samtidigt som vi minimerar vår risk och ökar vår kvalitet och produktivitet?” Inom processförbättringsområdet finns det olika tillvägagångssätt. Traditionella processförbättringsmetoder för programvara som CMMI och SPICE fokuserar på kvalitets- och riskaspekten hos förbättringsprocessen. Mer lättviktiga metoder som t.ex. lättrörliga metoder (agile methods) och Lean-metoder fokuserar på att hålla löften och förbättra produktiviteten genom att minimera slöseri inom utvecklingsprocessen. Forskningen som presenteras i denna avhandling utfördes med ett specifikt mål framför ögonen: att förbättra kostnadseffektiviteten i arbetsmetoderna utan att kompromissa med kvaliteten. Den utmaningen attackerades från tre olika vinklar. För det första förbättras arbetsmetoderna genom att man introducerar lättrörliga metoder. För det andra bibehålls kvaliteten genom att man använder mätmetoder på produktnivå. För det tredje förbättras kunskapsspridningen inom stora företag genom metoder som sätter samarbete i centrum. Rörelsen bakom lättrörliga arbetsmetoder växte fram under 90-talet som en reaktion på de orealistiska krav som den tidigare förhärskande vattenfallsmetoden ställde på IT-branschen. Programutveckling är en kreativ process och skiljer sig från annan industri i det att den största delen av det dagliga arbetet går ut på att skapa något nytt som inte har funnits tidigare. Varje programutvecklare måste vara expert på sitt område och använder en stor del av sin arbetsdag till att skapa lösningar på problem som hon aldrig tidigare har löst. Trots att detta har varit ett välkänt faktum redan i många decennier, styrs ändå många programvaruprojekt som om de vore produktionslinjer i fabriker. Ett av målen för rörelsen bakom lättrörliga metoder är att lyfta fram just denna diskrepans mellan programutvecklingens innersta natur och sättet på vilket programvaruprojekt styrs. Lättrörliga arbetsmetoder har visat sig fungera väl i de sammanhang de skapades för, dvs. små, samlokaliserade team som jobbar i nära samarbete med en engagerad kund. I andra sammanhang, och speciellt i stora, geografiskt utspridda företag, är det mera utmanande att införa lättrörliga metoder. Vi har nalkats utmaningen genom att införa lättrörliga metoder med hjälp av pilotprojekt. Detta har två klara fördelar. För det första kan man inkrementellt samla kunskap om metoderna och deras samverkan med sammanhanget i fråga. På så sätt kan man lättare utveckla och anpassa metoderna till de specifika krav som sammanhanget ställer. För det andra kan man lättare överbrygga motstånd mot förändring genom att introducera kulturella förändringar varsamt och genom att målgruppen får direkt förstahandskontakt med de nya metoderna. Relevanta mätmetoder för produkter kan hjälpa programvaruutvecklingsteam att förbättra sina arbetsmetoder. När det gäller team som jobbar med lättrörliga och Lean-metoder kan en bra uppsättning mätmetoder vara avgörande för beslutsfattandet när man prioriterar listan över uppgifter som ska göras. Vårt fokus har legat på att stöda lättrörliga och Lean-team med interna produktmätmetoder för beslutsstöd gällande så kallad omfaktorering, dvs. kontinuerlig kvalitetsförbättring av programmets kod och design. Det kan vara svårt att ta ett beslut att omfaktorera, speciellt för lättrörliga och Lean-team, eftersom de förväntas kunna rättfärdiga sina prioriteter i termer av affärsvärde. Vi föreslår ett sätt att mäta designkvaliteten hos system som har utvecklats med hjälp av det så kallade modelldrivna paradigmet. Vi konstruerar även ett sätt att integrera denna mätmetod i lättrörliga och Lean-arbetsmetoder. En viktig del av alla processförbättringsinitiativ är att sprida kunskap om den nya programvaruprocessen. Detta gäller oavsett hurdan process man försöker introducera – vare sig processen är plandriven eller lättrörlig. Vi föreslår att metoder som baserar sig på samarbete när processen skapas och vidareutvecklas är ett bra sätt att stöda kunskapsspridning på. Vi ger en översikt över författarverktyg för processer på marknaden med det förslaget i åtanke.
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:
Tässä insinöörityössä selvitettiin mahdollisuuksia parantaa Tapiola-ryhmän Yhtiökokousjärjestelmä-ohjelmiston ominaisuuksia ja tietoturvallisuutta. Järjestelmää käytetään Tapiola-ryhmän vakuutusyhtiöiden yhtiökokouksiin osallistuvien osakkaiden kirjaamiseen ja heidän äänten laskentaan. Tutkimuksen perusteella tehtiin järjestelmän määrittely ja suunnittelu, joiden tuloksena syntyivät toiminnallinen ja tekninen määrittelydokumentaatio, jotka toimivat pohjana uuden Yhtiökokousjärjestelmän toteutukselle. Työ tehtiin Tapiola-ryhmälle Tieto-Tapiola Oy:n tilauksesta. Työn alussa tutkittiin erilaisia mahdollisuuksia toteuttaa järjestelmän ohjelmisto- ja tietokanta-arkkitehtuuri, joiden perusteella määrittelyä ja suunnittelua alettiin toteuttaa. Tutkimuksen perusteella päädyttiin käyttämään Java SE -arkkitehtuuria sovelluksen toteutukseen ja SQL Server -tietokantaa järjestelmän tietovarastona. Valittuihin ratkaisuihin päädyttiin niiden hyvien tietoturvallisuus- ja kertakirjausominaisuuksien takia. Toiminnallisessa määrittelydokumentissa käydään läpi järjestelmälle asetettuja vaatimuksia ja kuvataan sen toiminnot, liiketoimintaluokkamalli, käyttöliittymä ja tulosteet. Lisäksi siinä otetaan kantaa järjestelmän käyttöympäristöön, ulkoisiin tietokantaliittymiin, käyttäjän tunnistautumiseen ja tietoturvallisuuteen sekä käydään läpi sen toiminta käyttäjien näkökulmasta. Toiminnallisen määrittelydokumentin pohjalta luotiin tekninen määrittelydokumentti. Siinä kuvataan järjestelmän ympäristö ja ohjelmisto- sekä tietokanta-arkkitehtuuri yleisellä tasolla. Tämän lisäksi järjestelmän arkkitehtuuria käydään myös tarkemmin läpi sekä kuvataan moduulit ja toiminnot niin tarkasti, että niiden perusteella voidaan toteuttaa koko järjestelmä. Työn tuloksena syntyivät kattava toiminnallinen ja tekninen määrittelydokumentaatio, joissa käydään läpi kaikki järjestelmän toteuttamiseen tarvittavat elementit sillä tarkkuudella, että järjestelmän toteuttaminen voidaan aloittaa.
Resumo:
This thesis is based on a questionnaire presented to pilot students on the Degree Programme in Media, at Helsinki Polytechnic Stadia, of 1999. The initial aim was to discover whether the school was of use in the transition process into a field of work. Based on this, the questions for a questionnaire were formulated. The research thus aimed at answering questions concerning a) whether the education answered the need of working life b) the work situation of respondents and c) how respondents saw the future of Arts Management as well as themselves. The questionnaire was prepared using Stadia's Elomake software on the Internet. There was also a project specific contract for this final project, allowing information gathered during the project to be used in regional curriculum work. The thesis deals with Arts Management curriculum work within the framework provided by polytechnic law as well as Stadia's curriculum work processes. Research and education in Arts Management in Finland generally is also studied, and specifically in Stadia itself. The essence of this final project is derived from the analysis of the answers to the questionnaire. All responses were analysed, with the answers being divided into three subheadings according to the research questions. Questions and answers were also examined through a correlation matrix in an attempt to discover the dependency between things and conclusions were made in the light of relevant source literature. The questionnaire is meant to be used for the follow-up of every graduating Arts Management group. Information obtained through this questionnaire will of benefit in preliminary curriculum work.
Resumo:
Työ tehtiin Nokia Technology Platforms S60 Mobile Runtime-yksikölle. Työn tavoitteena oli evaluoida ATS3-testausjärjestelmä. ATS3-järjestelmällä voidaan automatisoida ohjelmistotestausta. Evaluoinnilla pyrittiin selvittämään voidaanko tuotekehitysvaiheessa oleva järjestelmä ottaa jo käyttöön vai vaatiiko se vielä lisäkehitystä. Työssä kerrotaan aluksi yleisesti ohjelmistotestauksesta. Siinä käydään läpi myös testausprosessin vaiheet sekä kerrotaan lyhyesti avuksi kehitetyistä työkaluista. Työssä kerrotaan myös ATS3-järjestelmän edeltäjien ominaisuuksista, sekä miten ne eroavat tarkastelun kohteena olevasta järjestelmästä. Varsinainen evaluointi alkoi tutustumalla ja asentamalla järjestelmä. Tämän jälkeen suoritettiin samat testit sekä ATS2.x-järjestelmässä että ATS3-järjestelmäss. Testauksen jälkeen analysoitiin testitulosten yhdenmukaisuuden perusteella, voidaanko siirtyä käyttömään ATS3-järjestelmää. Testitulokset olivat käytännässä yhdenmukaiset suoritettaessa testejä matkapuhelimessa, mutta emulaattoritestaus täytyi jättää väliin. Lukuisista yrityksistä sekä järjestelmän kehittäjän avusta huolimatta testejä ei onnistuttu suorittamaan ATS3-järjestelmän emulaattoriympäristössä. Näin ollen päädyttiin tulokseen, ettei järjestelmää voida ottaa vielä käytöön emulaattoritestauksessa, vaan se vaatii lisätutkimusta sekä perehtymistä järjestelmään.
Resumo:
Tämä insinöörityö tehtiin ABB Oy, Drivesin Product AC -tulosyksikön tuotekehitysosastolle Helsingissä. Työssä kehitettiin taajuusmuuttajien suorituskyvyn automaattinen testausympäristö. ABB:n taajuusmuuttajien suorituskykytestejä ei ole aikaisemmin automatisoitu. Testit on tehty käsin ja niiden suorittamiseen ja tulosten käsittelyyn on kulunut paljon aikaa. Automaattisella testauksella pyrittiin testien suorittamiseen ja tulosten käsittelyyn kuluvan ajan huomattavaan pienentymiseen. Työssä ei ollut tarkoituksena tehdä suorituskykytestejä vaan kehittää automaattinen testausympäristö eli suorituskykytestipenkki, jossa suorituskykytestit on mahdollista suorittaa. Työssä keskityttiin taajuusmuuttajan nopeus- ja momenttisäätäjien suorituskykyyn. Työ toteutettiin suunnittelu- ja ohjelmointityönä. Testausympäristön laitteisto perustuu ABB:n tuotekehityslaboratorioiden olemassaoleviin testipaikkoihin. Testausympäristössä käytetään taajuusmuuttajien lisäksi pääasiassa kolmivaiheisia oikosulkumoottoreita. Lisäksi laitteistoon kuuluu ACS800-sarjan taajuusmuuttaja kuormakäyttönä, momenttianturi ja takometri eli kierrosnopeusmittari. Ohjelmointi tehtiin National Instrumentsin LabVIEW-ohjelmointiympäristön versiolla 8.0. Testausympäristön käyttöliittymänä toimii saman yrityksen TestStand-testausohjelmiston versio 3.5. Testattavien taajuusmuuttajien ohjausta ja momenttianturin lukemista varten ohjelmoitiin virtuaali-instrumentteja. Virtuaali-instrumentteja kutsutaan TestStand-testisekvensseistä. Testisekvenssit luodaan TestStandin sekvenssieditorilla ja suoritetaan sekvenssieditorissa tai operaattorin käyttöliittymässä. Työn tuloksena syntyi taajuusmuuttajien suorituskyvyn automaattinen testausympäristö. Testausympäristöä voidaan hyödyntää sekä nykyisen että seuraavan sukupolven taajuusmuuttajien testauksessa. Sillä on mahdollista suorittaa yleisimmät taajuusmuuttajien suorituskykytestit, kuten nopeus- ja momenttisäätöjen staattinen ja dynaaminen tarkkuus, hyvin kattavasti. Testit voidaan automaattisesti suorittaa koko testikäytön sallimalla pyörimisnopeus- ja kuormitusalueella. Näytteenottotaajuus voi olla enintään 1 kHz luettaessa pyörimisnopeutta ACS800-sarjan taajuusmuuttajan kautta ja momenttianturia samanaikaisesti. Virtuaali-instrumenteista koostuvia testisekvenssejä voidaan vapaasti muokata ja kehittää testejä edelleen tai luoda kokonaan uusia testejä. Testausympäristö perustuu teollisuudessa yleisesti käytettyihin ohjelmistoihin ja tarjoaa hyvät mahdollisuudet jatkokehitykselle.
Resumo:
Tämän insinöörityön tavoitteena oli suunnitella ja toteuttaa selainpohjainen käyttäjienhallintaohjelma GateKeeper Karttakeppi.com-työryhmälle. GateKeeper-ohjelma kuuluu osana laajempaan ohjelmistoprojektiin, jonka tarkoituksena on tuottaa opetusmateriaalia etäopiskelijoille Internetissä. Etäopetusmateriaalin tuottamisessa käytetään useita ohjelmia, joille on määriteltävä eritasoisia käyttäjätunnuksia ja käyttöoikeuksia. Ohjelmien käyttäjienhallintamekanismit ovat erilaisia, mikä osaltaan lisää järjestelmän ylläpitäjien työtä ja vastuuta. GateKeeper-ohjelman tavoitteena on nopeuttaa, helpottaa ja yksinkertaistaa käyttäjienhallintaan liittyviä toimintoja tietoturvallisesti. GateKeeper-ohjelma on suunniteltu siten, että uusien käyttäjien ja ohjelmien lisäämiselle ei ole asetettu rajoja. Jokaisen lisättävän ohjelman yhteydessä on kuitenkin selvitettävä kyseisen ohjelman käyttäjienhallintamekanismi. Tässä insinöörityössä tutkittiin, miten versionhallintaohjelma Subversionin, julkaisujärjestelmä Mambon, sekä oppimisalusta Moodlen käyttäjiä voidaan keskitetysti hallinnoida GateKeeper-ohjelman avulla. GateKeeper-ohjelma noudattaa arkkitehtuuriltaan kolmikerrosmallia, jossa käyttöliittymä, sovelluslogiikka ja tietovarasto on erotettu toisistaan. Ohjelma koostuu joukosta PHP-kielellä toteutettuja dynaamisia web-sivuja. Tietovarastona käytetään tietokantapalvelimella sijaitsevaa MySQL-tietokantaa.