text: Ohjelmistotuotanto on yhteisnimitys niille työnteon ja työnjohdon menetelmille, joita käytetään, kun tuotetaan tietokoneohjelmia sekä monista tietokoneohjelmista koostuvia tietokoneohjelmistoja. Laajasti ymmärrettynä ohjelmistotuotanto kattaa kaiken tietokoneohjelmistojen valmistukseen liittyvän prosessinhallinnan sekä kaikki erilaiset ohjelmistokehitysmenetelmät. Ohjelmistotuotantoon kuuluu siis periaatteessa mikä tahansa toiminta, joka tähtää tietokoneohjelmien tai -ohjelmistojen valmistukseen. Tarve valmistukseen tulee asiakkaalta tai ohjelman tuottaja tekee markkinointitutkimuksen ja päättelee tarpeen ohjelmistolle. Jotta ohjelmistojen valmistusta voitaisiin käsitellä järjestelmällisesti, ohjelmistotuotannossa on pyritty mallintamaan ohjelmistojen valmistusprosessia niin sanotun elinkaarimallin mukaisesti. Elinkaarimallissa ohjelmiston valmistus pyritään näkemään mahdollisimman laajana, aikaan sidottuna prosessina, jossa ohjelmiston varsinainen tekninen valmistus on vain pieni – joskin äärimmäisen tärkeä osa – kokonaisketjua. Ohjelmistotuotannossa tieteenhaarana tutkitaan myös ohjelmien rakenteellisia ominaisuuksia kuten dokumentointia, versionhallintaa, sekä jäljitettävyyttä. Tutkimuksen kohteena ovat myös erilaiset ohjelmistojen tukiprosessit, kuten määrittelyprosessi, ylläpitoprosessi ja projektinhallinta. Myös erilaisia toteutus- ja suunnittelumenetelmiä, joilla itse tuotannon laatua voidaan tehostaa, tutkitaan. Ohjelmistotuotantoon kuuluvat myös erilaiset laatujärjestelmät, joita käytetään erityisesti yrityksissä dokumentoimaan yrityksen toimintatapoja. Laatujärjestelmän tavoitteena on dokumentoida ja ottaa käyttöön hyväksi havaitut toimintatavat, jotka parantavat yrityksen toimintaprosessin laatua. Kaupallista ohjelmistokehitystä tehdään yleensä projektityönä. Toisaalta useiden ohjelmistojen kehitys ja ylläpito jatkuvat koko niiden elinkaaren ajan ilman ennakoitavaa päätepistettä. Ylläpitotyökin voidaan jakaa määrämittaisiksi toisiaan seuraaviksi projekteiksi. Projektin toteuttamista ohjaavat ohjelmistoprosessit, jotka kuvaavat toistuvan tavan toteuttaa ohjelmistoprojekteja. Prosessit vaihtelevat suuresti laajuudeltaan ja sen suhteen, millaisia menettelytapaohjeita ne antavat. Noudatettava prosessimalli voi olla kevyt, jos kehityshankkeet ovat pieniä ja niiltä odotetaan suurta kustannustehokkuutta. Raskaita prosesseja käytetään toimialoilla, joissa ohjelmistoilta odotetaan poikkeuksellisen suurta luotettavuutta. Ohjelmistotuotannon historia Ensimmäiset digitaaliset tietokoneet tulivat käyttöön 1940-luvulla. Näiden koneiden suorittamat tehtävät määriteltiin muuttamalla koneiden sähköisiä kytkentöjä. Von Neumannin arkkitehtuurin mukaiset ohjelmoitavat tietokoneet kehitettiin 40-luvun lopulla, jolloin myös ensimmäiset tietojärjestelmä- ja ohjelmistokehityshankkeet käynnistettiin. Ennen vuotta 1954 lähes kaikki ohjelmointi tehtiin matalan tason ohjelmointikielillä kuten konekielellä tai assemblyllä. Suuri osa ohjelmoijien työstä liittyi tuon ajan tietokoneiden rajoitteisiin. Termi software engineering (ohjelmistosuunnittelu) on esiintynyt vuonna 1965 Computers and Automation -lehden yritysluettelossa. Myöhemmin termi esiintyi vuonna 1966 ACM:n puheenjohtajan Anthony A. Oettingerin kirjeessä Communications of the ACM -lehdessä. Oettinger kirjoittaa tietojenkäsittelytieteen olevan yksistään liian rajaava termi ja huomauttaa ammattimaisen insinöörialan luonteesta ohjelmiston ja laitteiston suunnittelussa. Ohjelmistokriisi tunnistettiin 1960-luvun loppupuolella. Sillä tarkoitettiin tilannetta, jossa pula ohjelmoijista ja selkeiden systeemityömenetelmien puuttuminen johti heikkoon tuottavuuteen, paljon ohjelmointivirheitä sisältäviin ohjelmiin ja kustannusten karkaamiseen käsistä. 1900-luvun loppupuolella alkanut tietokoneohjelmien merkityksen ja lukumäärän kasvu ovat tuoneet julkisuuteen lukuisia tietokoneiden aiheuttamia virheitä, jotka ovat lähes aina olleet seurausta inhimillisistä erehdyksistä: tietokoneohjelmien lähdekoodeissa on ollut virheitä tai ohjelmien käytettävyys on ollut huono. Ohjelmistotuotanto tutkimusalueena on kehitetty vastaamaan kysymykseen, miten ohjelmistoja tulisi valmistaa niin, että niiden laatu olisi mahdollisimman korkea. Ohjelmiston laatu pitää tässä yhteydessä käsittää ohjelmiston tavoiteltavana toimintana, mikä ei ole sama asia kuin lähdekoodin tai käyttöliittymän täydellinen virheettömyys. Ohjelmistotuotannon merkityksestä Ohjelmistoteollisuus on Suomen nopeimmin kasvava vientiala. Ohjelmistoalan merkittävin alatoimiala on ohjelmistojen suunnittelu ja valmistus. Vaihejakomallit Ohjelmiston tai ohjelman tuottaminen on laaja ja monimutkainen tehtävä. Onnistuneen tuotannon varmistamiseksi kehitystyö jaetaan osiin. Seuraavaan osaan ei voida edetä, ennen kuin edellinen osa on tarpeellisin osin saatu valmiiksi. Tätä ositusta ohjelmien suunnittelussa sanotaan vaihejakomalliksi. Vesiputousmalli Tässä perinteisessä prosessissa vaiheet soljuvat eteenpäin kuin vesiputous tasolta toiselle (vain yhteen suuntaan), ja siksi tätä prosessia kutsutaankin vesiputousmalliksi. Ajatuksena on, että kukin vaiheista tuottaa dokumentin tai joukon dokumentteja, jotka toimivat syötteenä seuraavalle vaiheelle. Esimerkiksi vaatimusanalyysi määrää ja asettaa vähimmäisvaatimukset ja rajat toiminnalliselle määrittelylle, jotta määrittelyn lopussa voidaan tarkastaa, vastaako määritelty ohjelmisto vaatimusanalyysin mukaista järjestelmää. Toisaalta taas toteutusvaiheessa (koodaus) teknisen määrittelyn pitäisi kattaa ne tarvittavat tiedot, joiden perusteella ohjelmisto voidaan kirjoittaa. Vesiputousmallissa suurin vaikeus on suunnitella koko tuote kerralla toteutuskuntoon. Käytännössä tuotantoprosessi on usein iteratiivinen, eli suunnittelua ja toteutusta tehdään pienimmissä osissa ja prosessia toistetaan. Näin ohjelmisto kehittyy inkrementaalisesti eli koko ajan kasvaen kohti lopullista muotoaan. Tästä käytännön sanelemasta tarpeesta ovat syntyneet useat iteratiiviset prosessimallit, kuten Rational Unified Process, spiraalimalli tai niin sanottu ketterä kehitys. Kun vesiputousmalliin yhdistetään joka vaihetta vastaava testaus (esimerkiksi vaatimusmäärittelystä hyväksymistestaus) aikajanalle syntyy niin kutsuttu V-malli, jonka vasen sakara kuvastaa prosessin vaiheita ja oikea kunkin testausta. Prosessia, joka toistaa alemman tason suunnittelua ja toteutusta, kutsutaankin W-malliksi, jossa keskisakara kuvastaa iteraatiota. Vesiputousmalli kuvastaa ohjelmistotuotantoa teoreettisella tasolla hyvin, mutta sen soveltuvuudesta käytännön ohjelmistotuotantoon ollaan erimielisiä. Vesiputousmallin tärkein ansio onkin antaa puitteet, joita myös iteratiiviset prosessit noudattavat, vaikkakin huomattavasti tiheämmissä sykleissä ja kevyemmillä menetelmillä. Voidaankin sanoa, että kaikki ohjelmistotuotantohankkeet noudattavat jollain tasolla vesiputousmallia, mutta eivät välttämättä toteuta kaikkia sen vaiheita dokumentoiduilla menetelmillä. Prototyyppimenetelmä Prototyyppimenetelmässä ohjelman kehittäminen etenee spiraalimaisesti. Prototyyppimallissa ulkoasu (käyttöliittymä) rakennetaan ensin ja vasta sitten spiraalimaisesti laajenevin kehin tuotteen liiketoiminnallinen kerros (bisneslogiikka) sekä tietokantakerros. Menetelmän etuna asiakas saa nopeasti nähtäväksi tuotteen lopullisen ulkoasun. Asiakas voi jo tässä vaiheessa kertoa, jos kehittelijät ovat toteuttaneet jotain toisin kuin hän on halunnut. Mahdolliset muutokset on vielä helppo ja kustannuksiltaan edullista ja työmäärältään vähäistä tehdä tässä vaiheessa. Prototyyppimenetelmä on hyvä myös silloin kun (asiakkaan) vaatimukset muuttuvat usein. Kun asiakas on hyväksynyt kehityskierroksen esitetyn prototyypin, kehittelyä jatketaan spiraalin laajenevalla kehällä. Syvennetään ja laajennetaan suunnittelua. Kun kehitysprosessi on kiertänyt kokonaisen ympyrän, seuraavaa prototyyppiä esitellään asiakkaalle. Näin jatketaan iteratiivisesti, kunnes päädytään tuotteen lopulliseen kehitysversioon. Kun asiakas on hyväksynyt tuotteen, se on valmis. RUP RUP (Rational Unified Process) perustuu peräkkäisiin iteraatioihin, joista jokainen iteraatio suunnitellaan vesiputousmallin mukaisesti. Kehittäminen jakautuu neljään vaiheeseen: aloitus, tarkennus, rakennus ja käyttöönotto. Ketterät menetelmät Nopeasti muuttuvassa ympäristössä ennalta suunnittelun vaikeus on noussut suurimmaksi esteeksi perinteiselle vesiputousmallille. Iteratiivinen prosessi antaa mahdollisuuden muuttaa projektin kulkua ja suuntaa hallitusti kesken prosessin. Ohjelmisto ei useinkaan tule kerralla valmiiksi, ja monet ohjelmistotuotteet jatkavat kehitystään julkaisun jälkeenkin. Nopeimmin kehittyvillä ohjelmistotuotannon aloilla ja etenkin pienemmissä ohjelmistoprojekteissa on omaksuttu niin kutsuttuja ketteriä ohjelmistoprosesseja, jotka korostavat muutosten hallintaa ja nopeita iteraatiosyklejä. Periaate on suunnata ja korjata kehittelyä mahdollisimman aikaisessa vaiheessa. Virheellistä kehitystyötä on tehty silloin vasta mahdollisimman vähän ja kehittelyn resurssien (muun muassa aika- ja kustannusresurssit) hukkaaminen on mahdollisimman vähäistä. Yksi uusimpia ketteriä menetelmiä on Scrum. Muita menetelmiä Muita ohjelmankehitysmenetelmiä on muun muassa Suihkulähdemalli. Menetelmässä ohjelma koodataan suoraan ja sen jälkeen luodaan dokumentointi. Varsinaista mallinnusta ja suunnittelua ei tässä menetelmässä ole. Suunnittelu tapahtuu koodaajan mielessä. Suihkulähdemalli soveltuu pienien (apu)ohjelmien tekoon. Laajempien ohjelmistojen suunnittelun hallinta ei onnistu suihkulähdemenetelmällä. EVO-mallissa rakennetaan ensin ydinjärjestelmä, jota kehitellään edelleen seuraavissa projektin iteraatioissa. Eri tuotantomalleista Vaikka yllä kuvatut vaiheet ovat enemmän tai vähemmän osana kaikkea ohjelmistotuotantoa, niin niitä voidaan soveltaa eri tavoin. Usein esitetty (ideaali)malli on nk. vesiputousmalli, missä kukin vaihe tehdään loppuun ja hyväksytetään ennen seuraavaan siirtymistä. Mallin heikkoutena on sen utopistisuus ainakin jossain määrin, ja lisäksi vesiputousmallissa syntyvä lopputuote tulee asiakkaan nähtäväksi vasta projektin loppuvaiheessa. Lisäksi havaitun virheen korjaaminen voidaan joutua tekemään iteratiivisesti edellisiin vaiheisiin. Se on aikaavievä ja kallis prosessi. Prototyyppimalli perustuu siihen ajatukseen, että suuri osa projektiin liittyvistä kysymyksistä ja ongelmista selviää vasta, kun tuote on ensimmäisen kerran tehty. Mallissa tehdäänkin alussa hyvin karkea ja erittäin paljonkin yksinkertaistettu malli nopeasti valmiiksi, johon myös asiakas voi tutustua. Prototyypin kautta asiakas osaa esittää tarkemmin vaatimuksiaan havaitessaan konkreettisesti, minkä tyyppinen myöhemmin syntyvä lopullinen tuote olisi. Toisaalta myös kehittäjät oppivat erinäisistä prototyypin valmistusvaiheessa esiintyneistä ongelmista ja rajoitteista, ja kykenevät siten kehittämään esimerkiksi paremman arkkitehtuurin lopulliseen versioon, joka tuotettaisiin esimerkiksi vesiputousmallin mukaisesti. Prototyyppimallissa suuri kiusaus voi olla käyttää jo toteutettuja ohjelmistokomponentteja lopputuotteessa. Näin ei kuitenkaan tule tehdä, koska silloin menetetään prototyyppimallin perusidea. Myös muita yleisiä malleja on kehitetty, kuten inkrementaalinen malli, jossa ohjelmisto rakennetaan vesiputousmallin mukaisesti siten, että 1. versio on hyvin yksinkertainen toiminnoiltaan. Ensimmäiseen versioon on siis toteutettu vain kaikkein kriittisimmät tai eniten toivotuimmat toiminnot. Seuraavat sukupolvet lisäävät aina uusia ominaisuuksia. Jos jokainen sukupolvi sisältää vaiheet aina vesiputousmallin alusta asti, on kyseessä iteratiivinen malli. Tällöin sukupolvea kutsutaan iteraatioksi. Niin sanotussa ketterässä ohjelmistokehityksessä uusia versioita tuotetaan usein, ja uusien ominaisuuksien tärkeysjärjestys arvioidaan uudestaan kunkin kierroksen jälkeen. Ohjelmien suunnittelu voidaan ajatella spesifikaatioiden (määritysten) luomisena. Suunnittelussa edellinen vaihe luo spesifikaation, joka on syötteenä seuraavalle vaiheelle. Spesifikaatiot voidaan jaotella formaaleiksi ja informaaleiksi spesifikaatioiksi. Formaalit menetelmät ovat jäykkiä, mutta niiden käsittely on helppoa ja käsittely voidaan koneellistaa. Informaalien menetelmien ilmaisuvoima on hyvä, mutta käsittely monimutkaisempaa. Formaalit menetelmät käyttävät matemaattisen eksakteja määritelmiä luotaessa, ja niiden tavoitteena on tuotettavan ohjelmiston oikeellisuus, esimerkiksi todistamalla jokin ohjelma tai sen käyttämä algoritmi oikein toimivaksi. Niissä ongelmana on kuitenkin niiden toteuttamisessa vaadittava matemaattinen pätevyys, sekä asiakkaiden suhteen helposti vaikeaselkoisuus. Toisaalta voidaan myös ajatella, että ongelma ohjelmien käsitettävyydestä vain siirtyy matematiikan puolelle – vaikka ohjelma olisikin todistettu oikeaksi, niin ei ole mitenkään itsestään selvää, että todistamisvaiheessa ei olisi virhettä, ja pitkästä matemaattisesta todistuksesta virheen etsiminen voi olla aivan yhtä vaikeaa (tai vaikeampaa) kuin sen itse ohjelmakoodista etsiminen. Ohjelmiston elinkaaren vaiheet Ohjelmiston elinkaari jakautuu kahteen pääluokkaan: kehitys ja ylläpito. Ohjelman kehitykseen kuuluvat vaatimusmäärittely, ohjelmistosuunnittelu, toteutus, testaus, julkistus ja käyttöönotto. Ennenaikainen-Alpha on teknologianäyte ohjelmiston yhdestä tai kahdesta ydintoiminnosta. Vaihe koostuu ennen kaikkea toimintojen suunnittelusta. Alpha on ohjelmiston kehityksen ensimmäinen vaihe, jonka aikana ohjelmisto suunnitellaan pääpiirteissään ja jonka aikana ohjelmiston toiminnot luodaan. Beta on vaihe, jonka aikana ohjelmiston toiminnallisuus on suunniteltu loppuun. Vaiheen aikana on tarkoitus viimeistellä toiminnot ja tuottaa ohjelmisto tilaan, jossa se kykenee toimimaan käytännön tilanteessa omillaan. Vaatimusanalyysi Vaatimusanalyysin eli vaatimusmäärittelyn tarkoituksena on selvittää ne ohjelmistotuotteelle asetetut ohjelmistovaatimukset, mitkä valmiin järjestelmän tulisi täyttää. Vaatimusanalyysin tarkoituksena ei ole ottaa millään tavoin kantaa siihen, miten nämä tavoitteet saavutetaan. Näin toimitaan siksi, että on edullisinta siirtää toteutusmenetelmiin liittyvät päätökset mahdollisimman myöhäiseen vaiheeseen. Tyypillisesti ohjelmiston tekninen toiminta muuttuu sen elinkaaren myötä monistakin syistä, ja muutosten tekeminen on sitä kalliimpaa taloudellisesti, mitä aikaisempaan vaiheeseen ne joudutaan kohdistamaan. Toisinaan vaatimuksiin voi toki kuulua rajoituksia, jotka esimerkiksi sitovat toteutuksen tiettyyn ohjelmointikieleen esimerkiksi asiakkaan erityistarpeiden vuoksi. Esimerkiksi ohjelmistotuotteelle asetettuja vaatimuksia voisivat olla seuraavat: ohjelmiston pitää kyetä numeeriseen sekä symboliseen laskentaan ja lukemaan käyttäjältä tarvittavat syötteet. Nyt huomattavaa on, että tässä vaatimuksessa ei ole kuvattu esimerkiksi sitä, millaisessa muodossa syöte tulee antaa, onko järjestelmä graafinen vai ei, pitääkö tiloja kyetä tallentamaan jne. Yksi suurimpia vaikeuksia vaatimusanalyysissä (kuin myös muissa vaiheissa) onkin huomata se, onko saatujen tietojen määrä riittävä, jotta seuraavaan vaiheeseen voidaan edetä. Sen vuoksi kukin vaiheista yleensä hyväksytetäänkin loppuvaiheessa, yleensä vähintäänkin ensimmäiset vaiheet myös asiakkaan kesken. Vaatimusanalyysi tulee tehdä tiiviissä yhteistyössä ohjelmiston asiakkaan kanssa. Analyysi ei juurikaan muutu, vaikka asiakas olisi kuvitteellinen (esimerkiksi siksi, että tuotteella ei ole etukäteen tiedossa asiakasta). Analyysissä on tärkeää osata sivuuttaa turhat toteutustekniset vaatimukset – esimerkiksi asiakas saattaa toivoa laitteeseen kymmentä eri painonappia, vaikka parempi olisi nappien toiminnallisuudet toteuttava valikko. Vaatimusanalyysi tuottaa lopputuloksenaan dokumentin asiakasvaatimukset. Järjestelmäsuunnittelu Järjestelmäsuunnittelussa tarkastellaan järjestelmien välistä työnjakoa ja integrointia sekä laitteiston ja ohjelmiston välistä työnjakoa. Järjestelmäsuunnittelussa voidaan päättää hajauttaa eri ohjelmistoja eri laitteille tai asentaa samaa ohjelmistoa usealle laitteelle. Järjestelmäsuunnittelua voidaan tehdä esimerkiksi kahdella tasolla: Järjestelmäkartan tasolla pohditaan mitä laitteita ja ohjelmistoja tarvitaan ja kuinka ne liittyvät toisiinsa. Yksittäisen laitteen tasolla päätetään muun muassa laitteistosta, käyttöjärjestelmästä ja ohjelmistoista, yhteyksistä ja tietoturvasta. Järjestelmäsuunnittelu on tavallinen vaihe räätälöityjen ohjelmistojen tuotannossa. Valmisohjelmien tuotannossa sitä ei yleensä tarvita. Ohjelmistosuunnittelu Ohjelmistosuunnittelu koostuu kahdesta vaiheesta. Näistä ensimmäinen on toiminnallinen määrittely. Siinä kuvataan kaikki järjestelmän toteuttamat toiminnot ja liitännät järjestelmän ulkopuolelle. Vaiheen tuotoksena syntyvä määrittelydokumentti kuvaa siis mitä kaikkea järjestelmällä voi tehdä sekä miten käyttäjä voi ne tehdä. Järjestelmä ei kuvaa sitä, miten toiminnot tulee toteuttaa. Näin määrittelydokumentti kuvaa esimerkiksi tekstinkäsittelyohjelman eri näytöt, valikot ja niissä olevat asetukset ja kaikki käyttöliittymäkontrollit. Mikäli järjestelmä tuottaa tulosteita, niin määrittelydokumentin tulisi sisältää sekä visuaaliset että riittävät tekstuaaliset kuvaukset kaikista järjestelmän eri näytöistä. Ideaalinen määrittelydokumentti on niin kattava, että teknisessä suunnittelussa tai sitä seuraavissa vaiheissa ei ole enää missään vaiheessa epäselvää, että miten ohjelman tulee toimia kussakin tilanteessa, miten tulosteet ja syöte on muotoiltu jne. Vaikka tähän on käytännössä mahdotonta päästä, niin on kuitenkin havaittu, että siihen tulee pyrkiä. Toisaalta on myös tutkittu, että hyvä määrittelydokumentti ei saa olla liian vuolassanainen. 500 A4-sivua pitkä kaiken kattava määrittelydokumentti ohjelmasta, joka piirtää ainoastaan 2D-kuvaajia polynomifunktioista näytölle, on todennäköisesti aivan liian pitkä. Kuitenkin 100-sivuinen määrittelydokumentti mistään kunnollisesta tekstinkäsittelyohjelmasta on varmasti aivan liian lyhyt. Tyypillinen ohjelmistoalan ongelma on se, että määrittelydokumentteja ei jakseta kirjoittaa. Jonkinlainen vaatimusanalyysi (yleensä hyvin epämuodollinen) saatetaan tehdä, mutta sen jälkeen aletaankin heti koodata ohjelmaa. Ajatellaan, että määrittelydokumentin kirjoittamiseen menevä aika ei ole verrannollinen siitä saatavaan hyötyyn. Kuitenkin asia on juuri päinvastoin, koska asioita on paljon helpompi muuttaa luonnollisella kielellä kirjoitetusta dokumentista kuin ohjelmakoodista, ja suoraan koodia kirjoittavat huomaavat hyvin pian tekevänsä määrittelyä samaan aikaan kuin kirjoittavat ohjelmaa. Näin ohjelma muodostuu ad hoc -ratkaisujen varaan, ja isoista ohjelmista muodostuu rakenteellisesti hyvin vaikeaselkoisia ja sitä kautta erittäin virhealttiita rakennelmia. Laajojen ohjelmistojen suunnittelun hallinta helpottuu, jos ohjelmisto jaetaan erilaisiin kerroksiin. Yksi tunnettu malli on MVC-malli, jossa käyttöliittymä erotetaan muista osista. Etuna on se, että esimerkiksi käyttöliittymän muuttaminen on helpompaa kun muutokset tulevat vain siihen osaan ohjelmansuunnittelussa. Toinen tunnettu kerrosmalli on kolmitasomalli, jossa tasoina ovat käyttöliittymä, liiketoimintakerros (businesslogiikka) ja tietokantakerros (tiedon tallennus). Toiminnalliselle määrittelylle vastakohta on tekninen määrittely. Tekninen määrittely eli arkkitehtuurisuunnittelu seuraa toiminnallisen määrittelyn jälkeen, ja siinä ei enää tehdä valintoja tai päätöksiä siitä, millaisia ominaisuuksia laitteessa on – sen tarkoituksena on kuvata ohjelmiston tai ohjelman tekninen arkkitehtuuri tarkasti, joskaan ei vielä ohjelmakoodina. Syötteenä sille toimii toiminnallinen määrittely, ja se kuvaa ne ohjelmistokomponentit, jotka toteuttavat määrittelyn vaatimat toiminnot. Tekniseen määrittelyyn sisältyy esimerkiksi käytetty ohjelmointikieli/kielet, ohjelmistokomponentit kuten kirjastot, ohjelmistokomponenttien rakenne ja keskinäinen hierarkia, käytetyt tietorakenteet ja niiden väliset sovellusrajapinnat jne. Arkkitehtuurisuunnittelussa voidaan käyttää hyväksi suunnittelumalleja (), jotka ovat valmiita ratkaisuja suunnitteluongelmiin (tehtäviin). Niiden etuna on tehokkuus ja toimintavarmuus. Huomattavaa on, että ohjelmiston koosta ja monimutkaisuudesta riippuen dokumentti koostuu usean eri kerroksen kuvauksista. Esimerkiksi kompleksissa ohjelmistossa ensimmäisellä tasolla voi näkyä eri moduulit, mistä järjestelmä koostuu: palvelinohjelma-prosessit, asiakasohjelma-prosessit, tietovarastot sekä niiden liitynnät ympäristöön. Toisella tasolla kukin näistä komponenteista on pilkottu pienempiin osiin kuten luokkiin, ja niistä näkyy tarkemmin, mitä ulkoiset liitännät ovat (käytetty protokolla jne). Kolmannella tasolla on kuvattu luokkien metodit ja luokkamuuttujat, käytettyjen tietorakenteiden tyypit (merkkijono, kokonaisluku, liukuluku...) jne. Toteutus Määrittelydokumentin valmistuttua toteutus voi alkaa. Toteutus käsittää lähinnä varsinaisen koodaamisen valitulla ohjelmointikielellä sekä tarvittavien oheiskomponenttien tuottamisen (käytetyt kuvat, äänet jne). Mikäli edelliset vaiheet on toteutettu kunnolla, niin toteutukseen menevä aika on noin 10–20 % koko ohjelmistoprojektiin käytetystä ajasta. Tämän vaiheen tuotoksena on siis ajettava ohjelmisto, mutta siinä on kuitenkin yleensä suhteellisen paljon toiminnallisia virheitä. Ohjelmankehitysympäristöissä toteutusvaihe voi olla puoliautomaattinen. Kehitysympäristö osaa kehittää luoduista suunnitelmista ohjelmakoodin rungon, jossa luokkakaaviosta on johdettu valmiit koodit luokille, luokan tietojäsenille sekä metodirungot parametreineen. Se nopeuttaa huomattavasti koodaajan työtä kun hänen pitää lisätä vain metodien toiminnallinen sisältö koodeihin. Testaus Alpha-testaus on ohjelmistokehityksen vaihe, jonka aikana tutkitaan luotujen toimintojen kykyä toimia oikein käytännön tilanteessa. Vaiheen aikana on tarkoitus kartoittaa myös ohjelmiston sisäinen koodi dokumentoituun muotoon. Beta-testausvaiheen aikana ohjelmistosta etsitään ja korjataan pois mahdolliset ohjelmointivirheet eli bugit, joita on saattanut aiheutua mahdollisista Beta-vaiheen aikana tehdyistä muutoksista. Beta-testaus on ohjelmistonkehityksessä eräs eniten aikaa vaativista vaiheista. Virheitä löytyy toteutuksen huolellisuudesta riippumatta käytännössä kaikista ohjelmistoista. Esimerkiksi yritykselle on erittäin tärkeää löytää virheet (ja korjata ne) itse sen sijaan, että asiakas löytää ne ja kertoo sitten huonoista kokemuksistaan muille. Vaikka testaus onkin osana kaikkea ohjelmistokehitystä, niin sen harteille ei pidä sälyttää vastuuta lopputuotteen hyvästä laadusta. Laatuajattelun on oltava mukana aivan ensimmäisestä vaiheesta alkaen, sillä tutkitusti testattaessa ei löydetä kuitenkaan käytännössä koskaan kaikkia virheitä, ja myös virheiden korjaaminen aiheuttaa usein uusia virheitä. Testaukseen kuuluu muun muassa testausmenetelmien suunnittelu, erilaisten testidokumenttien sekä testipenkkien laatiminen. Testitulosten mukaan ohjelmistoon tehdään tarvittavat muutokset – jos muutoksia pitää tehdä ylemmille tasoille kuten toiminnalliseen määrittelyyn, niin se on yleensä merkki koko projektin yli ulottuvasta heikosta laadusta. Siinä missä toteutuksessa on tarkoituksena tehdä mahdollisimman virheetön ohjelmisto, testauksessa on tarkoitus löytää mahdollisimman paljon virheitä. Testaus vaatii siis testaajalta destruktiivisen eli hajottavan asenteen. Monet virheet vaativat korjaamista, joten hyvin suoritettu testaus aiheuttaa lisätöitä ohjelmiston toteuttajille. Tämän vuoksi on usein järkevää, että organisaatiossa testauksesta huolehtii eri yksikkö kuin toteutuksesta. Pienissä organisaatioissa tämä ei välttämättä onnistu, mutta mahdollisuuksien mukaan ohjelmoijat voivat kuitenkin testata toistensa valmistamat ohjelmistot tai niiden osat. Ohjelmiston testaus voidaan jaotella myös muun muassa seuraaviin: Yksikkötestaaminen varmistaa koodiosien toiminnan, usein funktiotasolla. Yleensä kehittäjät kirjoittavat nämä testit varmistaakseen, että koodi toimii oikein. Yksikkötestaus ei kokonaisuutena vahvista ohjelmiston toimivuutta, mutta varmistaa, että rakennuspalikat ovat kunnossa. Tavoitteena on virheiden ehkäisy ja tehokkuuden lisääminen ohjelmistokehityksessä. Yksikkötestaukseen voi sisältyä koodianalyysiä ja muiden testauskäytäntöjen soveltamista organisaation vaatimusten mukaan. Integraatiotestaus on mikä tahansa ohjelmistotestaus, joka pyrkii varmistamaan komponenttien välisten rajapintojen toimivuuden suhteessa ohjelmistosuunnitelmaan. Ohjelmistokomponentit voidaan integroida iteratiivisesti tai kaikki samanaikaisesti. Yleensä edellinen vaihtoehto katsotaan paremmaksi käytännöksi, koska se mahdollistaa rajapintaongelmien nopeamman havaitsemisen ja korjaamisen. Integraatiotestaus pyrkii tuomaan esiin virheitä integroitujen komponenttien (moduulien) välisten rajapintojen ja vuorovaikutuksen osalta. Vähitellen yhdistettyjen ja testattujen ohjelmistokomponenttien ryhmät, jotka vastaavat arkkitehtuurisuunnitelman osia, integroidaan ja testataan, kunnes ohjelmisto toimii kokonaisuutena. Hyväksyntätestaaminen sisältää yleisesti seuraavat neljä tyyppiä: Käyttäjän hyväksyntätestaus (UAT) Operatiivinen hyväksyntätestaus (OAT) Sopimuksellinen ja sääntelyyn perustuva hyväksyntätestaus Alpha- ja beta-testaus UAT:ta sekä alpha- ja beta-testausta käsitellään seuraavissa testaustyypeissä. Operatiivinen hyväksyntätestaus käytetään tuotteen, palvelun tai järjestelmän operatiivisen valmiuden (ennen julkaisua) testaamiseen osana laadunhallintajärjestelmää. OAT on yleinen tyyppi ei-toiminnallista ohjelmistotestausta, jota käytetään pääasiassa ohjelmistokehitys- ja ohjelmiston ylläpitoprojekteissa. Tämäntyyppinen testaus keskittyy järjestelmän operatiiviseen valmiuteen tukea toimintaa tai tulla osaksi tuotantoympäristöä. Sen vuoksi sitä kutsutaan myös operatiivisen valmiuden testaukseksi (ORT) tai operatiivisen valmiuden ja varmistuksen testaukseksi (OR&A). Funktionaalinen testaus OAT:ssa rajoittuu niihin testeihin, jotka ovat tarpeen järjestelmän ei-toiminnallisten näkökohtien varmistamiseksi. Regressiotestaaminen Julkaisu tai käyttöönotto Julkaisuehdokkuudesta puhutaan kun ohjelmisto on saavuttanut tietyn toiminnallisen tilan, jossa kaikki ohjelmiston ominaisuudet toimivat lähes virheettömästi ja ohjelmisto on valmis julkaistavaksi. Useimmissa tapauksissa julkaisua ei kuitenkaan voi tapahtua, ennen kuin kaikki ohjelmistoa kehittävät tahot ovat siihen tyytyväisiä. Joskus ohjelmiston valmistuminen ajallaan on tärkeämpää kuin riittävä testaus, jolloin Julkaisuehdokkuus kyseenalaisesti ohitetaan. Julkisesti saataville tarkoitetun ohjelmatuotteen valmistuttua se yleensä julkaistaan. Julkaistaessa kerätään ohjelman osat ja dokumentointi yhdeksi paketiksi sekä tiedotetaan uuden ohjelman tai ohjelmaversion saatavuudesta, lisenssiehdoista sekä ominaisuuksista. Näitä toimenpiteitä varten on olemassa työkaluja ja hallintajärjestelmiä. Tuotantoon julkaisemista kutsutaan myös nimellä kultaaminen, joka tulee siitä, että alkuperäinen ohjelmiston Master-levy viedään monistettavaksi ja paketoitavaksi tehtaalle tai se valmistellaan internet-pohjaista levitystä varten. Ohjelmisto saatetaan kääntää eri kielille, lisäksi sen ohjekirjat kirjoitetaan ja tulostetaan. Myös markkinoinnin suunnittelu kuuluu osaksi tätä vaihetta. Lisenssiehdot määräävät kaupalliset ja juridiset ehdot ohjelman jakelulle, asentamiselle ja käyttämiselle. Kaupallisen (ks. omisteinen ohjelmisto) jakelun lisäksi on avoimen lähdekoodin lisenssejä kuten GNU GPL. Freeware-ohjelmistot ovat maksuttomia, mutta niiden lähdekoodi ei ole aina saatavilla. Jos ohjelmisto on rakennettu tietylle asiakkaalle, julkaisun sijaan tehdään käyttöönotto. Käyttöönotossa ohjelmistosta valmistellaan asennettava kokonaisuus, joka sitten suunnitellusti asennetaan määrätyille laitteille. Käyttöönottoon liittyy usein myös muun muassa laitteiston asennus ja valmistelu, tietoyhteyksien valmistelu, vanhojen tietojen konvertointi ja käyttäjien valmentaminen. Ylläpito Ohjelmien ja ohjelmistojen ylläpito ei kuulu enää ohjelmistotuotantoon eikä ohjelmien kehittelyyn vaiheena. Ylläpidon tarkoitus on pitää ohjelmisto toimintakuntoisena ja raportoida virheistä tuotannolle. Ylläpitoon kuuluu ohjelmien uusien versioiden päivitys vanhojen tilalle ja päivityksestä aiheutuvat muutostoimet. Ylläpito käsittää ne toimenpiteet, mitä asiakkaat tarvitsevat ollakseen tyytyväisiä ohjelmistotuotteeseen. Tyypillisesti ohjelmistojen katsotaan vanhenevan ennen pitkää, ja tarpeet myös muuttuvat; lisäksi laadukkaastakin ohjelmistotuotteesta löytyy yleensä vähintäänkin pieniä ohjelmistovirheitä, joten käyttäjät odottavat uusia versioita täyttämään muuttuvat tarpeet ja esiintyneet ongelmat. Elinkaaren loppu Ohjelma ei ”kuole” koskaan. Ohjelma voi tulla tarpeettomaksi kun käyttöympäristö muuttuu siten, että ohjelmaa ei voida enää käyttää tulee uusi parempi menetelmä suorittaa ohjelman tekemät asiat ohjelman tekemien toimenpiteiden tarve loppuu ohjelman toiminnot yhdistetään uuteen ohjelmaan ohjelman käyttö ja kehittely loppuu. Ohjelmistotuotannon työkalut Prosessia helpottamaan on kehitetty erilaisia työkaluja. Perustyökaluja ohjelmistotuotannossa ovat mallit, joiden avulla prosessin vaiheita voi hallita. Esim. vesiputousmallissa vaiheet suoritetaan yksi kerrallaan loppuun asti – testausvaiheesta ei voi palata analyysiin. Muita ohjelmistotuotannon työkaluja ovat UML ja CASE. UML (Unified Modeling Language, yhtenäistetty mallinnuskieli) auttaa visualisoimaan suunnitelmia. UML on kokoelma yksinkertaisia graafisia merkintöjä, kuten laatikoita ja nuolia, joilla on määrätty merkitys. UML on kehitetty olio-ohjelmointiin. UML-mallinnuksia voi tehdä esimerkiksi ohjelmilla MS Visio, Argo UML, Eclipseen asennettavalla liitännäisohjelmalla, NetBeans, yms. CASE (Computer Aided Software Engineering, tietokoneavusteinen ohjelmistotuotanto) on ollut käytössä 1970-luvulta alkaen. CASE-työkalut ovat ohjelmia, joiden avulla voi organisoida ja visualisoida ohjelmistotuotannon prosesseja. Eri ohjelmointikielille ja -ympäristöille on omat CASE-työkalunsa. Tunnettu ohjelmankehitysympäristö on Eclipse. Katso myös Ohjelmistoteollisuus Ketterä ohjelmistokehitys Kriittinen massa Nopean kehityksen malli Ohjelmiston laatu Suihkulähdemalli Lähteet Viitteet Kirjallisuutta Aiheesta muualla Seulonnan keskeiset artikkelit


