Trasabilitatea in .NET – partea 1

Ce este Trasabilitatea in software

Din Wikipedia, http://en.wikipedia.org/wiki/Traceability :

Traceability is the ability to verify the history, location, or application of an item by means of documented recorded identification.

Vom defini trasabilitatea in software capacitatea si implementarea de urmarire a componentelor software pentru a sti exact :

1. Data la care componenta a fost facuta( astfel incit sa putem reproduce codul sursa)

2. Detalii de producere ( versiune ,framework-uri, alte componente, compilare debug/release , alte date) astfel incit sa avem capacitatea de a distinge intre diferite versiuni

Presupunem ca deja am raspuns afirmativ la pasul 1 (Do you use source control ?)de la http://www.joelonsoftware.com/articles/fog0000000043.html De asemenea ( desi nu vom folosi ;-) ) e bine sa studiati si Semantic Version http://semver.org/

De ce avem nevoie de trasabilitate in software

Sa presupunem ca avem un codul sursa 1 pe care il distribuim la citiva clienti. Presupunem ca modificam codul pentru un versiunea doi. Unii din clientii vechi isi upgradeaza softul –altii nu. Daca un client raporteaza o eroare,cum stim care versiune de cod sursa a avut probleme?

Trasabilitatea in .NET

Fiecare proiect in Visual Studio contine un fisier numit AssemblyInfo.cs care contine informatii sumare despre componenta. Vom discuta despre aceste rinduri:

// Version information for an assembly consists of the following four values:

//

// Major Version

// Minor Version

// Build Number

// Revision

//

// You can specify all the values or you can default the Build and Revision Numbers

// by using the '*' as shown below:

// [assembly: AssemblyVersion("1.0.*")]

[assembly: AssemblyVersion("1.0.0.0")]

[assembly: AssemblyFileVersion("1.0.0.0")]

Dupa cum se vede exista deja posibilitatea de trasabilitate in .NET .Diferenta intre AssemblyVersion si AssemblyFileVersion este detaliata si aici: http://support.microsoft.com/kb/556041

Ceea ce vrem sa realizam este ca, dupa o modificare a codului sursa si recompilare, acest AssemblyVersion ( sau AssemblyFileVersion) sa ne indice cum sa putem “reface” codul sursa

Este evident ca , daca facem modificari in codul sursa, AssemblyVersion va ramine tot 1.0.0.0 .

Ca sa putem avea control asupra versiunilor putem fie modifica manual versiunea, fie vom modifica automat versiunea.

In cele ce urmeaza voi arata diverse posibilitati de a modifica automat versiunea, precum si de a adaug alte amanunte in AssemblyDescription.

Calea oficiala ( 1.0.*)

Cel mai usor este sa puneti

[assembly: AssemblyVersion("1.0.*")]

In AssemblyInfo.cs si sa comentati

//[assembly: AssemblyFileVersion("1.0.0.0")]

Ca aici:

// Version information for an assembly consists of the following four values:

//

// Major Version

// Minor Version

// Build Number

// Revision

//

// You can specify all the values or you can default the Build and Revision Numbers

// by using the '*' as shown below:

[assembly: AssemblyVersion("1.0.*")]

// [assembly: AssemblyVersion("1.0.0.0")]

//[assembly: AssemblyFileVersion("1.0.0.0")]

In acest mod versiunea se va incrementa de fiecare data. Ceea ce e deranjant ca nu se incrementeaza astfel incit sa ne putem da seama, de exemplu, de ziua build-ului. Video : https://www.youtube.com/watch?v=jq6Uu64md1s

Proiectul demo il puteti downloada de aici : http://traceabilitydemo.codeplex.com/releases/view/130512

Codul sursa il puteti downloada de aici: https://traceabilitydemo.codeplex.com/SourceControl/changeset/view/110330

Data viitoare vom face identificarea datei de build prin fisiere .tt

Posted in .NET, trasabilitate | 2 Comments

ADCES Septembrie 2014 – Trasabilitatea in .NET

Marti, 9 septembrie 2014 , ora 19:00, va fi a opta intilnire organizata de  www.adces.ro

pe anul 2014

Locul de intrunire va fi la Ubisoft Romania( vezi detalii mai jos) .

Din agendă:

Andrei Ignat, http://serviciipeweb.ro/iafblog/

Titlu :  Trasabilitatea in software si .NET

Descriere:

De ce avem nevoie de trasabilitate in software        

Trasabilitatea in .NET 2

Calea oficiala ( 1.0.*)

.TT – adaugarea build date   

.TT – adaugarea ultimului checkin de TFS   

