Универзитет у Новом Саду Технички Факултет "Михајло Пупин" Зрењанин

Softversko inženjerstvo 2


11
ЈАН
2018

Reseni zadaci sa vezbi sk 2017/18

 

OPŠTA STRUKTURA VIŠESLOJNE OBJEKTNO-ORJENTISANE WEB APLIKACIJE (Microsoft tehnologija)

1. čas - baza podataka, XML, biblioteka klasa DLL, kreiranje web servisa

Realizacija Baze podataka putem SQL skripta, XML, Web servisa i tehnoloske biblioteke klasa za rad sa MS SQL Server bazom podataka.RESENJE1CAS

2. čas - dizajn korisničkog interfejsa, konektovanje na bazu podataka

Dizajn korisnickog interfejsa ASPX aplikacije, povezivanje sa web servisom radi obezbedjivanja podataka za combo box, pocetak konektovanja na bazu podataka. RESENJE2CAS

3. čas - konektovanje na bazu podataka i tabelarni prikaz

Konekcija na bazu podataka: Web config i čitanje putem ConfigManager, konektovanje na Global.asax kroz proceduru koja se pokreće na Application_start, globalna statička promenljiva sa konekcijom za celu aplikaciju. Izmena u tehnološkoj biblioteci klasa DBUtils.dll tako da klasa clsKonekcija ima drugi konstruktor koji kao ulazni parametar uzima ceo string konekcije. Prikaz statusa konekcije na Default stranici aplikacije.

Realizacija tabelarnog prikaza podataka - prikaz svih podataka ili filtriranih podataka, korišćenjem like i % u okviru SQL upita. RESENJE3CAS

4. čas - unos i validacije podataka

Realizacija unosa podataka o nastavniku, uz konsultovanje web servisa za preradu naziva zvanja u ID. Nacini preuzimanja podataka. Validacije - popunjenost, ispravnost (karakteri, duzina, domen, jedinstvenost, uskladjenost sa poslovnim pravilima). Priprema za proveru poslovnih pravila - XML sa parametrima odlucivanja. RESENJE4CAS

5. čas - provera poslovnih pravila i ograničenja

Provera ispunjenosti uslova poslovnog pravila u okviru korisnickog interfejsa. Ogranicenja poslovnog pravila data u XML. Web servis za citanje podataka iz XML sa ogranicenjima. Plan refaktorisanja izmeštanjem preuzimanja podataka i validacija u klase prezentacione logike, a provere poslovnih pravila u sloj poslovne logike. (Klase poslovne logike se razlikuju u odnosu na tabele baze podataka, nazivi kao nazivi dokumenata, pojmovi i poslovni procesi: SistematizacijaRadnihMesta, Opterecenje, Zaposljavanje). RESENJE5CAS

6. čas - rad sa stored procedurama

Dopuna baze podataka da ima 2 tabele povezane relacijom. Problem dodavanja relacije kada je prva tabela napunjena, a druga nije, tj. ako druga nema usaglasene sifre sa prvom. Dodavanje stored procedure za insert into i za select - sa 2 tabele join, sa parametrom za filtriranje. Implementacija standardnih klasa iz System.Data.SQLClient tako da se primenjuju pozivi stored procedura - unos i tabelarni prikaz sa filterom. Kod tabelarnog prikaza koriscenje data adaptera koji puni dataset. Alternativno - data reader. RESENJE6CAS

 7. čas - CRUD operacije u stored procedurama i klasama podataka

Realizacija stored procedura za sve operacije - unos, brisanje, izmena, izdvajanje svih, izdvajanje svih filtrirano za tabelu Nastavnik i Zvanje. Kreiranje biblioteke klasa KlasePodataka sa 3 klase za tabelu Zvanje - pojedinac (set/get) - clsZvanje, Lista pojedinaca (clsZvanjeLista), clsZvanjeDB (rad sa bazom podataka pozivima stored procedura). RESENJE7CAS

8. čas - pripremni čas za radionicu REFAKTORISANJE 

Uvod - ilustracija raznih načina implementacije osnovnih operacija sa podacima na formi za unos i tabelarni prikaz, dakle identična funkcionalnost se može postići različitim tehnikama programiranja: primer zadataka za pripremni čas radionice i radionicu

Zadatak -Dat je programski kod sa realizacijom unosa i tabelarnog prikaza za jednu jednostavnu tabelu baze podataka. Implementacija je data koristeći DBUtils tehnološku biblioteku klasa. Potrebno je preraditi programski kod tako da koristi klase sopstvene biblioteke KlasePodataka.

PocetnaAplikacijaIZadatak

KompletnoResenjeZadatkaNakonRefaktorisanja

