Thiết kế hạ lưu / ngược dòng có nghĩa là gì?


20

"Thiết kế xuôi dòng / ngược dòng" trong phát triển phần mềm nghĩa là gì?


1
Tôi không biết rằng cách sử dụng mà bạn đang hỏi về đã được thiết lập tốt. Bối cảnh của câu hỏi của bạn là gì? Vấn đề gì bạn đang cố gắng giải quyết?
Jeremy

Bạn có chắc chắn từ "thiết kế" được đính kèm? Tôi đã nghe nói về thượng lưu và hạ lưu, thường được kết hợp với "hoạt động", không phải là thiết kế. Theo nghĩa đó, các yêu cầu và thiết kế là các hoạt động ngược dòng, trong khi thực hiện, thử nghiệm và bảo trì là các hoạt động hạ nguồn.
Thomas Owens

Câu trả lời:


30

Các thành phần ngược dòng là các phần khác của hệ thống mà thành phần của bạn phụ thuộc vào để thực hiện công việc của nó. Nếu thiết kế của một thành phần ngược dòng thay đổi, khả năng hoạt động của thành phần của bạn có thể bị ảnh hưởng. Nếu một thành phần ngược dòng có lỗi, lỗi này có thể được biểu hiện trong thành phần của bạn.

Các thành phần hạ nguồn là các bộ phận của hệ thống mà thành phần của bạn có thể ảnh hưởng. Những thay đổi trong thành phần của bạn có thể gợn lên các thành phần nằm phía dưới từ thành phần của bạn.

Hãy xem xét một ứng dụng bao gồm một tầng cơ sở dữ liệu và một tầng ứng dụng. Tầng cơ sở dữ liệu sẽ được coi là thượng nguồn của tầng ứng dụng.


1
Dễ nhớ câu trả lời ở đây stackoverflow.com/a/38917565/579689
Talespin_Kit

10

Thượng nguồn = lên giếng (nguồn gốc của phần mềm) Hạ lưu = xuống dưới đại dương (trong các trường hợp sử dụng)

Các nhà phát triển mã nguồn mở "hạ nguồn" xây dựng các ứng dụng và công cụ trên các sản phẩm đã hoàn thành. Những người ngược dòng thực sự làm việc trên các sản phẩm sẽ được phát hành.

Nếu bạn phát triển phần mềm: bạn phụ thuộc vào sự ổn định của sự phát triển ngược dòng. Và những người làm việc trên phần mềm của bạn là những nhà phát triển tuyến dưới.


2
Câu trả lời này là thư ký của tất cả!
Alexander Leon VI

Ngoại trừ nó có vẻ ngược lại khi nói về CMDB bằng ngôn ngữ ITIL. : /
Dwev 6/12/2016

2

Tôi nghĩ rằng đây là thuật ngữ kỹ thuật phần mềm nhiều hơn tiếng Anh, nhưng theo cách tôi hiểu thì "thiết kế xuôi dòng" là nơi các nhà phát triển ứng dụng sử dụng các công cụ đã được phát triển và sử dụng chúng để hoàn thành ứng dụng của họ. Sử dụng các thư viện phần mềm đã được sản xuất trong đó các quyết định về khả năng của thư viện sẽ được thực hiện là hạ nguồn.

Với "thiết kế ngược dòng", nhà phát triển ứng dụng được tư vấn và tham gia vào việc phát triển các thư viện trước khi công việc ứng dụng thậm chí thực sự bắt đầu. Ví dụ, nếu bạn sẽ trở thành một công ty phần mềm tập trung vào phần mềm âm thanh, bạn có thể cần phát triển các thư viện để bao quát phạm vi phần mềm bạn dự định phát triển. Thật tuyệt khi có thể có các nhà phát triển thư viện ngồi lại với các nhà phát triển ứng dụng để các nhà phát triển ứng dụng có thể cung cấp đầu vào cho những gì họ muốn.

Thượng nguồn được tùy chỉnh nhiều hơn, điều này làm cho nó đắt hơn nhiều nhưng có khả năng tạo ra một sản phẩm cuối tốt hơn.

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.