วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

2
ปัญหา ORM ที่ไม่ปิดกั้น
ฉันถามคำถามเกี่ยวกับ SO และพบว่าไม่มี ORMs ที่ไม่มีการบล็อกสำหรับเว็บเฟรมโปรดของฉัน โดยไม่ปิดกั้นฉันหมายถึง ORM ด้วยการสนับสนุนการเรียกกลับสำหรับการดึงแบบอะซิงโครนัส ORM จะมาพร้อมกับการติดต่อกลับหรือบางอย่างเพื่อดำเนินการเมื่อได้รับข้อมูล ฉันต้องการสร้าง แต่ฉันมีคำถามบางอย่างที่ขัดขวางไม่ให้ฉันเริ่มพัฒนา: อาจมีปัญหาอะไรบ้างเมื่อพัฒนา ORM การสนับสนุนการดึงข้อมูลที่ไม่มีการบล็อกช่วยเพิ่มความซับซ้อนของ ORM ได้หรือไม่? ทำไมถึงมี ORM ที่ไม่มีการปิดกั้นจำนวนน้อย อัปเดต:ดูเหมือนฉันต้องปรับปรุงคำถามของฉัน เรามีวิธีแก้ปัญหาที่อนุญาตให้เรารับข้อมูลในแบบที่ไม่ปิดกั้นและฉันเชื่อว่า บริษัท ส่วนใหญ่ที่ใช้โซลูชันดังกล่าวใช้ SQL ดิบ เราต้องการสร้างโซลูชันทั่วไปที่สามารถใช้ซ้ำในโครงการในอนาคต เราอาจพบปัญหาอะไรบ้าง อัปเดต 2:ภาษาที่ต้องการคือไพ ธ อน แต่ฉันสนใจในหลักการ คำถามนี้เป็นคำถามสำหรับฉันจริง ๆ แล้วฉันจะดูแพลตฟอร์มที่ไม่มี ORM บล็อกแล้ว
9 web  orm  server-side 

1
มีหลักฐานเชิงประจักษ์ใดบ้างเกี่ยวกับประสิทธิภาพของ CMMI
ฉันสงสัยว่ามีการศึกษาใด ๆ ที่ตรวจสอบประสิทธิภาพของโครงการซอฟต์แวร์ในองค์กรที่มุ่งเน้น CMMI ตัวอย่างเช่นองค์กร CMMI มีแนวโน้มที่จะเสร็จสิ้นโครงการตามกำหนดเวลาและ / หรืองบประมาณมากกว่าองค์กรที่ไม่ใช่ CMMI หรือไม่ CMMI ย่อมาจาก "Capability Maturity Model Integration" พัฒนาโดยสถาบันวิศวกรรมซอฟต์แวร์ที่ Carnegie-Mellon University (SEI-CMU) มันไม่ใช่การรับรองแต่มีหลาย บริษัท ที่จะ "ประเมิน" องค์กรของคุณในระดับต่าง ๆ ของ CMMI เช่นระดับ 2 และระดับ 3 (ฉันเชื่อว่า CMMI ระดับ 1 เป็นสัตว์ที่มีความเชี่ยวชาญและไม่มีค่าใช้จ่ายใด ๆ ในคำอื่น ๆ ทุกคนเป็นอย่างน้อย CMMI ระดับ 1 แม้ว่าคุณไม่เคยได้ยิน CMMI มาก่อน) ฉันไม่ใช่ผู้เชี่ยวชาญ แต่ฉันเชื่อว่าองค์กรสามารถประเมินระดับ …

