Informacioni sistemi 1/K1 2020

Izvor: SI Wiki
Pređi na navigaciju Pređi na pretragu

Prvi kolokvijum 2020. se održao u prvoj kolokvijumskoj nedelji. Postavka zadatka nije dostupna sa stranice predmeta. Naziv sistema je bio "PROGRAMERSKA KOMPANIJA".

Postavka

Zadaci

  1. Za Sistem čiji je opis dat u nastavku sastaviti Model objekata i odnosa u vidu Pregleda objekata i odnosa i Pregleda entiteta i svojstava.
  2. Za Sistem čiji je opis dat u nastavku izvršiti dopunu do anotirane funkcionalne dekompozicije 2. vrste. date nepotpune funkcionalne dekompozicije funkcionalnosti PlaniranjeProjekta.

Sistem

Kompanija ugovara projekte izrade softvera po narudžbini klijenta. U kompaniji su zaposleni programeri i menadžeri. U sistemu se vodi evidencija o svakom koraku rada (zahtevima, dodeljenim poslovima, razvijenom kodu). Za svaki projekat nekog klijenta, evidentiraju se svi korisnički zahtevi kao i menadžer koji je nadležan za njega. Pre nego što projekat otpočne, on mora biti isplaniran (a nakon planiranja status projekta postaje I). Planiranje projekta se sastoji u tome da se za svaki korisnički zahtev definiše posao, kao i koliko će izrada tog posla trajati i koliko programera će biti angažovano na tom poslu. Nakon toga se određuju programeri i dodeljuje im se angažman na pojedinim poslovima. Odabir programera se obavlja tako što se posao dodeljuje onim programerima koji su u tom trenutku slobodni. Ukoliko nema dovoljno slobodnih programera, planiranje projekta se privremeno obustavlja (status projekta postaje O). Prilikom nastavka planiranja projekta, obavlja se samo dodela angažmana programera i to samo za one korisničke zahteve odnosno poslove za koje to ranije nije urađeno. Implementacija projekata može da otpočne tek nakon što se projekat isplanira. Tokom implementacije, celokupan kod koji programeri razviju se takođe evidentira u sistemu i to tako da je za svaki deo koda definisano koje korisničke zahteve implementira.

Tabele u relacionoj šemi baze podatak: KLIJENT, ZAPOSLEN, MENADŽER, PROGRAMER, ZAHTEV, PROJEKAT, POSAO, ANGAŽMAN, KOD, IMPLEMENTIRA

Dekompozicija

ObradaPrometa (=>I, <=O, <>D)
    ...
    PlaniranjeProjekta (=>I.PP, <=O.PP, <>D)
        UnosPodataka
        (=>I.PP, <Projekat)
        ()
        ProveraStatusaProjekta
        (                                                                     )
        (                                                                     )
        OčitavanjeKorisničkihZahteva
        (                                                                     )
        (                                                                     )
        EvidencijaPosla
        (                                                                     )
        (                                                                     )
        OčitavanjePoslova
        (                                                                     )
        (                                                                     )
        AngazmanProgramera
        (                                                                     )
        (                                                                     )
            OdabirProgramera
            (                                                             )
            (                                                             )
            EvidencijaAngazmanaProgramera
            (                                                             )
            (                                                             )
        EvidencijaStatusaPlaniranja
        (                                                                     )
        (                                                                     )
        PorukaStatusPlaniranja
        (<=O.PP,                                                              )
        ()

Rešenje

Model

Model objekata i odnosa.

Tabele

Tabela Polja
KLIJENT #IDKli
ZAPOSLEN #IDZap
MENADŽER
PROGRAMER
PROJEKAT #IDPro, Status
ZAHTEV +RedBr, Trajanje, BrProgramera
POSAO #IDPos
ANGAŽMAN #IDAng
KOD #IDKod
IMPLEMENTIRA

Dekompozicija

ObradaPrometa (=>I, <=O, <>D)
    ...
  1 PlaniranjeProjekta (=>I.PP, <=O.PP, <>D)
      1 UnosPodataka
        (=>I.PP, <Projekat)
        ()
      2 ProveraStatusaProjekta
        (>Projekat, <Status                                                   )
        (S:PROJEKAT                                                           )
     ?3 OčitavanjeKorisničkihZahteva  /Status
        (>Projekat, <Zahtevi{}                                                )
        (S:ZAHTEV                                                             )
    ?*4 EvidencijaPosla  /Status /Zahtev in Zahtevi{}
        (>Zahtev                                                              )
        (I:POSAO                                                              )
      5 OčitavanjePoslova
        (>Projekat, <Poslovi{}                                                )
        (S:POSAO                                                              )
     *6 AngazmanProgramera  /Posao in Poslovi{}
        (>Posao, <Ima                                                         )
        (S:PROGRAMER, SI:ANGAŽMAN                                             )
          1 OdabirProgramera
            (>Posao, <Programeri{}, <Ima                                      )
            (S:PROGRAMER, S:ANGAŽMAN                                          )
         ?2 EvidencijaAngazmanaProgramera  /Ima
            (>Programeri{}, >Posao                                            )
            (I:ANGAŽMAN                                                       )
      7 EvidencijaStatusaPlaniranja
        (>Projekat, >Ima                                                      )
        (U:PROJEKAT                                                           )
      8 PorukaStatusPlaniranja
        (<=O.PP, >Ima, >Projekat                                              )
        ()