JavaRush /Blog Java /Random-PL /Przerwa kawowa #52. 10 najbardziej przydatnych witryn dla...

Przerwa kawowa #52. 10 najbardziej przydatnych witryn dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć

Opublikowano w grupie Random-PL

10 najbardziej przydatnych witryn dla programistów Java

Źródło: Tarun Telang Poniżej znajduje się lista najskuteczniejszych i godnych zaufania zasobów internetowych na temat technologii Java. Mogą być przydatne zarówno dla doświadczonych programistów Java, jak i początkujących. Od lat korzystam z tych zasobów, aby znaleźć najnowsze informacje na temat technologii Java.Przerwa kawowa #52.  10 najbardziej przydatnych witryn dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć - 1

1. Sekcja poświęcona technologii Java na stronie internetowej Oracle

Zasób zawiera informacje na temat niemal wszystkiego, co musisz wiedzieć o Javie, w tym aktualności, artykuły, blogi, materiały referencyjne, możliwości kariery i informacje związane z projektami Java. Polecam regularnie odwiedzać tę stronę, aby być na bieżąco z najnowszymi wiadomościami na temat platformy Java.

2. Strona pobierania Java

Jeśli chcesz pobrać i zainstalować najnowszą wersję zestawu Java Development Kit, nie możesz obejść się bez tego zasobu. Zawiera także szczegółowe instrukcje dotyczące uruchamiania plików instalacyjnych Java na różnych platformach.

3. Informacje o interfejsie API języka Java

Ta sekcja serwisu Oracle zawiera informacje referencyjne na temat interfejsu API Java SE. Dokumentacja HTML jest generowana z kodu źródłowego Java przy użyciu narzędzia JavaDoc.

4. Samouczek Java

Istnieje duży zbiór samouczków i materiałów referencyjnych na temat języka programowania Java. Lekcje są również dostępne w formie książki The Java Tutorial, wydanie szóste (w języku angielskim). Możesz kliknąć ten link, aby kupić go w Amazon.

5. Jarancz

Witryna zawiera praktyczne testy i przydatne zasoby do nauki na różne tematy, od języka Java, baz danych, systemu Android po przygotowanie do certyfikacji. To bardzo dobre miejsce do nauki języka Java poprzez praktyczne ćwiczenia.

6. Projekty związane z Java EE na GitHubie

Tutaj znajdziesz projekty związane z Java EE, a także projekty wcześniej hostowane na Java.net. Ta strona zawiera wiele różnych linków do projektów z dodatkowymi informacjami na ich temat i danymi kontaktowymi odnoszącymi się do tych projektów.

7. Javapedia

Odwiedź tę witrynę, aby śledzić dyskusje, pytania i odpowiedzi na temat technologii i frameworków Java. Javapedia.net jest przydatny zarówno dla doświadczonych programistów Java i Java EE, jak i dla początkujących i studentów przygotowujących się do rozmów kwalifikacyjnych.

8.TheServerSide.com _

Serwis zawiera informacje o najnowszych technologiach Java Enterprise Edition. To miejsce, w którym programiści Java omawiają różne tematy związane z Javą, Java EE, programowaniem, oprogramowaniem i trendami w rozwoju po stronie serwera. Jest to bardzo duża społeczność internetowa dla architektów korporacyjnych i programistów Java, w której można znaleźć codzienne wiadomości, dyskusje techniczne, seminaria internetowe i inne przydatne informacje.

9.Java.com _

Tutaj znajdziesz najnowsze oprogramowanie Java (gry, aplikacje mobilne i desktopowe). Jest to legalne i bezpieczne źródło instalacji wtyczek Java. W przeciwieństwie do wielu innych witryn, nie ma tam wyskakujących reklam ani podejrzanych plików instalacyjnych, które w rzeczywistości nie są związane z Javą.

10. Przejdź do Java

Tutaj znajdziesz aktualne informacje o tym, jak Java wspiera innowacje napędzające nasz cyfrowy świat. Serwis zawiera zbiór zasobów na platformie Java dla studentów, hobbystów, programistów i kadry kierowniczej firm IT. Chociaż w Internecie można znaleźć wiele podobnych witryn zawierających łącza do języka Java, większość z nich jest nieaktualna i zawiera informacje istotne tylko przed wersją Java 5. Od wersji Java 8 język przeszedł poważne zmiany, co wymaga od programistów przyjęcia nowego podejścia do programowanie w Javie. Język również ewoluuje bardzo szybko, a nowe wersje Java są wydawane co sześć miesięcy.

