% Ohjelmistotuotanto % Matti Luukkainen ja ohjaajat Kalle Ilves, Petri Suhonen, Oskari Nuottonen, Tuukka Puonti % syksy 2022
-
Mike Cohn:
- A user story describes functionality that will be valuable to either user or purchaser of software.
-
User stories are composed of three aspects:
- A written description of the story, used for planning and reminder
- Conversations about the story to serve to flesh the details of the story
- Tests that convey and document details and that will be used to determine that the story is complete
- Yksikkötestaus (unit testing)
- Integraatiotestaus (integration testing)
- Järjestelmätestaus (system testing)
- Käyttäjän hyväksymistestaus (user acceptance testing)
class Varasto
def __init__(self, tilavuus, alku_saldo = 0):
self.tilavuus = tilavuus
self.saldo = alkusalto
def ota_varastosta(self, maara):
if maara < 0:
return 0.0
if maara > self.saldo:
kaikki_mita_voidaan = self.saldo
self.saldo = 0.0
return kaikki_mita_voidaan
self.saldo = self.saldo - maara
return maara
- Kaupan metodin maksa pitää tehdä tilisiirto kutsumalla Pankin metodia
- Input Credentials, Output should contain ym avainsanoja
- Uusi ominaisuus deployataan ensin passiiviseen ympäristöön
- ja sitä testataan
- osa liikenteestä ohjataan aktiivisen lisäksi passiiviseen ympäristöön ja varmistetaan, että toiminta odotettua
- Canary-releasessa uuden ominaisuuden sisältävään ympäristöön ohjataan osa järjestelmän käyttäjistä
-
Uuden ominaisuuden sisältämää versiota monitoroidaan
- jos ei ongelmia ohjataan kaikki liikenne uuteen versioon
-
Ongelmatilanteissa palautetaan käyttäjät aiempaan, toimivaksi todettuun versioon
- Uusi ominaisuus, esim. user story toteutetaan ensin omaan versionhallinnan haaraansa
- ja ominaisuuden valmistuttua haara mergetään pääkehityshaaraan
- Uusi trendi trunk based development: pitkäikäisiä feature brancheja ei käytetä ollenkaan
- Kaikki koodi suoraan pääkehityshaaraan
- ... josta käytetään nimitystä trunk
- Kerros on kokoelma toisiinsa liittyviä olioita, jotka muodostavat toiminnallisuuden suhteen loogisen kokonaisuuden
- sovellus koostataan useista (jopa sadoista) pienistä verkossa toimivista autonomisista palveluista
- Laadukkaalla koodilla joukko yhteneviä ominaisuuksia, tai laatuattribuutteja, esim. seuraavat:
- kapselointi
- korkea koheesion aste
- riippuvuuksien vähäisyys
- toisteettomuus
- testattavuus
- selkeys