| Laajenna kaikki | Sulje kaikki |
| Dokumentin nimi: | 4. Järjestelmän/komponentin vaatimusmäärittely |
| Dokumentin tekijät | Juha Lähteenmäki |
| Dokumentin jakelu: | Juha Lähteenmäki |
| Dokumentin jakelun rajoitukset | Ei rajoituksia |
| Viimeksi muokattu: | 20.08.2003 |
| Dokumentin versiotiedot: (esim. Työversio (beta 1.0),Versiosykli nro 1) | versio 1.0, versiosykli 2 (valmistumis pvm: 16.07.03) SP1 20.08.03 |
| Dokumentin kattavuus: | Kattaa järjestelmän/komponentin eri tyyppisten vaatimusten listauksen |
| Dokumentointi malli: | STEP beta 1 työversio, SoftaSpec Versio 1.0 beta 3 |
| Liittyy osana dokumenttiin: | HtmlEditTbox SoftaSpec |
| Osan pakollisuus: | Ei ole pakollinen pienten komponenttien yhteydessä joiden vaatimukset on hahmotettavissa rajapintakuvauksista. |
| Dokumentin muutoksia: (ekan version valmistumisen jälkeen) | 17.6 (Juha)
(22.6.03, Juha)
(16.7.03, Juha)
|

Ensimmäisessä versiosyklissä ja perusmoodissa (tarvittaessa myös Copy, Cut ja Paste voi olla perustilassa mukana mikäli eivät vie liikaa tilaa). Toiminnoiksi riittävät kuitenkin seuraavan kuvan mukaiset ominaisuudet:

Perusvaatimuksena on: Kontrollin pitää pystyä lähettämään sisältönsä html-muodossa palvelimelle ja sen nappuloiden tulee olla selkeitä sekä vähän tilaa vieviä. Kontrolleja tulee voida olla useita samalla sivulla
Käyttäjiä ei ole erikseen kontrollin puolesta ryhmitelty. Kontrollin tulee olla riittävän helppokäyttöinen Html:ää tuntemattomille käyttäjille mutta toisaalta tarjota edistyneemmille käyttäjille mahdollisuus Html:n kaikkien ominaisuuksien hyödyntämiseen (source-tila)
Toiminnalliset perusvaatimukset muodostavat tärkeimmän ryhmän vaatimuksista. Ne ovat prioriteetiltaan 5 eli tärkeimpiä mahdollisia vaatimuksia. Toiminnalliset perusvaatimukset toteutetaan jo järjestelmän/komponentin ensimmäisessä versiossa. Kaikkiin toiminnallisiin perusvaatimuksiin liittyy käyttötapaus (jos mahdollista) sekä mikäli vaatimukseen liittyy käyttöliittymä myös käyttöliittymäanalyysi. Käyttöliittymäanalyysin ei ole tarkoitus muistuttaa lopullista käyttöliittymää vaan hahmottaa konkreettisemmin toimintaa vaatimukseen liittyen.
Rajapinnan toiminnalliset vaatimukset ovat olennaisia lähinnä komponenteilla ja vastaavat niillä toiminnallisia vaatimuksia. Niiden perusideana on kertoa mitä toimintoja komponentin rajapinnassa tarvitaan. Siksi tärkeimmät niistä on listattu tämän saman lukukappaleen yhteydessä. Loput rajapinnan vähemmän tärkeät toiminnalliset vaatimukset listataan toiminnallisten vaatimusten (4.5) yhteyteen
| Vaatimus (+Id): | F1 Lihavointi, kursivointi ja alleviivaus toiminnot (perustoiminnot) muuten kuin lähdekoodin avulla. | ||||||
| Kuvaus: | Kontrollin on tarjottava em. perustoiminnot
|
||||||
| Perustelu: | ks. kuvaus | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.1 Vaatimuksen tiedot
UC1. Tekstin lihavointi |
|
|
Päämäärä: |
Käyttäjä haluaa lihavoida tietyn osan tekstistä |
|
Esiehto: |
- |
|
Normaali kulku: |
|
|
Tulos: |
Haluttu tekstikappale on lihavoitu |
|
Vaihtoehtoinen kulku: |
Käyttäjä painaa lihavointinappulaa jo ennen tekstin kirjoittamista jolloin teksti tulee kirjoitettaessa heti lihavoituna kun käyttäjä haluaa palata takaisin normaaliin tekstiin hän painaa lihavointinappulaa uudelleen |
|
Huom: |
--- |
Taulukko 4.2 Vaatimukseen liittyvä käyttötapaus. Kursivointi ja alleviivaus tapahtuvat vastaavalla tavalla.