source: wikipedia

text: Oraakkeliluukirjoitukset eli kilpikonnanluukirjoitukset (kiinaksi 甲骨文 jiǎgǔwén, kirjaimellisesti kuori-luu-kirjoitus; tai bǔcí, perint.卜辭, yksinkert.卜辞, kirjaimellisesti halkeaman sanoma) ovat vanhimmat löytyneet kiinankieliset kirjoitukset. Ne esiintyvät kilpikonnan vatsaluissa ja uhrieläinten lapaluissa, joita käytettiin ennustamiseen, mistä nimi oraakkeliluu tulee. Kiinasta on löytynyt yli 100 000 oraakkeliluukirjoitusta, suurin osa näistä Shang-dynastian viimeisen pääkaupungin Yinin (Yinxu) seudulta, joka löytöpaikka sijaitsee nykyisen Anyangin kaupungin alueella Henanin maakunnassa. Myös Läntisen Zhou-dynastian ajoilta on löydetty luukirjoituksia. Yli 50 000 kirjoituksista on sittemmin julkaistu ja tutkittu. Ennusteet Tekstit on kirjoitettu kilpikonnan vatsaluihin tai uhrieläinten lapaluihin. Hoviennustaja kirjoitti luuhun ennustuksen päivämäärän ja kysymyksen, minkä jälkeen luuta kuumennettiin. Ennustaja tulkitsi kuumennettaessa syntyneet halkeamat. Luuhun kirjoitettiin muistiin ennustuksen kielteiset ja myönteiset tulkinnat sekä usein asian saama käänne eli kommentti siitä, kuinka hyvin ennustus piti paikkansa. Tekstien aiheet koskevat kaikkia hallitsijan toimia: esi-isien ja jumalien palvontaa, sotaretkiä, virkanimityksiä, oikeuskäsittelyjä, kaupunkien rakentamista, maatalouskampanjoita, säätä, sairauksia, matkoja, unia, syntymiä ja tulevien päivien suotuisuutta. Teksteissä kuvataan myös entisille kuninkaille tehtyjä uhrauksia. Näiden perusteella on voitu selvittää kaikki Shang-dynastian kuninkaat. Täten aikaansaatu kuninkaiden lista vastaa varsin hyvin Han-dynastian aikaisen historioitsija Sima Qianin luettelemia Shang-dynastian kuninkaita. Kirjoitus Tekstit ovat varsin kehittyneitä. Niissä esiintyy noin 5 000 erilaista merkkiä, mistä voi päätellä, että kiinan kirjoituksella oli jo tuohon aikaan pitkä historia. Kirjoituksista on muodostettu tekstikorpuksia, joissa on yhteensä satoja tuhansia kiinan merkkejä (luukirjoitusmuodossa). Nämä merkit toimivat logogrammeina eli sanamerkkeinä, kukin merkki vastaa jotakin tietyllä tavalla lausuttua sanaa. Vajaa puolet kirjoituksissa esiintyvistä merkeistä on yhä tunnistamatta, mutta useammin esiintyvät on tunnistettu ja tekstejä voidaan varsin hyvin lukea, sillä käytetty kielioppi on lähellä klassista kiinaa. Monet merkit ovat hyvin samantapaisia kuin nykyiset kiinalaiset merkit. Kirjoituksessa käytetty kieli on päätelty osin sanajärjestyksen perusteella, osin rebus-prinsiipin (vrt. kuva-arvoitus) mukaisesti. Kirjoituksissa esiintyy (varhaisemmassa muodossaan) esimerkiksi merkki 來 (lái, eli tulla) erään ruohokasvin merkkinä, joka ääntyy kiinaksi samalla tavalla kuin verbi tulla. (Vrt. suomen sana kuusi, joka numeromerkityksessäänkin sana-arvoituksiin piirretään puuna.) Teksteissä esiintyy kiinalaisen laskujärjestelmän idea: yksinkertaiset merkit yhdestä kymmeneen ja merkki sadalle. Lisäksi niissä käytetään kahta sarjaa ajanlaskumerkkejä, joista toisessa on kymmenen merkkiä (taivaalliset rungot), joita oli alun perin käytetty päivien laskemiseen, ja toisessa kaksitoista merkkiä (maalliset oksat), joita oli käytetty tuntien, kuukausien ja vuosien sykleinä. Shang-dynastian oraakkeliluissa nämä merkit on jo yhdistetty toisiinsa 60 yhdistelmän kierroksi, jiazi-kalenteriksi. Zhou-dynastian ajoilta on peräisin vielä laajempia kiinankielisiä kirjoituksia ja pidempiä tekstejä, katso jinshi-kirjoitus. Merkkien löytyminen Kirjallisuudentutkija Wang Yirong (王懿榮 1845–1919) sairastui ja kävi apteekissa ystävänsä Liu En (Liú È 刘鶚 1857–1909) kanssa. Odotellessaan lääkkeen valmistumista hän ehti huomata lääkkeen ainesosaksi jauhettavan ”lohikäärmeenluun” (lónggǔ 龍骨) olevan kirjoitusmerkkien kirjailema. Ystävykset tutkivat lohikäärmeenluita ja he tunnistivat kirjoitukset Shang-dynastian aikaisiksi. Liu E julkaisi kirjoissaan lukuisia näistä kirjoituksista. Lähteet Aiheesta muualla Näyte oraakkeliluukirjoituksista. Kiinan historia Kiinan kirjoitusjärjestelmä en:Oracle bone script fr:Écriture ossécaille ko:갑골 문자 no:Orakelskrift ru:Цзягувэнь sk:Nápisy na veštebných kostiach sr:Записи на оклопима корњача sh:Zapisi na oklopima kornjača sv:Orakelbensskrift