9. čas - radionica REFAKTORISANJE (u terminu predavanja 30.11.2017.)

Zadatak - Dat je SQL skript za kreiranje baze podataka za evidenciju usluga, sa tabelom TipUsluga i pratecim stored procedurama. Dat je korisnicki interfejs sa implementacijom unosa i tabelarnog prikaza koristeci Tehnolosku biblioteku klasa DBUtils. Data je biblioteka klasa KlasePodataka sa realizovanim klasama tipa pojedinac, lista i DB nad tabelom TipUsluge. Zameniti programski kod tako da se ista funkcionalnost unosa i tabelarnog prikaza realizuje koristeci biblioteku KlasePodataka.

PočetniMaterijalIZadatak

Rešenje

10. čas - REFAKTORISANJE KODA - izdvajanje prezentacione logike

Zadatak - realizovati u biblioteci KlasePodataka klase koje se odnose na tabelu Nastavnik - pojedinac (sadrži kao atribut objekat klase clsZvanje), listu i DB. U DB klasi realizovati metodu za osnovne CRUD operacije sa podacima i dodatnu metodu za rad sa listama (preuzimanje podataka iz baze podataka u listu objekata). Kreirati biblioteku klasa prezentacione logike i za ekransku formu tabelarnog prikaza nastavnika napraviti odgovarajuću klasu koja realizuje programski kod ove forme, pozivajući druge biblioteke klasa, npr. Klase podataka.

Uputstvo

Resenje

11. čas - REFAKTORISANJE KODA - izdvajanje POSLOVNE LOGIKE i MAPIRANJE SLOJEVA

Zadatak - sa korisničkog interfejsa za stranicu UnosNastavnika izdvojiti programski kod za punjenje combo, proveru popunjenosti i jedinstvenosti zapisa u klasu prezentacione logike koja predstavlja pomoćnu klasu za ovu stranicu. Programski kod koji se tiče provere poslovnih pravila postaviti u posebnu biblioteku klasa Poslovne logike. U algoritmu provere poslovnih pravila u poslovnoj logici uporediti ukupan broj nastavnika (koristeći DB klase iz biblioteke Klase podataka) sa maksimalnim brojem nastavnika (konsultuje se Web servis i XML sa ograničenjima). S obzirom da način šifriranja u ova dva sistema nije usklađen, koristiti posebnu biblioteku klasa za mapiranje, kako bi se podaci uskladili i integrisali.

REŠENJE

12. čas - DOPUNA FUNKCIJA APLIKACIJE - ucitavanje i razmena podataka formi (URL, sesija), LOGIN 

Zadatak - Realizovati ucitavanje formi i razmenu podataka izmedju formi putem URL (parametar uz naziv stranice koja se ucita, prikazuje se vrednost u URL). 

Zadatak - realizovati prijavu na sistem uz koriscenje sesije i ucitavanje pocetne stranice administratorskog profila, sa drugacijom master stranicom (odgovarajuce stavke menija za admina).

PRIPREMA ZA CAS

RESENJE 1 I 2 ZADATAK

13. čas - DOPUNA FUNKCIJA APLIKACIJE - štampa, parametarska štampa, priprema za brisanje i izmenu

uvod

  • MASTER - DETAIL EKRANSKE FORME ZA UNOS I PRIKAZ PODATAKA, PRIMENA TRANSAKCIJA (primer Fakture, autor doc dr Zoltan Kazi)
  • MVC TIP ASPX PROJEKTA (primer EStore, autor doc. dr Lacmanovic Dejan)

Zadatak - realizovati master stranicu za printer-friendly stranice. Dizajnirati tabelarni prikaz podataka na stranici za stampu. Realizovati parametarsku štampu - filtrirani prikaz na štampi. Ista stranica za štampu se ponaša različito sa i bez parametra.

Zadatak - pripremiti tabelarni prikaz za editovanje podataka (izborom određenog reda tabele učitava se druga stranica na kojoj se mogu menjati ili brisati podaci, prosleđivanje ID putem URL).

REŠENJE

14. čas vežbi (termin predavanja) 

- ZAVRŠETAK PRIMERA ZA SEMINARSKI RAD

- dopuna realizacije brisanja i izmene podataka UPUTSTVO ZA SELECT LINK U TABELI ZA PRISTUP ZAPISU I UCITAVANJU

 KOMPLETAN PRIMER ZA SEMINARSKI I KOLOKVIJUM

- VEŽBANJE ZA KOLOKVIJUM

 PRIMER ZADATKA

REŠENJE SA 1 TABELOM

REŠENJE SA 2 TABELE


15. cas - vezba za kolokvijum

PRIMER ZADATKA ZA KOLOKVIJUM