Synapsi: Automaattinen ohjelmiston etäpäivitys
NetSeal Technologies
Tietojenkäsittelyn ohjelmatyö Tik-76.115
Versio | Editoija | Päiväys | Kommentti |
0.1 | Antti Vainio | 03.11.2000 | 1. Luonnos |
0.2 | Mika Mäntylä | 04.11.2000 | Pieniä lisäyksiä kohtiin 2 ja 3.1 |
0.3 | Antti Vainio | 05.11.2000 | Tarkennettu clientin GUI-määrittelyä |
1.0 | Juho Anttila | 06.11.2000 | Linkit korjattu, palautettava versio |
1.1 | Antti Vainio | 03.12.2000 | Lisätty kuvia GUI:sta ja pieniä tarkennuksia |
2.0 | Juho Anttila, Mika Mäntylä | 11.12.2000 | Katselmoitu ja hyväksytty |
2.1 | Antti Vainio | 5.2.2000 | Pieniä täsmennyksiä, kuvat käyttöliittymästä uusittu |
2.2 | Antti Vainio | 30.3.2000 | Tarkistettu dokumentin sisältö, poistettu "Avoimet kysymykset" -osio. |
3.0 | Juho Anttila, Mika Mäntylä | 23.04.2000 | Tarkistettu ja hyväksytty lopulliseksi versioksi |
SISÄLLYSLUETTELO
2. SUUNNITTELUSSA KÄYTETTÄVÄT MENETELMÄT
3.1 Clientille asetettavat vaatimukset
3.2 Serverille asetettavat vaatimukset
4. KÄYTTÖLIITTYMÄN KUVAUS JA KOMPONENTIT
Tässä dokumentissa on kuvattu Synapsi-ryhmän ohjelmistoprojektin tuotteena syntyvän etäpäivitysjärjestelmän (Neuroni) käyttöliittymien suunnitteluun ja rakenteeseen liittyvät asiat. Dokumentti määrittelee mitä käyttöliittymällä pitää pystyä tekemään, miten tämä tehdään mahdolliseksi ja mistä komponenteista käyttöliittymä koostuu. Dokumentti ei kerro käyttöliittymän tekniseen toteutukseen liittyvistä yksityiskohdista, vaan tämä tullaan määrittelemään erillisessä toteutusmäärittelyssä.
Koska Neuroni koostuu client- ja server-osista, tulee molempien päiden käyttöliittymät ottaa huomioon. Serveriin tullaan tarvitsemaan monipuolinen liityntä kun taas client-osassa selvitään varsin pienellä toiminnallisuudessa. Molempia osia on tarkasteltu myöhemmissä kappaleissa. Kummankin osan käyttöliittymä tulee olemaan ensisijaisesti graafinen. Mikäli projekti saadaan vietyä läpi ennakoitua nopeammin, kehitetään myös mahdollisesti komentoriviltä käytettävä liityntä. Komentorivikäyttöliittymän määrittelyä ei ole sisällytetty tähän dokumenttiin, vaan se määritellään tarvittaessa projektin myöhemmässä vaiheessa.
Client | Palvelin-asiakas -mallin ohjelmiston asiakasosa |
GUI | Graphical User Interface, graafinen käyttöliittymä |
Neuroni | Rakennettavan etäpäivitysjärjestelmän työnimi |
RoamMate | Projektin asiakkaana toimivan yrityksen client-server -mallille perustuva ohjelmisto, johon projektissa tehdään laajennuksia |
Server | Palvelin-asiakas -mallin ohjelmiston palvelinosa |
Neuronin osien (client, server) käyttöliittymien suunnittelussa ollaan lähdetty liikkeelle käyttäjän näkökulman huomioon ottamisesta ja tarvittavien ominaisuuksien toteuttamisesta helposti käytettävän käyttöliittymän aikaansaamiseksi. Vaadittavat ominaisuudet on kuvattu dokumentin seuraavassa kappaleessa.
Olennaisena lähtökohtana GUI:n suunnittelussa on käytetty mm. seuraavia perusperiaatteita
Käyttöliittymien toimintoja on priorisoitu niiden käyttötiheyttä arvioimalla - tämän perusteella tietyt toiminnot on pyritty saamaan todella suoraviivaisiksi ja helpoiksi käyttää.
Käyttöliittymän suunnittelu perustuu ensimmäisessä vaiheessa projektiryhmän intuitiiviseen näkemykseen. Tämän jälkeen GUI:sta rakennetaan prototyyppi, jonka jälkeen käyttöliittymän käytettävyyttä pyritään parantamaan käytettävyystestien avulla. Testien koekäyttäjinä toimivat projektiryhmän sellaiset jäsenet, jotka eivät varsinaisesti osallistu GUI:n suunnitteluun ja toteutukseen.
Käyttöliittymissä tarvittavat toiminnot on koottu myös tähän dokumenttiin projektin vaatimusmäärittelystä tämän dokumentin käytettävyyden parantamiseksi. Toiminnot on jaoteltu erikseen serverille ja clientille kuuluviin vaatimuksiin. Toiminnot on seuraavissa kappaleissa myös priorisoitu edellä kuvatulla tavalla - priorisointi on skaalattu välille 1 (harvinainen) - 3 (usein tapahtuva). Tässä käytetty sana "usein" arvioidaan käytännössä tarkoittavan todellisessa ajassa korkeintaan kolmea kertaa kuukaudessa.
Vaatimus | Prioriteetti |
Kysytään haluaako käyttäjä päivittää ohjelmiston moduuleita. | 3 |
Vipu jolla estetetään softapäivitykset. | 2 |
Vipu jolla softapäivitykset tehdään automaattisesti. | 2 |
Vaatimus | Prioriteetti |
Asiakasryhmien muodostus ja clientin siirto ryhmissä. | 3 |
Asiakasryhmän ohjelmistoversion muuttaminen. | 3 |
Uusien moduulien lataaminen järjestelmään (ja vanhojen moduulien poisto). | 2 |
Rajapinta, jolla nähdään onko asiakas linjalla. | 2 |
Komentoriviparametrien antaminen moduulien latauksen yhteydessä | 1 |
Tässä kappaleessa on tarkemmin kuvattu mistä osista clientin ja serverin GUI:t muodostuvat.
Kuten kappaleesta 3. kävi ilmi, client-osalle ei ole määritelty kuin muutama toiminto. Tämän vuoksi osan GUI on varsin yksinkertainen.
Clientin käyttöliittymä tullaan osittain integroimaan nykyisen RoamMate-clientin käyttöliittymään. Vanhaan käyttöliittymään lisätään kaksi valitsinta, check-boxia, joiden tehtävä on kuvattu seuraavissa kappaleissa.
Ohjelmistopäivitykset hyväksyvä valitsin. Mikäli tämä check-box on valittuna, ko. client vastaanottaa ohjelmistopäivityksiä sen saapuessa palvelimen alueelle. Mikäli taas check-box ei ole valittuna, client hylkää kaikki palvelimen tarjoamat ohjelmistopäivitykset. Jos käytetään jälkimmäistä vaihtoehtoa, on kuittauksettoman päivityksen valitsin inaktiivinen (näkyy GUI:ssa harmaannutettuna tekstinä jolloin valitsinta ei siis voi käyttää). Jos taas valitsin on valittuna, tarjotaan käyttäjälle päivitysmahdollisuutta kuittauksettoman päivityksen valitsimen statuksen osoittamalla tavalla.
Kuittauksettoman päivityksen valitsin. Tämä check-box on käytettävissä vain, jos em. hyväksymisvalitsin on valittuna. Mikäli kuittaukseton päivitys on valittuna, tapahtuu clientin ohjelmiston päivitys automaattisesti sen saapuessa serverin alueelle (mikäli päivitys on tarpeellinen) kysymättä käyttäjän vahvistusta. Mikäli valitsin taas ei ole valittuna, clientin käyttäjälle ehdotetaan päivitysmahdollisuutta erillisellä ikkunalla.
Ohjelmiston päivittäminen koostuu kahdesta osasta: ohjelmistopaketin lataaminen clientille sekä muutoksen ottaminen käyttöön client-koneessa. Neuroni-ohjelmisto on ainoastaan vastuussa ohjelmiston lataamisosasta ja päivityspaketin käynnistämisestä - mikäli päivityspaketin käyttöönotto esim. vaatii koneen uudelleenkäynnistystä, jää tämän toteuttaminen päivityspaketin vastuulle.
Päivitystä ehdottavassa ikkunassa käyttäjälle kerrotaan, että tarjolla on uusi ohjelmistoversio, jonka käyttäjä voi halutessaan ladata clientille. Käyttäjältä kysytään onko hän halukas lataamaan ohjelmistopaketin koneelleen - ikkunassa tarjotaan Yes- ja No-painikkeet, joilla käyttäjä voi joko suostua tai kieltäytyä lataamisesta. Mikäli käyttäjä valitsee Yes, hänen näkyviinsä ilmestyy ikkuna, jossa seurataan paketin latautumista etenemispylvään perusteella. Pylvään ollessa käyttäjän näkyvissä lataaminen voidaan keskeyttää milloin tahansa painamalla ikkunassa olevaa Cancel-painiketta. Käyttäjällä pitää olla mahdollisuus kieltäytyä lataamisesta, koska paketin lataaminen aiheuttaa clientin koneelle ylimääräistä verkkoliikennettä (jota clientin käyttäjä ei välttämättä esim. hitaan verkkoyhteyden ja käyttämänsä toisen verkkosovelluksen vuoksi). Lataamisen jälkeen ajetaan automaattisesti paketin setup-ohjelma, joka asentaa uuden version.
Oletusarvoisesti estovalitsin ja kuittauksettoman päivityksen valitsin ovat valittuina eli päivitys tapahtuu ehdottamalla käyttäjälle päivitystä erillisellä ikkunalla. Clientin GUI sisältää varsin paljon varmistus- ja kuittausikkunoita - se onkin suunnattu lähinnä "ei-niin-teknisille" käyttäjille (toisin kuin server-osan GUI).
Server-osan käyttöliittymään täytyy sisällyttää huomattava määrä ominaisuuksia, joten sen GUI muodostuu clientiä paljon monimutkaisemmaksi. Käyttöliittymässä hyödynnetään useita ikkunoita sekä menuja, jotka on kuvattu seuraavissa kappaleissa.
Serverin käyttöliittymässä hyödynnetään seuraavia varsinaisia ikkunoita: varsinainen pääikkuna, aktiivisen ryhmän ominaisuuksien hallintaan tarvittavaa ikkunaa, Neuroni-konfiguraatioikkuna, pakettien hallintaikkkuna ja ryhmien hallintaikkunaan. Lisäksi tarvitaan erinäisiä palauteikkunoita, joilla käyttäjälle kerrotaan että suoritettu operaatio on saatu tehtyä sekä help-ikkuna, joka sisältää lyhyitä ohjeita käyttöliittymän käytöstä.
Pääikkuna jakaantuu kahteen pääosaan:
Kuva 1. Kuva Neuroni-palvelimen pääikkunasta.
Aktiivisen ryhmän hallintaikkunassa (päästään pääikkunan painikkeella) voidaan siis käsitellä aktiivisen ryhmän tietoja. Ikkunassa voidaan määritellä
Ohjelmistoversion muuttaminen tapahtuu valitsemalla ohjelmistoversio drop-down -listasta, joka sisältää kaikki tarjolla olevat versiovaihtoehdot. Näin käyttäjälle annetaan mahdollisuus valita vain sellainen ohjelmistopaketti, joka on ko. ryhmälle mahdollinen - ei-sallittavia versioita tms. ei anneta käyttäjän nähtäville. Ryhmän aliasnimi on taas serverin käyttäjän antama nimitys kullekin ryhmälle. Aliasnimen muuttaminen tapahtuu normaalin tekstinsyöttökentän avulla, johon käyttäjä syöttää haluamansa nimen. Näiden kenttien lisäksi ikkunassa on OK- ja Cancel-painikkeet, joilla voidaan ottaa tehdyt muutokset huomioon tai vaihtoehtoisesti jättää ne huomiotta. Mikäli asetuksiin tehdään muutoksia ja hyväksytään ne OK-painikkeella, ei tästä ilmesty erillistä ikkunaa kertomaan tehtävän onnistumisesta, koska tehdyt muutokset tulevat välittömästi pääikkunassa näkyviin (asiakasryhmälistassa sekä aktiivisesta ryhmästä kertovassa osassa).
Kuva 2. Active Group Management -ikkuna.
Neuroni-konfiguraatioikkunassa (päästään menun kautta) voidaan muuttaa Neuroni-palvelimelle ominaisia asetuksia. Näitä asetuksia on tällä hetkellä vain yksi: samanaikaisesti palveltavien clientien määrä. Oletusarvona on 20, mutta käyttäjä voi vaihtaa tätä arvoa tekstikentän avulla halunsa mukaan. Tekstikenttä ei ota syötteeksi kuin numeromerkkejä. Ikkunassa on OK- ja Cancel-painikkeet, joilla voidaan ottaa tehdyt muutokset huomioon tai vaihtoehtoisesti jättää ne huomiotta. Kun asetusta muutetaan, käyttäjä voi tarkistaa sen uuden arvon tarvittaessa avaamalla uudelleen konfiguraatioikkunan - käyttäjälle ei siis anneta suoraa palautetta asetuksen muuttamisen jälkeen.
Kuva 3. General Management -ikkuna yleiskonfigurointia varten.
Pakettien hallintaikkunan (päästään menun kautta) avulla voidaan hallita clienteille tarjottavia ohjelmistopaketteja (versioita). Ikkunan kautta voidaan lisätä ja poistaa tarjottavia paketteja. Ikkuna sisältää seuraavat komponentit
Paketin poisto tapahtuu aktivoimalla pakettilistasta haluttu paketti ja painamalla Remove-näppäintä. Painettaessa Remove-painiketta järjestelmä tarkastaa ettei poistettavaan pakettiin ole olemassa mitään sidoksia (esim. se ei ole enää minkään ryhmän käytössä) ja kysyy käyttäjältä poiston varmistuksen erillisellä ikkunalla (vaihtoehtoina OK ja Cancel). Varmistuksella pyritään välttämään mahdollisen virheklikkauksen ei-toivottu tulos.
Kuva 4. Package Management -ikkuna.
Ryhmien hallintaikkunassa (päästään menun kautta) voidaan lisätä ja poistaa asiakasryhmiä. Ikkuna sisältää seuraavat komponentit
Ryhmän poisto tapahtuu valitsemalla haluttava ryhmä listasta ja painamalla Remove-painiketta. Painiketta painettaessa järjestelmä tarkistaa, että poistettava ryhmä on tyhjä ja esittää tämän jälkeen varmistusta kysyvän ikkunan (mikäli ryhmä ei ole tyhjä, ilmestyy virheikkuna). Varmistusikkunassa voidaan hyväksyä (OK) tai perua (Cancel) poisto. Järjestelmä sisältää myös ns. Default-ryhmän, johon uudet clientit automaattisesti laitetaan niiden liittyessä järjestelmään. Tätä ryhmää ei voida poistaa, joten GUI antaa virheilmoituksen mikäli tällaista operaatiota yritetään.
Ryhmän tietojen muuttaminen tapahtuu aktivoimalla listasta haluttu ryhmä ja painamalla Edit-painiketta. Tällöin avautuu paketin lisäysikkunaa vastaava ikkuna, jossa voidaan muuttaa ryhmän tietoja antamalla ryhmälle uusi nimi ja valitsemalla haluttu ohjelmistopaketti (versio) ryhmälle drop-down listasta.
Kuva 5. Group Management -ikkuna.
Käyttöliittymä käyttää kolmea menua (sulkeissa listattu myös menujen sisältö)
Management-menusta päästään erilaisiin hallintaikkunoihin. Package Management -toiminnolla päästää pakettien hallintaikkunaan, Group Management -toiminnolla päästään ryhmän hallintaikkunaan ja General Configuration -toiminnolla Neuroni-konfiguraatioikkunaan. Ikkunoiden kuvaus on esitetty luvussa 4.2.1 Ikkunat.
Help-menusta taas voidaan valita Help, jolla saadaan näkyviin lyhyet käyttöohjeet käyttöliittymän käytöstä. Valitsemalla About, saadaan näkyviin lyhyt yhteenveto Neuronin palvelinosasta.
Käyttöliittymään ei toistaiseksi ole määritelty mitään pikanäppäimiä. Mikäli käyttöliittymän prototyypin käyttötesteissä niitä ei havaita hyödyllisiksi, ne jätetään toteutuksen ulkopuolelle. Jos taas pikanäppäimille havaitaan tarvetta, tullaan ne lisäämään GUI:hin noudattaen mahdollisimman paljon nykyisissä yleisesti käytettävissä käyttöliittymissä olevien käytäntöjen mukaisesti (esim. Alt + F4 = Exit, F1 = Help, ...)
Käyttöliittymän kaikki ikkunat ovat käytökseltään toisensa peittäviä eli mikäli esim. ryhmän hallintaikkuna on auki, ei samanaikaisesti päästä tekemään operaatioita pääikkunassa. Käyttöliittymässä on siis kerrallaan vain yksi aktiivinen ikkuna. Poikkeuksen tähän käytäntöön muodostaa vain Help-ikkuna, joka ei estä pääsyä muihin ikkunoihin - tämä siksi, että näin help-toiminnon hyöty kasvaa, kun käyttäjä voi samalla tehtäviä tehdessään katsoa ohjeita help-ikkunasta.
[1] Synapsi, Tik-76.115 Projektisuunnitelma: Automatisoitu ohjelmiston etäpäivitys, versio 2.0, 6.11.2000, [viitattu 1.11.2000]
Projektisuunnitelma.html
[2] Synapsi, Tik-76.115 Vaatimusmäärittely: Automatisoitu ohjelmiston etäpäivitys, versio 2.0, 6.11.2000, [viitattu 1.11.2000]
Vaatimukset.html