7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć

Źródło: DZone Cykl życia oprogramowania to proces planowania, projektowania, rozwijania, testowania i wdrażania oprogramowania przy możliwie najniższych kosztach, najlepiej w możliwie najkrótszym czasie. Aby osiągnąć ten cel, zespoły programistyczne muszą wybrać odpowiedni model wytwarzania oprogramowania, który spełni wymagania projektu i oczekiwania wszystkich interesariuszy. Przerwa kawowa #52.  10 najbardziej przydatnych witryn dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć - 2Jest 7 modeli, które powinieneś znać, od Waterfall, przez V-Model, aż po Scrum. Przyjrzyjmy się każdemu z nich.

1. Model kaskadowy (wodospad)

Przerwa kawowa #52.  10 najbardziej przydatnych witryn dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć - 3Model kaskadowy uważany jest za jedną z pierwszych metod tworzenia oprogramowania. Już z nazwy jasne jest, że ten proces rozwoju obejmuje liniowy postęp w kolejności: analiza, projektowanie, rozwój, testowanie, wdrażanie i wsparcie. Każdy etap jest jasno określony przez konkretne wyniki. Model wodospadu ma charakter sekwencyjny, co oznacza, że ​​następny etap nie może się rozpocząć, dopóki bieżący nie zostanie zakończony. Etap uznaje się za zakończony, gdy cel został osiągnięty i ktoś wyraża zgodę na kontynuację pracy nad projektem. W tym modelu nie ma elastyczności – nie można pominąć, cofnąć się ani zmienić kroków. W rezultacie proces rozwoju może być niepotrzebnie skomplikowany i kosztowny. Brak elastyczności sprawia, że ​​model ten jest droższy i bardziej pracochłonny w porównaniu do innych modeli. Jeśli wymagania są niejasne lub źle zrozumiane, wówczas stosowanie tego modelu jest bardzo ryzykowne. Dodatkowo model ten nie jest idealny w przypadku projektów długoterminowych, złożonych lub bieżących, gdzie wymagana jest większa elastyczność. Choć mankamenty modelu są zauważalne i znaczące, może on być przydatny w przypadku małych, jednorazowych projektów o ograniczonych wymaganiach i krótkich terminach realizacji, ponieważ jest prosty i szybki w konfiguracji. Zespół musi jednak zadbać o to, aby wszystkie wymagania były jasno określone, jednoznaczne i nie mogły ulec zmianie w przyszłości. Model Waterfall wypadł z łask, ponieważ zespoły IT zaczęły tworzyć bardziej elastyczne oprogramowanie, które pozwala na ciągłe doskonalenie.

2. Model V

Przerwa kawowa #52.  10 najbardziej przydatnych stron dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć - 4Model V, czyli model zatwierdzania i weryfikacji, rozszerza model kaskadowy poprzez dodanie planu testów. Zamiast liniowo przechodzić przez kolejne etapy tworzenia oprogramowania, model V przechodzi do etapu kodowania, po czym odwraca się i zaczyna przechodzić w górę przez etapy testowania, tworząc kształt litery V. Każdy etap rozwoju odpowiada konkretnemu działaniu testowemu. Dzięki temu zespół może znaleźć błędy w specyfikacjach, kodzie i architekturze na wczesnym etapie projektu. Dodanie planu testów daje modelowi V większe szanse na sukces niż modelowi kaskadowemu. Jednakże model V pozostaje liniowy, co czyni go nieelastycznym. Podobnie jak w modelu wodospadu, zespół może rozpocząć kolejny etap dopiero po ukończeniu poprzedniego. To sprawia, że ​​zmiany są trudne, kosztowne i czasochłonne. Zatem model ten najlepiej nadaje się do krótkich projektów ze stałymi, dobrze zdefiniowanymi i udokumentowanymi wymaganiami, ale nie jest idealny w przypadku projektów długoterminowych, złożonych lub bieżących.

3. Model iteracyjny (przyrostowy).

