Pomysły na projekt zespołowy

0

Mam pytanie: pewine juz niejedne z Was na forum mial z tym doczynienia - projekt zespolowy. Ciekawi mnie, co na nim robiliscie, jakie mieliscie pomysly? :) Mnie tez czeka to w tym roku, i chcialbym wiedziec, czego mniej wiecej moge sie spodziewac, co mniej wiecej powinienem umiec / zrobic.

Opowidzcie troche o tym, co robiliscie ;)

0

moja rada: znajdzcie kogos doswiadczonego ktory mial do czynienia z praca grupowa i zrobcie z niego leadera, bo jak jestescie same swiezaki to to bedzie masakra :P

0

No raczej nie za wiele jest u nas osób, które programowaly cos wczesniej ... <ort>na pewno </ort>to nie bede ja :-P Troche to dziwne; wczesniejszy poziom nauczania u nas to takie duperelki, powtarzanie w kolko np. przeciazania operatorow w C++, czy cos ... A nagle teraz okazuje sie, ze mamy robic jakies niestworzone rzeczy :/ Nic nie naucza, a wymagaja ... Troche sie obawiam, bo przenioslem sie teraz na inna uczelnie, i nie znam ludzi - nie wiem, chociaz widzialem dzisiaj ich miny - mowily same za siebie- malo kto u nas robil jakies wieksze rzeczy ... A powiedz mi, (jesli masz takie doswiadczenia, to pewnie jestes juz po) - co Ty robiles? :)

0

Nie wspomniałeś co to za przedmiot i w czym to macie pisać.
Ja na taki projekt napisałem (dwuosobowa grupa, ale ja wszystko zrobiłem) w PHP/MySQL/XHTML/CSS/JS piękny i cudowny panel do zarządzania (głównie) kwesturą na uczelni - czyli ogólne rzeczy takie jak dane o studentach (personalne, nr indeksu, data przyjecia..), i potem skupiłem się na kwesturze - wpłaty, odsetki, zniżki, czas trwania zniżek, zaległe opłaty, jakieś takie pierdoły. Z zewnątrz(HTML/CSS) było ładne, z wewnątrz (PHP - czytelność kodu, klasy, itd) także i zaliczyłem.
Nie mam pojęcia czy to za mało jak dla was - u mnie przeszło. Język był dowolny, niektórzy coś w javie/c++ klepali.

0

Po pierwsze nie sraj.

Po drugie projekty kilkuosobowe na uczelniach mają to do siebie że często robi je jedna osoba a grupa bierze ocenę. I to nie tylko dlatego że ktoś nie umie lub mu się nie chce tylko dlatego że tak łatwiej. Np jak masz projekt na trzech przedmiotach i na każdym trzyosobową grupkę to lepiej żeby każdy zrobił po jednym projekcie i git.

Bo to co zrobi jedna osoba w 14 dni to dwie zrobią w 12 czyli zysk marny.
Oczywiście to się tyczy projektów niewielkich takich jak są na uczelniach a nie systemów komercyjnych co się ciągną latami.

0

Przedmiot to właściwie "Projekt zespołowy", tak mamy na planie. Język w sumie dowolny, pomysły własne. Trochę nie wydaje mi się, żeby ktoś z własnej woli zrobił coś np. za mnie, tylko dlatego, że umiem mniej niż inni. (Chcociaż i mnie takie coś nie do końca cieszy - też chciałbym mieć w to jakiś wkład i czegoś się przy okazji nauczyć).

@dzek69 - dziękuję za konkretną odpowiedź. To co mówisz, rzeczywiście brzmi ciekawie, a ile czasu na to mieliście, ile Tobie to zajęło?

0

Miałem dwa razy na studiach.

Raz: system obsługi stron wykładowców dla uczelni - każdy wykładowca miął stronę, jakieś plany zajęć, jakieś newsy i załączniki i do tego był system komunikacji. System docelowo miał być wdrożony, ale nie wyszło. Plus trzeba było zrobić dokumentację użytkownika oraz kilka diagramów (przynajmniej ERD, chyba też klas).

Dwa: system mikroblogowy. Rejestracja użytkowników/logowanie i takie tam rzeczy, tworzenie bloga zawierającego głównie materiały multimedialne, komentarze i coś w tym stylu. A do tego wszystkie diagramy UML-owe jakie się da (klasy, sekwencje, stany itp.), i ERD.