text: Olusegun Obasanjo (joruban kielellä Oluṣẹgun Matthew Okikiọla Arẹmu Ọbasanjọ, s. 5. maaliskuuta 1937 Abeokuta, Brittiläinen Nigeria) oli Nigerian presidentti sotilashallitsijana vuosina 1976–1979 ja vapailla vaaleilla valittuna vuosina 1999–2007. Presidenttiytensä aikana hän pyrki vähentämään korruptiota Nigeriassa, mutta sen vastaiset toimet kohdistuivat lähinnä hänen poliittisiin vastustajiinsa. Hän yritti jatkaa presidenttinä kolmannen kauden, mutta epäonnistui perustuslain muuttamisessa tämän sallimiseksi. Elokuussa 2021 Afrikan unioni nimitti hänet edustajakseen Afrikan sarven alueelle rauhanpyrkimysten edistämiseksi. Elämäkerta Obasanjo kuuluu Nigerian suurimpaan kansaan joruboihin ja on kristitty sekä absolutisti. Hänen vanhempansa olivat Ashabi (k. 1958) ja Amos Obasanjo Bankole (k. 1959). Hän kävi baptistipoikakoulua ja lahjakkaana voitti opiskeluaikanaan useita palkintoja. Tuolloin hän myös luopui englanninkielisestä Matthew-etunimestään ja tapasi tulevan vaimonsa Oluremi Akinlawonin, jonka kanssa avioitui vuonna 1963. Toimittuaan jonkin aikaa opettajana Ibadanissa hän päätti pyrkiä Ibadanin yliopistoon opiskelemaan, mutta ei vähävaraisena saanut maksettua lukukausimaksuja. Sotilasura Obasanjo liittyi Nigerian maavoimien palvelukseen maaliskuussa 1958 läpäistyään kadettien pääsykokeen. Hän sai sotilaskoulutusta myöhemmin myös Yhdistyneessä kuningaskunnassa Mons Officer Cadet School -kadettikoulussa. Hän järkyttyi kokemansa rasismin ja syrjinnän määrästä, mutta suoritti opintonsa ja palasi Nigeriaan vuonna 1959 ottamaan vastaan jalkaväen upseerin pestin Kadunassa. Hänet ylennettiin pian luutnantiksi, ja hän oli osana Nigerian 5. pataljoonaa Yhdistyneiden kansakuntien rauhanturvaoperaatiossa Kongossa lokakuusta 1960 toukokuuhun 1961. Palattuaan Nigeriaan Obasanjo siirtyi jalkaväestä pioneereihin. Hänet ylennettiin majuriksi 1965, ja vuonna 1967 hänestä tuli asevoimien pioneerien johtaja. Biafran sodassa everstiksi ylennyt Obasanjo nimitettiin toukokuussa 1969 divisioonan komentajaksi. Tammikuussa 1970 hän tapasi Biafran johtajaksi nousseen Philip Effiongin ja neuvotteli tämän kanssa Biafran antautumissopimuksen lähes kokonaisuudessaan. Hän pyrki myös parhaansa mukaan estämään Biafran igbojen ahdistelun komentamiensa joukkojen taholta määräämällä raiskaajat ammuttaviksi ja ryöstelijät ruoskittaviksi. Poliittinen ura Vuonna 1975 kenraali Murtala Ramat Mohammedin johti verettömän sotilasvallankaappauksen, jossa syrjäytettiin kenraali Yakubu Gowon. Pääesikunnan esikuntapäällikkönä Obasanjo oli Murtala Muhammadin varamies ja hänellä oli armeijan tuki. Mohammadin tultua murhatuksi vuonna 1976 Obasanjo nousi Nigerian johtoon. Hän komensi divisioonaa, joka valloitti Owerrin ja toi sisällissodan tehokkaasti päätökseen. Sotilasvalta hyötyi tehokkaasti öljyn hinnan noususta. Lokakuussa 1976 maassa julkistettiin uuden perustuslain teksti, mikä edelsi perustuslaillista kokousta 1977. Vuonna 1979 vahvistettu perustuslaki perustui Yhdysvaltain perustuslakiin. Maassa pidetyt paikallis- ja kongressivaalit merkitsivät paluuta demokratiaan. Obasanjo luovutti presidentinviran 1. lokakuuta 1979 Shehu Shagarille ja siirtyi viettämään hiljaiseloa perustamalleen maatilalle. Vuonna 1983 armeija kaappasi jälleen vallan. Kenraali Sani Abachan valtakaudella 1993–1998 Obasanjo joutui vankilaan. Obasanjo ei kuitenkaan jäänyt toimettomaksi vankilassakaan, vaan kirjoitti kolme kristinuskoa käsittelevää kirjaa ja organisoi vankilan jättömaalle tehokkaan maatilan. Kenraali Abachan kuoleman jälkeen hänet vapautettiin. Presidenttinä Vuoden 1999 vaaleissa Obasanjo valittiin kansan demokraattisen puolueen ehdokkaana vapailla vaaleilla Nigerian presidentiksi 62,6 prosentin ääniosuudella. Hänet valittiin uudelleen 2003. Afrikan ulkopuolella Obasanjoa pidetään afrikkalaisena valtiomiehenä. Seitsemän valtavuotensa aikana hän lopetti sisällissodan Liberiassa ja esti vallankaappausyrityksen Togossa. Hän varmisti, ettei Afrikan unioni menettänyt uskottavuuttaan asettamalla Sudanin presidenttiä Omar Hasan Ahmad al-Bashiria johtoonsa (ks. Darfur). Obasanjon valtakaudella Nigeria on kuitenkin ollut hajoamassa kappaleiksi. Uskonnollinen, etninen ja poliittinen väkivalta on kasvanut nopeasti ja maassa on vuosina 1999–2003 tapettu yli 15 000. Väkivalta leimahti jälleen alkuvuodesta 2006 pohjoisessa ja idän kaupungeissa sekä hyökkäyksin öljyteollisuutta vastaan Nigerin deltassa. Yli 100 ihmistä kuoli Muhammad-pilapiirrosjupakan jälkeisissä väkivaltaisuuksissa kristittyjen ja muslimien hyökkäillessä toisiaan vastaan. Obasanjon korruption vastainen kampanja on suuntautunut lähinnä hänen poliittisia vastustajiaan kohtaan. Hän pyrki muuttamaan perustuslakia voidakseen jatkaa presidenttinä vielä kolmannen kauden. Tämän epäonnistuttua hän järjesti presidentiksi ennestään tuntemattoman Katsinan osavaltion kuvernöörin Umaru Yar’Aduan vaaleissa, joita ei edes itse myöntänyt täysin rehellisiksi. Presidenttiyden jälkeinen aika Elokuussa 2021 Afrikan unioni nimitti Obasanjon Afrikan sarven korkeaksi edustajaksi rauhanpyrkimysten ja neuvottelunhalun edistämiseksi alueella. Lähteet Viitteet Aiheesta muualla Nigerialaiset poliitikot Nigerian presidentit Vuonna 1937 syntyneet Elävät henkilöt


