tema: aspx web aplikacija za podršku rada skriptarnice ... · samo knjige se mogu naručiti...

16
Univerzitet u Novom Sadu Tehnički fakultet »MihajloPupin« Zrenjanin SEMINARSKI RAD Predmet: Softversko inženjerstvo 2 - primer - Tema: ASPX web aplikacija za podršku rada skriptarnice Tehničkog fakulteta „Mihajlo Pupin“ Zrenjanin Profesor : Student: Doc. Dr Ljubica Kazi Ime Prezime BrojIndeksa Zrenjanin, 2018. godina

Upload: others

Post on 04-Nov-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

Univerzitet u Novom Sadu

Tehnički fakultet

»MihajloPupin«

Zrenjanin

SEMINARSKI RAD

Predmet: Softversko inženjerstvo 2

- primer -

Tema: ASPX web aplikacija za podršku rada skriptarnice Tehničkog fakulteta „Mihajlo Pupin“ Zrenjanin

Profesor : Student:

Doc. Dr Ljubica Kazi Ime Prezime BrojIndeksa

Zrenjanin, 2018. godina

Page 2: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

1

Sadržaj:

1. Opis poslovnog procesa i poslovnog pravila

2. Specifikacija funkcionalnih zahteva sa profilima korisnika

3. Modeli u dizajnu softverskog rešenja

3.1. USE CASE dijagram

3.2. CDM dijagram

4. Korisničko uputstvo

5. Opis implementacije

5.1. Kratak opis primenjenih tehnologija

5.2. Tabelarni prikaz strukture slojeva i podslojeva aplikacije

5.3. SQL script za kreiranje baze podataka i stored procedura

5.4. Ključni delovi koda po slojevima i podslojevima, sa objašnjenjima

6. Zaključak

7. Literatura

Page 3: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

2

1. Opis poslovnog procesa i poslovnog pravila

POSLOVNI PROCES

Skriptarnica je organizaciona jedinica fakulteta gde studenti mogu da kupe obrasce, knjige i

zbirke zadataka. Svi materijali se mogu kupiti direktno na šalteru, ali mogu i naručiti putem

interneta ili telefonom.

Kada se naruči knjiga telefonom ili putem sajta, nakon izvršene uplate mora se skenirati

uplatnica, a tek nakon toga može se isporučiti poštom.

Kada druga institucija naručuje i plaća knjige, sastavlja se profaktura i faktura. Prilikom svake

kupovine izdaje se fiskalni isečak. Jednom godišnje realizuje se popis inventara (obrazaca,

knjiga i slično) u skriptarnici.

POSLOVNO PRAVILO

Samo knjige se mogu naručiti telefonom, odnosno putem interneta.

U jednom trenutku može se naručiti putem interneta maksimalno 3 knjige.

2. Specifikacija funkcionalnih zahteva sa profilima korisnika

Profil korisnika: radnik u skriptarnici

- Unos podataka o robi

- Tabelarni prikaz narudzbina sa statusom, filter prema statusu

- Izmena statusa narudzbine

- Unos vesti

- Unos podataka o popisu robe, Stampanje izvestaja o popisu

- Stampanje profakture, stampanje fakture (na osnovu narudzenice)

Profil korisnika: kupac

- Tabelarni prikaz robe sa filtriranjem po nazivu, autoru

- Unos podataka o narucivanju

- Tabelarni prikaz narudzbina sa statusom svake narudzbine

- Prikaz pojedinacne narudzbenice

- Stampanje pojedinacne narudzbenice

Profil: Neimenovani posetilac web sajta skriptarnice

- Prikaz cenovnika, stampanje cenovnika

- Prikaz vesti

- Registracija

- Prijava na sistem (logovanje)

Page 4: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

3

3. Modeli u dizajnu softverskog resenja

3.1.USE CASE dijagram

<<extend>>

<<extend>>

<<extend>><<friend>>

<<extend>>

<<use>>

Radnik u skriptarnici

Unos podataka o robi

Tabelarni prikaz narudzbina

Filter prema statusu

Izmena statusa narudzbine

Unos podataka o popisu robe

Stampanje faktureStampanje profakture

Stampanje izvestaja o popisu

Page 5: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

4

<<extend>>

<<access>>

<<extend>>

<<extend>>

Kupac

Tabelarni prikaz robe

