+ All Categories
Home > Documents > Today Software Magazine N30/2014

Today Software Magazine N30/2014

Date post: 02-Jun-2018
Category:
Upload: serghei-cebotari
View: 226 times
Download: 0 times
Share this document with a friend

of 56

Transcript
  • 8/10/2019 Today Software Magazine N30/2014

    1/56

    T O D A Y

    S O F T W A R E

    Nr. 30 Decembrie 2014 www.todaysoftmag.ro www.todaysoftmag.com

    M A G A Z I N E

    D ,

    P JDK :O M C

    M -I T G

    U OSEK/VDX

    A

    R -

    T A

    A JIRA REST API

    M

    C S S

    D : D

    MachineLearninglamodulpractic

    Despretestare,descoperiritiinificeirevoluii

  • 8/10/2019 Today Software Magazine N30/2014

    2/56

  • 8/10/2019 Today Software Magazine N30/2014

    3/56

    6

    IT D - IT- O M

    8

    D ,

    A K

    10

    D :MD

    R P

    12

    S A H W S

    S 2014I S

    14

    M - I

    T GO M

    16

    D ,

    A C

    20

    T W A

    C G

    22

    R -

    A C

    25

    U - OSEK/VDX

    M P-C

    28

    S

    A P

    31

    D PV D

    33

    A

    R R L

    35

    P JDK 9:O M C?!O P

    37

    M L

    S I

    41

    M S B

    45

    S T A R L B

    41

    A JIRAREST APID C

    48

    - V G

    50

    S MAR V

  • 8/10/2019 Today Software Magazine N30/2014

    4/56

    4 nr. 30/2014 | www.todaysoftmag.ro

    La finalul anului 2014, doresc s mulumesc cititorilor notri pentru c au ostalturi de noi online, dar i la evenimentele de lansare ale revistei i la cele alepartenerilor notri. 2014 a nsemnat enorm din punct de vedere al maturitiirevistei: am nregistrat un numr tot mai mare la evenimentele de lansar, iar online,pentru versiunile n romn i englez avem o medie de 7000 cititori pe lun, n peri-oada I Days depind 10000 de cititori. Acest an a contat mult i prin ntlnirile cucititorii revistei n evenimentele speciale de lansare din Bucureti, imioara, Braov,Iai i rgu Mure. Un proiect important a ost realizarea noii identiti vizuale awebsite-ului nostru www.todaysofmag.ro, respectiv www.todaysofmag.com. n 2015vom continua aceast dezvoltare prin lansarea unei pagini de joburi pentru companiii comunitate, avnd un suport special pentru startup-urile ce doresc s i gseasc

    gseasc colaboratori.Societatea romneasc din zona I-ului a evoluat mult n ultimul an, avem aproape

    toate ingredientele pentru ecosistemul ce va produce urmtoarea generaie de produsesofwarei de ce nu, hardware. V dorim succes i v asigurm c vei gsi n odaySofware Magazine un partener i un promotor de ncredere.

    ncepem acest numr cu un articol despre antreprenoriat la final de an, dup carecontinum cu MyDog, cel de-al doilea articol din seria de dosare dedicate startup-urilor. Publicm i dou articole interesante, primul cu udor Grba despre metrici ievaluarea sistemelor sofware iar cel de-al doilea interviu este cu consultantul MichaelBolton despre testarea i nu numai. ncepem seria de articole tehnice cu estarea deperorman de la Waterall la Agile i Riscurile operrii cu branch-uri, dup care con-tinum cu sistemele embedded. Web design-ul este bine reprezentat n acest numr

    printr-o serie de articole pe aceast tem: Salveaza timpul utilizatorului cu o interabine proiectat,De la Design la Developmenti A fi sau a nu fi responsive. Pentru cne apropiem de crciun, v propunem revizuirea celor mai importante JPE-uri (JDKEnhacement Proposal) n Promisiunile JDK 9: O scrisoare pentru Mo Crciun?! Listapoate continua i v invitm s le citii cu plcere!!

    V dorim o lectur plcut !!!

    Ovidiu ManFondator al Today Sofware Magazine

    Ovidiu [email protected]

    Editor-in-chiefToday Software Magazine

    editorial

  • 8/10/2019 Today Software Magazine N30/2014

    5/56

    5www.todaysoftmag.ro | nr. 30/decembrie, 2014

    Redacia oday Sofware Magazine

    Fondator / Editor in chie: Ovidiu [email protected]

    Graphic designer: Dan [email protected]

    Copyright/Corector: Emilia [email protected]

    raductor: Roxana [email protected]

    Editor startups: Mircea [email protected]

    Reviewer: avi [email protected]

    Reviewer: Adrian [email protected]

    Contabil : Delia [email protected]

    Produs deoday Sofware Solutions SRL

    str. Plopilor, nr. 75/77Cluj-Napoca, Cluj, [email protected]

    www.todaysofmag.rowww.acebook.com/todaysofmag

    twitter.com/todaysofmag

    ISSN 2284 6352

    Copyright oday Sofware Magazine

    Reproducerea parial sau total a articolelordin revista oday Sofware Magazine

    r acordul redaciei este strict interzis.

    www.todaysofmag.rowww.todaysofmag.com

    Lista autorilor

    Irina [email protected]

    PR Manager@ How to Web &TechHub Bucharest

    Radu [email protected]

    Senior Software Engineer@iQuest

    Liviu tefni [email protected]

    Senior Business Consultant@ Endava

    Radu [email protected]

    Associate@ Gemini Solutions Foundry

    Andrei [email protected]

    Director executiv@ IT Cluster

    Anghel [email protected]

    Design Lead@ Endava

    Olimpiu [email protected]

    Senior Software Developer@ Ullink

    Sebastian [email protected]

    Delivery Manager@ Endava

    Dnu [email protected]

    Java Developer@ Elektrobit Automotive

    Victor [email protected]

    Managing Director@ Loopaa

    Raul Rene [email protected]

    UI Developer@ SF AppWorks

    Vlad [email protected]

    Lead Graphic Designer@ Subsign

    Axente [email protected]

    Senior UX Engineer@ 3Pillar Global

    Mircea [email protected]

    C++ Developer@ AROBS

    Claudiu [email protected]

    Senior Delivery Service Engineer@ Betfair

    Alexandra [email protected]

    Software Tester@ Altom Consulting

    Sergiu [email protected]

    Software Engineer@ HP

  • 8/10/2019 Today Software Magazine N30/2014

    6/56

    6 nr. 30/2014 | www.todaysoftmag.ro

    interviu

    IT Days - imaginea IT-ului clujean

    Evenimentul a debutat cu o sesi-une de prezentri dedicate direciilor deevoluie i leadership-ului din planul local.endinele companiilor locale precumArobs, Accesa sau Pitech+Plus care auost expuse chiar de ondatorii/CEO ai

    acestora au n comun acelai principiu:orientarea ctre dezvoltarea de produseproprii n paralel cu meninerea calitii nserviciile de outsourcing. Acest lucru estebinevenit i sperm ca la urmtoarele ediiis vorbim despre noile produse I clujene.ot n aceast prim sesiune, participaniiau avut ocazia s descopere lucruri intere-sante precum sistemul de operare FireoxOS, proiectele ce se desoar la IC LabBudapesta i creterea prezenei emeilorn lumea I-ului.

    Sesiunile tehnice din cea de-a douaparte a primei zile au cut ncet tranziiala subiectele mai specializate. S-a vorbitdespre inovaie, impactul dierenelorculturale, ajungnd la limbajul Java. Peter

    Lawrey, specialistul de top, invitat spe-cial al acestei ediii a vorbit n prima saprezentare din cadrul conerinei despremodalitile n care putem mbuntiperormana aplicaiilor Java, un subiectde mare interes n rndul comunitii

    locale. Vom ncerca de altel s pstrmlegtura cu el n viitor prin publicarea dearticole.

    Prezentrile au continuat cu subiectece au variat de la arhitectur i big datalasoluii enterprise. S-a realizat inclusiv oabordare transdisciplinar care stabiletecorelaii ntre evoluia conceptului de userexperience i istoria filozofiei. Aproape definal s-a discutat despre oportunitatea de adezvolta aplicaii culturale precum Statuide Daci. Am ncheiat seara n jurul unui

    pahar de vin i a unei prjituri. Pentru cvorbim de un eveniment I, participaniiau avut ocazia s i aleag prjitura pre-erat onlinecu o zi nainte. Acestea i-auateptat cu numele fiecruia notat pe ele

    Am ncheiat de curnd cea de-a doua ediie a Cluj I Days, evenimentul anual

    al revistei oday Sofware Magazine. Credem c am reuit s le oerim celorpeste 200 de participani prezeni anul acesta , ocazia de a-i ace o imagine deansamblu mai clar asupra I-ului clujean i asupra ultimelor trenduri din industrialocal. O noutate n cadrul evenimentului a ost publicarea criiCum s construietiun produs?semnat de nousprezece autori care au participat i n calitate de prezen-tatori la eveniment. Aceasta va fi de altel disponibil onlinepe site-ul revistei i cel alevenimentului.

    Ovidiu [email protected]

    Editor-in-chiefToday Software Magazine

  • 8/10/2019 Today Software Magazine N30/2014

    7/56

    7www.todaysoftmag.ro | nr. 30/decembrie, 2014

    TODAY SOFTWAREMAGAZINE

    mpreun cu un mic cadou din partea celorde la HipMenu.

    Atmosera la standurile sponsorilorevenimentului a ost una destins. Ceide la Accesa au pregtit o caea specialcelor care i alegeau una din valorile dedezvoltare personal din cadrul compa-

    niei. Cei de la Yardi au oerit un premiusurpriz n urma unei tombole i anumeun GoPro. Vizitatorii standului Accentureaveau ocazia s ncerce aplicaiile dezvol-tate de companie pentru Google Glasses,s primeasc mici cadouri i s descopereIndustry 4.0. Binecunoscuta rulet cupremii de la ISDC a ost i ea prezent nstandul lor, iar cei de la 3Pillar Global auost prezeni cu veselie i voie bun.

    A doua zi s-a deschis cu prezenta-rea keynote a lui Peter Lawrey despreavantajele i dezavantajele de a fi consul-

    tant sotware. Urmtoarele subiecte auost startup-urile din perspectiva ecosis-temului i ceea ce este bine de tiut dacse dorete obinerea unei finanri. Dupprima pauz, am nvat cum se reali-zeaz un obiect la o imprimant 3D. Deasemenea, au putut fi vzute i examinatedierite obiecte realizate de ctre aceasta.

    n continuare s-a discutat despre posibi-litatea implicrii companiilor sofwarenstartup-uri, precum i despre tendinelede dezvoltare Industry 4.0. Un alt subiect ademonstrat de ce nu este suficient doar oidee pentru un startup de succes.

    Dup prnz, am cut cunotin cu

    prezentrile despre proiectele de cerce-tare dezvoltate de Universitatea ehnicCluj. Am vzut proiecte de cercetare ceau ca rezultat o mai bun interconectare areelelor urmate de un impresionant demode procesare vocal. Practic dup o proce-sare de aproximativ trei ore de nregistrria vocii unei persoane, se poate simula untext to speechoarte autentic. Am ncheiatseria de proiecte de cercetare cu o sinteza platormelor de e-learningi contribuiala proiectele romneti din acest domeniu.

    Pauza de pizza din cea de-a doua zi

    a relaxat atmosera i a pregtit audienapentru ultima parte a prezentrilor teh-nice. Primele dou au avut ca subiectprincipal securitatea, iind urmate de odiscuie despre strategiile de testare reali-zate de marile companii precum Facebook.n ncheierea celei de-a doua zile am dis-cutat despre designul unui startup prin

    prisma tehnologiilor Microsof.Gazda excepional a acestui eve-

    niment a ost Dan Suciu, lector laUniversitatea Babe-Bolyai i Director oechnical rainingla 3Pillar Global. Deiintroducerea fiecrei prezentri pe duratacelor dou zile a putut reprezenta o provo-

    care real, acesta i-a ndeplinit misiuneacu succes.Mulumim companiilor care ne-au

    susinut: ISDC, Accesa, Gemini Solutions,3Pillar Global, Yardi, Accenture, Colors inprojects, Mozaic Works, elenav, Endava,Yonder, Betair, SDL i Fortech. Mulumimpartenerilor care ne-au ajutat n promo-varea eveni mentului : Cluj I Cluster,Starcelerate, ClujHub, JCI Cluj i Loopa.

    Opiniile i eedback-ul vostru suntimportante pentru noi, oerindu-nesugestii care s transorme evenimentul

    din 2015 ntr-unul i mai interesant i cuinvitai valoroi.

  • 8/10/2019 Today Software Magazine N30/2014

    8/56

    8 nr. 30/decembrie, 2014 | www.todaysoftmag.ro

    Antreprenoriatul nu mai poate astziace abstracie de tehnologie, indierentde domeniu. Ne putem imagina orice acti-vitate economic dorii i, r prea multeort, vom putea ataa o uncie tehnolo-gic care s deserveasc acea activitate.Mai mult dect att, tehnologia a deve-nit pe parcursul timpului un elementdiereniator, care poate asigura avantajul

    competitiv necesar succesului. Astzi senregistreaz o accelerare r precedenta ritmului progresului socio-economic.Majoritatea lumii i nchipuie c progre-sul va continua s fie unul liniar, dar numai este aa. Progresul tehnologic sau celavorizat de tehnologie este acum unulexponenial. Pentru ilustrare am ales unsingur exemplu, dar concludent pentruimpactul su asupra tuturor: proiectuldescirrii genomului uman a durat 20 deani, n primii 15 ani ai proiectului a ost

    descirat o mic parte a genomului (subo treime), progresele cele mai mari s-aucut n ultimii cinci ani doar datoritavansului tehnologic. Ceea ce prea uneec, a devenit un succes. Prezena tehno-logiei nu garanteaz acest succes, ns pares devin un ingredient de tipul sareadin bucate (dac tii povestea). Dac totvorbim de bucate, exist o reet inaili-bil care ne garanteaz succesul n rndulmesenilor? Cu alte cuvinte putem urmao strategie anume pe care aplicnd-o pascu pas s ajungem la satisacia dorit a

    clienilor?Un rspuns evident este c nu, altel

    am fi toi milionari i am lansa produse i/sau servicii n conerine transmise pestetot n lume. Dup care am lansa undaiicare s i sprijine pe cei care nu au apli-cat reeta. i atunci? Nu v voi rspundedirect la ntrebare ci voi lansa cel puinaltele dou. Iat-le:

    Care sunt celelalte ingredientepersonale de care are nevoie un antre-prenor (de succes)? Dar cele societale?

    nrndurile urmtoare voi ncerca srspund acestor ntrebri.Spiritul antreprenorial este cel care ne

    ndeamn s demarm activiti pe contpropriu, din care s producem profit, adic

    beneficii personale i, eventual, de grup.Antreprenoriatul, adic eectul nemijlocital spiritului antreprenorial, este perceputde oarte muli ca principalul actor deprogres al lumii, iar businessul sngeledin organismul global care a continuat scircule chiar i n perioadele de conflictemondiale grave. Exist destule exemplen care inamicii (ideologici sau chiar n

    conlict armat) au continuat relaiile debusiness. Am ales doar dou pentru csunt ct se poate de ilustrative:

    SUA i Germania, n timpul celuide-al doilea rzboi mondial (un exem-plu celebru este Ford, cu abrica dinGermania care, la un moment dat,olosea ca ora de munc prizonieri derzboi rancezi!)

    Germania i URSS (Rusia) n timpulrzboiului rece (URSS a urnizat conti-nuu gaz Republicii Federale Germania;

    RFG a construit i ntreinut instalaiilemajore de exploatare a gazului rusesc).RFG nu a suerit niciodat de rig,Republica Democrat German, n teo-rie un aliat ideologic al URSS, n schimb,da!

    Asumarea riscului este o caracteristicpersonal esenial, r de care antre-prenoriatul nu este posibil. Felul n carecontientizm riscul determin cursulaciunilor noastre. Ne aecteaz viaa per-sonal, viaa proesional i interaciunea

    cu societatea n general. n esen elul ncare nelegem s ne asumm un risc esteo caracteristic personal, dat care poate fi,desigur, i educaia. otui, existena ei nune garanteaz reuita n business.

    Ce este de apt spiritul antreprenorial?Este acelai lucru cu cultura antrepreno-rial? S pornim mai nti cu etimologiacuvntului antreprenor. Cuvntul este deorigine rancez i a desemnat o persoanaflat ntre dou locuri de munc, deci unomer! Interesant cum un cuvnt care se

    reerea la o persoan r loc de munca aajuns s nsemne, n ziua de azi, o persoancare oer locuri de munc Spiritulantreprenorial este definit n literatura despecialitate ca fiind nsumarea, n proporii

    ce pot dieri, a unor caracteristici individu-ale dintre care nu vor lipsi:

    Asumarea riscului, pe care deja ammenionat-o

    Unicitatea, care nu este totuna cu Creativitatea, Adaptabilitatea, Cunoaterea domeniului de

    business,

    Dorina de exploatare a potenialuluiexistent i

    Autodistrugerea adic, de cele maimulte ori, dac businessul iniiat nu estetrecut n responsabilitatea altora (pedirecii de management, cretere etc.),creatorul lui, din dorina puternic de ase angaja ntr-o nou creaie va distrugeceea ce exist.

    Cultura antreprenorial este un ansam-blu de caracteristici societale tangibile

    i intangibile care avorizeaz manies-tarea, altel spus concretizarea spirituluiantreprenorial. n ceea ce privete carac-teristicile tangibile sau fizice lucrurile suntdestul de simple adic vorbim aici despreinrastructura n special, care poate constan ci de acces, utiliti, teren etc.. Celeintangibile sunt reprezentate istoric de:

    cadru legal, educaie / pregtire, mentalitate individuali de societate, cu accent pe dou

    componente - acceptana a eecului i

    ncredere.n continuare, vom inventaria aceste

    caracteristici tangibile i intangibile.Operaia de inventariere va debuta cu acelecaracteristici pe care NU le avem, pentru ancheia cu acelea pe care le AVEM, rm-nnd n zona pozitiv a lucrurilor:

    Nu exist o politic naional privindeducaia antreprenorial, adic nu existprograme sistematice, de amploare i petermen lung, cu rezultate, care s ncu-rajeze iniiativa privat.

    Nu avem istorie i nici istoric avora-bile (cte companii de succes romneticunoatei i care s aib un trecut nde-lungat n spate?)

    Nu acceptm eecul ca pe ceva firesc,

    antreprenoriat

    Despre antreprenoriat, la final de an

    Prin amabilitatea lui Ovidiu (Man, desigur), am ost invitat s susin o prezentare cu ocazia I DAYS 2014. Cum nu am reuits m ncadrez n timpul alocat prezentrii, redactarea acestui articol mi oer ocazia de a completa prezentarea. Iat ce amvrut s spun neaprat !

  • 8/10/2019 Today Software Magazine N30/2014

    9/56

    9www.todaysoftmag.ro | nr. 30/decembrie, 2014

    TODAY SOFTWAREMAGAZINE

    ca pe o etap de nvare; eecul este bla-mat puternic de membrii amiliei, deprieteni i de societate n general.

    Nu avem tradiia mentoratului,

    adic oamenii care au reuit n aacerinu sunt preocupai s lase n urm maimult dect nite acumulri materiale;acest lucru se explic poate i prin aptulc cei care au reuit nu au aplicat ntot-deauna metodele cele mai curate de aace business i doresc ca acest lucru srmn necunoscut.

    Nu avem obinuina asocierii, aparteneriatului.

    Nu avem capacitatea de introduceinovaie / creativitate n ceea ce acem,

    dei spunem despre noi ca sunteminventivi. i am s v dau un exemplubanal, din aceeai ser culinar cu caream nceput acest articol. S lum ctevaingrediente: ain, brnz, busuioc, roii.oate prezente i n culturile agricole iermele strmoilor notri. Dar cine ainventat cel mai rspndit el de mn-care din lume, pizza? Rspunsul l tii idvs. i lista poate continua, cu siguran.

    otui ce AVEM?Un rspuns posibil ar fi urmtorul:

    Economie emergent care nseamnoarte multe oportuniti.

    Un corp n cretere a celor caredoresc s nceap o aacere pe contpropriu, dar totui nc departe de celemai perormante economii (locul 42 nlume i 25 n Europa, conorm GlobalEntrepreneuship Index).

    O legtur nemijlocit cu medii deinormare internaionale i expunerela culturi antreprenoriale cu tradiie,iar aici I-ul clujean este ntr-o poziie

    oarte bun. O populaie tnr (medie de vrstmai sczut dect n majoritatea riloreuropene) care asimileaz, mbrieazrepede cele mai noi tehnologii sau

    inovaiile. Am auzit, n contextul alege-rilor prezideniale recente, de partidulacebook!

    rebuie s convenim c iniiativa / spi-ritul antreprenorial nu mai este suficient.A ost poate n urm cu 20 de ani. n ziuade azi, este necesar un grad de sofisticarecare nseamn:

    studiu de pia, cunoaterea domeniului (cu ct gra-

    dul de sofisticare a businessului este maimare cu att cunoaterea trebuie s fiemai aproundat),

    crearea/ educarea cererii prin stra-tegii de marketing potrivite cu profilul

    consumatorului / clientului. Aceastanseamn cunoaterea acestuia aiciintervin cunotine din alte domeniidect cel al businessului cum ar fi socio-logie, psihologie.

    munc, dedicaie, mediu concurenial (concurena e

    bun!). capital (de preerin al altora, nu

    pentru c e bine s cheltuieti baniialtora ci pentru c aa dovedeti c ialii au ncredere n ceea ce aci tu).

    Dar este important prezena unuimediu n care aacerea noastr s se dez-volte firesc. Acest mediu este n apt culturaantreprenorial.

    Cum se poate accelera ormarea sauconsolidarea culturii antreprenoriale? Oparte a rspunsului l reprezint clusterelesau polii de competitivitate (pole de com-petitivite) pentru gurmanzii / rancooniidintre voi. Clusterele sunt structuri pe lande valoare a unei industrii, cu uncie eco-

    nomic i realizeaz o aliniere strategicpe zone de interes comun. Acest lucru esteposibil deoarece, de la un anumit nivel nsus, competiia ntre companii (mai alesIMM-uri) nu mai exist. Economitii au

    denumit acest enomenco-petiie. Clusterele,conorm deiniiilor cucare s-a obinut premiulNobel pentru economieacum 20 de ani (vezi pro.dr. Michael Porter pre-cum i oarte interesantapolitic ederal a SUA desusinere a clusterizriiwww.clustermapping.u s ) , au u n c ie desusinere a dezvoltriiecosistemului. Dintreavantajele dezvoltrii eco-sistemului amintesc:

    posibilitatea introducerii unorelemente noi, inovatoare i de reimpul-sionare constant a creterii economice;

    creterea competiiei care duce lacreterea competitivitii;

    propagarea bunstrii prin rspn-direa unui model / unor modele debusiness de succes.

    Este nevoie de ecosisteme inovative,adic de acele ecosisteme n care existcapacitate antreprenorial, dar i capacitatesocial (capacitatea de a genera inovaiei de a asimila eectele ei). Iar Clujul esteoarte bine poziionat din acest punct de

    vedere pentru domenii de business tehno-logice deoarece: exist o populaie tnr, cu capaci-

    tate mare de absorbie / adopie; exist universiti bine cotate la nivel

    naional, dar i internaional care atragtalente;

    Ex. UMF peste 1000 de studenidin Frana, iar trendul este n cretere,inclusiv pentru alte universiti (chiar iUSAMV ncepe s aib studeni strini);

    exist o mas critic n ormare caredorete un alt el de dezvoltare, una

    bazat pe competiie real, dar, n acelaitimp, cu dorina de cretere social pescar.

    Cu alte cuvinte exist premise bunepentru ca noi i generaiile urmtoares creeze istoricul antreprenoriatuluiromnesc.

    La muli ani i un an antreprenorial ctmai bun tuturor care i doresc acest lucru!

    Andrei [email protected]

    Director executiv@ IT Cluster

    Young spiritMature organization

    A shared vision

    Join our journey!

    www.fortech.ro

  • 8/10/2019 Today Software Magazine N30/2014

    10/56

    10 nr. 30/decembrie, 2014 | www.todaysoftmag.ro

    Coca (un nume de alint atribuit buni-cii de ctre sora mea) locuia ntr-o cas cuograd prin care alergau, mereu veseli, celpuin doi - trei cei. E de prisos s spunc acetia nu aveau mereu un traseu binestabilit i culcau deseori la pmnt lo-rile ngrijite zilnic de ctre dnsa. Astel,ct era ziua de lung, curtea era plinde o ceat de copii care alergau ncoloi-ncoace nsoii la fiecare pas de prietenii

    lor patrupezi.Revenind n zilele noastre: de curndne-am hotrt s adoptm un cine. idac, privind n urm, cea mai mare grijde atunci era o zi cu ploaie pentru c tre-buia s mutm tabra ntre patru perei,acum privesc cu ali ochi acest aspect ineleg aptul c adoptarea unui cinevine i cu o serie de responsabiliti pecare nu le putem neglija. M reer aici lalatura medical (vaccinri si consultaiiperiodice), ngrijirea periodic (tiatulgheruelor, tuns, splat), dresaj, hran

    i multe alte aspecte ce in de bunsta-rea animalului de companie. Aa c amnceput s m documentez i s citesc dinexperienele altora despre diversele tr-sturi ale raselor canine. Redau mai joscteva lucruri pe care le-am gsit relevantenainte de adopie:

    Care rase se preteaz mai bine laapartament n raport cu cei care aunevoie neaprat de spaiu mare dealergare.

    Care rase sunt mai uor de dresata de acei cei rebeli ce nu vor s teasculte cu nici un pre.

    La ce boli sunt predispui. Cam la ce investiie financiar recu-

    rent ar trebui s m atept.

    i internetul este plin de astel dedetalii atunci cnd tii ce vrei s caui,ns inormaia este oarte disipat ntre nsite-uri / domenii / orumuri. n plus, amnceput s discut cu diverse persoane cei-au ntregit amilia cu un cine i am aflatdetalii oarte generale; ns cercul meude prieteni i cunotine m-a putut ajutanumai pn la un pas. Mi-ar fi plcut spot discuta cu cineva care are rasa de cinecare mi-a plcut i mi place n continu-are (Labrador). Iar abordarea pe strad nu

    mi se pare cea mai bun soluie n aceastdirecie. O soluie de genul MyDog m-ar fiajutat oarte mult la momentul respectiv,deoarece sunt de prere c i acest pas - dedocumentare - este oarte important. Altelajungem n situaii (pe care nc le ntl-nim destul de recvent din pcate) n care

    posesorul i d seama c s-a nhmat lamai mult dect poate duce i preer gsi-rea altui stpn sau, mai ru, abandonareacelului.

    i, dup cum menionam anterior,responsabilitile abia acum ncep. Acesteavariaz de la sntate, la ngrijire perio-dic, pn la educaie i bunstare. Cidintre voi tiu ce cabinete veterinare avein vecintate? Sau ce servicii oer? Pe cte

    orumuri trebuie s intrai pn gsii unthread de actualitate despre comparaiintre mncrurile pentru cini (Aceasta,dac nu ai discutat deja cu medicul vete-rinar pentru o recomandare)? Las ntrebrideschise i pentru restul subiectelordezbtute.

    Un ultim aspect asupra cruia dorescs atrag atenia este cel de socializare.Asemenea noastr, cel-mai-bun-prieten-al-omului are i el nevoie s socializezecu ali cei, iar acest lucru nc de la ovrst raged pentru a nu deveni agresivi

    sau ricoi cnd se ntlnesc cu ali cini.n acest caz socializarea se ntmpl doarn mediul real, fie cunoscnd prieteni noin parc, sau rentlnind cini ce nsoescprietenii stpnului, cu care acesta aleges i petreac plimbrile de dimineaa iseara. Nu putem discuta (nc) de o soluieI dedicat exclusiv ceilor. ns o soluiece se adreseaz posesorilor este o cu totulalt discuie.

    Cu un astel de concept ni se alturastzi Dan Damian, ondatorul MyDog1.

    Acesta nu este primul proiect antrepreno-rial al lui Dan. El a ondat acum ase aniCodeSphere2alturi de ali doi asociai.

    1 http://www.mydog.xyz/

    2 http://www.codesphere.ro/

    startups

    Dosare de startupMyDog

    n apartamentul n care am crescut nu am avut animale de companie, dei att eu ct i sora mea i mai rugam din cnd n cndpe prini s lum un cel sau o pisic. Lucrul sta a cut s atept cu o mai mare nerbdare verile petrecute la bunica mea. iera ca i tiut: cnd ncepea vacana de var att eu ct i sora mea plecam de pe capul prinilor i ne mutam la bunici. Acolo ni

    se alturau peste zi i veriorii i distracia era garantat.

  • 8/10/2019 Today Software Magazine N30/2014

    11/56

    11www.todaysoftmag.ro | nr. 30/decembrie, 2014

    TODAY SOFTWAREMAGAZINE

    CodeSphere este un urnizor de servi-cii sofwarece a crescut oarte rumos ntot acest timp. Acum ns Dan dorete s

    schimbe un pic traiectoria i s se con-centreze asupra zonei de generare deproprietate intelectual.

    [Radu] Ce nseamn, de apt, MyDog?[Dan] myDog este o reea de sociali-

    zare dedicat proprietarilor i iubitorilor decini. Pe myDog te poi nregistra cu ci-nele tu n cteva secunde, ai la dispoziieo pagin de proil unde te poi luda cupozele prietenului tu, poi posta cele maiinteresante momente, ai un wallunde vezi

    ce posteaz i prietenii ti i nu n ultimulrnd poi cuta ali cini dup ras, sex,vrst i locaie.

    myDog s-a lansat n Romnia pe 15nov, iar pn acum am strns peste 1500de membri, dovedind c nevoia este unact se poate de real.

    Cum a pornit aceast idee?[Dan] Eu am un Amsta de aproape

    4 ani i deseori m-am gndit s i gsesco iubit. n plus, mi-am dorit s pot dacheck-in ntr-un arc sau s vd cine este

    deja acolo pentru a putea s evit arcurileatunci cnd erau prea aglomerate. Mi-amdorit de asemenea s am acces la o listcu cele mai apropiate clinici veterinare, sam unde s caut un dresor. i...dac mgndesc bine, nainte s-l am pe Sawyeroscilam ntre dou rase: Shar-Pei iAmerican Staffordshire errier (Amstaff),i mi-ar i prins bine s am pe cine sntreb, s pot vorbi cu cineva care are deceva timp ambele rase i s aflu direct caresunt avantajele i dezavantajele fiecreia.

    Am cutat un sitesau o aplicaie mobilcare s m ajute n toate aceste privinens n-am gsit ceva satisctor. Dup treiluni de validri i cercetri de pia ne-amdecis s ncepem dezvoltarea.

    Ai ut ili zat o ext ens ie de st ul deneobinuit pentru domeniu. De ce .xyz?

    [Dan] Am pornit n cutri avndnumele aplicaiei bine ixat - mydog, imi-a rmas s variez doar extensia. Evidentc .com era cumprat i la el multe alteextensii uzuale. Am descoperit n cele dinurm noua extensie .xyz. M-a lovit noul,ciudenia i nonconormismul cu carevenea. Mi-am dat seama c va fi uor dereinut i c va prezenta un avantaj majorde branding, aa c iat mydog.xyz.

    nainte de lansare ai prezentat pro-

    iectul la a treia ediie a ConerinelorFoundry. Cum a ost?[Dan] A ost o experien oarte util.

    Dialogul cu voi ne-a orat s ne punem lapunct aspecte strategice legate de publiculint, de strategia de lansare, de cum vommonetiza tot acest eort.

    De asemenea, ne-a ajutat oarte multi introducerea voastr n emisiunea luiGeorghe Buhnici, de la Pro v - I LikeI. Desigur totul a culminat cu pitch-ulsusinut n aa unui investitor, ocaziecu care am putut s observm ce este cu

    adevrat important i din punctul lor devedere.

    Cum a ost primit de comunitateaceasta platorm?

    [Dan] Putem airma cu mndrie ceedback-ul este unul oarte pozitiv. Avempeste 1500 de nregistrri pn acum isperm s ajungem la 2000 de utilizatori nprima luna de la lansare. Dac se ntmplasta, ne vom alinia cu proieciile noastre denainte de lansare.

    Mult lume se oprete la numrul deutilizatori cnd vine vorba de indicatori.Ce alte metrici sunt importante pentrutine n determinarea traiectoriei viitoare

    a produsului?[Dan] Aa este, numrul de utilizatori

    este doar unul din indicatori, ns oarteimportant este i procentul de utilizatorinoi versus utilizatori vechi ce revin. Deasemenea este oarte important duratamedie a unei sesiuni sau bouncerate-ul.Aceti indicatori arat ct de atras esteutilizatorul de platorma dup ce i acecont, ct de des revine i ct timp petreceaici. Pn la urm aceasta conteaz cel maimult. Ok, convingi pe cineva de ideea ta,ajunge s i ac cont, dar ulterior dacnu oeri cu adevrat valoare adugat el vanceta s revin.

    Ce urmeaz?[Dan] Noi pivotri (conorm con-

    ceptelor de Lean Startup, promovate de,

    deja celebrul, Eric Ries). Am pivotat dejaodat, atunci cnd am decis s nu lansmcu toate cele tre uncionaliti planificate(Socializare, arcuri i Clinici) ci doar unai anume modulul de Socializare. i amcut oarte bine, pentru c nu am fi avuttimpul necesar i am fi amnat lansarea in acelai timp nu ne-am fi putut concentrapeeedback-ul utilizatorilor notri.

    La o lun de la lansarea azei beta,putem spune c am ixat o mulimede bug-uri minore, am adugat exact

    uncionalitile de care era cu adevratnevoie i tim n ce direcie s mergemmai departe.

    n ianuarie 2015 vom lansa seciuneaDog Services (deci nu doar Clinici) undese vor putea nscrie toi urnizorii de ser-vicii dedicate cinilor: clinici veterinare,saloane cosmetice canine, hoteluri canine,canise, dresori i chiar persoane care seoer s i plimbe cinele sau s i-l inpeste week-end.

    Odat cu venirea primverii vom lansai modulul arcuri, alturi -sperm noi- i

    de versiunea pentru mobil a aplicaiei.

    Radu [email protected]

    Associate@ Gemini Solutions Foundry

  • 8/10/2019 Today Software Magazine N30/2014

    12/56

    12 nr. 30/decembrie, 2014 | www.todaysoftmag.ro

    Bucureti, 24 Noiembrie 2014 Axosuits, echip care dezvolt exoschelei uor de olosit i accesibili ca pre pentru persoanele

    cu dizabiliti, este marele ctigtor al How to Web Startup Spotlight, cea mai important competiie i program de mento-rat pentru startup-urile din Europa Central i de Est. Locul al doilea a ost ocupat de Avandor, n timp ce IXIA Innovation

    Award a ost ctigat de ProjectWipe. Cea mai bun prezentare a ost susinut de echipa de la Lat.io. Ctigtorii competiiei au ostanunai recent pe scena principal a How to Web Conerence 2014, cel mai important eveniment dedicat inovaiei i tehnologiei dinregiune care s-a desurat la Bucureti pe 20 i 21 noiembrie.

    Cea de- a treia ediie Startup Spotlight a avut loc n paralel cuHow to Web Conerence 2014 i a adus mpreun 31 de echipecare dezvolt produse techcu potenial disruptiv la nivel globaldin 10 ri din regiune. Pe parcursul programului, acestea au avutocazia s ntlneasc mentori i proesioniti cu experien i sdiscute n mod direct cu reprezentani ai programelor de accele-

    rare i ondurilor de investiii early stagela nivel global.Programul a debutat cu prezentarea echipelor selecionaten concurs, iar la final juriul a anunat cele 8 echipe finaliste alecompetiiei care au intrat astel n cursa pentru ctigarea pre-miului pentru cel mai bun startup. Acestea sunt: Marketizator(platorm 3 n 1 pentru optimizarea ratei de conversie pe site-urile de ecommerce); ProjectWipe (ochelari electronici care ajutpersoanele cu dizabiliti de vedere s se orienteze i s eviteobstacolele), Attensee (statistici online de eye-trackingpentruoptimizarea conversiei pe site-urile web), Fittter (aplicaie mobili web n domeniul sntii i fitnessului care conecteaz clto-rii de business cu antrenorii i i ajut s i menin obiceiurile

    sntoase de via pe durata deplasrilor), Avandor (platormdeschis de date ale consumatorilor disponibil ca Sofware-as-a-Servicentregului ecosistem ormat din site-uri web, agenii,companii de ecommercesau publicitate), CloudPress (platormprin care designerii pot crea site-uri Wordpress receptibile nmanier vizual i le pot publica la final printr-un singur click),

    Axosuits (exoschelei uor de olosit i accesibili ca pre pentrupersoanele cu dizabiliti) i ViewFlux (platorm de colaborareonlinepentru designeri care i ajut s i mbunteasc procesulde lucru).

    n cea de-a doua parte a zilei, echipele participante n concursau avut ntlniri 1 la 1 cu proesioniti de excepie de pe scenaglobal i au participat la paneluri i sesiuni de discuii care auavut loc la echHub Bucharest. oate startup-urile participantela How to Web Startup Spotlight au avut anul acesta oportunita-tea de a-i prezenta produsele pe scena principal a How to WebConerence n aa ntregii audiene i au beneficiat de sesiuni dementorat 1 la 1 cu unii dintre cei mai apreciai proesioniti ai

    Startupul Axosuits a ctigat

    How to Web Startup Spotlight 2014

    startups

  • 8/10/2019 Today Software Magazine N30/2014

    13/56

    13www.todaysoftmag.ro | nr. 30/decembrie, 2014

    TODAY SOFTWAREMAGAZINE

    industriei la nivel global.Bogdan Iordache (Investitor 3S Capital Partners i onda-

    tor How to Web), Robert Knapp (Fondator & CEO Cyberghost),Adrian Ghear (investitor de tip angel), Bogdan Ripa (MasterProduct Owner Adobe Romania), Bogdan enea (IXIAInnovation & Entrepreneurship Appointee), Sitar eli (ManagingPartner Connect Ventures) i Cosmin Ochior (BusinessDevelopment Manager hub:raum)au cut parte din juriul carea desemnat ctigtorii How to Web Startup Spotlight lund nconsiderare experiena echipei, dimensiunea pieei i tendineleactuale, validarea utilizatorilor, creterea iniial, costul de achizi-ie al utilizatorilor, scalabilitatea i ezabilitatea aacerii.

    Marele ctigtor al How to Web Startup Spotlight 2014 esteAxo Suits, dezvoltatorii unui exoschelet accesibil ca pre i uorde olosit pentru persoanele cu dizabiliti. Avandor, platormdeschis de date ale consumatorilor disponibil ca Sofware-as-a-Service ntregului ecosistem ormat din site-uri web, agenii,companii de ecommercesau publicitate, a ocupat locul al doilea

    n competiie. Echipa de la ProjectWipe, care dezvolt ochelarielectronici pentru a ajuta persoanele cu dizabiliti de vedere s seorienteze i s evite obstacolele, a primit IXIA Innovation Awards,iar premiul pentru cea mai bun prezentare a ost ctigat de Lat.io, kit de dezvoltare sofware personalizabil, care permite dezvol-tatorilor i companiilor s integreze tehnologiile iBeacon r ase pierde n detalii. Echipele ctigtoare au primit premii cashnvaloare total de 20.000 USD oerite de IXIA, partener principalal programului.

    How to Web Startup Spotlight s-a ncheiat oficial smbt, 22noiembrie, cu un eveniment social n cadrul cruia participaniivor avea ocazia s ormeze conexiuni valoroase cu personaliti

    cheie din industria de tehnologie la nivel global.Startup Spotlight a avut loc n cadrul How to Web Conerence2014, cel mai important eveniment despre inovaie, tehnologiei antreprenoriat din Europa de Sud-Est care a reunit pe 20 i 21noiembrie la Bucureti peste 1000 de reprezentani ai comunitiidin ntreaga regiune i mai bine de 70 de invitai speciali de pe 4continente.

    Organizat cu sprijinul partenerilor principali elekomRomania, Bitdeender, IXIA i Graperuit i al partenerilorAvangate, Soflayer, Ambasada Canadei n Romnia, Hub:raum,CyberGhost, Domain.me, echHub Bucharest, Mobaba i Reea,How to Web Conerence 2014a marcat un nou nceput pentrueveniment i a propus de aceast dat audienei un ormat mai

    complex, care a abordat n prounzime subiecte specifice, rele-vante pentru dierite categorii de audien.

    Astel, pe scena principal a evenimentului a avut loc Howto Web Future rends & Entrepreneurship racki a adusn atenia audienei subiecte precum internetul lucrurilor ioportunitile de business create de acesta, evoluia i impli-caiile cripto-monedelor, tendinele viitorului n securitatecibernetic, tehnologii mobile i industria transporturilor, sauobinerea de investiii prin dierite metode de finanare.

    How to Web este mai mult dect o conerin. Este o mani-estare i un punct de ntlnire pentru comunitatea techdin

    regiune i are loc anual pentru comunitate, dar mai ales cusprijinul acesteia. Ajuni la finalul celei de a cincea ediii inter-naionale a evenimentului vreau s le mulumesc tuturor celorcare au cut i de aceast lucrurile s se ntmple: parteneriievenimentului, mentorii i invitaii care au ost i de aceast

    dat alturi de noi, tuturor voluntarilor care s-au asigurat c

    lucrurile se desoar conorm planului, echipei How to Web,i, mai mult dect att, fiecrui participant care a venit aicipentru a schimba idei cu ali proesioniti n tehnologie. Amdescoperit n acest an ce ne rezerv viitorul n tehnologie i con-tinum s cretem alturi de comunitatea regional, care esteastzi mai puternic i mai unit dect oricnd!,

    - Daniel Dragomir, CEO How to Web Conerence 2014

    Irina [email protected]

    PR Manager@ How to Web & TechHub Bucharest

  • 8/10/2019 Today Software Magazine N30/2014

    14/56

    14 nr. 30/decembrie, 2014 | www.todaysoftmag.ro

    [Ovidiu] Descrie pentru cititoriirevistei noastre capabilitile engine-ul

    Mondrian care a primit premiul al II-leala ESUG 2006 Innovation Awards i toto-dat a contribuit pentru cel oerit de ctre

    AIO.[udor] Mondrian este o platorm

    de vizualizare a datelor. Particularitatealui const n aptul c s-a numrat printreprimele astel de platorme care a oerito modalitate de scriptare succint. Deexemplu, vizualizarea unei ierarhii de clase

    arat aa:view nodes: classes.view edgesoAll: #directSubclasses.view treeLayout

    Dac dorim s extindem vizualizarean aa el nct fiecare clas s fie reprezen-tat de un dreptunghi ale crui dimensiunis fie date de metrici de cod, putem scrie:

    view shape rectangleheight: #numberOMethods;width: #numberOAttributes.

    view nodes: classes.view edgesoAll: #directSubclasses.view treeLayout

    Mondrian a deschis un nou drum ndomeniul vizualizrilor artnd cum sepot exprima succint vizualizri complicate.

    Platorma de analiz asotware-ului i a datelor

    Moose a parcurs din 2003 subndrumarea ta trecerea de la o

    platorm academic la unace poate fi olosit cu uurini n mediul comercial. Aacum este descris n Te Moose

    Book avem un proces bine defi-nit prin module de achiziie adatelor, descriere a modelelori engine-uri de prelucrarea datelor i tool-uri. Poi s

    ne dai cteva exemple de olosire a sa naplicaii sofware sau de analiz a date-lor ?

    [udor] Moose este un proiect open-sourcelarg care a nceput acum 17 ani nElveia la Universitatea din Berna. Eu lconduc de 12 ani, iar n prezent e susinutde mai multe companii i grupuri de cer-cetare din lume. Scopul platormei Mooseeste acela de a ace ct mai uoar progra-marea analizelor. Aceast abilitate conerprogramatorilor posibilitatea de a com-

    bina servicii de analiz generice pentru ale adapta la contextul sistemelor.O clas mare de astel de utili-

    zri e dat de testarea arhitecturiisistemelor sotware. De exemplu, ntr-un sistem client-server JEE poate ide dorit s nu se oloseasc @Stateulbeans. Un astel de test ar arta aa:

    allypes noneSatisy: [ :type | type isAnnotatedWith: Stateul ]

    Acesta a ost un exemplu oarecumsimplu. O regul puin mai complicatar putea s specifice ca apelurile dinspre

    codul intereei cu utilizatorul ctre ser-ver s se realizeze doar prin interee caresunt implementate de @Remote beans.Un test n direcia aceasta ar arta aa:

    (((allypes select: #isUIype) flatCollect: #clientypes) select: #is-Serverype)

    allSatisy: [ :type |type isInterace and: [ type directSubclasses anySatisy: [:class | class

    isAnnotatedWith: Remote ]]]

    Aplicaiille Moose nu se limiteazdoar la astel de testri, ci la tool-uri deanaliz de date care pot avea interaciunisoisticate. De exemplu, n poza de maijos putem vedea o sesiune de analiz or-mat din patru pai. n primul panou seconstruiete o vizualizare a claselor, iar

    vizualizarea e artat n al doilea panou;selectarea unei clase din aceast vizuali-zare duce la deschiderea unui nou panoucu detalii ale clasei. n acest al treileapanou, se mai poate construi o alt vizua-lizare care arat n partea dreapt cum suntutilizate atributele de ctre metodele claseicurente. Acesta este doar un exemplu carearat cum se pot combina i contextualizaanalizele ntr-un mediu vizual i interactiv.Mai multe inormaii despre Moose pot figsite la: http://moosetechnology.org

    ema pe care ai abordat-o la eveni-mentul Be Fast & Curious! este Humane

    Assessment ce reprezint o nou metodde sotware engineering cu scopul de

    udor este cercettor i consultant sofware. El a devenit recent cunoscut prin ctigarea premiului anual la categoria Junioroerit de ctre AIO (Association Internationale pour les echnologies Objets), organizaie ce promoveaz cercetarea din ariatehnologiilor orientate pe obiect. El a ost prezent n 13 decembrie la Cluj, la evenimentul Be Fast & Curious ! organizat dectre compania 3Pillar Global.

    interviu

    Metrici n programarea obiectual -Interviu cu Tudor Grba

  • 8/10/2019 Today Software Magazine N30/2014

    15/56

    15www.todaysoftmag.ro | nr. 30/decembrie, 2014

    TODAY SOFTWAREMAGAZINE

    a ajuta n luarea deciziilor. Poi s nedescrii n linii mari despre ce este vorba?

    [udor] Inginerii sofwarepetrec maimult de jumtate din timp evalund stareacurent a sistemelor pentru a nelege cum

    s purcead mai departe. Cu alte cuvinte,evaluarea sistemelor sotware (sotwareassessment) e cea mai costisitoare activitatedin cadrul dezvoltrii sofware-ului.

    Cu toate acestea, nimeni nu vorbetedespre aceast activitate. O consecin aacestui apt e c inginerii sofwareajungs consume cea mai mare parte din tim-pul alocat evalurii citind cod. Din pcate,cititul codului e practic cea mai puin sca-labil modalitate de a nelege codul i nue metoda adecvat pentru nelegerea sis-

    temelor mari. Ca un exemplu, dac un omcare citete rapid are nevoie de 2 secundepentru a citi o linie de cod, el ar avea nevoiede aproximativ o lun de lucru pentru a citi250000 de linii de cod (dimensiunea unuisistem mediu). Avnd n vedere aptul cinginerii sofwareau nevoie de a nelegestarea sistemului n fiecare zi, n cele dinurm deciziile se iau pe baza unor impre-sii pariale i de multe ori incorecte desprerealitate.

    Dar lucrurile nu trebuie s stea aa.Humane Assessment este o metod care

    oer o abordare sistematic a lurii deci-ziilor i la baza ei st ideea c adunarea deinormaii poate fi realizat de ctre tool-uri automate. n acelai timp, astel detool-uri trebuie s fie contextualizate pen-

    tru c un sistem are multe detalii specifice.De aceea e necesar ca inginerii sofwarespoat s construiasc astel de tool-uri intimpul dezvoltrii sofware.

    Pentru a ace acest lucru practicabilavem nevoie de un nou gen de platormecare s oere posibilitatea programatorilorde a construi tool-uri contextuale rapid inecostisitor. Aici intervin abilitile plat-ormei Moose. Prin Moose, noi artm cacest lucru este ntr-adevr posibil, iar eususin c tipul de uncionaliti oerite de

    platorm ar trebui s devin comune ntool-urile de dezvoltare (IDE-uri).ool-urile sunt necesare, dar nu sunt

    suficiente. De aceea, Humane Assessmentoer un ghid att n ceea ce privete tipu-rile de abiliti pe care inginerii ar trebuis le posede, ct i n ceea ce privetemodificarea proceselor de dezvoltare. Deexemplu, avnd n vedere aptul c struc-tura sistemului se modiic permanent,este nevoie s se urmreasc i ajustezezilnic arhitectura sistemului. n acest scopHumane Assessment recomand o edin

    zilnic scurt care s includ doar ingi-neri i n cadrul creia se abordeaz doarprobleme care au ost evideniate printr-o analiz automat dezvoltat n nainteaedinei.

    Mai multe inormaii despre HumaneAssessment se pot gsi la: http://humane-assessment.com

    Dac mine ar trebui s scrii unarticol despre sotware, care ar i titlulacestuia ?

    [udor] Sofware environmentalism.

    Care este perspectiva ta asupraevoluiei tehnologiei peste 10 ani iimpactul acesteia n viaa de zi cu zi a

    oamenilor?[udor] ehnologia va avea un rol din

    ce n ce mai pregnant n viaa noastr de zicu zi. Acesta este o direcie evident. Maipuin evident e ceea ce implic acest lucru.

    Viteza cu care producem sisteme noicrete pe zi ce trece. Pe de o parte, acestae un lucru bun. Pe de alta parte, abilitateanoastr de a ne debarasa de sisteme vechinu a inut pasul. S luam un exemplu: unstudiu Gartner arat ca n lume mai existn uz circa 10.000 de sisteme de tip main-rame. Acestea sunt sisteme care pot ajungechiar mai n vrst dect majoritatea pro-gramatorilor din ziua de astzi. Aceasta nearat c sofware-ul nu e chiar att de sofpe ct am putea crede. Odat creat un sis-tem, el produce consecine i dependeneinclusiv la nivel economic i social care i

    cimenteaz poziia i l ace aproape impo-sibil de aruncat. Singurele opiuni rmnrecondiionarea i reciclarea.

    Datorita proporiei i impactuluiindustriei sotware, e nevoie s privimproducia de sisteme sotware ca pe oproblem de importan i dimensiuneecologic. Orice sistem trebuie s fie con-struit n aa el nct n viitor s poat fiuor de dezasamblat. Aceasta e o responsa-bilitate pe care noi, ca ingineri ai lumii demine, trebuie s ne-o nsuim.

    Ovidiu [email protected]

    Editor-in-chiefToday Software Magazine

  • 8/10/2019 Today Software Magazine N30/2014

    16/56

    16 nr. 30/decembrie, 2014 | www.todaysoftmag.ro

    Michael Bolton s-a aflat n Cluj-Napoca n perioada 17-20 noiembrie pentru a susine cursurile Rapid Sofware estingiCritical Tinking. nainte de a-i continua cltoria prin lume, echipa Altom l-a oprit pentru un interviu, pentru a aflacteva din perspectivele lui n legtur cu testarea sofwarei educaia n testare, legtura ntre testare i procesul de des-coperire tiinific, precum i prerea lui despre comunitile de tester-i i rolul lor n poteniale revoluii n testare.

    [RamonaMer] Care sunt temele prin-

    cipale abordate n cursul RS?[Michael] Sunt oarte multe cel mai

    important lucru este s descoperim careeste esena testrii. Ne concentrm ateniaasupra setului de abiliti i a modului degndire al tester-ului ca individ.

    Vorbim mult despre euristici - metodenon-inailibile de rezolvare a unei pro-bleme. Vorbim mult despre oracole- metode care ne ajut s recunoatem oproblem. Vorbim i despre test coverage- cum s ne uitm la un program dintr-

    o diversitate de perspective, ca demersulnostru s descopere o varietate de pro-bleme relevante.

    Acestea sunt cele mai importantelucruri care mi vin n minte: dezvoltareasetului de abiliti i a modului de gndireal tester-ului.

    Cum evolueaz coninutul cursului?

    Crete n continuare?[Michael] E ngrozitor! n prezent

    avem material pentru aproximativ aptezile, iar cursul dureaz trei zile. De apt,dac am vrea s acem toate exerciiile pecare le-am dezvoltat de-a lungul anilor, petoate temele care ne-ar plcea s fie acope-rite, chiar nu am idee ct de mult ar duracursul 2-3 sptmni? Poate patru?

    Un alt proiect care s-a conturat de-alungul anilor a ost cursul deRapid estingor Managers . Iar anul acesta James a

    lansat un curs de dou zile pentru progra-matori sau pentru oameni care scriu cod(Rapid Sofware esting or Programmers- http://www.ministryotesting.com/training-events/rapid-sotware-testing-programmers/). E oarte interesant!Majoritatea exerciiilor din acel curs suntgndite n jurul inormaiei care poate fiobinut prin olosirea programelor i a

    scripting-ului. Astel de aspecte sunt greu

    de ncorporat n cursul obinuit.ntre timp, exist o constant evoluie

    a materialului, prin cutarea de aspectedin lumea real pe care le includem ncurs. Cea mai presant problem pen-tru moment este s ne dm seama cums evideniem mai mult aspectele legatede cunoaterea explicit i tacit. Pentrumoment ele se al n materialul cursu-lui ntr-un mod implicit, sau tacit, dacvrei. A vrea s rezervm timpul necesars discutm mai mult despre asta i poate

    s acem cteva exerciii legate de cum seaplic conceptele n testare.A vrea s ac i mai multe exerciii

    de raportare, s le dm participaniloransa s ncerce ceva i s greeasc. Apois exerseze de cteva ori, pentru a-imbunti modul de raportare.

    Deci materialul evolueaz ncontinuu,ntotdeauna descoperim ceva nou. De

    Despre testare, descoperiri tiinifice i revoluii

    - O discuie cu Michael Bolton

    interviu

  • 8/10/2019 Today Software Magazine N30/2014

    17/56

    17www.todaysoftmag.ro | nr. 30/decembrie, 2014

    TODAY SOFTWAREMAGAZINE

    exemplu, James a nceput s lucreze cu Rn ultima vreme - un limbaj care i per-mite s vizualizezi date i s le modelezi neluri oarte interesante.

    estarea se schimb, prin urmare cur-sul se schimb i asta e un lucru bun.

    Cum ai descrie persoana care ar bene-ficia de cursul de Rapid Sofware estingsau cursul Critical thinking? De ce suntaceste cursuri valoroase i pentru cine?

    [Michael] Spunem de mult vreme cRSse potrivete pentru tester-i de oricenivel, pentru c am conceput exerciiileinspirai de munca lui Jerry Weinberg. ieu i James am ost studenii lui n acestmod inormal n care poi fi student al luiJerry. Am participat la multe dintre work-shop-urile lui, la multe dintre cursurile lui,

    din care am nvat enorm despre cum sstructuram cursul.

    Jerry este de mult timp un susintoral workshop-urilor experieniale i odatne-a dezvluit unul din secretele lui, des-pre care vorbete i n crile lui, de altel.Secretul este c dintr-un exerciiu rezo-nabil, toi nva ce au nevoie s nvee,indierent de nivelul lor de cunotine sauabiliti.

    Deci unii oameni vor nva lucruride baz din exerciiile noastre, pen-

    tru c ei sunt la un nivel de baz. Alioameni, care sunt mai avansai, poatevor observa altceva, sau vor descopericeva n comportamentul oamenilor maipuin experimentai i vor nelege cum si ghideze. Uneori oamenii neleg maibine cum s observe. Aspectul rumos nabordarea lui Jerry este c depinde de fie-care ce va nva. Asta e destul de relaxantpentru noi n sensul c dei avem ctevalucruri pe care am vrea ca oamenii s lenvee i despre care vorbim, nu e obli-gatoriu s nvee exact acele lucruri. Ca

    o consecin, participanii nva lucruridierite. Noi i observm cnd asta i ast-el adunm subiecte despre care am puteavorbi, pentru c nelegem mai bine ce aunevoie oamenii s nvee, cu ce rmn dinexerciii, ce obin din experiena oerit.

    Aa c ambele cursuri, i RS iCritical hinking,pot i olositoare pen-tru oricine la orice nivel. E un proces cucaracter dual: sunt n jur de 24 de oamenin sal, iar noi nu putem s nvam 24 depersoane dierite n acelai el. Aa c e

    nevoie s le oerim spaiul s nvee. Noile dm oamenilor o oportunitate s nvee,n loc s ncercam s i nvam noi cevaanume, mai ales cnd procesul lor denvare pare promitor.

    Ce sat ai da cuiva care ace testarei ar vrea s gseasc pasiune n ceea ce

    ace, dar nc nu a ajuns acolo?[Michael] Am un rspuns standard

    pentru aceast problem legat de cuminsuli pasiune oamenilor: nu cred c enevoie s aci asta. estarea implic curi-ozitate, iar oamenii sunt curioi prinnatura lor. Sunt ntrebat adesea: Cummotivezi testerii?. Rspunsul meu e c nue nevoie s aci altceva dect s te opretidin a-i demotiva! Asta e o mare problem

    n domeniul nostru. O dat ce le iei res-ponsabilitatea oamenilor i i transormi nexecutani pentru munca altor oameni, eirenun la implicare i i pierd interesul.Dac le ncredinezi oamenilor o misiunede a descoperi ceva, ei vor merge s desco-pere acel ceva de unii singuri.

    Ce carte ai citit recent i ai reco-manda-o unui tester?

    [Michael] Acum citesc o carte care secheam Te organized mind de DavidLevithan, dar tot ntrerup lectura ei.

    n ultima vreme am citit cteva cridespre probabilitate, risc i statistic, daraceste lecturi ac parte din aria mea per-sonal de interes. ns nu a putea spunec am avut o revelaie recent n legturcu o carte, cu excepia anului petrecutcitind crile lui Harry Collins. Fiecaredintre crile lui mi se pare valoroas. Eun scriitor oarte prolific, care abordeazo diversitate minunat de teme, pe lngsociologia tiinei, care e tema lui central.

    A recomanda testerilor s citeasc

    o serie de cri numit he Golem -golemul este o creatur din mitologiaevreiasc, un uria nendemnatic, care semic greoi, iar aceast metaor a inspirateseurile lui Harry Collins, revor Pinch

    i ale altor colegi de-ai lor incluse n celedou cri.

    Una dintre cri se numete hegolem and what everyone needs to knowabout science, iar cealalt Te golem atlarge - what everyone needs to know abouttechnology. Ambele sunt oarte intere-sante pentru tester-i, pentru c vorbescdespre natura sinuoas a descoperirii, des-pre aptul c descoperirile nu se ntmplaa cum ni le imaginm de obicei.

    Crile includ mici studii de caz i

    investigaii legate de ce s-a ntmplat cuadevrat n studii tiinifice. De exemplu,experimentul Michaelson-Moorley, unuldintre cele mai cunoscute experimentedin istoria tiinei, nu a ost niciodat fina-lizat. Dar despre asta nu prea se vorbetecnd se discut despre experiment, ci dim-potriv, el apare ca o unitate complet.Asta ilustreaz aptul c tiina e haotic iderutant. De asemenea, e nevoie de timppentru a discerne tiina bun de tiinarea sau de a dierenia un om de tiinbun de unul rau. Mai ales c atunci

    cnd are loc o descoperire revoluionar,reacia natural a comunitii este: Nupoate fi corect! Acest om e incompetent!.Galileo a ost n mod evident un geniu,despre care contemporanii lui credeau ce nebun!

    Singura excepie la istoria lung a aces-tui comportament a ost Einstein. El a ostexcepional din punctul acesta de vedere,dar i multe din elementele teoriilor lui auost controversate pn n anii 60. Abiadup aproape 60 de ani de la descoperirile

    lui, ultimele obiecii au ost nlturate.Felul n care Harry a descris n maimulte locuri imaginea noastr asupra pro-cesului tiinific, e ca o corabie ntr-o sticl.Noi o vedem ca pe un lucru gata cut. El

  • 8/10/2019 Today Software Magazine N30/2014

    18/56

    18 nr. 30/decembrie, 2014 | www.todaysoftmag.ro

    spune c nu vedem dezordinea, nu vedemlipiciul vrsat, catargul rupt, ncercrilecare nu au uncionat, prile care nu s-au

    potrivit, i altele. n schimb, vedem proiec-tul terminat. Cred c acesta este un aspectoarte interesant n legtur cu modul ncare tiina este perceput de ctre publicullarg. Autorul prezint o imagine dierit decea a unui geniu singuratic undeva ntr-omansard, care a avut subit o revelaiemiraculoas, iar lumea din jur a acceptatinstant acea idee c fiind un lucru normali minunat. De apt, tiina e presrat cuaceleai tipuri de controverse cu care seconrunt i testeri-ii zi de zi atunci cnd

    exist dubii n legtur cu gravitatea uneiprobleme sau cu existena eectiv a uneiprobleme ntr-un anumit context.

    Cu fiecare proiect ne place s ne gn-dim Gata, am terminat!. Dar nu existcertitudine absolut n legtur cu acestgen de concluzii. Jerry Weinberg spune cun singur bit e de ajuns pentru a pulverizavaloarea unui program, un singur bit. Maimult, pn cnd nu se ntmpl asta, nuputem ti exact care este acel bit.

    Sunt nite cri antastice! Sunt oarteplcute i sunt scrise ntr-un mod capti-

    vant i distractiv. i raportul numrului derevelaii pe pagin e oarte mare.

    Cum vezi rolul comunitilor de tes-ter-i? Se mai pot declana revoluii ntestare?

    [Michael] Am participat n mai multecomuniti. Am nceput una n oronto(oronto workshops in sotware testing),am ost la ormarea unei alte comunitin Olanda, numit DEW (DutchExploratory Workshops on esting) carea ost n mare parte inspirat de LEW,London Exploratory Workshops onesting, nfiinat de James Lyndsay. Amost la toate acestea trei, i cred c de aptde aici ncepe REVOLUIA!

    ncepe cu un numr mic de oameni,

    ca orice alt revoluie. ncepe cu un grupmic de oameni care se adun i vor-besc despre interesele lor, i mprtescexperienele i experimenteaz idei mpre-un. M simt oarte privilegiat s fiu partedin aceste grupuri! Sunt invitat din cndn cnd la astel de evenimente, sau uneorisunt ntr-un loc n care cineva organizeazo astel de ntlnire spontan, ceea ce emereu minunat. Este minunat, pentru caa ncepem s punem testeri-i n centrultestrii, prin aptul c mprtim fiecareexperienele noastre, n loc s stm s

    ascultm un material care ni se recit dectre o singur persoan. Pe ct de multmi plac crile, nu cred c putem obine

    totul din cri. Avem nevoie de discuiintre noi, de a nva unul de la cellalt, dea interaciona unul cu cellalt, de a ne ajutareciproc s rezolvm problemele cu care neconruntm.

    La o scar mai mare, conerinelesunt oarte bune ntr-un anumit sens,pentru c ne dau ocazia s ntlnim mulioameni noi. Mie mi plac ntlnirile mici,care ncep cu un grup de oameni care sentlnesc s bea caea sau bere. Una dincele mai interesante de acest el e probabilWeekend esters din India, creat de AjayBalamurugadas. Am vzut o prezentare alui Ajay despre acest subiect. A ost attde captivant! A descris evoluia acesteicomuniti. Dup o perioad de 15 sp-tmni n care n iecare week-end s-auntlnit mai nti n persoan, dup care

    online, au creat o comunitate de tester-i cuabiliti remarcabile n India. otul a nce-put cu patru prieteni i mentorul lor, dupcare s-a rspndit la ali patru prieteni, idestul de curnd oameni din Mumbay iChenai, dup ce au auzit despre ntlniriprin zvonuri, ntrebau Hei! am putea sne implicm i noi n aceast iniiativ?

    Aa cresc comunitile, aa nceprevoluiile, aa sunt iniiate schimbrilemari. Marile schimbri ncep mereu cuschimbri mici.

    Concept i brainstorming de ntrebri:Echipa AltomSelecia ntrebrilor: Alexandra CasapuReporter: Ramona ripaSunet: Alexandra Casapuranscript: Levente Balintraducere: Ramona ripa, Levente Balint iAlexandra CasapuEditare: Oana Casapu

    interviu

    Alexandra [email protected]

    Software Tester@ Altom Consulting

  • 8/10/2019 Today Software Magazine N30/2014

    19/56

    19www.todaysoftmag.ro | nr. 30/decembrie, 2014

    TODAY SOFTWAREMAGAZINE

    ransylvania Java User Group

    Comunitate dedicat tehnologiilor Java.Website: www.transylvania-jug.orgData nfiinrii: 15.05.2008 / Nr. Membri: 594 / Nr. Evenimente: 47

    Comunitatea SMComunitate construit n jurul revistei oday Sofware Magazine.Websites: www.acebook.com/todaysofmag www.meetup.com/todaysofmag www.youtube.com/todaysofmagData nfiinrii: 06.02.2012 /Nr. Membri: 2011/Nr. Evenimente: 27

    Cluj Business Analysts

    Comunitate dedicat analizei de businessWebsite: www.meetup.com/Business-Analysts-ClujData nfiinrii: 10.07.2013 / Nr. Membri: 91 / Nr. Evenimente: 8

    Cluj Mobile DevelopersComunitate dedicat tehnologiilor mobileWebsite: www.meetup.com/Cluj-Mobile-DevelopersData nfiinrii: 05.08.2011 / Nr. Membri: 264 / Nr. Evenimente: 17

    Te Cluj Napoca Agile Sofware Meetup Group

    Comunitate dedicat metodelor Agile de dezvoltare sofware.Website: www.agileworks.roData nfiinrii: 04.10.2010 / Nr. Membri: 437 / Nr. Evenimente: 93

    Cluj Semantic WEB Meetup

    Comunitate dedicat tehnologiilor semantice.Website: www.meetup.com/Cluj-Semantic-WEB

    Data nfiinrii: 08.05.2010 / Nr. Membri: 192/ Nr. Evenimente: 29

    Romanian Association or Better Sofware

    Comunitate dedicat oamenilor cu experien din I indierent detehnologie sau specializare.Website: www.rabs.roData nfiinrii: 10.02.2011 / Nr. Membri: 251/ Nr. Evenimente: 14

    abra de testare

    Comunitate ormat din testeri i ali proesioniti din industriaI care, n cadrul unor ntlniri inormale lunare, mprtescdin cunotinele proprii i nva din experienele proesionale ale

    celorlali membri.Website: www.tabaradetestare.roData nfiinrii: 15.01.2012/Nr. Membri: 1243/ Nr. Evenimente: 107

    ncheiem acest an cu satisacia participrii la multe evenimente de calitate iar ediia a II-a a I Days a ncununat finalul de an.S nu uitm i de cele 12 evenimente de lansare din Cluj i de cele 4 evenimente pe care le-am organizat n Bucureti, imioara,Iai i rgu Mure. Peste 100 de prezentri de articole au ost susinute iar majoritatea lor sunt disponibile pe canalul nostru deYouube www.youtube.com/todaysofmag.

    CalendarDecembrie 16 (Cluj)

    Lansarea numrului 30 al oday Sofware Magazine

    www.todaysofmag.ro

    Decembrie 18 (Cluj)

    PM Meetup - Monitoring & Controlling (2)m e e t u p . c o m / P M I - R o m a n i a - C l u j - N a p o c a -P r o j e c t - M a n a g e m e n t - M e e t u p - G r o u p /events/218942428/

    Decembrie 16 (Bucureti)

    Lean Startup Buchares - Last end o the year meetupmeetup.com/lean-startup-bucharest/events/219062023/

    Comuniti IT

    comuniti

  • 8/10/2019 Today Software Magazine N30/2014

    20/56

    20 nr. 30/2014 | www.todaysoftmag.ro

    programare

    Paragraele urmtoare se vor con-centra mai mult pe modul de lucru detip Agile, dar va sublinia i importanabazei solide a ntregului proces n sine,care a ost construit de-a lungul anilori a implicat muli experi n domeniu.

    Waterfalln multe cazuri, procesul de testare de

    perorman ar fi artat ca i cel de mai jos:o echip de testare de perorman (echipaperqa), care are ultimul cuvnt, nainte caun produs s ajung n producie:

    Chiar dac echipa per qa ar i ostimplicat n stadiile incipiente ale unuiprodus, prin intermediul edinei dencepere a proiectului (Kick-off meeting),aceasta nu ceam parte din sprint-uri, nu

    era lng programatori i nici nu aveauacelai manager ca i echipa de dezvol-tare. oate cele de mai sus au generatcteva neconcordane cu modul de lucruAgile, dup care s-au ghidat echipele dedezvoltare:

    Noi (echipaperqa) urmm propriulprogram, construit pe baza cerinelor pecare le au echipele de dezvoltare.

    Nu simeam ritmul i diicultileechipei de dezvoltare - pentru carerulm testele de perorman

    Responsabilitatea pentru livrareaunui produs de calitate i perormant aost mprit ntre echipe dierite.

    Minunea Agilen timp, procesul de perqa a nce-

    put s se schimbe i a ncercat s rezolveproblemele de mai sus. Drept urmare, aluat natere conceptul de perormancechampions. Chiar dac conceptul a

    ost nou, nu aducea nimic inovator sauextraordinar. Era vorba mai mult de ocomunitate ai crei membri au ost pro-gramatori sau tester-i din dierite echipede dezvoltare. Aceti perormance cham-pions au nceput s ie direct implicain procesul deperqa aducnd astel tes-tarea de perorman i responsabilitateatestelor de perorman mai aproape deechipele de dezvoltare n timp ce echipadeperqale-a oerit coaching, mentorat indrumare.

    Ca un susintor i ntr-un el ndru-

    mtor a conceptului de perormancechampions, voi prezenta cteva dintregndurile mele precum le-ar fi prezentatClint Eastwood:

    BinelePn acuma aveam programarea,

    testarea uncional, managementul deproiect, analiza de business, devops curol de componente ale unei echipe, dacla toate acestea adugm i testarea deperorman, echipa devine complet i pe

    deplin responsabil de produsele livrate.estarea de perorman poate ace parteacuma din planiicarea sprint i poatei adaptat n uncie de nevoile iecrei

    Ca orice alt poveste de succes, atunci cnd vine vorba de testele de perormanpovestea noastr mbin armonios oameni i procese. Companii dierite au labaza culturi dierite, astel nct acestea jongleaz cu un amalgam dierit deoameni i procese . Echipele versate, care au persoane dedicate testelor de perorman

    ar putea olosi doar ghidri generale ca un proces, n timp ce echipele mai agile ncare se rotete rolul responsabilului n testarea de perorman, ntre membrii echipei,probabil c ar avea nevoie de procese mai detaliate, liste de verificare etc. astel nctntregul flux de testare de perorman s fie consecvent de la un sprint la altul, iarrezultatele s oere acelai nivel de ncredere.

    Testarea de performande la Waterfall la Agile

    testare

    Claudiu [email protected]

    Senior Delivery Service Engineer@ Betfair

  • 8/10/2019 Today Software Magazine N30/2014

    21/56

    21www.todaysoftmag.ro | nr. 30/decembrie, 2014

    TODAY SOFTWAREMAGAZINE

    echipe.ns odat cu aceasta apar i noi provo-

    cri i oamenii vor fi nevoii s i extinddomeniul de expertiz cu: strategii de tes-tare de perorman, instrumente, reglarei monitorizare.

    Rulrebuie inut cont de dierena dintre

    un expert pe un anumit domeniu (ex.:expert pe testarea de perorman) i o per-soan mai versatil care este specializat pedierite tehnologii (ex.: dezvoltare i testarede perorman sau testare uncional itestare de perorman).

    UrtulAvnd n vedere ca testele de

    perorman intr acum n responsabi-

    litatea iecrei echipe, ei le vor adaptanevoilor pe care le au. Acesta ar puteas nu ie neaprat un lucru urt, avndn vedere c pn la sritul zilei toii artrebui s aib o nelegere coerent despreperormana unei componente (ex. :100de tranzacii pe secund PS ar nsemnaacelai lucru pentru toi) i toi ar dori saib un produs integrat i nu o grmadde componente mari i perormante.Mediile de testare de perorman vortrebui meninute de dierite pri ale

    organizaiei.Suporterii pentru conceptul per-ormance champions (comunitatea deexperi) ar trebui s ncerce cel puinschimbarea de mai sus ns desigur nutrebuie schimbate lucrurile care deja mergbine (Binele). Expertiza poate consta dinurmtoarele:

    M e d i u p e n t r u t e s t a r e a d eperorman: pregtirea mediului ar

    trebui abordat ct mai curnd posibil,mai ales n cazul n care nu exist niciun responsabil pentru asta. Folosindmediul, echipa ar trebui s aloce timppentru remprosptarea (rereshing)componentei de testat i a dependinelorsale. Mediul de perorman ar putea fi oreplic la scal a mediului de produciesau un mediu pentru disaster recovery. Modelul de tes tare: De obicei estesugerat s se oloseasc principiul luiPareto, care s-ar traduce: 20% din flu-xurile de aplicare ar genera 80% dinncrcare. Deci practic, aceasta estepartea asupra creia trebuie s ne con-centrm din perspectiva testelor deperorman. Modelarea procesuluide real lie user (cum ar i: n oricemoment dat 10% dintre utilizatori

    sau dintre cei care se autentiic, 20%ncrca pagina de start, etc.) este destulde important pentru nelegerea com-portamentului de perorman a uneicereri care accept ~ tps 60k la vr. Strategia de testare: ncrcarea, capa-citatea, scalabilitatea i soak testing suntcritice, iar ntrebarea care se pune este:Ct de mult pot ace a. Acest luxar trebui s nceap n mod natural cupartea de load testing i nelegereaperormanei n sarcin normal, apoi

    s se treac la testarea pentru capaci-tate (capacity testing)care ar trebui sgenereze cererea de tuning (cum ar ituningGC) i s dezvluie punctul slabal aplicaiei i mai important motivulacestei slbiciuni care poate i: CPUstarving, memoria, un thread pool sauo interogare db eronat. Apoi, s inves-teasc n testarea scalabilitii, ie ceste scalare vertical ca sistemul bursei

    de valori fie scalare orizontal care dinnou ar trebui s genereze optimizride scalabilitate deoarece majoritateaaplicaiilor nu se scaleaz 100% adu-gnd un extra server .Am vzut cele maimulte scalnd ~ 80%, astel nct, dacun server poate duce ~ 100tps, douar duce ~ 180tps). Cu toate acestea, unsoak test de 8 ore ar putea dezvluiprobleme de stabilitate i chiar posibilepierderi de memorie (chiar dac mici). estarea componentelor vs testarea inte-grat: De obicei, limitrile de timp nupermit testarea de perorman a com-ponentelor, ns mimnd dependinelei aplicnd load testing pentru toatecomponentele ar putea fi identificate pro-blemele de perorman nc din stadiileincipiente ale procesului de dezvoltare .

    Monitorizarea produciei: Cu toate car putea suna mai degrab ca i o sar-cin operaional, munca tester-uluide perorman nu se oprete odatce produsul a intrat n producie.Monitorizarea n producie i culegereadeeedbackajut la ajustarea modeluluii nelegerea rezultatelor n produciear putea aprea probleme care nu auputut fi replicate n mediul de testare.

    programare

  • 8/10/2019 Today Software Magazine N30/2014

    22/56

    22 nr. 30/2014 | www.todaysoftmag.ro

    Folosirea instrumentelor de control al versiunii a devenit un obicei n modul nos-tru de lucru, iar una dintre proprietile lor, aceea de a olosi branch-uri, poate fiructificat dup cum consider fiecare echipa c aduce valoare. S-au scris multearticole despre strategiile de branchingi n timp ce unele dintre ele au devenit oartepopulare, aproape toate au o problem comun care trebuie abordat. Aceasta este pro-blema procesului mergingntre branch-uri. Exist un motiv pentru care se discut nu

    doar n termeni de strategie de branching, ci in termeni de strategie de branchingimerging.

    Fuziunea se poate transorma uor ncomar atunci cnd strategia abordat estegreit. Putem s lum ca exemplu unadintre cele mai populare strategii de uzi-une, strategia Vincent Driessen prezentatn Figura1. Aceast strategie poate s nuie cea mai potrivit n anumite condiiintlnite destul de des.

    Figura 1: modelul Vincent Driessen

    Ne concentrm pe cele dou branch-uri care sunt intens olosite: eature idevelop.

    Branch-ul eature este creat dinbranch-ul develop i este olosit de pro-

    gramator pentru a implementa o nouuncionalitate.Cnd termin implementarea, va aduce

    modificrile de pe branch-ul eature nbranch-ul develop astel nct acestea vor

    deveni disponibile pentru restul echipei.De urmrit urmtoarea situaie: George lucreaz pe branch-ul

    branch-George i l creeaz din branchdevelop;

    Andrei lucreaz deja pe branch-ullui, branch-Andrei, de ieri;

    Maria i termin de implementatuncionalitatea dup 6 zile de lucru i

    eectueaz operaia de mergea branch-ului pe care a lucrat, branch-Maria, nbranch-ul develop;

    Dan, QA-ul nostru, ncepe testareauncionalitii implementate de Maria.

    Acesta pare a fi un workflow sntos,ns ascunde cteva riscuri care n inalvor duce la un eort adiional att pe parteade dezvoltare, ct i pe cea de testare. Iatcteva dintre aceste riscuri:

    Riscul retestrii funcionalitiiDan i petrece o zi testnd toate

    particularitile implementrii Mariei in final i d acordul. otul uncioneazbine. Ceea ce el nc nu tie este aptul cAndrei lucreaz cu dou dintre iierelemodificate de Maria. Andrei i eectueazun mergeal branch-ului su trei zile maitrziu n branch-ul developi e bucuros cnu ntmpin conflicte. Dan ncepe testa-rea dar observ c uncionalitatea Marieinu se mai comport bine. Dan creeazun tichet pentru Maria, Maria rezolvproblema olosind de aceast dat i modi-

    ficrile aduse de Andrei, iar Dan urmeazs testeze din nou att uncionalitateaMariei, ct i pe cea a lui Dan.

    Aadar Maria a pierdut timp pentrureparaia respectiv, iar Dan a pierdut timp

    Riscurile operrii cu branch-uri.Alternativa de branching prin abstractizare

    programare

    Anghel [email protected]

    Design Lead@ Endava

  • 8/10/2019 Today Software Magazine N30/2014

    23/56

    23www.todaysoftmag.ro | nr. 30/decembrie, 2014

    TODAY SOFTWAREMAGAZINE

    deoarece a trebuit s testeze cel puin dedou ori ambele uncionaliti.

    Riscul fuzionriiSe ntmpl des ca dezvoltarea

    uncionalitilor i scrierea de teste uni-tare pentru ele s dureze cteva zile.Pentru a micora riscul apariiei de con-flicte la uziune programatorii ncearc si aduc branch-ul develop ct mai des(probabil n iecare zi) n branch-ul pecare ei dezvolt separat uncionalitatea.Faptul c se implementeaz simultan maimulte uncionaliti dierite pe branch-uri dierite este cert, iar riscul de conflictela uziune este oricum ridicat, iar cu ctprogramatorii petrec mai mult timp pebranch-ul lor specific, cu att riscul crete.

    Riscul pentru integrarea continuProgramatorii ar trebui s scrie testeunitare, teste ntre componente i teste deintegrare. Atunci cnd aceste teste suntdezvoltate mpreun cu uncionalitatea,n izolare, pe branch-ul de implementarea uncionalitii, i n acelai timp o altuncionalitate este dezvoltat mpreuncu testele corespunztoare pe un altbranch, la momentul eecturii operaiei demergeansele ca testele scrise s pice suntridicate. estele nu au ost scrise lund n

    considerare comportamentul dezvoltat nparalel pe celelalte branch-uri. Ele vor tre-bui revizuite i reparate, ceea ce aduce uneort n plus.

    Riscul pentru rularea script-urilor pebaza de date

    Multe echipe ncearc s i automa-tizeze procesul de instalare al produsului.La nivel de baze de date ruleaz n mod

    automat script-uri care aduc starea bazeide date la versiunea corect. Din cauzaaptului c programatorii vor crea acestescript-uri in izolare, pe branch-uri dierite,exist riscul de a strica ordinea n care eletrebuie rulate.

    Dac privim cu atenie rdcina aces-tor probleme, observm izolarea n carelucreaz programatorii pe branch-uri die-rite. O alternativ pentru acest mod delucru este olosirea tehnicii de branchingprin abstractizare.

    Branching prin abstractizareEste definit de Martin Fowler ca fiind

    o tehnic de a ace o schimbare pe scarlarg unui sistem sotware ntr-un modgradual care permite lansarea sistemului nmod regulat n timp ce schimbarea e nc

    n desurare.ehnica implic adugarea unui nivel

    de abstractizare deasupra uncionalitiila care se lucreaz astel nct codul cli-ent va comunica doar cu acest nivel deabstractizare, neiind contient dacolosete versiunea original sau nou aimplementrii.

    Oricare ar fi modul n care este olosittehnica, exist cteva puncte comune:

    Folosirea unui nivel de abstractizarepentru a permite existena n acelai

    timp a mai multor versiuni ale uneiuncionaliti; Migrarea gradual ctre noua

    implementare; A s i g u r a r e a c s i s t e m u l s e

    construiete i ruleaz corect n oricemoment, astel nct livrarea continueste posibil.

    n timp ce programatorul scrie teste

    pentru uncionalitatea lui, el este sigurca testele sale olosesc ultima versiunea codului deoarece colegii lui i adaugmodificrile pe acelai branch. n acest elnu vor exista operaii de mergeulterioarecare s strice testele, deoarece alte branch-uri nu exist.

    Este important plasarea corect anivelului de abstractizare i modul ncare obiectele dintr-o versiune sau alta aleaceleiai uncionaliti sunt instaniate.Din acest punct de vedere exist mult locpentru creativitate deoarece aceast deci-zie depinde i de contextul problemei. Potexista mai multe variante, dintre care vor fiprezentate dou.

    Branching prin abstractizareacomponentei

    Aceast tehnic se aplic acolo undeeste necesar modiicarea sau rescriereaunei componente mari.

    Un nivel de abstractizare trebuie ad-ugat astel nct codul client s nu maidepind de component ci de abstrac-tizare. Aceast aciune ar putea implicaunele modificri (reactoring) la nivel decomponent i teste adiionale ar puteai scrise. Modiicrile necesare n vede-rea extragerii nivelului de abstractizarear putea fi costisitor, de aceea acesta este

    un punct important pentru a lua o decizieasupra strategiei de branching.Noua implementare a componentei va

    fi cut pas cu pas, astel uncionalitilevor i adugate n uncie de prioriti.Cnd un set de uncionaliti e finalizat,clientul codului poate schimba legturilecu instanele olosite i poate migra la nouacomponent. Este important de reinutc aplicaia trebuie s poat fi construit

    diverse

  • 8/10/2019 Today Software Magazine N30/2014

    24/56

    24 nr. 30/decembrie, 2014 | www.todaysoftmag.ro

    i rulat n oricare moment. n inal nuvor mai exista dependene ctre vecheaimplementare.

    Branching prin abstractizare la nivel depunct de folosire

    S lum n considerare cazul n care

    abstractizarea la nivel de component nueste cea mai bun soluie. Motivele ar puteaconsta n eort prea mare de modiicripentru a extrage nivelul de abstractizarela nivel de componenta. Pentru astel desituaii putem lsa codul aa cum este i salegem o alt tehnic.

    Figura 3 ace reerin la codul careolosete clasa (grupul de clase) ce trebuieactualizat. Descrierea claselor din figura:

    1. Versiunea veche i versiunea nou

    a implementrii clasei care olosetecodul ce trebuie actualizat:

    Punctul de abstractizare este lanivel de clas care olosete codul cetrebuie actualizat.

    Iniial vom avea versiunea origi-nal a clasei client i o copie a ei careva deveni noua versiune (da, nu tre-buie s copiem o clas, aceasta va io situaie temporar pn cnd nouaversiune devine stabil; vom avea apoiposibilitatea de a olosi versiunea ori-ginal dac vor fi probleme n timpul

    olosirii noii versiuni; versiunea origi-nal n final va fi tears).

    Vom avea o intera nou pe

    care att clasa client original, ct inoua versiune a acestei clase client ovor implementa (Interace n Figura3). Interaa va conine probabilmetodele publice din implementareaoriginal a clasei client.

    Noua versiune a clasei client va

    i modiicat treptat pentru a aducenoile uncionaliti.

    Versiunea original va fi tearsla final.

    2. Te Factory

    Va avea responsabilitatea dea instania versiunea originalsau versiunea nou a clasei client;Responsabilitatea verificrii dac unasau cealalt dintre versiuni trebuieinstaniat se ace n interiorul com-ponentei actory.

    Poate deveni mai inteligentn msura n care este nevoie; spreexemplu, poate alege ntre cele douversiuni la pornirea aplicaiei sau ntimpul rulrii acesteia, poate s iecontient de mai multe inormaii dinmediul n care exist i s ia msuri nuncie de acestea, etc. .

    Se va olosi interaa clasei clientastel nct implementarea originalsau cea nou va fi instaniat i injec-tat acolo unde este nevoie de ea;

    Va constitui garania aptului c

    acolo unde e nevoie de o implemen-tare sau de alta, modul de alegere ntreele va i unul consistent, i nu vor i

    condiii dierite n locuri dierite.3. Spaiul de activitate al clasei client

    (the scope)

    Avnd componenta actory caresponsabil pentru instanierea claseiclient, avem oportunitatea s stabilimspaiul de activitate al instanei;

    n general noua versiune ar tre-bui s aib acelai spaiu de activitateca i cea original, iar aceasta deciziepoate fi specificat la nivelul actory.

    4. Rularea aplicaiei n medii dierite

    Componenta actory poate devenicontient de mediul n care activeaz iva instania versiunea clasei client adec-vat mediului respectiv;

    Posibilitatea de a putea instania oimplementare sau alta constituie i unmecanism de rezerv n cazul n care

    noua versiune nu uncioneaz la nivelulateptrilor. Dezactivarea ei i activareainstanei originale se eectueaz uor sirapid.

    Sintetizm afirmaiile de mai sus pri-vitoare la aspectele asupra crora se vorconcentra membrii echipei:

    Programatorii: Vor olosi un singur branch de

    dezvoltare; Vor implementa nivelul de abstrac-

    tizare, mecanismul de instaniere a uneiinstane sau a celeilalte i vor scrie noiteste pentru a crete ncrederea n acestecomponente;

    Se vor concentra apoi pe noua ver-siune i o vor modifica pentru a aduganoile uncionaliti.

    Persoanele care testeaz:

    Vor testa aptul c versiunile pot fischimbate la rularea aplicaiei sau n ori-care moment ar fi nevoie;

    Vor testa noua uncionalitate; Vor testa i vechea uncionalitate

    dac a ost modificat pentru a permitecrearea nivelului de abstractizare (nu seaplic pentru abstractizarea la nivel depunct de olosire);

    Sunt ajutai de aptul c nu existcod care vine de pe alte branch-uri carepoate interera cu ceea ce au testat deja.

    De ndat ce nivelul de ncrederen noua uncionalitate devine suicientmecanismul de schimbare ntre instane iinstana original pot fi terse. Important

    este de luat n considerare aptul c siste-mul trebuie s poat fi construit i rulat cusucces n oricare moment.

    Figura 2: Branching prin abstractizarea componentei. ClientCode este

    ntr-un process de migrare pentru a olosi NewComponent.

    Figura 3: Ramificarea prin absractizare la nivel de punct de olosire. Versiunea ori-

    ginal i cea nou a clasei care olosete codul ce trebuie actualizat.

    programareRiscurile operrii cu branch-uri

  • 8/10/2019 Today Software Magazine N30/2014

    25/56

    25www.todaysoftmag.ro | nr. 30/decembrie, 2014

    programare

    Utilizarea sistemelor de operare

    compatibile cu OSEK/VDXn sistemele embedded

    Proiectul sofwaretrebuie s conin,

    pe lng iierele de coniguraie adap-tate tipului de microcontroler olosit, unprogramator de activiti (eng.: task sche-duler), rutine pentru controlul unitilorperierice (driver-e) i rutinele aplicaiei.Proiectul poate s mai conin i servicii decomunicaie, librrii i altele. n continu-are vom meniona dou metode comunede programare a activitilor: super loopi maini de stare; apoi vom prezenta maidetaliat algoritmii de programare, utilizain sistemele de operare OSEK/VDX i vom

    evidenia pe scurt avantajele i dezavanta-jele olosirii fiecruia dintre ele.Ne vom reeri mai jos la OSEK/VDX n

    mod simplificat: OSEK.

    Algoritmi de programare a activitilorAlgor i tmu l de programare a

    activitilor ntr-un proiect embeddedreprezint modalitatea n care se apeleazunciile aplicaiei. Aceast secven deapelare a activitilor poate fi configuratn mod explicit (cum e cazul sistemelor deoperare compatibile OSEK) sau poate i

    o consecin direct a modului de imple-mentare a aplicaiei (n cazul super loop).Prin configurarea explicit a secvenei deexecuie a activitilor nelegem conec-tarea acestora la cte un eveniment idefinirea clasei i prioritii lor (OSEK).

    Continum cu prezentarea metodelorde programare a activitilor:

    Super loopE un mod simplist, dar la ndemn

    de a executa activitile unei aplicaii

    embedded. Funcionarea e simpl: ntr-obucl WHILE(1) sunt verificate secveniali periodic (cu o perioad nedetermi-nat ce depinde mult de activitatea careruleaz la un moment dat) toate condiiile

    de rulare a activitilor. Atunci cnd o

    condiie este ndeplinit, activitatea cores-punztoare este executat. n acest timpcelelalte activiti sunt blocate i nu severific nici condiiile de executare a lor.

    Pro : implementarea e simpl (dar isimplist);

    Contra: resursele CPU sunt olosite ine-icient, activitile sunt executate n modnecontrolat, mentenana codului surs eanevoioas.

    Maini de stare

    Folosind aceast metod, aplicaiaeste mai bine structurat dect n cazulsuper loop. Activitile sunt executate nuncie de starea curent a mainii de stri.Activiti de o complexitate mai mare potfi implementate olosind maini de stareimbricate.

    Pro: pregtirea i mentenana coduluisurs este acil;

    Contra: resursele CPU nu sunt olositentr-un mod optim, algoritmul de progra-mare a activitilor este puternic integrat naplicaie astel c el este practic creat de la

    zero de la o aplicaie la alta.

    Programatoarele de activiti OSEK:OSEK oer un standard pentru pro-

    iectarea sistemelor embeddedn domeniulautomotive. Unele din ariile de acoperireOSEK sunt sistemele de operare olo-site n aplicaiile embedded. Exist doutipuri de sisteme de operare propuse destandardul OSEK: OSEK OS cu programa-torul de activiti condus de evenimentei OSEKtime OS cu programatorul de

    activiti periodic. Conigurarea siste-melor de operare OSEK se realizeaz cufiiere .oil (ce includ definirea activitilori proprietilor acestora) i alte elementespeciice sistemelor de operare: rutine

    Sistemele embeddedau la baz microcontrolere care proceseaz datele primiteca intrare i execut aciunile corespunztoare conorm rutinelor programate.Porturile I/O aciliteaz interaarea cu lumea exterioar, iar rularea rutinelor/algoritmilor proiectului aplicaiei este eectuat de ctre unitatea CPU.

    securitate

    Mircea [email protected]

    C++ Developer@ AROBS

  • 8/10/2019 Today Software Magazine N30/2014

    26/56

    26 nr. 30/decembrie, 2014 | www.todaysoftmag.ro

    hook, resurse, alarme, evenimente, mesaje, moduri de rularea aplicaiei, rutine pentru tratarea erorilor.

    OSEKUrmtoarele elemente sunt disponibile n OSEK OS: activiti,evenimente, API-uri pentru controlul resurselor i al ntrerupe-rilor, alarme, mesaje. Activitile sunt programate n uncie deprioritate, astel nct o activitate va fi ntrerupt dac alta, cuprioritate mai mare, a primit semnalul de activare. Dup termi-narea acestei activiti, vechea activitate este reluat dac are ceamai mare prioritate. O activitate poate fi lansat prin mai multemoduri: direct din alt activitate, la expirarea contorului uneialarme, dintr-o ntrerupere configurat sau de ctre un mesaj.Activitile extinse pot intra n modul de ateptare al unui eve-niment, elibernd astel resursele CPU i permind rularea uneialte activiti. La apariia evenimentului, activitatea care ruleaz

    este ntrerupt i se reia execuia activitii extinse (dac priori-tatea acesteia este mai mare). Resursele utilizate de activiti potfi i ele blocate, astel nct alte activiti ce necesit accesul laaceeai resurs s nu o poat ntrerupe pe prima, chiar dac are oprioritate mai mare.

    Sistemul de operare poate rula n mai multe moduri deaplicaie (definite static n fiierele .oil). Practic, fiecare mod die-rit al aplicaiei are un set distinct de activiti (ex.: modul normal,modul de diagnosticare, bootloader). Aplicaia decide n timpulrulrii cnd se trece de la un mod la altul.

    Rutinele de tip hook pentru tratarea erorilor sunt rulate desistemul de operare la apariia acestora. Aceste rutine pot fi adap-

    tate aplicaiei.

    Paii utilizrii OSEK OSPrimul pas este configurarea elementelor sistemului de ope-

    rare (definite mai sus) n fiierele .oil. Editarea acestor fiiere se

    poate ace manual sau utiliznd unelte de configurare de nivelnalt speciice (dac sunt disponibile). Fiierele .oil sunt apoiinterpretate de generatorul de sistem care creeaz fiiere surs.Aceste fiiere surs, mpreun cu restul modulelor aplicaiei or-meaz proiectul sofwarecompilabil. Acest mecanism nlesneteprocesul de portare a aplicaiilor pe mai multe sisteme de ope-rare compatibile OSEK i pe mai multe tipuri de microcontrolere(suportate de OS).

    Fig.1 Paii dezvoltrii / configurrii aplicaiei

    Rularea aplicaiein orice moment, programatorul de activiti o ruleaz pe cea

    cu prioritatea mai mare dintre cele n starea ready. Dintre douactiviti cu aceeai prioritate, cea activat prima va fi reactivatnti, dup o ntrerupere cauzat de o alt activitate mai impor-

    tant (principiul FIFO). Cealalt activitate va i activat dupterminarea sau intrarea n ateptare a celei curente. erminareabenevol a unui taskse ace prin apelul programatorului deactiviti. n uncie de nevoile aplicaiei se pot activa mai multemoduri de programare a activitilor care permit sau nu prezenaactivitilor extinse i permit sau nu ntreruperea lor. Activitilecare pot fi ntrerupte sunt utile, de exemplu, atunci cnd, ntr-oaplicaie, sunt activiti att cu timp mare ct i mic de execuie.

    ActivitiCum am amintit i mai sus, exist dou tipuri de activiti:

    simple i extinse. Cele extinse au n plus starea de ateptare a unuieveniment a de strile activitilor comune: suspendat, pre-

    gtit de rulare i n execuie. La nivelul OS implementarea estesemnificativ mai complex atunci cnd sunt acceptate i task-uriextinse: necesitatea controlului unui stacksuplimentar pentrufiecare activitate extins a de un stackunic pentru activitilesimple. Consumul de memorie este astel crescut.

    Activitile mai au o proprietate: disponibilitatea de a fi ntre-rupte. Astel, ele pot fi ntrerupte sau cooperative (adic nu potfi ntrerupte).

    M


Recommended