Skip to content
Snippets Groups Projects
Commit 246f260e authored by Marko Rintamäki's avatar Marko Rintamäki
Browse files

Uusimmat mukaan

parent 6bf0a5f5
No related branches found
No related tags found
No related merge requests found
Pipeline #403323 passed
Showing
with 323 additions and 189 deletions
......@@ -8,6 +8,8 @@
**Päivitä linkit osoittamaan omaan projektiin**
* [Board](./-/boards)
* [Sprint 0](https://gitlab.labranet.jamk.fi/open-project-framework/opf-virtual-company-v1/core/-/milestones/2)
* [Issue Board -näkymä](https://gitlab.labranet.jamk.fi/open-project-framework/opf-virtual-company-v1/core/-/boards)
* [Issue Backlog](https://gitlab.labranet.jamk.fi/open-project-framework/opf-virtual-company-v1/core/issues?scope=all&utf8=%E2%9C%93&state=opened&milestone_title=Backlog)
......
# Johdatus projektisuunnitelmaan
<iframe width="560" height="315" src="https://www.youtube.com/embed/moE-2M26hGo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
\ No newline at end of file
# Projektiryhmän esittely
## Tiimin Kuvaus
Kerätään kaikki ryhmä jäsenet tähän dokumenttiin tai ohjataan "site"-sivustolle, josta tekijät löytyvät.
Kerro tiimistä ja sen osaamisista projektin kannalta? Hieman tausta, jos tarpeen etc.
## Tiimin jäsenet
![](https://openclipart.org/image/300px/svg_to_png/309644/1541381381.png)
| Nimi | Kuvaus | Yritys/yhteisö | Tehtävä | Vastuut |Linkki |
|:-:|:-:|:-:|:-:|:-:|:-:|
| Erkki Esimerkki | Ohjelmoija | Yritys X | Toteuttaa asiakkaan tavoitteet | Frontend-osa | [LinkedIn]() |
| Mauri Mainio | Ohjelmoija | Yritys Y |Toteuttaa asiakkaan tavoitteet | Backend-osa | [LinkedIn]() |
| ... | ... | ... | ... | [LinkedIn]() |
# Nimi
## Kuva tiimistä
![](https://openclipart.org/image/300px/svg_to_png/310624/1542815459.png)
![](https://openclipart.org/image/400px/svg_to_png/18171/johnny-automatic-pirates.png)
* Vastuut
# Nimi
## Kotisivut
![](https://openclipart.org/image/300px/svg_to_png/310613/1542797915.png)
* Vastuut
# Nimi
![](https://openclipart.org/image/300px/svg_to_png/310279/1542363453.png)
* Vastuut
# Nimi
![](https://openclipart.org/image/300px/svg_to_png/179839/man-with-sleepy-face.png)
* Vastuut
# Nimi
![](https://openclipart.org/image/300px/svg_to_png/6131/sas-face-1-colour.png)
* Vastuut
* [Tiimin kotisivut]()
# Projektisuunnitelma pohja / sisältö
1. Toimeksianto
tausta ja lähtökohdat, tavoitteet ja tehtävät, rajaus ja liittymät, tulos
......@@ -18,15 +19,14 @@ projektin aloitus, työtilat ja viestintävälineet, palaverikäytäntö ja yhte
6. Projektin päättyminen
luovutus, käyttöönotto, ylläpito, projektin aineiston taltiointi, arkistointi, loppuraportti, projektin virallinen päättäminen
## 1 Projektin ja lopputuotteen kuvaus
”Tässä dokumentissa kuvataan X-projektin taustaa, tavoitteita, tehtäviä, vaihejakoa, resursseja ja organisaatiota. Vaihejaon yhteydessä on kuvattu jokainen vaihe erikseen lyhyesti.”
## 1.1 Tausta ja lähtökohdat
Wimma Lab 2018-toiminnan tavoitteena on pyrkiä yhdistämään .... on Yritys Oy:n tarve kehittää” < kohdetta>… ”Projekti toteutetaan Jyväskylän ammattikorkeakoulun informaatioteknologian instituutin järjestämän <ZZPP0100 Työelämäosaajaksi kasvu> ‑opintojakson puitteissa. ”
> Projektin tavoitteena on pyrkiä yhdistämään .... on tarve kehittää” < kohdetta>… ”Projekti toteutetaan Jyväskylän ammattikorkeakoulun informaatioteknologian instituutin järjestämän <TTOS2070> ‑opintojakson puitteissa. ”
Kohde on usein laajempi käsite kuin varsinainen projektille määriteltävä tehtävä. Kohde kuvaa selkeällä tavalla, usein graafiseen esitykseen tukeutuen, millaisesta järjestelmäkokonaisuudesta tai toiminnasta on kyse, johon ollaan tekemässä nyt projektissa jotain osakokonaisuutta/täydennystä. Tässä siis kuvataan nykyjärjestelmää ja asiakkaan nykyistä toimintatapaa.
## 1.2 Tavoitteet ja tehtävät
......@@ -43,7 +43,6 @@ Määritellään työn keskeisin sisältö tässä projektissa; projektin tehtä
* Linkki tarvitavaan aineistoon vaatimusmäärittelyssä
* Esitellään palvelukuvaus ja sen mahdollinen muutoskohteet projektin myötä
## 1.3 Rajaus ja liittymät
Täsmennetään projektin tehtävää rajaamalla ulkopuolelle jäävät osat kohteena olevasta järjestelmästä tai kokonaishankkeesta.
......@@ -52,8 +51,6 @@ ne tehtäväkokonaisuudet, jotka nyt tehtävään osioon tulevat vielä todennä
joita ei tämän projektin puitteissa kuitenkaan tulla toteuttamaan. Tyypillisiä tällaisia tehtäviä voisivat olla
mm. käyttöympäristön rakentaminen ja koulutus. Muina rajauksina voisi olla esim. ohjelmiston käyttöliittymässä käytettävä kieli.
Huom.: Projektiopintojakson aikana toteutettavalla projektilla ei saisi olla tiukkoja aikataulullisia liittymiä muihin toimeksiantajan projekteihin
## 1.4 Oikeudet
”Eri osapuolten oikeudet on määritelty projektisopimuksessa.” Ellei erillisessä sopimuksessa ole kerrottu oikeuksista työn tuloksiin, tulee ne ilmaista esim. tässä projektisuunnitelmassa.
......@@ -64,6 +61,12 @@ Tässä kappaleessa esitellään projektisuunnitelmassa esiintyvät määritelm
# 2. Projektiorganisaatio
* Tähän voidaan sijoittaa [projektiorganisaation sidosryhmäkartta]()
## 2.1 Organisaation esittely
Projektin organisaation kuuluu Jyväskylän ammattikorkeakoulun opettajia, projektihenkilökuntaa opiskelijaa, projektiryhmän ohjaajat sekä toimeksiantajan edustajat. Organisaatiokaavio on esitetty liitteessä <X>.”
......@@ -107,18 +110,18 @@ Huom.: Seuraavassa on esitetty käynnistys- ja lopetusvaiheet. Kaikista projekti
Käynnistys p.k.vvvv – p.k.vvvv (X h)
* [Sprint 0-?]()
Projektin käynnistämiseen kuuluu olennaisesti projektisuunnittelu ja suunnitteludokumenttien laatiminen sekä yhteydenpitokäytänteiden luominen toimeksiantajayrityksen kanssa. Vaiheen aikana tehdään esim. ryhmän webbisivut, tutustutaan tarkemmin toimeksiantoon, aloitetaan kohdealueeseen perehtyminen ja laaditaan projektisuunnitelma yhteistyössä toimeksiantajan edustajien kanssa. Vaiheen aikana muodostetaan johtoryhmä, pidetään 1. johtoryhmän kokous sekä allekirjoitetaan projektisopimus.
”Vaiheen tuloksia ovat ryhmän imagon (nimi, logo ym.) luominen, webbisivut tms. sekä projektisopimus liitteineen.”
<Tähän oman projektinne vaiheet ja tehtävät>
* [Sprint 0-?]()
* [Sprint 0-?]()
* [Sprint 0-?]()
* [Sprint 0-?]()
* [Sprint 0-?]()
* [Etappi 0]()
* [Etappi 1]()
* [Etappi 2]()
* [Etappi 3]()
* [Etappi 4]()
Lopetus p.k.vvvv – p.k.vvvv (X h)
......
# Riskienhallintasuunnitelma
# Riskien hallinta
* [Tutustu ensin kurssin materiaaliin](http://ttc2070.pages.labranet.jamk.fi/2-Projektinhallinta/laatu-ja-riskien-hallinta/laatu-ja-riskit/)
Kirjataan alla olevaan taulukkoon projektiin kohdistuvat riskit ja pidetään niitä yllä tarpeen mukaan.
## Tunnistetu riskit listana
__Kirjataan alla olevaan taulukkoon projektiin kohdistuvat riskit ja pidetään niitä yllä tarpeen mukaan. Jokaiselle riskille annetaan tunniste esim. RIS007, koska tämä helpottaa niiden käsittelyä eri tilanteissa.__
| ID | Kuvaus | Vakavuus | Todennäköisyys | Kuka vastaa | Miten toimitaan, jos riski "eskaloituu" |
|:--:|:--:|:--:|:--:|:--:|:--:|
| RIS01 | Ryhmän jäsen sairastuu flunssaan | V3 | HessuHopo | Ilmoita tiiminvetäjälle ja tarvittaesssa asiakkaalle. |
| RISXX | [Riskikohtainen alasivu jos tarpeen]() | | | |
| RISX1 | Ryhmän jäsen sairastuu flunssaan | V3 | 60 % |[Tiimin jäsen 1]() | Ilmoita [esihenkilölle]() ja tarvittaesssa [asiakkaalle](). |
| RISX2 | Sähköt katkeavat kehitystyön aikana | V5 | 1 | [Tiimin jäsen 2]() | Varmistetaan, että kaikilla on käytössään varayhteydet esim. puhelimella |
| RISXX | | | | |
| RISXX | | | | |
| RISXX | | | | |
......@@ -20,10 +24,12 @@ Kirjataan alla olevaan taulukkoon projektiin kohdistuvat riskit ja pidetään ni
### Vakauvuusluokka
__Vakavuusluokka kannattaa määritellä projektille sopivalla tavalla__
| Vakavuusluokka | kuvaus | Muuta |
|:----:|:----:|:----:|
| V1 | Erittäin vakava | |
| V2 | | |
| V3 | | |
| V4 | | |
| V5 | Ei haittaa, mutta tarkkailaan | |
| V1 | Erittäin vakava, jatkuva tarkkailu ||
| V2 | Vakava, aktiivinen tarkkailu ||
| V3 | Normaali, tarkkaillaan ||
| V4 | Mahdollinen, tarkkailtava ||
| V5 | Ei haittaa, mutta tarkkailaan ||
Johdatus vaatimusmäärittelyyn
<iframe width="560" height="315" src="https://www.youtube.com/embed/hV7ncoGFG0c" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
\ No newline at end of file
# Palvelun vaatimukset listana
# Vaatimukset yhdistettynä listana
[![](http://img.youtube.com/vi/rp3DkiZ-Mkk/0.jpg)](http://www.youtube.com/watch?v=rp3DkiZ-Mkk "")
> Jos kirjaat vaatimukset yhteen listaan tulee esille haaste miten osoittaa mikä vaatimus vaikuttaa milläkin tasolla toteutettavaa ratkaisua.
Tämä malli on varsin käyttökelpoinen, jos lista ei veny kovin pitkäksi. Sama lista voidaan aika kätevästi tehdä Excelillä, mutta se johtaa varsin pian dokumentoinnin monimutkaisuuteen.
Kun käytetään yhtä ympäristöä keräämään oleellinen tieto on niiden linkittäminen helpompaa ja tieto pysyy ajantasalla paremmin.
# Liiketoiminta/Asiakkaat/Rajoitteet
**Asiakasvaatimukset**
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
| VaatimusID | Tyyppi | Domain/Osa-alue | Toiminnallisuus |
|:-:|:-:|:-:|:-:|
| CUSTOMER-REQ-0001 | Customer Requirement | Käyttäjänä haluan kirjautua käyttäen Facebook-tunnuksia, ettei tarvise häslätä | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| CUSTOMER-REQ-0001 | Customer Requirement |||
| CUSTOMER-REQ-0002 | Customer Requirement |||
| CUSTOMER-REQ-0003 | Customer Requirement |||
| CUSTOMER-REQ-0004 | Customer Requirement |||
| CUSTOMER-REQ-0005 | Customer Requirement |||
**Liiketoiminnan vaatimukset**
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| BUSINESS-REQ-0001 | Business Requirement | Palvelun kirjautuminen tulee olla helppoa, että voimme saavuttaa laajan käyttäjäkunnan = 35% kohderyhmästä | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| BUSINESS-REQ-0001 | Business Requirement |||
| BUSINESS-REQ-0002 | Business Requirement |||
| BUSINESS-REQ-0003 | Business Requirement |||
| BUSINESS-REQ-0004 | Business Requirement |||
| BUSINESS-REQ-0005 | Business Requirement |||
**Rajoitukset / Standardit**
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| CONSTRAINT-REQ-S00000 | Constrain | Palvelun kirjautumisprosessin on noudatettava AC5-2009-käytäntöä | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| CONSTRAINT-REQ-S00000 | Constrain |||
| CONSTRAINT-REQ-S00001 | Constrain |||
| CONSTRAINT-REQ-S00002 | Constrain |||
| CONSTRAINT-REQ-S00003 | Constrain |||
| CONSTRAINT-REQ-S00004 | Constrain |||
| CONSTRAINT-REQ-S00005 | Constrain |||
| CONSTRAINT-REQ-S00006 | Constrain |||
# Järjestelmätason /Ohjelmiston vaatimukset
**SYSTEM REQUIREMENTS**
Tähän kerätään järjestelmän/palvelun vaatimuksia korkealla tasolla.
**Tekniset vaatimukset**
Tekniset vaatimukset esitetään yleensä erillään ohjelmiston vaatimuksista. Ne liittyvät oleellisen osana
järjestelmävaatimuksiin. Teknisiä vaatimuksia voivat olla esim:
* Suoritusympäristö (Linux, Windows, Pilvi etc)
* Muisti (4GB, 16GB ?)
* Suoritin (Intel/AMD/ARM ?)
* Tietokanta (MySQL, DynamoDB, Orient etc?)
* Ajoalustan ratkaisut JAVA VM, Docker Container ?
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| SYSTEM-REQ-0001 | System Requirement | Kirjatumispalvelulla on oltava itsenäinen kolmannen osapuolen toimittama varmistusjärjestelmä | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| SYSTEM-REQ-0002 | System Requirement | Palvelun tärkeimpien palvelujen on oltava vähintään kahdennettu N+1 | |
| SYSTEM-REQ-0001 | System Requirement |||
| SYSTEM-REQ-0002 | System Requirement |||
| SYSTEM-REQ-0003 | System Requirement |||
| SYSTEM-REQ-0004 | System Requirement |||
| SYSTEM-REQ-0005 | System Requirement |||
### Toiminnalliset vaatimukset**
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| FUNCTIONAL-REQ-C0001 | Functional Requirement | Käyttäjänä (Asiakas Profiilit 1-4) voin kirjautua käyttäen Facebook-tunnuksia | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| FUNCTIONAL-REQ-C0001 | Functional Requirement |||
| FUNCTIONAL-REQ-C0002 | Functional Requirement |||
| FUNCTIONAL-REQ-C0003 | Functional Requirement |||
| FUNCTIONAL-REQ-C0004 | Functional Requirement |||
......@@ -87,16 +37,7 @@ järjestelmävaatimuksiin. Teknisiä vaatimuksia voivat olla esim:
| FUNCTIONAL-REQ-C0008 | Functional Requirement |||
| FUNCTIONAL-REQ-C0009 | Functional Requirement |||
| FUNCTIONAL-REQ-C0010 | Functional Requirement |||
### Ei-Toiminnalliset vaatimukset
**Tietoturva**
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| SECURITY-REQ-0001 | Non-Functional Security | Salasanassa on käytettävä vähintään MD5-tason salausta, koska standardi XY112 sitä edellyttää | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| SECURITY-REQ-0001 | Non-Functional Security |||
| SECURITY-REQ-0002 | Non-Functional Security |||
| SECURITY-REQ-0003 | Non-Functional Security |||
| SECURITY-REQ-0004 | Non-Functional Security |||
......@@ -106,67 +47,30 @@ järjestelmävaatimuksiin. Teknisiä vaatimuksia voivat olla esim:
| SECURITY-REQ-0008 | Non-Functional Security |||
| SECURITY-REQ-0009 | Non-Functional Security |||
| SECURITY-REQ-0010 | Non-Functional Security |||
**Suorituskyky**
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| PERFORMANCE-REQ-0000 | Non-Functional Performance | Kirjautuminen on mahdollista yhtäaikaa 100 käyttäjällä (100 request/s) | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| PERFORMANCE-REQ-0000 | Non-Functional Performance |||
| PERFORMANCE-REQ-0001 | Non-Functional Performance |||
| PERFORMANCE-REQ-0002 | Non-Functional Performance |||
| PERFORMANCE-REQ-0003 | Non-Functional Performance |||
| PERFORMANCE-REQ-0004 | Non-Functional Performance |||
| PERFORMANCE-REQ-0005 | Non-Functional Performance |||
**Käytettävyys**
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| USABILITY-REQ-0000 | Non-Functional Usability | Käyttöliittymän on toimittava myös ääniohjattuna, koska käyttäjillä saattaa olla näkövammoja | [Kirjautuminen ft1](ft1-ominaisuus.md) | |
| AVAILABILITY-REQ-0000 | Non-Functional Usability |||
| AVAILABILITY-REQ-0001 | Non-Functional Usability |||
| AVAILABILITY-REQ-0002 | Non-Functional Usability |||
| USABILITY-REQ-0001 | Non-Functional Usability |||
| USABILITY-REQ-0002 | Non-Functional Usability |||
| USABILITY-REQ-0003 | Non-Functional Usability |||
| USABILITY-REQ-0004 | Non-Functional Usability |||
| USABILITY-REQ-0005 | Non-Functional Usability |||
**Palautuminen**
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| RECOVERY-REQ-00100 | Non-Functional Recovery | Kirjautumis-palvelun on käynnistyttävä ensimmäisen palvelun ylösajon aikana | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| RECOVERY-REQ-00100 | Non-Functional Recovery |||
**Testattavuus**
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| TESTABILITY-REQ-0000 | Non-Functional Testability | Käyttäjärekisteri on kyettävä palauttamaan alkutilaan ennen testien ajoa | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| RECOVERY-REQ-00100 | Non-Functional Recovery |||
| TESTABILITY-REQ-0000 | Non-Functional Testability |||
| TESTABILITY-REQ-0001 | Non-Functional Testability |||
| TESTABILITY-REQ-0002 | Non-Functional Testability |||
| TESTABILITY-REQ-0003 | Non-Functional Testability |||
| TESTABILITY-REQ-0004 | Non-Functional Testability |||
| TESTABILITY-REQ-0005 | Non-Functional Testability |||
**Turvallisuus**
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| SAFETY-REQ-0000 | Non-Functional Safety | Tähän tuotteesen ei voida osoittaa turvallisuus vaatimuksia | [Kirjautuminen ft1](ft1-ominaisuus.md) |
| SAFETY-REQ-0000 | Non-Functional Safety |||
| SAFETY-REQ-0001 | Non-Functional Safety |||
| SAFETY-REQ-0002 | Non-Functional Safety |||
| SAFETY-REQ-0003 | Non-Functional Safety |||
# Mekaaniikka vaatimukset
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| MECHANICAL-REQ-000 | Mechanical Requirement | ||
| MECHANICAL-REQ-001 | Mechanical Requirement | ||
| MECHANICAL-REQ-002 | Mechanical Requirement | ||
......
# Tuotteen MindMap -kuvaus
![](https://openclipart.org/image/300px/svg_to_png/95221/mmap.png)
# Tiivistetty tavoitemäärittelyn runko
* [SIJOITA TOIMEKSIANNON KOODI TÄHÄN]
* Projektimäärittely/vaatimusmäärittely tiivispohja v 0.2 16.10.2020 (NarsuMan)
## Johdanto
>Kuvaa millaisesta projektista on kyse, hieman taustaa ja aiheeseen olennaisesti liittyviä asioita? Jos kyseessä harjoitustehtävä, niin tarkista voitko
käytää todellisten tilaajien oikeita nimiä! Muuta aina oletuksena henkilötiedot ja toimeksiantajan viralliset tiedot
>Mitä ratkaisun avulla voidaan tehdä? Millaisia ovat sen käyttäjät? Mikä sen tehtävä on yleisesti eri sidosryhmien kannalta?
Kannattaa nostaa esiin lyhyesti mahdolliset loppukäyttäjä ja oleellisiin palvelusta hyötyviin sidosryhmät
## Mindmap-yleiskuvaus
```plantuml
[*] --> Tuote
Tuote --> Sidosryhma
Sidosryhma --> Kiusallinen_henkilo
Sidosryhma --> Normaali_loppukayttja
Sidosryhma --> Haasteellinen_loppukayttaja
Sidosryhma --> Edistynyt_loppukayttaja
Sidosryhma --> Mahdollinen_asiakas
```
## Sidosryhmäkartta
>Mietitään tarkemmin millaisia käyttäjä/sidosryhmiä liittyy suunniteltuun ratkaisuun/ohjelmistoon/palvelukokonaisuuteen?
Näitä selkeyttääksemme kirjataan kaikki sidosryhmät sidosryhmäkartan muotoon. Nostetaan samalla esiin mikä on
ko. sidosryhmän/edustajan palveluun liittyvä motivaatio. Kuvauksen voi laatia esim. piirtämällä, MindMap-muodossa tai soveltaen sopivaa UML-notaatiota.
> Voit tutustu nyt aiemmin mainittuun PlantUML-työkaluun ja kokeilla luoda sidosryhmäkartta käyttäen (http://plantuml.com/)
> Huomaa! PlantUML-lohkon määrittelyssä käytetään Gitlab-ympäristössä eri avainsanoja @startuml/@enduml- rivien sijaan
> Älä käytä skandinaavisia merkkejä PlantUML-kuvauksessa,koska niiden julkaisu www-sivulla ei toimi!**
```plantuml
actor tilaaja
actor ostaja
actor sijoittaja
actor loppukayttaja
cloud projektin_tuotos
tilaaja -- projektin_tuotos : tilaa_ratkaisun
ostaja -- projektin_tuotos : maksaa_ratkaisusta
sijoittaja -- projektin_tuotos : sijoittaa_kehitykseen
loppukayttaja -- projektin_tuotos : kayttaa_ratkaisua
```
## Sidosryhmät ja profiilit
> Eritellään sidosryhmäkartasta eri sidosryhmät/profiilit listaksi. Tarvittaessa kuvataan tarkemmin valitut sidosryhmät ja tarkennetaan niitä, jos toimeksianto sitä edellyttää
* [Sidosryhmä-001](pohjat/pohja-profiilikuvaus.md)
* [Sidosryhmä-002](pohjat/pohja-profiilikuvaus.md)
* [Sidosryhmä-003]()
* [Sidosryhmä-004]()
* [Sidosryhmä-005]()
## Tunnistetut riskit
> Millaisia riskeja liittyy ratkaisun/ohjelmiston/tuoteen kehittämiseen, tuotteen markkinoihin, mahdollisiin kilpailijoihin, resursseihin?
Nämä on hyvä tunnistaa alkuvaiheessa ja kirjata ne listaksi, jossa jokainen riski kuvataan itsenäisen tunnisteen avulla
* RISK-001 - Riskin kuvaus
* RISK-002 - Riskin kuvaus
* RISK-003 - Riskin kuvaus
* RISK-004 - Riskin kuvaus
> Avainsanat SWOT, Riskianalyysi
## Palveluun liittyviä asiakaspolkuja
> Mieti toimeksiantoa ja pohdi onko siitä tunnistettavissa ns. palvelupolkuja?
> Asiaspolkukuvauksen avulla kuvataan tapahtuma sarjaa joka käydään jossain valitussa tilanteessa läpi palvelun käytön aikana.
> Asiakas kohtaisia palvelupolkuja voi olla useita, mutta tärkeintä on tunnistaa alkuvaiheessa oleellisimmat.
> Palvelupolkua kuvattaessa voi hyödyntää esim. Swim lane/BluePrint/tilakone-kuvausta tai muuta sopivaksi katsottua kuvausta.
> Tärkeää on kuitenkin kuvata polku ja käyttää sitä tarvittaessa selkeyttämään ymmärrystä tavoitellusta palvelusta.
> Käy läpi tekemäsi kuvausta jonkun toisen henkilön kanssa yhdessä? Käy läpi polku ja kerro mitä sen aikana tapahtuu..
**asiakaspolku PlantUML-esimerkki tilakoneena**
> Kokeillaan luonnostella asiakaspolkua PlantUML-työkalun avulla. Kannattaa kokeilla ehdottomasti myös muita tapoja!
> Sovella esim. PlantUML SDL/Swimlane kuvausta?
```plantuml
[*] --> Asiakas_astuu_sisaan
Asiakas_astuu_sisaan : Ensimmainen kontakti
Step3 : Under Service
Step3 : End of service
Step4 : Queue for service
Asiakas_astuu_sisaan --> Step2
Step1 --> Step4
Step4 --> Step2
Step2 --> Step3
Step3 --> [*]
```
## Tärkeimmät toiminnallisuudet/ominaisuudet
> Hahmotellaan tähän kohtaan ominaisuudet pelkästään "ranskalaisilla viivoilla", eli mitä palvelulla mielestäsi on mahdollista tehdä?
> Mieti tilannetta, kun joku kysyy mitä palvelulla voi tehdä? Mitä vastaat ja mitkä toiminnot nostatat esiin ehdottomasti valtteina verrattuna muihin vastaaviin palveluihin?
> Päivitä lista myöhemmin, kun se tarkentuu?
> Tässä kohtaa kannattaa tarkistaa mitä olivat asiakkaan esittämät toiveet palvelusta? Niistä voisi löytyä ehkä joitain tässä vaiheessa?
> Tarkemmat toiminnallisuudet tarkentuvat myöhemmin dokumentissa.
> Tässä vaiheessa riittää:
- Oleellisia toimintoja
- Asiaksi-profiili-1 voi lähettää postia toiselle henkilölle
- Asiakas-profiili-2 voi saada tietoa aiemmin tehdyistä valinnoista
- Ylläpito-henkilö voi poistaa laskun
- Ylläpito-henkilö voi luoda uuden laskun
- muita?
## Alustavat käyttäjätarinat
> Ketterä kehitys on tuonut mukanaan tavan kuvata asiakkaan tarpeita ns. User Storyjen muodossa. Yritä tunnistaa toimeksiantoon liittyviä käyttäjätarinoita.
* User Story: [Käyttäjänä haluan, että voin luoda raportin tekemistäni ostoista viimeisen kuukauden ajalta, koska se helpottaa oman talouteni hallintaa]()
* User Story: [Pääkäyttäjän haluan poistaa vanhat tunnukset kokonaan, koska se selkeyttää ylläpitoa]()
* Käytännössä ylempi kuvaus on hieman jäykkä ja on järkevitä kirjata storyt suoraan esim. GitLab-issuen muotoon!
* Kokeile osoittaa hiirelle linkkejä oikealla ja avaa ne tämän jälkeen ---> #25 tai #26
## Palvelun liittyvät tekniset vaatimukset
**Tämä osa-alue vielä kesken**
> Teknisiä ratkaisuja määriteltäessa vaatimukset liittyvät eri teknologioihin, laitteistoihin tai palvelun vaatimiin fyysisiin ratkaisuihin.
Sähköisiä ratkaisuja määriteltäessä kannattaa erottaa puhtaasti tekniset/tuotannolliset vaatimukset ja kirjata ne vaatimusmäärittelyyn teknisinä vaatimuksina.
* HW-REQ-0002 | System Technical Requirement | Palvelun tärkeimpien palvelujen on oltava vähintään kahdennettu N+1 | |
* HW-REQ-0003 | System Technical Requirement | Palvelimien vähimmäis muistikapasiteeti >32GB ||
* HW-REQ-0004 | System Technical Requirement | Prosessorin tyyppi Intel/AMD x64||
* HW-REQ-0005 | System Technical Requirement | Palvelimen fyysinen sijainti on kotimaassa (FI) ||
* HW-REQ-0005 | System Technical Requirement | Verkkoyhteyden nopeus palveluun vähintään >100MB/s ||
* HW-REQ-0005 | System Technical Requirement | Palvelinkaapin suositeltava koko 1m X 1m X 2m ||
### Toimeksiannon kannalta tärkeät oleelliset rajaukset
(Rajaus = Constrain)
> Eri ohjelmistojena/palvelujen toteutusta ja käyttöä ohjaavat usein lait ja säädökset. Näiden edellyttämät vaatimukset voidaan kirjataan tarvittaessa vaatimusmäärittelyyn.
Rajausten vaikutus koskee usein palvelun jonkin osa-kokonaisuuden toteuttamista. Tästä syystä eri rajoitteet on tunnistettava ajoissa, koska vaikutus
saataa olla varsin ratkaiseva pitemmällä tähtäimella. Esimerkkinä tästä on viime vuonna voimaan tullut [EU GDPR-säädös](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation).
> Kannattaa tutkia esimerkiksi https://www.sfs.fi/aihealueet/terveydenhuolto/laakinnalliset_laitteet tai http://docs.jhs-suositukset.fi/jhs-suositukset/JHS190/JHS190.html
| Id | Vaatimuksen kuvaus | kategoria | Vastuullinen |
|:-:|:-:|:-:|:-:|
| CONSTRAINT-REQ-S00000 | Constrain | Palvelun kirjautumisprosessin on noudatettava XYZ-käytäntöjä | [Kirjautuminen ft1](pohjat/pohja-ominaisuus.md) |
| CONSTRAINT-REQ-S00001 | Constrain | On huomioitava Standardi ZZZ osana palvelun tapahtuma login talletusta | [Log-palvelin](pohjat/pohja-ominaisuus.md)|
| CONSTRAINT-REQ-S00002 | Constrain |||
# Toiminnalliset vaatimukset (Functional Requirements)
>Mitä toimintoja palveluun liittyy? Nämä kannattaa kirjata ensi ns. toiminnallisina vaatimuksina? Toiminnallisilla vaatimuksilla kuvataan ohjelmistolta/järjestelmältä vaadittuja toimintoja.
Toiminnalliset vaatimukset ovat helpoimmin tunnistettavia. Vältä useamman vaatimuksen kirjaamista samaan lauseeseen! Jokainen vaatimus erikseen.
| VaatimusID | Tyyppi | Kuvaus | Ominaisuus johon vaikuttaa |
|:-:|:-:|:-:|:-:|
| FUNCTIONAL-REQ-C0001 | Functional Requirement | Käyttäjänä (Asiakas Profiilit 1-4) voin kirjautua käyttäen Facebook-tunnuksia | [Kirjautuminen ft1](pohjat/pohja-ominaisuus.md) |
| FUNCTIONAL-REQ-C0002 | Functional Requirement | Käyttöliittymän on toimittava myös ääniohjattuna, koska käyttäjillä saattaa olla näkövammoja | [Kirjautuminen ft1](pohjat/pohja-ominaisuus.md), [Tilaushallinta](pohjat/pohja-ominaisuus.md) |
| FUNCTIONAL-REQ-C0003 | Functional Requirement |||
| FUNCTIONAL-REQ-C0004 | Functional Requirement |||
# Laadulliset eli ei-toiminnalliset vaatimukset
>Mitä olivat ei-toiminnalliset vaatimukset? Voit esittää eri vaatimuksia erillisessä taulukossa tai viitata tässä [yhteen](pohjat/pohja-vaatimuslistalle.md) laajempaan taulukkoon.
[Ei-toiminnalliset vaatimukset](https://en.wikipedia.org/wiki/Non-functional_requirement) sisältää laajan joukko eri näkökulmia sähköiseen palveluun liittyen. Tärkeimmät kirjoittajan
näkökulmasta ovat seuraavat: Suorituskyky, tietoturva ja saavutettavuus
* Suorituskyky
* Tietoturva
* Saavutettavuus
## Suorituskyky vaatimukset
>Millaisia vaatimuksia palveluun kohdistuu suorituskyvyn näkökulmasta?
* PERFORMANCE-REQ-0000 | Non-Functional Performance | Kirjautuminen on mahdollista yhtäaikaa 100 käyttäjällä (100 request/s) | [Kirjautuminen ft1](ft1-ominaisuus.md) |
* PERFORMANCE-REQ-0001 | Non-Functional Performance |||
* PERFORMANCE-REQ-0002 | Non-Functional Performance |||
## Tietoturva vaatimukset
>Millaisia vaatimuksia palveluun kohdistuu tietoturvan näkökulmasta?
> Tutustu [Ssecurity cards-metodiin](http://securitycards.cs.washington.edu/cards.html)
* SECURITY-REQ-0001 | Salasanassa on käytettävä vähintään MD5-tason salausta, koska standardi XY112 sitä edellyttää | [Kirjautuminen ft1](ft1-ominaisuus.md) |
* SECURITY-REQ-0002 |||
* SECURITY-REQ-0003 |||
## Saavutettavuus vaatimukset
>Mitä tarkoitetaan äyttävyydellä? Millaisia asioita/ohjeistuksia on otettava huomioon palvelua toteutettaessa?
* AVAILABILITY-REQ-0000 | [Toiminnallinen-ominaisuus-1](ft1-ominaisuus.md) | |
* AVAILABILITY-REQ-0001 | [Toiminnallinen-ominaisuus-2](ft2-ominaisuus.md) | |
* AVAILABILITY-REQ-0002 | |
### Palvelun yleinen rakenne sijoittelunäkymänä (Deployment diagram)
## Palveluun liittyvät muut järjestelmät
> Järjestelmien välisiä tapahtumia voi kuvata tarvittaessa esim. sekvenssikaavion muodossa.
```plantuml
node1 ->node2: Log Start Request
node2 --> node1 : Logging started
```
## Standardit ja lähteet
> Vaatimusmäärittelyn osana on oleellista tuoda esiin tärkeät lähteet, joista on hyötyä tai merkitystä kokonaisuuden kannalta. Standardit ja ennalta jaetut ohjeistukset ovat hyödyllisiä lähteitä ja tarvittaessa
selkeyttävät vaatimusten merkitystä.
| ID | Linkki | |
|:-:|:-:|:-:|
| JHS 165 ICT | http://www.jhs-suositukset.fi/c/document_library/get_file?uuid=b8118ad7-8ee4-459a-a12b-f56655e4ab9d&groupId=14 | Vaatimusmäärittely |
| SO 9241-11 | https://fi.wikipedia.org/wiki/K%C3%A4ytett%C3%A4vyys | Käytettävyys |
| ISO9001 | https://www.sfs.fi/julkaisut_ja_palvelut/tuotteet_valokeilassa/iso_9000_laadunhallinta/iso_9001_2015 | - |
| - | - | - |
# Johdanto testaushallintaan
<iframe width="560" height="315" src="https://www.youtube.com/embed/55cbQo3nwPI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
\ No newline at end of file
......@@ -3,27 +3,23 @@
Tämä on esimerkki tarjouspohjasta, jota voi käyttää oman tuotteen kohdalla.
Alkuperäisen pohjan laatijat:
Elina Monthan, Tommi P, Aleksi L, Jarkko U ja Joonas V
**Alkaa**
# Tarjouksen vastaanottaja: Mr/MRs X, Company Oy
# Tarjouksen vastaanottaja: xxxxx, Company Oy
Viitaten tarjouspyyntöönne 6.9.2018 tarjoamme teille seuraavaa palvelutuotetta:
Viitaten tarjouspyyntöönne x.y.zzzz tarjoamme teille seuraavaa palvelutuotetta:
## 1. Tarjouksen kohde ja hankintatilanne
Totetutettvalla "OBSIMOX" – palvelulla tarkoitetaan tässä tapauksessa verkkopalvelua, joka käsittää seuraavat toiminnallisuudet:
Totetutettvalla "XXXX" – ratkaisulla/palvelulla tarkoitetaan tässä tapauksessa kokonaisuutta, joka käsittää seuraavat toiminnallisuudet:
* yritys voi äänestää kurssien merkityksellisyydestä [Feature 10]() sekä antaa palautetta [Feature 13]()
__Esimerkiksi__
* Ominaisuus [Feature 10]() sekä antaa palautetta [Feature 13]()
* oppilaitos voi lisätä kursseja [Feature 5]() , hallinnoida tilejä [Feature 12]() ja kerätä dataa yllä mainituista valinnoista [Feature 15]() + [Feature 18]()
* opiskelija voi tehdä kurssivalintoja oppilaitoksen asettamista kursseista [Feature 2]()
**Tarkemmat ominaisuuskuvauset löytyvät [vaatimusmäärittelyssä]()**
**Tarkempi kuvaus löytyy [vaatimusmäärittelyssä]()**
## 2. Tavoitteet, vaatimukset ja ehdotetut ratkaisut
......@@ -35,10 +31,10 @@ MockUpin mukainen konsepti (liite 1)
### Etapit:
* [E1](https://gitlab.labranet.jamk.fi/TTOS0800-TTOS0900/amk-2020/-/milestones/12) Projektisopimuksen allekirjoitus 12.10.2018
* [E2](https://gitlab.labranet.jamk.fi/TTOS0800-TTOS0900/amk-2020/-/milestones/12) Päätestaussuunnitelma tehty 7.11.2018
* [E3](https://gitlab.labranet.jamk.fi/TTOS0800-TTOS0900/amk-2020/-/milestones/12) Koekäyttö 21.11.2018
* [E4](https://gitlab.labranet.jamk.fi/TTOS0800-TTOS0900/amk-2020/-/milestones/12) Käyttöönotto 12.12.2018
* [E1]() Projektisopimuksen allekirjoitus 12.10.2018
* [E2]() Päätestaussuunnitelma tehty 7.11.2018
* [E3]() Koekäyttö 21.11.2018
* [E4]() Käyttöönotto 12.12.2018
* Esitestisuunnitelma (liite 3)
* Systeemityömenetelmänä ketterä Scrumban-malli
......@@ -54,9 +50,6 @@ Kokonaishinta 81 000,00 € (sis. alv 24%), seuraavan aikataulun mukaisesti
* E4 Käyttöönotto 20 000,00 19.12.2018
* Maksun eräpäivä 7 vrk etapista
### Työn jakautuminen:
* Ohjaus + hallinto A %
......@@ -81,8 +74,8 @@ Kokonaishinta 81 000,00 € (sis. alv 24%), seuraavan aikataulun mukaisesti
Allekirjoitukset
5.10.2018
El Alto Jajo
x.x.xxxx
XYZ
projektipäällikkö
......@@ -90,7 +83,9 @@ projektipäällikkö
## LIITTEET
Liite 1 OBSIMO – MockUp Versio 1.0
__esimerkkejä__
Liite 1 MockUp Versio käyttöliittymästä1.0
Liite 2 Projektisuunnitelma vaiheistus ja aikataulu
Liite 3 Vaatimusmääritelmä
Liite 3 Esitestisuunnitelma
# Projektin kirjasto?
<iframe width="560" height="315" src="https://www.youtube.com/embed/_nogivW1cjw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
\ No newline at end of file
# Projektin etusivu
![](https://gitlab.labranet.jamk.fi/jamkit/project-templates/ttc2070-core-template-v1/-/raw/master/common/opf-musta.png?inline=false)
Tervetuloa OPF-kehikon etusivulle!
Näkyvä sivu on oletus näkymä.
* Kurssin sivut löytyvät [täältä](http://ttc2070.pages.labranet.jamk.fi/)
* OPF-sivut löytyvät [täältä](http://open-project-framework.pages.labranet.jamk.fi/)
Tämä sivu on OPF-projektirungon oletus näkymä.
![](http://wimmalab.pages.labranet.jamk.fi/guides-and-info/opf.png)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment