Sari la conținut
EXAMS.RO

An IV

Instrumente pentru dezvoltarea programelor

4 subiecte

2016

Instrumente pentru dezvoltarea programelor

Ciprian Dobre

2016 · Sesiune · C3

Varianta A 1. Spring Dispatcher Servlet. Care e legatura dintre Dispatcher si ceva ceva. Sa se dea exemplu de o aplicatie unde se foloseste un Dispatcher pentru aflarea parametrilor dintr-un HTTPRequest. 2. Ceva cu Android, nu imi mai amintesc exact ce sau AspectJ. Exemple cu Logging si profiling 3. Reflection. Java Reflection API. Exemplu de access al unei metode private folosind Java Reflection API. 4. Exemplu cand este util sa folosesti Visitor Pattern. Rol, necesitate, exemplicarea pattern-ului. Varianta B 1. Rolul unui model de date. Rolul modelelor de analiza si de proiectare in dezvoltarea aplicatiilor software. Exemplificati modelele de date si de proiectare pentru exemplul particular al unui serviciu Srping pentru recomandari de filme. 2. a) Anatomia unui serviciu Web Rest b) oAuth2.0. Descriere, mod de functionare. Prezentati componentele specifice Spring Security oAuth2.0. 3. Implementati o clasa Filereader care citeste date din fisier pe baza unei combinatii de operatii: - dezarhivare - decriptare - dezarhivare + decriptare - decriptare, dezarhivare, decriptare Gasiti o solutie eleganta de implementare cu posibilitate de extensie/generalitate. Ce sabloane ati folosi pentru aceasta aplicatie? Justificati alegerea. 4. Observer Pattern. Detalii de implementare. Exemplu de situatie in care se aplica. Justificati necesitatea. Varianta C 1. Http polling vs Push + detalii cu scheme. App cloud la care s.ar aplica cu motive de ce una nu alta. Si ce e push sync notification ( nu mai stiu exact cum se numea) 2. Spring security sau Android Resources. Rol si tip pt res/layout res/value. Exemplu cum se foosesc. 3. Refactorizare + ce design pattern se aplica pe o structura cu niste clase ce isi schimba job dinamic. 4. Strategy pattern + o situatie reala in care e folosit. Detalii de implementare Varianta D 1. Programarea orientate pe aspecte. Rol descriere componente. Exemplu aspectJ cu autorizare 2. Java annotations rol descriere. Exemplu cu parametri si fara Activity on resume on pause. 3.Reflectia. Rol descriere. Operatii. Meta-protocol. 4. Modularitate. Prin ce metoda faci separation of concerns. Sa transformi un graf de legaturi de clase cu un design patter. Asemanator cu cel din curs : facade si 2 clienti.

25 mai 2016

2015

Instrumente pentru dezvoltarea programelor

Ciprian Dobre

2015 · Sesiune · - C3

20 (variantele C si D) si 25(variantele A si B) mai 2015 Varianta C :1. modelul analiza vs modelul proiectare .Descriere folosind ambele modele a unei aplicatii aplicatii are care mereu locatia curenta si calculeaza o cea mai buna ruta catre o destinatie folsind servicii (taxi ,metrou,autobuz ). Explicatii pentru folosirea mosteninirilor , polimorfism ...stuff 2 . la alegere: a) aspect software developement .Decriere activitati Implementare,recompunere(parca) . b) Meta protocol ... 3. descriere aplicatie folosing desing patterns . O clasa WatchDog care gestioneaza fisiere. Anunta utilizatorii de schimbari asupra fisierlo. Implementare tinand cont ca un utilizator trebuie sa opreasca /incurce Watchdog atunci cand face o citire (bonus daca implementare tine pentru 1k users). Hint - threads. 4. Component software development, Definitie, Probleme ce pot aparea , Tipuri de compuneri. Varianta D 1. Programarea orientata pe aspecte. + exemplu in AspectJ. 2. La alegere: a) refactorizarea. Metode sablon. Smellurile 'Cod Duplicat' si 'magic number' b) introspectia & stuff, deci reflection. 3. Trebuie sa faci un server care accepta conexiuni concurente (threaduri) de la clienti. Clientii trimit cereri si serverul trebuie sa le raspunda. Descrie proiectul, arhitectura aleasa, design patterns si motivul pt care le-ai ales. 4. Adapter pattern vs Facade pattern. Asemanari, deosebiri, exemple concrete Varianta A 1. Modelarea datelor. Modelul de analiza vs Modelul de proiectare. Sa presupunem ca aveti de implementat controllerul pentru un automat: care are produse, produsele au preturi, utilizatorii introduc monede si selecteaza produse si automatul le da rest; implementati modelul de analiza si modelul de proiectare si evidentiati diferentele. 2. de ales intre scrum si meta-protocol 3. cum ati implementa un sistem de gestiune a salariilor 4. Refactorizare. Principii si rol in dezvoltarea unui proiect. Exemplu si diferente pentru: folosirea unei clase abstracte in locul unei interfete, folosire overloading si folosire overriding.

