149 resultados para Educational Software
Resumo:
Tässä työssä tutkitaan ohjelmistoarkkitehtuurisuunnitteluominaisuuksien vaikutusta erään client-server –arkkitehtuuriin perustuvan mobiilipalvelusovelluksen suunnittelu- ja toteutusaikaan. Kyseinen tutkimus perustuu reaalielämän projektiin, jonka kvalitatiivinen analyysi paljasti arkkitehtuurikompponenttien välisten kytkentöjen merkittävästi vaikuttavan projektin työmäärään. Työn päätavoite oli kvantitatiivisesti tutkia yllä mainitun havainnon oikeellisuus. Tavoitteen saavuttamiseksi suunniteltiin ohjelmistoarkkitehtuurisuunnittelun mittaristo kuvaamaan kyseisen järjestelmän alijärjestelmien arkkitehtuuria ja luotiin kaksi suunniteltua mittaristoa käyttävää, työmäärää (komponentin suunnittelu-, toteutus- ja testausaikojen summa) arvioivaa mallia, joista toinen on lineaarinen ja toinen epälineaarinen. Näiden mallien kertoimet sovitettiin optimoimalla niiden arvot epälineaarista gloobaalioptimointimenetelmää, differentiaalievoluutioalgoritmia, käyttäen, niin että mallien antamat arvot vastasivat parhaiten mitattua työmäärää sekä kaikilla ominaisuuksilla eli attribuuteilla että vain osalla niistä (yksi jätettiin vuorotellen pois). Kun arkkitehtuurikompenttien väliset kytkennät jätettiin malleista pois, mitattujen ja arvoitujen työmäärien välinen ero (ilmaistuna virheenä) kasvoi eräässä tapauksessa 367 % entisestä tarkoittaen sitä, että näin muodostettu malli vastasi toteutusaikoja huonosti annetulla ainestolla. Tämä oli suurin havaitu virhe kaikkien poisjätettyjen ominaisuuksien kesken. Saadun tuloksen perusteella päätettiin, että kyseisen järjestelmän toteutusajat ovat vahvasti riippuvaisia kytkentöjen määrästä, ja näin ollen kytkentöjen määrä oli mitä todennäköisemmin kaikista tärkein työmäärään vaikuttava tekijä tutkitun järjestelmän arkkitehtuurisuunnittelussa.
Resumo:
Diplomityön tavoitteena oli kehittää kolmannen sukupolven fyysistä protokollakerrosta matkapuhelimen ohjelmistoarkkitehtuurille. Kolmannen sukupolven matkapuhelinjärjestelmät ovat aikaisempia järjestelmiä monimutkaisempia. Ohjelmiston koon ja monimutkaisuuden sekä aikataulujen kiireellisyyden vuoksi on tullut tarve ottaa käyttöön formaaleja menetelmiä ohjelmiston kehitystyöhön. Formaalit kuvauskielet mahdollistavat tarkan, yksiselitteisen ja simuloitavissa olevan järjestelmäkuvauksen muodostamisen. Fyysinen protokollakerros tarjoaa tiedon siirtoa ylemmille protokollakerroksille. Tämän tiedonsiirron hallinta vaatii protokollakerrosten välistä viestinvälitystä. Formaaleja kuvauskieliä käyttämällä voidaan viestinvälityksen toteutusta automatisoida ja siinä tarvittavaa logiikkaa havainnollistaa. Työssä suunniteltiin, toteutettiin ja testattiin ylempien protokollakerrosten kanssa kommunikoivaa osaa fyysisestä protokollakerroksesta. Tuloksena saatiin solunvalintatoiminnallisuuden vaatiman kommunikoinnin ja tilakoneen toteutus ohjelmistoarkkitehtuurissa. Ohjelmistonkehityksen alkuvaiheiden havaittiin olevan fyysisen kerroksen suorituskyvyn kannalta merkittävässä asemassa, koska tällöin viestinvälityksen optimointi on helpointa. Formaalit kuvauskielet eivät ole sellaisenaan täysin soveltuvia tarkoin määritellyn ohjelmistoarkkitehtuurin osien kehitykseen.
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.
Resumo:
TTCN-kieltä käytetään testitapausten määrittelemiseen tietoliikennejärjestelmissä. Nykyään TTCN:stä on tullut yhä suositumpi tapa toteuttaa testitapauksia. TTCN tarjoaa hyvän ja yksinkertaisen tavan muuntaa käsin testattavat testitapaukset automatisoiduiksi. Tämän diplomityön yhteydessä toteutettiin TTCN testitapaukset WCDMA -tukiaseman käyttö- ja kunnossapito- (O&M) ohjelmistolle. Ohjelmistoa on käytetty myös toisen sukupolven tukiasemissa, mutta kolmannen sukupolven tukiasemissa sillä on huomattavasti isompi rooli. WCDMA -tukiasemassa O&M käsittelee muun muassa tukiaseman käynnistyksen, virhetilanteet ja valvoo tukiaseman komponentteja. Ensimmäisiä tehtäviä diplomityötä tehdessä oli valita ne testitapaukset, jotka olisivat mahdollisia ja hyödyllisiä toteuttaa TTCN:n avulla. Testitapaukset valittiin valmiina olleista testitapausten kuvauksista. Valitut testitapaukset toteutettiin käyttäen rinnakkaista ja modulaarista TTCN-kieltä ja testattiin WCDMA -tukiasemaa vasten käyttäen TTCN Tester ohjelmistoa. Tämän diplomityön yhteydessä toteutettuja testitapauksia käytetään varmistamaan, että tukiasema voi toipua erilaisista virhetilanteista O&M ohjelmiston avulla. Testitapauksia WCDMA -tukiasemaa vasten ajettaessa varmistetaan myös, että O&M ohjelmisto toimii määrittelyn mukaisesti eri tilanteissa. Toteutetut testi tapaukset korvaavat nykyään käsin testatut O&M testi tapaukset tukiaseman O&M ohjelmistoa testatessa. Automatisoidut testi tapaukset tekevät O&M ohjelmiston testaamisen merkittävästi nopeammaksi ja helpommaksi.
Resumo:
Ohjelmistojen tärkeys nykypäivän yhteiskunnalle kasvaa jatkuvasti. Monia ohjelmistoprojekteja vaivaavat ongelmat aikataulussa pysymisestä, korkean tuottavuuden ylläpitämisestä ja riittävän korkeasta laadusta. Ohjelmistokehitysprosessien parantamisessa on naiden ongelmien minimoimiseksi tehty suuria investointeja. Investointien syynä on ollut olettamus ohjelmistokehityksen kapasiteetin suora riippuvuus tuotteen laadusta. Tämän tutkimuksen tarkoituksena oli tutkia Ohjelmistokehitysprosessien parantamisen mahdollisuuksia. Olemassaolevat ohjelmistokehityksen ja Ohjelmistokehitysprosessin parantamisen mallit, tekniikat ja metodologiat esiteltiin. Esiteltyjen mallien, tekniikoiden ja metodologioiden soveltuvuus analysoitiin ja suositus mallien käytöstä annettiin.
Resumo:
Työssä tutkittiin tehokasta tietojohtamista globaalin metsäteollisuusyrityksen tutkimus ja kehitys verkostossa. Työn tavoitteena oli rakentaa kuvaus tutkimus ja kehitys sisällön hallintaan kohdeyrityksen käyttämän tietojohtamisohjelmiston avulla. Ensin selvitettiin käsitteitä tietämys ja tietojohtaminen kirjallisuuden avulla. Selvityksen perusteella esitettiin prosessimalli, jolla tietämystä voidaan tehokkaasti hallita yrityksessä. Seuraavaksi analysoitiin tietojohtamisen asettamia vaatimuksia informaatioteknologialle ja informaatioteknologian roolia prosessimallissa. Verkoston vaatimukset tietojohtamista kohtaan selvitettiin haastattelemalla yrityksen avainhenkilöitä. Haastatteluiden perusteella järjestelmän tuli tehokkaasti tukea virtuaalisten projektiryhmien työskentelyä, mahdollistaa tehtaiden välinen tietämyksen jakaminen ja tukea järjestelmään syötetyn sisällön hallintaa. Ensiksi järjestelmän käyttöliittymän rakenne ja salaukset muokattiin vastaamaan verkoston tarpeita. Rakenne tarjoaa työalueen työryhmille ja alueet tehtaiden väliseen tietämyksen jakamiseen. Sisällönhallintaa varten järjestelmään kehitettiin kategoria, profiloitu portaali ja valmiiksi määriteltyjä hakuja. Kehitetty malli tehostaa projektiryhmien työskentelyä, mahdollistaa olemassa olevan tietämyksen hyväksikäytön tehdastasolla sekä helpottaa tutkimus ja kehitys aktiviteettien seurantaa. Toimenpide-ehdotuksina esitetään järjestelmän integrointia tehtaiden operatiivisiin ohjausjärjestelmiin ja ohjelmiston käyttöönottoa tehdastason projektinhallinta työkaluksi.Ehdotusten tavoitteena on varmistaa sekä tehokas tietämyksen jakaminen tehtaiden välillä että tehokas tietojohtaminen tehdastasolla.
Resumo:
Elektroninen kaupankäynti ja pankkipalvelut ovat herättäneet toiminnan jatkuvuuden kannalta erittäin kriittisen kysymyksen siitä, kuinka näitä palveluja pystytään suojaamaan järjestäytynyttä rikollisuutta ja erilaisia hyväksikäyttöjä vastaan.
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:
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.
Resumo:
Jatkuva laadunmittaus osana ohjelmistoprosessia on yleistynyt ohjelmistoyritysten keskuudessa viime vuosien aikana. ISO 9001:2000 -laatustandardi vaatii yrityksiltä tuotteiden ja prosessien laadun mittaamista ja seuraamista. Laadun mittareiden valinta on haastava tehtävä. Yritykset luulevat usein mittaavansa laatua, vaikka ne todellisuudessa mittaavatkin ohjelmistojen eri ominaisuuksia kuten kokoa tai monimutkaisuutta. Tässä diplomityössä kehitetään ohjelmistojen validointiprosessiin vertailuun perustuva laadunmittausprosessi ohjelmistotuotteiden laadun arviointiin, mittaamiseen ja seurantaan. Laatumittarit valitaan ennalta määriteltyjen kriteereiden mukaisesti, ja niille asetetaan tavoitearvot vertailuanalyysistä saatujen tulosten perusteella. Laadunmittausprosessin lisäksi työssä annetaan suositus prosessin käyttöönotosta ja käytöstä osana yrityksen toimintaa, mikä mahdollistaa jatkuvan seurannan sekä kehityksen tulevaisuudessa.
Resumo:
Työn tavoitteena oli löytää sopivin tapa toiminnanohjaamiseen ja laadunseurantaan elektroniikan koulutustehtaalla. Ohjausjärjestelmiä tullaan käyttämään niin oman palvelutoiminnan ohjaamisessa kuin elektroniikan opiskelijoiden koulutuksessakin. Hankinnan lähtökohtana pidettiin valmisohjelmistoja. Työn alkuvaiheissa tutustuttiin kirjallisuuden avulla erilaisiin toiminnanohjausmenetelmiin sekä hyvän tietojärjestelmän ominaisuuksiin. Työn loppuosassa tutkittiin tarjolla olevia ohjelmistoratkaisuja sekä etsittiin potentiaalisimmat toimittajat Internetin ja kohdeorganisaation kontaktien avulla. Toimittajia vertailtiin toisiinsa heidän kotisivujensa, esitteidensä, esittelyidensä sekä heidän järjestelmiensä käyttäjien antaman palautteen perusteella. Ensimmäisenä vertailusta tiputettiin ne toimittajat, joiden fokustoimialoissa ei ollut elektroniikkateollisuutta, joiden tuote olisi vaatinut räätälöintiä tai jotka olivat keskittyneet konsernitasoisiin ratkaisuihin. Seuraavassa vaiheessa putosivat ne toimittajat, joiden tuote ei sopinut koulutuskäyttöön. Lopulta mahdollisia toiminnanohjausjärjestelmän toimittajia jäi jäljelle kolme ja tilastollisen prosessin valvonnan toteuttajia vain yksi.
Resumo:
Monet ohjelmistoyritykset ovat alkaneet kiinnittää yhä enemmän huomiota ohjelmistotuotteidensa laatuun. Tämä on johtanut siihen, että useimmat niistä ovat valinneet ohjelmistotestauksen välineeksi, jolla tätä laatua voidaan parantaa. Testausta ei pidä rajoittaa ainoastaan ohjelmistotuotteeseen itseensä, vaan sen tulisi kattaa koko ohjelmiston kehitysprosessi. Validaatiotestauksessa keskitytään varmistamaan, että lopputuote täyttää sille asetetut vaatimukset, kun taas verifikaatiotestausta käytetään ennaltaehkäisevänä testauksena, jolla pyritään poistamaan virheitä jo ennenkuin ne pääsevät lähdekoodiin asti. Työ, johon tämä diplomityö perustuu, tehtiin alkukevään ja kesän aikana vuonna 2003 Necsom Oy:n toimeksiannosta. Necsom on pieni suomalainen ohjelmistoyritys, jonka tutkimus- ja kehitysyksikkö toimii Lappeenrannassa.Tässä diplomityössä tutustutaan aluksi ohjelmistotestaukseen sekä eri tapoihin sen organisoimiseksi. Tämän lisäksi annetaan yleisiä ohjeita testisuunnitelmien ja testaustapausten tekoon, joita onnistunut ja tehokas testaus edellyttää. Kun tämä teoria on käyty läpi, esitetään esimerkkinä kuinka sisäinen ohjelmistotestaus toteutettiin Necsomilla. Lopuksi esitetään johtopäätökset, joihin päädyttiin käytännön testausprosessin seuraamisen jälkeen ja annetaan jatkotoimenpide-ehdotuksia.
Resumo:
Kasvava kiinnostus ohjelmistojen laatua kohtaan on herättänyt ohjelmistoprosesseihin ja niiden kehittämiseen kohdistuvaa huomiota viime vuosina. Ohjelmistoyritykset ympäri maailmaa ovat ottaneet käyttöön ohjelmistoprosessin kehittämismalleja, kuten CMM ja SPICE, pyrkiessään kohti parempilaatuisia ohjelmistotuotteita. Samalla on huomattu, että tehokas prosessien parantaminen ja suorittaminen tarvitsee tuekseen kuvauksen prosessista, jotta prosessin perusteellinen ymmärtäminen ja kommunikointi olisi mahdollista. Ohjelmistoprosesseja voidaan kuvata monilla eri tavoilla. Prosessiopas on prosessin esitysmuoto, jonka päätarkoituksena on helpottaa prosessin ymmärtämistä ja kommunikointia. Elektroninen prosessiopas on Web-teknologiaa hyödyntävä prosessiopas. Tässä työssä luodaan kehitysympäristö elektronisille prosessioppaille, joiden tarkoituksena on tukea ohjelmistoprosessin kehittämistä ja suorittamista. Ympäristö mahdollistaa ohjelmistoprosessinmallintamisen sekä yksilöllisten oppaiden luomisen ja muokkaamisen. Kehitysympäristöä käytetään mallintamaan tietoliikenneohjelmistoja valmistavan yrityksen ohjelmistoprosessia sekä luomaan elektronisia prosessioppaita tukemaan prosessin kehitystä ja suorittamista. Lopuksi pohditaan prosessioppaiden tarjoamaa tukea sekä mahdollisuuksia kohdeyrityksessä.
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:
Tässä luomistyössä on esitetty tutkimus informaation suojaamisen menetelmien osalta paikallisissa ja ryhmäkuntaisissa verkoissa. Tutkimukseen kuuluu nykyaikaisten kryptagraafisten järjestelmien, Internetin/Intranetin ohjelmointikeinojen ja pääsyoikeuksien jakelumenetelmien analyysi. Tutkimusten perusteella on laadittu ohjelmiston prototyyppi HTML-tiedostojen suojaamista varten. Ohjelmiston laatimisprosessi on sisältänyt vaatimusten, järjestelmän ja suojelukomponenttien suunnittelun ja protytyypin testauksen. Ohjelmiston realisoinnin jälkeen kirjoitettiin käyttöohjeet. Ohjelmiston prototyyppi suojaa informaatiota HTML-tiedoston koko käytön aikana ja eri yrityksissä voidaan käyttää sitä pienien laajennuksien jälkeen.