คนจะกำหนดข้อกำหนดขั้นต่ำของฮาร์ดแวร์สำหรับซอฟต์แวร์ได้อย่างไร


21

คนจะกำหนดข้อกำหนดขั้นต่ำของฮาร์ดแวร์สำหรับซอฟต์แวร์ได้อย่างไร ตัวอย่างเช่น บริษัท พัฒนาซอฟต์แวร์จะบอกลูกค้าได้อย่างไรว่าพวกเขาจะต้องใช้ RAM 8 GB ในการรันโปรแกรมอย่างถูกต้อง

คำตอบ:


31

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

วิธีที่ง่ายที่สุดในการรับข้อกำหนดของฮาร์ดแวร์คือการเดา นักพัฒนาดูที่เครื่องของพวกเขาและพูดว่า "อ๋อมันทำงานบนของฉัน

ในสภาพแวดล้อมที่เข้มงวดมากขึ้น บริษัท พัฒนามีชุดของระบบทดสอบ มันอาจจะไม่อยู่ในบ้าน (ที่ไม่ใช่นักพัฒนาแอปเปิ้ลในบ้านบางครั้งใช้แอปเปิ้ลเข้ากันได้ Lab ) ในการเป็นส่วนหนึ่งของกระบวนการทดสอบการทดสอบหนึ่งครั้งสำหรับฮาร์ดแวร์ทั้งหมดที่มีอยู่และกำหนดข้อกำหนดขั้นต่ำเพื่อให้ทำงานได้

อีกปัจจัยหนึ่งในข้อกำหนดของฮาร์ดแวร์คือข้อกำหนดพื้นฐานสำหรับระบบปฏิบัติการ ตามทฤษฎีแล้ว Windows 7 ต้องการ RAM ขั้นต่ำ 1GB ในการทำงาน ดังนั้นการทดสอบกับระบบ 512 MB ที่รัน Windows 7 จึงไร้สาระ

ทดสอบระบบที่ทำงานด้วย RAM 1 GB ใช้งานได้หรือไม่ ไม่ ... อัพเกรดแรม ทำซ้ำการทดสอบและอัปเกรดจนกว่าแอปพลิเคชันจะทำงานในลักษณะที่รองรับและระบุว่าเป็นข้อกำหนดขั้นต่ำ

เมื่อประสิทธิภาพกลายเป็นส่วนหนึ่งของคำสัญญาของซอฟต์แวร์ 'ที่รองรับได้' รวมถึงนอกเหนือจากการใช้งานจริงแล้วการดำเนินการที่เป็นไปตามความคาดหวังด้านประสิทธิภาพขั้นต่ำ


8
คำตอบที่มั่นคง มันจะไม่เจ็บที่จะเพิ่มว่าบางครั้งมันก็เป็นเพียงเรื่องของการโยนลูกดอกเปรียบเทียบที่ผนังและขึ้นมาด้วยการคาดเดา มันอาจเป็นกระบวนการส่วนตัว

1
+1: คำตอบที่ดีมาก นอกจากนี้ยังอาจช่วยให้ทราบว่าการทดสอบประสิทธิภาพซอฟต์แวร์มักจะระบุข้อกำหนดของฮาร์ดแวร์ นั่นคือมันไม่เกี่ยวกับ "มันทำงาน" และอื่น ๆ เกี่ยวกับการดูข้อกำหนดที่สมบูรณ์แบบ หากมีข้อกำหนดว่าการดำเนินการoต้องใช้เวลา <เวลาtในการดำเนินการดังนั้นชุดค่าผสมของฮาร์ดแวร์ใด ๆ ที่เป็นไปตามเป้าหมายนั้นจะกลายเป็นข้อมูลจำเพาะขั้นต่ำ
Steven Evers

เพียงแค่คิดระบบ dev ควรได้ตามปกติอย่างมีนัยสำคัญ beefier ซึ่งหมายความว่านักพัฒนาซอฟต์แวร์เห็นว่าแทบจะไม่มีการรวบรวมข้อมูลในการตั้งค่าของเขาไม่น่าจะสรุปงานที่ทำเสร็จ การจัดการเป็นสิ่งที่โง่เขลา
Deduplicator

@Dupuplicator ฉันสามารถพูดถึงนายจ้างล่าสุดที่มี devs ใน Dell 280s (ย้อนหลังของการรัน eclipse และ jboss ที่นั่น) แน่นอนว่านั่นเป็นแพลตฟอร์มเป้าหมายเช่นกัน - แต่พวกเขารัน IE เท่านั้น