2
วิธีการแก้ไขปัญหาการเขียนโปรแกรมแบบไดนามิกให้ดีขึ้น
ฉันเพิ่งเจอคำถามนี้: "คุณจะได้รับนิพจน์บูลีนประกอบด้วยสตริงของสัญลักษณ์ 'จริง', 'เท็จ', 'และ', 'หรือ' และ 'และ' xor 'นับจำนวนวิธีในการวงเล็บ นิพจน์เช่นนั้นจะประเมินเป็นจริงตัวอย่างเช่นมีสองวิธีในการวงเล็บ 'true และ false xor true' ซึ่งจะประเมินค่าเป็นจริง " ฉันรู้ว่ามันเป็นปัญหาการเขียนโปรแกรมแบบไดนามิกดังนั้นฉันจึงพยายามหาวิธีแก้ปัญหาด้วยตัวเองซึ่งมีดังต่อไปนี้ สมมติว่าเรามีการแสดงออกเป็น ABC .... D '' ที่ไหน แสดงถึงการดำเนินการใด ๆ และหรือหรือ xor และตัวอักษรพิมพ์ใหญ่แสดงถึงความจริงหรือเท็จ ให้บอกว่าหลายวิธีสำหรับการแสดงออกของขนาด K นี้ที่จะสร้างความจริงคือ N. เมื่อเพิ่มค่าบูลีนใหม่ E ในการแสดงออกนี้มี 2 วิธีในการวงเล็บการแสดงออกใหม่นี้ 1 (ABC .... D) .E) เช่น ด้วยวงเล็บที่เป็นไปได้ทั้งหมดของ ABC .... เราเพิ่ม E …

3
มันสมเหตุสมผลหรือไม่ที่จะใช้ jQuery ในเว็บแอปพลิเคชันสมัยใหม่ -kitkit เท่านั้น?
ฉันกำลังทำงานกับเว็บแอปมือถือสองสามเครื่องสำหรับ Android (2.3+) และ iOS (4+) เบราว์เซอร์ของพวกเขารองรับ ECMAScript5 ส่วนใหญ่ซึ่งมีประสิทธิภาพมากและฉันต้องการใช้คุณสมบัติภาษาที่เป็นไปได้หันไปใช้ jQuery เฉพาะเมื่อฉันต้อง กลับกลายเป็นสิ่งเดียวที่ฉันใช้ jQuery document.querySelectorAllสำหรับคือการมีทางเลือกที่สั้นลง อาจกำจัดได้เช่นกัน หากฉันต้องสนับสนุนเบราว์เซอร์ WebKit ที่ทันสมัยเท่านั้นเป็นความคิดที่ดีที่จะกำจัด jQuery (และไลบรารี่วัตถุประสงค์ทั่วไปอื่น ๆ ) หรือไม่ พวกเขาเป็นชั้นของการอ้อมหลังจากทั้งหมด (แอพไม่ต้องโทร AJAX จนถึงตอนนี้ฉันคิดว่านั่นเป็นสิ่งหนึ่งที่น่าเกลียด แต่มันก็คุ้มค่าที่จะรักษา jQuery ไว้เพื่อสิ่งนั้น?)

