This shows you the differences between two versions of the page.
mps:laboratoare:laborator-03 [2019/09/20 11:46] iulia.stanica [Secțiuni SDD] |
mps:laboratoare:laborator-03 [2020/10/21 15:00] (current) iulia.stanica [Lucru la proiect (60 de minute)] |
||
---|---|---|---|
Line 3: | Line 3: | ||
- | ==== Exemplu de Document SDD ==== | ||
- | Exemplu de document SDD mai vechi: | ||
- | {{:mps:laboratoare:sdd_sample.pdf|Exemplu de Document SDD}} | ||
- | |||
- | Exemplele de mai jos sunt mai noi. Unul se remarcă prin organizarea clară a informaţiilor şi structură/organizare, dar şi prin concizie, însă Scopul şi Obiectivele nu sunt în totalitate corecte. Cel de-al doilea se remarcă prin forma simplă şi schematică, dar care include toate secţiunile importante (şi chiar extra) într-un mod concis. | ||
- | |||
- | [[https://drive.google.com/open?id=0B7WjsFvWhalPQ3BPOXFDeHozQ3M | Exemple mai noi]] | ||
===== Cum să ne organizăm pentru a atinge obiectivele definite în SRS conform planurilor din SDD? ===== | ===== Cum să ne organizăm pentru a atinge obiectivele definite în SRS conform planurilor din SDD? ===== | ||
Line 41: | Line 34: | ||
* elementele de muncă de pe același nivel din arbore nu se acoperă total sau parțial (nu sunt //overlapping//) | * elementele de muncă de pe același nivel din arbore nu se acoperă total sau parțial (nu sunt //overlapping//) | ||
* frunzele din arbore au adesea asociate resurse, durate și costuri. | * frunzele din arbore au adesea asociate resurse, durate și costuri. | ||
+ | |||
+ | **Tool-uri** de creare a WBS-urilor: [[http://www.criticaltools.com/|WBS Schedule Pro]], [[https://online.visual-paradigm.com/diagrams/features/work-breakdown-structure-software/|Online Visual Paradigm]], [[https://planhammer.io/wbs-chart-software.html|Planhammer.io]] | ||
**Exemplu** de diagramă WBS a unui proiect software:\\ \\ | **Exemplu** de diagramă WBS a unui proiect software:\\ \\ | ||
{{:mps:laboratoare:wbs.png|WBS}} | {{:mps:laboratoare:wbs.png|WBS}} | ||
+ | |||
===== Grafic Gantt ===== | ===== Grafic Gantt ===== | ||
Line 68: | Line 64: | ||
- Stabilirea de //milestone-uri//. | - Stabilirea de //milestone-uri//. | ||
- | **Exemplu** de diagramă Gantt a unui proiect de construcție de casă:\\ \\ | + | ** Tool-uri ** de creare a diagramelor Gantt: [[https://www.ganttproject.biz/|Gantt Project]], [[https://www.teamgantt.com/free-gantt-chart-excel-template|Team Gantt]], [[https://www.gantter.com/|Gantter]], [[https://www.ganttexcel.com/|Gantt Excel]], Microsoft Project. |
- | {{:mps:laboratoare:ganttproject-house-building-sample.png|Diagrama Gantt}} | + | |
+ | **Exemplu** de diagramă Gantt a unui proiect ce conține și milestones:\\ \\ | ||
+ | {{:mps:laboratoare:gantt_chart_with_milestones_example.png?900|}} | ||
===== Milestone ===== | ===== Milestone ===== | ||
* deadline de finalizare a unei etape importante și decisive a proiectului | * deadline de finalizare a unei etape importante și decisive a proiectului | ||
- | * adesea, presupune predarea unor livrabile către beneficiar | + | * adesea presupune predarea unor livrabile către beneficiar |
* în vederea respectării milestone-urilor fixate, adesea se impune luarea unor decizii cu impact major asupra evoluției proiectului. | * în vederea respectării milestone-urilor fixate, adesea se impune luarea unor decizii cu impact major asupra evoluției proiectului. | ||
* deși reprezintă puncte cheie în cadrul unui timeline, din varii motive acestea pot fi decalate dacă acest lucru ajută și nu au un impact negativ asupra proiectului. | * deși reprezintă puncte cheie în cadrul unui timeline, din varii motive acestea pot fi decalate dacă acest lucru ajută și nu au un impact negativ asupra proiectului. | ||
Line 80: | Line 79: | ||
===== Controlul versiunii (Git) ===== | ===== Controlul versiunii (Git) ===== | ||
- | [[http://en.wikipedia.org/wiki/Revision_control|Sisteme pentru contolul versiunii]] (//Version Control Systems// - **VCS** - sau //Source Code Management// - **SCM**) sunt aplicații care permit lucrul colaborativ pe diverse fișiere, în special fișiere cod sursă. Sistemele pentru controlul versiunii sunt practic obligatorii în cadrul unui proiect cu dezvoltatori multipli. Astfel de sisteme rețin istoricul modificărilor efectuate de fiecare dezvoltator și folosesc comenzi specializate care să faciliteze transmiterea acestor modificări între dezvoltatori. | + | [[http://en.wikipedia.org/wiki/Revision_control|Sisteme pentru controlul versiunii]] (//Version Control Systems// - **VCS** - sau //Source Code Management// - **SCM**) sunt aplicații care permit lucrul colaborativ pe diverse fișiere, în special fișiere cod sursă. Sistemele pentru controlul versiunii sunt practic obligatorii în cadrul unui proiect cu dezvoltatori multipli. Astfel de sisteme rețin istoricul modificărilor efectuate de fiecare dezvoltator și folosesc comenzi specializate care să faciliteze transmiterea acestor modificări între dezvoltatori. |
Exceptând sistemele de gestiune a surselor, prezentate mai detaliat în continuare, și alte aplicații folosesc versiuni: | Exceptând sistemele de gestiune a surselor, prezentate mai detaliat în continuare, și alte aplicații folosesc versiuni: | ||
Line 111: | Line 110: | ||
* sisteme centralizate ([[http://subversion.tigris.org/|Subversion]], [[http://www.nongnu.org/cvs/|CVS]], [[http://www.perforce.com/|perforce]]); | * sisteme centralizate ([[http://subversion.tigris.org/|Subversion]], [[http://www.nongnu.org/cvs/|CVS]], [[http://www.perforce.com/|perforce]]); | ||
* sisteme distribuite ([[http://git-scm.com/|Git]], [[http://darcs.net/|Darcs]], [[http://mercurial.selenic.com/wiki/|Mercurial]], [[http://bazaar-vcs.org/|Bazaar]]). | * sisteme distribuite ([[http://git-scm.com/|Git]], [[http://darcs.net/|Darcs]], [[http://mercurial.selenic.com/wiki/|Mercurial]], [[http://bazaar-vcs.org/|Bazaar]]). | ||
- | Detalii despre diferențele dintre acestea (mai degrabă între doi dintre cei mai cunoscuți reprezentanți, Subversion și Git) găsiți <hidden>[[https://mentormate.com/blog/differences-git-svn/|aici]]</hidden> [[https://git.wiki.kernel.org/index.php/GitSvnComparison| aici]]. | + | Detalii despre diferențele dintre acestea (mai degrabă între doi dintre cei mai cunoscuți reprezentanți, Subversion și Git) găsiți [[https://git.wiki.kernel.org/index.php/GitSvnComparison| aici]]. |
==== Git ==== | ==== Git ==== | ||
Line 167: | Line 166: | ||
===== Exerciții ===== | ===== Exerciții ===== | ||
+ | ==== Git what? (15 de minute) ==== | ||
+ | Accesați platforma [[https://kahoot.it|Kahoot]] și folosiți PIN-ul menționat de către asistent. Aceasta activitate are rolul de a vă testa rapid familiaritatea cu git. | ||
+ | <hidden> Jocul se pornește de [[https://create.kahoot.it/details/lab3-git-what/27bdd940-9b4d-4057-8187-1ec2d3bdc4d8|aici]]. Asistenții au o invitație către grupul de MPS pe mail. </hidden> | ||
Line 179: | Line 181: | ||
După realizarea tutorialului, creați un Repository al echipei. Repository-ul poate fi privat sau public, cum doriți, dar trebui să adăugați asistentul vostru la repository. | După realizarea tutorialului, creați un Repository al echipei. Repository-ul poate fi privat sau public, cum doriți, dar trebui să adăugați asistentul vostru la repository. | ||
</note> | </note> | ||
+ | |||
+ | <hidden> | ||
+ | In contextul lucrului online s-ar putea sa fie probleme/sa dureze mai mult instalarea ruby. Daca sunt probleme exercitiile pot fi realizate si fara compilarea codului - importanta fiind analiza diferentelor dintre fisiere si procesul/comenzile de versionare. | ||
+ | </hidden> | ||
==== Lucru la proiect (60 de minute) ==== | ==== Lucru la proiect (60 de minute) ==== | ||
* **Obligatoriu** Creați un repository Git pe [[https://github.com/|GitHub]]. Repository-ul poate fi privat sau public, cum doriți, dar trebui să adăugați asistentul vostru la repository. | * **Obligatoriu** Creați un repository Git pe [[https://github.com/|GitHub]]. Repository-ul poate fi privat sau public, cum doriți, dar trebui să adăugați asistentul vostru la repository. | ||
- | * [[https://trello.com/|Trello]] pentru gestiunea task-urilor | + | * Stabiliti task-urile din WBS pentru proiectul vostru. Realizati de asemenea o diagrama Gantt utilizand unul dintre tool-urile mentionate (ex:[[https://gantter.com/|Grafice Gantt]] sau [[https://www.ganttproject.biz/|Gantt Project]] ) |
- | * [[https://gantter.com/|Grafice Gantt]] | + | * **Optional**[[https://trello.com/|Trello]] pentru gestiunea task-urilor |
- | În limita timpului parcurceți și exercițiile de mai jos. | ||
- | |||
- | |||
- | ==== Opțional: GitHub (20 min) ==== | ||
- | |||
- | <note> | ||
- | Dacă aveți timp faceți și acest exercițiu. | ||
- | </note> | ||
- | Realizați următoarele tutoriale de pe GitHub:[[https://help.github.com/articles/set-up-git|Set up git]], [[https://help.github.com/articles/create-a-repo|Create A Repo]] și primii 2 pași de aici: [[https://help.github.com/articles/fork-a-repo| Fork A Repo]]. Creați un branch nou, mutați-vă pe acesta, faceți o modificare, și comiteți modificarea. Realizați un patch cu modificarea respectivă, mutați-vă pe branch-ul inițial, și aplicați patch-ul. Trimiteți modificarea pe repository-ul central (fork-ul vostru de pe GitHub). | ||