Ứng dụng greenfield và brownfield là gì?


89

Tôi đọc câu sau trong wiki Fluent NHibernate :

...; tuy nhiên, đối với hầu hết các ứng dụng greenfield (và một số ứng dụng brownfield cũng vậy), ánh xạ tự động sẽ có nhiều khả năng hơn.

Ứng dụng greenfield và brownfield là gì?

Câu trả lời:


130

Greenfield

trong các lĩnh vực khác như kỹ thuật phần mềm, greenfield cũng là một dự án không có bất kỳ ràng buộc nào do công việc trước đó áp đặt. Tương tự là xây dựng trên đất đồng xanh, nơi không cần phải tu sửa hoặc phá bỏ cấu trúc hiện có.

(từ http://en.wikipedia.org/wiki/Greenfield_project )

Vùng màu nâu

Phát triển Brownfield là một thuật ngữ thường được sử dụng trong ngành công nghệ thông tin để mô tả không gian có vấn đề cần phát triển và triển khai các hệ thống phần mềm mới với sự hiện diện ngay lập tức của các ứng dụng / hệ thống phần mềm hiện có (cũ). Điều này ngụ ý rằng bất kỳ kiến ​​trúc phần mềm mới nào cũng phải tính đến và cùng tồn tại với phần mềm trực tiếp đã có tại chỗ.

(từ http://en.wikipedia.org/wiki/Brownfield_(software_development) )


29
"May mắn thay, Google đã không thất vọng vì tôi đã có thể tìm thấy các định nghĩa sau đây chỉ trong vài giây." - Chính xác tại sao lại cần tuyên bố này? Tôi có thể hiểu rằng bạn đang khó chịu với một câu hỏi 'đơn giản' và thêm câu này vì sự thất vọng hoặc điều gì đó, nhưng tại sao lại thêm câu lệnh sau khi nó bị xóa?
AgentConundrum 23/09/09

8
Tôi đồng ý với @AgentConundrum. Đây là kết quả thứ hai mà Google trả về. Mất nhận xét.
Rob Bell

5
Đó là bởi vì tôi vẫn quan điểm rằng mọi người cần học cách sử dụng Google trước khi thử những thứ khác. Bạn biết đấy, cho một người đàn ông một con cá so với dạy một người đàn ông câu cá.
Bombe

17
@Bombe bạn không biết rằng đó là nội dung phổ biến google? Do đó bạn cần câu trả lời ở đâu đó để chúng được tìm thấy trên google ... Bạn đã tìm thấy bài viết wiki trên google, nhưng nếu google có câu trả lời thì tại sao bài viết wiki lại cần viết?
Ngày Robin

29
Điều buồn cười là. Tôi đã tìm thấy điều này ngay bây giờ, thông qua Google. Liên kết đầu tiên. ;)
Ibsonic

13

Tôi nghĩ nó có thể liên quan đến các thuật ngữ quy hoạch đô thị "đất xanh""đất nâu" . Đất Greenfield là đất chưa phát triển - nông nghiệp, cảnh quan, hoặc tự nhiên. Đất Brownfield là đất phát triển.

Ứng dụng brownfield là ứng dụng hiện có, trong khi ứng dụng greenfield là ứng dụng chưa được tạo hoặc đang trong giai đoạn phát triển rất sớm.


Ít nhất cũng có nhiều ý nghĩa. Nhưng làm thế nào bạn có được một ứng dụng brownfield? Không phải các ứng dụng được xây dựng từ đầu? Khi nào nó trở thành cánh đồng nâu?
Svish 22/09/09

2
Ứng dụng brownfield thường đề cập đến một bản nâng cấp lớn hoặc sự phát triển lại của một ứng dụng hiện có trong đó có vấn đề về khả năng tương thích ngược với các định dạng tệp, giao diện, mô-đun hiện có, v.v. tính tương thích và bắt đầu mới.
Jeremy Bourque 22/09/09

1
Brownfield sẽ là một cải tiến lớn hoặc viết lại ít hơn hoàn chỉnh của một ứng dụng trực tiếp hiện có. Nói cách khác, mã kế thừa.
APC

4

Ứng dụng Greenfield: phát triển mới, chưa có công việc nào được thực hiện trước đó gây ra những hạn chế cho giải pháp của bạn. Tôi nghĩ rằng thuật ngữ này xuất phát từ lĩnh vực "không có nguồn gốc, màu xanh lá cây".

Brownfield: ứng dụng hiện có, rất nhiều thứ hiện có để xem xét, v.v.

Xem bài đăng này .


2

Tôi đoán nó là một sự tương tự với việc xây dựng

  • trang greenfieldkhu đất nguyên sinh - tức là một dự án mới, bắt đầu một dự án phần mềm mới từ đầu
  • một brownfield trang web là một trong những nơi cấu trúc hiện có cần phải tháo dỡ đầu tiên, xây dựng tức là trong một dự án phần mềm hiện có

2

Dựa trên những gì tôi biết về James Gregory (người đứng sau Fluent NHibernate), tôi nghĩ mục nhập Wikipedia cho brownfield hơi nghiêng về mặt lý thuyết. Trong Phát triển ứng dụng Brownfield , chúng tôi định nghĩa nó là:

một dự án hoặc cơ sở mã, đã được tạo trước đó và có thể bị ô nhiễm bởi các hoạt động, cấu trúc và thiết kế kém nhưng có khả năng được hồi sinh thông qua tái cấu trúc toàn diện và có định hướng

Phiên bản ngắn: Một dự án hiện có cần hoạt động nhưng vẫn đang được phát triển tích cực (không giống như hầu hết các hệ thống kế thừa).


2

Có nhiều cuộc tranh luận xung quanh quyết định của một công ty đối với 'greenfield' hoặc 'brownfield' hoặc mã kế thừa cấu trúc lại.

Quyết định cần được đưa ra dựa trên nhiều yếu tố - không kém phần quan trọng nhất là nguồn vốn sẵn có để phát triển ứng dụng greenfield. Trong nhiều trường hợp, ứng dụng kế thừa là con bò tiền mặt hiện tại của công ty và bất kỳ sự thay thế greenfield nào của mã kế thừa đó sẽ không tạo ra một đồng đô la đỏ nào cho đến khi nó được phát triển hoàn chỉnh và nằm trong tay của khách hàng trả tiền đầu tiên.

Mặc dù sở thích của hầu hết các kỹ sư phần mềm là BẮT ĐẦU DỰ ÁN GREENFIELD MỚI bởi vì họ thường ghét OPC (Mã của người khác), nó có thể không phải lúc nào cũng có trong tài chính dài hạn của công ty.

Tôi đã viết một bài báo phân tích những rủi ro liên quan đến các dự án greenfield dựa trên kinh nghiệm rất thực tế tại công ty tôi đã làm việc hơn 20 năm trước (cho biết tuổi của tôi bây giờ;). Bạn có thể đọc nó ở đây:

http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.