Przeczytałem następujące zdanie na wiki Fluent NHibernate :
...; Jednak dla większości greenfield aplikacji (i całkiem kilku poprzemysłowych nich zbyt) mapowanie auto będzie bardziej niż zdolny.
Jakie są aplikacje typu greenfield i brownfield?
Przeczytałem następujące zdanie na wiki Fluent NHibernate :
...; Jednak dla większości greenfield aplikacji (i całkiem kilku poprzemysłowych nich zbyt) mapowanie auto będzie bardziej niż zdolny.
Jakie są aplikacje typu greenfield i brownfield?
w innych dyscyplinach, takich jak inżynieria oprogramowania, greenfield jest również projektem, w którym brakuje jakichkolwiek ograniczeń narzuconych wcześniejszą pracą. Analogia jest do budowy na terenach niezagospodarowanych, gdzie nie ma potrzeby przebudowy lub wyburzania istniejącej konstrukcji.
(z http://en.wikipedia.org/wiki/Greenfield_project )
Rozwój terenów zdegradowanych jest terminem powszechnie używanym w branży IT do opisania przestrzeni problemowych wymagających rozwoju i wdrażania nowych systemów oprogramowania w bezpośredniej obecności istniejących (starszych) aplikacji / systemów. Oznacza to, że każda nowa architektura oprogramowania musi uwzględniać i współistnieć z oprogramowaniem już istniejącym.
(z http://en.wikipedia.org/wiki/Brownfield_(software_development) )
Myślę, że może to być związane z terminami planowania urbanistycznego „tereny niezagospodarowane” i „tereny zdegradowane” . Grunty niezagospodarowane to tereny niezabudowane - rolne, krajobrazowe lub naturalne. Tereny zdegradowane to tereny zabudowane.
Aplikacja dla terenów zdegradowanych to istniejąca aplikacja, podczas gdy aplikacja od podstaw to taka, która nie została jeszcze stworzona lub jest na bardzo wczesnym etapie rozwoju.
źródło
Aplikacje typu greenfield: nowy program, brak wcześniejszej pracy, która ogranicza Twoje rozwiązanie. Myślę, że to określenie pochodzi od nieoranego, zielonego pola.
Brownfield: istniejąca aplikacja, wiele istniejących rzeczy do rozważenia itp.
Zobacz ten post .
źródło
Myślę, że to analogia do budowania
źródło
Opierając się na tym, co wiem o Jamesie Gregorym (człowieku stojącym za Fluent NHibernate), myślę, że wpis w Wikipedii dotyczący brownfield jest trochę teoretyczny. W Brownfield Application Development definiujemy to jako:
Wersja skrócona: istniejący projekt, który wymaga pracy, ale jest nadal aktywnie rozwijany (w przeciwieństwie do większości starszych systemów).
źródło
Toczy się wiele dyskusji wokół decyzji firmy o wprowadzeniu kodu „greenfield” lub „brownfield” lub refaktoryzacji starego kodu.
Decyzja musi być podjęta z uwzględnieniem wielu czynników - nie tylko dostępnych środków na opracowanie aplikacji typu greenfield. W wielu przypadkach starsza aplikacja jest obecną krową dojną firmy, a każda zamiana od podstaw tego starego kodu nie przyniesie ani jednego czerwonego dolara, dopóki nie zostanie w pełni opracowana i nie będzie w rękach pierwszego płacącego klienta.
Podczas gdy większość inżynierów oprogramowania preferuje START NEW GREENFIELD PROJECT, ponieważ zazwyczaj nienawidzą OPC (Kodeksu Innych Ludzi), nie zawsze może to dotyczyć długoterminowych finansów firmy.
Napisałem artykuł analizujący ryzyko związane z projektami greenfield w oparciu o bardzo realne doświadczenie w firmie, w której pracowałem ponad 20 lat temu (pokazując mój wiek;). Możesz to przeczytać tutaj:
http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html
źródło