Problema 1: Incapsularea datelor, supraincarcarea operatorilor

Documente similare
Proiectarea Sistemelor Software Complexe

Laborator 5 - Paradigme de Programare

Raportarea serviciilor de dializă la nivel CNAS

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

PROGRAMARE ORIENTATA PE OBIECTE

Planul National de Cercetare, Dezvoltare si Inovare , PN III Ghidul de depunere online PED 2016 Pagina de web: I. D

manual_ARACIS_evaluare_experti_v5

Introducere în limbajul JavaScript

7 Pasi simpli pentru a avea succes online Sunteti pasionat de marketingul digital si vreti sa va creati propriul site sau blog cu care sa faceti bani,

PowerPoint Presentation

PowerPoint Presentation

... MANAGER SERVICE UTILAJE - Aplicatie software pentru gestiune service utilaje - MANUALUL UTILIZATORULUI OFERTE Folositi acest meniu daca dori

A

Laborator 3

manual_ARACIS_evaluare_experti_v4

Nr.înregistrare: 88 / Social Media in the Classroom Prof.Cucuianu Marița Colegiul Național,,Neagoe Basarab"Oltenița,jud.Călărași 2.Quizizz E

GHID PENTRU RESETAREA PAROLEI Informații Generale Din dorința de a facilita procesul de autentificare, chiar dacă nu mai cunoașteti datele necesare, a

Instructiuni pt. depunerea declaratiei A4200 Declaratia A4200 se construieste pornind de la o colectie de fisiere XML, reprezentand fiecare o zi fisca

Microsoft Word - Istoric Modificari declaratii WM.doc

Microsoft Visual C++ (abreviat MSVC) is a commercial integrated development environment (IDE) product engineered by Microsoft for the C, C++, and C++/

Microsoft Word - MANUAL_APP_ROMPOS_V7.docx

INFORMARE CU PRIVIRE LA PRELUCRAREA DATELOR CU CARACTER PERSONAL Actualizat in: Mai 2018 I. CINE SUNTEM SI CARE ESTE OBIECTUL ACESTEI POLITICI? J ADOR

FONDUL SOCIAL EUROPEAN

PowerPoint Presentation

MANUAL UTILIZARE ANGAJATORI PISA 2.0 Aplicatia este accesibila de pe siteurile: respectiv de la buto

PowerPoint Presentation

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

Tema laborator TS.NET 2019 Vom simula (partial, in scop didactic) activitatea unui service auto. Pentru aceasta vom considera urmatoarele tipuri: Clie

Microsoft Word - Politică de cookie-uri OK_v1.docx

Furnicuţa şi-a construit un depozit pentru grăunţe

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Settlement participant system

Microsoft Word - versiunea D yy.doc

FISA CONFORMITATE pentru masura M6/ 6B Investitii pentru dezvoltarea infrastructurii sociale

Информационная система персонализации, печати и учета документов об образовании

CUPRINS Secţiune: Cerere... 2 Secţiune: Solicitant... 3 Secţiune: Solicitare... 4 Secţiune: Anexe şi Declaraţii... 5 Anexa Generare PDF pentru

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Slide 1

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

SIVECO standard template for large documents

PHP (II)

FD Informatica

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Utilizarea îmbinării corespondenței pentru crearea şi imprimarea scrisorilor şi a altor documente Dacă utilizați îmbinarea corespondenței când doriți

Spitale CJAS

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

CUPRINS Secțiune: Cerere... 3 Secțiune: Solicitant... 3 Secțiune: Solicitare... 4 Secțiune: Anexe și Declarații... 5 Anexa Generare PDF pentru

Lanțul de aprovizionare E.ON Ghidul furnizorului Instrucțiuni pas cu pas

Baze de date Anul 2 Teorie Examen 1. Diagrama entitate/relatie si diagrama conceptuala (curs 2-5) 2. Arbore algebric si expresie algebrica (curs 6-10)

REGULAMENTUL OFICIAL AL CAMPANIEI PROMOTIONALE BEDROOM CE SA VA DESFASURA IN PERIOADA SECŢIUNEA 1. ORGANIZATOR Organizatorul cam

Raportarea serviciilor de dializă la nivel CJAS

MANUAL ULTRA ORIENTEERING CLASAMENTE SOFTWARE VERSION 1.0