text: Ohjelmointikielen kääntäjä on tietokoneohjelma, joka luo tietokoneohjelman ohjelmointikielisen lähdekoodin perusteella konekielisen ajettavan binääritiedoston (eli kääntää ohjelman). Kääntäminen on siis muunnos, jossa ihmiselle helpossa muodossa oleva lähdekoodi muutetaan tietokoneen suorittimen ymmärtämään muotoon myöhempää suorittamista varten. Kääntäjän lisäksi voidaan tarvita useita muita ohjelmia suoritettavan ohjelman tuottamiseksi kuten esikääntäjä, assembler ja linkkeri. Vaihtoehtona kääntäjälle on ohjelmointikielen tulkki, joka myös suorittaa ohjelman. Joskus ohjelmat käännetään ensin kääntäjällä tavukoodiksi, jonka sitten suorittaa yksinkertainen tulkki. Tyypillisesti tällä tavalla suoritettavia ohjelmointikieliä ovat Java, Python, Ruby ja PHP. Tavukoodia käytetään myös välivaiheen käännöksenä, jotta eri kielistä saadaan kohdennettua eri laitteille käännettävää alustakohtaista ohjelmakoodia. Vastaavia ovat muun muassa LLVM kääntäjäympäristössä sekä useissa GPGPU-ohjelmointiin suunnatuissa menetelmissä (esim. SPIR-V). Käännettävä ohjelma voi olla jaettuna moduuleihin, jotka ovat tallennettuna erillisiin tiedostoihin. Suuret ohjelmat käännetään usein osissa, jolloin uudelleen sijoitettava konekielinen koodi voidaan linkittää yhteen toisten objektitiedostojen kanssa. Käännöksen vaiheet Käännös voidaan jakaa neljään vaiheeseen: Lähdekoodin merkkijono muutetaan vastaavaan sarjaan symboleita kielen sanastossa. Muun muassa tunnisteet jotka koostuvat kirjaimista ja numeroista, luvut jotka koostuvat numeroista, erotinmerkit ja operaattorit jotka koostuvat erikoismerkeista tunnistetaan tässä vaiheessa. Symbolien sarja muutetaan esitysmuotoon, joka vastaa kielen syntaksia. Ylemmän tason kielissä tunnistetaan tyypit sekä niiden yhteensopivuudet operaattoreiden ja operandien välillä. Toisen vaiheen esitysmuodosta tuotetaan konekieltä kohteen käskykannalle, joka on usein vaativin osa ja pilkotaan vielä pienempiin vaiheisiin. Analyysivaihe voidaan jakaa kolmeen analyysiin: sanastollinen (), syntaksin mukainen ja merkityksen mukainen (). Kääntäjä voi tuottaa välikielellä käännöksen, johon voidaan soveltaa alustariippumattomia optimointeja ennen varsinaista konekielisen koodin tuottamista ja sen optimointia. Kääntäjän etuosa jaetaan usein selaajaan () ja jäsentimeen (). Selaaja tunnistaa ohjelmointikielestä alkionimet () esimerkiksi säännöllisten lausekkeiden avulla. Jäsennin (myös jäsentäjä) tunnistaa kielen rakenteen vaikkapa sisäkkäisiä rakenteita tunnistavan LR-jäsennystä (left-right, eli läpikäynti vasemmalta oikealle, ymmärtäminen oikealta vasemmalle) käyttäen. Myös LL-jäsennystä käytetään sen yksinkertaisuuden vuoksi, mutta sellaisen avulla ei voida jäsentää kieltä, missä esiintyy nk. vasen rekursio. Esimerkiksi kielioppisääntöön A ::= A + B ei voida soveltaa LL-jäsentäjää, koska se joutuisi ikuiseen rekursiosilmukkaan - aliohjelmakutsut menisivät seuraavaan tapaan: ParseA() ParseA() ParseB() # tee jotain A + B:lle Unix-maailmassa yleisesti käytetyt työkalut ovat LEX ja YACC: LEX tekee sanastollisen analyysin (selaajan) ja YACC lausemuodon analyysin (jäsentimen). Kolmas käännösvaihe on semanttinen (eli merkityksen) analyysi. Tässä vaiheessa tutkitaan mm. muuttujien ja metodien nimet, tyypit ja niiden käytön oikeellisuus. Käännöksen optimointi Kääntäjä voi usein suorittaa käännettävän ohjelman optimointia sille sallituissa rajoissa. C-kielen standardi sallii kääntäjän olettaa ettei käsiteltäviä muuttujia muuteta lataus/tallennus-operaation aikana (kuten lauseen a=b; aikana). Muun muassa rinnakkain suoritettavan ohjelmakoodin tapauksessa tämä voi aiheuttaa ongelmia. Kääntäjä voi olettaa ettei tieto muutu sitä käyttävän toistorakenteen aikana, joka voi olla virhetilanne lukituksen vapautumista odottaessa. Standardifunktiot Standardifunktiot () ovat kääntäjän itsensä tarjoamia tai tunnistamia funktioita, jotka sisältävät korkealle optimoidut toteutuksen tietyille yleisille algoritmeille. Esimerkiksi sini- ja kosinifunktiot ovat usein käytettyjä. Kääntäjässä voi olla toteutuksia alustakohtaisille toiminnoille tietyillä käskykantalaajennuksilla toteutettuna, joita voidaan käyttää ohjelmissa assembly-kielellä tehtyjen rutiinien asemesta kuten SSE-käskykannan hyödyntämisessä. Esimerkiksi Microsoftin ja Intelin C/C++ kääntäjät sekä GCC toteuttavat standardifunktiot, jotka vastaavat suoraan x86-käskykannan SIMD laajennuksia. Kääntäjien tyypit Ohjelmointikielen kääntäjiä voidaan käyttää samalla alustalla jossa käännettävä ohjelma suoritetaan (natiivi tai isäntäalusta). Toinen tyyppi on ristiinkääntäjä, jossa kohdealusta voi olla eri kuin käännösympäristön, esimerkiksi sulautettu järjestelmä voi olla suorituskyvyltään liian rajoittunut kääntäjälle. Ristiinkääntäjä voi kohdistaa eri suorittimelle tai käyttöjärjestelmälle. Ristiinkääntäjä voidaan kääntää eri ympäristössä kuin missä se tullaan ajamaan ja käännetyn kääntäjän kohde voi olla myös eri: tätä tapausta kutsutaan "Kanadalaiseksi ristiksi" (). Katso myös Standardikirjasto Ohjelmointikielen tulkki Lähteet Aiheesta muualla Kirjallisuutta Seulonnan keskeiset artikkelit


text: Ohjelmointikielen tulkki on tietokoneohjelma, joka käsittelee ohjelmointikielisiä lauseita ja suorittaa ne. Tämä poikkeaa ohjelmointikielen kääntäjästä, joka kääntää koko lähdekoodin konekieliseksi ohjelmaksi sen myöhempää suorittamista varten. Periaatteessa sama lähdekoodi on mahdollista joko tulkata tai kääntää. Lähdekoodin tulkkaaminen on hitaampaa kuin samasta koodista käännetyn konekielisen ohjelman ajaminen. Ero johtuu siitä, että tulkin on ensin analysoitava lähdekoodi ja sitten vielä suoritettava se, kun jo käännetyssä konekielisessä ohjelmassa riittää pelkkä suorittaminen. Toisaalta kääntäminen ja ohjelman suorittaminen yhteensä on hitaampaa kuin ohjelmakoodin tulkkaaminen kerran. Eräät ohjelmointikielet, kuten Java ja Emacs Lisp, käännetään tyypillisesti tavukoodiksi, joka suoritetaan virtuaalikoneella. Tämä tavukoodi on laitteistoriippumatonta ja kompaktia, joskin hieman hitaampaa kuin konekielinen ohjelma. Tulkattavat ohjelmointikielet Eräitä tulkattavia ohjelmointikieliä ovat: Basic Ruby Python Perl TCL PHP JavaScript Katso myös Ohjelmointikielen kääntäjä Komentokieli Lähteet Ohjelmointi


text: Ooppera (, monikko sanasta opus ’työ, teos’) on näyttämötaidemuoto, jossa yhdistyvät musiikki ja näytelmä. Oopperassa on usein täysimittainen sinfoniaorkesteri. Pääosassa ovat kuitenkin laulajat. Oopperan tekstiä, jota kutsutaan nimellä libretto, lauletaan oopperan aikana tavallisesti kahdella laulutyylillä. Resitatiivi on puhemaista laulua, joka kuljettaa juonta eteenpäin. Resitatiivien välillä olevia lauluja kutsutaan aarioiksi. Lisäksi oopperateoksiin kuuluu usein duettoja, kolmen laulajan esittämiä tertsettoja ja neljän laulajan kvartetteja, kuorokohtauksia ja orkesterin esittämiä alku-, väli- ja loppusoittoja. Tekijät Oopperan sanoituksen eli libreton kirjoittaa libretisti. Joskus libreton kirjoittaa oopperan säveltäjä itse. Libretisti päättää, mitä kussakin kohtauksessa tapahtuu, ja hän kirjoittaa laulajien laulamat ja puhumat sanat. Libreton tarina on joskus peräisin tunnetusta lähteestä kuten sadusta, myytistä, Raamatusta, romaanista, näytelmästä tai elämäkerrasta. Monessa oopperatalossa katsoja voi lukea librettoa esityksen aikana omalla kielellään esimerkiksi näyttämön yläpuolella tai istuimen selkänojassa olevasta näytöstä. Oopperan säveltäjä tekee oopperan musiikin ja antaa toiminnalle ja tunteelle musiikillisen muodon. Hän määrittelee myös orkesterin koon, mitä soittimia ja äänialoja esityksessä käytetään, ja kuinka monta laulajaa esitykseen osallistuu. Oopperatalon johtaja suunnittelee jokaisen esityskauden ohjelmiston. Hän valitsee esitettävät oopperat ja varaa niihin laulajat. Laulajat sijoitetaan rooleihin äänialansa mukaan. Oopperalaulajien äänialoja ovat miehillä basso, baritoni, tenori ja kontratenori, ja naisilla kontra-altto, altto, mezzosopraano ja sopraano. Oopperat esitetään nykyisin yleensä alkukielellä, joten laulajat joutuvat laulamaan useilla eri kielillä. Joissain oopperoissa on laulukuoro, ja joissain esiintyy balettitanssijoita. Lavalla on usein myös statisteja, jotka eivät puhu tai laula. Kapellimestari, "maestro", johtaa esityksessä orkesteria ja päättää esimerkiksi musiikin tempon ja voimakkuuden. Hän osoittaa laulajille ja soittajille milloin on heidän vuoronsa olla äänessä. Orkesteri istuu orkesterimontussa näyttämön ja yleisön välissä. Näyttämön edessä on yleisöltä piilotettu kuiskaajan koppi, josta hän muistuttaa laulajaa sanoituksista. Näyttämöohjaaja vastaa siitä, mitä näyttämöllä tapahtuu, ja hän ohjaa laulajien liikkeitä. Lavastaja suunnittelee lavasteet ja sen, miltä esitys näyttää. Hän työskentelee yhteistyössä etenkin ohjaajan ja valaistussuunnittelijan kanssa, joka suunnittelee esityksen valaistuksen. Puvustaja tekee esittäjien esiintymisasut, meikkaaja laatii meikit ja peruukkimestari tekee peruukit, joita oopperassa käytetään hyvin runsaasti. Musiikkijärjestäjä tai näytäntöjärjestäjä on ikään kuin toinen kapellimestari, joka seuraa partituuria ja määrää esimerkiksi esiintyjien sisääntulon ajoituksista, lavasteiden ja valojen vaihtumisesta, erikoistehosteista ja esiripun liikkeistä. Esitykseen osallistuu lisäksi erilaisia näyttämötyöntekijöitä, jotka esimerkiksi siirtelevät lavasteita ja hoitelevat tehosteita. Oopperan historia Oopperan juuret juontuvat renessanssin aikaan suosittuihin musiikkia ja draamaa yhdistäneisiin taidemuotoihin pastoraali- ja madrigaalidraamaan sekä ennen kaikkea intermedioon, jotka olivat lyhyitä esityksiä, joita esitettiin tavallisten puhedraamojen väliajoilla. Barokin kynnyksellä tehdyt kaksi merkittävää musiikillista keksintöä tekivät oopperan synnyn mahdolliseksi. Kirkkosävellajeista luopuminen ja duuri–molli-tonaliteetin vakiintuminen mahdollisti modulaation ja siten kontrastien ja jännitteiden luomisen musiikkiin. Sävellajien erot teki erityisen vaikuttaviksi se, ettei viritysjärjestelmä ollut tasavireinen. Renessanssimusiikin polyfoniasta siirtyminen barokkimusiikin monodiaan mahdollisti melodian vapaamman liikkumisen ja siten tekstin sisältöä paremmin kuvaavien laululinjojen säveltämisen. 1500-luvun lopulla Venetsiassa vaikutti neljä kilpailevaa seurapiiriä: camerataa, jotka pohtivat miksi ajan musiikki ei yltänyt Aristoteleen Runousopissa kuvaamalle tasolle ja pyrkivät uudelleen herättämään henkiin antiikin musiikkiperinteen. Cameratojen pohdintojen tuloksena syntyi uusi laulutyyli, resitatiivi, jota käytettiin ensimmäistä kertaa Jacopo Corsin camerataan kuuluneen säveltäjä Jacopo Perin teoksessa Dafne vuodelta 1597. Dafnea pidetään ensimmäisenä varsinaisena oopperana, mutta se ei ole säilynyt. Ensimmäinen näihin päiviin säilynyt ooppera on saman säveltäjän Euridice vuodelta 1600. Varhaisen barokin merkittävimmäksi oopperasäveltäjäksi nousi Claudio Monteverdi, jonka oopperat Orfeo (1607) ja Il ritorno d’Ulisse in patria (1640) muodostuivat varhaisen oopperan kulmakiviksi ja joita esitetään edelleen laajasti. Ensimmäistä kertaa termi ooppera esiintyi vasta vuonna 1647 julkaistun librettokokoelman alaotsikossa: ”opera de rappresentarsi in musica” (”Musiikiksi esitettävä teos”). Ensimmäiset oopperat olivat pienen eliitin harrastus, mutta 1600-luvun puoliväliin mennessä ooppera oli levinnyt laajempiin yhteiskuntakerroksiin. Suuriin kaupunkeihin perustettiin julkisia oopperataloja, joihin myös porvaristo saattoi ostaa pääsylippuja. Yleisö oli kiinnostunut laulajien taiturimaisista suorituksista ja hienoista lavasteista, joihin liittyi usein näyttäviä erikoistehosteita. Ranskassa Jean-Baptiste Lully 1670-luvulla loi yhdessä libretistinsä Philippe Quinault'n kanssa omaleimaisen ranskalaisen oopperatyylin, tragédie en musiquen, joka säilyi elinvoimaisena kokonaisen vuosisadan. Myöhäisbarokin aikana Georg Friedrich Händel saavutti suurta arvostusta oopperasäveltäjänä ja sävelsi sekä ohjasi oopperoita lähes kolmenkymmenen kuuden vuoden ajan. Tunnetuimpia hänen yli neljästäkymmenestä italialaistyylisestä oopperastaan ovat Almira 1705 ja Giulio Cesare (Julius Caesar) 1724. Monet klassismin ajan musiikin keskeisistä piirteistä kehittyivät aluksi italialaisen koomisen oopperan piirissä 1720- ja 1730-luvuilla, koska koominen ooppera oli vähemmässä määrin perinteen ja etiketin säätelemää kuin vakava ooppera, opera seria. Italiassa syntyi monia oopperan tyylisuuntia kuten dramma giocoso, dramma comico ja opera buffa, joista viimeinen on vakiintunut koko aikakauden koomisen oopperan yleisnimitykseksi. Opera buffa on useasta näytöksestä koostuva koominen ooppera, jossa on tavallisesti yli kuusi lauluroolia. Opera buffan piirissä kehittyneet muodot löysivät tiensä ennen pitkää myös vakavampaan opera seriaan, jonka keskeisimpiä vaikuttajia oli libretisti Pietro Metastasio. Useat eri säveltäjät, muun muassa Christoph Willibald Gluckin ja Wolfgang Amadeus Mozart, käyttivät Metastasion librettoja sävellyksissään satoja kertoja. 1700-luvun puolivälissä monet musiikkivaikuttajat alkoivat arvostella opera seriaa, jonka katsottiin kangistuneen kaavoihin ja etääntyneen kauaksi Jacopo Perin oopperalle asettamista ihanteista. Syntyneen uudistusliikkeen keulahahmoksi on musiikin historiassa noussut Christoph Willibald Gluck, jonka Orfeo ed Euridice ja Alceste olivat ensimmäiset uusien ihanteiden mukaisesti sävelletyt oopperat. Gluck pyrki palauttamaan musiikin tukemaan draamaa. 1800-luvun alkupuoli oli monin tavoin oopperan kulta-aikaa, jolloin ympäri Eurooppaa pystytettiin uusia oopperataloja ja musiikinlaji levisi myös Atlantin yli Yhdysvaltoihin. Suurinta osaa eurooppalaisista oopperataloista pyörittivät impressaarit, jotka saivat rahallista tukea valtiolta tai yksityisiltä lahjoittajilta. Suosituimmat ooppera-aariat levisivät myös pianosovitettuina nuottipainoksina yksityiskoteihin. Vaikka libretolla ja spektaakkelimaisella näyttämötekniikalla oli edelleen keskeinen asema, alkoi musiikki nousta kuitenkin keskeisimmäksi elementiksi ja säveltäjät nousivat arvostuksessa kuuluisien laulajien rinnalle. 1800-luvun loppupuolella ooppera kytkeytyi enenevässä määrin kansallisuusaatteeseen. Aiheita haettiin kansakunnan historiasta ja myyteistä: esimerkiksi Richard Wagnerin Nibelungin sormus -tetralogia haki aiheensa saksalaisista kansantaruista. Venäläisissä oopperoissa käytettiin teemoina maan kansanmusiikkisävelmiä ja pyrittiin luomaan omintakeinen venäläinen musiikkityyli. Aikakaudelle tyypillistä oli myös vanhojen menestyneiden oopperoiden uudelleenesittäminen, mikä aikaisempina vuosikymmeninä ja -satoina oli ollut harvinaista. Näistä uudelleen esitetyistä oopperoista syntyi hiljalleen oopperan keskeinen ohjelmisto ja uusien oopperoiden kysyntä väheni. Vähentynyt kysyntä antoi säveltäjille mahdollisuuden hioa teoksiaan pidempään. Perinteiden sijaan keskeiseen rooliin nousikin sävellyksen ennenkuulumattomuus ja omintakeisuus. 1900-luvun aikana ooppera kehittyi muun taidemusiikin tavoin eri suuntiin, ja siksi oopperan kehitystä voidaan tarkastella ensisijaisesti yksittäisten säveltäjien ja teosten kautta, koska oopperalla muotokieli ei ollut enää yhtenäinen. Vuosisadan aikana säveltäjät loivat uutta oopperataidetta monin toisista poikkeavin keinoin. Vuosisadan alussa sävelletyt oopperat olivat vielä kauttaaltaan tonaalisia ja sävelkieli yhtenäisempää, mutta 1900-luvun musiikissa säveltasojärjestelmien, rytmin ja muodon saralla tehdyt innovaatiot tulivat värittämään myös oopperataidetta. Kuuluisia oopperasäveltäjiä Claudio Monteverdi Georg Friedrich Händel Wolfgang Amadeus Mozart Richard Wagner Giuseppe Verdi Giacomo Puccini Katso myös Bayreuthin musiikkijuhlat Luettelo säveltäjistä Opera Cava-festivaali Savonlinnan oopperajuhlat Suomen Kansallisooppera Taidemusiikki Lähteet Viitteet Kirjallisuutta Aiheesta muualla Suomen Kansallisooppera. Savonlinnan Oopperajuhlat. OperaBase – esityksiä, säveltäjiä, laulajia. OperaGlass – muun muassa luetteloituna yli 4800 säveltäjän yli 25 000 teosta. Operissimo – suuri ooppera- ja konserttitietokanta. Historic Opera – kuvia, postikortteja ym. oopperan historiasta. Patriciagra.net – opas oopperasäveltäjien ja teosten oikeaan lausuntaan. Suomen av-kääntäjät: Oopperoiden kääntäminen ja tekstitys . Seulonnan keskeiset artikkelit