4
ฟังก์ชั่นที่ไม่ระบุชื่อกับฟังก์ชั่นที่มีชื่อแยกต่างหากสำหรับการเริ่มต้นใน jquery
สมมติว่าเรามีรหัสบางอย่างที่ใช้ในการเริ่มต้นสิ่งต่าง ๆ เมื่อโหลดหน้าเว็บและมีลักษณะดังนี้: function initStuff() { ...} ... $(document).ready(initStuff); ฟังก์ชัน initStuff ถูกเรียกจากบรรทัดที่สามของตัวอย่างเท่านั้น ไม่มีอีกครั้ง. ดังนั้นโดยปกติผู้คนจะใส่สิ่งนี้ลงในการติดต่อกลับแบบไม่ระบุชื่อเช่นนี้ $(document).ready(function() { //Body of initStuff }); การมีฟังก์ชั่นในตำแหน่งเฉพาะในรหัสนั้นไม่ได้ช่วยในการอ่านได้จริง ๆ เพราะการโทรพร้อม () ทำให้มันชัดเจนว่านี่เป็นรหัสเริ่มต้น มีเหตุผลอื่นอีกไหมที่จะชอบอีกอันหนึ่ง?

3
dvcs - "โคลนไปที่สาขา" เป็นเวิร์กโฟลว์ทั่วไปหรือไม่
ฉันเพิ่งพูดคุย dvcs กับเพื่อนร่วมงานเนื่องจากสำนักงานของเราเริ่มพิจารณาเปลี่ยนจาก TFS (เราเป็นร้าน MS) ในกระบวนการฉันสับสนมากเพราะเขาบอกว่าแม้ว่าเขาจะใช้ Mercurial เขาไม่เคยได้ยินคำสั่ง "สาขา" หรือ "ชำระเงิน" และข้อกำหนดเหล่านี้ไม่คุ้นเคยกับเขา หลังจากสงสัยว่ามันเป็นไปได้อย่างไรที่เขาไม่ทราบเกี่ยวกับพวกเขาและอธิบายว่า dvcs ทำงานอย่างไร "แทนที่" ในไฟล์ภายในเครื่องของคุณเขาค่อนข้างสับสน เขาอธิบายว่าคล้ายกับวิธีการทำงานของ TFS เมื่อเขาต้องการสร้าง "สาขา" ที่เขาทำโดยการโคลนดังนั้นเขาจึงมีสำเนาทั้งหมดของ repo ของเขา สิ่งนี้ดูแปลกสำหรับฉัน แต่ประโยชน์ที่ฉันต้องยอมรับก็คือคุณสามารถดูหรือทำงานสองสาขาพร้อมกันเพราะไฟล์แยกกัน ในการค้นหาไซต์นี้เพื่อดูว่ามีการถามก่อนที่ฉันจะเห็นความคิดเห็นหรือไม่ว่าแหล่งข้อมูลออนไลน์จำนวนมากส่งเสริมวิธีการ "โคลนถึงสาขา" นี้เพื่อลดความโปสเตอร์ นี่เป็นเรื่องธรรมดาในชุมชน dvcs หรือไม่ และข้อดีและข้อเสียของวิธีนี้คืออะไร ฉันไม่เคยทำเลยเพราะฉันไม่จำเป็นต้องเห็นหลายสาขาพร้อมกันการสลับเร็วและฉันไม่ต้องการโคลนทั้งหมดที่เติมดิสก์ของฉัน

13
อะไรคือตัวอย่างที่ดีและเรียบง่ายสำหรับคิว? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันกำลังสอนCS2 ( Java and data structures) และฉันมีปัญหาในการหาตัวอย่างที่ดีที่จะใช้เมื่อสอนคิว แอปพลิเคชันหลักสองอย่างที่ฉันใช้สำหรับการmultithreadedส่งข้อความ (แต่การเขียนโปรแกรม MT อยู่นอกขอบเขตสำหรับหลักสูตร) ​​และBFS-style algorithms(และฉันจะไม่ครอบคลุมกราฟจนกว่าจะถึงระยะหลัง) ฉันยังต้องการหลีกเลี่ยงตัวอย่างที่วางแผนไว้ สิ่งที่ฉันคิดว่าถ้าฉันจะแก้ปัญหาพวกเขาในแบบเธรดเดียวฉันจะใช้ลิสต์แทนคิว ฉันมักจะใช้คิวเฉพาะเมื่อการประมวลผลและการค้นพบเป็น interleaved (เช่นการค้นหา) หรือในกรณีพิเศษอื่น ๆ เช่นบัฟเฟอร์ที่มีความยาว จำกัด (เช่นการบำรุงรักษารายการNสุดท้าย) ในทางปฏิบัติฉันพยายามสอนนักเรียนถึงวิธีที่ดีในการทำสิ่งต่าง ๆ ในโปรแกรมจริงไม่ใช่แค่ของเล่นเพื่อแสดงคุณลักษณะ คำแนะนำเกี่ยวกับอัลกอริทึมที่ดีเรียบง่ายหรือแอปพลิเคชันของคิวที่ฉันสามารถใช้เป็นตัวอย่าง แต่จำเป็นต้องมีความรู้ขั้นต่ำอื่น ๆ

8
การปรับปรุง C # foreach?
ฉันพบปัญหานี้บ่อยครั้งในระหว่างการเขียนโปรแกรมซึ่งฉันต้องการให้มีการนับดัชนีแบบวนซ้ำภายใน foreach และต้องสร้างจำนวนเต็มใช้การเพิ่มขึ้น ฯลฯ จะไม่เป็นการดีถ้ามีคำหลักที่แนะนำ วงนับภายใน foreach หรือไม่? มันสามารถใช้กับลูปอื่นได้เช่นกัน สิ่งนี้ขัดกับการใช้คำหลักที่เห็นว่าคอมไพเลอร์จะไม่อนุญาตให้ใช้คำหลักนี้ที่ใดก็ได้ แต่อยู่ในโครงสร้างลูปหรือไม่
9 c#  loops 

2
ทำไมวิธีการเข้าถึงจากข้อมูลจำเพาะ JavaBean กลายเป็นมาตรฐานสำหรับการพัฒนา Java?
JavaBeans ข้อมูลจำเพาะอธิบาย JavaBean เป็น Java Bean เป็นส่วนประกอบซอฟต์แวร์ที่สามารถนำกลับมาใช้ใหม่ที่สามารถจัดการได้ด้วยเครื่องมือสร้างภาพ เนื่องจากส่วนใหญ่ของบรรทัดของรหัสที่เขียนดูเหมือนจะไม่มีอะไรเกี่ยวข้องกับการสร้างภาพในเครื่องมือสร้างทำไมข้อมูลจำเพาะ JavaBean จึงเป็น "วิธี" ในการเขียนรหัสเชิงวัตถุ? ฉันต้องการละทิ้ง getter / setter แบบดั้งเดิมเพื่อสนับสนุนFluent Interfacesตลอดรหัสไม่เพียง แต่ในผู้สร้าง แต่กลัวที่จะทำเช่นนี้เนื่องจากนี่ไม่ใช่วิธีการเขียนโค้ดเชิงวัตถุใน Java
9 java  history 

4
การมีคนที่มีหลายบทบาทในทีมการต่อสู้เป็นเรื่องดีหรือไม่?
ฉันกำลังประเมินวิธีการแบบ Agile เพื่อแนะนำทีมของฉัน ด้วยการแย่งชิงกันมันจะอนุญาตให้คนคนเดียวกันเล่นหลายบทบาทได้หรือไม่? เรามีทีมนักพัฒนาสี่คนและนักออกแบบเว็บไซต์ เราไม่ได้เป็นผู้นำ (ฉันทำหน้าที่นี้ให้สำเร็จ) ผู้ทดสอบ QA หรือนักวิเคราะห์ธุรกิจและงานพัฒนาทั้งหมดของเรามาจาก CIO การทดสอบอัตโนมัติถูกมองว่าเป็นการสิ้นเปลืองเวลาโดยรวมและทุกอย่างจะเน้นที่ความเร็วและไม่ใช่คุณภาพ สิ่งที่จะเกิดขึ้นคือ CIO จะมาพร้อมกับงานพัฒนา (ไม่ว่าจะเป็นฟีเจอร์หรือข้อผิดพลาด) และมอบให้กับนักพัฒนา (ไม่ใช่สำหรับทั้งทีม, เป็นรายบุคคล, มักจะเป็นส่วนตัวหรือเป็นสีน้ำเงิน) คาดว่าจะทำให้เสร็จ CIO ไม่ได้รวบรวมความต้องการนอกเหนือจากความคิดเริ่มต้น (และสิ่งนี้ได้กัดเรามาก่อนเนื่องจากเราจะใช้บางสิ่งเพื่อค้นพบว่าไม่มีผู้ใช้ปลายทางรายใดสามารถใช้คุณลักษณะนี้ได้เนื่องจากพวกเขาไม่ได้รับการปรึกษา ก่อนที่เราจะพัฒนามันและในความหวาดกลัวเราจะถูกบอกให้เปลี่ยนกลับการเปลี่ยนแปลง) แต่ต้องพูดใน / อนุมัติทุกสิ่งที่เราทำ สิ่งแรกสิ่งแรกคือรูปแบบการต่อสู้ที่จะพิจารณานำเสนอมาตรฐานและการปฏิบัติบางอย่างหรือไม่? จากการอ่าน Scrum ดูเหมือนจะพึ่งพาความไว้วางใจและการสื่อสารอีกเล็กน้อยและมุ่งเน้นไปที่การจัดการโครงการมากกว่าการพัฒนาซึ่งเป็นสิ่งที่เราไม่ได้ทำเพราะเราไม่มีลักษณะการจัดการโครงการในปัจจุบัน ประการที่สองถ้ามันสามารถทำงานได้มันไม่มีเหตุผลสำหรับใครสักคนสมมติว่าตัวเองทำหน้าที่เป็นทั้ง ScrumMaster และนักพัฒนา? หรือสำหรับผู้พัฒนาที่จะเป็นเจ้าของผลิตภัณฑ์ (แม้ว่าโอกาสนี้จะเป็น CIO ซึ่งไม่ใช่นักพัฒนา) ฉันเข้าใจ Scrum Master และเจ้าของผลิตภัณฑ์ควรเป็นคนที่แตกต่างกัน แต่ในเวลาเดียวกันฉันไม่คิดว่าเรามีใครที่มีคุณสมบัติของเจ้าของผลิตภัณฑ์ (โอกาสที่มันจะกลายเป็น "ฉันต้องการเรื่องราวเหล่านี้ทั้งหมดฉัน ไม่สนใจว่าจะทำอย่างไรให้สำเร็จ "ประเภทของข้อตกลงและ / หรือการแช่แข็งใด …
9 agile  scrum 

3
การกำหนดราคาสำหรับรหัสแหล่งที่มาและผลิตภัณฑ์ซอฟต์แวร์เชิงปริมาณ
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ฉันกำลังจะทำโครงการ สิ่งนี้ต้องการให้ฉันเขียนโค้ดและตันของมัน ความต้องการของลูกค้าคือการส่งมอบซอร์สโค้ดทั้งหมดเมื่อสิ้นสุดโครงการ คำถามของฉันคือฉันจะหาจำนวนราคาสำหรับซอร์สโค้ดและผลิตภัณฑ์ซอฟต์แวร์ได้อย่างไร มีการวัดใดที่ตามมาเพื่อกำหนดราคาหรือไม่ ฉันจะหาปริมาณผลิตภัณฑ์ซอฟต์แวร์ได้อย่างไร ข้อมูลเพิ่มเติม:แอปพลิเคชันต้องทำงานทุกที่ในระบบปฏิบัติการใด ๆ รวมถึงแท็บเล็ต (iPad, แท็บ Galaxy, ฯลฯ ), สมาร์ทโฟน (iPhone, โทรศัพท์ Android, ฯลฯ ) และบนเว็บ (ตอนนี้คิดเท่าใดรหัสนี้จะเป็น)

3
คุณติดตามกฎทางธุรกิจที่ซับซ้อนนอกรหัสได้อย่างไร
ฉันสนใจที่จะเห็นว่าคนอื่นทำสิ่งนี้อย่างไร โดยเฉพาะอย่างยิ่งในสถานการณ์ที่ลูกค้าหลายรายใช้ฐานซอฟต์แวร์เดียวกันกับกฎเกณฑ์ทางธุรกิจที่แตกต่างกันเล็กน้อย คุณใช้วิธีปฏิบัติแบบใดในการจัดทำเอกสารว่าทุกอย่างควรจะทำงานหรือกฎธุรกิจ โดยพื้นฐานแล้วเมื่อนักพัฒนาใหม่เข้ามาในทีมก็สามารถเข้าถึงได้ง่ายเพื่อดูว่าสิ่งต่าง ๆ ควรทำงานอย่างไรเพราะมีความแตกต่างระหว่างการทำสิ่งที่ปราศจากข้อบกพร่องและการทำงานอย่างถูกต้อง มันจะดีจริง ๆ ที่ได้ไปทรัพยากรแทนที่จะต้องนำสถาปนิกหรือ BSA เข้ามาในการสนทนาทุกครั้งที่มีคำถามเกิดขึ้นว่าควรประมวลผลอะไรบ้าง

2
คุณสมบัติภายใต้ ARC: เสมอหรือสาธารณะเท่านั้น
หลังจากอ่านบทความชื่อ"รหัสบัญญัติ: วิธีปฏิบัติที่ดีที่สุดสำหรับการเข้ารหัส Objective-C" โดย Robert McNallyน้อยกว่าสองปีที่ผ่านมาเล็กน้อยฉันยอมรับการฝึกใช้คุณสมบัติสำหรับสมาชิกข้อมูลทุกคนในคลาส Objective-C ของฉัน ( บัญญัติที่ 3 ณ เดือนพฤษภาคม 2012) McNally แสดงเหตุผลเหล่านี้ในการทำเช่นนั้น (สิ่งที่ฉันให้ความสำคัญ): คุณสมบัติบังคับใช้ข้อ จำกัด การเข้าถึง (เช่นอ่านได้อย่างเดียว) คุณสมบัติบังคับใช้นโยบายการจัดการหน่วยความจำ (แข็งแรงอ่อนแอ) คุณสมบัติให้โอกาสในการใช้ setters และ getters แบบกำหนดเองอย่างโปร่งใส คุณสมบัติที่มี setters หรือ getters แบบกำหนดเองสามารถใช้เพื่อบังคับใช้กลยุทธ์ความปลอดภัยของเธรด การมีวิธีการเข้าถึงตัวแปรอินสแตนซ์เดียวช่วยเพิ่มความสามารถในการอ่านรหัส ฉันใส่คุณสมบัติส่วนใหญ่ของฉันในหมวดหมู่ส่วนตัวดังนั้นหมายเลข 1 และ 4 มักจะไม่ใช่ปัญหาที่ฉันเรียกใช้ ข้อโต้แย้งที่ 3 และ 5 นั้นนุ่มนวลกว่าและด้วยเครื่องมือที่เหมาะสมและความสอดคล้องอื่น ๆ พวกเขาอาจกลายเป็นไม่ใช่ประเด็นปัญหา ในที่สุดสำหรับฉันข้อโต้แย้งที่มีอิทธิพลมากที่สุดคือหมายเลข 2 การจัดการหน่วยความจำ ฉันทำสิ่งนี้มานับ …

1
มีการคาดคะเนเรื่องเล่าเรื่องอะไรบ้าง
ฉันกำลังอ่านเกี่ยวกับกรณีศึกษาเกี่ยวกับทีมที่ประเมินภาระงานหรือ "คะแนนเรื่องราว" ตามที่พวกเขาเรียกพวกเขาตามความพยายามที่จำเป็นในการทำให้เสร็จ หน่วย "จุดเรื่องราว" เหล่านี้มีหน่วยประมาณเท่าไร ฉันเชื่อว่าความคิดเรื่อง "แต้มเรื่องราว" นี้เกิดจากกระบวนการที่เรียกว่า "การพัฒนาที่คล่องตัว"
9 agile 

3
อะไรคือผลกระทบทางประวัติศาสตร์ของเที่ยวบิน 501 ของ Ariane 5
การสลายตัวของจรวด Ariane 5 37 วินาทีหลังจากเปิดตัวครั้งแรกในการเดินทางครั้งแรกของเธอ ( เที่ยวบิน 501 ) โดยทั่วไปเรียกว่าหนึ่งในข้อบกพร่องซอฟต์แวร์ที่แพงที่สุดในประวัติศาสตร์1 : องค์การอวกาศยุโรปใช้เวลา 10 ปีและ 7 พันล้านเหรียญสหรัฐเพื่อผลิต Ariane 5 ซึ่งเป็นจรวดยักษ์ที่สามารถขว้างดาวเทียมขนาดสามตันหนึ่งคู่ขึ้นสู่วงโคจรในแต่ละครั้งที่มีการเปิดตัวและตั้งใจที่จะทำให้ยุโรปมีอำนาจสูงสุดในธุรกิจอวกาศ ทั้งหมดที่ใช้ในการระเบิดนั้นจรวดน้อยกว่าหนึ่งนาทีในการเดินทางครั้งแรกเมื่อเดือนมิถุนายนที่ผ่านมาซากปรักหักพังที่ลุกเป็นไฟในป่าโกงกางของเฟรนช์เกียนาเป็นโปรแกรมคอมพิวเตอร์ขนาดเล็ก หนึ่งข้อผิดพลาดหนึ่งความผิดพลาด ในบรรดาบรรทัดรหัสประมาททั้งหมดที่บันทึกในบันทึกย่อของวิทยาการคอมพิวเตอร์อันนี้อาจมีประสิทธิภาพมากที่สุด จากการสัมภาษณ์ผู้เชี่ยวชาญด้านจรวดและการวิเคราะห์ที่เตรียมไว้สำหรับเอเจนซี่อวกาศเส้นทางที่ชัดเจนจากข้อผิดพลาดทางคณิตศาสตร์ไปจนถึงการทำลายล้างทั้งหมดเกิดขึ้น การเปลี่ยนแปลงที่สำคัญอะไรบ้างที่ความล้มเหลวของ 501 ในเที่ยวบินและการตรวจสอบในภายหลังเป็นแรงบันดาลใจในการวิจัยระบบที่สำคัญด้านความปลอดภัยและการทดสอบซอฟต์แวร์ ฉันไม่ได้มองหาคำอธิบายของข้อผิดพลาด แต่สำหรับคำอธิบายเกี่ยวกับผลกระทบทางประวัติศาสตร์ของข้อบกพร่องในแง่ของการวิจัยที่ได้รับแรงบันดาลใจจากหรือเกี่ยวข้องโดยตรงกับการสอบสวนความล้มเหลว ตัวอย่างเช่นบทความนี้สรุป: เราได้ใช้การวิเคราะห์แบบคงที่เพื่อ: ตรวจสอบการเริ่มต้นของตัวแปร จัดเตรียมรายการที่ละเอียดของข้อขัดแย้งการเข้าถึงข้อมูลที่อาจเกิดขึ้นสำหรับตัวแปรที่แชร์ แสดงรายการข้อผิดพลาดรันไทม์ที่อาจเกิดขึ้นอย่างละเอียดจาก Ada semantics สำหรับความรู้ของเรานี่เป็นครั้งแรกที่ใช้เทคนิคการวิเคราะห์แบบบูล - อิงและไม่ใช่แบบบูลีน - ใช้ในการตรวจสอบโปรแกรมอุตสาหกรรม ในทำนองเดียวกันกระดาษนี้(PDF)บันทึก: การวิเคราะห์โปรแกรมเชิงสถิตที่เป็นนามธรรมถูกนำมาใช้เพื่อการวิเคราะห์เชิงสถิตของซอฟต์แวร์ ADA แบบฝังของตัวเรียกใช้ Ariane 5 และ ARD ตัววิเคราะห์โปรแกรมแบบสแตติกมีจุดมุ่งหมายที่การตรวจจับอัตโนมัติของความเป็นไปได้, ศักยภาพ, …
9 testing  history  bug 

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