.TT – mai multe informatii(versiune .NET, build )    

Durata estimata : 1h..1h30 min

Data: 9 septembrie 2014 , ora 19:00

Locaţie: sediul Ubisoft Romania, din Bulevardul Expozitiei, nr 2, sector 1, sala de relaxare

Harta:  http://goo.gl/maps/tY3dh

Detalii acces: Poți ajunge aici cu următoarele mijloace de transport în comun:

- Metrou, Statia 1 Mai

- Piata Presei Libere  , apoi iei 105 doar 2 statii  – sau mergi pe jos pe Bdul Expozitiei.

Telefonul meu este 0728200034

Puteti invita alti programatori daca dati faceti fwd la acest email sau pot face join la https://www.facebook.com/events/268735299990582/

Multumesc,

Andrei Ignat  , www.adces.ro

Posted in intilniri | Leave a comment

Prezentare EF6, SqlServer, CQRS, Azure si WebAPI

Gasiti continutul prezentarii la adresa http://1drv.ms/1sTH3Ol

Ma bucur ca ati venit si ca mi-ati pus intrbari. Desigur, test loading o sa fie in alta prezentare Winking smile

Posted in intilniri | Leave a comment

Luni, 11 august 2014 , ora 19:00, intilnire programatori www.adces.ro

Luni, 11 august 2014 , ora 19:00, va fi a opta intilnire organizata de  www.adces.ro

pe anul 2014

Locul de intrunire va fi la Ubisoft Romania( vezi detalii mai jos) .

Din agendă:

Andrei Ignat, http://serviciipeweb.ro/iafblog/

Titlu : EF6, SqlServer, CQRS,WebAPI, Azure – sau cum vom programa peste cinci ani

Descriere: The applications developed in the next few years requires responsiveness and faster loading a large amount of data. The combination of EF6, SqlServer, CQRS,WebAPI, Azure will do the trick

Durata estimata : 1h..1h30 min

                                                                                                                                              

Data: 11 august 2014 , ora 19:00

Locaţie:  sediul Ubisoft Romania, din Bulevardul Expozitiei, nr 2, sector 1, sala de relaxare

Harta:  http://goo.gl/maps/tY3dh

Detalii acces: Poți ajunge aici cu următoarele mijloace de transport în comun:

- Metrou, Statia 1 Mai

- Piata Presei Libere  , apoi iei 105 doar 2 statii  – sau mergi pe jos pe Bdul Expozitiei.

Telefonul meu este 0728200034

Puteti invita alti programatori daca dati faceti fwd la acest email sau pot face join la https://www.facebook.com/events/282920128577249

 

 

Multumesc,

Andrei Ignat  , www.adces.ro

Posted in intilniri | Leave a comment

Ubisoft angajeaza ASP.NET programmer x2

At least 2 years of experience as a .NET web developer

Good knowledge of ASP.NET – Webforms or MVC

Very good knowledge of C# and object oriented programming

Strong HTML, CSS, JavaScript and JQuery skills

Extensive understanding of SQL Server technologies

Able to complete duties on time whilst maintaining a high quality service

Good command of English

sau

 

Strong coding experience: at least 4 years as developer on .NET technologies

Good knowledge of Digital Asset Management Systems like ADAM is a big plus

Good knowledge of ASP.NET – Web Forms or MVC

Good knowledge of Web Services/API Technologies (REST)

Very good knowledge of C# and object oriented programming

Strong HTML, CSS, JavaScript and JQuery skills

Extensive understanding of SQL Server technologies