text: Oheislaiteliitännöillä liitetään lisälaitteita tietokonelaitteistoon. Lisälaitteita voivat olla esimerkiksi toiset tietokoneet, kirjoittimet, näytöt, kamerat ja hiiret tai ulkoiset kovalevyt. Nykyään useat liitäntätyypit voidaan korvata USB-liittimeen hankittavalla sovittimella, joka muuntaa signaalin ja pistokkeen liitäntään sopivaksi. Kannettavien tietokoneiden telakat ovat lisälaitteita jotka mahdollistavat monien erilaisten liitäntäjohtojen helpon käytön, pöytäkoneesta kannettavaksi muuttaminen tapahtuu irrottamalla ainoastaan tietokone telakasta, kaikkien lisälaitteiden johdot ovat kiinni telakassa. Yleisliitännät USB on sarjamuotoiseen tiedonsiirtoon tehty yleisliitäntä johon liitetään useimmiten hiiri, tulostin, langaton modeemi tai USB-muisti. FireWire: FireWire-liitännän avulla tietokoneeseen voidaan liittää esimerkiksi digitaalivideokamera tai ulkoinen kiintolevy. Thunderbolt: Intelin ja Applen kehittämä tiedonsiirtostandardi. Ketjutettava ja sekä PCI Express että DisplayPort yhteensopiva. Kirjoitin ja osoitinlaitteet Rinnakkaisliitäntä: Rinnakkaisliitin on 25-nastainen D-liitin, jota käytetään yleensä kirjoittimen liittämiseen tietokoneeseen. Tiedonsiirto on rinnakkaisliitännän kautta nopeampaa kuin sarjaliitännän kautta. Rinnakkaisliitännästä käytetään lyhennystä LPT tai PRN. Liitin tunnetaan myös nimellä Centronics. USB on korvannut tämän liittimen. Näppäimistö ja hiiriliitin: Näppäimistöliitin on emolevyllä oleva liitin, jonka avulla näppäimistö voidaan liittää tietokoneeseen. Näppäimistöliittimiä on kahdenlaisia. Isommat liittimet ovat 5 nastaisia DIN-liittimiä ja pienemmät 6 nastaisia PS/2-liittimiä. Näppäimistöliittimen värikoodi on violetti. PS/2 hiiriliitin on lähes samanlainen ja sen värikoodi vihreä. USB on korvaamassa tämän liittimen. Näppäimistöille on ollut käytössä myös DIN-liitin Tietokoneiden välinen liikenne Verkkoliitäntä (Ethernet): Tietokoneen liittäminen lähiverkkoon tai esimerkiksi ADSL-modeemiin. RS-232 sarjaliitäntä: Sarjaliittimiä on kahdenlaisia: 9-nastaisia ja 25-nastaisia D-liittimiä. Sarjaliitännästä käytetään alustasta riippuen lyhennettä COM tai ttyS. Sarjaliitäntää käytetään ulkoisten oheislaitteiden, kuten modeemin, liittämiseen tietokoneeseen. Hidas suurilla tietomäärillä, ei enää yleisessä käytössä. Näyttölaiteliitännät Näyttöliitännän avulla tietokonenäyttö, videoprojektori tai televisio voidaan liittää tietokoneeseen. Näyttöliittimen ulkonäkö ja nastamäärä riippuu siitä, minkä standardin mukainen näytönohjain tietokoneessa on. Ulkoinen näyttö on aktivoitava (laitettava päälle) näppäimistön tai asetusten kautta. Erilaisia näyttöliittimiä ovat: VGA: 15-piikkinen D-liitin. S-video: Liitin voi olla pyöreä Mini-DIN 4 (4 johdinta), Mini-DIN 7 (7-johdinta) tai 15-napainen D-liitin. Uusissa kannettavissa tietokoneissa yleisin on Mini-DIN 7. DVI ja Mini-DVI: Digitaalinen kuvansiirto, VGA liitännän seuraaja. Koaksiaali-liitin (BNC): Useampi pyöreä kaksinapainen liitin, harvoin enää käytössä tietokoneissa. RCA: Kuvaa siirretään tietokoneen näyttökortilta näyttölaitteeseen myös keltaisella RCA-liittimellä komposiittivideo-muodossa. Mini-VGA: Pienikokoinen näyttöliitin joka voi VGA-signaalin lisäksi kuljettaa komposiitti- ja S-video-signaaleja. Apple Display Connector Vuosina 2000–2004 Apple-tietokoneissa käytetty näyttöliitäntä joka sisältää DVI:n, USB:n ja virran monitorille. DisplayPort ja Mini DisplayPort: Tietokoneen ja digitaalisen näyttölaitteen tai kotiteatterijärjestelmän kanssa käytettävä liitäntä joka siirtää sekä kuvaa että ääntä. HDMI: kuvan ja monikanavaäänen siirtämiseen suunniteltu digitaalinen näyttölaitteiden liitäntästandardi. Se tukee yleisimpiä resoluutioita: 480i:tä, 576i:tä, 720p:tä, 1080i:tä ja 1080p:tä. Tyypin A HDMI-liitin on taaksepäin yhteensopiva näytöissä ja näytönohjaimissa käytetyn DVI-liitännän kanssa. Oheislaitteet Peliportti : 15-piikkinen D-liitin. Peleissä käytetty peliohjainten liitäntäväylä. USB-liitäntä on korvannut peliportin uusissa ohjaimissa ja tietokoneissa. SCSI: Nopea liitäntä, johon on saatavilla sekä kiintolevyjä, kuvanlukijoita ja muita laitteita. eSATA: Ulkoisten Serial ATA -laitteiden liittämiseen PCMCIA: Lisälaitekorttien liitäntä, esimerkiksi langaton verkko, ethernetliitäntä, ulkoinen kovalevy tai modeemi. Audioliitännät Mikrofoniliitin: Yleensä 3,5 mm mono-jakkikosketin (plugi). Äänen sisäänsyöttö tietokoneelle mikrofonitasoisena. Yleensä vaaleanpunainen kehys. Kaiutinliitin: Yleensä 3,5 mm stereo-jakkikosketin (plugi). Ulkopuolisten kaiutinten tai kuulokkeiden ulostulo. Yleensä vaaleanvihreä kehys. Linjatulo (Line-in): Yleensä 3,5mm stereo-jakkikosketin (plugi). Musiikin sisääntulo tietokoneelle linjatasoisena. Yleensä sininen kehys. RCA-liitäntä: Ääntä voidaan siirtää tietokoneesta sisään ja ulos myös (yleensä punaisella ja valkoisella) RCA-liittimillä. S/PDIF: On tarkoitettu äänen siirtämiseen digitaalisessa muodossa optista johtoa pitkin tietokoneelta vahvistimeen, jolloin DA-muunnos tapahtuu vahvistimessa eikä tietokoneessa. Langattomat yhteydet Tietotekniset laitteet (tietokoneet, matkapuhelimet ja niin edelleen) voivat siirtää tietoa langattomilla yhteyksillä, jotka eivät tarvitse fyysisiä liittimiä. Infrapuna, IrDA: Infrapunavaloa sarjamuotoiseen tiedonsiirtoon käyttävä langaton, näköyhteyden vaativa yhteysmuoto. Yleisimmin käytössä matkapuhelimen ja tietokoneen välisessä tiedonsiirrossa. IrDA kantama on maksimissaan 1 m ja 1.0 versio on hidas suurilla tietomäärillä. Tumma kantikas muovilevy tietokoneen kyljessä. Bluetooth: Tietokoneiden, kirjoittimien ja mikrofoni/kuulokkeiden liittämiseen käytetty lyhyen kantaman langaton yleiskäyttöinen yhteys, jonka kantama on noin 10 m. WLAN: nopea langaton verkkoyhteys tietokoneverkon (lähiverkon) tai oheislaitteen kuten tulostimen välillä. Katso myös Väylä Lähteet Nasa, tietokoneen liitännät Viitteet Kirjallisuutta Aiheesta muualla pinouts.ru Kattava sivusto liitinsignaalien pinnijärjestyksistä ja kaapeleista Väylät ja liitännät Oheislaitteet