Kuva 4.3 Vaatimuksen ikkunointianalyysi
| Vaatimus (+Id): | F2 Html-lähdekoodin näyttäminen/muokkaus | ||||||
| Kuvaus: | Kirjoitettavan tekstin takana olevaa html-lähdekoodia on voitava tarvittaessa muokata helposti | ||||||
| Perustelu: | Antaa Html:ää tunteville käyttäjille monipuolisemmat mahdollisuudet vaikuttaa tekstin sisältöön | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.3 Vaatimuksen tiedot
UC2 Html-lähdekoodin muokkaaminen |
|
|
Päämäärä: |
Käyttäjä haluaa katsella ja muokata tekstin taustalla olevaa lähdekoodia |
|
Esiehto: |
- |
|
Normaali kulku: |
|
|
Tulos: |
Halutut muutokset tulevat tehdyksi ja lähdekoodi muokatuksi |
|
Vaihtoehtoinen kulku: |
Source-vaihtoehto voi olla piilotettuna (sivun tekijän toimesta) jolloin lähdekoodia ei pääse muokkaamaan. |
|
Huom: |
--- |
Taulukko 4.4 Vaatimukseen liittyvä käyttötapaus.

Kuva 4.4 Vaatimuksen ikkunointianalyysi
| Vaatimus (+Id): | I1 Sisällön Postaus (Save) Html-muodossa palvelimelle (kontrollin rajapinnassa esim. HtmlText property) | ||||||
| Kuvaus: | Kontrollin on lähetettävä (Html)
sisältönsä vähintään save-toiminnon |
||||||
| Perustelu: | Ilman tätä toimintoa kontrollissa ei olisi mitään järkeä | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.5 Vaatimuksen tiedot
Muut toiminnalliset vaatimukset kattavat kaikki muut paitsi toiminnalliset perusvaatimukset. Niiden yhteyteen ei tarvitse liittyä käyttötapausta tai ikkunointianalyysiä mutta em. kuvaukset ovat kuitenkin mahdollisia. Toiminnallisista vaatimuksista prioriteetti 4:n (prioriteetti 5:n toiminnalliset vaatimukset ovat perusvaatimuksia) vaatimukset tulee pyrkiä toteuttamaan ensimmäisessä beta-versiossa ja prioriteetiltaan vähintään 3:n arvoiset vaatimukset ensimmäisessä lopullisessa versiossa.
Rajapinnan toiminnalliset vaatimukset ovat olennaisia lähinnä komponenteilla ja vastaavat niillä toiminnallisia vaatimuksia. Niiden perusideana on kertoa mitä toimintoja komponentin rajapinnassa tarvitaan. Siksi ne on 5:s prioriteetin vaatimuksia lukuun ottamatta listattu tämän saman lukukappaleen yhteydessä.
| Vaatimus (+Id): | F3 Kontrollin on tarjottava Copy, Cut ja paste toiminnot sekä normaalien pikanäppäinten että työkalupalkin kautta | ||||||
| Kuvaus: |
|
||||||
| Perustelu: | Tärkeitä toimintoja joita tarvitaan lähes joka tekstissä. Ko. toiminnot voidaan liittää myös perustilan toimintoihin mikäli ne eivät olennaisesti kasvata kontrollin minimikokoa. | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.6 Vaatimuksen tiedot
| Vaatimus (+Id): | F4 Kontrollin on tarjottava BulletList ja NumberList toiminnot | ||||||
| Kuvaus: |
|
||||||
| Perustelu: | Tarvitaan useimmissa teksteissä | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.7 Vaatimuksen tiedot
| Vaatimus (+Id): | F5 Kontrollin on tarjottava tekstin tasaus vasemmalle, keskelle (ja oikealle) | ||||||
| Kuvaus: | Logot standardit, toimintojen käyttäytyminen tasaa valitun tekstin halutulla tavalla. | ||||||
| Perustelu: | Ainakin vasemmalle ja keskelle tasausta tarvitaan usein | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.8 Vaatimuksen tiedot
| Vaatimus (+Id): | F6 Kontrollin on tarjottava mahdollisuus lisätä vaakaviiva hyperlinkki, kuva (ja supistettava/laajennettava otsake) | ||||||
| Kuvaus: |
Edellisistä kuvauksista poiketen voidaan tarjota myös esim. kuvan/hyperlinkin kohteen selaukseen ja tekstin kysymiseen oma helppokäyttöisempi valikkonsa. Mutta tämä ei ole välttämätöntä ja tässä vaatimuksessa esitetyt toiminnot voivat edellyttää muilta kuin mainituilta osilta lähdekoodin muokkausta. |
||||||
| Perustelu: | Hyödyllisiä toimintoja joita tarvitaan käytännössä melko usein | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.9 Vaatimuksen tiedot
| Vaatimus (+Id): | F7 Kontrollin on mahdollistettava tekstin muuttaminen halutun tason otsikoksi (heading) | ||||||
| Kuvaus: | Heading toiminnon tulee toimia
seuraavasti: Valitaan teksti ja valitaan sitten haluttu heading
taso. Ko. teksti muuttuu heading:ksi ks. kuva
![]() |
||||||
| Perustelu: | Heading-toimintoa tarvitaan paljon käytännössä | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.10 Vaatimuksen tiedot
| Vaatimus (+Id): | F8 Kontrollin on mahdollistettava ReadOnly moodi | ||||||
| Kuvaus: | ReadOnly-moodissa kontrollin tekstiä ei
voi muokata ja ToolBar:ia ei näy: Muotoilut ovat kuitenkin käytössä
ja tekstiä voidaan kuitenkin tarvittaessa selata scrollbar:lla
ks. kuva |
||||||
| Perustelu: | Samaa kontrollia voidaan käyttää Html-tekstin esittämiseen silloin kun muokkausta ei sallita. | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.23 Vaatimuksen tiedot
| Vaatimus (+Id): | I2 Kontrollin on tarjottava moodivalinta advanced, basic ja (readonly) moodin väliltä | ||||||
| Kuvaus: | Advanced moodissa näkyvissä ovat kaikki
toiminnot ja basic moodissa vain perustoiminnot (lihavointi,
kursivointi, alleviivaus ja tallennus sekä mahdollisesti myös Cut,
Copy ja Paste) Lisäksi source-valinta on
oltava estettävissä. ReadOnly-Moodissa ToolBar:ia ei saa näkyä
ollenkaan ja EditTextbox:n tulee olla sellaisessa tilassa että
tekstiä ei voi muokata. Näitä vaatimuksia varten komponentin rajapinnassa on oltava
sopivat rajapintakutsut.
|
||||||
| Perustelu: | Moodivalinta mahdollistaa kontrollin sovittamisen eritasoisille käyttäjille ja toisaalta perustilassa kontrolli menee pienempään tilaan. ReadOnly mahdollistaa saman kontrollin käyttämisen pelkkään tekstin näyttämiseen. | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.11 Vaatimuksen tiedot
| Vaatimus (+Id): | I3 Kaikki käyttöliittymän kielispesifiset tekstit (esim. Html:n näkyviin kytkevällä toiminnolla (check box) ) tulee voida asettaa. | ||||||
| Kuvaus: | Kuvasymboleja tulee käyttää niin paljon kuin mahdollista mutta mikäli kuvaa ei ole mahdollista käyttää tulee tekstin olla muutettavissa kontrollin rajapinnan läpi (esim. kaikkien nappuloiden tooltip-propertyt) | ||||||
| Perustelu: | Mahdollistaa eri kielisten versioiden tekemisen kontrollista. | ||||||
| Mahd. virhetilanteet: | - | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.12 Vaatimuksen tiedot
Järjestelmään/komponenttiin liittyvät perustietoalkiot, dataformaatit, niiden vaatimukset ja tietoalkioiden väliset yhteydet.
Tämäntyypin vaatimuksia ei ole
Vaatimukset jotka määrittelevät järjestelmän/komponentin suorituskyky rajat
| Vaatimus (+Id): | P1 Kontrolleja on voitava olla yhdellä sivulla 5 kpl | ||||||
| Kuvaus: | Raja ei ole absoluuttinen mutta testit on tehtävä sillä | ||||||
| Perustelu: | Joillain sivuilla voidaan tarvita useampia kontrolleja ja 5 on järkevän tuntuinen yläraja | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.12 Vaatimuksen tiedot
Vaatimukset jotka määrittelevät järjestelmän/komponentin käytettävyyteen liittyviä ominaisuuksia (esim) ja/tai määrittelevät järjestelmän/komponentin ulkoisen olemuksen ("look and feel")
| Vaatimus (+Id): | A1 ToolBar:n tilankäyttö on optimoitava siten että mahdollisimman suuri osa tilasta jää varsinaisen tekstiosan käyttöön | ||||||
| Kuvaus: | ToolBar:n tilankäyttö on optimoitava siten että nappulat eivät vie paljon tilaa ts. koko kontrollin on mahduttava mahdollisimman pieneen tilaan ja mahdollisimman suuri osa tilasta on jäätävä varsinaisen tekstiosan käyttöön | ||||||
| Perustelu: | Kontrolli tulee monesti ahtaisiin paikkoihin joissa jokainen ylimääräinen milli tekstille on tarpeellinen | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.13 Vaatimuksen tiedot
| Vaatimus (+Id): | A2 Kaikkiin nappuloihin ja kontrollin osiin on liitettävä selkeät ToolTip:it jotka kertovat lyhyesti ko. osan käyttötarkoituksen | ||||||
| Kuvaus: | Editori osalla ja kullakin Toolbar:n nappulalla on oltava omat tooltippinsä | ||||||
| Perustelu: | Vähentää käyttöohjeen tarvetta ja selkiyttää käyttöä. | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.14 Vaatimuksen tiedot
| Vaatimus (+Id): | A3 Tarvittaviin kontrollin osiin tulee liittää oma CssClassId:nsä jotta ulkoasua saadaan helposti kustomoitua | ||||||
| Kuvaus: | Seuraaviin kontrollin osiin tulee liittää oma CssClass Id:nsä jotta niiden tyylimuotoilut voidaan asettaa
riippumattomasti:
|
||||||
| Perustelu: | Helpottaa käyttäjäkohtaista tai kokonaisvaltaista kontrollin mukauttamista jälkeenpäin. | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.15 Vaatimuksen tiedot
| Vaatimus (+Id): | A4 Kontrollin tyyliasetusten on vastattava .NET:n WebControl-kantaluokan tarjoamia tyyliasetuksia. | ||||||
| Kuvaus: | Tyyliasetusten rajapinnan on noudatettava standardia linjaa ja oltava riittävän monipuoliset | ||||||
| Perustelu: | Tehdään rajapinnasta helppokäyttöisempi ja varmistetaan riittävän monipuoliset asetukset | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.16 Vaatimuksen tiedot
| Vaatimus (+Id): | A5 ToolBar:n nappuloissa on oltava ns. Hover-toiminto | ||||||
| Kuvaus: | Toolbar:n nappulan taustavärin on vaihduttava kun hiiren kursori
viedään nappulan päälle. Esim ![]() |
||||||
| Perustelu: | Helpottaa toolbar:n nappuloiden välisten rajojen löytämisessä ja tekee visuaalisesta ulkoasusta hienomman | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.17 Vaatimuksen tiedot
| Vaatimus (+Id): | A6 Kontrollin kokoa on voitava muuttaa sekä korkeus että leveyssuunnassa järkevästi | ||||||
| Kuvaus: | Kokoa on voitava muuttaa siten että toolbar:n käyttämä tila
ei muutu kuin leveyssuunnassa ja editori osa täyttää kaiken
toolbar:n alle jäävän tilan.
-->Minimi koko (mahdollinen vain prosentuaalisilla korkeusilla/leveyksillä) --> Oletus koko/minimi koko pikseleinä (perustilassa) 262(leveys) x 134(korkeus),
Kasvatettu koko 450 (leveys) x 304 korkeus |
||||||
| Perustelu: | Helpottaa huomattavasti hyödyntämistä kun kontrollia sivullaan hyödyntävä voi tarvittaessa säätää koon mieleisekseen ilman että tilankäyttö kärsii | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.18 Vaatimuksen tiedot
| Vaatimus (+Id): | A7 Kontrollia suunniteltaessa esim. VS.NET:llä tulee suunnittelutilassa näkyä toolbar:n nappuloiden määrä, koko, image ja editori mahd. oikeassa koossa. | ||||||
| Kuvaus: | Ennen kaikkea leveyden ja korkeuden muutosten tulee näkyä suunnittelutilassa. | ||||||
| Perustelu: | helpottaa tilankäytön miettimistä käyttöliittymää rakennettaessa ainakin ko. kontrollin osalta | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.19 Vaatimuksen tiedot
Käyttöympäristöön liittyvät vaatimukset määrittelevät järjestelmän/komponentin toimintaympäristön ts. mitä muita ohjelmia se tarvitsee toimiakseen. (Voidaan määritellä vasta suunnittelun yhteydessä jos eivät jo tiedossa). Siirrettävyysvaatimukset puolestaan sen miten helposti järjestelmän/komponentin on oltava siirrettävissä eri alustoille ja ylläpidettävyys vaatimukset esim. sen mitä toimenpiteitä järjestelmän/komponentin toimintakuntoisena pitäminen oletetun maksimielinajan verran voi vaatia.
Huom. Toteutustekniikkaan liittyvät vaatimukset tulisi jättää mahdollisimman vähäisiksi ennen arkkitehtuurisuunnittelua jotta suunnittelijalle/suunnittelijoille annettaisiin vapaat kädet valita järjestelmän kannalta parhaat mahdolliset tekniset ratkaisut.
| Vaatimus (+Id): | T1 Kontrollin on oltava käytettävissä .NET ohjelmointi ympäristössä (.NET WebControl) | ||||||
| Kuvaus: | Kontrollin on oltava käytettävissä .NET:ssä ja toimittava oikein suunnittelutilassa ainakin VS.NET:llä | ||||||
| Perustelu: | Projektin alkuperäiseen tavoitteeseen liittyvä vaatimus | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.20 Vaatimuksen tiedot
| Vaatimus (+Id): | T2 Kontrollin muodostaman käyttöliittymän on toimittava IE5.5:lla tai uudemmalla | ||||||
| Kuvaus: | Vähintään IE5.5:sta ja mielellään myös IE5:sta on tuettava (yleisimmät selaimet) | ||||||
| Perustelu: | ko. selaimet ovat yleisimmin käytössä | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.21 Vaatimuksen tiedot
| Vaatimus (+Id): | T2 Kontrollin riippumattomuus .NET:n ulkop erikoiskontrolleista | ||||||
| Kuvaus: | Kontrollin on oltava riippumaton erikoiskontrolleista jotta sen käyttö ei vaadi ylimääräisten kontrollien asentamista | ||||||
| Perustelu: | On tärkeää että ko. kontrollia voi käyttää asentamatta turhia lisäosia (yleiskäyttöinen kontrolli) ja että riippuvuussuhteet ovat yksinkertaiset koska tämä helpottaa kontrollin jakelua ja ehkäisee mystisiä virheitä | ||||||
| Numeeriset suureet: |
|
||||||
| Lähde: | Juha |
Taulukko 4.22 Vaatimuksen tiedot
Määrittelevät kuinka turvallinen järjestelmän/komponentin on oltava tietoturvamielessä
Tämäntyypin vaatimuksia ei ole
Määrittelevät mitkä kulttuuriin, politiikkaan tai lakiin liittyvät asiat on huomioitava järjestelmän/komponentin suunnittelun/toteutuksen yhteydessä
Tämäntyypin vaatimuksia ei ole
Vaatimukset joita on mietitty mutta jotka on jätetty pois toteutettavien listalta esim. hankalan toteutettavuutensa takia.
Tämäntyypin vaatimuksia ei ole