Differences

This shows you the differences between two versions of the page.

Link to this comparison view

mps:laboratoare:laborator-04 [2018/09/21 22:57]
iulia.stanica [Lucru cu Git (20 de minute)]
mps:laboratoare:laborator-04 [2022/10/31 11:51] (current)
iulia.stanica [Lucru la organizarea proiectului (50 de minute)]
Line 38: Line 38:
 În activitatea de proiectare se realizează numeroase grafice pentru a descrie componentele și modulele aplicației,​ legăturile între acestea și cazuri de utilizare. În activitatea de proiectare se realizează numeroase grafice pentru a descrie componentele și modulele aplicației,​ legăturile între acestea și cazuri de utilizare.
  
-Una dintre cele mai cunoscute aplicații pentru realizarea de diagrame este [[http://office.microsoft.com/en-us/visio/default.aspx|Microsoft Visio]]. Alternativa lightweight a acestuia este [[http://​projects.gnome.org/​dia/​|Dia]]. Alternativa din familia OpenOffice este [[http://​www.openoffice.org/​product/​draw.html|OpenOffice Draw]]. Toate aceste aplicații conțin un set de imagini/​module predefinite (utilizatori,​ sisteme de calcul, elemente de rețelistică,​ forme predefinite de imagini de componente). Recomandăm folosirea acestor aplicații pentru realizarea diagramelor și graficelor în realizarea documentației pentru toate proiectele unde este necesar. Aplicațiile de mai sus oferă o interfață grafică user-friendly și permit exportarea într-un număr vast de formate.+Una dintre cele mai cunoscute aplicații pentru realizarea de diagrame este [[https://products.office.com/ro-ro/visio/flowchart-software|Microsoft Visio]]. Alternativa lightweight a acestuia este [[http://​projects.gnome.org/​dia/​|Dia]]. Alternativa din familia OpenOffice este [[http://​www.openoffice.org/​product/​draw.html|OpenOffice Draw]]. Toate aceste aplicații conțin un set de imagini/​module predefinite (utilizatori,​ sisteme de calcul, elemente de rețelistică,​ forme predefinite de imagini de componente). Recomandăm folosirea acestor aplicații pentru realizarea diagramelor și graficelor în realizarea documentației pentru toate proiectele unde este necesar. Aplicațiile de mai sus oferă o interfață grafică user-friendly și permit exportarea într-un număr vast de formate.
  
-Pentru modelarea arhitecturii (în special pentru SDD) amintim [[http://​staruml.io/​|StarUML]] (cu suport pentruMacOSX,​ Linux, Windows) și [[https://​www.draw.io/​|DrawIO]],​ soluție online care poate exporta rezultatul atât ca imagine cât și ca pdf. Schema este salvată sub forma unui XML, ceea ce face posibilă salvarea și încărcarea cu ușurință a fișierelor de pe device-ul local direct în aplicația online si invers, pentru editare ulterioară.+Pentru modelarea arhitecturii (în special pentru SDD) amintim [[http://​staruml.io/​|StarUML]] (cu suport pentruMacOSX,​ Linux, Windows) și [[https://​www.draw.io/​|DrawIO]],​ soluție online care poate exporta rezultatul atât ca imagine cât și ca pdf. Schema este salvată sub forma unui XML, ceea ce face posibilă salvarea și încărcarea cu ușurință a fișierelor de pe device-ul local direct în aplicația online si invers, pentru editare ulterioară. ​Alte aplicatii: [[https://​www.visual-paradigm.com/​|Visual Paradigm]] sau [[http://​astah.net/​|Astah]] ​
  
 ===== Limbaje de programare, biblioteci, framework-uri,​ coding style ===== ===== Limbaje de programare, biblioteci, framework-uri,​ coding style =====
Line 48: Line 48:
 Una din ideile importante în alegerea unui limbaj sau biblioteci este că nu există un super-limbaj sau un super-framework care să rezolve toate problemele, indiferent de natura acestora. Domeniul de software engineering s-a dezvoltat tocmai pentru a găsi cele mai bune opțiuni și proceduri pentru o situație dată. Una din ideile importante în alegerea unui limbaj sau biblioteci este că nu există un super-limbaj sau un super-framework care să rezolve toate problemele, indiferent de natura acestora. Domeniul de software engineering s-a dezvoltat tocmai pentru a găsi cele mai bune opțiuni și proceduri pentru o situație dată.
  
-Alegerea unui limbaj, a unui framework sau a unor utilitare pentru dezvoltare/​testare se aleg, în general, ținând cont de două aspecte:+Alegerea unui limbaj, a unui framework sau a unor utilitare pentru dezvoltare/​testare se realizează, în general, ținând cont de două aspecte:
   * cât de potrivit este acel limbaj sau framework pentru proiectul dat;   * cât de potrivit este acel limbaj sau framework pentru proiectul dat;
   * cât de acomodați sunt viitorii dezvoltatori cu acel limbaj/​framework.   * cât de acomodați sunt viitorii dezvoltatori cu acel limbaj/​framework.
Line 94: Line 94:
 ===== Exerciții ===== ===== Exerciții =====
  
-==== Responsabilități în echipă (15 minute) ==== 
- 
-Fiecare membru al echipei scrie pe o foaie mică (A6) două elemente: ce rol are în cadrul echipei și ce tehnologie preferă. Apoi asistentul spune cele două elemente iar membrii echipei spun despre cine era vorba. 
  
  
Line 103: Line 100:
 ==== Lucru la organizarea proiectului (50 de minute) ==== ==== Lucru la organizarea proiectului (50 de minute) ====
  
-  ​* Creat infrastructură de prezentare pe GitHub +<note tip> 
-    * fișier readme cu echipa (Nume, prenume, grupă, link către CV); +Pentru un tutorial de GitHub, parcurgeți [[https://​guides.github.com/​activities/​hello-world/​|ghidul aferent]].  
-    * pagină de wiki asociată proiectului;​+</​note>​ 
 + 
 +  * **Creat infrastructură de prezentare pe GitHub** 
 +    * fișier ​**readme** cu echipa (Nume, prenume, grupă, ​(opt.) ​link către CV); 
 +    * (optional, repo public)pagină de **wiki** asociată proiectului;​
     * prezentarea generală a proiectului. Evitați repetarea cerinței. Link către cerință;     * prezentarea generală a proiectului. Evitați repetarea cerinței. Link către cerință;
     * Rolurile membrilor echipei (dezvoltatori,​ testeri, team lead/​manager,​ technical writer, analist, consultant);​     * Rolurile membrilor echipei (dezvoltatori,​ testeri, team lead/​manager,​ technical writer, analist, consultant);​
Line 116: Line 117:
   * Creat infrastructură de bază în repository   * Creat infrastructură de bază în repository
     * directoare pentru surse, documentație,​ branch-uri, subdirectoare ale acestora;     * directoare pentru surse, documentație,​ branch-uri, subdirectoare ale acestora;
-    * creat fișier **text** de tipul CodingStyle;​ un fișier pentru fiecare limbaj; poate fi inspirat din fișiere similare din proiecte mari;+    * creat fișier **text** de tipul **CodingStyle**; un fișier pentru fiecare limbaj; poate fi inspirat din fișiere similare din proiecte mari;
     * fișierul de CodingStyle poate apărea pe wiki;     * fișierul de CodingStyle poate apărea pe wiki;
   * Ca în cadrul oricărui laborator, va debuta cu un scrum meeting (prezentarea de 1 minut a activităților realizate de fiecare membru al echipei) (opțional).   * Ca în cadrul oricărui laborator, va debuta cu un scrum meeting (prezentarea de 1 minut a activităților realizate de fiecare membru al echipei) (opțional).
 +  *   ​Detaliile tehnice stabilite pe github vor fi adaugate si in SDD (optional).
  
 <note important>​ <note important>​
Line 124: Line 126:
 </​note>​ </​note>​
  
-==== De făcut acasă ==== 
  
-Stabilit ​recenzori pentru pull request-uri. Va exista un recenzor pentru fiecare pull request (poate fi unul singur, pot fi mai mulți). Acesta va comenta codul comis și, dacă totul e în regulă, îl va accepta.+ 
 +==== Exercitiu (15 minute) ==== 
 + 
 +Stabiliți ​recenzori pentru pull request-uri. Va exista un recenzor pentru fiecare pull request (poate fi unul singur, pot fi mai mulți). Acesta va comenta codul comis și, dacă totul e în regulă, îl va accepta.
  
 Oricine are permisiuni de push în repository dar e recomandată urmărirea [[https://​guides.github.com/​introduction/​flow/​|workflow-ului GitHub]] și folosite pull request-uri (sau merge request-uri pe [[https://​about.gitlab.com/​2014/​09/​29/​gitlab-flow/​|GitLa]]b) pentru faza de recenzie. Este o formă de [[http://​smartbear.com/​all-resources/​articles/​what-is-code-review/​|code review]] și o bună practică în dezvoltarea aplicațiilor. Oricine are permisiuni de push în repository dar e recomandată urmărirea [[https://​guides.github.com/​introduction/​flow/​|workflow-ului GitHub]] și folosite pull request-uri (sau merge request-uri pe [[https://​about.gitlab.com/​2014/​09/​29/​gitlab-flow/​|GitLa]]b) pentru faza de recenzie. Este o formă de [[http://​smartbear.com/​all-resources/​articles/​what-is-code-review/​|code review]] și o bună practică în dezvoltarea aplicațiilor.
  
-Apoi continuați lucrul la proiect. Urmăriți:+==== De făcut acasă ==== 
 + 
 +Continuați lucrul la proiect. Urmăriți:
   - Să existe cineva care are un rol de a monitoriza activitățile și respectarea termenelor.   - Să existe cineva care are un rol de a monitoriza activitățile și respectarea termenelor.
   - Să fiți pe aceeași pagină, să știți unde vreți să ajungeți.   - Să fiți pe aceeași pagină, să știți unde vreți să ajungeți.
-  - Să pătrați minute ale întâlnirilor.+  - Să redactati agenda fiecărei întâlniri.
   - Să știe fiecare ce are de făcut. Să discutați și să agreați acțiuni, responsabilități și termene.   - Să știe fiecare ce are de făcut. Să discutați și să agreați acțiuni, responsabilități și termene.
   - Să recenzați codul scris de alții.   - Să recenzați codul scris de alții.
   - Să comunicați intern dacă întâmpinați probleme sau dacă nu vă puteți îndeplini la timp atribuțiile.   - Să comunicați intern dacă întâmpinați probleme sau dacă nu vă puteți îndeplini la timp atribuțiile.
  
mps/laboratoare/laborator-04.1537559876.txt.gz · Last modified: 2018/09/21 22:57 by iulia.stanica
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0