Przerwa kawowa #52.  10 najbardziej przydatnych stron dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć - 5Podobnie jak inne modele tworzenia oprogramowania, model iteracyjny (przyrostowy) ma na celu przezwyciężenie niektórych wad modelu kaskadowego. Zaczyna się również od planowania i kończy na wdrożeniu. Jednak w przeciwieństwie do modelu wodospadu, model ten obejmuje powtarzanie cykli w całym procesie. Pętle te mogą być iteracyjne (powtarzane) lub przyrostowe (krok po kroku). Proces rozwoju rozpoczyna się od małego zestawu wymagań, a każdemu cyklowi w jego ramach towarzyszy nowy zestaw wymagań. Iteracyjny charakter tego modelu pozwala na ewolucję i rozwój oprogramowania w miarę możliwości wprowadzania niewielkich zmian w trakcie całego procesu. Dzieje się tak, ponieważ nowa iteracja opiera się na poprzedniej. Deweloperzy mogą wprowadzać zmiany w oparciu o doświadczenia z poprzednich cykli. Ponieważ nie wszystkie wymagania są określone na początku projektu, a w trakcie projektu wprowadza się wiele zmian, prace można rozpocząć szybko. Jednakże zasoby mogą zostać szybko wykorzystane, ponieważ proces jest często powtarzany, nie mówiąc już o tym, że zarządzanie staje się bardziej złożone. Choć model dopuszcza pewne zmiany, nadal składa się z jasno określonych procesów, które czasami prowadzą do braku elastyczności. Koszt wprowadzenia zmian jest niższy niż w modelach wodospadowych i V, jednak model ten nie jest idealny do projektów, w których wymagania mogą ulec zmianie w trakcie iteracji. Model iteracyjny stwarza większe ryzyko ze względu na częste zmiany, nieznane koszty i wymagania dotyczące zasobów oraz niepewne ramy czasowe.

4. Prototypowanie modelu

Przerwa kawowa #52.  10 najbardziej przydatnych stron dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć - 6Model prototypowania koncentruje się na lepszym zrozumieniu przez zespół programistów pragnień i potrzeb klienta poprzez tworzenie prototypów. Tworząc małą kopię roboczą żądanego programu, można wyeliminować nieporozumienia przed rozpoczęciem pełnego rozwoju. Prototyp jest opracowywany, testowany i finalizowany z uwzględnieniem życzeń i uwag klienta. Po zaakceptowaniu prototypu zespół rozpoczyna prace nad produktem końcowym. Model prototypowy może radykalnie zmniejszyć liczbę iteracji. Oszczędza to czas i zwiększa szansę na zadowolenie klienta. Należy jednak wziąć pod uwagę czas, jaki programista spędza na opracowywaniu prototypów. Jeśli klient wymaga wielu zmian, często zmienia zdanie lub zgłasza nierealne żądania, wówczas opracowanie prototypu może szybko stać się skomplikowane. Z tego powodu najlepiej jest ograniczyć liczbę iteracji dozwolonych przed akceptacją prototypu. Po opracowaniu ostatecznego prototypu nie można wprowadzać żadnych dalszych wymagań ani zmian w planie. Jest to istotna wada modelu prototypowego.

5. Model spiralny

Przerwa kawowa #52.  10 najbardziej przydatnych witryn dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć - 7Model spiralny koncentruje się na ocenie ryzyka. W rezultacie każdy zespół chcący skorzystać z tego modelu musi posiadać specjalistów posiadających wiedzę i umiejętności w konkretnym obszarze. Model składa się z czterech etapów: planowania, analizy ryzyka, rozwoju i oceny. Liczba zwojów spirali zależy od konkretnego projektu i wymagań kierownika. Tworzenie oprogramowania w tym modelu zajmuje średnio 6 miesięcy. Model Spiral łączy w sobie cechy modelu wodospadu i prototypowania, kładąc nacisk na projektowanie, w tym prototypowanie (w fazie projektowania) i wykonując kroki podobne do tych w modelu Waterfall. Ciągły i iteracyjny rozwój umożliwia programistom wprowadzanie zmian i dodawanie nowych funkcji. Ponadto rozwój ma charakter systematyczny, co upraszcza proces. Klient jest zaangażowany w przegląd każdego etapu cyklu, co może być uciążliwe dla procesu rozwoju, jeśli nie ma stałej komunikacji z klientem. Ponieważ liczba cykli lub iteracji nie jest zdefiniowana, istnieje ryzyko przekroczenia budżetu i niedotrzymania terminów. Dlatego stworzenie gotowego produktu często wymaga wielu nakładów i czasu.

