tema 10 uml specifikacija, tehnike i dijagrami

40
Tema 10: UML specifikacija, tehnike i dijagrami dr Vladislav Miškovic Fakultet za računarstvo i informatiku PROJEKTOVANJE INFORMACIONIH SISTEMA 2014/2015 1

Upload: ratkobanjevic

Post on 21-Dec-2015

35 views

Category:

Documents


3 download

DESCRIPTION

uml

TRANSCRIPT

  • Tema 10: UML specifikacija, tehnike

    i dijagramii dijagrami

    dr Vladislav Mikovic

    Fakultet za raunarstvo i informatiku

    PROJEKTOVANJE INFORMACIONIH SISTEMA

    2014/2015

    1

  • Sadraj predavanja

    1. Uvod

    2. Pregled osnovnih UML dijagrama

    3. Upotreba UML dijagrama u projektu softvera

    4. Primer objektno-orijentisanog razvoja4. Primer objektno-orijentisanog razvoja

    2

  • 1. Uvod

    Nastanak standarda UML

    Jezik za modeliranje UML

    UML 2.x dijagrami

  • Nastanak standarda

    1994/1995. autori Booch,

    Rumbaugh i Jacobson osnovali

    Rational Software Inc

    www.rational.com

    1995. objavljena UML verzija 0.8

    Jezik UML definisalo udruenje Jezik UML definisalo udruenje

    Object Management Group,

    svetski konzorcijum prodavaca

    objektno orijentisanih proizvoda

    www.omg.org

    1997. UML standardizovan

    Sadanja UML verzija 2.41

    usvojena verzija 2.5

    http://www.omg.org/spec/UML/

    4

  • Jezik za modeliranje UML

    (Unified Modeling Language)

    UML je jezik za specifikaciju, vizualizaciju,

    konstruisanje i dokumentovanje razvoja softvera

    Jezik za modeliranje ine:

    1. elementi modela: koncepti i semantika1. elementi modela: koncepti i semantika

    2. notacija: vizuelni izgled elemenata modela

    3. preporuke: za upotrebu elemenata i notacije

  • UML 2.x dijagrami

    Specifikacija UML 2.0 sadri

    13 tipova dijagrama u tri

    kategorije

    statika struktura (6)

    opte ponaanje objekata (3) opte ponaanje objekata (3)

    interakcije objekata (4)

    Specifikacija UML 2.5 sadri

    dodatne dijagrame

    (oznaene plavom bojom)

    koji nisu deo zvaninog

    standarda

  • Osnovni UML dijagrami

    (koje podrava veina CASE alata)

    1. Dijagrami sluajeva korienja (Use-Case Diagrams)

    2. Dijagrami klasa i objekata (Class & Object Diagrams)

    3. Dijagrami ponaanja (Behavior)

    dijagrami stanja (State Machine Diagrams)

    dijagrami aktivnosti (Activity Diagrams) dijagrami aktivnosti (Activity Diagrams)

    4. Dijagrami interakcije (Interaction)

    dijagram sekvenci (Sequence Diagram)

    dijagram saradnje/komunikacije (Communication Diagram)

    5. Dijagrami implementacije (Implementation)

    dijagram komponenti (Component Diagram)

    dijagram realizacije/isporuke (Deployment Diagram)

  • Tipina upotreba osnovnih UML dijagrama

    Dijagram TipKorisniki

    zahtevi

    Opis sluaja

    korienja

    Struktura

    sistema

    Razrada

    strukture

    sistema

    Use Case Statiki + +

    Class Statiki + + +

    Activity Dinamiki + +

    Interaction Dinamiki + +

    State Dinamiki +

    Implementation Statiki +

    Package Statiki + + +

    8

  • 2. Pregled osnovnih UML dijagrama

    1. Dijagrami sluajeva korienja

    2. Dijagram klasa

    3. Dijagrami ponaanja

    4. Dijagrami interakcije4. Dijagrami interakcije

    5. Dijagrami implementacije

  • 2.1 Dijagrami sluajeva korienja

    Dijagram sluajeva

    korienja (Use Case)

    opis interakcija izmeu sistema

    i korisnika / eksternih sistema

    Specifikacija korisnikih Specifikacija korisnikih

    zahteva obuhvata jo

    Specifikacije (Use-Case

    narrative/Specifications)

    tekstualni opis zadataka i naina na

    koji e korisnik saobraati sa

    sistemom radi izvrenja zadataka

    Renik (Glossary)

    Dodatne specifikacije

    10

  • Realizacija sluaja korienja

    Opis sluaja korienja

    u projektnom modelu

    (design model)

    skup UML dijagrama koji

    modeliraju:

    klase/objekte koji implementiraju

    sluajeve korienja i njihove relacije

    (dijagram klasa)

    interakcije saradnje klasa/objekata

    kada izvravaju sluaj korienja

    (dijagrami komunikacije i sekvenci)

    omoguava praenje realizacije

    korisnikih zahteva kroz ceo

    proces analize i projektovanja

  • 2.2 Dijagram klasa (Class Diagram)

    Model objekata i relacija

    izmeu objekata

    klase

    (iz Use Case i dr.)

    atributi (vidljivost, tip)

    metodi (vidljivost, parametri)

    relacije

  • Analitike klase

    Ponaanje sluaja korienja

    se rasporeuje na klase

    Vrste

    granina klasa

    klasa entiteta

    klasa upravljanja

  • Prelazak sa analitikog na projektni model

    Analitike klase se kreiraju u toku

    analize sluajeva korienja

    U analizi klasa vri se preciziranje

    analitikih klasa

    analitike klase prikazuju funkcionalne

    zahteve u terminima problema

    projektni model predstavlja projektni model predstavlja

    nefunkcionalne zahteve, odnosno

    reenja

    Proces identifikacije projektnih klasa

    odreuje koje su analitike klase

    projektne klase (treba ih projektovati)

    podsistemi (tek e se dekomponovati)

    postojei elementi (ve postoje, ne

    treba ih projektovati)

    preslikavanje "vie-prema-vie" analitikih

    klasa u projektne elemente (klase,

    podsisteme, postojee elemente)

  • Elementi dijagrama klasa

    Dijagram klasa

    klase

    atributi (vidljivost, tip)

    metodi (vidljivost, parametri)

    relacije (OO)

    komentari komentari

  • Proces identifikacije projektnih elemenata

    Identifikacija projektnih elemenata se vri u svakoj iteraciji

    Analiziraju se interakcije analitikih klasa radi pronalaenja elemenata pronalaenja elemenata projektnog modela

    analitike klase se menjaju u projektnom modelu (proiruju, saimaju, kombinuju ili briu)

    Rezultat: projektni model

    klase

    paketi

    podsistemi

  • Razliiti nivoi detaljnosti dijagrama klasa

    Konceptualni model

    nazivi klasa i atributa

    relacije

    Projektni model

    nazivi klasa i atributa nazivi klasa i atributa

    detaljna specifikacija atributa

    relacije

  • 2.3 Dijagrami ponaanja

    Dijagrami stanja (State Machine Diagrams)

    Dijagrami aktivnosti (Activity Diagrams)

  • 2.4 Dijagrami interakcije

    Dijagram sekvenci (Sequence Diagram)

    Dijagram saradnje/komunikacije (Communication

    Diagram)

  • Dijagram sekvenci (Sequence Diagram)

    Elementi

    vertikalna vremenska

    skala

    objekti

    poruke poruke

  • 2.5 Dijagrami implementacije

    Dijagram komponenti (Component Diagram)

    Dijagram realizacije (Deployment Diagram)

  • Primer: Dijagram realizacije/isporuke

    Konkretni softverski elementi, hardverski ureaji i

    komunikacije

  • 3. Upotreba UML dijagrama u

    projektu softvera

    Meusobna zavisnost proizvoda procesa OO razvoja

    Raspored

  • Meusobna zavisnost proizvoda

    procesa OO razvoja

    Prikaz zavisnosti nekih

    produkata objektno-

    orijentisanog procesa

    razvoja softvera (UP)

  • 4. Primer objektno-orijentisanog

    razvoja

    1. Problem i zahtevi korisnika

    2. Specifikacija korisnikih zahteva (Requirements)

    3. Dijagrami sekvenci (Sequence)

    4. Dijagrami klasa (Class Diagram)4. Dijagrami klasa (Class Diagram)

  • 4.1 Problem i zahtevi korisnika [6]

    Proizvodna kompanija trai informatiko reenje za distribuciju informacija

    o novim proizvodima, kao i raspoloivim koliinama proizvoda u skladitu,

    koje mogu da koriste prodavci iz njihovih prodajnih kompanija u razliitim

    zemljama sveta i kupci

    Zadatak razvoja softvera je kreiranje informacionog sistema/aplikacije koja

    zadovoljava sledee zahteve:zadovoljava sledee zahteve:

    svakoj prodajnoj kompaniji omoguava brz pristup informacijama o

    karakteristikama i raspoloivim koliinama proizvoda

    svakoj prodajnoj kompaniji omoguava slanje (upload) interesantnih digitalnih

    fotografija za potrebe marketinga u centralnu bazu podataka

    svakom kupcu omoguava pristup informacijama o karakteristikama proizvoda

    omoguava centralizovanu kontrolu pristupa sistemu: sve prodajne kompanije

    vide sve informacije o proizvodima, ali auriraju samo bazu podataka digitalnih

    fotografija; ostali korisnici (kupci) vide samo karakteristike proizvoda.

  • Napomena o UML

    U praksi se za opis sistema koristi samo deo mogunosti jezika

    UML (oko 20%)

    ali, nije uvek istih 20%

  • 4.2 Specifikacija

    korisnikih zahteva (Requirements) [6]

    Korisniki zahtevi se

    analiziraju kroz model

    sluajeva korienja

    (Use Case)

    uesnici uesnici

    sluajevi korienja

    relacije

    Dijagrami i njihove relacije

    su samo pomona sredstva

    sluajevi korienja su

    tekstualni dokumenti - njihova

    izrada je pisanje teksta

  • 4.3 Dijagrami sekvenci (Sequence) [6]

    Sluaj korienja Upload Picture

    Diagram sekvenci sluaja Upload Picture

    (prva verzija)

    Diagram sekvenci sluaja Upload Picture Diagram sekvenci sluaja Upload Picture

    (detaljniji)

  • Sluaj korienja Upload Picture

    Akter: Prodavac

    Osnovni scenario

    1.1 Korisnik otvara formu Upload Picture

    1.2 Korisnik bira fajl za slanje1.2 Korisnik bira fajl za slanje

    1.3 Korisnik bira tip slike (Product picture/Add picture/Store

    picture)

    1.4 Korisnik oznaava proizvod kome slika pripada

    1.5 Slanje slike

    1.6 Skaliranje slike na odreenu irinu

    2.1 Pamenje slike

    30

  • Diagram sekvenci sluaja Upload Picture

    (prva iteracija)

    Sistemski zahtevi se dalje analiziraju

    sluaj korienja Upload Picture iz perspektive korisnika

    1.1 Korisnik (sales company)

    otvara formu Upload Picture

    1.2 Korisnik bira fajl za slanje

    1.3 Korisnik bira tip slike (Product

    picture/Add picture/Store

    picture)

    1.4 Korisnik oznaava proizvod

    kome slika pripada

    1.5 Slanje slike

    1.6 Skaliranje slike na odreenu

    irinu

    2.1 Pamenje slike

  • Diagram sekvenci sluaja Upload Picture

    (detaljniji)

    Detaljniji projektni dijagram, blii realizaciji (baza podataka)

    1.1 Korisnik (sales company) otvara formu 1.1 Korisnik (sales company) otvara formu

    Upload Picture

    1.2 Korisnik bira fajl za slanje

    1.3 Korisnik bira tip slike (Product

    picture/Add picture/Store picture)

    1.4 Korisnik oznaava proizvod kome slika

    pripada

    1.5 Slanje slike

    1.6 Skaliranje slike na odreenu irinu

    2.1 Pamenje slike

  • 4.4 Dijagrami klasa (Class Diagram) [6]

    Dijagram klasa (prva iteracija)

    Dijagram klasa (druga iteracija)

    Dijagram klasa (trea iteracija)

  • Dijagram klasa (prva iteracija)

    Klase

    Upload (Slanje)

    UploadForm

    (FormaSlanje)

    User (Kupac) User (Kupac)

    SalesCompanyUser

    (Prodavac)

  • Dijagram perzistentnih klasa

    (baza podataka, Picture Database i User)

    Klase baze podataka

    PictureTypes (VrsteSlika)

    Pictures (Slike)

    Detalji klasa Detalji klasa

    User (Kupac)

    SalesCompanyUser

    (Prodavac)

  • Dijagram klasa (druga iteracija)

    Relacija generalizacije

    User (Korisnik) i

    SalesCompanyUser

    (Prodavac)

    Nova klasa Nova klasa

    LegalRight

    (AutorskoPravo)

  • Dijagram klasa (trea iteracija)

    Dodaju se detalji operacija

  • Dijagram klasa (konana verzija)

  • Literatura

    1. Mikovic V., Projektovanje informacionih sistema (predavanja), Univerzitet

    Sinergija, 2014

    2. Kurbel K. E., The Making of Information Systems: Software Engineering

    and Management in a Globalized World, Springer, 2008

    3. Sommerville I., Software Engineering, 9thEd, Addison Wesley, 2011

    4. IBM Rational Product Training: DEV475 Mastering Object-Oriented 4. IBM Rational Product Training: DEV475 Mastering Object-Oriented

    Analysis and Design with UML

    5. Kroll P., P. Kruchten, Rational Unified Process Made Easy A Practitioners

    Guide to RUP, John Waley, 2003

    6. Hansen E., Thomsen C., Enterprise Development with Visual Studio .NET,

    UML, and MSF, Apress, 2004

    7. Prirunici za programske alate i Web reference

    39

  • dr Vladislav MikovicProjektovanje informacionih sistema

    Tema 10: UML specifikacija, tehnike i dijagrami

    Pitanja?

    40