Unos podataka o narucivanju

Prikaz pojedinacne narudzbenice

Case_13

Filtriranje robe prema nazivu, autoru

Tabelarni prikaz narudzbina

Page 6: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

5

<<extend>>

Neimenovani posetilac web sajta

Tabelarni prikaz cenovnika

Prikaz vesti

Stampanje cenovnika

3.2. CDM dijagram

Page 7: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

6

4. Korisnicko uputstvo

Opcije neimenovanog korisnika sajta prikazane su nakon pokretanja pocetnog ekrana web

aplikacije. Slika 1. Prikazuje pocetni ekran.

Izborom opcije “Vesti” ucitava se stranica sa prikazom vesti.

Izborom opcije “Cenovnik” dobija se spisak sve robe I cena.

Page 8: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

7

Neimenovani korisnik može I da se registruje kao kupac, korišćenjem opcije “Registracija”.

Nakon prijavljivanja, radnik skriptarnice dobija naslovnu stranicu sa različitim opcijama

menija. Podatke o popisu robe može da menja u okviru opcije “Cenovnik”, gde izborom ID

broja i unosom nove vrednosti cene ili količine, menja stanje navedene robe, koja se odmah

vidi na cenovniku.

Page 9: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

8

DALJE SE OPISUJU SVE OPCIJE PROGRAMA. OVO JE NARAVNO APLIKACIJA U

UPOTREBI I DIPLOMSKI RAD, A ZA SEMINARSKI RAD JE DOVOLJNO REALIZOVATI

SAMO PO JEDAN EKRAN ZA SVE OSNOVNE FUNKCIJE:

Unos, brisanje, izmena, tabelarni prikaz, filter, stampa, eksport u XML.

Page 10: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

9

5. Opis implementacije

5.1. Kratak opis primenjenih tehnologija

U ovom seminarskom radu korišćen je Visual Studio .NET 2010 i Microsoft SQL Server

2008 R2. U okviru realizacije programskog koda:

- Korisnički interfejs predstavljaju ASPX web forme

- Klase za rad sa podacima sa korisničkog interfejsa I baze podataka su iz

standardnog paketa klasa za rad sa SQL serverom (SQLClient)

5.2. Tabelarni prikaz strukture slojeva i podslojeva aplikacije

SLOJ PODSLOJ REALIZACIJA U

SEMINARSKOM RADU

PREZENTACIONI SLOJ Korisnički interfejs KI.sln (ASPX web forms)

Prezentaciona logika PL.dll (biblioteka klasa)

SLOJ SERVISA Web servis WS.Service1.asmx

(web servis tip projekta)

SLOJ POSLOVNE LOGIKE Klase poslovnih entiteta Isporuka kao klasa u BL.dll

Poslovna pravila Realizovana u okviru

metoda klasa poslovnih

entiteta

SLOJ ZA RAD SA

PODACIMA

Klase podataka KlasePodataka.dll

(svaka tabela u bazi

podataka ima 3 klase –

pojedinac, lista i DB)

5.3. SQL script za kreiranje baze podataka i stored procedura

USE [master]

GO

CREATE DATABASE [Skriptarnica]

GO

USE [Skriptarnica]

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[Narudzbenica](

[ID] [bigint] IDENTITY(1,1) NOT NULL,

[RedniBroj] [int] NOT NULL,

[Godina] [int] NOT NULL,

[BrojNarudzbenice] [nvarchar] (50) NOT NULL,

[DatumNarucivanja] [datetime] NOT NULL,

[DatumPlacanja] [datetime] NULL,

[DatumIsporuke] [datetime] NULL,

[IdNarucioca] [int] NOT NULL,

[PrezimeNarucioca] [nvarchar](80) NULL,

Page 11: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

10

[ImeNarucioca] [nvarchar](80) NULL,

[NazivFirmeNarucioca] [nvarchar] (250) NULL,

[AdresaNarucioca] [nvarchar](250) NOT NULL,

[EmailNarucioca] [nvarchar] (250) NOT NULL,

[UkupanIznosZaUplatu] [real] NOT NULL

)

GO

ALTER TABLE [dbo].[Narudzbenica]

ADD CONSTRAINT [PK_Narudzbenica] PRIMARY KEY CLUSTERED

(

[ID] ASC

)

GO

