enterprise architect - bib.irb.hr · class model – dijagrami klasa dvostrukim klikom u...
TRANSCRIPT
Enterprise Architect
Verzije 11. i 12.
OSNOVNE UPUTE
Upute su namijenjene samo studentima i nastavnicima Tehničkog veleučilišta u Zagrebu
Autor: Edmond Krusha
UVOD
Od početka poznate povijesti čovječanstva, opstanak i napredak društvenih zajednica ovisio
je o mogućnosti razmjene informacija između udaljenih skupina ljudi. Brzom i pravodobnom
dostavom, odnosno razmjenom informacija mogle su se koordinirati aktivnosti na korist
cjelokupne zajednice. Nakon nastanka Interneta, sve se kreće nevjerojatnom brzinom. Nove
tehnologije donose brzinom svjetlosti novosti u hardveru i softveru. Jedan od tih produkata je
i Enterprise Architect. Svaka aplikacija donosi razne novosti, nova sučelja, nove korisne
dodatke i mogućnosti i to sve u cilju olakšanja i ubrzanja rada korisnika.
Enterprise Architect je aplikacija koja omogućava pojedincima i timovima stvaranje
raznoraznih dijagrama koje pojednostavljuju analizu, strategiju, projektiranje i planiranje.
Pojednostavljuje informacije uporabom jednostavnih dijagrama koje može razumjeti svaki
korisnik. Aplikacija je 15 godina kontinuirano razvijana, poboljšavana kako bi mogla
zadovoljiti potrebe programera, poslovnih analitičara, arhitekata, testera, voditelja projekta,
dizajnera i drugih.
Enterprise arhitektura (EA) se kao pojam pojavljuje već u kasnim osamdesetima, međutim
ni danas nema jasnu definiciju niti jasne granice. Iz povijesnih razloga treba spomenuti
Zachmanov okvir za EA. Naime, 1987. John A. Zachman je u IBM-ovoj publikaciji “IBM
Systems Journal“ objavio članak Okvir za arhitekturu informacijskih sustava (A Framework
for Information Systems Architecture) i tako postavio temelje Enterprise arhitekture u formi
kako je danas gledamo. Prihvaćanje Enterprise arhitekture u prvom redu zahtijeva
organizacijske promjene, i to ne samo osnivanje odjela za EA, nego i ispravno povezivanje
poslovnih sektora, preko EA, do informatike. Logično je zaključiti da uvođenje EA nije
jednostavan zadatak i da će zahtijevati ozbiljno promišljanje, razradu i kvalitetnu
implementaciju.
Kompanija Sparx Systems je ovih dana objavila vijest da su pustili u opticaj najnoviju verziju
Enterprise Architecta. Radi se o Verziji 12 i datum izlaska je 16. ožujka 2015. Autor ovih uputa je
obradio osnovne radnje za lakše savladavanje nove inačice. Slijede objašnjenja u daljnjem tekstu.
Nakon prvog pokretanja programa možemo odabrati željeno sučelje za rad 'Application Look'. Nakon
vašega odabira možete nastaviti s daljnjim radom na programu.
Slika 1: Početna stranica
Ako ne želite odabrati druge opcije trebate kliknuti 'Cancel' i nakon toga pojavit će se čarobnjak
'Manage Project'. Ako ne želite koristiti ovu opciju, trebate maknuti kvačicu iz ponuđene opcije
'Show this dialog at Starup'.
Slika 2: Upravljanje projektom
4
Sljedeća slika prikazuje početno sučelje za rad s programom Enterprise Architect.
Slika 3: Izgled Početne stranice
Radi lakšeg korištenja programa slika 4, prikazuje osnovne naredbe za rad.
Slika 4: Osnovne naredbe 'Početne stranice'
Novi projekt pokrećemo na dva načina, prvi je preko kartice 'File' i nakon toga iz padajućeg izbornika
odaberemo 'New Project' ili preko tipkovnice 'CTRL + N'. Drugi način je da iz opcije 'Start' odaberemo
'New File'.
5
Slika 5: Pokretanje novoga projekta
Nakon što smo odabrali novi projekt dobit ćemo novi prozor 'New Project' i u polju 'File Name' treba
upisati naziv projekta.
Slika 6: Upis naziva novoga projekta
6
Nakon odabira naziva i klikom na gumb 'Save' pojavit će se čarobnjak za odabir Domene Modela.
Slika 7: Odabir domene modela
Nakon odabira Modela i klikom na 'OK' s desne strane sučelja u okviru 'Project Browsera' dobit
ćemo sljedeći izgled.
7
Slika 8: Izgled Project Browsera
iz trake 'Project Browsera' odabrat ćemo naredbu 'New diagram'.
Slika 9: Odabir novog dijagrama
Nakon klika na naredbu 'New Diagram' pojavit će se novi prozor. Iz toga novoga prozora odabrat
ćemo željene opcije za rad. Nakon izbora treba kliknuti na gumb 'OK' za nastavak rada.
Sljedeća slika 10, prikazuje novu radnu površinu.
8
Slika 10: Nova radna površina
Desnim klikom miša na radnoj površini dobit ćemo sljedeći čarobnjak za nastavak rada.
Slika 11: Primjer rada s programom
Nakon odabira željenog elementa dobit ćemo mogućnost i promjene naziva elementa.
9
Slika 12: Promjena naziva elementa
Na sljedećoj slici je primjer izrade 'Use Case' dijagrama.
Slika 13: Primjer izrade USE CASE dijagrama
Važno je još naglasiti Generiranje koda kod Verzije 12., kada radimo s dijagramima Klasa. Nakon što
smo posložili potrebne Entitete i desnom tipkom kliknuli na određeni Entitet, dobit ćemo padajući
10
izbornik. Iz ponuđenog izbornika treba odabrati opciju 'Code Engineering' i nakon toga bit će nam
ponuđena opcija 'Generate Code'.
Slika 14: Code Engineering
Sljedeći korak je upis naziva i njeno spremanje na računalo. U polju 'Path' upisat ćemo naziv i kod
opcije 'Target language' odabrat ćemo željeni kod. Ovaj se korak može i preskočiti jer će program sam
izvršiti spremanje na računalo.
Slika 15: Generate Code
Ciljani jezici su prikazani na slici 16.
11
Slika 16: Odabir jezika za generiranje
Na slici 17., kao primjer prikazan je kod rađen u Javi.
Slika 17: Primjer koda - Java
12
Slika 18: Primjer koda - Visual Basic
Rad s ostalim modelima opisani su u verziji 11 Enterpise Architecta.
13
Zahtjevi sustava - System Requirements for Enterprise Architect 11.1
200 MB Hard Disk Space
1024 * 768 or higher resolution display
Podržani operacijski sustavi - Operating Systems Supported::
Windows 8
Windows 7
Windows Vista
Windows 2008 Server
Windows 2003 Server
Windows XP SP2
Linux using WINE or Crossover
Mac OS X 10.5.x with Crossover 10.0.3 or better
Ako ne posjedujete neku od legalnih verzija EA, možete jednostavno kliknuti na sljedeći link:
http://www.sparxsystems.com.au/ ili http://www.sparxsystems.com.au/products/ea/index.html
I pratiti upute za instalaciju. Ako imate legalnu, verziju možete preskočiti ovo poglavlje.
Slika 19: Izbor edicija za nabavku
14
Slika 20: Izbor tema
Slika 2 prikazuje izbornik za odabir verzija, u ovoj uputi odabrana je najnovija verzija
aplikacije Enterprise Architecta 11.1. Trenutno TVZ posjeduje licencu za Enterprise
Architecta 10.
Slika 21: Izbor sučelja
Nakon što ste odabrali verziju, trebate kliknuti na gumb 'Continue'. Sljedeći korak je izgled
sučelja (Slika 3.) i unutar sučelja se formira čarobnjak za brže otvaranje odnosno brži pristup
vašim spremljenim projektima. Iz ove opcije je omogućeno brisanje projekata i odabir
mogućnosti neprikazivanja ovoga dijaloškog okvira. Dijaloški okvir se neće pojavljivati ako iz
opcije 'Show the Dialog at Startup' maknete kvačicu.
15
Slika 22: Izgled sučelja iz ponude 'Izbornog sučelja'
Slika 4 prikazuje mogućnosti nastavka rada na aplikaciji. Ako odaberemo opciju 'Open
Example Model' dobit ćemo izgled sučelja kao na slici 5. Naravno sučelje pruža i mogućnost
odabira nedavnih (recent) radova ili iz opcije 'Project Browsera'.
Slika 23: Mogućnost odabira željene opcije
Iz ponude koja se sastoji od četiri grupe možemo dvoklikom po želji odabrati željenu opciju.
Ili jednostavno odaberemo opciju 'New Project' iz kartice 'File' i nakon toga slijedimo
ponuđene opcije. Ova opcija je dostupna i preko prečica na tipkovnici 'Ctrl + N'.
16
Slika 24: Izgled sučelja nakon odabira 'New Project'
Nakon klika na 'New Project' dobit ćemo mogućnost unosa naziva našega projekta u polje
'File Name', kao što je vidljivo iz Slike 7 i na kraju odaberemo tipku 'Save' za spremanje
našega rada.
Slika 25: Unos naziva projekta
Sljedeća opcija je „Wizard Model“ uzoraka ili obrazaca za rad i tehnologija, nakon odabira
ponuđenih opcija odabiremo potrebito. Kao primjer je odabrana opcija tehnologije 'Basic
UML 2 technology' i nazive 'Use Case', 'Domain Model' i 'Class'. Kada smo sigurni da
smo odabrali željenu opciju obavezno treba kliknuti gumb 'OK'.
17
Slika 26: Izgled sučelja 'Model Wizarda'
Nakon odabira dobit ćemo s desne strane preglednik projekta (Project Browser). U
ovisnosti koliko ste naziva odabrali, toliko će biti i prikazanih modela. S obzirom da smo u
primjeru odabrali tri modela, u pregledniku će biti prikazana samo ta tri modela, kao što je
prikazano u Slici 9.
Slika 27: Preglednik projekta
18
Kako bi se olakšao daljnji rad s aplikacijom na slici 10, prikazana su objašnjenja sučelja.
Slika 28: Izgled sučelja s objašnjenjima
Kako sljedeći primjeri korištenja aplikacije vezani su za UML, u donjem tekstu je objašnjeno
što je UML. Ova uputa nadalje obrađuje samo tri tipa dijagrama i autor smatra da će
prikazani primjeri biti dovoljno edukativni za studente za daljnji samostalni rad.
UML se koristi za modeliranje i projektiranje softverskih sustava, naročito sustava pravljenih
primjenom objektno-orijentiranih tehnologija. I sastoji se od sljedećih tipova dijagrama:
1. Class Diagram
2. Component Diagram
3. Deployment Diagram
4. Object Diagram
5. Package Diagram
6. Profile Diagram
7. Composite Structure Diagram
8. Use Case Diagram
9. Activity Diagram
10. State Mchine Diagram
11. Sequence Diagram
12. Communication Diagram
13. Interaction Overview Diagram
14. Timing Diagram
19
Osnovne vrste UML dijagrama su:
Class diagrams (dijagrami klasa) Object diagrams (dijagrami objekata)
ARHITEKTURA SUSTAVA
Use case diagrams (dijagrami korištenja) Sequence diagrams (dijagrami sekvenci) Collaboration diagrams (dijagrami suradnje) Statechart diagrams (dijagrami stanja) Activity diagrams (dijagrami aktivnosti)
DINAMIKA SUSTAVA
Component diagrams (dijagrami komponenti) Deployment diagrams (dijagrami isporuke)
FIZIČKI ASPEKTI SUSTAVA
Slijedi opis obrađenih modela dijagrama:
1. Use Case Modeli
a. Opisuju što sustav radi s pozicije vanjskog promatrača. Naglasak je na ŠTO
sustav radi, a ne KAKO?
b. Prilično su slični scenariju. Scenarij je opis onog što se događa kad je netko ili
nešto u interakciji sa sustavom.
c. “Use case” je sažetak scenarija za jedan zadatak ili cilj. Učesnik (actor)
inicira događaj uključen u taj zadatak. Učesnici su jednostavne uloge koje ljudi
ili drugi objekti imaju u tom zadatku.
2. Class Modeli
a. “Class” dijagram je prikaz sustava, njegovih elementa i veza među njima.
Dijagram klasa je statičan jer pokazuje koji su elementi u interakciji, ali ne i što
je rezultat interakcije.
3. Sequence dijagrami – Dijagram slijeda
a. “Sequence” dijagram je dijagram interakcije koji detaljno opisuje kako se
odvija izvršenje neke operacija – koje se poruke šalju i kada.
b. Dijagrami sekvenci su organizirani prema vremenskom slijedu koji napreduje
prema dnu dijagrama. Objekti uključeni u operacije su navedeni slijeva
nadesno prema tome kada su uključeni u razmjenu poruka.
Class Model – dijagrami klasa
Dvostrukim klikom u 'Project Browseru' na opciju 'Class Model' dobit ćemo novi prozor
odnosno karticu 'Class Diagram'. Slika 11 pokazuje izgled početnog sučelja za rad s
dijagramima klasa.
20
Slika 29: Početak rada s dijagramom klasa
Za daljnji rad potrebno je kliknuti na naredbu novi dijagram (crvena strelica) Slika 12. Ovim
postupkom kreirate novi dijagram u odabranom okruženju.
Slika 30: Odabir dijagrama klasa
Sljedeći korak je praćenje slijeda pojavljivanja određenih čarobnjaka koju stvara aplikacija.
21
Slika 31: Odabir forme i tipa dijagrama
Nakon što ste dobili prozor s novim dijagramom (New Diagram) dužni ste odabrati određeni
tip dijagrama i kliknuti na gumb 'OK'. Sada je aplikacija spremna za rad na određenom
odabranom modelu dijagrama. Slika 14., prikazuje novu radnu površinu spremnu za rad.
Slika 32: Nova radna površina
Za nastavak, sve što trebate napraviti je, da odaberete potrebne elemente i počnete stvarati
vaš model dijagrama klasa. Donji primjeri prikazuju stvaranje i odabir Entiteta, Atributa i
22
Operacija. Lijevom tipkom miša kliknete na određeni element, zadržite lijevu tipku i povučete
element na radnu površinu. Isti tren kada ste to napravili, dobit ćete novi prozor 'Class:
Class1'. U polje 'Name' upišite naziv vašega entiteta. U polje 'Stereotype' možete odabrati
tip i kliknuti na odabir. Poželjno je da u polje 'Author' upišete i stvaraoca dijagrama klasa.
Slika 33: promjena imena 'Entiteta'
Slijedi odabir 'Atributa' i nakon toga i 'Operacija'. Ove operacije su omogućene preko opcije
'Properties' koji se nalazi s lijeve strane prozora 'Class: Class1'. Nakon toga slijedi odabir
opcije 'Details'. Ove su operacije prikazane na Slikama 16 i 17.
Slika 34: Odabir atributa i operacija
23
Slika 35: Gumbi za dodavanje operacija
Prilikom svakog stvaranja entiteta ili na kraju izrade svih entiteta dužni ste sve entitete spojiti
s relacijama (association – zajednica), klikom na desni gumb pri samom kraju spojene
relacije (association) otvorit će se prozor i na opciji 'Multiplicity' treba odabrati željenu
mnogostrukost. Ova funkcionalnost je prikazana na Slici 18.
Slika 36: Odabir mnogostrukosti - Multiplicity
Generiranje izvornog koda – Generate source code
Generiranje izvornog koda znači da je korisnik stvorio UML dijagrame, koji imaju neki
određeni model podataka, a da ga Enterprise Architect izvodi (eng. Derivation) iz dijelova
dijagrama ili cijelog dijagrama u izvorni kod za softverski sustav.
24
Slika 37: Generiranje izvornog koda
Donje slike prikazuju detaljniji prikaz postupka generiranja i odabira potrebnih naredbi.
25
Slika 38: Odabir objekata za generiranje
Nakon odabira Entiteta za spremanje, slijede prikazi spremanja pojedinačnih Entiteta. U
ovisnosti od broja izrađenih Entiteta, toliko ćete puta moći spremati svaki pojedinačni Entitet.
Slika 39: Spremanje (Save As) pojedinačnih entiteta
Slika 22 je prikaz završetka generiranja (Batch generation).
26
Slika 40: Informacija o završetku generiranja
Nakon što smo generirane objekte snimili i smjestili na neko odabrano mjesto na našem
računalu, na sljedećim slikama su prikazane generirane datoteke (file).
Slika 41: Generirane datoteke - primjer
27
Slika 42: Generirane datoteke - primjer 2
Generiranje dokumentacije
Sljedeća mogućnost koju pruža Enterprise Architect je mogućnost generiranja
dokumentacije i to u nekoliko ekstenzija, kao što su RTF, PDF, DOCX, itd. Slijed generiranja
dokumentacije prikazan je na slikama 25,26,27 i 28.
Slika 43: Odabir opcije za generiranje dokumentacije
28
Kao što je vidljivo iz donje slike 16, osim generiranja dokumentacije, postoje i opcije objave
kao HTML (Publish as HTML) i opcija samo izvješća dijagrama (Diagrams Only Reports).
Slika 44: Detaljniji prikaz generiranja dokumentacije
Osim odabira naredbe s trake 'Project Browsera' postoji i mogućnost korištenja tipkovnice.
Za generiranje dokumentacije možete koristiti gumb F8. U daljnjem postupku slijedi odabir
naziva datoteke i predloška. Slike 27 i 28.
Slika 45: Odabir naziva datoteke
29
Slika 46: Odabir predloška (template)
Kada je postupak gotov, dobit ćemo obavijest u vidu novoga prozora s porukom 'Document
succesfully created'. Klikom na gumb 'OK' dobit ćemo generiranu dokumentaciju.
Slika 47: Informacija da je dokument kreiran
Na donjim slikama su prikazani primjeri izrađenih generiranih dokumenata.
30
Slika 48: Primjer kreiranog dokumenta – I dio
Slika 49: Primjer kreiranog dokumenta - II dio
USE CASE – slučajevi korištenja
Opisuju što sustav radi s pozicije vanjskog promatrača. Naglasak je na ŠTO sustav radi, a ne KAKO! Prilično su slični scenariju. Scenarij je opis onog što se događa kad je netko ili nešto u interakciji sa sustavom.
31
“Use case” je sažetak scenarija za jedan zadatak ili cilj. Učesnik (actor) inicira događaj
uključen u taj zadatak. Učesnici su jednostavno uloge koje ljudi ili drugi objekti imaju u tom
zadatku.
Use case – dijagrami slučajeva korištenja
Dvostrukim klikom u 'Project Browseru' na opciju 'Use case Model' dobit ćemo novi prozor
odnosno karticu 'Use Case Model'. Slika 35 pokazuje izgled početnog sučelja za rad s
dijagramima slučajeva.
Postupak stvaranja novoga dijagrama slučajeva isti je kao kod dijagrama klasa na stranici 9
ovih uputa.
Slika 50: Kako početi
Donja slika, odnosno slika 33 pokazuje pripremljenu radnu površinu za početak rada na
izradi dijagrama slučajeva.
32
Slika 51: Radna površina
Na sljedećim slikama je opisan redoslijed i način izrade Use Case dijagrama. Lijevom tipkom
miša kliknemo i odaberemo određeni element. Zadržimo lijevu tipku miša i povučemo
izabrani element na radnu površinu. Proces stvaranje Use Case dijagrama opisan je na
slikama 34, 35 i 36.
Slika 52: Redoslijed stvaranja dijagrama
Odabirom učesnika (actor) i klikom na desnu tipku miša ili dva puta na lijevu tiku miša dobit
ćemo novi prozor i unutar toga prozora odabrat ćemo opciju 'Properties' (značajke). Također
možemo koristiti opciju 'Alt + Enter'.
33
Slika 53: Tijek stvaranja dijagrama
Nakon toga dobit ćemo sljedeću opciju, na prozoru 'Actor: User' u polju 'Name' upišemo
naziv učesnika (actor).
Slika 54: Tijek stvaranja dijagrama - nastavak
Svakog sljedećeg korisnika odabiremo s lijeve strane iz opcije 'Toolbox' pod 'Actor'.
Kliknemo na odabir 'Actor' lijevom tipkom miša, zadržimo lijevu tipku miša, i povučemo na
radnu površinu. Na kraju nakon što smo odredili sve elemente dijagrama slučajeva trebamo
stvarati relacije. Primjer stvaranja relacija opisan je na slici 37.
34
Slika 55: Primjer stvaranja relacija
Ako se pojavi potreba za promjenom naziva 'Use Case-a' dijagrama, omogućena je s
dvostrukim klikom na opciju 'Boundari Properties' ili desnim klikom granice i nakon toga iz
ponuđenog prozora odaberete 'Properties'.
Slika 56: Primjer promjene naziva dijagrama
Generiranje dokumentacije – samo dijagram
Postupak generiranja dokumentacije opisan je počevši od stranice 18. Osim odabira naredbe
s trake 'Project Browsera' postoji i mogućnost korištenja tipkovnice. Za generiranje
dokumentacije možete koristiti gumb F8.
35
Slika 57: Detaljniji prikaz generiranja dokumentacije
Donja slika prikazuje primjer generirane dokumente opcije Model Reporta.
Slika 58: primjer generiranja dokumenta – opcija Model Reporta
Dijagrami slijeda – Sequence Diagrams
“Sequence” dijagram je dijagram interakcije koji detaljno opisuje kako se odvija
izvršenje neke operacija – koje se poruke šalju i kada.
Dijagrami sekvenci su organizirani prema vremenskom slijedu koji napreduje
prema dnu dijagrama. Objekti uključeni u operacije su navedeni slijeva nadesno
prema tome kada su uključeni u razmjenu poruka.
36
Rad na aplikaciji i izradi dijagrama slijeda krenut ćemo odabirom opcije 'Open Example
Model' , nakon toga dobit ćemo izgled sučelja kao na slici 41. Naravno sučelje
pruža i mogućnost odabira nedavnih (recent) radova ili iz opcije 'Project Browsera'.
Slika 59: Mogućnost odabira željene opcije
Slika 60: Primjer mogućnost izbora željene opcije
37
Nakon dvostrukog klika na željenu opciju dobit ćemo
sljedeće mogućnosti UML tipova dijagrama, slika 43.
Slika 61: Odabir tipova dijagrama
Odabir gotovog primjera 'Sequence' dijagrama odabiremo također dvostrukim klikom na
opciju . Daljnji rad nastavljamo također klikom na opciju
'Create Accaunt' što nas dovodi do gotovog predloška. Gotov predložak je prikazan na slici
45.
Slika 62: Primjer odabira gotovog predloška
38
Važno je napomenuti da aplikacija EA pruža veliki broj gotovih predložaka.
Slika 63: Izgled gotovog predloška
U nastavku je opisan redoslijed kreiranja novoga dijagrama slijeda. Postupci su isti kao i kod
prethodnih modela.
Slika 64: Kreiranje novog dijagrama
39
Nakon odabira dobit ćemo sljedeći prozor koji je prikazan u slici 47., koja opisuje odabir
opcija za kreiranje nove radne površine. Od ponuđenih tipova trebamo odabrati 'UML
Behavioral' i nakon toga tip dijagrama 'Sequence'. Na kraju trebamo kliknuti na gumb 'OK'.
Slika 65: Odabir opcija za kreiranje
Slijedi nova radna površina za izradu dijagrama slijeda, slika 48.
Slika 66: Nova radna površina
40
Radi lakšeg i kvalitetnijeg rada možete koristiti i opcije trake, grupa naredbi i naredbe, slika
49. Treba napomenuti da se ove opcije mogu koristiti i za sve druge opcije izrade dijagrama.
Slika 67: Opis radne površine
Na sljedećoj slici prikazan je postupak stvaranja dijagrama slijeda.
Slika 68: Primjer stvaranja dijagrama slijeda
Pri izradi priključka (connector) i stavljanja poruke, trebate dvostruko kliknuti na određeni
priključak. Dobit ćete novi prozor koji omogućuje promjenu, odnosno upis naziva priključka.
41
Slika 69: Primjer upisa naziva priključka
Na slici 52 prikazan je konačni izgled dijagrama slijeda.
Slika 70: konačni izgled dijagrama slijeda
42
Literatura
1. Enterprise Architect User Guide, Copyright © 1998-2012 Sparx Systems Pty Ltd
2. Business Process Model and Notation, Version 2.0.2, December 2013
3. Business Process management, Mathias Wesk, ISBN 978-3-540-73521-2 Springer
Berlin Heidelberg New York
4. http://www.sparxsystems.com.au/ (10.01.-08.02.2015)
5. http://en.wikipedia.org/wiki/Enterprise_architecture (10.01.-08.02.2015)
6. http://www.sparxsystems.com.au/products/mdg/tech/zachman/ (10.01.-08.02.2015)
7. http://www.sparxsystems.com.au/products/mdg/tech/togaf/ (10.01.- 08.02.2015)