130 resultados para Software testing. Problem-oriented programming. Teachingmethodology


Relevância:

40.00% 40.00%

Publicador:

Resumo:

Tehokkaasti toimiva sähköinen tiedonvälitys yrityksen omien sovellusten välillä sekä sen liikekumppaneiden kanssa on kasvanut merkittäväksi yrityksen kilpailukykyä lisääväksi tekijäksi. Yritysten erilaiset tietojärjestelmät asettavat haasteita tehokkaalle tiedonvälitykselle näiden järjestelmien välillä. Perinteiset EDI teknologioihin perustuvat sähköisen tiedonvälityksen ratkaisut eivät pysty mukautumaan nykyisin nopeasti muuttuviin markkinatilanteisiin. Palvelukeskeiseen arkkitehtuuriin ja Web-palveluihin perustuvat teknologiat mahdollistavat mukautumisen erilaisiin muutoksiin liiketoiminnassa nopeammin ja helpommin. Lisäksi ne nopeuttavat tiedon integrointia erilaisten tietojärjestelmien välillä, koska tiedonvälityksessä käytetään yleisesti hyväksyttyihin standardeihin perustuvia tiedonsiirtoprotokollia sekä tietoformaatteja. Diplomityössä esitellään keskeiset teknologiat ja menetelmät sähköisen tiedonvälityksen toteuttamiseen. Lisäksi työssä vertaillaan erilaisia vaihtoehtoja, joilla sähköinen tiedonvälitys voidaan toteuttaa. Vaihtoehtoina työssä ovat tiedonvälityspalveluiden ostaminen toiselta yritykseltä, olemassa olevan valmiin ohjelmiston hyödyntäminen, tai kokonaan uuden sovellusalustan kehittäminen. Työssä kuvaillaan palvelukeskeisen sovellusalustan toteutus, joka mahdollistaa tehokkaan sekä joustavan tiedonvälityksen sovellusten välillä. Alustan tarjoamien palveluiden päälle voidaan rakentaa erilaisia liiketoimintaa tukevia palveluita, jotka voivat hyödyntää sovellusalustan tarjoamia toiminnallisuuksia. Alustan toteutusta arvioidaan kolmen liiketoimintaskenaarion toteutuksesta saatujen kokemusten perusteella.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Software integration is a stage in a software development process to assemble separate components to produce a single product. It is important to manage the risks involved and being able to integrate smoothly, because software cannot be released without integrating it first. Furthermore, it has been shown that the integration and testing phase can make up 40 % of the overall project costs. These issues can be mitigated by using a software engineering practice called continuous integration. This thesis work presents how continuous integration is introduced to the author's employer organisation. This includes studying how the continuous integration process works and creating the technical basis to start using the process on future projects. The implemented system supports software written in C and C++ programming languages on Linux platform, but the general concepts can be applied to any programming language and platform by selecting the appropriate tools. The results demonstrate in detail what issues need to be solved when the process is acquired in a corporate environment. Additionally, they provide an implementation and process description suitable to the organisation. The results show that continuous integration can reduce the risks involved in a software process and increase the quality of the product as well.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Web application performance testing is an emerging and important field of software engineering. As web applications become more commonplace and complex, the need for performance testing will only increase. This paper discusses common concepts, practices and tools that lie at the heart of web application performance testing. A pragmatic, hands-on approach is assumed where applicable; real-life examples of test tooling, execution and analysis are presented right next to the underpinning theory. At the client-side, web application performance is primarily driven by the amount of data transmitted over the wire. At the server-side, selection of programming language and platform, implementation complexity and configuration are the primary contributors to web application performance. Web application performance testing is an activity that requires delicate coordination between project stakeholders, developers, system administrators and testers in order to produce reliable and useful results. Proper test definition, execution, reporting and repeatable test results are of utmost importance. Open-source performance analysis tools such as Apache JMeter, Firebug and YSlow can be used to realise effective web application performance tests. A sample case study using these tools is presented in this paper. The sample application was found to perform poorly even under the moderate load incurred by the sample tests.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Today cloud computing is the next stage in development information-oriented society in field of information technologies. Great attention is paid to cloud computing in general, but the lack of scientific consideration to components brings to the problem, that not all aspects are well examined. This thesis is an attempt to consider Platform as a Service (a technology of providing development environment through the Internet) from divergent angles. Technical characteristics, costs, time, estimation of effectiveness, risks, strategies that can be applied, migration process, advantages and disadvantages and the future of the approach are examined to get the overall picture of cloud platforms. During the work literature study was used to examine Platform as a Service, characteristics of existent cloud platforms were explored and a model of a typical software development company was developed to create a scenario of migration to cloud technologies. The research showed that besides all virtues in reducing costs and time, cloud platforms have some significant obstacles in adoption. Privacy, security and insufficient legislation impede the concept to be widespread.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Agile software development has grown in popularity starting from the agile manifesto declared in 2001. However there is a strong belief that the agile methods are not suitable for embedded, critical or real-time software development, even though multiple studies and cases show differently. This thesis will present a custom agile process that can be used in embedded software development. The reasons for presumed unfitness of agile methods in embedded software development have mainly based on the feeling of these methods providing no real control, no strict discipline and less rigor engineering practices. One starting point is to provide a light process with disciplined approach to the embedded software development. Agile software development has gained popularity due to the fact that there are still big issues in software development as a whole. Projects fail due to schedule slips, budget surpassing or failing to meet the business needs. This does not change when talking about embedded software development. These issues are still valid, with multiple new ones rising from the quite complex and hard domain the embedded software developers work in. These issues are another starting point for this thesis. The thesis is based heavily on Feature Driven Development, a software development methodology that can be seen as a runner up to the most popular agile methodologies. The FDD as such is quite process oriented and is lacking few practices considered commonly as extremely important in agile development methodologies. In order for FDD to gain acceptance in the software development community it needs to be modified and enhanced. This thesis presents an improved custom agile process that can be used in embedded software development projects with size varying from 10 to 500 persons. This process is based on Feature Driven Development and by suitable parts to Extreme Programming, Scrum and Agile Modeling. Finally this thesis will present how the new process responds to the common issues in the embedded software development. The process of creating the new process is evaluated at the retrospective and guidelines for such process creation work are introduced. These emphasize the agility also in the process development through early and frequent deliveries and the team work needed to create suitable process.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

