คำถามติดแท็ก engineering

วิศวกรรมซอฟต์แวร์ (SE) คือการประยุกต์ใช้แนวทางที่เป็นระบบมีระเบียบวินัยเชิงปริมาณในการออกแบบการพัฒนาการดำเนินการและการบำรุงรักษาซอฟต์แวร์และการศึกษาแนวทางเหล่านี้ นั่นคือการประยุกต์ใช้วิศวกรรมกับซอฟต์แวร์

7
หลักฐานเชิงประจักษ์สำหรับการเลือกกระบวนทัศน์การเขียนโปรแกรมเพื่อแก้ไขปัญหา
วิกิ C2 มีการอภิปรายหลักฐานเชิงประจักษ์สำหรับการเขียนโปรแกรมเชิงวัตถุซึ่งโดยทั่วไปสรุปแล้วไม่มีใครเลยที่จะดึงดูดอำนาจ นี่ถูกแก้ไขครั้งสุดท้ายในปี 2551 การสนทนาที่นี่ดูเหมือนจะทนได้: คำถามว่า OO ล้าสมัยหรือไม่เมื่อการเขียนโปรแกรมเชิงปฏิบัติการเป็นตัวเลือกที่ไม่ดีและข้อดีและข้อเสียของ AOPล้วนได้รับการตอบรับความคิดเห็นของผู้มีส่วนร่วม แน่นอนว่าความคิดเห็นของผู้ปฏิบัติงานที่จัดตั้งขึ้นและมีชื่อเสียงนั้นเป็นสิ่งที่น่ายินดีและมีคุณค่า แต่ก็มีความเป็นไปได้มากขึ้นเมื่อพวกเขาสอดคล้องกับข้อมูลการทดลอง หลักฐานนี้มีอยู่หรือไม่? ฉันรู้ว่าวิศวกรรมซอฟต์แวร์ที่ใช้หลักฐานเป็นสิ่งหนึ่ง แต่ฉันสามารถฝึกฝนในบริบทนี้ได้หรือไม่ โดยเฉพาะถ้าฉันมีปัญหาเฉพาะPที่ฉันต้องการแก้ไขโดยการเขียนซอฟต์แวร์มีองค์ความรู้การศึกษาและการวิจัยที่จะให้ฉันดูว่าผลลัพธ์ของการแก้ปัญหาเช่นPนั้นขึ้นอยู่กับการเลือกกระบวนทัศน์การเขียนโปรแกรมหรือไม่? ฉันรู้ว่ากระบวนทัศน์ใดที่ออกมาเป็น "คำตอบที่ถูกต้อง" ขึ้นอยู่กับว่าการวัดใดที่การศึกษาหนึ่ง ๆ ให้ความสนใจโดยขึ้นอยู่กับเงื่อนไขที่การศึกษานั้นคงที่หรือแตกต่างกันไปและไม่ต้องสงสัยกับปัจจัยอื่น ๆ นั่นไม่ส่งผลกระทบต่อความปรารถนาของฉันในการค้นหาข้อมูลนี้และประเมินราคาอย่างยิ่ง เป็นที่ชัดเจนว่าบางคนคิดว่าฉันกำลังมองหาวิธี "เปลี่ยนข้อเหวี่ยง" - เครื่องทำไส้กรอกบางอย่างที่ฉันใส่ข้อมูลเกี่ยวกับปัญหาของฉันและสิ่งที่มาจากคำว่า "การทำงาน" หรือ "โครงสร้าง" นี่ไม่ใช่ความตั้งใจของฉัน สิ่งที่ฉันกำลังมองหาคือการวิจัยว่า - มีข้อแม้และข้อสันนิษฐานมากมายที่ฉันไม่ได้เข้าไปที่นี่ แต่มีวรรณกรรมที่ดีในเรื่องนี้ - คุณสมบัติของซอฟต์แวร์บางอย่างแตกต่างกันไปขึ้นอยู่กับปัญหาและทางเลือกของกระบวนทัศน์ ในคำอื่น ๆ บางคนพูดว่า "OO ให้ความยืดหยุ่นที่ดีขึ้น" หรือ "โปรแกรมการทำงานมีข้อบกพร่องน้อยลง" - (ส่วนหนึ่ง) สิ่งที่ฉันขอเป็นหลักฐานของเรื่องนี้ ส่วนที่เหลือกำลังขอหลักฐานต่อสิ่งนี้หรือข้อสันนิษฐานที่ข้อความเหล่านี้เป็นจริงหรือหลักฐานที่แสดงว่าข้อพิจารณาเหล่านี้ไม่สำคัญ มีความคิดเห็นมากมายว่าทำไมกระบวนทัศน์หนึ่งถึงดีกว่าอีกกระบวนทัศน์หนึ่ง มีวัตถุประสงค์อะไรอยู่เบื้องหลังสิ่งเหล่านี้หรือไม่

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