6

ความต้องการด้านฮาร์ดแวร์ตกอยู่ในสองถังที่แตกต่างกัน บ่อยครั้งที่คุณจะต้องมีข้อกำหนดจากที่เก็บข้อมูลเหล่านี้เมื่อพิจารณาข้อกำหนดฮาร์ดแวร์เฉพาะสำหรับระบบซอฟต์แวร์ใด ๆ ที่คุณสร้าง

ข้อ จำกัด ทางเทคนิคในสถาปัตยกรรม

สิ่งเหล่านี้เป็นข้อกำหนดประเภทต่าง ๆ ที่ต้องได้รับความพึงพอใจจากระบบในตัวและได้รับการออกแบบเป็นพิเศษตั้งแต่เริ่มต้น ตัวอย่างเช่น "จำเป็นต้องใช้ตัวประมวลผล x86"

ตัวอย่างง่ายๆที่นึกถึงคือ Microsoft Office สำหรับ Mac เดิมที Macs ใช้ CPU ของ Power PC ในขณะที่ Microsoft Windows มีการกำหนดเป้าหมายอย่างเคร่งครัดที่เครื่อง "IBM Compatible" (ส่วนใหญ่ใช้โปรเซสเซอร์ x86) เนื่องจาก Windows และ Office ทำงานบน x86 เท่านั้นจึงมีการเขียนโค้ดชุดใหม่ (พร้อมข้อ จำกัด ทางเทคนิคที่แตกต่างกัน) เพื่อสนับสนุน Office บน Power PC สำหรับ Mac OS เมื่อ Mac ย้ายไปใช้ตัวประมวลผล Intel x86 แล้ว Power PC รุ่นเก่าที่เหมาะสำหรับ Office สำหรับ Mac จะไม่ทำงานอีกต่อไปและข้อ จำกัด ทางเทคนิคก็เปลี่ยนไปอีกครั้งสำหรับ Office for Mac เวอร์ชันใหม่บน Intel แอปพลิเคชั่นที่ได้รับการปรับให้เหมาะกับ 32 กับ 64 บิตเป็นอีกตัวอย่างที่ง่าย

ข้อกำหนดของฮาร์ดแวร์โดยนัย

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

ตัวอย่างเช่นหากคุณกำลังสร้างแอปพลิเคชั่น. Net 4.0, .Net 4.0 มีข้อกำหนดของฮาร์ดแวร์ที่ตรวจสอบผ่านแล็บฮาร์ดแวร์ของ Microsoft ตอนนี้แอปพลิเคชันของคุณต้องการอย่างน้อยฮาร์ดแวร์ข้อกำหนดเดียวกันกับที่กรอบงาน. Net 4.0 ต้องการ

ข้อกำหนดฮาร์ดแวร์ตามบริบท

ส่วนใหญ่เวลาที่คุณพูดถึงข้อกำหนดของฮาร์ดแวร์สิ่งที่คุณกำลังพูดถึงจริงๆก็คือวิธีที่คุณสนับสนุนสถานการณ์คุณลักษณะคุณภาพที่เฉพาะเจาะจง สิ่งต่างๆเช่นประสิทธิภาพความน่าเชื่อถือความพร้อมใช้งานและความสามารถอื่น ๆ

นี่คือสิ่งที่ฉันจัดการบ่อยครั้งในการแนะนำฮาร์ดแวร์สำหรับลูกค้าที่สร้างแอปพลิเคชันบน IBM InfoSphere Data Explorer (โดยทั่วไปคือแพลตฟอร์มเครื่องมือค้นหาข้อมูลขนาดใหญ่) ความต้องการขั้นพื้นฐานของ Data Explorer นั้นน้อยมาก (คุณสามารถเรียกใช้บนแล็ปท็อปได้) แต่คำแนะนำด้านฮาร์ดแวร์สำหรับแอปพลิเคชัน Big Data ใด ๆ (อ่าน: ข้อกำหนด) จะมีเนื้อหาเกี่ยวกับคุณลักษณะของคุณภาพสำหรับแอปพลิเคชันนั้น ควรจัดทำดัชนีข้อมูลเร็วแค่ไหน? ควรประมวลผลคำค้นหากี่วินาทีต่อวินาที เวลาที่ยอมรับได้เท่าไร?