The value and benefits of user experience (UX) are widely recognized in the modern world and UX is seen as an integral part of many fields. This dissertation integrates UX and understanding end users with the early phases of software development. The concept of UX is still unclear, as witnessed by more than twenty-five definitions and ongoing argument about its different aspects and attributes. This missing consensus forms a problem in creating a link between UX and software development: How to take the UX of end users into account when it is unclear for software developers what UX stands for the end users. Furthermore, currently known methods to estimate, evaluate and analyse UX during software development are biased in favor of the phases where something concrete and tangible already exists. It would be beneficial to further elaborate on UX in the beginning phases of software development. Theoretical knowledge from the fields of UX and software development is presented and linked with surveyed and analysed UX attribute information from end users and UX professionals. Composing the surveys around the identified 21 UX attributes is described and the results are analysed in conjunction with end user demographics. Finally the utilization of the gained results is explained with a proof of concept utility, the Wizard of UX, which demonstrates how UX can be integrated into early phases of software development. The process of designing, prototyping and testing this utility is an integral part of this dissertation. The analyses show statistically significant dependencies between appreciation towards UX attributes and surveyed end user demographics. In addition, tests conducted by software developers and industrial UX designer both indicate the benefits and necessity of the prototyped Wizard of UX utility. According to the conducted tests, this utility meets the requirements set for it: It provides a way for software developers to raise their know-how of UX and a possibility to consider the UX of end users with statistical user profiles during the early phases of software development. This dissertation produces new and relevant information for the UX and software development communities by demonstrating that it is possible to integrate UX as a part of the early phases of software development.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

The maintenance of electric distribution network is a topical question for distribution system operators because of increasing significance of failure costs. In this dissertation the maintenance practices of the distribution system operators are analyzed and a theory for scheduling maintenance activities and reinvestment of distribution components is created. The scheduling is based on the deterioration of components and the increasing failure rates due to aging. The dynamic programming algorithm is used as a solving method to maintenance problem which is caused by the increasing failure rates of the network. The other impacts of network maintenance like environmental and regulation reasons are not included to the scope of this thesis. Further the tree trimming of the corridors and the major disturbance of the network are not included to the problem optimized in this thesis. For optimizing, four dynamic programming models are presented and the models are tested. Programming is made in VBA-language to the computer. For testing two different kinds of test networks are used. Because electric distribution system operators want to operate with bigger component groups, optimal timing for component groups is also analyzed. A maintenance software package is created to apply the presented theories in practice. An overview of the program is presented.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