text: Oulunkylä () on kaupunginosa Pohjois-Helsingissä. Oulunkylä sijaitsee Helsingin kantakaupungin rajalla pääradan varressa noin kuusi kilometriä keskustasta pohjoiseen. Oulunkylä on Helsingin 28. kaupunginosa, joka käsittää Oulunkylän ja Maunulan peruspiirit. Kaupunginosa muodostuu Maunulan, Maunulanpuiston, Metsälän, Patolan, Pirkkolan, Veräjälaakson ja Veräjämäen osa-alueista. Historiaa Asutus Oulunkylässä on ollut asutusta ainakin 1200-luvulta lähtien. Keskiaikaisissa asiakirjoissa Oulunkylä on Helsingin pitäjään (sittemmin Helsingin maalaiskunta, nykyään Vantaan kaupunki) kuuluva kylä. Isossajaossa 1700-luvun lopulla kylään merkittiin viisi verotaloa: Landboas, Månsas, Britas, Petas ja Nybondas. Näistä kolme ensiksi mainittua olivat 1800-luvun lopulla yhdysviljelyksessä Oulunkylän kartanona. Helsingin kaupunki osti kartanon vuonna 1908 ja lunasti hallintaoikeuden myös Nybondasin taloon vuonna 1910. Esikaupunkiasutusta alkoi Oulunkylään muodostua sen jälkeen, kun alueelle vuonna 1881 oli perustettu rautatieasema. Vuonna 1907 Oulunkylästä muodostettiin taajaväkinen yhdyskunta. Tuolloin määriteltiin myös yhdyskunnan rajat. Alueen muodosti Oulunkylän kylä ja Kottbyn yksinäistalon alue N:o 1. Kottby oli aikaisemmin jaettu kahteen kokonaisuuteen, Lands-Kottby ja Käpylä, joista jälkimmäinen oli Kumpulan liittämisen yhteydessä sulautettu Helsinkiin. Oulunkylä erotettiin Helsingin maalaiskunnasta itsenäiseksi Åggelbyn kunnaksi vuonna 1921. Suomenkielisen nimen Oulunkylän kunta sai 1922. Helsinkiin Oulunkylä liitettiin suuressa alueliitoksessa 1946. Vuonna 1959 Oulunkylän kaupunginosa jaettiin Maunulan, Metsälän, Patolan, Pirkkolan ja Veräjämäen osa-alueisiin. Oulunkylä kirjallisuudessa Oulunkylä oli kirjailija Joel Lehtosen kahden romaanin Rakastunut rampa eli Sakris Kukkelman, köyhä polseviikki (1922) ja Henkien taistelu, Kertomus tunnetuista kansalaisistamme (1933) fiktiivinen Krokelby-niminen tapahtumapaikka. Nimistöstä Oulunkylän nimen () alkuperää ei tiedetä, eikä edes ole varmaa, onko se alkuperältään suomen- vai ruotsinkielinen. Nimi on esiintynyt 1500-luvulla muun muassa muodoissa Ogleby, Ogelby ja Ågelby, joskus myös Vggleby tai Ögleby. Suomalainen muoto Oulunkylä on ollut käytössä ainakin 1880-luvulta lähtien, mutta se saattaa olla paljon vanhempi. Nimen on arveltu johtuvan suomen kielessä aikoinaan esiintyneestä, saamen kielestä lainatusta tulvavettä tarkoittavasta sanasta oulu, joka esiintynee myös paikannimissä Oulu, Oulainen ja Oulanka. Oulunkylän nimen vanhojen kirjoitusasujen on kuitenkin katsottu osoittavan, ettei nimi voi johtua tästä sanasta. Toisaalta nimen on myös arveltu johtuvan Mäntsälän Ohkolan kylän nimestä. Ruotsinkieliseen alkuperään viittaavia nimiteorioita on esitetty useita: Ågloby (glo 'lammikko'), Ågärdhoby (gärdho 'aidattu alue'), Ågölby (göl 'syvänne'), Åkullaby (kulla 'mäki, kukkula'), Åkällby (källa 'lähde'). Mikäli nimi todella on ruotsalaista alkuperää, sen alkuosa on mahdollisesti ruotsin sana å 'joki'. Nimen lopussa esiintyvä sana by tarkoittaisi kylää. Oulunkylän kantatilat olivat nimiltään Mickels eli Landboas, Britas, Monsas (Månsas), Petas ja Nybondas eli Jeppars. Lisäksi Kottbyn tila sijaitsi osittain nykyisen Oulunkylän alueella. Tilojen nimistä peräti kolme on sittemmin päätynyt viereisten asutusalueiden nimiksi: Britas (Pirkkola), Monsas (Maunula) ja Kottby (Käpylä). Oulunkylän alueet Oulunkylän kaupunginosa jakautuu kahteen peruspiiriin ja seitsemään alueeseen seuraavan taulukon mukaisesti. Asukasluvut ovat 1.1.2012 mukaiset. *) Patola käsittää Oulunkylän keskeisen alueen pääradan ja Tuusulanväylän välissä. Postinumeroalueet eivät noudata täsmälleen muuta aluejakoa. Oulunkylän peruspiirit ja väestö Oulunkylän kaupunginosa jakautuu kahteen peruspiiriin, jotka ovat Oulunkylä (numero 404) ja Maunula (numero 400). Oulunkylän peruspiirissä on kolme osaa: vanhemmat Patola ja Veräjämäki sekä uusin tulokas, 1990-luvulla rakennettu Veräjälaakso. Oulunkylän peruspiirissä oli vuonna 2012 yhteensä 13 675 asukasta. Asukkaista oli suomenkielisiä 89 % (koko Helsingissä 83 %) ja ruotsinkielisiä 4 % (6 %). Ulkomaalaistaustaisia oli 8 % (koko Helsingissä 12 %). Peruspiirin asunnoista oli vuonna 2011 vuokra-asuntoja 38 % (Helsingin keskiarvo 45 %) ja pientaloasuntoja 21 % (13 %). Asuntojen keskikoko oli 70 m2 (63 m2). Vuoden 2010 tilaston mukaan kaupungin vuokra-asuntoja oli Oulunkylän peruspiirissä 12 % (koko Helsingissä 14 %). Kaupungin vuokra-asuntojen osuus oli suurempi Veräjämäessä ja Veräjälaaksossa ja pienempi Patolassa pääradan pohjoispuolella. Helsingin väestö piireittäin ja osa-alueittain 31.12.2019 ja ennuste 31.12.2020-2035 sekä muutos 2019-2035 (Lähde: hri.fi, 14.5.2021) Rakennuskanta Oulunkylä on pääasiassa kerros- ja pientaloaluetta. Kerrostaloalueita sijaitsee eri puolilla Oulunkylää. Pientaloalueilla on sekä rivitaloja että omakotitaloja. Asuinalueiden ja laajojen virkistysalueiden lisäksi Oulunkylässä on kaksi pienteollisuusaluetta. Toinen sijaitsee Metsälän eteläosassa ja toinen Vantaanjoen rannassa Pukinmäen rajalla. Huomattavia toimistorakennuksia on Käpylän asemalla ja Metsälän eteläosassa. Liikerakennuksia on erityisesti Oulunkylän aseman ja Vantaanjoen rannan tuntumassa sekä Oulunkylän osa-alueen Maunulan keskustassa. Vanhaa huvila-asutusta on säilynyt Oulunkylässä jonkin verran. Vielä 1950-luvulla rakennuskanta oli enimmäkseen suuria puuhuviloita, joista osa oli siirretty sinne Terijoelta. Niitä on vielä jäljellä varsinkin Veräjämäen puolella, muutamia myös rautatien länsipuolella. 1950- ja 1960-luvuilla Oulunkylään rakennettiin kerrostaloja rautatieaseman läheisyyteen sekä Maunulan osa-alueelle. Myöhemmin kerrostaloja on rakennettu 1970-luvulta lähtien Käskynhaltijantien pohjoispuolelle sekä 1990-luvulla Veräjälaaksoon. 2020-luvulla uusia asuntoja rakentuu aseman ympäristöön ja Käskynhaltijantien varrelle. Asuntorakentamisen ennuste Helsingissä osa-alueittain 2020-2035, valmistuvaa asuntokerrosalaa, 1 000 k-m2 (Lähde: hri.fi, 14.5.2021) Kirkot Oulunkylässä toimii suomenkielinen evankelis-luterilainen Oulunkylän seurakunta, jonka alue kattaa Oulunkylän kaupunginosan lisäksi Käpylän ja Koskelan. Oulunkylässä seurakunnalla on neljä kirkkoa: Käpylän kirkko, Maunulan kirkko, Oulunkylän kirkko ja Oulunkylän vanha kirkko. Viimeksi mainittu on myös Länsi- ja Pohjois-Helsingin käsittävän ruotsinkielisen seurakunnan Petrus församlingin pääkirkko. Oulunkylässä on lisäksi Jehovan todistajien valtakunnansali ja vanhoillislestadiolaisen Helsingin Rauhanyhdistyksen toimitalo. Palvelut ja yritystoiminta Oulunkylän keskustassa rautatieaseman läheisyydessä on palveluiden keskittymä. Alueella sijaitsee muun muassa Ogelin liikekeskus, kirjasto, apteekki, terveysasema, työväenopisto, nuorisotalo ja valvottu leikkipuisto. Suurimmat kaupat ovat rautakauppa ja Käpylän asemalla sijaitseva supermarket. Sekä Käskynhaltijantien varrella että Metsälässä on huoltoasemia ja muita autoiluun liittyviä liikkeitä ja palveluita. Oulunkylään kuuluvan Maunulan keskustassa on liikkeitä, kirjasto, sosiaaliasema, terveysasema sekä Suursuon sairaala. Oulunkylässä sijaitsee Oulunkylän asuintalo, joka on tarkoitettu mielenterveyskuntoutujille. Oulunkylän asuintalo koostuu neljästä rakennuksesta ja 44 asunnosta. Kaikilla asukkailla on hoitosuhde Oulunkylän psykiatriselle poliklinikalle. Liikuntapalvelut Oulunkylän liikuntapuistossa on jalkapallokenttä, jäähalli, tekojäärata, curlinghalli, liikuntasaleja ja metsäalue pururatoineen. Pirkkolan liikuntapuistossa on urheilukenttiä, kunto- ja voimailusali, maauimala, uimahalli, palloiluhalli ja kaksi jäähallia. Lisäksi puistossa on kuntoratoja ja hiihtolatuja. Viereisessä Maunulanpuistossa on ulkoilureittejä, hiihtolatuja ja ulkoilumaja. Vantaanjoen rannassa kulkee ulkoilureittejä ja talvella hiihtolatu. Rannassa on myös Pikkukosken uimaranta, joka on kesäisin suosittu uimaranta ja jossa talvisin on mahdollisuus avantouintiin ja jääkiipeilyyn. Koulut ja opetus Ala-asteen opetusta antavat Maunulan ala-asteen koulu, Oulunkylän ala-asteen koulu, Veräjälaakson sivukoulu ja ruotsinkielinen Månsas lågstadieskola. Yläaste- ja lukio-opetusta antavat Maunulan yhteiskoulu ja Helsingin matematiikkalukio sekä Oulunkylän yhteiskoulu. Helsingin työväenopisto toimii Oulunkylätalossa Oulunkylän aseman läheisyydessä. Yrityksiä Merkittäviä Oulunkylään sijoittuneita yrityksiä ovat muun muassa DNA, Fingrid ja YIT. Näiden yritysten pääkonttori sijaitsee Oulunkylän alueella lähellä Käpylän asemaa. Oulunkylän alueella toimivat myös muun muassa Cygate, Cityvarasto (pienvarastoja vuokraava yritys) sekä Helsinki Fashion House, jonka tiloissa toimii yli sata vaatetusalan yritystä. Aiemmin Oulunkylässä on sijainnut muun muassa Kaukokiito ja Schenker sekä Hankkijan pääkonttori. Mäkitorpan Autoradio toimi alkujaan Oulunkylän Mäkitorpantiellä. Liikenneyhteydet Oulunkylästä on monipuoliset liikenneyhteydet sekä joukkoliikenteen, yksityisautoilun että kevyen liikenteen näkökulmasta. Oulunkylän keskustassa on bussi- ja junaliikenteen solmukohta. Matkustajien käytössä on sekä poikittaislinjoja että Helsingin keskustaan päin suuntautuvia linjoja. Tiestö Tuusulanväylä kulkee moottoritienä Oulunkylän halki Käpylästä Pakilaan päin. Tielle on Oulunkylän kohdalla kaksi liittymää. Myös Hämeenlinnanväylä ja Kehä I kulkevat läheltä Oulunkylää. Oulunkylän pääkatuja ovat Tuusulanväylän Oulunkylän liittymässä kohtaavat Pakilantie ja Käskynhaltijantie, Metsälän halki kulkeva Asesepäntie, siitä lähtevä Mäkitorpantie ja tämän jatke Siltavoudintie, Käpylästä Oulunkylään johtava Oulunkyläntie ja sen jatke Norrtäljentie sekä Maunulassa sijaitsevat Pirjontie ja Pirkkolantie. Kevyen liikenteen väylät Merkittävin kevyen liikenteen väylä kulkee pääradan vartta Oulunkylän läpi. Väylä yhdistää Helsingin keskustan pohjoisiin kaupunginosiin. Muita huomattavia kaupunginosasta toiseen johtavia väyliä kulkee Oulunkylän länsiosassa sijaitsevassa keskuspuistossa (Maunulanpuisto) sekä Vantaanjoen varressa. Matkoja Oulunkylän keskustasta kevyen liikenteen väyliä pitkin, sulkeissa arvio pyöräilyajasta: Viikki 3 km (15 min), Pasila 4 km (15 min), Rautatientori 8 km (25 min), Itäkeskus 8 km (30 min). Helsingin latuverkosto ulottuu talvisin Oulunkylän alueelle. Helsingin keskustasta pohjoiseen johtava hiihtoreitti kulkee Maunulanpuiston ja Pirkkolan liikuntapuiston kautta. Latuverkosto ulottuu myös Vantaanjoen rantaan sekä Oulunkylän liikuntapuistoon. Hiihtäen matkaa Paloheinän ulkoilumajalle tulee Oulunkylästä Vantaanjoen vartta n. 8 km ja Maunulan majalta 5 km. Julkisen liikenteen käyttäjillä on Oulunkylästä suora bussiyhteys ladulle Pirkkolan kautta. Rautatie Oulunkylä sijaitsee pääradan varrella. Oulunkylän rautatieasemalla pysähtyvät lähijunat I, K, P ja T. Oulunkylän rajalla sijaitsee myös Käpylän rautatieasema. Siellä pysähtyvät lähijunat I, K, P ja T. Lähijunat kulkevat arkisin päivällä 5–10 minuutin väliajoin. Matka-aika Helsingin päärautatieasemalta Käpylän asemalle on 8 minuuttia, Oulunkylän asemalle puolestaan 9–10 minuuttia. Bussilinjat Helsingin Bussiliikenne 69 (Kamppi-Jakomäki)) 550, ent. Jokeri-linja (Itäkeskus–Oulunkylä–Keilaniemi) Pohjolan Liikenne 53 (Arabia–Oulunkylä–Uusmäki) 61(T,N) (Rautatientori–Pukinmäki–Siltamäki(Tapaninvainio))(Töyrynummi)) 64 (Rautatientori–Oulunkylä–Itä-Pakila) 65 (Rautatientori–Oulunkylä (Veräjälaakso)) Nobina Finland 553 (Hakunila-Malmi-Pukinmäki-Maunula-Leppävaara) 553K (Hakunila-Malmi-Lassila-Leppävaara) Taksikuljetus 603 (Paloheinä–Malminsairaala) Arvioituja bussimatka-aikoja Oulunkylän keskustasta, suora yhteys ilman vaihtoja: Viikki 5 min, Sörnäinen 10 min, Hakaniemi 15 min, Itäkeskus 15 min, Pitäjänmäki 15 min, Leppävaara 20 min, Rautatientori 20 min, Munkkiniemi 25 min. Taksiliikenne Oulunkylässä on kaksi taksiasemaa. Näistä toinen sijaitsee Oulunkylän torilla ja toinen Maunulan keskustassa. Lentoyhteydet Matkaa Helsinki-Vantaan lentoasemalle on 12 kilometriä laskettuna Tuusulanväylältä Oulunkylän kohdalta. Henkilöautolla matkaan kuluu noin 10 minuuttia. Suora bussiyhteys lentoasemalle kestää 15–30 minuuttia ja juna suunnilleen saman ajan. Malmin lentoasemalle on autolla noin 7 kilometriä Oulunkylän keskustasta. Vesiliikenne Vantaanjoki virtaa Oulunkylän reunalla. Joki on Oulunkylän kohdalta liikennöitävissä pienveneillä sekä ylä- että alavirtaan päin. Merelle asti veneellä ei pääse Vanhankaupunginkosken takia. Julkista liikennettä joella ei ole. Raitiotie Oulunkylän läpi kulkee pikaraitiotie 15. Lähin kaupunkiraitiotie sijaitsee Käpylässä noin 700 metrin päässä Oulunkylän rajalta. siä Oulunkylästä etelään päin. Liikennemelu Suurin osa Oulunkylän asuntoalueista on alle 55 dB:n melualueella. Pääasiallinen melunlähde on tieliikenne, mikä vaikuttaa varsinkin Tuusulanväylän ympäristössä. Paikallista tiemelua esiintyy myös suurimpien katujen varsilla. Toinen melunlähde on päärata. 55 dB:n ylittävä ratamelualue on Oulunkylän kohdalla kapea, karkeasti vain yhden talorivin levyinen. Lentomelualuetta Oulunkylässä ei ole lainkaan. Sekä pääradan että Tuusulanväylän varteen on rakennettu melueste. Koko Helsingin asukkaista karkeasti puolet asuu yli 55 dB:n melualueella. Merkkihenkilöitä Marja-Sisko Aalto, pappi Otto Brandt, urheiluvaikuttaja, kunnallispoliitikko ja Otto Brandt Oy:n perustaja ja toimitusjohtaja Ola Fogelberg, sarjakuvapiirtäjä Kristiina Halkola, näyttelijä, laulaja Matti Jurva, muusikko. Vieno Kekkonen, laulaja Larin-Kyösti, runoilija Eero Melasniemi, näyttelijä Joel Melasniemi, muusikko Vilma Melasniemi, näyttelijä Kai Mäkelä, liikemies Tapio Rautavaara, olympiavoittaja, laulaja ja näyttelijä Reijo Taipale, laulaja Jari Tervo, kirjailija. Friedebert Tuglas, virolainen kirjailija Ville Valo, muusikko VilleGalle, rap-artisti Lähteet Kirjallisuutta Aiheesta muualla Oulunkylän kotisivut Suomen entiset kunnat Vaakunattomat kunnat Seulonnan keskeiset artikkelit