Notificare privind Confidențialitatea InfoCert S.p.A., având sediul social situat în Piazza Sallustio 9, Roma (Italia) ( InfoCert sau Operator

Microsoft Word - versiunea D doc

Ghid de utilizare conector Prestashop 1.7 pentru Smart Bill Cloud v1.0 Ghid de utilizare modul Prestashop 1.7 Contine: - Detalii optiuni folosite pent

Curs 10

Ghid utilizare aplicație PARKING BUCUREȘTI Aplicație PARKING BUCUREȘTI 1

Lucrarea 10

Biomedical Wi-Fi data transmissons

{LINGO} Specificațiile produsului: - Dimensiune: 61 x 18 x 8 mm - greutate: 8,6 g - rază: 10 m -capacitatea și tipul bateriei: 90 mah, baterie polimer

Ghid privind raportările referitoare la decontarea internalizată conform articolului 9 din regulamentul privind depozitarii centrali de titluri de val

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului I

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

FIȘA DE VERIFICARE A INCADRARII PROIECTULUI (M1/ 6B) Dezvoltarea zonei GAL prin investitii realizate in dezvoltarea infrastructurii din interiorul loc

Metodologie de aplicat pentru verificarea conformității proiectului M3/6A Investiție în servicii turistice și adiacente Denumire solicitant Se preia d

metro-privacy

Politica de confidențialitate site web Versiune din: Putem actualiza periodic prezenta Politică, pe măsură ce activitatea și serviciile pre

Furnicuţa şi-a construit un depozit pentru grăunţe

NORMĂ pentru aplicarea Ghidului ESMA privind raportările referitoare la decontarea internalizată conform articolului 9 din regulamentul privind depozi

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

Minicurs CCS C / Aplicatia1 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de

Atestat 2007

AcadNet Etapa Naţională Secțiunea calculatoare, clasele Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minut

R E G U L A M E N T U L privind utilizarea Sistemului Informațional Automatizat Acreditare (SIA Acreditare) în cadrul Centrului Național de Acreditare

ADRIAN TRIF BAZE DE DATE APLICAŢII ACCESS UTPRESS Cluj-Napoca, 2019 ISBN

Microsoft Word - Curs_07.doc

Manual de utilizare Room Booking System

Registrul Electronic National de Vaccinari (RENV) Descriere proiect: Proiectul urmareste crearea unui registru electronic de evidenta a vaccinarilor.

Microsoft Word - Curs_09.doc

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 1. Google Drive, Google Calendar, WeTr

Decizia Senatului 523/ modificat prin decizia nr Anexa 7. PROCEDURA DE EVALUARE INTERNĂ A PROGRAMELOR DE STUDII DE LICENȚĂ 1. Scopul S

WorkCentre M123/M128, WorkCentre Pro 123/128, CopyCentre C123/128 Ghid de Configurare Rapidă pentru Reţea

FIŞA DISCIPLINEI

Ghid de utilizare pentru Platforma E-Admitere intranet.inj.md

Informație și comunicare

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Facultatea de Mate

Sisteme de operare

Microsoft Word - Ansamblul software CRONIS

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

Utilizare Internet

Agenţia de Dezvoltare Regională (ADR) Nord-Vest vă invită la lansările regionale a trei domenii majore de intervenţie aferente Programului Operaţional

Informare privind prelucrarea datelor cu caracter personal Începând cu 25 mai 2018 Regulamentul 679/27-apr-2016 privind protecția persoanelor fizice î

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

Concurs online de informatică Categoria PROGRAMARE Secţiunea 5-6 avansaţi PROBLEMA puncte DANS De 1 Iunie - Ziua Copilului se organizează un spe

Microsoft Word - versiunea D doc

Entrepreneurship and Technological Management

Update firmware aparat foto Mac Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încr

Transcriere:

Laboratorul 1 Problema 1: Incapsularea datelor, supraincarcarea operatorilor Problema 2: Mostenire Problema 3: Lucrul cu fisiere Problema 4: Polimorfism Problema 5: Composite Problema 1: Incapsularea datelor, supraincarcarea operatorilor Implementati in C++ clasa Person care va avea ca atribute firstname, lastname si dateofbirth. Scrieti metode tip set/get pentru fiecare atribut. Supraincarcati operatorii << si >> pentru a putea scrie/citi instante ale acestei clase. Folositi tipuri de date definite in STL pentru reprezentarea atributelor (std::string). Problema 2: Mostenire Derivati din clasa Person clasa Student. Adaugati atributele year si group si scrieti metode set/get pentru acestea. Supraincarcati operatorii << si >> pentru a putea scrie/citi instante ale acestei clase. Problema 3: Lucrul cu fisiere Scrieti un program care sa citeasca o lista de studenti dintr-un fisier al carui nume este dat in linia de comanda si sa-i afiseze pe ecran ordonati alfabetic dupa nume (lastname, firstname). Folositi clasa std::vector pentru memorarea interna a listei de studenti. Problema 4: Polimorfism Realizati un container eterogen de figuri geometrice. Containerul poate gestiona in acelasi timp cercuri, triunghuri, patrate. Fara a modifica in nici un fel codul sau, acesta va putea gestiona si alte tipuri de figuri ce pot fi adaugate ulterior. Implementati functii de serializare/deserializare intr-un/dintr-un fisier pentru container. Folositi clasele de aici ca punct de plecare. Problema 5: Composite Realizati un compozit de figuri geometrice. Compozitul defineste un grup de figuri, care este tratat la randul sau ca o figura. Asadar, o figura este fie o figura atomica (punct, cerc, patrat etc.), fie un grup de figuri (vezi diagrama de mai jos). Conform cu aceasta definitie, un grup de figuri poate contine la randul sau alte grupuri de figuri. Aria unui grup de figuri va fi privita ca suma ariilor figurilor din grup, deplasarea unui grup de figuri va consta in deplasarea figurilor continute in acel grup etc. 1

Laboratorul 2 Problema 1: Coding style (1) Problema 2: Coding style (2) Problema 3: CSV Extractor Problema 4: CSV Extractor GUI Problema 1: Coding style (1) In aceasta arhiva sunt doua solutii cu rezultat identic pentru aceeasi problema. Prima rezolvare are un cod mai scurt (o pagina) fata de cateva pagini bune a doua, este mai rapida si creaza un executabil de trei ori mai mic. Gasiti si alte motive pentru care aceasta prima rezolvare este de preferat. Problema 2: Coding style (2) Seful va da o bucata de cod pentru a o intelege si explica mai departe. Pe care dintre urmatoarele versiuni ale aceluiasi cod ati prefera-o? De ce? [Versiunea 1] [Versiunea 2] Problema 3: CSV Extractor Implementati un program care sa preia dintr-un fisier CSV o submatrice pe care sa o afiseze la iesirea standard. Numele fisierului si coordonatele submatricei sunt date din linia de comanda. Un exemplu de apel al programului este urmatorul: csv_extract --file <filename> --xstart <value> --ystart <value> --xend <value> --yend <value> Parametrii din linia de comanda vor putea fi dati in orice ordine, iar xstart, ystart nu sunt obligatorii; in cazul in care nu sunt specificati ambii vor avea valoarea implicita 0. Pentru parsarea liniei de comanda folositi o biblioteca externa (TCLAP pentru C++, JArgs pentru Java). Comparativ cu cele doua rezolvari de la problema precedenta, unde se incadreaza programul pe care l-ati realizat? 2

Problema 4: CSV Extractor GUI Realizati o versiune a problemei anterioare care sa ruleze in mod interactiv, cu interfata grafica de tip fereastre. Programul va oferi posibilitatea utilizatorului sa selecteze fisierul CSV, dupa care ii va cere sa introduca coordonatele submatricei (printr-un dialog grafic). Rezultatul va fi scris intr-un fisier pe care utilizatorul il indica printr-un dialog de tip "Salveaza ca..." Ganditi-va cum puteti folosi acelasi cod pentru enumerarea elementelor sumbatricei si pentru versiunea in linia de comanda si pentru cea cu interfata grafica. Incercati sa faceti o biblioteca (lib, dll sau jar) pentru functionalitatea de enumerare a submatricei, care sa fie folosita de ambele versiuni ale programului. Laboratorul 3 TERMEN LIMITA! Alegerea proiectului Problema 1: Relatii intre clase si obiecte Problema 2: UML-Diagrama de clase Problema 3: Implementare TERMEN LIMITA! Alegerea proiectului Discutati cu conducatorul de laborator intentia de proiect. Aceasta discutie se ia in calcul la stabilirea notei finale. Puteti alege un proiect dintre cele propuse sau puteti veni dvs. cu o propunere de proiect. Problema 1: Relatii intre clase si obiecte Se da urmatoarea problema: 1) Un manager al unei companii mici care se ocupa cu comercializarea de produse IT vrea sa se extinda si sa-si deschida un magazin virtual. El ar dori ca unui posibil client sa-i fie prezentata o lista de produse care sunt disponibile. Selectand un anumit produs, clientul ar trebui sa vada informatii despre acestea. De asemenea, un client ar trebui sa poata cauta un produs dupa nume, producator si/sau categorie. In plus, clientul va putea cumpara produse. El va avea un cos virtual, al carui continut il poate modifica (poate adauga, sterge, modifica cantitatea dintr-un produs). Inafara de clienti obisnuiti, site-ul va avea un administrator a carui sarcina este de actualiza informatiile din baza de date si de a trimite clientilor oferte prim email. 2) BCU Iasi va angajeaza pentru a dezvolta un site web care va avea urmatoarele functionalitati: - va permite utilizatorilor sa caute carti/reviste/ziare dupa titlu, autor, nr, isbn. - va afisa numarul de exemplare existente in biblioteca, precum si daca pot fi imprumutate acasa/la sala. - in cazul in care nu exista nici un exemplar disponibil pe moment pentru a fi imprumutat acasa, site-ul va comunica cea mai apropiata data la care se asteapta sa fie returnata o carta de catre un cititor. 3