26 mai 2015

2013

Instrumente pentru dezvoltarea programelor

Ciprian Dobre

2013 · Sesiune · C3

Varianta A (IDP): 1. Modelarea datelor. Modelul de analiza vs Modelul de proiectare. Sa presupunem ca aveti de implementat controllerul pentru un automat: care are produse, produsele au preturi, utilizatorii introduc monede si selecteaza produse si automatul le da rest; implementati modelul de analiza si modelul de proiectare si evidentiati diferentele. 2. La alegere: 1) Metode agile. Principii. Exemple. Cand nu ar trebui sa se foloseasa metodele agile. 2) ? 3. Refactorizare. Principii si rol in dezvoltarea unui proiect. Exemplu si diferente pentru: folosirea unei clase abstracte in locul unei interfete, folosire overloading si folosire overriding. 4. Java Reflection API. Obiectul Class. Exemplu de classloading. IDP. Varianta B de azi: 1. Ascunderea informatiilor. Modificatori, interfete, factory pattern. Exemplu diferit de cel din curs. 2. La alegere: eXtreme programming(principii, reguli etc) vs AspectJ. Profiling si inca un exemplu de folosire. 3. Coeziune si cuplare. Rolul modularitatii. Spaghetti code 4. Aveai o clasa Smartphone si alte 3 care o extindeau: IPhone, WindowsMobilePhone, AndroidPhone. Trebuia sa dai exemplu de aplicatie (ierarhie de clase) care sa le foloseasca si sa spui ce design pattern-uri ai aplica. Varianta C 1. Modelarea datelor. Model analiza vs proiectare. Reutilizare, mo?tenire, asocieri. 2. Forward engineering, reverse engineering, re-engineering, round-trip engineering. SAU modularitate. Concept ?i rol. Separation of concerns. 3. Refactorizare. Concept ?i rol. Aplicarea unui design pattern pe o diagrama. SAU Prezentare Facade vs. Adapter cu exemple. 4. Java Reflection API. Obiectele Method si Modifier. Exemplu de apelare dinamica a unei metode. Varianta D. 1. Paralela între dezvoltarea orientata pe obiecte si dezvoltarea orientata pe aspecte / sau pe servicii (+exemple) 2. La alegere: 2.1 Scrum: Rolul sedintelor Daily Scrum, Scrum of scrums, Sprint review meeting, Sprint retrospective 2.2 Ceva cu diagrame ecran + exemplu. 3. Reflectia. Definitie. Metode. Protocoale de meta-obiecte 4. Modularitate. Concept ?i rol. Separation of concerns. Se dadea un exemplu cu o aplicatie cu 3 componente care erau conectate la multe componente dintr-un subsistem, sa spui cum ai reproiecta tu o astfel de arhitectura (ce Design Patterns ai folosi; cred ca trebuia sa zici de Facade Pattern).

20 mai 2013

2012

Instrumente pentru dezvoltarea programelor

Ciprian Dobre

2012 · Sesiune · C3

Varianta A suna aproximativ asa: 1. SOA. Caracteristici, principii. Stiva de protocoale pentru servicii Web. 2. Alegere: ? si Metode Agile. Principii. Exemple. 3. Refactoring. Simplitate. Smell-urile "Long Method" si "Large Class". 4. Reflectie. Java Reflection API. Class. ClassLoader. Varianta B 1. Ascunderea Informatiei. Scop. Interfete vs. Factory Pattern vs. Access Modifiers. Exemplu de aplicatie diferita de cea din curs. 2. eXtreme Programming. Principii. Cele 12 reguli. 3. Modelarea. Coeziunea si Cuplarea. Spaghetti code vs. Modular System. 4. Java Reflection API. Class Object. Exemplu protocolul meta-obiect. Varianta C 1. Modelarea datelor. Etapa de analiza si de proiectare. Mostenire, reutilizare, asocieri. 2. Forward engineering. Reverse engineering. Re-engineering. Round-trip engineering. 2'. Modularizarea aplicatiilor. Utilizarea programarii orientata pe aspecte in modularizare. 3. Refactorizare. Rol in dezvoltarea aplicatiilor. Template Method. Smell-urile de tip "Cod duplicat" si de tipul "Magic Number". 4. Java Reflection API. Class Modifier. Method. Exemplu de invocare dinamica de metoda. Varianta D 1. Paralela între dezvoltarea orientata pe obiecte ?i dezvoltarea orientata pe aspecte / sau pe servicii (+exemple) 2. La alegere: 2.1 Scrum: Rolul sedintelor Daily Scrum, Scrum of scrums, Sprint review meeting, Sprint retrospective 2.2 ? 3. Reflectia. Definitie. Metode. Protocoale de meta-obiecte 4. Java Reflection API. Obiectele Modifier si Field. Exemplu de invocare a unui camp private al unei clase

20 mai 2013