| | 1. En relació al disseny d’interfícies d’usuari, digueu quina de les següents situacions és adient:
|
| | En una determinada aplicació, després d’introduir un nom d’arxiu que no existeix l’aplicació fa que surti una veu dient Ho sento, però ara mateix no trobo aquest arxiu. Si vols, pots intentar introduir-ne un altre, i el buscaré per tot arreu. |
| | 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. |
| | En una aplicació per configurar un modem, d’aquests dos possibles diàlegs:
ens apareix el de la dreta, els dissenyadors ho van decidir així perquè a la majoria d’usuaris els hi agrada llegir informació associada als botons que han de pitjar abans de fer-ho. |
| | Cap de les anteriors situacions és adient. |
| | No contesto... |
| |
| | 2. En relació al disseny d’interfícies d’usuari, hi ha moments en que no té sentit utilitzar determinades funcionalitats d’una aplicació (no seria útil, seria perillós, etc.). Per tant, la interfície ha d’evitar que l’usuari faci servir dites funcionalitats. Tenint en compte això, observeu aquests dos exemples:
i digueu quina de les següents afirmacions és certa:
|
| | El diàleg de l’esquerra és un bon exemple del que cal fer. |
| | El diàleg de la dreta és un bon exemple del que cal fer. |
| | En realitat el diàleg de l’esquerra no és un bon exemple del que cal fer, però sí que ho seria si en cas de pitjar el botó GLOSSARY apareix un diàleg de confirmació. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 3. En relació al disseny d’interfícies d’usuari, digueu quina de les següents afirmacions és certa:
|
| | Pels usuaris eventuals 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. |
| | De fet, si en una aplicació hem d’introduir un nombre prefixat de dígits en el context d’un formulari, una interfície com la següent:
és molt adient. Sobretot si hem d’introduir molts formularis i, per tant, la senzillesa és un requisit de molta prioritat. |
| | En realitat, la interfície de l’apartat anterior seria correcta si i només si poguéssim anar d’un camp a l’altre mitjançant el tabulador. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 4. En relació al disseny d’interfícies d’usuari, digueu quina de les següents afirmacions és certa:
|
| | Es poden enumerar diversos factors de qualitat d’una interfície, però molts d’ells 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 d’implementar la interfície. |
| | La consistència en el look and feel de diferents aplicacions avorreix als usuaris intermitents, això es tradueix en una falta de motivació que els fa cometre més errors. |
| | Si volem definir un cas d’ús, és més fàcil si ja tenim el seu use-case storyboard associat. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 5. En relació a la gestió de la configuració, digueu quina de les següents afirmacions és certa:
|
| | Al context del RUP: seguint l'UCM els desenvolupadors fan check-in/check-out local de fitxers i deliver d’activitats. |
| | L'equació configuració = baseline + conjunt de canvis correspon al model de gestió de la configuració anomenat de composició. |
| | El model de gestió de la configuració anomenat de check-in/check-out està orientat a les versions del sistema com un tot. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 6. En relació a la gestió de la configuració, digueu quina de les següents afirmacions és certa:
|
| | Una versió és un conjunt d'elements de la configuració revisats, acceptats i posats sota control de la gestió de la configuració. |
| | Segons el model de manteniment de l'estàndard 1219-1992 de la IEEE (el de les transparències de classe), davant d'una petició de canvi l'equip de manteniment fa dit canvi només si rep l'autorització de la CCB. |
| | Una release consisteix en una 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. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 7. En relació a la gestió de la configuració, digueu quina de les següents afirmacions és certa:
|
| | Les tècniques de control de canvis no sempre s’utilitzen perquè el més normal és que no hi hagin molts canvis durant el desenvolupament d’un producte SW. |
| | De fet, 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. |
| | 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ó. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 8. Suposem les situacions següents durant el desenvolupament d’un SW: S1. realització d’activitats repetides; S2. un programador ha de corregir part del codi fet per un altre, el canvi que ha de fer no és trivial, però tot i així dedica el 90% del temps a entendre el codi i només el 10% a realitzar el canvi pròpiament; S3. reaparició d’errors en una release que provenen de releases més antigues però que en la release prèvia ja estaven corregits; S4. en una release apareixen funcionalitats desitjades però d’una prioritat menor que d’altres que no apareixen i que ja haurien d’estar incloses; S5. ens demanen fer un canvi al nostre disseny de classes, però ens adonem que aquest disseny és poc escalable i l’hem de llançar i fer-ho de nou. Indiqueu quin dels conjunts següents agrupa situacions que siguin degudes a la manca de gestió de la configuració:
|
| | S1, S2, S3 i S4. |
| | S2, S3, S4 i S5. |
| | S1, S3, S4 i S5. |
| | Cap dels anteriors conjunts. |
| | No contesto... |
| |
| | 9. Digueu quina de les següents afirmacions és certa:
|
| | L’OCL és un llenguatge gràfic d’especificació. |
| | L’OCL és un llenguatge molt útil per definir pre-condicions i post-condicions dels mètodes de les classe, però té el problema de no ser útil per definir invariants de les classes perquè aquests fan referència a un estat de la classe no a un mètode. |
| | L’OCL no es compila ni executa. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 10. Digueu quina de les següents afirmacions és certa:
|
| | 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. |
| | En OCL, l’expressió nom_atribut@pre 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@post s’utilitza en les pre-condicions per fer referència al valor de l’atribut “nom_atribut” en les post-condicions. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 11. En relació al disseny per contracte, digueu quina de les següents afirmacions és falsa:
|
| | Les pre-condicions dels mètodes de la classe proveïdora són una obligació per a la classe client. |
| | 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 simplificar la seva implementació. |
| | En general, el disseny per contracte tendeix a simplificar els mètodes. |
| | No contesto... |
| |
| | 12. Siguin els dos programes següents:
| Implementació 1 | | Implementació 2 |
CReal CMath::Sqrt(CReal x)
{
CReal s;
assert(!x.Negative());
// 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 següents afirmacions és certa: |
| | La implementació 1 segueix un esquema de programació defensiva perquè avorta l’execució de l’algorisme de l’arrel quadrada si l’entrada és un nombre negatiu. |
| | La implementació 2 segueix el disseny per contracte perquè llença una excepció si l’entrada és un nombre negatiu, és a dir, si falla el contracte. |
| | Si a la implementació 1 no hi hagués la sentencia de l’assert llavors sí estaríem davant un esquema tipus disseny per contracte, però com que hi ha aquesta sentencia llavors no és així. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 13. Digueu quina de les següents afirmacions és certa:
|
| | 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. |
| | NEl no estil és un estil en el context de metodologies de desenvolupament ràpid de codi. |
| | En llenguatge C, des d'un throw no es pot llançar un objecte. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 14. Digueu quina de les següents afirmacions és falsa:
|
| | Els estils de programació recolzen l’activitat de proves, però de fet no massa perquè, en general, el més costós de les proves és corregir els errors no pas llegir codi per trobar-los. |
| | En C++, després d'una estructura try-catch es pot encadenar una altra. |
| | ND’acord amb l’estil per C++ vist a classe, podem dir que algunes regles són estètiques però també hi ha d’altres destinades a evitar errors típics. |
| | En C++, quan volem posar una funció com a macro per qüestions d’eficiència, l’estil vist a classe ens recomana que no ho fem, en lloc d’això ens recomana utilitzar el mecanisme de funcions inline. |
| | No contesto... |
| |
| | 15. Donades les activitats del desenvolupament d'un SW següents:
i.codificació,
ii.disseny,
iii.captura de requisits,
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-iii, 2-ii, 3-i. |
| | 1-iii, 2-i , 3-ii. |
| | Cap de les anteriors és correcta. |
| | No contesto... |
| |
| | 16. Digueu quina de les següents afirmacions és certa:
|
| | Una prova exhaustiva 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. |
| | Una raó per fer proves de caixa negra és que els errors tipogràfics es distribueixen aleatòriament per tot el codi. |
| | La complexitat ciclomàtica no augmenta amb el nombre de variables definides al codi. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 17. Digueu quina de les següents afirmacions és certa:
|
| | En termes generals, si utilitzem disseny per contracte les proves d’unitat són més complexes que les proves d’integració. |
| | Encara que no ho sembli, l’herència i el polimorfisme impliquen, en general, fer més proves i no menys. |
| | 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... |
| |
| | 18. Digueu quina de les següents afirmacions és certa:
|
| | 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ó. |
| | Els casos d’ús de l’UML ens poden servir de base per dissenyar proves tipus caixa blanca, però només en el context de proves d’unitat. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 19. Digueu quina de les següents afirmacions és certa:
|
| | Les revisions tècniques formals són adequades només per garantir que la codificació segueix els estàndards prefixats. |
| | Les revisions tècniques formals no permeten trobar problemes a prop d'on s'han produït. |
| | Els procediments de prova no és poden sotmetre a revisions tècniques formals. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 20. Digueu quina de les següents afirmacions és certa:
|
| | El grup de SQA normalment és horitzontal als projectes. |
| | Els walkthroughs i les revisions tècniques formals, de fet, són el mateix. |
| | Es té la sensació de que les revisions tècniques formals han de ser útils, però encara no hi ha dades que ho avalin. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 21. Digueu quina de les següents afirmacions és certa:
|
| | Donada la mètrica de McCall: M = ni /nT, on ni és el nombre de requisits interpretats de la mateixa forma per un conjunt d'enginyers del SW i nT el nombre total de requisits, podem dir que M és una bona mètrica per mesurar la complexitat del futur anàlisi i disseny. |
| | De fet, M també és una bona mètrica per mesurar la complexitat del futur manteniment. |
| | La metodologia de la IEEE per mesurar la qualitat d'un SW consisteix en un esquema de quatre nivells: requisits de qualitat (en termes de l'usuari), factors de qualitat (interpretació del que vol l'usuari), subfactors de qualitat (en termes de l'enginyer del SW), mètriques directes (representació quantitativa de subfactors de qualitat). |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 22. Digueu quina de les següents afirmacions és certa:
|
| | Un patró és una solució a un problema en un context. |
| | Els patrons de disseny SW són molt útils a priori perquè semblen molt ben pensats, el problema és que això només és cert a nivell teòric però no hi ha feedback de la utilitat real dels diferents patrons en el context de diferents aplicacions. |
| | L’acceptació dels patrons de disseny SW només ha estat possible gràcies a l’UML. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 23. Digueu quina de les següents afirmacions és certa:
|
| | La intenció de l’Abstract Factory 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 Bridge Pattern és poder tenir famílies d’objectes relacionats per a clients (o casos) particulars. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 24. Digueu quina de les següents afirmacions és certa:
|
| | El problema dels patrons de disseny és que es triga molt temps en saber si un determinat ens pot ser útil degut al fet que hem de conèixer exactament com s’implementa. |
| | Els dissenys es compliquen quan comencem a combinar patrons per això la tendència és no fer-ho. |
| | El concepte de patró també es pot aplicar a d’altres aspectes del SW com ara les proves. |
| | Cap de les anteriors és certa. |
| | No contesto... |
| |
| | 25. Digueu quina de les següents afirmacions és falsa:
|
| | 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]. Això dona lloc a programes amb molts mètodes petits i facilita el control de l’impacte dels canvis. |
| | Hi ha una tècnica per dissenyar diagrames de classes anomenada commonality/variability analysis que consisteix en identificar els conceptes que varien i encapsular-los i després identificar les variacions. [Fins aquí l’afirmació és certa]. El Bridge Pattern es pot deduir mitjançant aquesta tècnica. |
| | 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 Facade Pattern i de l’Adapter 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 qüestions com l’adopció d’estils de codificació i la utilització de suites de proves és fonamental. |
| | No contesto... |
| |
| | 26. Pràctiques 1: Quan un usuari fa un checkin o un checkout (des del CCLT Explorer) d’un arxiu o grups d’arxius en una de les seves vistes, el programa li demana:
|
| | que faci primer un rebase del seu stream. |
| | que faci un delivery de les seves tasques per enviar-les a l’stream d’integració. |
| | que associï el checkin/checkout a una activitat concreta. |
| | 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) |
| | ShowWindow (SW_DOMODAL). |
| | Cap de les anteriors |
| | No contesto... |
| |
| | 28. Pràctiques 3: Què és una finestra 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: Quins són els principals problemes que us heu trobat al redefinir l’estil de codi en la segona pràctica.
|
| | Problemes amb els mètodes virtuals i a més amb els tipus de les dades. |
| | Problemes amb el nom dels atributs i els mètodes, i a més amb els tipus de les dades. |
| | Problemes amb el nom dels atributs i els mètodes, i a més amb els mètodes virtuals. |
| | Problemes amb els mètodes virtuals i amb els paràmetres dels mètodes en general. |
| | No contesto... |
| |
| | 30. Pràctiques 5: S’accedeix a les funcionalitats d’un component de tipus ActiveX, principalment a través de:
|
| | Funcions globals. |
| | Classes. |
| | Funcions privades globals de l’ActiveX. |
| | Cap de les anteriors. |
| | No contesto... |
| |
| | 31. Pràctiques 6: Quina és la principal funcionalitat del Robot?
|
| | Executar (és a dir, en entorn Windows interaccionar amb la GUI) el programa de forma aleatòria per tal de 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 per tal de descobrir en el futur possibles canvis en el funcionament del programa. |
| | L’apartat a) és cert, però només si l’entorn Windows és estable en el sentit que les icones de l’escriptori estan sempre a la mateixa posició i no canviem la resolució de la finestra. |
| | Cap de les anteriors |
| | No contesto... |
| |
| | 32. Pràctiques 7: Les eines Rational Purify i 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... |
| |
| | 33. Pràctiques 8: 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 definició d’una classe?
|
| | Estrictament en aquest: private, protected, public. |
| | Estrictament en aquest: public, private, protected. |
| | L’ordre no importa. |
| | Cap dels anteriors. |
| | No contesto... |
| |
| | 34. Pràctiques 9: Quan vau realitzar les proves de caixa blanca amb el Rational PureCoverage i les de caixa negra amb el Purify, en ambdós casos amb quin tipus d’executable havíeu de treballar?
|
| | Només Release. |
| | Només Debug. |
| | Indiferentment amb Release o Debug. |
| | Cap dels anteriors. |
| | No contesto... |
| |
| | 35. Pràctiques 10: Com es solucionava el problema del memory leak de apareixia en la pràctica de prova?
|
| | Capturant el codi de retorn d’una funció. |
| | Posant un delete al final del mètode. |
| | Capturant una excepció. |
| | Cap de les anteriors. |
| | No contesto... |
| |