CREATE TABLE [dbo].[Roba](

[ID] [bigint] IDENTITY(1,1) NOT NULL,

[Oznaka] [nvarchar](50) NULL,

[SifraRobeZaKasu] [nvarchar] (40) NULL,

[Naziv] [nvarchar](250) NOT NULL,

[Autori] [nvarchar](250) NOT NULL,

[GodinaIzdanja] [int] NOT NULL,

[Izdavac] [nvarchar](250) NOT NULL,

[Cena] [real] NOT NULL,

[PDVproc] [real] NULL,

[KolicinaLager] [int] NOT NULL,

[IDTipRobe] [int] NOT NULL,

[DatumPodatka] [datetime] NOT NULL,

[Napomena] [nvarchar](250) NULL

)

GO

ALTER TABLE [dbo].[Roba]

ADD CONSTRAINT [PK_Roba] PRIMARY KEY CLUSTERED

(

[ID] ASC

)

GO

CREATE TABLE [dbo].[TipRobe](

[ID] [int] IDENTITY(1,1) NOT NULL,

[Naziv] [nvarchar](80) NOT NULL,

[NazivOznake] [nvarchar](80) NOT NULL

)

GO

ALTER TABLE [dbo].[TipRobe]

ADD CONSTRAINT [PK_TipRobe] PRIMARY KEY CLUSTERED

(

[ID] ASC

)

GO

CREATE TABLE [dbo].[Obavestenje](

[ID] [int] IDENTITY(1,1) NOT NULL,

Page 12: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

11

[DatumYU] [nvarchar] (20) NOT NULL,

[Datum] [DateTime] NOT NULL,

[Vest] [nvarchar](250) NOT NULL

)

GO

ALTER TABLE [dbo].[Obavestenje]

ADD CONSTRAINT [PK_Obavestenje] PRIMARY KEY CLUSTERED

(

[ID] ASC

)

GO

CREATE TABLE [dbo].[Autor](

[ID] [bigint] IDENTITY(1,1) NOT NULL,

[Prezime] [nvarchar](80) NOT NULL,

[Ime] [nvarchar](50) NOT NULL

)

GO

ALTER TABLE [dbo].[Autor]

ADD CONSTRAINT [PK_Autor] PRIMARY KEY CLUSTERED

(

[ID] ASC

)

GO

CREATE TABLE [dbo].[StavkaNar](

[ID] [bigint] IDENTITY(1,1) NOT NULL,

[IdNarudzbenice] [bigint] NOT NULL,

[IdRobe] [bigint] NOT NULL,

[Komada] [int] NOT NULL,

[CenaPoKomadu] [real] NOT NULL

)

GO

ALTER TABLE [dbo].[StavkaNar]

ADD CONSTRAINT [PK_StavkaNar] PRIMARY KEY CLUSTERED

(

[ID] ASC

)

GO

CREATE TABLE [dbo].[AutorRobe](

[ID] [bigint] IDENTITY(1,1) NOT NULL,

[IDRobe] [bigint] NOT NULL,

[IDAutora] [bigint] NOT NULL

)

GO

ALTER TABLE [dbo].[AutorRobe]

ADD CONSTRAINT [PK_AutorRobe] PRIMARY KEY CLUSTERED

(

Page 13: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

12

[ID] ASC

)

GO

CREATE TABLE [dbo].[Korisnik](

[ID] [int] IDENTITY (1,1) NOT NULL,

[KorisnickoIme] [nvarchar] (50) NOT NULL,

[Sifra] [nvarchar] (50) NOT NULL,

[Prezime] [nvarchar] (50) NULL,

[Ime] [nvarchar] (50) NULL,

[NazivFirme] [nvarchar] (250) NULL,

[Adresa] [nvarchar] (250) NOT NULL,

[Email] [nvarchar] (50) NOT NULL,

[Status] [nvarchar] (50) NOT NULL

)

GO

ALTER TABLE [dbo].[Korisnik]

ADD CONSTRAINT [PK_Korisnik] PRIMARY KEY CLUSTERED

(

[ID] ASC

)

GO

ALTER TABLE [dbo].[StavkaNar] ADD CONSTRAINT [FK_StavkaNar_Roba] FOREIGN

KEY([IdRobe])

REFERENCES [dbo].[Roba] ([ID])

ON UPDATE CASCADE

GO

ALTER TABLE [dbo].[StavkaNar] ADD CONSTRAINT [FK_StavkaNar_Narudzbenica]

FOREIGN KEY([IdNarudzbenice])

REFERENCES [dbo].[Narudzbenica] ([ID])

ON UPDATE CASCADE

GO

ALTER TABLE [dbo].[AutorRobe] ADD CONSTRAINT [FK_AutorRobe_Autor] FOREIGN

KEY([IDAutora])

REFERENCES [dbo].[Autor] ([ID])

ON UPDATE CASCADE

GO

ALTER TABLE [dbo].[AutorRobe] ADD CONSTRAINT [FK_AutorRobe_Roba] FOREIGN

KEY([IDRobe])

REFERENCES [dbo].[Roba] ([ID])

ON UPDATE CASCADE

GO

ALTER TABLE [dbo].[Roba] ADD CONSTRAINT [FK_TipRobe_Roba] FOREIGN

KEY([IDTipRobe])

REFERENCES [dbo].[TipRobe] ([ID])

Page 14: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

13

ON UPDATE CASCADE

GO

ALTER TABLE [dbo].[Narudzbenica] ADD CONSTRAINT [FK_Narudzbenica_Korisnik]

FOREIGN KEY([IDNarucioca])

REFERENCES [dbo].[Korisnik] ([ID])

ON UPDATE CASCADE

GO

5.4. Ključni delovi koda po slojevima i podslojevima, sa objašnjenjima

PREZENTACIONI SLOJ

Podsloj: Korisnički interfejs

Deo iz Web config – string konekcije

<configuration>

<connectionStrings>

<add name="Konekcija"

connectionString="Data Source=BUBILIS; Initial Catalog=Skriptarnica; Integrated

Security=True;"

providerName="System.Data.SqlClient" />

</connectionStrings>

Deo za priključivanje standardnih biblioteka klasa

using System.Data;

using System.Data.SqlClient;

using System.Configuration;

Punjenje combo box-a (drop down list)

// punjenje combo

ddlNazivRobe.Items.Clear();

ddlNazivRobe.Items.Add("izaberite...");

while (dr.Read())

{

ddlNazivRobe.Items.Add("[" + dr["ID"].ToString() + "]" +

dr["Naziv"].ToString() + "," + dr["GodinaIzdanja"].ToString());

}

SLOJ ZA RAD SA PODACIMA

Podsloj – Klase podataka

Otvaranje konekcije ka bazi podataka

Page 15: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

14

// konekcija na bazu

SqlConnection Veza = new

SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ConnectionString);

Veza.Open();

Preuzimanje podataka

String strSQL;

strSQL = "Select ID, Naziv, GodinaIzdanja from Roba order by Naziv";

SqlCommand Komanda = new SqlCommand(strSQL, Veza);

SqlDataReader dr = Komanda.ExecuteReader();

TREBA JOŠ DATI KLJUČNE DELOVE KODA KOJIMA SE OBJAŠNJAVAJU SVE

OSNOVNE FUNKCIJE: unos, brisanje, izmena, tabelarni prikaz, filtriranje…

Page 16: Tema: ASPX web aplikacija za podršku rada skriptarnice ... · Samo knjige se mogu naručiti telefonom, odnosno putem interneta. U jednom trenutku može se naručiti putem interneta

__________________________________________________________

15

1. Zakljucak

U ovom seminarskom radu prikazana je realizovana prototipska aplikacija za podršku

radu skriptarnice fakulteta.

U delu specifikacije I dizajna obuhvaćene su sve najvažnije funkcije, a u delu

implementacije su realizovane samo osnovne funkcije ažuriranja, pretrage I štampe,

čime se ilustruje poznavanje osnovnih tehnika programiranja.

Dalji razvoj aplikacije odnosio bi se na realizaciju preostalih softverskih funkcija

potrebnih za pokrivanje svih očekivanih funkcionalnih karakteristika softvera, kao I

dodavanje automatizama, kontrole grešaka korisnika I slično.

2. Literatura

Korišćena literature za realizaciju ovog seminarskog rada:

[1]Jesse Liberty: “Programiranje na jeziku C#”, Mikro knjiga, 2007.

[2]Standardni web sajt Microsoft MSDN: https://msdn.microsoft.com/en-us/default.aspx