18 resultados para UML (INFORMATICA)
em Doria (National Library of Finland DSpace Services) - National Library of Finland, Finland
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.
Resumo:
Ohjelmistoprosesseissa kulkee käytännössä sama tieto muuntuen eri vaiheissa käyttökohteensa mukaan. Tätä mallinnusinformaatiota on mahdollista siirtää ja käyttää uudelleen, mikä säästää resursseja ja vähentää riskejä kaikissa projektin vaiheissa. Projektin alussa ohjelmiston toimintoja suunnitellaan ja niitä mallinnetaan esim. UML-malleilla. Tätä mallinnusinformaatiota hallitaan erilaisilla CASE-työkaluilla, joiden avullamalleja on helppo konvertoida toteutusvaihetta varten lähdekoodiksi. Lähdekoodivoidaan tuoda takaisin malliksi jatkosuunnittelua varten, jos työkalu tukee ominaisuutta. Testausvaiheessa lähdekoodi voidaan parsia, jotta siitä saadaan esille olennainen mallinnusinformaatio testejä varten. Lopulta dokumentaatiota voidaan generoida automaattisesti esim. Javadocilla. Mallinnusinformaation hyödyntäminen onnistuu hyvin teoriassa, mutta se ei ole niin suoraviivaista käytännössä. Tämänhetkiset työkalut eivät ole tarpeeksi joustavia mallinnusinformaation palauttamiseksi edellisiin vaiheisiin, joten ne ajavat toteuttamaan projekteja lineaarisesti. Keskikokoisessakin ohjelmistoprojektissa on suuri määrä mallinnusinformaatiota ja se lisää haasteita. Vaikka työkalut ovat kankeita, mallinnusinformaation hyödyntämisen on koettu tehostavan ohjelmistoprosesseja. Siksi sen keinoja tutkitaan ahkerasti.
Resumo:
Tämän diplomityön tarkoituksena on kuvata tiettyjen kunnallisten palvelujen rakenne ja prosessikuvaukset. Rakenne kuvataan OWL-mallinnuskielellä ja palvelun käyttäjien suorittamat toiminnot BPML-mallinnuskielen avulla. Työssä on tarkoituksena esittää, kuinka sekä rakenne että toiminnot pystytään kuvaamaan XML-pohjaisen esitystavan avulla, joita nämä OWL- ja BPML-mallinnuskielet ovat. Ensin esitellään työssä käytetyt mallinnuskielet ja ne ominaisuudet, jotka liittyvät tähän tutkimukseen. Tämän jälkeen esitellään työtä varten tehdyt työnkulkukaaviot ja rakennekaaviot,sekä näiden jalostus lopulliseen OWL-muotoon ja BPMN-muotoon . Työ jakautuu kahteen eri osavaiheeseen, joissa ensimmäisessä kerrotaan kuinka kunnallisen palvelun käsitemalli esitetään UML -luokkakaavioiden avulla ja kuinka tämä jalostetaan lopulliseen OWL-muotoon. Toinen osa työstä keskittyy palvelun prosessien mallintamiseen UML-työnkulkukaavioilla ja näiden kaavioiden muokkaamiseen BPMN-muotoon eli liiketoimintaprosessidiagrammeiksi. Kunnallisista palveluista valittiin tähän diplomityöhän tilanvaraus, jonka toimintaa on tarkasteltu haastattelemalla kuntien toimijoita, jotka ovat työssään tekemisissä tilanvaraustoimintojen kanssa. Tilanvarauksen osalta haastattelutiedot olivat valmiiksi saatavilla projektin avulla Päijät-Hämeen osalta, tosin tietojatäydennettiin haastattelemalla Kouvolan tilanvarauksesta huolehtivia henkilöitä.
Resumo:
Ohjelmiston kehitystyökalut käyttävät infromaatiota kehittäjän tuottamasta lähdekoodista. Informaatiota hyödynnetään ohjelmistoprojektin eri vaiheissa ja eri tarkoituksissa. Moderneissa ohjelmistoprojekteissa käytetyn informaation määrä voi kasvaa erittäin suureksi. Ohjelmistotyökaluilla on omat informaatiomallinsa ja käyttömekanisminsa. Informaation määrä sekä erilliset työkaluinformaatiomallit tekevät erittäin hankalaksi rakentaa joustavaa työkaluympäristöä, erityisesti ongelma-aluekohtaiseen ohjelmiston kehitysprosessiin. Tässä työssä on analysoitu perusinformaatiometamalleja Unified Modeling language kielestä, Python ohjelmointikielestä ja C++ ohjelmointikielestä. Metainformaation taso on rajoitettu rakenteelliselle tasolle. Ajettavat rakenteet on jätetty pois. ModelBase metamalli on yhdistetty olemassa olevista analysoiduista metamalleista. Tätä metamallia voidaan käyttää tulevaisuudessa ohjelmistotyökalujen kehitykseen.
Resumo:
Tässä diplomityössä on käsitelty tietojärjestelmien tukipalveluun liittyviä prosesseja ja toimintoja. Tukipalvelutoiminnot ovat tietojärjestelmäteollisuuden merkittävä osa-alue ja siihen nähden aiheen tutkimus on ollut hyvin vähäistä. Viimeaikoina aihe on herättänyt kiinnostusta varsinkin asiakaskohtaisia ohjelmistoja toimittavien ohjelmistoyritysten keskuudessa. Diplomityön tarkoituksena oli suunnitella ja kehittää Helsoft Oy:n asiakaskohtaisten ohjelmistojen tukipalvelutoimintoja. Tämän työn näkökulmasta tukipalveluun kuuluu tietojärjestelmän toimituksen jälkeinen asiakkaiden neuvontapalvelu sekä ohjelmiston muutos- ja ylläpitopalvelu. Tukipalvelun sisältö vaihtelee usein asiakaskohtaisesti. Tämän vuoksi tukipalvelusta on syytä tehdä asianmukainen toimittajan ja asiakkaan välinen sopimus. Sopimuksen lisäksi tässä työssä on käsitelty myös muita tukipalvelun työkaluja kuten esimerkiksi tukipalveluohjetta, joka muodostetaan tukipalveluun ottamisvaiheessa. Työn teoriaosassa on käsitelty tietojärjestelmien tukipalvelun perusasioita sekä edellytyksiä tukipalveluprosessin onnistuneen kuvauksen muodostamiselle. Prosessin kuvauskieleksi on valittu UML. Työn soveltavan osuuden sisältö koostuu Helsoftin tukipalvelun nykytilanteen kartoituksesta, uuden yhtenäisemmän prosessimallin suunnittelusta (vaihe 1) sekä tukipalveluprosessin jatkokehityksen ja tehostamisen (vaihe 2) suunnittelusta. Uusi yhtenäinen prosessimalli on suhteellisen helposti käyttöönotettavissa ja standardinmukaisen kuvaustavan johdosta sitä voidaan kehittää jatkossa jatkuvan parantamisen periaatteella.
Resumo:
Key management has a fundamental role in secure communications. Designing and testing of key management protocols is tricky. These protocols must work flawlessly despite of any abuse. The main objective of this work was to design and implement a tool that helps to specify the protocol and makes it possible to test the protocol while it is still under development. This tool generates compile-ready java code from a key management protocol model. A modelling method for these protocols, which uses Unified Modeling Language (UML) was also developed. The protocol is modelled, exported as an XMI and read by the code generator tool. The code generator generates java code that is immediately executable with a test software after compilation.
Resumo:
Mobiililaitteisiin tehdyt sovellukset ovat nykyään laajassa käytössä. Mobiilisovellukset tarjoavat käyttäjälleen usein tietyn ennalta määritellyn toiminnallisuuden eivätkä ne pysty mukautumaan vaihtelevaan käyttöympäristöönsä. Jos sovellus olisi tietoinen käyttöympäristöstään ja sen muutoksista, se voisi tarjota käyttäjälleen tilanteeseen sopivia ominaisuuksia. Käyttöympäristöstään tietoiset hajautetut sovellukset tarvitsevat kuitenkin huomattavasti perinteisiä sovelluksia monimutkaisemman arkkitehtuurin toimiakseen. Tässä työssä esitellään hajautetuille ja kontekstitietoisille sovelluksille tarkoitettu ohjelmistoarkkitehtuuri. Työ perustuu Oulun yliopiston CAPNET-tutkimusprojektissa kehitettyyn, mobiilisovelluksille tarkoitettuun arkkitehtuuriin. Tämän työn tarkoituksena on tarjota ratkaisuja niihin puutteisiin, jotka tulivat esille CAPNET-arkkitehtuurin kehitys- ja testausvaiheessa. Esimerkiksi arkkitehtuurin komponenttien määrittelyä tulisi tarkentaa ja ne tulisi jakaa horisontaalisiin kerroksiin niiden ominaisuuksien ja alustariippuvuuden mukaisesti. Työssä luodaan katsaus olemassa oleviin teknologioihin jotka tukevat hajautettujen ja kontekstitietoisten järjestelmien kehittämistä. Myös niiden soveltumista CAPNET-arkkitehtuuriin analysoidaan. Työssä esitellään CAPNET-arkkitehtuuri ja ehdotetaan uutta arkkitehtuuria ja komponenttien kerrosjaottelua. Ehdotuksessa arkkitehtuurin komponentit ja järjestelmän rakenne määritellään ja mallinnetaan UML-menetelmällä. Työn tuloksena on arkkitehtuurimäärittely, joka jakaa nykyisen arkkitehtuurin komponentit kerroksiin. Komponenttien rajapinnat on määritelty selkeästi ja tarkasti. Työ tarjoaa myös projektiryhmälle hyvän lähtökohdan uuden arkkitehtuurin suunnittelulle ja toteuttamiselle.
Resumo:
IP-verkko asettaa uusia vaatimuksia palveluntarjoajille multimedianeu-vottelupalvelujen toteuttamisessa. Samalla kuitenkin mahdollistuu myös ominaisuuksia, joita ei ole aikaisemmin voitu toteuttaa. Keskeinen elementti IP-pohjaisille on H.323-suosituk-seen pohjautuva MCU. Tässä työssä esitellään ja vertaillaan multimedianeuvottelupalveluissa ennen ja nykyään käytettyä tekniikkaa. Huomiota kiinnitetään myös neuvottelukulttuuriin ja multimedianeuvotteluissa tarvittaviin rooleihin. Työn käytännön osuudessa toteutettiin prototyyppi neuvottelupalvelusta, joka hyödyntää IP-maailman mahdollistamia uusia ominaisuuksia. Toteutuksen suunnitteluun, määrittelyyn ja dokumentointiin käytettiin UML-kieltä. Ohjelmointikielenä käytettiin Javaa.
Resumo:
Oliopohjainen lähestymistapa on varsin uusi toimintaperiaate käytännön ohjelmistotuotantoprosesseissa. Oliopohjaisuus mahdollistaa nopean ja tehokkaan ohjelmistotuotannon sekä tuottaa uudelleenkäytettäviä luokkia. Tässä työssä tutkitaan oliopohjaisen mallinnuksen käyttömahdollisuuksia erään ohjelmistotuotteen kehityksessä ja keskitytään tuotteen määrittely- ja suunnitteluvaiheisiin. Tavoitteena on konkretisoida tarkastelun kohteena olevalle yritykselle oliopohjaisen mallinnuksen käyttötavat ja -mahdollisuudet osana yrityksen ohjelmistotuotantoprosessia. Työssä tarkastellaan yleisiä oliopohjaisen mallinnuksen toimintoja määrittely- ja suunnitteluvaiheissa. Erityisesti tarkastellaan yrityksen omaa ohjelmistotuotantoprosessia, TE Objectia, ja sen yhtymäkohtia yleisen oliopohjaisen mallinnuksen kanssa. Työssä kuvataan ohjelmistotuote, mallinnetaan ohjelmistotuotteen osa TE Objectia hyödyntäen ja pohditaan TE Objectin soveltuvuutta kyseisen tuotteen määrittelyyn ja suunnitteluun. Oliopohjaisen mallinnuksen todetaan sopivan hyvin tarkastellun tuotepohjaisen ohjelmiston kehitykseen. Tarkasteltavan tuotteen kehityksen pääpaino on uudelleenkäytettävyydellä, jota oliopohjainen mallintaminen erityisesti tukee. Kohdeyrityksen oman ohjelmistotuotantoprosessin, TE Objectin, todetaan vastaavan hyvin yleistä oliopohjaista mallinnusta määrittely- ja suunnitteluvaiheissa ja sitä suositellaan hyödynnettävän tarkastellun tuotteen määrittelyyn ja suunnitteluun soveltuvin osin. Työssä mallinnettiin kohdeyrityksen tuotteen osa esimerkinomaisesti, mikä konkretisoi TE Objectin käyttömahdollisuuksia osana yrityksen ohjelmistotuotantoprosessia.
Resumo:
Tämä diplomityökuuluu tietoliikenneverkkojen suunnittelun tutkimukseen ja pohjimmiltaan kohdistuu verkon mallintamiseen. Tietoliikenneverkkojen suunnittelu on monimutkainen ja vaativa ongelma, joka sisältää mutkikkaita ja aikaa vieviä tehtäviä. Tämä diplomityö esittelee ”monikerroksisen verkkomallin”, jonka tarkoitus on auttaa verkon suunnittelijoita selviytymään ongelmien monimutkaisuudesta ja vähentää verkkojen suunnitteluun kuluvaa aikaa. Monikerroksinen verkkomalli perustuu yleisille objekteille, jotka ovat yhteisiä kaikille tietoliikenneverkoille. Tämä tekee mallista soveltuvan mielivaltaisille verkoille, välittämättä verkkokohtaisista ominaisuuksista tai verkon toteutuksessa käytetyistä teknologioista. Malli määrittelee tarkan terminologian ja käyttää kolmea käsitettä: verkon jakaminen tasoihin (plane separation), kerrosten muodostaminen (layering) ja osittaminen (partitioning). Nämä käsitteet kuvataan yksityiskohtaisesti tässä työssä. Monikerroksisen verkkomallin sisäinen rakenne ja toiminnallisuus ovat määritelty käyttäen Unified Modelling Language (UML) -notaatiota. Tämä työ esittelee mallin use case- , paketti- ja luokkakaaviot. Diplomityö esittelee myös tulokset, jotka on saatu vertailemalla monikerroksista verkkomallia muihin verkkomalleihin. Tulokset osoittavat, että monikerroksisella verkkomallilla on etuja muihin malleihin verrattuna.
Resumo:
Vaatimusmäärittelyn tavoitteena on luoda halutun järjestelmän kokonaisen, yhtenäisen vaatimusluettelon vaatimusten määrittämiseksi käsitteellisellä tasolla. Liiketoimintaprosessien mallintaminen on varsin hyödyllinen vaatimusmäärittelyn varhaisissa vaiheissa. Tämä työ tutkii liiketoimintaprosessien mallintamista tietojärjestelmien kehittämistä varten. Nykyään on olemassa erilaisia liiketoimintaprosessien mallintamiseen tarkoitettuja tekniikoita. Tämä työ tarkastaa liiketoimintaprosessien mallintamisen periaatteet ja näkökohdat sekä eri mallinnustekniikoita. Uusi menetelmä, joka on suunniteltu erityisesti pienille ja keskisuurille ohjelmistoprojekteille, on kehitetty prosessinäkökohtien ja UML-kaavioiden perusteella.
Resumo:
Työssä tutkittiin oliosuunnittelumalleja EPOC-käyttöjärjestelmässä. Työssä tutkittiin sekä yleisiä suunnittelumalleja että EPOC-ympäristössä esiintyviä oliorakenteita, niiden aiheuttamia vaatimuksia sovelluksille sekä niiden käyttämisestä saatavia hyötyjä. Työssä toteutettiin EPOC-ohjelmiston suunnittelu hyödyntäen suunnittelumalleja ja periaatteita. Oliosuunnittelumallit ovat yleistyneet huomattavasti viime vuosina. Suunnittelumallien lähtökohtana ovat sekä yleiset että ympäristökohtaiset suunnitteluperiaatteet ja säännöt. Suunnittelumallit ovat osa isompaa rakennekokonaisuutta, joka käsittää sekä prosessi-, analyysi-, arkkitehtuuri- ym. malleja. Oliosuunnittelumallit nopeuttavat ja helpottavat suunnittelua sekä parantavat uudelleenkäytettävyyttä korkeammalla abstraktiotasolla. EPOC on tulevaisuuden mobiililaitteiden yleisimpiä käyttöjärjestelmiä. EPOC on kokonaisuudessaan oliopohjainen ja sisältää lukuisia oliorakenteita, joiden ymmärtäminen on sovelluskehityksen kannalta elintärkeää. Koska ympäristöt, joissa EPOC-käyttöjärjestelmää käytetään, ovat yleensä resurssien puolesta rajoittuneita, on yleisten suunnittelumallien käytössä oltava tarkkana. EPOC vaatii yleisiin suunnittelumalleihin muutoksia ja estää joidenkin käytön kokonaan.
Resumo:
Yhtenäistetty mallinnuskieli, Unified Modeling Language (UML), on saavuttanut ohjelmistoteollisuudessa defacto standardin mallinnuskielen aseman. UML:n pääasiallinen käyttökohde on ollut ohjelmistojärjestelmien mallinnus, mutta sitä on sovellettu myös muillakin ongelma-alueilla, kuten erilaisten prosessien mallinnuksessa. Tässä diplomityössä mallinnetaan eräs betoniaseman ohjausjärjestelmä käyttäen UML:ää. Työssä perehdytään alan kirjallisuuden avulla siihen, miten teollisuus on hyödyntänyt UML:ää prosessien ohjausjärjestelmien mallinnuksessa. Kirjallisuudesta saatua tietoa sovelletaan betoniaseman ohjausjärjestelmän mallinnuksessa. Luotua mallia analysoidaan sen oikeellisuuden ja käytettävyyden perusteella. Työssä havaittiin, että UML soveltuu hyvin betoniaseman ohjausjärjestelmän kaltaisen teollisuusprosessin ohjauksen mallinnukseen. UML-mallilla voidaan kuvata järjestelmän rakenne ja toiminta kattavasti. Luotua mallia voidaan hyödyntää suoraan ohjausjärjestelmän jatkokehityksessä. Julkista tutkimustietoa aiheesta on kuitenkin niukasti saatavilla, joten lisätarve julkiselle tutkimukselle on olemassa.
Resumo:
Tämä insinöörityö tehtiin Sesca Logistics IT Oy:lle osana Tekesin VAMOS-hanketta. Logistiikan alan yritysten resursseja on kuluttanut puutteellinen ja hidas tietojen kulku toimiston ja ajoneuvon välillä. Perinteisesti ajoneuvosta tarvittujen tietojen kerääminen on tapahtunut kynällä paperille, ja tiedonkulku on perustunut puhelinyhteyteen toimiston ja ajoneuvon kuljettajan välillä. Työn tavoitteena oli toteuttaa automaattinen tietojenkeruu ajoneuvosta sekä ajoneuvon sisältämistä laitteista. Reaaliaikainen raskaan kaluston tiedonkeruujärjestelmä mahdollistaa ajoneuvoista automaattisesti kerättyjen tietojen helpon seurannan Internetin välityksellä. Työssä suunniteltiin raskaan kaluston ajoneuvotietokoneen sulautettu ohjelmisto sekä palvelinpään ohjelmisto ajoneuvosta lähetettyjen tietojen vastaanottamiseen. Työ aloitettiin arkkitehtuurisuunnittelulla, jonka tuloksena hahmotettiin järjestelmän olellisimmat komponentit sekä valittiin sopivimmat protokollat komponenttien väliseen tiedonsiirtoon Internet-verkossa. Ajoneuvotietokoneen ohjelmisto toteutettiin sulautettuna ohjelmistona Java ME -teknologialla, jossa hyödynnettiin UML-mallinnusta sekä tunnettuja suunnittelumalleja (design patterns). Palvelinpään tietojen vastaanottoohjelmisto toteutettiin Java SE -teknologialla. Työn lopputuloksena syntyi reaaliaikanen ja hajautettu tietojärjestelmä logistiikan alan tarpeisiin. Tietojärjestelmä kykenee tuottamaan reaalaikaista tietoa ajoneuvon sijainnista sekä ajoneuvon CAN-väylän sisältämistä tiedoista. Lisäksi tietojärjestelmä mahdollistaa tienhoitoajoneuvojen aurojen ja suolasirottimen seurannan. Tietojärjestelmän avulla yritykset voivat seurata kustannustehokkuuttaan ja saada nopeammin yksityiskohtaisempia tietoja ajoneuvojen tilasta.
Resumo:
Tämän tutkielman tarkoituksena on ollut tutkia, miten meripelastustoimen raportointijärjestelmää on kehitettävä tiedon analysoinnin parantamiseksi. Päätutkimuskysymykseen vastataan alatutkimuskysymyksillä, mitä tietoja Rajavartiolaitos voi lainsäädännön perusteella tallentaa meripelastusrekisteriin, miten meripelastustoimen raportointi on toteutettu tällä hetkellä, millainen uusi tietomalli tukee meripelastustoimen raportointia sekä mitä teknisiä ratkaisuja Rajavartiolaitoksessa voidaan käyttää apuna meripelastustoimen raportoinnin analysoinnin kehittämisessä. Tutkielmassa käytetty tutkimusstrategia on kvalitatiivinen tapaustutkimus. Tutkimusmenetelminä on käytetty kvalitatiivista sisällönanalyysiä, teemahaastatteluja sekä UML-tietomalleja. Tutkielman johtopäätöksenä selvisi, että nykyisessä raportointijärjestelmässä ei ole vakavia puutteita. Nykyinen järjestelmä ei kuitenkaan tue teknistä tietämyksen hallintaa, eikä nykyisen toimintatavan kehittämisellä voida oleellisesti parantaa tiedon analysointimahdollisuuksia. Tutkielman tulosten perusteella esitetään tiedon louhinta- ja OLAP-tekniikoiden käyttömahdollisuuksien selvittämistä kehitettäessä meripelastustoimen tuottaman tiedon analysointia. Lisäksi esitetään kansallisen ja kansainvälisen viranomaisyhteistyön kehittämistä tietojen vaihdon ja analysoinnin osalta osana kokonaisvaltaista vesiliikenneturvallisuuden parantamista.