| | 1. En relació a la gestió de la configuració i el control de canvis, digueu quina de les afirmacions següents és falsa:
|
| | Al context del RUP: seguint l'UCM els desenvolupadors fan check-in/check-out local de fitxers i deliver d’activitats. |
| | En un cicle de vida de desenvolupament de SW tipus incremental-iteratiu, no és necessari que tots els artefactes estiguin sota control de la gestió de la configuració. |
| | Si capturem correctament els requisits d’un client i els implementem sense errors, les tècniques de control de canvis no tindrien gaire importància perquè el principal motiu de manteniment és la correcció d’errors latents. |
| | Segons el model de manteniment de l'estàndard 1219-1992 de la IEEE, davant d'una petició de canvi l'equip de manteniment fa dit canvi només si rep l'autorització de la CCB. |
| | No contesto... |
| |
| | 2. En relació al disseny d’interfícies d’usuari, digueu quina de les afirmacions següents és certa:
|
| | Molts factors de qualitat d’una interfície són contraposats, per tant, s’han de ponderar i arribar a un òptim. Per determinar aquesta ponderació el més adient o prioritari és tenir en compte la senzillesa a l’hora de desenvolupar la interfície. |
| | Quan un usuari qualsevol vol fer una cerca a l’ajuda en línia d’una aplicació, aquesta ens permet decidir si volem optimitzar la mida o la velocitat d’uns fitxers intermedis que necessita generar. Això és idoni perquè dóna a l’usuari (sobretot als novells) sensació de llibertat i control del que fa amb l’ordinador. |
| | Pels usuaris novells els ratolins són dispositius de selecció idonis per la seva senzillesa, això fa que puguem simplificar el control de la interacció amb la interfície d’usuari. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 3. Considereu els dos fragments següents d’una mateixa interfície d’entrada de dades d’una persona:
i digueu quina de les afirmacions següents és certa:
|
| | La forma de seleccionar els Idiomes i el Sexe és correcta degut a la seva consistència (als dos casos s’utilitzen check box per seleccionar els valors de més rellevància). |
| | El grup dels Idiomes de selecció directa és igual d’útil arreu del mon. |
| | El grup del Sexe està mal dissenyat. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 4. Fent proves trobem un error que estem segurs que havíem resolt la setmana anterior. Aquesta situació típicament és un problema de:
|
| | Proves d’integració i/o unitat. |
| | Anàlisi i/o disseny. |
| | Codificació. |
| | Gestió de la configuració i control de canvis. |
| | No contesto... |
| |
| | 5. Digueu quina de les afirmacions següents és falsa:
|
| | L’OCL no és un llenguatge de programació. |
| | En OCL, l’expressió nom_atribut@post s’utilitza en les pre-condicions per fer referència al valor de l’atribut nom_atribut en les post-condicions. |
| | En OCL, l’expressió nom_atribut@pre s’utilitza en les post-condicions per fer referència al valor de l’atribut nom_atribut en les pre-condicions. |
| | L’OCL no és un llenguatge gràfic d’especificació. |
| | No contesto... |
| |
| | 6. Digueu quina de les situacions següents no és un avantatge quan l’equip de desenvolupament també fa el manteniment del SW:
|
| | Millor coneixement del SW. |
| | Es genera una millor documentació. |
| | No cal un mecanisme que formalitzi la transferència de responsabilitats. |
| | Els clients tracten sempre amb el mateix grup. |
| | No contesto... |
| |
| | 7. En relació al disseny per contracte, digueu quina de les afirmacions següents és certa:
|
| | Les post-condicions de la classe proveïdora són una obligació per a la classe client. |
| | Una pre-condició forta d’un mètode tendeix a complicar la seva implementació. |
| | En general, el disseny per contracte tendeix a generar mètodes més complexos. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 8. Siguin els dos programes següents:
| Implementació 1 |
|
Implementació 2 |
CReal CMath::Sqrt(CReal x)
{
CReal s;
//.............
// codi que calcula l’arrel quadrada
// d’un nombre real mitjançant un
// algorisme numèric concret, i
// deixa el valor calculat en “s”.
return s;
}
|
|
CReal CMath::Sqrt(CReal x)
{
CReal s;
if(x.Negative())
throw x.SignException();
// codi que calcula l’arrel quadrada
// d’un nombre real mitjançant un
// algorisme numèric concret, i
// deixa el valor calculat en “s”.
return s;
}
|
digueu quina de les afirmacions següents és falsa:
|
| | Si en la Implementació 1 substituïm //............. per assert(!x.Negative());, llavors no es segueix un esquema de programació per contracte. |
| | La Implementació 1 segueix un esquema de programació per contracte. |
| | La Implementació 2 segueix un esquema de programació defensiva. |
| | Per seguir un esquema de programació defensiva no és absolutament necessari llançar excepcions, però sí cal comprovar que les dades d’entrada als mètodes siguin vàlides. |
| | No contesto... |
| |
| | 9. Digueu quina de les afirmacions següents és falsa:
|
| | Les regles i recomanacions d’estil són principalment estètiques i no estan pensades per qüestions com evitar errors o fer codi més fàcil de modificar. |
| | En C++, seguint la regla d'estil que recomana utilitzar const en lloc de #define per definir constants ens permet depurar el codi (mode Debug) amb més facilitat. |
| | El no estil tampoc és un estil de les metodologies de desenvolupament ràpid de codi. |
| | La regla de C++ que ens insta a no utilitzar variables membre públiques redueix l’acoblament entre classes. |
| | No contesto... |
| |
| | 10. Digueu quina de les afirmacions següents és certa:
|
| | Els estils de programació recolzen l’activitat de proves perquè quan es detecta que el SW no funciona correctament una activitat molt laboriosa és llegir codi per trobar els errors. |
| | En C++, després d'una estructura try-catch no es pot encadenar una altra. |
| | En C++, quan volem posar una funció com a inline per qüestions d’eficiència,
l’estil vist a classe ens recomana que no ho fem, en lloc d’això ens recomana utilitzar macros. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 11. Donades les activitats del desenvolupament d'un SW següents:
i.codificació,
ii.captura de requisits,
iii.disseny,
i les tasques de prova següents:
1.proves de validació,
2.proves d’unitat,
3.proves d’integració.
digueu quina de les llistes següents de parelles és la correcta, tenint en compte els tipus principals d'errors que es detecten a cada prova:
|
| | 1-i, 2-ii, 3-iii. |
| | 1-ii, 2-i, 3-iii. |
| | 1-iii, 2-i , 3-ii. |
| | Cap de les anteriors és correcta. |
| | No contesto... |
| |
| | 12. Digueu quina de les afirmacions següents és falsa:
|
| | La complexitat ciclomàtica no augmenta amb el nombre de variables definides al codi. |
| | L’herència i el polimorfisme impliquen, en general, fer més proves i no menys. |
| | No es poden fer proves dels models UML. |
| | Els casos d’ús de l’UML ens poden servir de base per dissenyar proves de validació. |
| | No contesto... |
| |
| | 13. Digueu quina de les afirmacions següents és certa:
|
| | Una prova exhaustiva (totes les possibilitats) d’una part d’un SW consisteix en dissenyar uns casos de prova de assegurin que, durant l’execució de dits casos, es passi per totes les línies de codi de la part en proves. |
| | En termes generals, si utilitzem disseny per contracte les proves d’unitat són més complexes que les proves d’integració. |
| | En termes generals, si utilitzem disseny per contracte els casos de prova per a portar a terme les proves d’unitat són més nombrosos que en el cas d’utilitzar programació defensiva. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 14. Digueu quina de les afirmacions següents és certa:
|
| | Encara que són molt útils, les revisions tècniques formals no permeten trobar problemes a prop d'on s'han produït. |
| | Els grups de SQA normalment són horitzontals als projectes, això és perquè la tasca que fan no depèn de les funcionalitats exactes del SW. |
| | La metodologia de la IEEE per mesurar la qualitat d'un SW consisteix en un esquema de tres nivells: requisits de qualitat (en termes de l'usuari), factors de qualitat (interpretació del que vol l'usuari) i subfactors de qualitat (en termes de l'enginyer del SW). |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 15. Digueu quina de les afirmacions següents és certa:
|
| | La intenció del Bridge Pattern és desacoblar un conjunt d’implementacions del conjunt de classes que les utilitzen, de forma que ambdues puguin variar independentment. |
| | La intenció de l’Adapter Pattern és simplificar l’ús d’un sistema definint nostra pròpia interfície. |
| | La intenció del Facade Pattern és poder tenir famílies d’objectes relacionats per a clients (o casos) particulars. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 16. Digueu quina de les afirmacions següents és falsa:
|
| | Un patró és una solució a un problema en un context. |
| | El concepte de patró també es pot aplicar a d’altres aspectes del SW com ara les proves. |
| | Dels patrons de disseny SW hi ha feedback referent a la seva utilitat en el context de diferents aplicacions. |
| | El problema dels patrons de disseny és que es triga molt temps en saber si un determinat ens pot ser útil, això és així perquè per tal de decidir hem de conèixer exactament com s’implementen. |
| | No contesto... |
| |
| | 17. Digueu quina de les següents afirmacions és certa:
|
| | A l’hora de fer SW una regla d’or és l’anomenada one rule, one place, que ens indica, per exemple, que no hem de repetir codi. [Fins aquí l’afirmació és certa]. Però, això augmenta l’impacte dels canvis. |
| | Una recepta per obtenir dissenys de classes més simples consisteix en afavorir la composició enfront l’herència. [Fins aquí l’afirmació és certa]. En la deducció del Bridge Pattern s’aplica aquesta recepta. |
| | Hi ha metodologies de desenvolupament de SW, per exemple l’anomenat Extreme Programming, en les que les tècniques de refactorització (reestructuració del codi sense afectar al comportament extern del SW) són molt importants. [Fins aquí l’afirmació és certa]. En aquest context la utilització de suites de proves és irrellevant perquè el codi es reestructura constantment. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 18. Digueu quina de les afirmacions següents és falsa:
|
| | L’OCL permet expressions amb col·leccions. |
| | Hi ha tres tipus de col·leccions en OCL: Sets, Bags, Sequences. |
| | En OCL, les Sequences no poden tenir elements repetits. |
| | En OCL, els Bags poden tenir elements repetits i els Sets no. |
| | No contesto... |
| |
| | 19. Als escacs, siguin els estadis d’aprenentatge següents:
i.aprendre el nom de les peces, els moviments legals i la resta de regles del lloc,
ii.aprendre el valor relatiu de les peces i el valor estratègic de les diferents zones del tauler,
iii.aprendre (entendre i memoritzar) les partides dels grans mestres (els moviments que fan en determinades circumstancies),
i al disseny de SW:
1.aprendre principis com programació estructurada, programació modular i programació orientada a objecte,
2.aprendre algorismes i estructures de dades,
3.aprendre patrons de disseny SW.
Us demanem fer una analogia entre els diferents estadis d’aprenentatge dels escacs i per ser un bon dissenyador de SW. Així doncs, digueu quina de les llistes següents de parelles és la correcta:
|
| | 1-i, 2-ii, 3-iii. |
| | 1-ii, 2-i, 3-iii. |
| | 1-iii, 2-i , 3-ii. |
| | Cap de les anteriors és correcta. |
| | No contesto... |
| |
| | 20. En gestió de la configuració, siguin els termes:
i.patch,
ii.versió,
iii.baseline,
iv.release,
i les definicions:
1.Conjunt d'elements de la configuració revisats, acceptats i posats sota control.
2.Baseline destinada a ser distribuïda fora de l'entorn de desenvolupament.
3.Instància específica d'un element de la configuració (arxiu de codi font, document, llibreria, etc.) que difereix en algun aspecte d'altres instàncies del mateix element.
4.Versió d'un o més elements de la configuració que no passen pel tràmit de revisió i control perquè són part de reparacions d'urgència.
Digueu quina de les opcions següents aparella cada terme amb la seva definició:
|
| | i-4, ii-3, iii-1, iv-2. |
| | i-2, ii-3, iii-4, iv-1. |
| | i-2, ii-1, iii-4, iv-3. |
| | i-4, ii-3, iii-2, iv-1. |
| | No contesto... |
| |
| | 21. Digueu quina de les afirmacions següents és certa:
|
| | Podríem dir que perquè un SW sigui de qualitat és suficient amb que compleixi els requisits funcionals i no funcionals del client. |
| | Als processos de desenvolupament de SW iteratiu-incrementals (p.e. el RUP) la SQA és una activitat més (com el disseny, la prova, etc.), ben diferenciada de la resta, de forma que fa senzill afegir qualitat al SW en qualsevol moment, fins i tot a posteriori del seu lliurament al client. |
| | Un dels principals objectius de les revisions tècniques formals, com a part de les activitats de SQA, és detectar si hi ha desenvolupadors que no fan bé el seu treball per tal de prendre mesures contra ells. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 22. Digueu quina de les afirmacions següents és certa:
|
| | Un fet que simplifica el desenvolupament d’interfícies és que els usuaris tenen tendència a llegir sempre els manuals. |
| | L’experiència mostra que no cal perdre molt temps en estudiar els valors per defecte més útils de les dades que captura una interfícies, això és així perquè els usuaris mai es refien i posen ells mateixos els valors que els hi semblen més correctes. |
| | Quan desenvolupem interfícies un límit a la creativitat és la consistència. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 23. Siguin els dos fragments de codi amb sentencies switch següents:
| Fragment 1 |
|
Fragment 2 |
...
switch(Variable)
{
case Valor1,Valor2:
// càlcul 1
break;
case Valor3,Valor4:
// càlcul 2
break;
default:
break;
}
...
|
|
...
switch(Variable)
{
case Valor1:
// càlcul 1
break;
case Valor2:
// càlcul 2
break;
case Valor3:
// càlcul 3
break;
case Valor4:
// càlcul 4
break;
default:
break;
}
...
|
suposant que tots els “càlculs” (càlcul 1, càlcul 2, etc.) tenen la mateixa complexitat ciclomàtica, digueu quina de les afirmacions següents és certa:
|
| | La complexitat ciclomàtica del Fragment 1 és major que la del Fragment 2. |
| | La complexitat ciclomàtica del Fragment 1 és menor que la del Fragment 2. |
| | La complexitat ciclomàtica del Fragment 1 és igual que la del Fragment 2. |
| | No es pot calcular la complexitat ciclomàtica d’una sentència switch. |
| | No contesto... |
| |
| | 24. En relació a la tècnica de proves OATS, digueu quina de les afirmacions següents és certa:
|
| | Quan volem provar interaccions entre dos objectes, ens dóna un mecanisme per a escollir casos de prova de entre l’univers possible. |
| | Quan volem provar interaccions entre dos objectes, ens dóna un mecanisme per a generar tots els casos de prova possibles de forma eficient. |
| | El principal avantatge de les taules de l’OATS és que, encara que no trobem una adient pel nostre cas, fer-ne de noves és molt senzill. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 25. Sigui el diagrama de classes (no detallat) següent:
Digueu quina de les afirmacions següents és certa:
|
| | Aquest diagrama combina l’Abstract Factory Pattern i l’Adapter Pattern. |
| | Aquest diagrama combina l’Abstract Factory Pattern i el Facade Pattern. |
| | Aquest diagrama combina l’Abstract Factory Pattern i el Bridge Pattern. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 26. Pràctiques 1: Quan un usuari fa un delivery (des del CCLT Explorer) d’un arxiu o grups d’arxius associats a una activitat, a quin stream els envia i perque?:
|
| | Els envia al seu stream de desenvolupament per a que la resta d’usuaris puguin veure els seus canvis. |
| | Els envia a l’stream d’integració per a establir una nova baseline i que la resta d’usuaris puguin veure els seus canvis. |
| | Els envia als streams de desenvolupament dels altres usuaris per poder crear una nova baseline. |
| | Cap de les anteriors. |
| | No contesto... |
| |
| | 27. Pràctiques 2: Per a mostrar una finestra modal des del Visual C++, heu de cridar el següent mètode de la classe associada a la finestra:
|
| | DoModal (). |
| | ShowWindow (SW_SHOWNORMAL | SW_DOMODAL). |
| | Qualsevol de les anteriors. |
| | Cap de les anteriors |
| | No contesto... |
| |
| | 28. Pràctiques 3: Què és una finestra no modal?
|
| | Aquell tipus de finestra que quan es mostra permet canviar el focus d’entrada a altres finestres de la mateixa aplicació. |
| | Aquell tipus de finestra que quan es mostra no permet canviar el focus d’entrada a altres finestres de la mateixa aplicació. |
| | Aquell tipus de finestra que quan es mostra permet canviar el mode d’execució de l’aplicació. |
| | Cap de les anteriors. |
| | No contesto... |
| |
| | 29. Pràctiques 4: Al redefinir l’estil de codi en la segona pràctica, hi havia una regla associada als noms dels mètodes de les classes que deia:
|
| | En els noms compostos s’han de separar les paraules amb el símbol ‘_’ (underscore) i el principi de cada paraula ha de comencar en minúscula, excepte la primera paraula. |
| | En els noms compostos s’han de separar les paraules amb el símbol ‘_’ (underscore) i el principi de cada paraula pot començar tant en majúscula com en minúscula, excepte la primera paraula. |
| | En els noms compostos s’han d’ajuntar les paraules, no separant-les amb el símbol ‘_’ (underscore), i el principi de cada paraula ha de començar en majúscula, excepte la primera paraula. |
| | Els noms compostos han d’ajuntar les paraules, no separant-les amb el símbol ‘_’ (underscore), i el principi de cada paraula ha de començar en minúscula, excepte la primera paraula. |
| | No contesto... |
| |
| | 30. Pràctiques 5: Segons l’estil de codificació en C++ proposat per l’empresa Ellemtel que vau utilitzar en la segona pràctica, en quin ordre havien d’estar els elements public, protected i private en la definció d’una classe?
|
| | private, protected, public. |
| | public, private, protected. |
| | Qualsevol dels anteriors. |
| | Cap dels anteriors. |
| | No contesto... |
| |
| | 31. Pràctiques 6: Després d’afegir un component de tipus ActiveX al vostre projecte Visual C++, per afegir les funcionalitats de l’ActiveX a una finestra del vostre programa ho feieu de la següent forma:
|
| | Modificant l’entrada EMBEDDED_FUNCTIONALITY del camp associat a la finestra corresponent dins l’arxiu .res de vostra aplicació. |
| | Modificant l’entrada EMBEDDED_FUNCTIONALITY del camp associat a la finestra corresponent dins l’arxiu .rc de vostra aplicació. |
| | Afegint directament l’ActiveX amb el mouse sobre la finestra. |
| | Cap de les anteriors. |
| | No contesto... |
| |
| | 32. Pràctiques 7: Quina no és una de les funcionalitats del Robot?
|
| | Executar (és a dir, en entorn Windows interaccionar amb la GUI) el programa de forma aleatòria per tal d’intentar trobar errors en el programa. És el que s’anomena familiarment com la prova del mico. |
| | Executar i interaccionar amb la GUI del programa de forma preestablerta i segons un guiò prèviament definit. |
| | Executar una seqüència d’accions sobre la GUI que permeti descobrir en el futur possibles canvis en el funcionament del programa. |
| | Cap de les anteriors. |
| | No contesto... |
| |
| | 33. Pràctiques 8: Les eines Rational Purify y Coverage, serveixen per a:
|
| | Optimitzar i comprovar la cobertura de codi, respectivament. |
| | Capturar errors en temps d’execució i comprovar la cobertura de codi, respectivament. |
| | Capturar errors en temps d’execució i optimitzar el codi, respectivament. |
| | Cap de les anteriors. |
| | No contesto... |
| |
| | 34. Pràctiques 9: Els programes Purify, PureCoverage i Robot que vau utilitzar en la pràctica de prova, servien per fer proves de caixa blanca i caixa negra. Quins d’aquests programes feien les proves de caixa negra, i quins les de caixa blanca?
|
| | Purify i PureCoverage feien proves de caixa blanca, i Robot de caixa negra. |
| | Purify i PureCoverage feien proves de caixa negra, i Robot de caixa blanca. |
| | PureCoverage i Robot feien proves de caixa negra, i Purify de caixa blanca. |
| | Purify i Robot feien proves de caixa negra, i PureCoverage de caixa blanca. |
| | No contesto... |
| |
| | 35. Pràctiques 10: Per a solucionar el problema del memory leak que apareixia en la pràctica de prova, quines eines es va recomanar que utilitzessiu
|
| | Purify i PureCoverage simultàniament. |
| | Purify i Robot simultàniament. |
| | PureCoverage i Robot simultàniament. |
| | En un primer pas Purify i Coverage, i en un pas posterior Robot. |
| | No contesto... |
| |