Elastyczna metodologia (Agile)

Agile to metodologia oparta na 12 zasadach przedstawionych w Manifeście Agile . To raczej sposób myślenia niż zbiór ścisłych protokołów. Metoda Agile ma na celu wydajniejsze tworzenie oprogramowania niż przy użyciu poprzednich modeli, w tym modelu kaskadowego. Istotą modelu zwinnego jest nastawienie na współpracę, komunikację i ciągłą zmianę. Istnieje kilka opcji rozwoju Agile. Wszystkie koncentrują się na pracy zespołowej, współpracy międzyfunkcyjnej, iteracyjnym rozwoju i wczesnych opiniach klientów. Testowanie, opinie i zmiany umożliwiają zespołom opracowywanie i wydawanie lepszego oprogramowania. Przyjrzyjmy się dwóm modelom Agile.

6. Model Scruma

Przerwa kawowa #52.  10 najbardziej przydatnych witryn dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć - 8Model Scrum jest najpopularniejszym modelem Agile. Iteracje rozwojowe nazywane są sprintami. Podczas tych 1-4 tygodniowych sprintów zespoły oceniają poprzedni sprint, dodają nowe funkcje i planują następny sprint. Zmiany nie są dozwolone po zdefiniowaniu działań sprintu. Po każdym sprincie dodawane są nowe funkcje/elementy, które będą kodowane i testowane w kolejnym sprincie. Trwa to do momentu dodania wszystkich funkcji i uznania projektu za gotowy do wydania. Wzmożona współpraca między zespołami interdyscyplinarnymi oraz między organizacją a klientem zmniejsza liczbę nieporozumień i błędów, które często wynikają ze złej komunikacji. Dodatkowo dodatkowe kroki skracają czas wprowadzenia produktu na rynek. Lepsza komunikacja skraca czas rozwiązywania problemów i zwiększa prawdopodobieństwo, że użytkownik końcowy będzie zadowolony z produktu. Taka współpraca wymaga jednak znacznego udziału Klienta w procesie pracy. Trzeba też liczyć się z tym, że jeśli klient będzie wymagał dodania zbyt wielu funkcji, termin realizacji projektu może się wydłużyć.

7. Model Kanbana

Przerwa kawowa #52.  10 najbardziej przydatnych witryn dla programistów Java, 7 modeli tworzenia oprogramowania, o których powinieneś wiedzieć - 9W przeciwieństwie do innych modeli, Kanban nie ma odrębnych iteracji. Kiedy zespół planuje iteracje, są to niewiarygodnie krótkie sprinty, czasem trwające jeden dzień. Aby wizualnie wskazać status projektu i inne szczegóły, używana jest tablica z notatkami w formie naklejek (naklejek). Ta wizualizacja pozwala zespołowi skupić się na najważniejszej w danym momencie funkcji w fazie rozwoju. Dodatkowo tablica Kanban podkreśla, że ​​jest miejsce na ciągłe doskonalenie funkcjonalności. Chociaż metoda karteczek samoprzylepnych może pomóc zmotywować zespół do skupienia się na ważnym zadaniu, jest to kiepski sposób na określenie i utrzymanie harmonogramów. Z tego powodu bardzo trudno jest planować projekty długoterminowe. Ponieważ nie ma ustalonego etapu planowania, zmiany można wprowadzać w dowolnym momencie. Jedną z powszechnych wad Kanbana jest brak ram czasowych. Ten problem może się pogorszyć, jeśli zmiany będą wprowadzane stale.

Przejście na Agile

Każdy z tych modeli został stworzony w celu usprawnienia procesu tworzenia i dostarczania oprogramowania. Każdy model rozwoju może dobrze sprawdzić się w przypadku określonych typów projektów. Jednak starsze modele ręczne, takie jak model kaskadowy, szybko odchodzą w przeszłość. Zespoły IT i firmy w ogóle muszą działać szybciej i wydajniej podczas tworzenia oprogramowania, zaspokajania potrzeb klientów i dotrzymywania kroku konkurencji. Szybszy, bardziej powtarzalny i bezpieczniejszy proces tworzenia oprogramowania opiera się na automatyzacji. A ponieważ poziom automatyzacji i szybkości jest nieosiągalny dla wielu modeli, metodologia Agile staje się coraz bardziej popularna.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION