Tik-76.115 Toiminnallinen määrittely
Synapsi: Automaattinen ohjelmiston etäpäivitys
NetSeal Technologies
Tietojenkäsittelyn ohjelmatyö Tik-76.115
Dokumentin muutoshistoria
Versio |
Editoija |
Päiväys |
Kommentti |
0.1 |
Mikko Varso |
1.11.2000 |
Luonnos - 1. versio |
0.2 |
Mikko Varso |
3.11.2000 |
Korjauksia sisällysluetteloon |
0.3 |
Mikko Varso |
5.11.2000 |
Palaverissa päätetyt muutokset |
0.4 |
Ville Rannikko |
6.11.2000 |
Tarkennettu dokumenttia |
1.0 |
Juho Anttila |
6.11.2000 |
Lisätty viitteet, palautettava versio |
1.1 |
Mika Mäntylä |
2.12.2000 |
Tarkennettu kohtaa 4.1 NC:n käynnistys |
1.2 |
Mika Mäntylä |
3.12.2000 |
Lisätty numerointia. Muutettu kohtia 4.2.4, 4.2.7 |
2.0 |
Mika Mäntylä, Juho Anttila |
11.12.2000 |
Katselmoitu ja hyväksytty |
2.1 |
Mika Mäntylä |
11.2.2001 |
Lisätty Netsealin tarjoama tiedostoformaatti. |
3.0 |
Mika Mäntylä, Juho Anttila |
12.02.2001 |
Katselmoitu ja hyväksytty |
3.1 |
Mikko Varso |
16.3.2001 |
Siirretty koneen uudelleenkäynnistysvastuu asennusohjelmalle. |
4.0 |
Mika Mäntylä, Juho Anttila |
19.03.2001 |
Katselmoitu ja hyväksytty |
5.0 |
Mika Mäntylä, Juho Anttila |
23.04.2001 |
Tarkistettu ja hyväksytty lopulliseksi versioksi |
1. Johdanto
1.1 Tarkoitus ja kattavuus
Dokumentin tarkoitus on kuvata projektissa toteutettavan Neuron-ohjelmiston
toiminnallinen rakenne. Dokumentti on tarkoitettu palvelemaan sekä asiakasta
että ohjelmiston toteuttavaa ryhmää. Sen tarkoitus on antaa tarkennettu kuva
asiakkaan vaatimuksista ja selventämään, mitä ohjelma oikeasti tulee
tekemään. Käyttöliittymä dokumentoidaan erikseen.
1.2 Tuote
Tuotteella ei sinällään ole omaa nimeä, koska projektista tulee asiakkaan
tuotteen RoamMate:n osa. Työnimi on Neuroni. Sen tulee toteuttaa asiakkaan
tuotteen etäpäivitysominaisuus. Käyttäjälle etäpäivitysominaisuus
helpottaa huomattavasti RoamMaten päivitykstä. Palvelinpään ylläpitäjän
työtä moduuli helpottaa enemmän kuin asiakkaan. Luultavasti Neuroni myös
vähentää tuotetukeen tulevia kyselyjä päivityksistä.
1.3 Määritelmät, termit ja lyhenteet
- RM
- NetSeal Technologiesin RoamMate-ohjelmisto
- RMS
- RoamMate-ohjelmiston palvelinversio
- RMC
- RoamMate-ohjelmiston asiakasversio
- Neuroni
- Projektin tuottaman ohjelmiston työnimi
- NRNI
- Synapsi-projektin tuottama "Automaattinen ohjelmiston
etäpäivitys" -ohjelmisto
- NS
- NRNI:n palvelinosa
- NC
- NRNI:n asiakasosa
1.4 Yleiskatsaus dokumenttiin
- Dokumentin ensimmäinen luku on johdanto määrittelydokumenttiin.
Johdanto kertoo dokumentin tarkoituksen, määriteltävän tuotteen
yleiskuvauksen ja käytetyt termit.
- Luku 2 kuvaa järjestelmän toiminnan yleisellä tasolla: siihen kuuluvan
laitteiston, käyttäjät, järjestelmän riippuvuudet ja rajoitukset.
- Luvussa 3 kuvataan järjestelmän tietosisältö eli tietokanta ja
tietovirrat.
- Luvussa 4 määritellään järjestelmän toiminnot. Kustakin toiminnosta
on kuvattu mitä se tarkoittaa, mitä se saa syötteeksensä ja toiminnon
suorittamisesta tapahtuvat toiminnot ja/tai vaikutukset.
- Luku 5 kertoo järjestelmän ulkoiset liittymät, eli laitteiston,
tietoliikenteen ja ohjelmistoliittymät.
- Lukuun 6 on kuvattu järjestelmän ei-toiminnalliset ominaisuudet, kuten
suorituskyky, vasteajat, käytettävyys ja ylläpidettävyys.
- Lukuun 7 on kirjattu suunnitteluun vaikuttavat rajoitteet, kuten
standardit sekä ohjelmisto- ja laitteistorajoitteet.
- Luku 8 on varattu jatkokehitysajatuksille.
2. Yleiskuvaus
2.1 Ympäristö
Ohjelmistoympäristönä toimii NetSeal Technologies:n RoamMate-ohjelmisto.
Projektin tuotteesta tulee ainoastaan oma moduuli tähän ohjelmistoon.
Periaatteessa ei ole haittaa, vaikka ohjelma toimisi ilman RoamMateakin, mutta
tätä ei tulla toteuttamaan. Asiakaskoneessa käyttöjärjestelmänä on
ainakin aluksi Windows NT4.0, palvelinpään tulisi toimia myös Linuxissa.
Laitteistoalustana tuetaan Intel:in PC-arkkitehtuuria.
2.2 Toiminta
Ohjelman toiminta koostuu seuraavista osista:
- NS:n käytöstä versioiden lisäykseen/poisto, historia- ja versiontiedon
katselu ja käyttäjäryhmien määritysten muuttaminen
- NC:n käynnistyksen aikana suorittama RMC:n tilan tarkistus ja
tarkistuksen tuloksen mahdollinen ilmoitus käyttäjälle
- NC:n yritys päivittää RMC uudempaan/vanhempaa versioon
2.3 Käyttäjät
Tyypillinen tilanne on sellainen, jossa suurella organisaatiolla on
RoamMate-palvelin ja useita asiakkaita. Tyypillinen ostaja voisi olla ISP.
Asiakaspäässä ei ole olemassa tyypillistä käyttäjää, mummo
Pihtiputaaltakin saattaa olla käyttäjä. Tällainen asiakas voi käyttää
tuotetta päivittäin, mutta moduulipäivityksiä tehdään huomattavasti
harvemmin. Palvelinpäässä käyttäjän tulee olla kokenut ylläpitäjä.
2.4 Yleiset rajoitteet
Ohjelmiston siirrettävyys oltava samalla tasolla kuin RoamMate-ohjelmiston.
2.5 Oletukset ja riippuvuudet
NC:n oletetaan toimivan NT4.0 ympäristössä RMC:n alaisuudessa. NS:n on taas
toimittava sekä NT4.0 ja Linux-ympäristössä. Ohjelmisto on riippuvainen
verkon toiminnasta.
3. Tiedot ja tietokanta
Tässä luvussa on kuvattu ohjelmiston tietosisältö sekä tiedon kulku
ohjelmiston sisällä.
3.1 Tietosisältö
NS sisältää:
- Kaikkien asiakkaiden versionumerot ja käyttöjärjestelmätiedot
viimeisen asiakkaalta tulleen yhteydenoton perusteella.
- Tieto siitä mihin käyttäjäryhmään kukin asiakas kuuluu. Asiakas
kuuluu täsmälleen yhteen ryhmään.
- Joka ryhmälle versionumero, jota tarjotaan tähän ryhmään kuuluvalle
asiakkaalle. Joka ryhmällä on täsmälleen yksi versionumero.
- Päivitysten historialista, jossa näkyy kaikki tehdyt päivitykset
kaikille asiakkaille.
- Päivityspakettien yhteydessä kulkee Netseal Tech:n määrittelemä
tiedosto kertoen oleelliset asiat päivityspakettista. Esimerkki löytyy täältä.
NC sisältää:
- Nykyinen RMC:n versio numero, joka saadaan suoraan RMC:ltä.
- Tieto siitä haluaako käyttäjä automaattisia päivityksiä vai ei.
- Ennen edellistä käynnistystä ajossa ollut versio.
- Versio joka pitäisi olla ajossa käynnistyksen jälkeen.
3.2 Tietosisältö tietovirtakaavioina
NC:n käynnistys
NC:n päivitysyritys
3.3 Käyttöintensiteetti
Yhtäaikaisten käyttäjien määrä voidaan rajoittaa haluttuun. (Käyttäjien
ohjelmiston päivitystä yritetään kun käyttäjä ottavat yhteyden serverille.
Jos kapasiteetti on täynnä, päivitetään RMC vasta seuraavan yhteydenoton
tapahtuessa)
3.4 Kapasiteettivaatimukset
4. Toiminnot
Tässä kuvataan ohjelmiston toiminta käsitteellisellä tasolla.
Käyttöliittymä kuvataan omassa dokumentissaan Käyttöliittymän
määrittely.
4.1 NC:n käynnistys
Joka kerta käynnistyessään NC:n on tarkistettava, onko edellisen ajon
päätteeksi tehty ohjelmistopäivitys ja onko päivitys mahdollisesti
epäonnistunut. Rekisterissä on siis kolme arvoa. Edellinen (E) kertoo
edellisen käyttökerran lopussa olleen version. Nykyinen (N) ilmoittaa sillä
hetkellä ajossa olevan version. Pitäisi (P) arvo kertoo, minkä version
pitäisi olla sillä hetkellä käytössä.
4.1.1 Talletettujen versioarvojen lukeminen
NC lukee NT:n rekisteristä versionumeron, joka pitäisi olla ajossa kyseisellä
hetkellä (P) ja versionumeron joka oli ajossa ennen edellistä käynnistystä
(E).
4.1.2 Nykyisen version lukeminen
NC lukee rekisteristä RMC:n nykyisen versionumeron (N).
4.1.3 Arvojen vertailu ja tallennus
NC vertailee saamiansa arvoja ja päättelee onko ennen edellistä
käynnistystä tehty mahdollinen ohjelmistopäivitys onnistunut. Eli siis
meillä on kolme tapausta: 1. ei päivitystä (E == P), 2. päivitys
epäonnistunut (E != P && E==N), ja 3. päivitys onnistunut (E != P
&& P == N). Lisäksi NC päivittää rekisteriin nykyiset versiotiedot
mikäli päivitys on onnistunut.
4.1.4 Käyttäjän informointi
Käyttäjää informoidaan mahdollisen ohjelmapäivityksen
onnistuminen/epäonnistuminen. Jos päivitys epäonnistunut ja vanha versio
edelleen ajossa, niin kysytään haluaako käyttäjä yrittää päivitystä
uudelleen.
4.2 Päivitys
Mikäli RMC:n versionumero on erisuuri kuin sen ryhmälle kuuluva versionumero,
NS ehdottaa version päivitystä NC:lle. NC yrittää suorittaa päivityksen.
4.2.1 Ilmoitus nykyisestä versionumerosta
NS saa tiedon RMC:n saapumisesta RMS:n alueelle RMS:ltä. NS lähettää NC:lle
kyselyn versionumerosta ja NC vastaa ilmoittaen nykyisen RMC:n versionumeron.
4.2.2 Nykyisen versionumeron tarkistus
NS saa tiedon uuden käyttäjän yhteyden avaamisesta ja sen käyttämästä
versionumerosta. NS tarkistaa vastaako RMC:n versio versiota, joka on
määritelty ryhmälle johon RMC kuuluu.
4.2.3 Ilmoitus päivitystarpeesta
Jos versionumero ei täsmää, NS ilmoittaa NC:lle päivitystarpeesta ja
versionumeron johon tämän tulisi päivittää. Jos yhtäaikaisia RMC:n
päivityksiä on meneillään enemmän kuin ylläpitäjän sallima maksimi,
laitetaan päivitystarve jonoon odottamaan resurssien vapautumista. Jonossa
olosta ei tule NC:lle mitään ilmoitusta, eikä se vaikuta RMC:n toimintaan
millään lailla.
4.2.4 Päivityspyyntö käyttäjälle
Eli siis kolme tilannetta 1. älä päivitä koskaan, 2. päivitä aina älä
kysy käyttäjältä mitään, 3. päivitä, mutta kysy käyttäjältä.
NC tarkistaa onko käyttäjä sallinut automaattiset päivitykset, mikäli
on, tarkastetaan tarvitseeko käyttäjältä kysyä mielipidettä ohjelmiston
päivittämisestä. Jos automaattiset päivityksen on sallittu ja
käyttäjältä pitää kysyä, kysytään käyttäjältä haluaako tämä päivittää ohjelmistonsa
uudempaan/vanhempaan. Käyttäjälle ilmoitetaan myös vanha ja uusi
versionumero.
4.2.5 Käyttäjän vastaus päivityspyyntöön
Käyttäjä ilmoittaa suostuuko hän ohjelmistopäivitykseen ja koneensa
uudelleenkäynnistykseen.
4.2.6 Päivityspaketin siirto
Jos NC päättää yrittää päivitystä, niin sen on saatava RM:n uusi versio
päivityspaketin muodossa.
4.2.6.1 Pyyntö päivityspaketin saamiseksi
NC lähettää viestin NC:lle, että se on valmis vastaanottamaan
päivityspaketin.
4.2.6.2 Päivityspaketin lähetys
NS lähettää päivityspaketin NC:lle ja ilmoittaa, kun lähetys on valmis.
4.2.6.3 Siirron visualisointi
Pakettien vastaanoton aikana NC näyttää käyttäjälle status-tietoa siirron
tilasta.
4.2.6.4 Siirron keskeytys
Käyttäjä käskee NC:tä lopettamaan siirron, jolloin päivitysyritys
keskeytyy.4.2.6.5 Päivityspaketin kelvollisuuden tarkistus
NC tarkistaa onko päivityspaketti saapunut ehjänä ja purkaa sen sekä
tarkistaa sisällöstä vastaako versionumero NS:n ilmoittamaa versiota
4.2.6.6 Hyväksymisviestin lähetys
NC ilmoittaa NS:lle että se on saanut kunnollisen päivityspaketin ja että
RMC:n päivitysyritys alkaa.
4.2.7 Asennusohjelman käynnistys
Ajetaan asennusohjelma, joka suorittaa varsinaisen päivityksen.
Asennusohjelma hoitaa myös koneen mahdollisen uudelleenkäynnistyksen.
4.3 Uusien RMC:n päivitysversioiden lisäys NS:ään
Selvitetty käyttöliittymää kuvaavassa dokumentissa.
5. Ulkoiset liittymät
Tässä luvussa kuvataan ohjelmiston liittymät laitteistoihin ja muihin
ohjelmistoihin.
5.1 Laitteistoliittymät
Ohjelmisto ei tue eikä käytä mitään ulkoisia laitteita. Verkkoyhteyden
toimiminen oletetaan, koska RM:n käyttö ei muuten ole mahdollista.
5.2 Ohjelmistoliittymät
NRNI liittyy toiminnallisesti RM -ohjelmistoon, ja käyttää sen tarjoamia
palveluja (ks. kohta 4.2).
5.3 Tietoliikenneliittymät
Windowsin winsock-rajapintaa käytetään päivityspaketin siirtoon ja NC:n ja
NS:n viestien vaihtoon.
6. Muut ominaisuudet
Tässä luvussa kuvataan ohjelmiston muut ominaisuudet, joita ei muissa luvuissa
ole mainittu.
6.1 Suorituskyky ja vasteajat
NS:n on kyettävä suoriutumaan vahintään 20 RMC:n yhtäaikaisesta
päivityksestä ja vain laitteistoresurssit saavat rajoittaa jonottavien
päivitysten määrää. Käytännössä jonon koko on rajoittamaton ja kaikki
RMS:n hallinnassa olevat RMC:t voivat olla tässä jonossa vaikka yhtä aikaa.
Päivitykseltä ei vaadita mitään tiettyä vasteaikaa.
6.2 Käytettävyys, toipuminen, turvallisuus, suojaukset
NC:n käyttöliittymän on tarjottava riittävä helppokäyttöisyys ja selkeys,
jotta kuka tahansa tavallinen RMC:n tavallinen käyttäjä osaa tehdä
tarvittavat valinnat ja pystyy ymmärtämään niiden seuraukset. NS:n käyttö
edellyttää kohtuullisia ylläpitäjän taitoja ja siinä voidaan
käyttömukavuudessa joustaa mikäli tehokkuus sitä vaatii.
6.3 Ylläpidettävyys
Ohjelmisto pyritään suunnittelemaan mahdollisimman helposti
ylläpidettävissä. Ylläpidettävyys tullaan huomioimaan ohjelman
moduulirakennetta ja tietorankenteita suunniteltaessa.
6.4 Siirrettävyys/kannetavuus, yhteesopivuus
Ohjelmiston on oltava yhtä siirrettävä kuin RMC. Yhteensopivuus vaaditaan
paitsi RMC:n osalta myös Windows NT:n julkisten rajapintojen osalta.
6.5 Operointi
Käyttäjältä vaadittava operointi rajoittuu vanhojen versioiden ja
lokitiedostojen poistoon.
7. Suunnittelurajoitteet
Tässä luvussa kuvataan ohjelmiston suunnittelua rajoittavat tekijät.
7.1 Standardit
Ohjelmiston suunnittelua ei suoraan rajoita mikään standardi.
7.2 Laitteistorajoitteet
Laitteistona vaaditaan i386 arkkitehtuurin PC, jossa toimii WindowsNT 4.0.
7.3 Ohjelmistorajoitteet
Ohjelmistoympäristöltä vaaditaan NC:n osalta WindowsNT 4.0. NS:n osalta
vaaditaan käyttöjärjestelmä, jossa RMS toimii. Koska ohjelmisto tulee osaksi
RMC/RMS ohjelmistoa, sitä koskevat myös vähintäänkin samat
ohjelmistovaatimukset kuin RM:ää.
7.4 Muut rajoitteet
Muita rajoitteita ei ole.
8. Viitteet
[1] Synapsi, Tik-76.115 Projektisuunnitelma: Automatisoitu ohjelmiston
etäpäivitys, versio 3.0, 11.12.2000
Projektisuunnitelma.html
[2] Synapsi, Tik-76.115 Vaatimusmäärittely: Automatisoitu ohjelmiston
etäpäivitys, versio 3.0, 11.12.2000
Vaatimukset.html