“ การออกแบบดาวน์สตรีม / อัปสตรีม” หมายความว่าอย่างไร


20

"การออกแบบดาวน์สตรีม / อัปสตรีม" ในการพัฒนาซอฟต์แวร์หมายถึงอะไร


1
ฉันไม่ทราบว่ามีการใช้งานที่คุณถามเกี่ยวกับเป็นที่ยอมรับ บริบทของคำถามของคุณคืออะไร คุณพยายามแก้ไขปัญหาอะไร
Jeremy

คุณแน่ใจหรือไม่ว่าคำว่า "การออกแบบ" ติดอยู่? ฉันเคยได้ยินเกี่ยวกับต้นน้ำและปลายน้ำซึ่งมักจะรวมกับ "กิจกรรม" ไม่ใช่การออกแบบ ในแง่นั้นความต้องการและการออกแบบเป็นกิจกรรมต้นน้ำในขณะที่การดำเนินการทดสอบและบำรุงรักษาเป็นกิจกรรมปลายน้ำ
Thomas Owens

ที่เกี่ยวข้อง: 'ต้นน้ำ' หมายถึงอะไร ที่ OS
kenorb

คำตอบ:


30

ส่วนประกอบต้นน้ำคือส่วนอื่น ๆ ของระบบที่ส่วนประกอบของคุณขึ้นอยู่กับการทำงาน หากการออกแบบส่วนประกอบต้นน้ำเปลี่ยนแปลงความสามารถของส่วนประกอบในการทำงานอาจได้รับผลกระทบ หากองค์ประกอบอัปสตรีมมีข้อบกพร่องข้อผิดพลาดนี้อาจปรากฏในส่วนประกอบของคุณ

ส่วนประกอบปลายน้ำเป็นส่วนหนึ่งของระบบที่องค์ประกอบของคุณสามารถส่งผลกระทบต่อ การเปลี่ยนแปลงในองค์ประกอบของคุณสามารถกระเพื่อมไปยังส่วนประกอบที่ดาวน์สตรีมจากส่วนประกอบของคุณ

พิจารณาแอปพลิเคชันที่ประกอบด้วยระดับฐานข้อมูลและระดับแอปพลิเคชัน เทียร์ฐานข้อมูลจะถูกพิจารณาว่าเป็น upstream ของแอ็พพลิเคชันเทียร์


1
ง่ายต่อการจดจำคำตอบได้ที่นี่stackoverflow.com/a/38917565/579689
Talespin_Kit

10

Upstream = บ่อน้ำ (ต้นกำเนิดของซอฟต์แวร์) Downstream = ลงสู่มหาสมุทร (กรณีใช้งาน)

นักพัฒนาซอฟต์แวร์โอเพ่นซอร์สที่เป็นผู้สร้าง "แอพพลิเคชั่นและเครื่องมือบนผลิตภัณฑ์สำเร็จรูป" ผู้ที่ทำงานต้นน้ำทำงานกับผลิตภัณฑ์ที่จะเปิดตัวจริง

หากคุณพัฒนาซอฟต์แวร์: ขึ้นอยู่กับความเสถียรของการพัฒนาต้นน้ำ และผู้ที่ทำงานกับซอฟต์แวร์ของคุณคือนักพัฒนาดาวน์สตรีม


2
คำตอบนี้เป็นที่สุดของทั้งหมด!
Alexander Leon VI

ยกเว้นว่ามันจะตรงกันข้ามเมื่อพูดถึง CMDB ในภาษา ITIL : /
2559

2

ฉันคิดว่านี่เป็นศัพท์แสงวิศวกรรมซอฟต์แวร์มากกว่าภาษาอังกฤษ แต่วิธีที่ฉันเข้าใจว่า "การออกแบบดาวน์สตรีม" เป็นที่ที่นักพัฒนาแอปพลิเคชันใช้เครื่องมือที่ได้รับการพัฒนาและใช้เพื่อทำให้แอปพลิเคชันของพวกเขาสมบูรณ์ การใช้ไลบรารี่ซอฟต์แวร์ที่ผลิตไปแล้วซึ่งการตัดสินใจเกี่ยวกับความสามารถของไลบรารี่ที่ได้ทำไปแล้วนั้นเป็นแบบดาวน์สตรีม

ด้วย "การออกแบบอัปสตรีม" ผู้พัฒนาแอปพลิเคชั่นจะได้รับการปรึกษาและมีส่วนร่วมในการพัฒนาห้องสมุดก่อนที่แอปพลิเคชันจะเริ่มทำงานจริง ๆ หากคุณจะเป็น บริษัท ซอฟต์แวร์ที่เน้นซอฟต์แวร์ด้านเสียงคุณอาจต้องพัฒนาห้องสมุดเพื่อให้ครอบคลุมซอฟต์แวร์ที่คุณวางแผนจะพัฒนา มันจะเป็นการดีที่จะมีนักพัฒนาห้องสมุดนั่งลงกับนักพัฒนาแอปพลิเคชันเพื่อให้แอป devs สามารถป้อนข้อมูลลงในสิ่งที่พวกเขาต้องการ

อัพสตรีมนั้นปรับแต่งได้เองมากขึ้นซึ่งทำให้มีราคาแพงกว่ามาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.