The target of this thesis is to evaluate a bid, project and resource management IT tool for service delivery process via proof-of-concept (POC) project to assess, if the tested software is an appropriate tool for the Case Company’s business requirements. Literature suggests that IT projects implementation is still a grey area in scientific research. Also, IT projects have a notably high rate of failure, one significant reason for this being insufficient planning. To tackle this risk, the Case Company decided to perform a POC project, which involved a hands-on testing period of the assessed system. End users from the business side feel that current, highly tailored project management tool is inflexible, difficult to use, and sets unnecessary limitations for the business. Semi-structured interviews and a survey form are used to collect information about current business practices and business requirements related to the IT tool. For the POC project, a project group involving members from each of the Case Company’s four business divisions was established to perform the hands-on testing. Based on data acquired during the interviews and the hands-on testing period, a target state was defined and a gap analysis was carried out by comparing the features provided by the current tool and the tested tool to the target state, which are, together with the current state description, the most important result of the thesis.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

ICT contributed to about 0.83 GtCO2 emissions where the 37% comes from the telecoms infrastructures. At the same time, the increasing cost of energy has been hindering the industry in providing more affordable services for the users. One of the sources of these problems is said to be the rigidity of the current network infrastructures which limits innovations in the network. SDN (Software Defined Network) has emerged as one of the prominent solutions with its idea of abstraction, visibility, and programmability in the network. Nevertheless, there are still significant efforts needed to actually utilize it to create a more energy and environmentally friendly network. In this paper, we suggested and developed a platform for developing ecology-related SDN applications. The main approach we take in realizing this goal is by maximizing the abstractions provided by OpenFlow and to expose RESTful interfaces to modules which enable energy saving in the network. While OpenFlow is made to be the standard for SDN protocol, there are still some mechanisms not defined in its specification such as settings related to Quality of Service (QoS). To solve this, we created REST interfaces for setting of QoS in the switches which can maximize network utilization. We also created a module for minimizing the required network resources in delivering packets across the network. This is achieved by utilizing redundant links when it is needed, but disabling them when the load in the network decreases. The usage of multi paths in a network is also evaluated for its benefit in terms of transfer rate improvement and energy savings. Hopefully, the developed framework can be beneficial for developers in creating applications for supporting environmentally friendly network infrastructures.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

The vast majority of our contemporary society owns a mobile phone, which has resulted in a dramatic rise in the amount of networked computers in recent years. Security issues in the computers have followed the same trend and nearly everyone is now affected by such issues. How could the situation be improved? For software engineers, an obvious answer is to build computer software with security in mind. A problem with building software with security is how to define secure software or how to measure security. This thesis divides the problem into three research questions. First, how can we measure the security of software? Second, what types of tools are available for measuring security? And finally, what do these tools reveal about the security of software? Measuring tools of these kind are commonly called metrics. This thesis is focused on the perspective of software engineers in the software design phase. Focus on the design phase means that code level semantics or programming language specifics are not discussed in this work. Organizational policy, management issues or software development process are also out of the scope. The first two research problems were studied using a literature review while the third was studied using a case study research. The target of the case study was a Java based email server called Apache James, which had details from its changelog and security issues available and the source code was accessible. The research revealed that there is a consensus in the terminology on software security. Security verification activities are commonly divided into evaluation and assurance. The focus of this work was in assurance, which means to verify one’s own work. There are 34 metrics available for security measurements, of which five are evaluation metrics and 29 are assurance metrics. We found, however, that the general quality of these metrics was not good. Only three metrics in the design category passed the inspection criteria and could be used in the case study. The metrics claim to give quantitative information on the security of the software, but in practice they were limited to evaluating different versions of the same software. Apart from being relative, the metrics were unable to detect security issues or point out problems in the design. Furthermore, interpreting the metrics’ results was difficult. In conclusion, the general state of the software security metrics leaves a lot to be desired. The metrics studied had both theoretical and practical issues, and are not suitable for daily engineering workflows. The metrics studied provided a basis for further research, since they pointed out areas where the security metrics were necessary to improve whether verification of security from the design was desired.

Relevância:

40.00% 40.00%

Publicador:

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.

Relevância:

30.00% 30.00%

Publicador:

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.

Relevância:

30.00% 30.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:

30.00% 30.00%

Publicador:

Resumo:

Euroopan hiukkastutkimuslaitoksen CERNin rakenteilla olevan LHC-hiukkaskiihdyttimen CMS-koeasema on tarkoitettu erityisesti myonin ilmaisuun. Tässä työssä on esitelty CMS-koeaseman RPC-ilmaisintyypin linkkijärjestelmä ja sen testaamiseen tarkoitetut laitteet sekä laitteiden testaamiseen tarvittavat ohjelmistot. Työssä on selvitetty ohjelmien toimivuus ja keskinäinen yhteensopivuus.