3
วิธีการได้รับการฝึกฝนส่วนบุคคลที่วิธีการพัฒนาหนา?
ฉันอยู่ในงานใหม่ที่โครงการต้องมีมาตรฐานคุณภาพที่เข้มงวดจัดทำเป็นเอกสารจัดการรายละเอียดมากไดอะแกรม UML และสิ่งต่าง ๆ เหล่านั้นตรงข้ามกับ "โคบาลรหัส" ที่ประสบการณ์การทำงานในอดีตส่วนใหญ่ของฉันได้รับ . นึกถึงวิธีการพัฒนาซอฟต์แวร์การบินและอวกาศขนาดใหญ่หรืออุปกรณ์การแพทย์ ฉันดีใจที่ได้ออกจากความโกลาหลของการเข้ารหัสคาวบอยและอยากรู้อยากเห็นวิธีการวิศวกรรมหนาวิธีไป แต่เราจะได้รับประสบการณ์อย่างรวดเร็วด้วยวิธีการที่หนักหน่วงได้อย่างไร? นอกจากเพียงอยู่ในงานเป็นเวลาหลายเดือน / ปีนั่นคือ ด้วยภาษาหรือ API ใหม่ ๆ เราสามารถแฮ็คโปรแกรมทดสอบของเล่นอ่านทำผิดโดยเจตนาเพื่อดูว่าเกิดอะไรขึ้น ฯลฯ เช่นการขี่จักรยานหรือเล่นเครื่องดนตรีการฝึกฝนเป็นสิ่งจำเป็น มันง่ายที่จะหยิบขลุ่ยและใช้เวลาครึ่งชั่วโมงทุกวัน ไม่จำเป็นต้องเข้าร่วมวงออร์เคสตราหรือเป็นที่ปรึกษาด้านขลุ่ยเต็มเวลา แต่วิธีฝึกกิจกรรมวิศวกรรมซอฟต์แวร์ที่มีขนาดใหญ่ซับซ้อนเกี่ยวข้องกับทีมและส่วนใหญ่เกี่ยวข้องกับการสื่อสารและการวางแผนและการหลีกเลี่ยงการสื่อสารที่ผิดพลาดและเกินกำหนดและงบประมาณที่ จำกัด ? ดูเหมือนจะเป็นไปไม่ได้ที่จะทำเดี่ยว มีวิธีที่คนจำนวนน้อยสามารถจำลองวิศวกรรมโครงการขนาดใหญ่ทั้งหมดในขนาดเล็กในระยะเวลาอันสั้น (หนึ่งวัน) หรือไม่?

12
คุณจะอธิบายได้อย่างไรว่าวิศวกรรมซอฟต์แวร์นั้นมีความเชี่ยวชาญมากกว่าสาขาวิศวกรรมอื่น ๆ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันทำงานกับคนที่ยืนยันว่าวิศวกรซอฟต์แวร์ที่ดีสามารถพัฒนาในเทคโนโลยีซอฟต์แวร์ใด ๆ และประสบการณ์ในเทคโนโลยีเฉพาะนั้นไม่สำคัญว่าจะสร้างซอฟต์แวร์ที่ดี การเปรียบเทียบของเขาคือคุณไม่จำเป็นต้องมีความรู้เกี่ยวกับผลิตภัณฑ์ที่ถูกสร้างขึ้นเพื่อรู้วิธีสร้างสายการประกอบที่ผลิตผลิตภัณฑ์ดังกล่าว ในทางที่เป็นคำชมที่จะดูด้วยตาเช่นว่า "ถ้าคุณเป็นคนดีคุณเก่งในทุกเรื่อง" แต่ในทางที่มันเป็นเรื่องที่น่าสนใจอย่างมากในอาชีพเช่นเดียวกับใน "Codemonkey, go Sling code" หากไม่มีประสบการณ์ในกรอบซอฟต์แวร์บางอย่างคุณจะประสบปัญหาอย่างรวดเร็วและเป็นเรื่องสำคัญ ฉันพยายามอธิบายเรื่องนี้ แต่เขาไม่ได้ซื้อ มุมมองหรือความคิดที่แตกต่างกันเกี่ยวกับเรื่องนี้เพื่อช่วยอธิบายว่าประสบการณ์ของฉันในสิ่งใดสิ่งหนึ่ง

6
อะไรคือความแตกต่างระหว่างวิศวกรและผู้จัดการผลิตภัณฑ์?
ดูเหมือนว่าทุกวันนี้ทีมพัฒนาทั้งหมดมีทั้งวิศวกรซอฟต์แวร์และผู้จัดการผลิตภัณฑ์ ฉันเป็นมือใหม่ในอุตสาหกรรมซอฟต์แวร์และฉันสงสัยว่าความแตกต่างคืออะไร จำเป็นหรือไม่ที่ผู้จัดการผลิตภัณฑ์จะต้องมีพื้นฐานการเขียนโปรแกรมหรือไม่? วิธีแบ่งงานระหว่างวิศวกรและผู้จัดการผลิตภัณฑ์?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.