การระบุสถานการณ์คุณลักษณะเฉพาะที่มีคุณภาพวาดเส้นบนทรายและให้ฉันแนะนำสำหรับความต้องการฮาร์ดแวร์ขั้นต่ำตามสถานการณ์เหล่านั้น - จำนวน X ของ CPU ที่มีจำนวน Y RAM, Z Gigabytes ของฮาร์ดไดรฟ์ระบบ N ซ้ำซ้อน ในกรณีของเราเรามีสูตรพื้นฐาน (พิจารณาจากการทดสอบอย่างละเอียดในห้องปฏิบัติการฮาร์ดแวร์ของเรา) ที่ใช้สมมติฐานจากสถานการณ์คุณลักษณะคุณภาพเพื่อช่วยกำหนดจุดเริ่มต้นสำหรับคำแนะนำฮาร์ดแวร์ คำแนะนำนี้กลายเป็นข้อกำหนดสำหรับแอปพลิเคชัน Big Data นั้น ๆ

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

หากสมมติฐานในสถานการณ์เปลี่ยนไปความต้องการของฮาร์ดแวร์จะเป็นเช่นนั้น ดังนั้นวลี "จำเป็นต้องใช้ RAM Y GB ในการเรียกใช้ซอฟต์แวร์อย่างถูกต้อง" จริงๆแล้วหมายความว่า "จำเป็นต้องใช้ RAM Y GB เพื่อรวบรวมข้อมูลเอกสาร X ล้านในชั่วโมง Z หรืออัตรา ABC docs / นาที"

ข้อกำหนดฮาร์ดแวร์ขั้นต่ำที่รองรับ

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

ตัวอย่างหนึ่งของสิ่งนี้คือแอพ Android ที่เปิดตัวแล้ว ในฐานะนักพัฒนา Android คุณทดสอบแอปของคุณผ่านตัวจำลองซอฟต์แวร์บางตัวซึ่งอาจใช้กับอุปกรณ์ที่มีอยู่จริงอย่างน้อยสองสามตัว แต่มีอุปกรณ์ต่าง ๆ กว่า 1,000 รายการที่ใช้ Android ซึ่งส่วนใหญ่มี ... นิสัยใจคอ ... ซึ่งอาจทำให้แอปของคุณมีปัญหา ในกรณีส่วนใหญ่คุณจะยังคงให้การสนับสนุนหากผู้ใช้พบปัญหา และในกรณีส่วนใหญ่ผู้ใช้จะไม่ประสบปัญหาแม้ว่าคุณจะไม่ได้ทดสอบกับการเปลี่ยนแปลงของฮาร์ดแวร์นั้นโดยเฉพาะ Microsoft มีปัญหานี้เช่นกันกับ Windows - การ์ดแสดงผล, เมนบอร์ด, cpu, การรวมหน่วยความจำต่างกันมีเท่าไร?

โดยพื้นฐานแล้วการระบุฮาร์ดแวร์ขั้นต่ำที่สนับสนุนก็เหมือนกับการพูดว่า "ซอฟต์แวร์นี้ทำงานบนเครื่องของฉันฉันคาดหวังว่ามันจะทำงานบนเครื่องที่คล้ายกับของฉันคนจำนวนมากใช้ซอฟต์แวร์นี้ในเครื่องต่าง ๆ มากมายโดยไม่มีปัญหาระยะของคุณอาจแตกต่างกัน หากคุณมีปัญหาฉันจะพยายามอย่างดีที่สุดเพื่อช่วยเหลือ / แก้ไข แต่ฉันไม่สามารถรับประกันได้ "


0

สำหรับบางแอปพลิเคชันความต้องการอาจเป็นข้อกำหนดที่ยากจริง ๆ เช่นเมื่อนักพัฒนาได้วิเคราะห์หรือทำโปรไฟล์แอพของพวกเขาและรู้ว่าจำนวนเมกะไบต์, MIPS, รูปหลายเหลี่ยมต่อวินาที, ขนาดชุดอาร์เรย์ที่ทำงานเป็นต้นจะต้องตรงตามมาตรฐานประสิทธิภาพที่กำหนด .

สำหรับนักพัฒนารายย่อยค่าใช้จ่ายอาจเป็นปัญหา พวกเขามีเพียงระบบเดียวเท่านั้นดังนั้นพวกเขาจึงประกาศรายละเอียดของระบบว่าเป็นขั้นต่ำเนื่องจากพวกเขาไม่สามารถทดสอบแอปในสิ่งอื่น (ช้าลงเล็กลง ฯลฯ ) และมีเงื่อนงำเล็กน้อยว่าแอปจะทำอย่างไร ด้วยทรัพยากรน้อย

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