text: Ontologinen todistus on todistus Jumalan olemassaolosta, jonka kehitti ensimmäisenä Anselm Canterburylainen 1070-luvulla kirjassa Proslogion. Todistus Anselm esitti käsityksen Jumalasta täydellisenä olentona, jota täydellisempää ei voi ajatella: ”olento, jota suurempaa ei voida kuvitella”. Anselm erotti kaksi asiaa: että olio on olemassa vain mielessä, ja että olio on olemassa myös todellisuudessa. Jos täydellisin kuviteltavissa oleva olio olisi ainoastaan kuvittelijan mielessä, syntyisi Anselmin mukaan ristiriita: on kuviteltavissa vielä täydellisempi olio, joka on olemassa myös kuvittelijasta riippumattomassa todellisuudessa. Tämän vuoksi täydellisimmän kuviteltavissa olevan olion täytyy olla todellisuudessa olemassa. Todistuksen ensimmäisen muodon lisäksi Anselm esitti sen myös toisessa muodossa. Hän esitti, että on olemassa olio, jota on mahdoton kuvitella olemattomaksi. Koska Jumala on olio, joka on täydellinen, Jumala ei Anselmin mukaan ole ajan rajoittama. Jumala ei ole koskaan alkanut olla olemassa eikä koskaan lakkaa olemasta olemassa. Täten on mahdotonta, että Jumalaa ei olisi olemassa. Anselm väitti, että hänen todistuksensa koskee ainoastaan ajatusta Jumalasta eikä mistään muusta oliosta. Hän tarkoittaa täydellisintä kuviteltavissa olevaa oliota, joka on niin täydellinen, että sitä ei edes voi kuvitella olemattomaksi. Todistus rajoittuu pelkästään väittämään, että jonkinlainen Jumala on olemassa ja näin ollen ateismi on väärässä. Tästä ei voi vielä ratkaista, minkä uskonnon, esimerkiksi kristinuskon, islamin tai jonkin muun teistisen maailmankuvan käsitys Jumalasta on lähempänä oikeaa kuin toisen. Ontologisella todistuksella tai sen eri muunnelmilla on ollut huomattava merkitys useiden myöhempienkin filosofien kuten René Descartesin ja Gottfried Leibnizin ajatusrakennelmissa. Vastaväitteitä Jo aikalaiset kritisoivat todistusta osoittamalla, että millainen tahansa täydellisyys voidaan "todistaa" samalla tavalla. Esimerkiksi kaikkipahan olennon olemassaololle voidaan luoda vastaava todistus. Jo 1200-luvulla Tuomas Akvinolainen hylkäsi ontologisen todistuksen, mutta esitti muita jumalatodistuksia. Muodollisesti virheelliseksi todistuksen pyrki osoittamaan esimerkiksi Immanuel Kant väittäessään, että olemassaolo ei ole predikaatti samassa mielessä kuin esimerkiksi voimakkuus. Oliolla, jonka joku vain kuvittelee, voi olla kaikki samat predikaatit kuin todellisella oliolla. Toisenlaisen loogisen virheen on todistuksesta pyrkinyt osoittamaan myös Bertrand Russell. Hänen esittämänsä määrättyjen kuvausten teorian mukaan olemassaolo on mielekkäästi väitettävissä vain tietyllä tavalla kuvaillusta, ei nimellä mainitusta oliosta, mikä hänen mukaansa osoittaa myös ontologisen todistuksen virheelliseksi. Lähteet Viitteet Aiheesta muualla Ontological Argument. Internet Encyclopedia of Philosophy. Ontological Arguments. Stanford Encyclopedia of Philosophy. Argumentit jumalan olemassaolon puolesta Kristillinen filosofia de:Gottesbeweis#Der ontologische Gottesbeweis


text: Ostoliikenne on lääninhallituksen tai kunnan ostamaa kannattamatonta joukkoliikennettä, jolla pyritään kattamaan minimiliikennepalvelut. Joukkoliikenteen kustannukset katetaan Suomessa pääosin (noin 80 %) lipputuloilla. Jos esimerkiksi harvaanasutulla seudulla liikenne on kannattamatonta eli tulot eivät kata menoja, mutta liikenne katsotaan yhteiskunnan kannalta tärkeäksi, lääninhallitus tai kunta voivat ostaa liikennöintiä. Yleensä ostoliikenne tarjouskilpailutetaan ja halvimman tarjouksen tehnyt ja ehdot täyttävä liikennöitsijä pääsee hoitamaan liikennöintiä. Tavoitteena on, että suurimman osan joukkoliikenteestä liikenneyhtiöt hoitavat lipputuloilla ajettavana linjaliikenteenä. Kilpailutus ei kuitenkaan koske VR:ää, joka voi vaatia haluamansa summan liikenteen ajamisesta koska sillä on toistaiseksi monopoli raideliikenteessä. Useat VR:n vuorot ovatkin valtion (ts. liikenne- ja viestintäministeriön) maksamaa ostoliikennettä. Täysin tai melkein itsensä kannattavia reittejä ovat Helsinki–Turku ja Helsinki–Tampere–Seinäjoki. Suurimmaksi osaksi itsensä kannattava on myös Pohjanmaan rata Seinäjoelta Ouluun. Toisesta ääripäästä ovat taas vuorot Turusta Tampereelle, Lappeenrannasta Joensuuhun, Savon junat ja suuri osa paikallisjunista. Ruotsissa ostetun lentoliikenteen kustannusten keskiarvo on 10 reitillä noin 45 euroa matkustajaa kohden. Suomessa liikenne- ja viestintäministeriö osti vuonna 2002 peruspalveluluonteista junaliikennettä 38,6 miljoonalla eurolla, josta kaukoliikennettä ostettiin 29,8 miljoonalla eurolla. Ostetussa kaukoliikenteessä tehtiin noin 4,4 miljoonaa matkaa, eli matkaa kohti ministeriön rahoitus oli alle 7 euroa. Vuonna 2002 lääninhallitukset ostivat maaseudun peruspalvelutasoista runkoliikennettä noin 21,3 miljoonalla eurolla. Matkustajamäärä oli noin 8,5 miljoonaa, rahoitus matkustajaa kohti oli noin 2,5 euroa. Läänin rajat ylittävää busseilla ajettua pikavuoroliikennettä ei ole tarvinnut ostaa vuoden 1999 jälkeen. Joukkoliikenne


text: Interlingue (alkujaan occidental) on keinotekoinen kieli, jonka loi baltiansaksalainen entinen esperantisti Edgar von Wahl (1867–1948) päämääränään luonnollisen kielen kaltainen kieli. Interlingue oli ensimmäinen naturalistinen keinotekoinen kieli. Luonnollisia piirteitä interlinguessa ovat muun muassa moniarvoiset kirjaimet, synonyymit, homonyymit ja erinäiset muut epäsäännöllisyydet. Interlingue perustuu länsimaisiin (erityisesti romaanisiin) kieliin, mihin sen alkuperäinen nimi occidental viittaa (latinan sanasta occidens, ’länsi’). Interlingueta itseään on luonnehdittu melkein aidoksi romaaniseksi kieleksi. Silti keinotekoiset elementit ovat siinä selvästi läsnä.