„Szoftvertechnológia - Lehetséges vizsgakérdések” változatai közötti eltérés
egy sor |
|||
| (13 közbenső módosítás, amit 4 másik szerkesztő végzett, nincs mutatva) | |||
| 5. sor: | 5. sor: | ||
==UML/CLASS== | ==UML/CLASS== | ||
* Late binding: probléma: több ugyanolyan nevű függvény → objektumhoz kötődik runtime a függvény! | * '''Late binding''': probléma: több ugyanolyan nevű függvény → objektumhoz kötődik runtime a függvény! | ||
* UML diagram elemek: vizuális relációk: | * UML diagram elemek: vizuális relációk: | ||
** kapcsolat (connection) | ** kapcsolat (connection) | ||
** tartalmazás (containment) | ** tartalmazás (containment) | ||
** vizuális kapcsolás (közelség, visual attachment) | ** vizuális kapcsolás (közelség, visual attachment) | ||
* UML | * UML 2 kiterjesztő mechanizmus | ||
** korlátozás (constraints) | ** korlátozás (constraints) | ||
** sztereotípia (speciális név-érték/tagged value/ pár (bool)) | ** sztereotípia (speciális név-érték/tagged value/ pár (bool)) | ||
| 24. sor: | 24. sor: | ||
* Class metódus property(tulajdonság) módosítók: | * Class metódus property(tulajdonság) módosítók: | ||
** query, redefines, ordered, unique, oper-constraint(kényszer) | ** query, redefines, ordered, unique, oper-constraint(kényszer) | ||
* Operációk konkurenciája: | * Operációk konkurenciája (konkurenciaszemantikák, concurrency semantics): | ||
** szekvenciális(sequential) - elméletileg nem lehet, hogy más hívja meg az operációt | ** '''szekvenciális/sorrendi (sequential)''' - elméletileg nem lehet, hogy más hívja meg az operációt, nem fordulhat elő konkurencia (''"callers must coordinate outside the object so that only one flow is in the object at a time."'') | ||
** guarded | ** '''őrzött (guarded)''' - jöhet ilyen hívás, előfordulhat konkurencia, de megoldott a kezelése; pl. ha befejezte a működését, csak akkor jöhet a következő (''"multiple calls from concurrent threads may occur simultaneously to one instance, but only one is allowed to commence. Others are blocked."'') | ||
** konkurens(concurrent) - bejöhet hívás, azonnal lekezelődik, nem jó | ** '''konkurens (concurrent)''' - bejöhet hívás, azonnal lekezelődik, nem jó, mert félbeszakíthat folyamatokat (''"multiple calls from concurrent threads may occur simultaneously to one object on any concurrent operation, and all may proceed concurrently with correct semantics"'') | ||
* Active Object: saját szála van az objektumnak. | * '''Active Object''': saját szála van az objektumnak. | ||
* Mi az a classifier? | * Mi az a '''classifier'''? | ||
** osztályszerű: osztálynak kinéző dolgok felett metaosztály(class, interface, datatype..) | ** osztályszerű: osztálynak kinéző dolgok felett metaosztály(class, interface, datatype..) | ||
* UML diagramon mi a role, asszociáció? | * UML diagramon mi a role, asszociáció? | ||
** CLASSIFIER! | ** CLASSIFIER! | ||
* UML class diagramon az | * UML class diagramon az '''asszociáció'''nál mi a "'''/'''"? | ||
** AZ ASSZOCIÁCIÓ LE VAN SZÁRMAZTATVA! | ** AZ ASSZOCIÁCIÓ LE VAN SZÁRMAZTATVA! | ||
* Mit jelent, ha egy pont van az asszociáció | * Mit jelent, ha egy '''pont''' van az '''asszociáció valamelyik végén'''? | ||
** OWNERSHIP! Ki birtokolja az osztályt. | ** OWNERSHIP! Ki birtokolja az osztályt. | ||
* Hogyan lehet UML class-szal ábrázolni, hogy valami tartalmaz valamit? | * Hogyan lehet UML class-szal ábrázolni, hogy valami '''tartalmaz''' valamit? | ||
** karika, benne plus sign, inner class, tagváltozó, aggregáció | ** karika, benne plus sign, inner class, tagváltozó, aggregáció | ||
| 73. sor: | 73. sor: | ||
==UML/Szekvencia, Kommunikáció, Interaction Overview== | ==UML/Szekvencia, Kommunikáció, Interaction Overview== | ||
* '''Interakció diagramon''' mik a '''felelősségek'''? | |||
** '''Doing''' (csinálni valamit): valamit önmagában, más objektumok tevékenységeinek irányítása/koordinálása, más objektumokban művelet kezdeményezése | |||
** '''Knowing about''' (valamiről tudni): private encapsulated data, kapcsolódó objektumok, dolgok amiket ki tud számolni | |||
* Mi a különbség üzenet és jel között interakció-diagrammokon? | * Mi a különbség üzenet és jel között interakció-diagrammokon? | ||
** üzenettel operációt hajtatunk végre, jellel állapotváltozást jelzünk. | ** üzenettel operációt hajtatunk végre, jellel állapotváltozást jelzünk. | ||
| 92. sor: | 95. sor: | ||
* Állapotdiagramon milyen kompozit állapotokat ismer? | * Állapotdiagramon milyen kompozit állapotokat ismer? | ||
** | ** simple (1 régió), orthogonal (1-nél több régió) | ||
* Mik az | * Mik az Activity diagram elemei? | ||
** alaktivitások (procedúra), döntések, fork és join, úszósávok, object-action flow | ** alaktivitások (procedúra), döntések, fork és join, úszósávok, object-action flow | ||
* Mik az állapotgép diagram elemei? | |||
** entry/exit-action, állapotátmenet (esemény(arg?)/tranzakció), deep/shallow-history indicator, fork-join | |||
* Mi az Eclipse Modeling Framework(EMF)? | * Mi az Eclipse Modeling Framework(EMF)? | ||
** Modellező eszköz (pl. UML-hez hasonló (MOF) diagramokat lehet csinálni), kódgeneráló is! | ** Modellező eszköz (pl. UML-hez hasonló (MOF) diagramokat lehet csinálni), kódgeneráló is! | ||
| 106. sor: | 111. sor: | ||
* Class nem lehet static, csak INNER CLASS!!!!!!!!! | * Class nem lehet static, csak INNER CLASS!!!!!!!!! | ||
* Array length-je megmondja, mekkora a MÉRETE! Nem azt, hogy mennyi értelmes adat van benne! | * Array length-je megmondja, mekkora a MÉRETE! Nem azt, hogy mennyi értelmes adat van benne! | ||
* Nézd meg a | * Nézd meg a String == és equalsTo miket csinál! | ||
** pl null, stb.. | ** pl null, stb.. | ||
* Mit vár a Thread.sleep()? | * Mit vár a Thread.sleep()? | ||
| 126. sor: | 131. sor: | ||
** Daemon és nem daemon (daemon gyakorlatilag háttérben futó szál) | ** Daemon és nem daemon (daemon gyakorlatilag háttérben futó szál) | ||
* Milyen synchronized-ok vannak? | * Milyen synchronized-ok vannak? | ||
** blokk ... | ** blokk: <code>synchronized (o) { ... }</code> ahol <code>o</code> valami Object (vagy abból leszármazott, int/long/double/etc nem) | ||
** | ** method: <code>public synchronized void foo() { ... }</code> | ||
** Egyszerre csak 1 szál tartózkodhat az adott objektum (methodnál this) synchronized blokkjában/methodjában, a többi blokkol addig | |||
* Mi az az atomi művelet? | * Mi az az atomi művelet? | ||
** Guarded :) ha valaki módosítja, akkor más metódus nem lát inkonzisztens állapotot. primitív adattípusokra, kivéve long és double | ** Guarded :) ha valaki módosítja, akkor más metódus nem lát inkonzisztens állapotot. primitív adattípusokra, kivéve long és double | ||
| 135. sor: | 141. sor: | ||
** TODO | ** TODO | ||
* Mikor mit jelent a final? | * Mikor mit jelent a final? | ||
** osztály előtt: nem lehet leszármaztatni | ** osztály előtt: nem lehet leszármaztatni | ||
** metódus előtt: nem lehet felüldefiniálni leszármazottban; | ** metódus előtt: nem lehet felüldefiniálni leszármazottban; | ||
** változó előtt: | ** változó előtt: nem lehet neki értéket adni (csak <code>public final int i = 7;</code> vagy konstruktorban) | ||
* Mikor mit jelent az abstract? | * Mikor mit jelent az abstract? | ||
** Osztály előtt: nem lehet példányosítani, | ** Osztály előtt: nem lehet példányosítani, NEM KÖTELEZŐ, HOGY LEGYEN BENNE ABSZTRAKT METÓDUS | ||
** Metódus előtt: leszármazottnak implementálni kell. | |||
* Mit jelent, hogy a változó statikus/dinamikus része? | * Mit jelent, hogy a változó statikus/dinamikus része? | ||
** List x = new ArrayList(); | ** List x = new ArrayList(); | ||
| 147. sor: | 154. sor: | ||
** NEM!!!!! | ** NEM!!!!! | ||
* Mit nevezünk kiterjesztésnek JAVA nyelvben? | * Mit nevezünk kiterjesztésnek JAVA nyelvben? | ||
** ha több interfészt valósít meg egy osztály | ** ha egy vagy több interfészt valósít meg egy osztály | ||
=== JUnit: === | === JUnit: === | ||
| 214. sor: | 221. sor: | ||
==RUP== | ==RUP== | ||
* Milyen workflow-hoz milyen modell tartozik? | * Milyen '''workflow-hoz''' milyen '''modell''' tartozik? | ||
** Követelmények: Use Case Model, | ** Követelmények: Use Case Model, | ||
** Analízis: Analízis model, | ** Analízis: Analízis model, | ||
| 221. sor: | 228. sor: | ||
** Deployment: Deployment diagram | ** Deployment: Deployment diagram | ||
* Az egyes modellek milyen UML diagrammokat tartalmaznak? | * Az egyes modellek milyen UML diagrammokat tartalmaznak? | ||
** Use Case: {Use Case,Sequence}; | ** Use Case: {Use Case, Sequence}; | ||
** Analízis: {static structure diagram, sequence}; | ** Analízis: {static structure diagram, sequence}; | ||
** Tervezési modell: {static structure, kommunikációs, állapotdiagram,activity}; | ** Tervezési modell: {static structure, kommunikációs, állapotdiagram, activity}; | ||
** Implementációs modell: {komponens,szekvencia}; | ** Implementációs modell: {komponens, szekvencia}; | ||
** Deployment: {Deployment, sequence} | ** Deployment: {Deployment, sequence} | ||
* [[File:Szofttech_Vizsga_Lehetséges_vizsgakérdések_02.RUP_Structuring the process.png|400px]] | * [[File:Szofttech_Vizsga_Lehetséges_vizsgakérdések_02.RUP_Structuring the process.png|400px]] | ||
* Milyen típusú use case-ek vannak? | * '''Milyen típusú use case-ek''' vannak? | ||
** Event based, actor based | ** Event based, actor based | ||
* Milyen dimenziói vannak a use case formátumoknak? | * Milyen '''dimenziói''' vannak a '''use case-formátumoknak'''? | ||
** (1) Leírás részletezettsége(magas szintű/kiterjesztett) | ** (1) Leírás részletezettsége (magas szintű/kiterjesztett) | ||
** (2) Fogalmi/valóságos | ** (2) Fogalmi/valóságos | ||
** (3)Prioritás(elsőrendű/másodrendű/opcionális) | ** (3) Prioritás (elsőrendű/másodrendű/opcionális) | ||
* Miben különbözik a magas szintű (high level) és a kiterjesztett (expanded) use-case ? | |||
** A leírás részletezettségében | |||
*** magas szintű: név, aktorok, cél, áttekintés, referencia | |||
*** kiterjesztett: eseményfolyam, elő- és utófeltételek, kiterjesztési pontok, relációk, aktivitás és use-case diagram, referenciák) | |||
* Miben különbözik a lényeges (essential) és a valóságos (real) use-case ? | |||
** A technológia függőségében | |||
*** lényeges: eszköz-, implementációfüggetlen | |||
*** valóságos: implementáció (ablakok, mezők, triggerek) | |||
* Hogyan rangsorolunk use case-eket (iterációknak)? | * Hogyan rangsorolunk use case-eket (iterációknak)? | ||
** (1)időben kritikus | ** (1) időben kritikus | ||
** (2)kockázatosak | ** (2) kockázatosak | ||
** (3)alapvető kutatást igénylők | ** (3) alapvető kutatást igénylők | ||
** (4)alkalmazás szempontjából legfontosabbak | ** (4) alkalmazás szempontjából legfontosabbak | ||
** (5)üzleti élet szempontjából fontosak | ** (5) üzleti élet szempontjából fontosak | ||
* Fogalmi modellnél mi a térképész elv? | * Fogalmi modellnél mi a '''térképész elv'''? | ||
** Használjuk a területen alkalmazott neveket! | ** Használjuk a területen alkalmazott neveket! | ||
** ne kreáljunk olyan dolgokat, amik nincsenek ott! | ** ne kreáljunk olyan dolgokat, amik nincsenek ott! | ||
** | ** Lényegtelen részleteket hagyjuk ki! | ||
* Mik a mutátorok? | * Mik a '''mutátorok'''? | ||
** | ** típusok amik megváltoztathatják a típusukat vagy szerepüket | ||
* Interakció diagramon mik a felelősségek? | * '''Interakció diagramon''' mik a '''felelősségek'''? | ||
** Doing: valamit | ** '''Doing''' (csinálni valamit): valamit önmagában, más objektumok tevékenységeinek irányítása/koordinálása, más objektumokban művelet kezdeményezése | ||
** Knowing: | ** '''Knowing about''' (valamiről tudni): private encapsulated data, kapcsolódó objektumok, dolgok amiket ki tud számolni | ||
==V&V== | ==V&V== | ||