- un abonat la BCU va avea un cont pe site pe care isi va putea vedea situatia curenta (ce carti are de restituit), precum si un istoric (ce carti a imprumutat si cand au fost imprumutate/restituite); in cazul in care data limita pentru imprumut a fost depasita, abonatului ii va fi trimis un email de notificare iar pe site ii va fi afisata amenda pe care o are de platit. a) Identificati clasele b) Identificati relatiile dintre clase (mostenire, agregare, asociere) c) Identificati multiplicitatile corespunzatoare relatiilor de asociere si agregare. d) Stabiliti responsabilitatile fiecarei clase. e) Care ar fi atributele si metodele pe care ar trebui sa le contina fiecare clasa? Problema 2: UML-Diagrama de clase Exprimati solutia la problema 1 folosind o diagrama de clase UML. Pentru realizarea acesteia puteti, de exemplu, folositi aplicatia ArgoUML sau biblioteca MetaUML. Problema 3: Implementare Realizati o implementare a diagramei de la problema 2 intr-un limbaj de programare orientat obiect (C++/Java). Laboratorul 4 Problema 1: Design refactoring Problema 2: XML/XSLT Problema 3: Server SQL Problema 4: XML reloaded Problema 1: Design refactoring Tinand cont de GRASP si MVC, in cazul in care este posibil, propuneti o versiune imbunatatita a solutiilor problemelor de la laboratorul precedent. Motivati care erau deficientele solutiilor initiale si cum au fost acestea remediate. Problema 2: XML/XSLT In aceasta arhiva aveti un fisier XML si un fisier XSLT. Pe platforma pe care ati ales-o pentru a dezvolta proiectul, instalati programele necesare si realizati procesarea fisierului XML prin fisierul XSLT. (Cautati mai intai pe Internet ce inseamna XML, XSLT; incercati sa va faceti o idee daca aceasta tehnologie este sau nu utilizata.) 4

