Úvod do softwarového inženýrství IUS 2009/2010 4. pˇrednáška Ing. Radek Koˇc´ı, Ph.D. Ing. Bohuslav Kˇrena, Ph.D.
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.1/42 Uvod do softwaroveho
´ ı uloha ´ spravy ´ u´ cˇ tu˚ Domac´ – system ´ Provádíme analýzu systému správy úˇctu˚ banky. Každý úˇcet má jednoznaˇcné cˇ íslo, dále je potˇreba znát jméno a adresu majitele úˇctu. Kromeˇ majitele mohou ˇ je tˇreba znát stejné údaje s úˇctem disponovat i další jím urˇcené osoby. O tech ˇ jako o majiteli. Každá z disponujících osob muže ˚ mít stanoven limit pro výber z daného úˇctu. S úˇcty manipuluje úˇredník banky na základeˇ pˇríkazu osoby ˇ oprávnené s úˇctem disponovat. ˇ cˇ ástky ˇ vklad, z úˇctu lze provádet ˇ výber ˇ a lze pˇrevádet Na úˇcet lze provádet na jiné úˇcty v téže nebo jiné bance. Musí být k dispozici informace, kdo pˇríkaz zadal a který úˇredník ho provedl. Systém musí poskytovat prostˇredky ˇ pro správu informací o klientech banky, musí umožnovat vytváˇret a rušit úˇcty, zadávat pˇríkazy, importovat pˇríkazy pro pˇrevody z jiných bank a naopak exportovat pˇríkazy pro pˇrevody na úˇcty v jiných bankách. Systém musí být schopen ˇ cní výpisy z úˇctu˚ a ˇradu dalších tiskových sestav. tisknout mesíˇ
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.2/42 Uvod do softwaroveho
´ ı Objektoveˇ orientovane´ modelovan´ • Objektoveˇ orientovaný pˇrístup k modelování a vývoji systému˚ ◦ kolekce vzájemneˇ komunikujících objektu˚ ◦ soubor objektoveˇ orientovaných prostˇredku˚ (objekty, tˇrídy, UML, . . . ) a metodologie (napˇr. RUP) ◦ vykazuje vyšší stabilitu navrhovaných prvku˚ z pohledu menících ˇ se požadavku˚ ◦ Objektový návrh nutneˇ neimplikuje objektovou implementaci!
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.3/42 Uvod do softwaroveho
´ ı Objektoveˇ orientovane´ modelovan´ • Objektoveˇ orientovaný pˇrístup k modelování a vývoji systému˚ ◦ kolekce vzájemneˇ komunikujících objektu˚ ◦ soubor objektoveˇ orientovaných prostˇredku˚ (objekty, tˇrídy, UML, . . . ) a metodologie (napˇr. RUP) ◦ vykazuje vyšší stabilitu navrhovaných prvku˚ z pohledu menících ˇ se požadavku˚ ◦ Objektový návrh nutneˇ neimplikuje objektovou implementaci!
• Vlastnosti objektové orientace ◦ Abstrakce (abstraction) ◦ Zapouzdˇrení (encapsulation) ◦ Polymorfismus (polymorphism) ◦ Dediˇ ˇ cnost (inheritance)
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.3/42 Uvod do softwaroveho
Abstrakce Abstrakce
• vytváˇrený systém objektu˚ je abstrakcí ˇrešeného problému (zjednodušený pohled na systém bez ztráty jeho významu)
• analýza problému ⇒ klasifikace do abstraktních struktur ⇒ objekty • klasifikace je založena na rozpoznávání podobností v ˇrešené problematice
• objekt má definovanou zodpovednost ˇ za ˇrešení cˇ ásti problému
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.4/42 Uvod do softwaroveho
Zapouzdrˇen´ı int obsah(int x, int y) { return x * y; }
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.5/42 Uvod do softwaroveho
Zapouzdrˇen´ı int obsah(int x, int y) { return x * y; } struct Obdelnik { int x, y; } int obsah(struct Obdelnik o) { return o.x * o.y; }
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.5/42 Uvod do softwaroveho
Zapouzdrˇen´ı int obsah(int x, int y) { return x * y; } struct Obdelnik { int x, y; } int obsah(struct Obdelnik o) { return o.x * o.y; } struct Obdelnik { int x, y; int obsah() { return x * y; } }
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.5/42 Uvod do softwaroveho
Zapouzdrˇen´ı Zapouzdˇrení
• seskupení souvisejících idejí (data, funkcionalita) do jedné jednotky Dusledky ˚
• seskupení operací a atributu˚ do jednoho typu objektu – stav je dostupný cˇ i modifikovatelný pouze prostˇrednictvím rozhraní
• omezení externí viditelnosti informací nebo implementaˇcních detailu˚
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.6/42 Uvod do softwaroveho
Atributy objektu ˇ Atribut vs. promenná objektu
• reprezentují data zapouzdˇrená v objektu • Promenná ˇ objektu ◦ implementaˇcní pohled • Atribut objektu ◦ pohled z vyšší úrovneˇ ◦ atribut je vlastnost objektu ◦ atribut není promenná ˇ ˇ (i když je tak vetšinou realizován) ◦ atribut datum (dd/mm/rr) ⇒ poˇcet sekund od LP 1970 ◦ atribut objem ⇒ souˇcin tˇrí hodnot ◦ získání/nastavení atributu ⇒ operace
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.7/42 Uvod do softwaroveho
Trˇ´ıdy objektu˚ Tˇrídní pˇrístup
• nalezené objekty jsou dále klasifikovány do tˇríd • tˇrída je ◦ generická definice (šablona) pro množinu podobných objektu˚ ◦ množina objektu˚ mající stejné chování a stejnou množinu atributu˚ • objekt (konkrétní jedinec) je instancí tˇrídy Tˇrídneˇ založené jazyky (Class Based Languages)
• Smalltalk, . . . • Java, C++, C#, . . . (hybridní – primitivní/strukturované datové typy)
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.8/42 Uvod do softwaroveho
Prˇ´ıklad • abstrakce, klasifikace do tˇríd • zapouzdˇrení: atributy, chování (operace)
´ ´ inˇzen´yrstv´ı IUS 2009/2010 – p.9/42 Uvod do softwaroveho
Stav a identita objektu Stav objektu
• stavová množina je reprezentována množinami hodnot atributu˚ objektu • aktuální hodnoty všech atributu˚ pˇredstavují aktuální stav • v každém okamžiku je objekt v definovatelném stavu Identita objektu
• každý objekt je jedineˇcný bez ohledu na stav a tˇrídu Shodnost objektu˚
• shodnost je vázána na stavy objektu˚ • objekty, které nejsou identické, mohou být shodné
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.10/42
Identita objektu
shodnost identita
Java cas1.equals(cas2) cas2.equals(cas3) cas1 == cas2 cas2 == cas3
Smalltalk cas1 = cas2 cas2 = cas3 cas1 == cas2 cas2 == cas3
výsledek testu true true true false
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.11/42
Rozhran´ı objektu Operace vs. metoda
• operace reprezentuje abstraktní pohled na chování objektu • metoda implementuje operaci Rozhraní objektu
• množina operací, které urˇcují chování tˇrídy a její vztah k jiným tˇrídám ◦ setFont(Font) • pouze definuje, co objekt umí (nabízí), nedefinuje jak • zpusob ˇ ˚ provedení operace závisí na její implementaci (metode) ◦ setFont(Font f) { super.setFont(f); columnWidth = 0; }
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.12/42
Polymorfismus Znalost tˇrídy, jak provést urˇcitou operaci, která muže ˚ být obecneˇ spoleˇcná pro více tˇríd
• stejné rozhraní muže ˚ být implementováno ruznými ˚ objekty • stejná operace s jedním názvem muže ˚ mít více implementací • ruzné ˇ zachovávat ˚ implementace operace ze stejného rozhraní by mely stejnou sémantiku Ukázka: operace setFont(Font) metoda v tˇrídeˇ JTextField setFont(Font f) { super.setFont(f); columnWidth = 0; } metoda v tˇrídeˇ JComponent setFont(Font font) { Font oldFont = getFont(); super.setFont(font); ... } ´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.13/42
Komunikace objektu˚ Objekty spolu komunikují zasíláním zpráv
• zpráva obsahuje ◦ identifikátor pˇríjemce ◦ název operace ◦ argumenty • pˇríjemce chápe zprávu jako požadavek na provedení služby (operace) • zpráva se obslouží, tj. vyhledá se pˇríslušná metoda (viz polymorfismus) a vykoná se
• po ukonˇcení obsluhy muže ˚ metoda vracet výsledek
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.14/42
ˇ Casn a´ a pozdn´ı vazba ˇ Casná vazba
• implementace operace (metoda) je vybrána v dobeˇ kompilace Pozdní vazba (dynamická vazba)
• je technika dosažení polymorfismu • implementace operace (metoda) se vybere za behu ˇ podle skuteˇcneˇ dosazeného objektu
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.15/42
ˇ cˇ nost Dedi ˇ cnost Dediˇ
• vyjadˇruje hierarchický vztah mezi objekty • definuje a vytváˇrí objekty na základeˇ již existujících objektu˚ ◦ možnost sdílení chování bez nutnosti reimplementace ◦ možnost rozšíˇrení chování • ⇒ organizuje a usnadnuje ˇ polymorfismus a zapouzdˇrení objektu˚
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.16/42
ˇ cˇ nost trˇ´ıd Dedi ˇ cnost tˇríd Dediˇ
• vztah generalizace/specializace mezi tˇrídami • odvozená tˇrída sdílí atributy a chování obecnejší ˇ tˇrídy • odvozená tˇrída muže ˚ pˇridávat a modifikovat atributy a chování
Polygon color area()
Triangle
area()
Rectangle
Hexagon
area()
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.17/42
ˇ cˇ nost trˇ´ıd Dedi ˇ Pojmy pˇrepisování a pˇretežování
• pˇrepisování (overriding) je zmena ˇ definice metody zadané v tˇrídeˇ T ˇ v nekteré z podˇrízených tˇríd
• pˇretežování ˇ (overloading) je technika vícenásobné definice operace ˇ cností) v jedné tˇrídeˇ (nesouvisí s dediˇ ˇ Pˇretežování metod (Java): prevedNa(Ucet u, int castka); prevedNa(Ucet u); ˇ Smalltalk nezná pˇretežování: preved: castka na: u. prevedNa: u.
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.18/42
´ ˇ cˇ nost V´ıcenasobn a´ dedi ˇ cnost Vícenásobná dediˇ
• • • •
komplikuje návrh (ˇcitelnost) problém nejednoznaˇcnosti dá se obejít (skládání objektu) ˚ ˇ cnost význam existují pˇrípady, kdy má vícenásobná dediˇ
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.19/42
´ ˇ cˇ nost V´ıcenasobn a´ dedi ˇ cnost – ukázka nesprávneˇ použité vícenásobné dediˇ ˇ cnosti Vícenásobná dediˇ a její ˇrešení pomocí skládání
Kolo
Auto
Motor
Auto
Kolo
Motor
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.20/42
Prototypoveˇ orientovane´ jazyky Pˇredstavují takový styl OO pˇrístupu, který pracuje pouze s objekty
• nové objekty se vytváˇrejí klonováním již existujících objektu˚ • vždy existuje alesponˇ jeden poˇcáteˇcní objekt (prototyp) ˇ cnost (delegování) Dediˇ
• dediˇ ˇ cnost objektu˚ je vyjádˇrena delegováním • objekt muže ˚ urˇcit množinu jiných objektu, ˚ na které deleguje zprávy, kterým sám nerozumí ⇒ sdílení chování s jinými objekty
• více "nadˇrazených" objektu˚ ⇒ problém nejednoznaˇcnosti ⇒ priorita "nadˇrazených" objektu˚ Jazyky
• Self, JavaScript, . . .
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.21/42
Typy, kontrola typu˚ Význam typování
• urˇcit sémantický význam elementu˚ (hodnoty v pameti) ˇ • pokud má pamet’ová ˇ hodnota pˇriˇrazený typ, mužeme ˚ s ní pracovat na ˇ vyšší úrovni – víme jaké operace je možné provést, mužeme ˚ provádet kontrolu typové konzistence atp. Typ v objektoveˇ orientovaném prostˇredí
• • • •
typ je definován rozhraním (tˇrídou) objekt je typu A, pokud implementuje rozhraní A objekt muže ˚ mít více typu˚ poznámka: každý jazyk má svuj ˚ specifický pohled na typování
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.22/42
Typy, kontrola typu˚ Staticky typované jazyky
• k typové kontrole dochází v dobeˇ kompilace • jazyky C++, Java, . . . Dynamicky typované jazyky
• k typové kontrole dochází v dobeˇ behu ˇ programu • jazyky Smalltalk, Self, Python, Lisp . . .
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.23/42
Typy, kontrola typu˚ I. Ukázka chování staticky a dynamicky typovaných systému˚ var x; // (1) x := 5; // (2) x := "hi"; // (3)
• staticky typované: ˇrádek cˇ . 3 je ilegální • dynamicky typované: ˇrádek cˇ . 3 je OK (není požadovaná typová ˇ konzistence pro promennou x) II. Ukázka chování staticky a dynamicky typovaných systému˚ var x; // (1) x := 5; // (2) 5 / "hi"; // (3)
• staticky typované: ˇrádek cˇ . 3 je ilegální • dynamicky typované: ˇrádek cˇ . 3 vyvolá chybu za behu ˇ programu
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.24/42
Typy, kontrola typu˚ Dynamická kontrola
• probíhá u všech jazyku˚ • jako dynamicky typované se oznaˇcují ty, které nemají statickou kontrolu • nekteré ˇ ˇ dynamické staticky typované jazyky (C + +, Java) umožnují pˇretypování, cˇ ímž cˇ ásteˇcneˇ obcházejí statickou typovou kontrolu
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.25/42
Typy, kontrola typu˚ Silneˇ a slabeˇ typované jazyky
• tyto pojmy dostávaly ruzné ˚ významy • bývá obtížné porozumet, ˇ co konkrétní autor míní užitím techto ˇ pojmu˚ Silneˇ a slabeˇ typované jazyky (interpretace)
• silneˇ typované ⇒ silná omezení na kombinace typu, ˚ zamezení kompilace ˇ kódu, který muže cˇ i behu ˚ obsahovat nekorektní data (nekompatibilní typy)
• slabeˇ typované ⇒ slabá omezení na kombinace typu˚ (obsahují napˇr. implicitní pˇretypování)
• i slabeˇ typovaný jazyk muže ˚ být bezpeˇcný (type safe) Pˇríklady
• Haskell > Java > Pascal > C • 3 + ”27” ⇒ 30, ”327”, nemožné
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.26/42
´ ı v UML Objektoveˇ orientovane´ modelovan´ UML
• • • •
Unified Modelling Language základní modelovací jazyk metodiky RUP jednotlivé modely si pˇredstavíme v pˇríslušných cˇ ástech metodiky RUP základní model – diagram tˇríd
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.27/42
Diagram trˇ´ıd Diagram tˇríd
• zobrazuje tˇrídy a statické vztahy mezi nimi Vztahy mezi tˇrídami
• • • •
asociace (association) závislost (dependency) ˇ (generalization) zobecnení realizace (realization)
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.28/42
Asociace ˇ Asociace slouží k zachycení vztahu˚ a informací z nekolika ruzných ˚ perspektiv.
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.29/42
Vlastnosti asociace • objekt má ve vztahu svou roli • asociace má své násobnosti (mohutnosti) ◦ násobnost je odrazem cíle modelu (bez této znalosti nelze urˇcit špatnou/dobrou násobnost)
• asociace má svuj ˚ název ◦ název muže ˚ být sloveso nebo podstatné jméno ◦ Zamestnání; ˇ ˇ ˇ ⇒ je zamestnán v ; ⇐ zamestnává ◦ v OO návrhu dáváme pˇrednost podstatnému jménu • vyjadˇruje promenlivý ˇ vztah mezi objekty (instancemi tˇríd) ◦ každé spojení váže instanci jedné tˇrídy s instancí druhé tˇrídy ◦ poˇcet spojení se v cˇ ase muže ˇ ˚ menit ◦ v OO návrhu lze asociaci povýšit na tˇrídu (asociaˇcní tˇrída)
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.30/42
Asociacˇ n´ı trˇ´ıda Zamestnání období Osoba
Spolecnost 0..*
0..1 zamestnavatel
zamestnanec
Osoba
Zamestnání 1 zamestnanec
0..1 období
Spolecnost 0..*
1 zamestnavatel
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.31/42
Asociace vysˇ sˇ ´ıho stupneˇ • binární asociace (vztah dvou tˇríd, resp. jejich instancí) • N-ární asociace (vztah více tˇríd, resp. jejich instancí) ◦ jsou méneˇ cˇ asté, ◦ vetšinou ˇ se dají pˇrevést na binární asociace, ◦ pokud ne, bývá nutné povýšit asociaci na tˇrídu.
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.32/42
´ – Agregace Asociace celek/cˇ ast Agregace (Seskupení)
• celek je seskupen z více cˇ ástí • celek = agregaˇcní (seskupený) objekt • cˇ ást celku = konstituˇcní (tvoˇrící) objekt Vlastnosti agregace
• seskupený objekt muže ˇ ˚ existovat bez svých konstitucních objektu˚ • konstituent (konstitucní ˇ objekt) muže ˇ ˚ být soucástí více seskupení • implicitní násobnost se nedá pˇredpokládat • asociace agregace nemívá název (vyjadˇruje vztah má) • agregace bývají homeometrické (tj. konstituenti patˇrí do téže tˇrídy)
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.33/42
´ – Agregace Asociace celek/cˇ ast Osoba
Spolecnost 0..*
Zamestnání
0..1
Spolecnost
Osoba 0..1
0..* zamestnanec
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.34/42
´ – Kompozice Asociace celek/cˇ ast Kompozice (Složení)
• celek je složen z více cˇ ástí • celek = kompozitní (složený) objekt • cˇ ást celku = komponentní (složkový) objekt Vlastnosti kompozice
• složený objekt neexistuje bez svých komponent • komponenta (komponentní objekt) muže ˇ ˚ být soucástí pouze jedné kompozice
• implicitní násobnost každé složky je 1 • asociace kompozice nemívá název • kompozice bývají heterometrické (tj. komponenty patˇrí do ruzných ˚ tˇríd)
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.35/42
´ – Kompozice Asociace celek/cˇ ast
Circle
Point 1 pointObj 3..* pointObj
Polygon
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.36/42
´ Diagram trˇ´ıd – Zavislost Závislost
• vyjadˇruje jiné ruzné ˚ vztahy mezi objekty cˇ i tˇrídami • typ závislosti se oznaˇcuje pomocí stereotypu˚ ˇ ejší ˇ typ stereotypu – používání «use» Nejbežn
• závislost mezi tˇrídami (nejbežn ˇ ejší) ˇ • závislost bez stereotypu se považuje za používání • A (klient) → B (dodavatel) ◦ operace tˇrídy A potˇrebuje argument tˇrídy B ◦ operace tˇrídy A vrací hodnotu tˇrídy B ◦ operace tˇrídy A používá objekt tˇrídy B, ale ne jako atribut
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.37/42
Diagram trˇ´ıd – Realizace Realizace
• vztah mezi tˇrídou a rozhraním • tˇrída implementuje všechny operace (metody) z daného rozhraní • objekt používající/asociující rozhraní pak umí používat i jeho implementaˇcní tˇrídy
• umožnuje ˇ ˇ modelování flexibilnejší • omezuje poˇcet vazeb mezi tˇrídami
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.38/42
Diagram trˇ´ıd – Realizace Alternativní zobrazení
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.39/42
Studijn´ı koutek – Ubytovac´ı stipendia Komu lze pˇriznat
• bc/mgr/dr studium v prezenˇcní formeˇ • nebyla pˇrekroˇcena standardní doba studia • místo trvalého pobytu není okres Brno-mesto ˇ ani Brno-venkov Výše a výplata stipendia
• dáno rozhodnutím rektora (pomer ˇ objemu finanˇcních prostˇredku˚ a poˇctu studentu, ˚ kterým bylo ubytovací stipendium pˇriznáno)
• rozhodnutí se vydává a ubytovací stipendium vyplácí ve cˇ tyˇrmesíˇ ˇ cních intervalech
• kveten ˇ až srpen 2009: 600 Kˇc (rozhodnutí rektora cˇ . 12/2009) Zdroje
• Stipendijní ˇrád VUT • Smernice ˇ rektora cˇ . 16/2008 • http://stipendium.vutbr.cz ´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.40/42
Studijn´ı koutek – Poplatek za studium § 58 odst. 3 Zákona cˇ . 111/1998 O Vysokých školách (...)
•
Studuje-li student ve studijním programu déle, než je standardní doba studia ˇ zvetšená o jeden rok v bakaláˇrském nebo magisterském studijním programu, stanoví mu veˇrejná vysoká škola poplatek za studium, který cˇ iní za každých ˇ u˚ studia nejméneˇ jedenapulnásobek dalších zapoˇcatých šest mesíc ˚ základu; do doby studia se zapoˇctou též doby všech pˇredchozích studií v bakaláˇrských a magisterských studijních programech, které byly ukonˇceny jinak než ˇrádneˇ podle § 45 odst. 3 nebo § 46 odst. 3, pˇriˇcemž období, ve kterém student studoval v ˇ e, ˇ se takovýchto studijních programech a v aktuálním studijním programu soubežn do doby studia zapoˇcítávají pouze jednou.
ˇ Clánek 14 odst. 2 Statutu VUT
•
ˇ u˚ studia cˇ iní: a) Výše poplatku˚ podle odstavce 1 za každých zapoˇcatých 6 mesíc trojnásobek základu v prvním roce, b) šestinásobek základu ve druhém roce, c) dvanáctinásobek základu ve tˇretím a dalších rocích, po zaokrouhlení nahoru na celé desetikoruny.
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.41/42
Studijn´ı koutek – Poplatek za studium Výše základu vyhlášeného MŠMT pro akademický rok 2009/10
• 2.941 Kˇc ˇ u˚ studia po dobu 12 mesíc ˇ u˚ pro Výše poplatku za každých zapoˇcatých 6 mesíc akademický rok 2009/10:
• 8.830 Kˇc pokud studium pˇresahuje standardní dobu + 1 rok • 17.650 Kˇc pokud studium pˇresahuje standardní dobu + 2 roky • 35.300 Kˇc pokud studium pˇresahuje standardní dobu + 3 a více let Poplatek za další studium (§ 58 odst. 4 zákona O Vysokých školách, cˇ l. 14 odst. 4 Statutu VUT)
• 2.941 Kˇc viz Rozhodnutí rektora cˇ . 3/2009
´ ´ Uvod do softwaroveho inˇzen´yrstv´ı IUS 2009/2010 – p.42/42