Motivacija

Študijski primer

## Motivacija – študij primera

Od naročnika 'Virtualna šola Miki Miška' smo dobili nalogo narediti sistem, ki bo omogočal hranjenje podatkov o študentih, tečajih, profesorjih, voditeljih in udeležencih posameznih tečajev. Aplikacija naj omogoča:

- hranjenje podatkov za daljše časovno obdobje è lahko sklepamo, da se bo s časom nabrala velika količina podatkov (tudi več 100MB);
- zaščito pred nesrečami in zaščito pred nepooblaščeno uporabo podatkov;
- izvajanje različnih poizvedb (primer: Kateri učitelj poučuje predmet MAT4);
- dodajanje, spreminjanje in brisanje podatkov;
- sočasen dostop do podatkov več 10 oz. 100 uporabnikom;
- skrbnik sistema mora imeti možnost za dodajanje in spreminjanja tipov podatkov, uporabnikov aplikacije, ….

### 1. premislek

- Za programiranje izberemo programski jezik C++.
- Podatke bomo shranjevali v datoteke.
- Datotečno strukturo bomo zapisali v kodo programa.

Problemi:

- nadzor sočasnosti dostopov,
- izbira algoritmov,
- moramo napisati programsko kodo za veliko številko različnih poizvedb,
- moramo zagotoviti nedeljivosti transakcij,
- kako zagotoviti izvoz podatkov v druge formate,
- v primeru morebitnih sprememb strukture podatkov bo potrebno ponovno napisati in preveriti dele programske kode.

Rešitev:

- Vse bomo rešili s programsko kodo (programirali).
- V rezervi bomo vedno imeli vsaj 4 programerje, ki bodo pisali nove funkcije, za izvedbo različnih poizvedb nad podatki.
- Za letno vzdrževanje aplikacije bomo od uporabnikov zahtevali vsaj toliko denarja, koliko stane prvotni razvoj aplikacije.

Težava: Uporabniki niso pripravljeni plačati tako visoke cene vzdrževanja!

### 2. premislek

Slišali smo, da se za shranjevnje podatkov lahko uporabijo tudi podatkovne baze. Vsi strokovnjaki zagotavljajo, da v primeru uporabe podatkovnih baz, večina prejšnjih težav odpade ali se bistveno zmanjša.

Uporabnikom predlagamo drugačen način implementacije sistema z bistveno nižjo ceno vzdrževanja.

Uporabniki se strinjajo!

Dobro, dobili smo posel in se hitro moramo naučiti delati s podatkovnimi bazami.