Systemy pisane przez moich znajomych: system zarządzania parkingiem strzeżonym, obsługa komiksów internetowych, obsługa ubezpieczeń, zarządzanie projektami, wypożyczalnia sprzętu motorowodnego, obsługa konferencji...

Systemy były przewidziane dla technologii webowej, większość wybrała PHP, ale pojawiały się też ASP.NET i Java. PHP większość z nas musiała się dopiero nauczyć.

I tak, musicie mieć dobrego Project Managera. Kogoś, kto weźmie za ... i wskaże jak coś zrobić, kogoś, kto będzie umiał podzielić zadania. Do tego przyda się jakiś system kontroli wersji. Ja dodatkowo używałem ClockingIT żeby śledzić do kiedy trzeba zrobić poszczególne elementy projektu, rozdzielić zadania, zapisywać notatki i błędy.

A, no tak. Chyba, że pójdziecie drogą studenciaka i jeden człowiek zrobi projekt. Tylko a) to się da rozpoznać, że jeden pracuje, b) może jestem naiwny, ale niekiedy te studia też czegoś mają nauczyć. W tym wypadku - pracy zespołowej.

Co do czasu - na każdy z projektów mieliśmy semestr. Tj. w zasadzie wychodziło w okolicach 10-12 tygodni, bo święta, zajęcia, oddanie przed czasem żeby mieć na poprawki itp..

0
..... napisał(a)

co Ty robiles? :)

zostalem ninja [diabel]

0

Ja miałem w sumie ze trzy razy. Raz system do obsługi firmy telekomunikacyjnej, raz do straży miejskiej, raz CRM z nastawieniem na marketing.
Generalnie program miał działać jakoś, nie musiał spełniać wszystkich wymagań, itd. Liczyła się dokumentacja - specyfikacja wymagań, przypadki użycia, poprawne diagramy UML.

0

Czyli jak zwykle wykładowca podszedł do tego z d**y strony.

Chociaż co do projektów grupowych, w jakimś stopniu da się ocenić czy faktycznie robili go wszyscy, czy tylko jedna osoba. Chociażby po stylu pisania - każdy ma swoje upodobania, dajmy na to w PHP jest możliwość otwarcia samego echo aż na cztery różne sposoby. Warto też dodać, że każdy w inny sposób rozwiązuje dane problemy, różni się poziom doświadczenia i... częstotliwość występowania błędów [diabel]
Tylko czy na pewno wszystkim będzie się chciało przyglądać? Bo z tego co czytam to połowa wykładowców nie zagląda w kod.

0

@autor tematu:
Ależ będzie suchar :). Przynajmniej tak się zapowiada.

Nawet stosunkowo doświadczeni programiści, którzy samodzielnie dają sobie radę i piszą JAKIŚ TAM kod, który działa (prawie dobrze!), mają duże problemy gdy nagle mają pracować wspólnie.

Ktoś inny patrzy na Twój kod. Ktoś inny używa Twojego kodu, lub -- o zgrozo! -- próbuje go zmodyfikować. Ty używasz interfejsu stworzonego przez innego kodera i vice versa. Musicie uzgodnić spójny standard kodowania i kulturę pracy, a także korzystać razem z systemu kontroli wersji.

Świetna zabawa i świetny sposób na naukę, bo prawdziwe życie często tak właśnie wygląda. Raczej rzadko programista pracuje w zupełnej próżni. W najlepszym razie Ty pracujesz nad jedną warstwą aplikacji, a ktoś inny -- nad inną. W większych systemach jednak po kilka osób musi rozwijać tę samą warstwę. I wtedy zaczyna się prawdziwa zabawa.

Dobrze, że na studiach Was chcą do tego przygotować. Chyba każdy z nas przechodził to na uczelni.

Martwi mnie jednak Wasz poziom -- taki, jak go opisujesz... Czy każą Wam robić ten projekt za wcześnie? A może to Wy jesteście ciumokami i gdybyście pracowali sporo W DOMU, to już mielibyście jako taki poziom i dawalibyście sobie jakoś tam radę kodując samodzielnie? Bo i tak przecież bywa. Niektórzy myślą, że na wykładach nauczą się programować -- nic bardziej mylnego! Studia to nie podstawówka, a już nie-programowanie na własną rękę, w domu, to dla przyszłego (niedoszłego?) programisty strzał w stopę.