Knowledge on enterprise search technologies is a plus (e.g. Solr, Elastic Search

 

Daca vreti adaugati un comentariu

Posted in Uncategorized | Leave a comment

Intalnirea programatorilor 7 si www.adces.ro

Marti , 8 iulie 2014 , ora 19:00, va fi a saptea intilnire pe anul 2014. De data aceasta avem si un nume oficial : www.adces.ro

Locul de intrunire va fi la Ubisoft Romania( vezi detalii mai jos) .
Din agendă:

Andrei Rinea, http://andrei.rinea.ro/
Titlu : Introducere în JavaFX. ”WPF” Java pe Windows și Linux.
Durata estimata : 1h..1h30 min

Alexandru Gatej

Titlu :While “For” si alte structuri repetive in MSSQL

Scurta descriere :

Scurta descriere :

While & Cursoare

Alternative existente in limbaj.

Durata estimata : 1h..1h30min

Data: 8 iulie 2014 , ora 19:00

Locaţie: sediul Ubisoft Romania, din Bulevardul Expozitiei, nr 2, sector 1, sala de relaxare

Harta: http://goo.gl/maps/tY3dh

Detalii acces: Poți ajunge aici cu următoarele mijloace de transport în comun:

- Metrou, Statia 1 Mai

- Piata Presei Libere , apoi iei 105 doar 2 statii – sau mergi pe jos pe Bdul Expozitiei.

Telefonul meu este 0728200034

Detalii si pe https://www.facebook.com/events/1438610556407357/

 

Posted in intilniri | Leave a comment

Sesiune intrebari si raspunsuri .NET

Am vorbit despre Marker interfaces versus Marker Attribute pentru o clasa

Parerea mea e ca interfetele aplicate claselor sunt mai usor de folosit si de inteles decit atributele.

Din pacate nu am inregistrat – dar promit sa o fac data viitoare , cind vom vorbi despre documentatia codului.

/// <summary>
/// Interface Design , http://msdn.microsoft.com/en-us/library/ms229022.aspx : AVOID using marker interfaces (interfaces with no members).
/// FxCop :http://msdn.microsoft.com/en-us/library/ms182128%28VS.80%29.aspx : Avoid empty interfaces
/// Answer:
/// http://stackoverflow.com/questions/2086451/compelling-reasons-to-use-marker-interfaces-instead-of-attributes
/// </summary>

Codul il gasiti la adresa https://sesiuneintrebariraspunsuri.codeplex.com

si il puteti downloada fie de https://sesiuneintrebariraspunsuri.codeplex.com/SourceControl/latest 

fie de la https://sesiuneintrebariraspunsuri.codeplex.com/releases/view/123992

( Daca va pasioneaza , il puteti si imbunatati  – astept contributori)

Posted in evenimente, sesiune online .net | Leave a comment

Sesiune intrebari si raspunsuri de .NET

Aici aveti linkul de call Sesiune intrebari si raspunsuri de .NET Multumesc

Posted in .NET | Leave a comment

Statistica si bani pe paypal

(Disclaimer: postul acesta trebuia sa fie pe cel personal. Am gresit punindu-l aici. totusi, nu stiu sa fac transfer de comentarii )

Ca de obicei ma enerveaza oamenii care cred ca tot ce zboara se maninca. Nu vorbesc neaparat de Nigerian scam ci de faptul ca unii considera ca timpul tau e nelimitat si ca pot dispune de el cum vor ei. De exemplu , asta:

“Haideti sa completam cu totii chestionarul acesta. Il gasiti in articolul meu.”

Iar in articol:”

Blogul Refresh.Ro împreună cu site-ulMarketing20 organizează un sondaj care are ca scop analizarea blogosferei românești. Un astfel de sondaj a fost realizat și în anul 2011 iar acum vor să reactualizeze statisticile existente.

Este foarte important ca fiecare blogger să participe la completarea acestui chestionar deoarece se vor obține date cât mai exacte.”( sursa : la-vorbitor.ro/se-numara-bloggerii/ )

Sa rezum: cineva vrea sa faca o statistica . Asta asa , ca vrea el ( nu ma gindesc si ca vrea sa vinda mai departe rezultatele, e deja prea mult , nu?). Nu iti spune cit timp ar dura completarea chestionarului. Nu spune cui ii vor folosi datele acestea. Nici daca vor ramine confidentiale. Doar asa , completeaza pentru ca “Este foarte important” . Nu zau?

Fac si eu o statistica: Cine vrea sa imi doneze cinci euro / 10 / 100 /1000 sau in fine , cit vrea el, va rog sa puneti un comentariu cu suma ( nu ma obosesc cu google docs / office docs sa fac un chestionar. ) Cine nu vrea, tot un comentariu cu “nu vreau” . Id-ul meu de paypal este ignatandrei la yahoo punct com .Va astept sa completati statistica(ma rog, as prefera si banii) ! “Este foarte important”.

Posted in inconsistente | 5 Comments

Sesiune intrebari si raspunsuri de .NET

Joia viitoare ,26 iunie 2014, intre ora 13:00 si ora 14:00 , o sa tin o sesiune de intrebari si raspunsuri de .NET. Intrebarile o sa vina de la voi  si raspunsurile de la mine.  Puteti sa ma intrebati orice – legat de programare.

Vom avea sesiunea pe Skype –Id-ul meu este ignatandrei. M-ar ajuta daca mi-ati pune intrebarea aici sub forma de comment – iar raspunsul o sa vina pe scurt ca raspuns la comment si pe lung joia viitoare ,26 iunie 2014, intre ora 13:00 si ora 14:00 .

Va astept !

Posted in .NET | Tagged | 4 Comments