Problema 3: Server SQL Instalati si configurati un server de baze de date (MySQL, PostgreSQL, MS SQL Server). Creati un tabel care sa contina ca inregistrari studenti: nume, prenume, cod gesco, an studiu etc. Scrieti o comanda SELECT care sa selecteze doar studentii dintr-un anumit an de studiu. Cautati o comanda care sa modifice inregistrarile existente si aratati cum poate fi ea folosita. Aratati cum pot fi sterse inregistrari (de exemplu, sa se stearga toti studentii din ultimul an de studiu). Problema 4: XML reloaded Incercati sa proiectati un fisier XML care sa contina acelasi tip de date ca tabelul de la problema 2. Cum ar trebui sa arate un fisier XSLT cu ajutorul caruia sa se obtina lista tuturor studentilor in format HTML? Dar unul cu ajutorul caruia sa se obtina lista studentilor in format CSV? Laboratorul 5 Problema 1: Unitati de testare automata Problema 2: Compare and Contrast Problema 3: XML tree Problema 1: Unitati de testare automata Realizati o mica aplicatie care sa foloseasca unitati de testare automata (folosind JUnit, cppunit etc.) Exemplu de aplicatie: program care rezolva ecuatia de gradul al 2-lea. Puteti urma acest exemplu. Problema 2: Compare and Contrast In acest fisier gasiti un exemplu de specificare a cerintelor prin scenarii. Comparati-l cu cel realizat pentru proiectul dvs. Problema 3: XML tree Realizati un program care deschide un fisier XML si il afiseaza sub forma de arbore expandabil (gen navigator de directoare) intr-o interfata grafica bazata pe ferestre. Laboratorul 6 TERMEN LIMITA! Prezentarea fisei de scenarii TERMEN LIMITA! Prezentarea fisei de scenarii Discutati cu conducatorul de laborator despre fisa de scenarii pe care ati finalizat-o. 5

Laboratorul 12 Problema 1: Baze de date Problema 2: ORB Problema 1: Baze de date Pornind eventual de la exemplul de la curs realizati o aplicatie experimentala care sa citeasca/scrie dintr-o/intr-o baza de date in cadrul unui limbaj orientat obiect. Incercati sa modelati o inregistrare dintr-un tabel printr-o instanta a unei clase, mapand campurile tabelei in atributele obiectului (folosirea unui camp ID pentru inregistrari poate fi folositoare in identificarea obiectului). Problema 2: ORB Pentru platforma pe care lucrati, identificati o biblioteca (ce are o licenta convenabila) care realizeaza o legatura automata intre obiecte si baza de date (Object-Relational Bridge). Laboratorul 13-14 Prezentarea proiectului Prezentarea proiectului La acest laborator se pot face prezentari finale ale proiectelor. 6