Może podam, jaki uczelniany projekt zespołowy mi najbardziej zapadł w pamięć. To był chyba pierwszy z nich: gra Monopoly, pisana teoretycznie w bodajże 4 osoby. Z czego większość kodu napisałem ja i jeden kumpel, a drugi był designerem, więc robił głównie za grafika. Pomysł całkiem niezły IMO. Nie była to żadna aplikacja internetowa, tylko zwykły program w Javie. W dodatku gra, więc pisało się to i testowało całkiem przyjemnie. No i po wszystkim było to poczucie, że napisało się coś pożytecznego, a nie jakąś teoretyczną aplikacyjkę, która coś tam niby mogłaby robić. Była to gra planszowa, więc nie było wielkich przypałów z grafiką. Z drugiej strony, plansza w Monopolu jest dość skomplikowana, więc z interfejsem było sporo zabawy -- ale nie było wymagane ani żadne 3D, ani złożone animacje. Czasu na to było sporo, niby cały semestr. W praktyce ze 3 miesiące. Jednak na początku szło BARDZO ociężale, jak to zwykle bywa. Realnego, intensywnego kodowania pewnie były ze 2-3 tygodnie.

Powtórzę raz jeszcze: taki projekt jest bardzo cennym doświadczeniem. Może świetnie pokazać potęgę inżynierii oprogramowania (jakości kodu!) -- rzecz ekstremalnie ważną, którą jednak ludzie na studiach często olewają. Koniecznie zastosujcie też system kontroli wersji. Potem, na fali, polecam stosowanie go w każdym jednym swoim projekcie, nawet gdy pracujemy nad nim samodzielnie (dzięki temu systemowi znikną problemy typu "coś dzisiaj spieprzyłem, nie wiem co i teraz 2 dni będę to naprawiał", wysyłanie sobie kodu na maila by odebrać go na innym komputerze ;), a nawet niegroźne będą pady dysku, bo kod będzie jeszcze na zewnętrznym serwerze; z darmowych serwerów SVN polecam np. <url=projectlocker.com/>Project Locker</url>).

Pamiętaj też, że od Ciebie zależy, czy po studiach będziesz dobrym programistą, takim bardzo średniacko-słabym, czy może niemal w ogóle nie będziesz potrafił kodować. Pracy dla programistów jest mnóstwo. Na początku łatwo też o całkiem niezłą płacę. O ile umie się programować. Na studiach można odbębniać kolejne projekty, a można też wynosić z nich cenne doświadczenia. Projekt zespołowy to jeden z projektów, które mogą nauczyć bardzo dużo.

0

a ile czasu na to mieliście, ile Tobie to zajęło?

Nie pamiętam, bo i tak się robiło na ostatni gwizdek,
zajęło mi to jakieś 3-4 dni, z czego dwa kodziłem siedząc na innych wykładach. Z tym, że taką "podstawkę" już miałem napisaną wcześniej (tylko ją "ogołociłem") - na niej bazują strony przeze mnie wypuszczane.

0
Demonical Monk napisał(a)

połowa wykładowców nie zagląda w kod.
połowa wykładowców to go nie rozumie...

0

Najszybciej będzie, jak znajdziecie kogoś, kto potrafi cokolwiek, pozwolicie mu zrobić ten projekt, nie wpierd..c mu sie i nie przeszkadzając.

0

@othello:
To pewnie prawda. Ale co z tego, że tak będzie najszybciej? Jakie to ma tutaj zastosowanie? Polecasz takie rozwiązanie autorowi tego tematu, czy tak sobie napisałeś? :P

Ludzi, którzy przeszli studia w taki sposób wszyscy chyba znamy. Choć mam nadzieję, że nikt z Was z takimi nie pracuje.

0

Napisałem jak to wygląda w praktyce, osobiście nie wierzę że takie zespołowe projekty czegoś uczą. BTW: coś krótki post Ci wyszedł :P

0

Ciekawi mnie, co na nim robiliscie, jakie mieliscie pomysly?
Klienta IRC. Poszło całkiem sprawnie, obowiązki podzielone, z wykorzystaniem systemu kontroli wersji. Ten ostatni konieczny – w przeciwnym razie wymiana kodu ma miejsce raz na dobę albo rzadziej - a tak wszyscy jednocześnie pracują na najnowszej wersji kodu.

0

"my" robiliśmy prostą przeglądarkową gre mmorpg... ale rzeczywiście ciężko było to nazwać projektem ZESPOŁOWYM :/

0

No własnie też mi się wydaje, że takiej pracy zespołowej to chyba się na studiach nie nauczymy - dopiero w pracy, to już bardziej prawdopodobne. Najgorsze jest to, że każdy z nas ma inne doświadczenia (b. wielu ludzi przed studiami nie miało zupełnie pojęcia o programowaniu). Sam znam co nieco Javę, już lepiej C/C++, trochę Pascala (raczej się nie przyda), Pythona (ale w niewielkim stopniu, uczyłem się go przez wakacje), no i bibliotekę Qt dla C++. (Pisałem coś tam okienkowego, ściągało mi ze strony pewne informacje, takie bzdetki). Programowania też można powiedzieć, "nauczyłem się" (a raczej jego podstaw, zdaję sobie z tego sprawę) na studiach. Ogólnie głębszą więdzę nt. komputerów dopiero tutaj poznałem. Nie wiem, czy moje umiejętności w ogóle nadają się do takiej pracy - bo co ciekawego można napisać wiedząc raczej niewiele ? Dzięki za pomysły/propozycje :) chętnie poczyatm o czymś więcej.

0

A co do tego, aby projekt zrobiła 1 osoba - rzeczywiście, jest to (jakieś) rozwiązanie, ale ja w sumie chciałbym się czegoś więcej dowiedzieć. I trochę cięzko mi uwierzyć, że znajdzie się ktoś, kto dobrowolnie sam napisze całą pracę :/

0

właśnie projekt zespołowy na studiach jest dobrą opcją do nauczenia się danej technologii... jak się przyłożysz to nawet od zera ;-)

0

Ja miałem wczoraj zajęcia z Inżynierii Oprogramowania i ustalaliśmy właśnie projekt zespołowy do napisania :) Grupa moja jest 4-osobowa i piszemy "Dzienniczek obecności ucznia", taka przeglądarkowa aplikacja.

0
Ktos napisał(a)

... system obsługi stron wykładowców dla uczelni - każdy wykładowca miął stronę, jakieś plany zajęć, jakieś newsy i załączniki i do tego był system komunikacji. System docelowo miał być wdrożony, ale nie wyszło. Plus trzeba było zrobić dokumentację użytkownika oraz kilka diagramów (przynajmniej ERD, chyba też klas).
--> bardzo fajne się wydaje, możesz napisać coś więcej? jakie byly możliwosci tego? (Jakie dostepne opcje,itp,itd)

I czy mozliwe jest wykonanie tego o czym mowi uzytkownik "Ktos" przy uzyciu JSP? Czy nie?

0

Ale czemu w JSP? Nie lepiej w GWT?

0

@.....:
Tak, jak najbardziej da się to zrobić w JSP.

Wspomniane przez @donkey7 GWT mogłoby tu się przydać, jak przy każdej bardziej złożonej aplikacji webowej, ale absolutnie nie jest konieczne. W tego typu aplikacji można się obejść zupełnie bez Ajaxa i zrobić prosty interfejs wymagający zwykłego przeładowania strony.

Choć jeśli chcecie się szarpnąć, to i na ajaxowo-javasciptowe bajerki znalazłoby się miejsce w tego typu aplikacji. A tutaj GWT pomogłoby wybitnie. W przypadku newsów, załączników itp. złożona funkcjonalność po stronie klienta jest w zasadzie zbędna, ale już plany zajęć można by zrobić w stylu prawdziwej, javascriptowej aplikacji internetowej. I miałoby to sens, bo w planie zajęć manipuluje się wieloma małymi częściami danych. Wygodniej by się to edytowało bez przeładowania dokumentu. Jeśli nie znacie zbyt dobrze JavaScriptu, to zdecydowanie nie polecam do tego podchodzić bez czegoś w stylu GWT, które pozwoli Wam zamiast JavaScriptu pisać zwykłą Javę.

0

@....:
To był w zasadzie CMS dostosowany dla potrzeb uczelni. A dokładniej jednego instytutu, ale mniejsza o to.

W systemie znajdowały się konta użytkowników - studentów i wykładowców. Studenci mieli dostęp tylko do systemu wiadomości prywatnych oraz do oglądania stron wykładowców.
Wykładowcy mieli strony osobiste, na których mogli dodawać podstrony i newsy. Podstrony i newsy mogły mieć załączniki (np. plik z zadaniami). Oprócz tego mieli dość prosty moduł w którym tworzyli swój plan zajęć, który to system generował w postaci prostej tabelki. O, strony mogły mieć jeszcze różne style wizualne, najciekawszy był różowy ;-)
Pliki znajdujące się jako ząłączniki do stron mogły mieć ograniczenia i być pobierane tylko przez niektórych (np. studentów danego kierunku i roku studiów). Wykładowcy mieli też podstawowe statystyki odwiedzin swoich stron.

Istniała też strona globalna całego instytutu, na której mogły też znajdować się nowości i podstrony.

Wiadomości prywatne pomiędzy użytkownikami miały zwykłe funkcje - czytanie, pisanie, oznaczanie jako przeczytane/nieprzeczytane oraz tagowanie, zamiast katalogów.

Każde konto miało standardowe funkcje tego typu - logowanie, zmiana hasła, wysłanie zdjęcia itp.. Konta miały termin ważności, po którym nie można się było zalogować. Konta miały przypisane role, a każda rola zestaw uprawnień (wiadomości, edycja stron, edycja strony globalnej i tak dalej). Logowanie musiało być po HTTPS.

Plus administrator systemu miał możliwość masowego importu kont studentów/masowego blokowania ważności kont (np. po zakończeniu semestru), podglądania logów błędów, przeglądania dziennika logowań i coś tam jeszcze.

Projekt był pisany w PHP5, framework Kohana 2, plus Smarty, baza danych MySQL. "Umowa" przewidywała stworzenie systemu w 3 miesiące, z tego co pamiętam mieliśmy chyba tydzień opóźnienia. Do śledzenia pracy używałem ClockingIT (webaplikacja), jako systemu kontroli wersji używaliśmy CVS.

Oczywiście, że można napisać coś takiego w JSP.

Nawiasem, później kod tego systemu został wykorzystany częściowo przy pisaniu drugiego systemu na kolejny projekt zespołowy :-)

0

GWT ma swojego GWT Designera: http://code.google.com/intl/pl-PL/webtoolkit/tools/gwtdesigner/index.html Można sobie wyklikać GUI w pięć minut, odwrócenie całego layoutu do góry nogami to też kwestia paru kliknięć myszką.

0

Dzięki za odpowiedzi. Zaraz wybieram sie na zajecia. (Nie mam jeszcze "swojej" grupy, więc będzie ciekawie :/). Co do powyższych 2 technologii, musiałbym uczyć się tego od zera, o JSP napisałem, bo w tym semestrze mamy troche tego miec na innych zajęciach. Zobaczymy, jak to bedzie. Swoją drogą to dziwne - na początku uczą nas jakichś głupotek, których sami moglibysmy się nauczyć w domu, wystarczyłoby, aby udpstępnili materiały (przecież np. przeładowywanie operatorów w C++ nie wymaga ok. 3 zajęć, jak my to mielismy :/) - a teraz musimy pisac cos tak rozbudowanego :-P Hehe, jestem ciekawy, jak bedzie dzisiaj :-/ ... jak macie coś jeszcze ciekawego to chętnie poczytam - a to ClockIt - bardzo fajna sprawa, jeśli mi się uda, zaproponuję to u nas, dzięki ;-)

0

Lepiej się uczyć sprytnych rozwiązań jak GWT niż tępawych jak JSP. Utrzymywanie/ rozwijanie kodu w GWT z pewnością będzie dużo szybsze i mniej frustrujące niż kodu w JSP o podobnej funkcjonalności.

0

Haha, no to zaczelo sie .... ktos na forum mowil o kliencie IRC - u nas tez cos takiego wymyslili, jednak prowadzacy stwierdzil, ze to za malo, i pomyslu nie przeposcil :-/ Ja robie blizej nieokreslone "cos" :-P z nowym kolega, ktory nigdy wczesniej nie pisal nic wiekszego (tak mi powiedzial podczas naszej krotkiej rozmowy). Ponadto, on preferuje Jave, ja bym jednak wolal pisac cos w C++ (z uzyciem biblioteki Qt), albo Python ... Cos czuje, ze bedzie ciekawie :-/

1 użytkowników online, w tym zalogowanych: 0, gości: 1