540 likes | 600 Views
ความเข้าใจและการควบคุมค่าใช้จ่ายซอฟต์แวร์
E N D
ความเข้าใจและการควบคุมค่าใช้จ่ายซอฟต์แวร์ความเข้าใจและการควบคุมค่าใช้จ่ายซอฟต์แวร์ ความเข้าใจของค่าใช้จ่ายซอฟต์แวร์เป็นสิ่งสำคัญเพราะของขนาดโดยรวมของค่าใช้จ่ายเหล่านี้ (ในปี 1985 ประมาณ $ 70 พันล้านต่อปีในสหรัฐอเมริกาและมากกว่า $ 140พันล้านต่อปีทั่วโลก) และเนื่องจากผลกระทบของซอฟต์แวร์พื้นฐานจะมีคุณภาพในอนาคตชีวิตของเรา มาตรา 1 ของบทความนี้กล่าวถึงปัญหาเหล่านี้มาตรา 2, ส่วนหลักของกระดาษกล่าวสองวิธีหลักของการทำความเข้าใจค่าใช้จ่ายซอฟต์แวร์ วิธีการ "กล่องดำ" หรือฟังก์ชั่นที่มีอิทธิพลต่อให้ข้อมูลเชิงลึกและเชิงทดลองที่มีประโยชน์เกี่ยวกับซอฟต์แวร์ญาติผลผลิตและยกระดับคุณภาพของการจัดการต่างๆทางเทคนิคสิ่งแวดล้อมและตัวเลือกบุคลากร"แก้ว-box" หรือวิธีการกระจายค่าใช้จ่ายช่วยระบุกลยุทธ์สำหรับการผลิตซอฟแวร์ครบวงจรและมีคุณภาพโปรแกรมการปรับปรุงผ่านโครงสร้างเช่นห่วงโซ่คุณค่าและซอฟต์แวร์ต้นไม้โอกาสผลผลิต ที่น่าสนใจที่สุดกลยุทธ์สำหรับแต่ละการปรับปรุงการผลิตซอฟแวร์ที่ระบุไว้ในมาตรา 2 คือ:รหัส 0 เขียนน้อย; รับที่ดีที่สุดจากคน;หลีกเลี่ยงการทำงานซ้ำ;0 การพัฒนาและการใช้สภาพแวดล้อมการสนับสนุนจากโครงการแบบบูรณาการส่วนที่ 2 ให้สำรวจความคืบหน้าโดยรวมของต้นและล่าสุดพร้อมเหล่านี้และสายอื่น ๆ ที่ระบุไว้โดยต้นไม้โอกาส ความเข้าใจที่ดีขึ้นของค่าใช้จ่ายซอฟต์แวร์นำไปสู่การวิธีการที่ดีในการควบคุมค่าใช้จ่ายโครงการซอฟต์แวร์และในทางกลับกัน มาตรา 3 กล่าวถึงปัญหาเหล่านี้ มันชี้ให้เห็นว่าบางกรอบที่ดีของเทคนิคที่มีอยู่สำหรับการควบคุมงบประมาณจัดซื้อซอฟต์แวร์ตารางเวลาและงานที่เสร็จ แต่ที่จัดการที่ดีของความคืบหน้าเพิ่มเติมเป็นสิ่งจำเป็นเพื่อให้ชุดโดยรวมของการวางแผนและควบคุมเทคนิคที่ครอบคลุมคุณภาพของผลิตภัณฑ์ซอฟต์แวร์และผู้ใช้ขั้นปลายวัตถุประสงค์ระบบ
1 ต้องเข้าใจและการควบคุมซอฟต์แวร์ค่าใช้จ่ายในส่วนนี้เราจะสำรวจสามเหตุผลหลักว่าทำไมมันเป็นสิ่งสำคัญที่จะเข้าใจและค่าใช้จ่ายซอฟต์แวร์ควบคุม:ค่าใช้จ่ายซอฟต์แวร์ที่มีขนาดใหญ่และเติบโต ดังนั้นค่าใช้จ่ายใด ๆ ร้อยละเงินฝากออมทรัพย์จะมีขนาดใหญ่และเติบโตยังหลายผลิตภัณฑ์ซอฟต์แวร์ที่มีประโยชน์จะไม่ได้รับการพัฒนาช่วยให้คนทำงานซอฟต์แวร์ที่ดีมีประสิทธิภาพมากขึ้นจะให้เวลาสำหรับพวกเขาที่จะโจมตีค้างของซอฟต์แวร์ที่จำเป็นนี้การทำความเข้าใจและการควบคุมค่าใช้จ่ายซอฟต์แวร์สามารถรับเราซอฟต์แวร์ที่ดีขึ้นไม่เพียง แต่ซอฟต์แวร์เพิ่มเติม เป็นชีวิตและวิถีชีวิตของเรายังคงขึ้นอยู่กับเพิ่มเติมและเพิ่มเติมเกี่ยวกับซอฟต์แวร์ปัจจัยนี้กลายเป็นที่สำคัญที่สุดของทั้งหมด 1.1Trendeค่าใช้จ่ายซอฟต์แวร์จากการศึกษาชี้ให้เห็นว่าค่าใช้จ่ายซอฟต์แวร์ที่มีขนาดใหญ่อย่างรวดเร็วและที่เพิ่มขึ้น สำหรับประเทศสหรัฐอเมริกาในปี 1980 โดยใช้ทั้งสองวิธีแยกและสมมติฐานค่อนข้างหัวโบราณ, (Boehm, 19831 มารวม 900,000 -1,000,000 บุคลากรซอฟต์แวร์มีค่าใช้จ่ายประจำปีผลของ $ 40 พันล้านหรือประมาณ 2% ของสินค้าสหรัฐมวลรวมประชาชาติ [โจนส์ 19831 มาเทียบเคียงร่างของ 900,000 โปรแกรมเมอร์มืออาชีพในสหรัฐและโลกรวมประชากรโปรแกรมเมอร์ 3,250,000 (900,000 อื่นในยุโรปตะวันตก500,000 ใน Far East, และเกี่ยวกับ 950,000 อื่น ๆ )
[โจนส์ 19831 ประมาณอัตราการเติบโตของบุคลากรการเขียนโปรแกรมที่ฉาบฉวย7% ต่อปีซึ่งจะให้ผลผลิตประชากรสหรัฐโปรแกรมเมอร์มืออาชีพจากประมาณ 3,000,000 คนโดยในปี 2000 และประชากรโลกโปรแกรมเมอร์ในปี 2000 ประมาณ 10,000,000 คน ประมาณการล่าสุดของดอลล่า การเจริญเติบโตในสหรัฐอเมริกาค่าใช้จ่ายซอฟต์แวร์ได้ชี้ให้เห็นโดยรอบ 12% ต่อปีเพิ่มขึ้น (แสดงเพิ่มขึ้นปีละ 5% ในค่าใช้จ่ายบุคลากรบวกเพิ่มขึ้น 7%ในจำนวนของบุคลากร) นี้จะสอดคล้องกับแนวโน้มในกลาโหมสหรัฐค่าใช้จ่ายในกรมซึ่งเดินออกมาจากประมาณ $ 3300000000 ในปี 1974 [ฟิชเชอร์ 19,741 ถึงประมาณ $ 10 พันล้านในปี 1984 [Lieblein, 19851 อุตสาหกรรมอิเล็กทรอนิล่าสุดสมาคมการศึกษาของกระทรวงกลาโหมสหรัฐค่าใช้จ่ายซอฟต์แวร์ภารกิจสำคัญยังคาดการณ์อัตราการเติบโต 12% จากปี 11400000000 $ ในปี 1985 เพื่อ 36000000000 $ในปี 1995 [EN, 19851ใช้อัตราการเจริญเติบโต 12% ต่อปี, ปีค่าใช้จ่ายซอฟต์แวร์สหรัฐจะเป็นประมาณ $ 70 พันล้านดอลลาร์ในปี 1985 และ $ 125,000,000,000 ในปี 1990 ซอฟต์แวร์ของโลกเปรียบค่าใช้จ่ายเป็นเรื่องยากในการคำนวณที่แตกต่างกันเนื่องจากเงินเดือน แต่พวกเขาจะอย่างน้อยสองครั้งนี้สูง: มากกว่า $ 140,000,000,000 ในปี 1985 และกว่า $ 250,000,000,000 ในปี 1990เห็นได้ชัดว่าค่าใช้จ่ายเหล่านี้จะมีขนาดใหญ่พอที่จะทำบุญความพยายามอย่างจริงจังที่จะเข้าใจและควบคุมพวกเขา
1.2 ซอฟท์แว Backlogการศึกษาหลาย ๆ (เช่น [Boehm, 1981; มาร์ติน, 19,831) ระบุว่าความต้องการซอฟต์แวร์ใหม่จะเพิ่มขึ้นเร็วกว่าความสามารถของเราที่จะพัฒนามัน สำหรับตัวอย่างเช่นอากาศสหรัฐสำนักงานบังคับให้ข้อมูลการออกแบบระบบมีการระบุ fouryearงานในมือของข้อมูลทางธุรกิจที่สำคัญในการประมวลผลการทำงานซอฟต์แวร์ที่ไม่สามารถดำเนินการเพราะจำนวน จำกัด ของบุคลากรและเงินทุนซึ่งส่วนมากเป็นต้องปัจจุบันจะอุทิศเพื่อการสนับสนุนการวิวัฒนาการของที่มีอยู่ซอฟแวร์ (มักเรียกว่าทำให้เข้าใจผิด "การบำรุงรักษาซอฟต์แวร์") จำนวน องค์กรภาครัฐและเชิงพาณิชย์อื่น ๆ ได้ระบุ backlogs ที่คล้ายกันค้างซอฟต์แวร์นี้ exacerbates สองปัญหาร้ายแรง ก่อนจะทำหน้าที่เป็นเบรคความสามารถของเราเพื่อให้บรรลุการเพิ่มผลผลิตในภาคอื่น ๆ ของเศรษฐกิจมันได้รับการคาดกันว่าประมาณ 20% ของกำไรจากการผลิตในสหรัฐจะประสบความสำเร็จผ่านระบบอัตโนมัติและการประมวลผลข้อมูล ค้างซอฟต์แวร์หมายความว่าคนที่ไม่ใช่งานซอฟแวร์หลายยังคงมีการจัดการที่ดีของน่าเบื่อเนื้อหาซ้ำและไม่ทำให้พอใจเพราะซอฟต์แวร์ที่จะกำจัดเหล่านั้นบางส่วนของงานไม่สามารถพัฒนาที่สองและรุนแรงมากขึ้นซอฟแวร์ที่ค้างสร้างสถานการณ์ซึ่งทำให้ผลตอบแทนจัดการที่ดีของซอฟแวร์ที่ไม่ดีกับผลกระทบที่เกี่ยวกับความปลอดภัยและคุณภาพของเราชีวิตโดยเฉพาะงานในมือสร้างบุคลากรในตลาดซึ่งเป็นเพียงเกี่ยวกับใครสามารถรับงานไปทำงานนอกค้างซอฟต์แวร์นี้ไม่ว่าพวกเขาจะสามารถหรือไม่มีงานวิจัยหลายแสดงให้เห็นว่าในขณะที่มีความแตกต่างในการผลิตระหว่างผู้คนบัญชีสำหรับแหล่งที่ใหญ่ที่สุดของการเปลี่ยนแปลงในซอฟต์แวร์ที่มีคุณภาพ ตัวอย่างเช่น[Brown-Lipow, 1973] การทดสอบแสดงให้เห็นการเปรียบเทียบ 10: ความแตกต่างใน lอัตราความผิดพลาดระหว่างบุคลากร หลายกรณีของความเสี่ยงให้ประชาชนโดยสรุป Neumann ในซอฟท์แวหมายเหตุ ACM วิศวกรรมสามารถแสดงภาพกราฟฟิกตัวอย่างของวิธีการปัญหาร้ายแรงที่เราได้สร้างขึ้นโดย unleashing เหมาะสมบุคลากรซอฟต์แวร์บนโครงการผลิตงานที่สำคัญซอฟแวร์ นี้ ทำให้เราสองข้อสรุปหลัก
เราจำเป็นต้องเข้าใจและต้องควบคุมค่าใช้จ่ายซอฟต์แวร์ ซึ่งเป็นวิธีการลดค้างซอฟต์แวร์และดังนั้นจึงช่วยลดโอกาสที่โปรแกรมเมอร์ที่ไม่ดี จะยังคงให้เรามีมากขึ้น และซอฟต์แวร์ที่ไม่ดีมากขึ้นไป เราจำเป็นต้องเข้าใจและการควบคุมคุณภาพซอฟแวร์เช่นเดียวกับค่าใช้จ่ายซอฟต์แวร์ 1.3 การทำความเข้าใจและการควบคุมค่าใช้จ่ายซอฟต์แวร์และคุณภาพของซอฟต์แวร์ การมีปฏิสัมพันธ์ระหว่างค่าใช้จ่ายซอฟต์แวร์และคุณภาพที่ซอฟต์แวร์ต่างๆ (ความน่าเชื่อถือความสะดวกในการใช้งานและความสะดวกในการปรับเปลี่ยนการพกพาประสิทธิภาพ ฯลฯ ) จะค่อนข้างซับซ้อน – ตามที่มีปฏิสัมพันธ์ระหว่างคุณภาพต่าง ๆ ของตัวเอง ทั้งหมดนี้ มีสองสถานการณ์หลักที่มีความสำคัญสร้างการมีปฏิสัมพันธ์ระหว่างค่าใช้จ่ายซอฟต์แวร์และคุณภาพของซอฟต์แวร์ a. โครงการซึ่งพยายามที่จะลดต้นทุนการพัฒนาซอฟต์แวร์ที่ค่าใช้จ่ายที่มีคุณภาพสามารถทำได้ แต่เพียงในรูปแบบการดำเนินงานที่เพิ่มขึ้นและค่าใช้จ่ายวงจรชีวิต b. โครงการซึ่งพยายามที่จะลดค่าใช้จ่ายของซอฟต์แวร์และปรับปรุงคุณภาพซอฟต์แวร์สามารถทำได้โดยวิธีที่ชาญฉลาดและมีประสิทธิภาพในการใช้เทคนิคที่ซอฟต์แวร์ที่ทันสมัย ทางไปสำหรับต้นทุนต่ำ ซอฟต์แวร์คุณภาพต่ำ ตัวอย่างหนึ่งของสถานการณ์ ให้บริการโดย [Weinberg-Schulman, 1974] ทดลองซึ่งในหลายทีมถูกถามในการพัฒนาโปรแกรมเพื่อดำเนินการเดียวกัน แต่แต่ละทีมก็ขอให้เพิ่มประสิทธิภาพวัตถุประสงค์ที่แตกต่างเกือบจะเท่ากัน ทีมแรกทำเสร็จกับวัตถุประสงค์ที่พวกเขากำลังขอให้เพิ่มประสิทธิภาพและลดลงภายหลังในวัตถุประสงค์อื่น ๆ โดยเฉพาะอย่างยิ่งทีมขอให้ลดความพยายามเสร็จด้วยความพยายามที่น้อยที่สุดให้โปรแกรมเสร็จสมบูรณ์ แต่โปรแกรมยังมีความชัดเจน เมื่อวันที่ขนาดของโปรแกรมและการเก็บรักษาที่จำเป็น และเพื่อความชัดเจนสุดท้ายในการส่งออก อีกตัวอย่างหนึ่งที่ให้บริการโดยฐานข้อมูลของ COCOMO 63 โครงการพัฒนาและ 24 วิวัฒนาการหรือโครงการบำรุงรักษา [Boehm, 1981] การวิเคราะห์นี้แสดงให้เห็นว่าถ้าผลของปัจจัยอื่น ๆ เช่นบุคลากร, การใช้เครื่องมือและการเขียนโปรแกรมที่ทันสมัย ถูกจัดขึ้นอย่างต่อเนื่องแล้วค่าใช้จ่ายในการพัฒนาซอฟต์แวร์
ที่มีความสำคัญความน่าเชื่อถือเป็นเวลาเกือบสองค่าใช้จ่ายในการพัฒนาซอฟแวร์ที่เชื่อถือได้น้อยที่สุด อย่างไรก็ตามแนวโน้มถูกย้อนกลับในโครงการบำรุงรักษาโครงการซอฟต์แวร์ต่ำความน่าเชื่อถือที่จำเป็นอย่างมากงบประมาณมากขึ้นเพื่อรักษาความน่าเชื่อถือซอฟต์แวร์กว่าสูง ซอฟต์แวร์ต้นทุนต่ำและคุณภาพสูง แน่นอน แต่ถ้าเราต้องการซอฟต์แวร์ที่มีคุณภาพดีกว่าในราคาที่เหมาะสมเราไม่ได้ไปถือคงใช้ของเราเครื่องมือการเขียนโปรแกรมที่ทันสมัยและคนที่ดีกว่า นี้นำไปสู่สถานการณ์ (b) ซึ่งในหลายองค์กรได้รับการบรรลุผลการปรับปรุงพร้อมกันในซอฟต์แวร์ที่มีคุณภาพและประสิทธิภาพการผลิต ตัวอย่างเช่น กว้างขวาง [GUIDE, 1979] การสำรวจของการติดตั้งประมาณ 800 ผู้ใช้พบว่าผลกระทบสี่ประสบการณ์มากที่สุดของการใช้แนวทางปฏิบัติที่เขียนโปรแกรมที่ทันสมัยเป็น "คุณภาพรหัส", "พบข้อผิดพลาดในช่วงต้น", "ผลผลิตของนักเขียนโปรแกรม" และ "เวลาการบำรุงรักษาหรือ เสียค่าใช้จ่าย " อย่างไรก็ตามการผสมด้านขวาของคุณภาพต่างๆ (ความน่าเชื่อถือและมีประสิทธิภาพ, สะดวกในการใช้งานง่ายของการเปลี่ยนแปลง) สามารถเป็นงานที่ซับซ้อนมาก มีงานวิจัยหลายการสำรวจคุณสมบัติเหล่านี้และการมีปฏิสัมพันธ์ของพวกเขาเช่น [Boehm et al, 1978] และ [คอลริชาร์ด--วอลเตอร์ส, 1977] นอกจากนี้บางวิธีเริ่มต้นมีความสำเร็จในการให้บริการสำหรับการตรวจสอบวิธีการและการจัดการที่มีคุณภาพเพื่อวัตถุประสงค์หลายอย่างเช่นการออกแบบตามวัตถุประสงค์บาง [Gilb, 1985] และวิธีการ GOAZIS [Boehm, 1981, บทที่ 31 รีวิวที่ดีของรัฐของศิลปะในการวัดคุณภาพซอฟต์แวร์คือ [Frewin et al,1985]
2. ความเข้าใจค่าใช้จ่ายซอฟต์แวร์ เราสามารถพิจารณาสองวิธีหลักในการทำความเข้าใจค่าใช้จ่ายซอฟต์แวร์: 1. วิธีการ "กล่องดำ" หรือฟังก์ชั่นที่มีอิทธิพลต่อซึ่งดำเนินการวิเคราะห์เปรียบเทียบกับผลรวมของจำนวนซอฟต์แวร์ทั้งหมด โครงการและซึ่งพยายามที่จะอธิบายลักษณะผลกระทบโดยรวมกับซอฟต์แวร์ ค่าใช้จ่ายของปัจจัยต่างๆเช่นวัตถุประสงค์ทีมแนวคิด, ข้อจำกัด ของฮาร์ดแวร์เวลาตอบสนองหรือ มีประสบการณ์บุคลากรและความสามารถ 2. วิธีการ "กล่องแก้ว" หรือค่าใช้จ่ายการจัดจำหน่ายซึ่งวิเคราะห์หนึ่งหรือเพิ่มเติมโครงการซอฟต์แวร์ที่จะอธิบายลักษณะการกระจายภายในของพวกเขาจากค่าใช้จ่ายในแหล่งดังกล่าวเป็นแรงงานเมื่อเทียบกับค่าใช้จ่ายทุนค่าใช้จ่ายเมื่อเทียบกับรหัสเอกสารการพัฒนาเมื่อเทียบกับค่าใช้จ่ายในการบำรุงรักษาหรือการกระจายของค่าใช้จ่ายอื่น ๆ ตามขั้นตอนหรือกิจกรรม ทั้งสองมุมมองหลักเหล่านี้ แน่นอนทั้งที่มีความจำเป็นเพื่อให้บรรลุความเข้าใจอย่างละเอียดของค่าใช้จ่ายซอฟต์แวร์สองส่วนของมาตรานี้จะสำรวจแต่ละมุมมองเหล่านี้ในรายละเอียดมากขึ้น 2.1 ซอฟต์แวร์ฟังก์ชั่นที่มีอิทธิพลต่อค่าใช้จ่าย การศึกษาอิทธิพลของค่าใช้จ่ายซอฟต์แวร์การทำงานในทำนองเดียวกันในสาขาหลักสอง ทิศทาง: ทดลองควบคุมและการวิเคราะห์ เราจะหารือเกี่ยวกับผลของแต่ละแนวทางในการเปิดด้านล่าง
2.1.1 ผลการทดลอง บางส่วนของผลการทดลองที่เก่าแก่ที่สุดเกี่ยวกับซอฟต์แวร์การทำงานที่มีอิทธิพลต่อค่าใช้จ่ายเป็น [Grant-Sackman, 1966] การศึกษาเปรียบเทียบผลของชุดเทียบกับการทำงานของคอมพิวเตอร์เวลาร่วมกันในการผลิตการเขียนโปรแกรม การทดลองแสดงให้เห็นโดยทั่วไปได้รับผลผลิต 20% เนื่องจากเวลาที่ใช้ร่วมกันดำเนินการโต้ตอบ แต่รูปแบบอื่น ๆ อีกมากมายที่น่าทึ่งในการผลิต เนื่องจากความแตกต่างในด้านบุคลากรในการเขียนโปรแกรม ชุดของข้อมูลเชิงลึกที่สำคัญอีกประการหนึ่งที่เกิดจากการ [Weinberg-Schulman, 1974] การทดสอบกล่าวก่อนหน้านี้แสดงให้เห็นผลกระทบที่เกิดที่โดดเด่นของทีมวัตถุประสงค์ในการผลิตโครงการและคุณภาพของผลิตภัณฑ์
ในช่วงปลายปี 1970 จำนวนของการทดลองเพื่อเพิ่มความสว่างช่วยการเขียนโปรแกรม, สืบสวนผลกระทบจากการก่อสร้างรหัส, การเขียนโปรแกรมภาษาโครงสร้าง, รูปแบบรหัส อธิบายและช่วยในการจำชื่อตัวแปรในการผลิตการเขียนโปรแกรมเข้าใจโปรแกรมและอัตราความผิดพลาดบทสรุปที่ดีของการทดลองนี้จะได้รับในปี 1980 บางเริ่มต้นการทดลองมีการสำรวจผลกระทบต่อผลผลิตของการสร้างต้นแบบและภาษารุ่นที่สี่ ทดลองเจ็ดโครงการเปรียบเทียบคุณสมบัติเชิงเทียบกับวิธีการสร้างต้นแบบที่มุ่งเน้นไปสู่การพัฒนาของขนาดเล็กของผู้ใช้มากผลิตภัณฑ์ซอฟต์แวร์แอพลิเคชัน -วิธีการทั้งสองส่งผลให้ "การผลิต" เทียบเท่าประมาณในการจัดส่งคำแนะนำมาต่อคนชั่วโมง(DSI/MH) -โครงการต้นแบบการพัฒนาผลิตภัณฑ์ที่มีประสิทธิภาพเทียบเท่าประมาณ แต่ต้องประมาณ 40% น้อยกว่า DSI และ 40% คน ชั่วโมงน้อยลง
-โครงการระบุมีความยากลำบากในการดีบักน้อยและบูรณาการเนื่องจากการพัฒนาของพวกเขาของข้อกำหนดที่ดี-โครงการระบุมีความยากลำบากในการดีบักน้อยและบูรณาการเนื่องจากการพัฒนาของพวกเขาของข้อกำหนดที่ดี ทดลองหกโครงการเปรียบเทียบการใช้ภาษาการเขียนโปรแกรมรุ่นที่สาม (COBOL) และภาษารุ่นที่สี่ (FOCUS) ที่ผสมของโครงการธุรกิจขนาดเล็กของโปรแกรมประยุกต์ที่เกี่ยวข้องกับผู้เชี่ยวชาญและเริ่มต้นการพัฒนาโปรแกรมประยุกต์ที่ง่ายและซับซ้อนทั้ง [Harel-แมคลีน, 1982] พบมากที่สุดที่ (ดูรูปที่ 2) -โดยเฉลี่ยโดยรวม, รุ่นที่สี่ผลิตผลิตภัณฑ์ที่เทียบเท่ากับวิธีที่สามรุ่นที่มีประมาณ 60% น้อยกว่า DSI และ 60% คน ชั่วโมงน้อยลง (อีกครั้งกับ "ผลผลิต" เทียบเท่าประมาณใน DSI / MH) -จากโครงการโครงการมีการเปลี่ยนแปลงอย่างมีนัยสำคัญในอัตราส่วนของคนรุ่นที่สามคือ: รุ่น DSI สี่ (0.9:1 ไป 27:1), (1.5:1 ไป 8:1) และดีเอสไอ / MH (0.5:1 ถึง 5 : 1)
ผลกระทบของการผลิตซอฟต์แวร์ผลกระทบของการผลิตซอฟต์แวร์ ทั้งสองการทดลองและการทดลองก่อนหน้านี้ ทำให้มันชัดเจนว่าเราจำเป็นสำหรับการผลิตซอฟต์แวร์กว่า DSI / MH จำนวน รูปที่ 1 การสร้างต้นแบบกับการระบุการเปรียบเทียบขนาดและความพยายาม การระบุโครงการ การสร้างต้นแบบโครงการ ความพยายามพัฒนา
รูปที่ 2 ผลกระทบของภาษารุ่นที่สี่เมื่อขนาดโปรแกรมและความพยายาม: การทดลองของ UCLA,6 การใช้งานทางธุรกิจ, 1982 ภาษาโกบอล ภาษารุ่นที่ 4 ขนาด (DSI) ความพยายาม (ชั่วโมงคน)
ตัวชี้วัดทางเลือกที่ได้รับการแนะนำเช่นตัวชี้วัดทางเลือกที่ได้รับการแนะนำเช่น "วิทยาศาสตร์ซอฟต์แวร์" หรือตัวชี้วัดข้อมูลเนื้อหาโปรแกรม [Halstead,1976; โปรแกรมควบคุมการไหลของตัวชี้วัดความซับซ้อน [McCabe, 1978; ตัวชี้วัดความซับซ้อนการออกแบบ [DeMarco, 1982; ตัวชี้วัดโปรแกรมภายนอกเช่นจำนวนของปัจจัยการผลิตผลผลิตไฟล์, รายงานหรือจุดทำงาน (รวมเชิงเส้นของบรรดาสี่ปริมาณ) [Albrecht, 1979; โจนส์, 1986; ในการเปรียบเทียบประสิทธิภาพสัมพัทธ์ของเหล่านี้ตัวชี้วัดผลผลิตDSI / MH เมตริกสรุปดังต่อไปนี้วันที่สามารถขั้นสูง
DSI / MH แต่ละคนมีข้อดีมากกว่า ในบางสถานการณ์ แต่ละคนมีความยากลำบากมากกว่า DSI / MH ในบางสถานการณ์ แต่ละคนมีความยากลำบากเทียบเท่ากับ DSI / MH ในซอฟแวร์ที่เกี่ยวข้องหน่วยความสำเร็จกับมาตรการของมูลค่าของซอฟต์แวร์ที่เพิ่มให้กับองค์กรที่ผู้ใช้ ดังนั้นพื้นที่ของตัวชี้วัดการผลิตซอฟต์แวร์ยังคงอยู่ในความต้องการของอีกการวิจัยและทดลองในการค้นหาของที่แข็งแกร่งมากขึ้นและมีความเกี่ยวข้องในวงกว้าง
2.1.2. การวิเคราะห์เชิง มีสรุปการทดลองที่สำคัญของค่าใช้จ่ายซอฟต์แวร์ ไดรเวอร์ให้เราดูที่การศึกษาเชิงที่เกี่ยวข้อง ที่สำคัญการวิเคราะห์เชิงต้นของการผลิตซอฟต์แวร์ factors.was การศึกษาทำโดย SDC ของกองทัพ USAir ในช่วงกลางปี 1960 [เนลสัน, 19661 นี้ศึกษาเก็บรวบรวมกว่า 100 คุณสมบัติจาก 169 โครงการซอฟต์แวร์ ถึงแม้ว่าการศึกษาไม่ประสบความสำเร็จในการสร้างชุดที่ชัดเจนของซอฟต์แวร์การทำงานมีผลต่อต้นทุนพอที่มีประสิทธิภาพสำหรับการประมาณราคาที่ถูกต้องมันก็ระบุบางส่วนของ ฟังก์ชั่นที่สำคัญมากที่ผู้สมัครมีอิทธิพลต่อการสืบสวนต่อไปเช่นต้องการและความผันผวนในการออกแบบและการพัฒนาฮาร์ดแวร์พร้อมกัน
ช่วงการผลิตซอฟต์แวร์ ในบริบทของการทำความเข้าใจและการควบคุมค่าใช้จ่ายซอฟต์แวร์อย่างมีนัยสำคัญคุณลักษณะของบางรุ่นเหล่านี้เป็นช่วงการผลิตซอฟแวร์สำหรับค่าใช้จ่ายขับ: จำนวนคูณญาติโดยที่ควบคุมค่าใช้จ่ายที่สามารถมีอิทธิพลต่อค่าใช้จ่ายโครงการซอฟต์แวร์ประมาณด้วยแบบจำลอง ตัวอย่างของชุดจากที่เพิ่งปรับปรุงการผลิตสำหรับช่วงรุ่น COCOMO จะแสดงใน
รูปที่ 8 ซอฟท์แวร์ COCOMO วงจรชีวิตช่วงผลผลิต, 1986
รูปที่ 3. ช่วงการผลิตเดียวกันได้รับการให้บริการบางรุ่นค่าใช้จ่ายอื่น ๆ เช่น[เซ่น-Lucas, 19831 สรุปหลักที่สามารถดึงออกมาจากการผลิตในช่วงในรูป3คือ:อิทธิพลที่สำคัญที่สุดบนค่าใช้จ่ายซอฟต์แวร์เป็นจำนวนคำแนะนำแหล่งหนึ่งเลือกที่จะโปรแกรม นี้นำไปสู่ costreductionยุทธวิธีที่เกี่ยวข้องกับการใช้ภาษารุ่นที่สี่หรือส่วนประกอบนำมาใช้ใหม่เพื่อลดจำนวนของคำแนะนำที่มาการพัฒนาการใช้ต้นแบบและการวิเคราะห์ความต้องการอื่น ๆเทคนิคเพื่อให้แน่ใจว่าฟังก์ชั่นที่ไม่จำเป็นจะไม่พัฒนา และการใช้อยู่แล้วการพัฒนาผลิตภัณฑ์ซอฟต์แวร์อิทธิพลที่สำคัญที่สุดต่อไปโดยไกลคือการเลือก,แรงจูงใจและการจัดการของผู้ที่เกี่ยวข้องในซอฟแวร์กระบวนการ โดยเฉพาะอย่างยิ่งการจ้างคนที่ดีที่สุดเท่าที่จะทำได้เป็นปกติการต่อรองราคาเนื่องจากช่วงผลผลิตสำหรับคน uauallyมากกว้างกว่าช่วงของเงินเดือนของผู้คน การอภิปรายโดยรวมของความกังวลเกี่ยวข้องกับที่นี่มีให้ใน [Boehm, 1981; บทที่ 331ทรีทเม้นกว้างขวางมากขึ้นของบุคลากรและพิจารณาการจัดการได้แสดงไว้ใน [Weinberg, 19711, [Couger-Zawacki, 19801,[Metzger, 1981] และ [Reifer, 19811 0 บางส่วนของปัจจัยเช่นความซับซ้อนผลิตภัณฑ์มีความน่าเชื่อถือที่จำเป็น และขนาดฐานข้อมูลส่วนใหญ่ได้รับการแก้ไขคุณสมบัติของผลิตภัณฑ์ซอฟต์แวร์ และไม่ controllablesจัดการ แม้กระทั่งที่นี่แม้ว่ารู้สึก เงินฝากออมทรัพย์สามารถทำได้โดยการลดความซับซ้อนที่ไม่จำเป็นและตาม มุ่งเน้นไปที่ความสมดุลค่าใช้จ่ายที่มีคุณภาพที่เหมาะสมตามที่กล่าวไว้ในมาตรา
ความผันผวนของความต้องการเป็นแหล่งสำคัญและละเลยของค่าใช้จ่ายความผันผวนของความต้องการเป็นแหล่งสำคัญและละเลยของค่าใช้จ่าย เงินฝากออมทรัพย์และการควบคุม การจัดการที่ดีสามารถทำได้โดยเฉพาะอย่างยิ่งในการใช้ ชั่วโมงเขาแตกต่างระหว่างรูปที่ 3 และคู่ของมันใน [Boehm, 19811 เป็นที่รวมของ ปัจจัยความผันผวนของความต้องการส่วนขยายของการเขียนโปรแกรมสมัยใหม่ช่วงปฏิบัติ เพื่อให้ครอบคลุมค่าใช้จ่ายวงจรชีวิต (ใช้พัฒนา 30:70 บำรุงรักษาอัตราส่วนค่าใช้จ่ายวงจรชีวิตช่วงนี้ จาก 1.57 เป็นเวลา 2 ผลิตภัณฑ์ KDSI ถึง 1.92 สำหรับผลิตภัณฑ์ KDSI 512) กว้างของเครื่องมือซอฟต์แวร์ และเวลาตอบสนองในช่วงที่สะท้อนให้เห็นถึงประสบการณ์ที่ผ่านมากับการสนับสนุนซอฟต์แวร์ขั้นสูง สภาพแวดล้อม [Boehm et ทั้งหมด 1984; Boehm, 19851, และนอกเหนือจาก open-ended แทนจำนวนของคำแนะนำซอฟแวร์ที่พัฒนาโดยโครงการ
พัฒนาที่เพิ่มขึ้นในการควบคุมความต้องการความผันผวน ที่พบบ่อย, ผู้ใช้ร้องขอ (หรือความต้องการหรือต้องการ) คุณสมบัติใหม่ ๆ ขณะ ผลิตภัณฑ์ซอฟต์แวร์ที่อยู่ภายใต้การพัฒนา ในภาพเดียวเต็มผลิตภัณฑ์ การพัฒนามันเป็นเรื่องยากมากที่จะปฏิเสธคำขอเหล่านี้; เป็นผลให้ นักพัฒนาอย่างต่อเนื่องเป็นนวดผลกระทบระลอกจาก การเปลี่ยนแปลงจะแพร่กระจายผ่านผลิตภัณฑ์ (และผ่าน โครงการประสานขอตาราง) กับการพัฒนาที่เพิ่มขึ้น, บนมืออื่น ๆ ก็ค่อนข้างง่ายที่จะพูดว่า "Fine, ที่ คุณลักษณะที่ดี เราจะกำหนดมันสำหรับ 4 เพิ่ม. "นี้ช่วยให้แต่ละ เพิ่มทำงานเพื่อจัดทำแผนความมั่นคงจึงมีนัยสำคัญลดลง ความผันผวนของค่าใช้จ่ายตามความต้องการปัจจัยการเพิ่ม 0 ตัวแปรควบคุมค่าใช้จ่ายอื่น ๆ ในรูปที่ 3 นี้ยังมีความสำคัญมาก, โดยเฉพาะอย่างยิ่งถ้าพวกเขาถูกกล่าวถึงในลักษณะบูรณาการ สำหรับข้อมูลเพิ่มเติม
โปรดดูรายละเอียด [Boehm, 1981; บทที่ 331 สำหรับการอภิปรายของที่มีศักยภาพ กลยุทธ์การผลิตสำหรับควบคุมค่าใช้จ่ายในแต่ละครั้งและ [Boehm et al, 19841 สำหรับตัวอย่างของการประยุกต์ใช้ที่ประสบความสำเร็จของพวกเขาเพื่อบูรณาการ ซอฟแวร์โปรแกรมการปรับปรุงการผลิต 0 ช่วงการผลิตนอกจากนี้ยังสามารถใช้ในการประเมินผลกระทบของ การเปลี่ยนแปลงอื่น ๆ กลยุทธ์ซอฟต์แวร์ที่นำเสนอเช่นการเปลี่ยนแปลงไป Ada (และการสนับสนุนสภาพแวดล้อมที่เชื่อมโยงและการเขียนโปรแกรมที่ทันสมัย ปฏิบัติ) สองการศึกษาดังกล่าวได้รับการดำเนินการสำหรับ Ada ถึงวันที่ [Douville-สารสิน-Probert, 19851 ใช้ COCOMO กรอบและ วิธีผู้เชี่ยวชาญมติ-ประมาณค่าใช้จ่ายปกติโทษ 30% สำหรับการใช้ Ada ในระยะใกล้และลดค่าใช้จ่ายอย่างน้อย 40% สำหรับการใช้ Ada ในระยะยาว [เซ่น 19851 ใช้เซ่นแบบ กรอบประมาณค่าใช้จ่ายโทษอย่างมีนัยสำคัญขนาดใหญ่สำหรับใช้ Ada ในระยะใกล้และลดค่าใช้จ่ายโดยทั่วไป 25% สำหรับใช้ Ada ใน ในระยะยาว 2.2 ซอฟท์แวข้อมูลเชิงลึกกระจายค่าใช้จ่าย ต้องดูที่การทดลองและเชิง "กล่อง K-Blac" แนวทาง เพื่อความเข้าใจที่ค่าใช้จ่ายซอฟต์แวร์ให้เราตอนนี้ดูภายในซอฟแวร์การผลิต
"กล่องแก้ว" สำหรับข้อมูลเชิงลึกเพิ่มเติม มีหลายวิธีที่จะวิเคราะห์การกระจายของค่าใช้จ่ายซอฟต์แวร์ที่มี ซึ่งได้ให้ข้อมูลเชิงลึกที่มีคุณค่าในการควบคุมค่าใช้จ่ายซอฟต์แวร์ ในส่วนนี้ เราจะสรุปบางส่วนของข้อมูลเชิงลึกที่ได้จากการวิเคราะห์การกระจาย (1) การพัฒนาปรับปรุงและค่าใช้จ่าย; (2) รหัสและค่าใช้จ่ายเอกสาร; (3) Lahorและค่าใช้จ่ายเงินทุน (4) ค่าใช้จ่ายซอฟแวร์โดยเฟสและกิจกรรม เราจะสรุปเรื่องนี้โดยนำเสนอประเภทเฉพาะของเฟสและการกระจายกิจกรรม เรียกว่าห่วงโซ่คุณค่าและแสดงวิธีการที่จะนำไปสู่การที่มีประโยชน์ characterieation ของถนนสายการปรับปรุงการผลิตที่นี่เรียกว่าการผลิตซอฟต์แวร์ ต้นไม้โอกาส 2.2.1 เมื่อเทียบกับต้นทุนการพัฒนา Rework หนึ่งในเชิงลึกที่สำคัญในการปรับปรุงการผลิตซอฟต์แวร์ที่เป็นส่วนใหญ่ ของความพยายามในโครงการซอฟต์แวร์เพื่อรองรับการทำงานซ้ำ ความพยายามปรับปรุงนี้ เป็นสิ่งจำเป็นอย่างใดอย่างหนึ่งเพื่อชดเชยสำหรับความต้องการที่กำหนดไว้ไม่เหมาะสมหรือ แก้ไขข้อผิดพลาดในการระบุรหัสหรือเอกสาร ตัวอย่างเช่น [โจนส์ 19861 ให้ข้อมูลแสดงให้เห็นว่าค่าใช้จ่ายของ rework เป็นปกติมากกว่า 50% เมื่อ
โครงการขนาดใหญ่มาก ความเข้าใจที่เกี่ยวข้องที่สำคัญคือค่าใช้จ่ายของซอฟแวร์การแก้ไขหรือ reworking เป็น มีขนาดเล็กมาก (โดยปัจจัยจาก 50 ถึง 200) ในขั้นตอนก่อนหน้าของชีวิตของซอฟต์แวร์ วงจรกว่าในช่วงหลัง [Boehm, 1976; Fagan, 1976; ดาลี่ 19771 นี้มี ใส่พรีเมี่ยมสูงในการตรวจจับข้อผิดพลาดในช่วงต้นและเทคนิคการแก้ไข ความต้องการซอฟต์แวร์และข้อกำหนดการออกแบบและการตรวจสอบเช่น ซอฟท์แววิธีการวิศวกรรมความต้องการหรือ Srem [Alford, 1977; Alford, 19841 และปัญหาคำชี้แจงคำชี้แจงภาษา / ปัญหา วิเคราะห์ [Teichroew-เฮอร์ชีย์ 19771 เมื่อเร็ว ๆ นี้ก็มีความสนใจในการเพ่งความสนใจ เทคนิคดังกล่าวเป็นอย่างรวดเร็วต้นแบบ [Zelkowitzสไควร์, 1982; Boehm-Gray- Seewaldt, 1984]; จำลอง Boar, 1984 และรวดเร็ว [Zave, 1984; Swinson, 1985], ซึ่งมุ่งเน้นการรับความต้องการของผู้ขวาต้นและเพื่อให้มั่นใจว่าพวกเขา ประสิทธิภาพการทำงานจะยันได้จึงช่วยลดการจัดการที่ดีของน้ำที่มีราคาแพง ปรับปรุง อีกจุดที่สำคัญคือกรณีปรับปรุงมักจะทำตามการกระจาย Pareto: 80% ของ rework ค่าใช้จ่ายมักจะเป็นผลมาจาก 20% ของปัญหา เต็มตัว 4 แสดงการกระจายทั่วไปบางในลักษณะนี้จากล่าสุด TRW ซอฟต์แวร์ โครงการ; แนวโน้มที่คล้ายกันได้รับการระบุใน [Rubey et al, 1975], [Formica, 1978] และ [Basili-Weiss, 19811 ความหมายที่สำคัญของการกระจายนี้
แบบเกลียว แบบเกลียวเป็นในรูปที่ 5มิติ ในรูปที่ 5 แสดงให้เห็นถึงค่าใช้จ่ายสะสมที่เกิดขึ้นในการบรรลุขั้นตอนวันที่;มิติมุมแสดงความคืบหน้าในการกรอกวงจรของแต่ละเกลียว รูปแบบถือได้ว่าในแต่ละรอบจะเกี่ยวข้องกับการขบวนผ่านลำดับเดียวกันของขั้นตอนสำหรับส่วนของผลิตภัณฑ์แต่ละและสำหรับแต่ละระดับที่จากรายละเอียดเพิ่มเติมจากเอกสารแนวคิดของการดำเนินงานโดยรวมลงไปการเข้ารหัสของแต่ละโปรแกรม
2.2.2 ค่าใช้จ่ายในการจัดทำเอกสาร ส่วนใหญ่ของความพยายามในปัจจุบันในการพัฒนาสภาพแวดล้อมที่มีการสนับสนุนซอฟต์แวร์เพ่งความสนใจไปรับความสามารถในการปรับปรุงประสิทธิภาพการผลิตของผู้คนในการพัฒนารหัส อย่างไรก็ตามการวิเคราะห์ที่ผ่านมาได้แสดงให้เห็นว่าโครงการส่วนใหญ่ในการพัฒนา การผลิตวิศวกรรมผลิตภัณฑ์ซอฟต์แวร์ใช้จ่ายมากขึ้นของความพยายามของโครงการในกิจกรรมที่นำไปสู่เอกสารเป็นสินค้าที่สิ้นสุดของพวกเขาทันทีเมื่อเทียบกับ เพื่อกิจกรรมที่มีผลิตภัณฑ์สิ้นสุดทันทีคือรหัส
รูปที่ 6 ซอฟต์แวร์ห่วงโซ่คุณค่าการพัฒนา
ร้านค้ามักจะเขียนโปรแกรมมีตัวเลขที่ลดลงร้านค้ามักจะเขียนโปรแกรมมีตัวเลขที่ลดลง บริการครอบคลุมกิจกรรมที่เกี่ยวข้องกับการให้บริการเพื่อเพิ่มหรือรักษามูลค่าของผลิตภัณฑ์ สำหรับซอฟต์แวร์นี้ประกอบด้วยกิจกรรมโดยทั่วไปที่เรียกว่าการบำรุงรักษาซอฟต์แวร์หรือวิวัฒนาการ สำหรับความเรียบง่ายรูปที่ 6 หลีกเลี่ยงรวมทั้งเป็นส่วนประกอบต้นทุนการให้บริการในห่วงโซ่มูลค่าการพัฒนาวงจรชีวิตห่วงโซ่คุณค่าที่จะนำเสนอและพูดคุยกันเป็นรูปที่ 7 ด้านล่าง การดำเนินงานครอบคลุมกิจกรรมที่เกี่ยวข้องกับปัจจัยการผลิตเปลี่ยนเป็นขั้นสุดท้ายรูปแบบผลิตภัณฑ์ สำหรับซอฟต์แวร์มักจะเกี่ยวข้องกับการดำเนินงานเศษสี่ประมาณของค่าใช้จ่ายในการพัฒนารวม ในกรณีเช่นนี้การวิเคราะห์ห่วงโซ่คุณค่าเกี่ยวข้องกับการทำลายขึ้นเป็นองค์ประกอบใหญ่เป็นกิจกรรมที่เป็นส่วนประกอบ รูปที่ 6 แสดงการล่มสลายเช่นในการจัดการ(7%), การประกันคุณภาพและการจัดการการกำหนดค่า (5%) และการกระจายของความพยายามทางเทคนิคของขั้นตอนการพัฒนาต่างๆ ช่วงนี้รายละเอียดยังครอบคลุมถึงค่าใช้จ่ายแหล่งที่มาเนื่องจากการ rework ดังนั้นสำหรับตัวอย่างของต้นทุนโดยรวม 20% ของความพยายามทางเทคนิคในช่วงการรวมและการทดสอบเฟส, 13% คือเพื่อรองรับการกิจกรรมต้องมีข้อบกพร่องปรับปรุงในหรือ reorientationsจากความต้องการการออกแบบรหัสเอกสารหรือ; อื่น ๆ 7%หมายถึงจำนวนเงินของความพยายามที่จำเป็นในการเรียกใช้การทดสอบการปฏิบัติหน้าที่บูรณาการและเอกสารที่สมบูรณ์แม้ว่าไม่มีปัญหาถูกตรวจพบในกระบวนการ สนับสนุนกิจกรรม
โครงสร้างพื้นฐานครอบคลุมกิจกรรมต่าง ๆ เช่นการจัดการทั่วไปขององค์กรการวางแผนทางการเงิน, การบัญชี, กฎหมายและรัฐบาลรูป 8% เป็นตามแบบฉบับขององค์กรส่วนใหญ่ การจัดการทรัพยากรมนุษย์ครอบคลุมกิจกรรมที่เกี่ยวข้องกับการสรรหาการจ้างงาน,การฝึกอบรมการพัฒนาค่าตอบแทนและทุกประเภทของบุคลากร ให้ธรรมชาติที่ใช้แรงงานเข้มข้นและเทคโนโลยีเข้มข้นของการพัฒนาซอฟต์แวร์ร่าง 3% ระบุนี่คือการลงทุนที่น้อยกว่าที่ดีที่สุด การพัฒนาเทคโนโลยีครอบคลุมกิจกรรมทุ่มเทเพื่อการสร้างหรือปรับปรุงใหม่เทคโนโลยีเพื่อปรับปรุงผลิตภัณฑ์องค์กรหรือกระบวนการการลงทุน 3%รูปนี่คือสูงกว่าองค์กรซอฟต์แวร์จำนวนมาก แต่ยังคงน้อยกว่าที่ดีที่สุดเป็นเงินลงทุนเพื่อปรับปรุงประสิทธิภาพการผลิตและคุณภาพของซอฟต์แวร์
รูปที่ 7 ซอฟต์แวร์ห่วงโซ่คุณค่าวงจรชีวิต
หลักประกันและการบริการหลักประกันและการบริการ ขอบในห่วงโซ่มูลค่าคือความแตกต่างระหว่างค่าของผลิตภัณฑ์ที่เกิดและค่าใช้จ่ายรวมของการปฏิบัติกิจกรรมค่า เป็นความแตกต่างนี้จะแตกต่างกันอย่างแพร่หลายในหมู่ผลิตภัณฑ์ซอฟต์แวร์ไม่ได้กำหนดปริมาณในรูปที่ 6 ตามที่กล่าวไว้ข้างต้นให้บริการที่ดีที่สุดคือวัดเป็นซอฟต์แวร์ห่วงโซ่คุณค่าวงจรชีวิตตามที่แสดงดังรูปที่ 7 โดยมีประมาณ 70% ของมูลค่ากิจกรรมที่ทุ่มเทให้กับการบริการหรือกิจกรรมที่เกี่ยวข้องกับวิวัฒนาการ อย่างไรก็ตามตั้งแต่กิจกรรมที่เกี่ยวข้องกับการประกอบในระหว่างการวิวัฒนาการไม่แตกต่างอย่างโดดเด่นจากผู้ที่ไปในระหว่างการพัฒนาซอฟแวร์เราจะยังคงมุ่งเน้นไปที่รูปที่ 6 เป็นแหล่งที่มาของข้อมูลเชิงลึกในความเข้าใจและการควบคุมค่าใช้จ่ายซอฟต์แวร์ การพัฒนาเครือข่ายผลกระทบค่าซอฟท์แวร์ ความหมายหลักของการพัฒนาซอฟต์แวร์ห่วงโซ่คุณค่าก็คือ "การดำเนินงาน" องค์ประกอบเป็นกุญแจสำคัญในการปรับปรุงที่สำคัญ ไม่เพียง แต่มันแหล่งที่มาของค่าใช้จ่ายซอฟต์แวร์ แต่ยังส่วนขององค์ประกอบที่เหลือเช่น "ทรัพยากรมนุษย์" จะไต่ลงในลักษณะที่สัดส่วนปรับลงของค่าใช้จ่ายการดำเนินงาน
ลักษณะสำคัญอีกประการหนึ่งของห่วงโซ่คุณค่าเป็นที่เกือบทั้งหมดของคอม ยังคงสูงที่ใช้แรงงานเข้มข้น ดังนั้นตามที่กล่าวในมาตรา 2.2.3 มีโอกาสที่สำคัญในการให้ความช่วยเหลือโดยอัตโนมัติเพื่อให้กิจกรรมเหล่านี้มีประสิทธิภาพมากขึ้นและเงินทุนมาก นอกจากนี้มันก็หมายความว่ากิจกรรมของมนุษย์ทรัพยากรและการจัดการมีการงัดสูงกว่า 3% ของพวกเขาและ 7% ระบุระดับการลงทุน • รายละเอียดของการดำเนินการในส่วนที่ชี้ให้เห็นว่าชั้นนำ Strategies สำหรับประหยัดค่าใช้จ่ายในการพัฒนาซอฟแวร์ที่เกี่ยวข้องกับ • รายละเอียดของการดำเนินการในส่วนที่ชี้ให้เห็นว่าชั้นนำ Strategies สำหรับประหยัดค่าใช้จ่ายในการพัฒนาซอฟแวร์ที่เกี่ยวข้องกับ • ลดขั้นตอนที่ผ่านความสามารถในการเขียนโปรแกรมเช่นอัตโนมัติหรือการประกันคุณภาพโดยอัตโนมัติ • กำจัด ผ่านการตรวจสอบข้อผิดพลาดในช่วงต้นหรือผ่านทางความสามารถเช่นการสร้างต้นแบบอย่างรวดเร็วเพื่อหลีกเลี่ยงการทำงานซ้ำภายหลังต้องการ • นอกจากนี้อีกประหยัดค่าใช้จ่ายที่สำคัญสามารถทำได้โดยการลดจำนวนรวมของการดำเนินงานตามขั้นตอนประถมโดยการพัฒนาผลิตภัณฑ์ที่จำเป็นต้องใช้ในการสร้างเส้นน้อยของรหัส นี้มีผลของการลดขนาดโดยรวมของห่วงโซ่คุณค่าของตัวเอง แหล่งที่มาของเงินฝากออมทรัพย์นี้แบ่งออกเป็นสองหลักตัวเลือก: • การสร้างผลิตภัณฑ์ที่เรียบง่ายผ่านกิจกรรมต่าง ๆ ที่ชาญฉลาด front-end เช่นการจัดการการสร้างต้นแบบหรือความเสี่ยงส่วนประกอบซอฟต์แวร์ผ่านทางความสามารถเช่นภาษารุ่นที่สี่หรือห้องสมุดส่วนประกอบ
2.2.6 ซอฟต์แวร์เพิ่มผลผลิตการปรับปรุงต้นไม้โอกาส รายละเอียดของแหล่งที่มาที่สำคัญของการประหยัดต้นทุนซอฟต์แวร์นี้นำไปสู่การเพิ่มผลผลิตซอฟท์แวร์ปรับปรุงต้นไม้โอกาสแสดงในรูปที่ 8 นี้เสียลำดับชั้นช่วยให้เราได้เข้าใจถึงวิธีการเพื่อให้พอดีกับที่น่าสนใจต่างๆตัวเลือกการผลิตในการผลิตซอฟต์แวร์โดยรวมแบบบูรณาการกลยุทธ์ปรับปรุง ส่วนใหญ่ของตัวเลือกแต่ละผลผลิตได้รับการกล่าวถึงในก่อนหน้านี้ทั้งนี้วินาทีของการวิจัยนี้ ที่นี่เราจะให้สรุปตัวเลือกก่อนหน้าและการอภิปรายต่อไปของตัวเลือกเพิ่มเติมที่ระบุไว้ในต้นไม้โอกาส ทำให้ประชาชนที่มีประสิทธิภาพอื่น ๆ แหล่งที่มาที่สำคัญของโอกาสในการจัดการกับคนที่ถูกกล่าวถึงใน ช่วงผลผลิตขนาดใหญ่เนื่องจากความสามารถในการบุคลากรในมาตรา 2.1.2 และแรงงานเมื่อเทียบกับการอภิปราย ค่าใช้จ่ายใน 2.2.3 มาตรา กำไรเพิ่มเติม สิ่งอำนวยความสะดวกที่มุ่งเน้นถูกปกคลุมในการอภิปรายของซอฟต์แวร์แบบโต้ตอบการพัฒนา ในมาตรา 2.1.1 และข้อ จำกัด ของการหลีกเลี่ยงฮาร์ดแวร์ในข้อ 2.1.1 มาตรา ให้บุคลากรซอฟต์แวร์ที่มีสำนักงานส่วนตัวเป็นอีกหนึ่งค่าใช้จ่ายที่มีประสิทธิภาพโอกาส ความสัมพันธ์ที่นำไปสู่การเพิ่มผลผลิตประมาณ 11% ที่ IBMSanta-เทเรซา [โจนส์ 19861 และ 8% ที่ TRW [Boehm,et ทั้งหมด 19,841 นอกจากนี้การใช้ประโยชน์ ของโครงสร้างแรงจูงใจความคิดสร้างสรรค์สามารถที่โดดเด่นค่อนข้าง สำหรับตัวอย่างเช่นโปรแกรมที่จะให้โบนัสพิเศษสำหรับผู้ที่นำมาใช้ใหม่มากกว่าสร้างซอฟแวร์ได้นำไปสู่การเพิ่มขึ้นของจำนวนเงินที่มีนัยสำคัญในส่วนของซอฟต์แวร์นำมาใช้ใหม่จากการใช้งานแล้ว
การทำขั้นตอนที่มีประสิทธิภาพเพิ่มการทำขั้นตอนที่มีประสิทธิภาพเพิ่ม ปัจจัยหลักที่ยกระดับในกระบวนการซอฟต์แวร์ที่มีขั้นตอนมากขึ้น มีประสิทธิภาพ ในปัจจุบันมีการใช้เครื่องมือซอฟต์แวร์ที่เป็นอัตโนมัติ และใช้แรงงานมากในแต่ละขั้นตอน เครื่องมือดังกล่าวมีการพัฒนาที่นาน การสำรวจบางอย่างที่ดีจากเครื่องมือต่างๆ ที่กำหนด เมื่อเร็ว ๆ นี้มันได้กลายเป็นที่ชัดเจนว่าเครื่องมือดังกล่าวมีประสิทธิภาพมากขึ้น ถ้าพวกเขาเป็นส่วนหนึ่งของโครงการบูรณาการการสนับสนุนสภาพแวดล้อม (IPSE) หลักคุณสมบัติที่แตกต่างของ IPSE จากการเก็บรวบรวมข้อมูล คือ 1.การสมมติฐานทั่วไปเกี่ยวกับแบบจำลองกระบวนการซอฟต์แวร์ได้รับการสนับสนุน โดยเครื่องมือ (หรือซอฟต์แวร์โดยเฉพาะ วิธีการพัฒนาได้รับการสนับสนุนโดยเครื่องมือ 2.โครงการปริญญาโทแบบบูรณาการฐานข้อมูลฐานวัตถุหรือ Persistent ให้บริการเป็นพื้นที่เก็บข้อมูลแบบครบวงจรของหน่วยงานที่สร้างขึ้นระหว่างกระบวนการซอฟต์แวร์พร้อมกับรุ่นต่างๆ 3.การสนับสนุนของผู้ใช้และกิจกรรมที่เกี่ยวข้องในโครงการซอฟต์แวร์ที่ไม่เพียง แต่การพัฒนาของโปรแกรมเมอร์ 4.ผู้ใช้แบบครบวงจรอินเตอร์เฟซให้ง่ายและเป็นธรรมชาติ สำหรับชั้นเรียนของบุคลากรโครงการ (โปรแกรมเมอร์ผู้เชี่ยวชาญ บรรณารักษ์ เลขานุการ ผู้จัดกาการวางแผนและ การบุคลากรการควบคุม ฯลฯ ) การวาดภาพบนเครื่องมือของ IPSE 5.เครื่องมือที่ครอบคลุมส่วนสำคัญของกิจกรรมของโครงการซอฟต์แวร์ 6.สถาปัตยกรรมคอมพิวเตอร์สื่อสารการอำนวยความสะดวกให้ผู้ใช้สามารถเข้าถึงข้อมูลและทรัพยากรใน IPSE --------------------------------------------------------------------------------------------------- ลดที่ขั้นตอน
ความพยายามเพื่อลดขั้นตอนที่เกี่ยวข้องกับการทำงานอัตโนมัติทั้งการเขียนโปรแกรม โดยการให้ความสามารถการทำงานได้โดยตรงกับ ข้อกำหนดซอฟต์แวร์ที่สร้างโปรแกรมคอมพิวเตอร์โดยอัตโนมัติ นั่นที่สำคัญคือต้องใช้วิธีนี้: โดเมนเฉพาะและโดเมนที่เป็นอิสระต่อการเขียนโปรแกรมอัตโนมัติ โดเมนเฉพาะข้อดีคือไม่กำหนดอยู่กับโดเมนในการเปลี่ยนแปลงข้อกำหนดในโปรแกรมและในข้อจำกัดของการเขียนโปรแกรมเพื่อโดเมนค่อนข้างน้อย ในวงเงินหนึ่งถึงขอบเขตกับภาษารุ่นที่สี่เช่น VisiCalc ซึ่งเป็นระบบการเขียนโปรแกรมที่ดีโดยอัตโนมัติภายในโดเมนน้อยมากและค่อนข้างได้ผลที่ภายนอกโดเมน ตัวอย่างที่ดีและการสำรวจของวิธีการทั่วไปมากขึ้นกับโดเมนเฉพาะในการเขียนโปรแกรมอัตโนมัติ วิธีการโดเมนอิสระมีผลตอบแทนที่กว้างมากในระยะยาว แต่มีความยากลำบากมากในการใช้งานที่มีประสิทธิภาพของโปรแกรมขนาดใหญ่ บางความคืบหน้าจะถูกทำในทิศทางนี้เช่นยูเอส-IS1 ทำงานสูงสุดในระบบ FSD -------------------------------------------------------------------------------------------------------------- กำจัด การทำงานซ้ำๆ ความสามารถขยายการเขียนโปรแกรมอัตโนมัติในทิศทางที่ให้ความช่วยเหลือจากผู้เชี่ยวชาญในการเขียนโปรแกรม (และอื่น ๆ โดยทั่วไปเพื่อโครงการซอฟต์แวร์ทั้งหมด) เพื่อช่วยให้พวกเขาตัดสินใจที่เหมาะสมในการเลือกอัลกอริทึม โครงสร้างข้อมูล ทางเลือกของชิ้นส่วนนำมาใช้ใหม่เปลี่ยนการควบคุมวางแผนการทดสอบ และการวางแผนซอฟต์แวร์โดยรวมและการควบคุมโครงการ แนวคิดของ KBSA ไดเอธิบายอย่างละเอียด ประโยชน์หลักของ KBSA จะการกำจัดปรับปรุงในปัจจุบันโครงการซอฟต์แวร์เนื่องจากการล่าช้าในการเขียนโปรแกรมแล้ว
หรือการตัดสินใจเป็นโครงการที่ไม่เหมาะสมส่งผลให้ในการทำงานที่ต้องทำซ้ำ จำนวนต้นแบบของ KBSA เป็นการพัฒนาในปัจจุบันนี้ ปัจจุบันภายใต้การพัฒนา หนึ่งในปัญหาหลักในการพัฒนาซอฟต์แวร์ CAD ดีระบบเป็นความเข้าใจของเราที่ไม่สมบูรณ์ของการออกแบบซอฟต์แวร์ เทคนิคที่มีประสิทธิภาพมากที่สุดสำหรับปรับปรุงเป็นข้อมูลการซ่อน- วิธีการพัฒนาโดย Parnasและนำไปใช้ในกองทัพเรือสหรัฐ โครงการ A-7
ซ่อนตัดสินใจดำเนินการภายในโมดูลจึงลดระลอกซ่อนตัดสินใจดำเนินการภายในโมดูลจึงลดระลอก ผลมักจะพบเมื่อตัดสินใจการใช้งานซอฟต์แวร์จะต้อง เปลี่ยน วิธีการซ่อนข้อมูลโดยเฉพาะอย่างยิ่งสามารถที่มีประสิทธิภาพในการกำจัด ปรับปรุงซอฟแวร์ในระหว่างการวิวัฒนาการโดยระบุบางส่วนของ ซอฟต์แวร์ส่วนใหญ่มีแนวโน้มที่จะได้รับการเปลี่ยนแปลง (ลักษณะของเวิร์กสเตชันเข้า รูปแบบข้อมูล, ฯลฯ ) และแหล่งข้อมูลเหล่านี้ซ่อนตัวอยู่จากการเปลี่ยนแปลงวิวัฒนาการภายใน โมดูล บางแหล่งข้อมูลอื่น ๆ สำหรับการขจัดปรับปรุงได้รับการกล่าวก่อนหน้านี้เช่น การใช้งานของการเขียนโปรแกรมที่ทันสมัย??ใน 1.3 และมาตรา 2.1.2 ใช้ การพัฒนาที่เพิ่มขึ้นเพื่อลดความต้องการความผันผวนใน 2.1.2 และมาตรา การใช้ต้นแบบอย่างรวดเร็วและมีความเสี่ยงที่ขับเคลื่อนด้วยโมเดลการประมวลผลซอฟต์แวร์ในการอภิปราย ของต้นทุนการพัฒนาเมื่อเทียบกับการทำงานซ้ำใน 2.2.1 มาตรา อาคารที่เรียบง่าย Producte ล่าสุดทั้งสองวิธีที่เกี่ยวข้องกับการสร้างต้นแบบอย่างรวดเร็วและซอฟต์แวร์ที่ดีขึ้น แบบจำลองกระบวนการยังสามารถมีประสิทธิภาพมากในการปรับปรุงการผลิตด้านล่างบรรทัด โดยการกำจัดซอฟต์แวร์ชุบทอง: ซอฟต์แวร์พิเศษซึ่งไม่เพียง แต่สิ้นเปลือง พยายามเสริม แต่ยังช่วยลดความสมบูรณ์ของแนวความคิดของผลิตภัณฑ์ [Boehm-Gray-Seewaldt, 19841 ต้นแบบเทียบกับการทดลองที่กล่าวถึงในการระบุ 2.1.1 มาตราชี้ให้เห็นว่าการสร้างต้นแบบผลให้ค่าเฉลี่ยของรหัส 40% น้อย,
ความพยายามที่น้อย 40% และชุดของผลิตภัณฑ์ที่เป็นง่ายที่จะใช้และเรียนรู้ หนึ่งใน ข้อมูลเชิงลึกบอกในการทดลองนี้เป็นความคิดเห็นของหนึ่งในผู้เข้าร่วม โดยใช้วิธีการกำหนด: "Words are cheap." ในช่วง ช่วงข้อมูลก็คือทั้งหมดที่ง่ายเกินไปที่จะเพิ่มฟังก์ชั่ทองคำกับผลิตภัณฑ์ สเปคไม่เข้าใจดีของผลกระทบของพวกเขาในผลิตภัณฑ์ของ ความสมบูรณ์หรือความพยายามความคิดที่จำเป็นของโครงการ ที่แสดงในที่ดีเยี่ยม หนังสือองค์ประกอบของการออกแบบซอฟท์แวเป็นมิตร [เฮคเคิล 19841: "โปรแกรมเมอร์ส่วนใหญ่ ... ปกป้องส่วนของการใช้คุณลักษณะซอฟต์แวร์โดย พูดว่า 'คุณไม่จำเป็นต้องใช้มันหากคุณไม่ต้องการที่จะดังนั้นสิ่งที่ อันตรายก็สามารถทำอย่างไร ' มันสามารถทำจัดการที่ดีของอันตราย ผู้ใช้อาจ ใช้เวลาพยายามที่จะเข้าใจคุณลักษณะเพียงเพื่อที่จะตัดสินใจว่ามันไม่ได้เป็น จำเป็นหรือเขาตั้งใจอาจใช้คุณลักษณะและไม่ทราบว่า ที่เกิดขึ้นหรือวิธีการที่จะได้ออกจากความผิดพลาด หากมีคุณลักษณะเป็น ไม่สอดคล้องกับส่วนที่เหลือของส่วนติดต่อผู้ใช้ที่ผู้ใช้อาจจะ สรุปผลเท็จเกี่ยวกับคำสั่งอื่น ๆ คุณลักษณะ ต้องจัดทำเป็นเอกสารซึ่งทำให้คู่มือการใช้หนา ผลสะสมของคุณสมบัติดังกล่าวคือการครอบงำผู้ใช้และ การสื่อสารที่ชัดเจนกับโปรแกรมของคุณ . . " การอภิปรายต่อไปจากแหล่งที่มาตามแบบฉบับของซอฟแวร์ชุบทองและ วิธีการสำหรับการประเมินคุณลักษณะทองคำที่มีศักยภาพมีให้ใน [Boehm,
1981; บทที่ 111 ปรากฏการณ์ที่เกี่ยวข้องกับการหลีกเลี่ยงการเป็น "โรคระบบที่สอง" กล่าวถึงใน [บรูคส์ 19751 เทคนิคที่มีประโยชน์สำหรับผลิตภัณฑ์ล่าสุด จัดลำดับความสำคัญคุณลักษณะที่เรียกว่ากริดขอความสำเร็จให้ใน [Spadaro, 19851 หลักการมีประโยชน์ต่อการออกแบบส่วนติดต่อผู้ใช้ที่ดีมีไว้ใน [ผัก-นอร์แมน, 19851 และ [โกลด์ลูอิส, 19851 บางส่วนของรูปแบบใหม่ซอฟต์แวร์กระบวนการกระตุ้นการพัฒนาง่าย ผลิตภัณฑ์ หนึ่งในความยากลำบากของน้ำตกจำลองแบบดั้งเดิมคือมัน วิธีการที่ขับเคลื่อนด้วยข้อมูลมักจะนำหนึ่งพร้อมคำพูด "เป็น ถนน "ถูกต่อผลิตภัณฑ์ที่ทำด้วยทองคำดังที่ได้กล่าวข้างต้น. วิวัฒนาการ การพัฒนาแบบจำลอง [McCracken-Jackson, 19821 เน้นการใช้ต้นแบบ ความสามารถในการเพ่งผลิตภัณฑ์ซอฟต์แวร์ที่จำเป็นหรือสูงงัด- คุณสมบัติที่จำเป็นต่อการปฏิบัติภารกิจของผู้ใช้ ที่เกี่ยวข้องการเปลี่ยนแปลง รูปแบบ [Balzer-เสือเขียว 19831 ลัดปัญหาโดยการให้ (ถ้ามี) การเปลี่ยนแปลงโดยตรงจากข้อกำหนดเพื่อรหัสรัน, จึงสนับสนุนทั้งคุณสมบัติตามและวิวัฒนาการและพัฒนา- เข้าใกล้ แบบเกลียว [Boehm, 19861 มุ่งเน้นไปที่การกำหนดอย่างต่อเนื่อง ของผู้ใช้วัตถุประสงค์ของภารกิจและการวิเคราะห์ต้นทุนและผลประโยชน์อย่างต่อเนื่องของผู้สมัคร คุณลักษณะของผลิตภัณฑ์ซอฟต์แวร์ในแง่ของการสนับสนุนของพวกเขาเพื่อวัตถุประสงค์ของภารกิจ ข้อมูลเพิ่มเติมเกี่ยวกับความคืบหน้าล่??าสุดในรูปแบบของกระบวนการซอฟต์แวร์ที่สามารถ พบได้ใน [เลห์แมน-Stenning-Potts, 19841 และ [Dowson-Wileden, 19861
reusing ส่วนประกอบ กุญแจสำคัญในการปรับปรุงการผลิตโดยการเขียนโค้ดน้อยอีกเกี่ยวข้องกับการใช้ซ้ำ ส่วนประกอบซอฟต์แวร์ที่มีอยู่ วิธีที่ง่ายที่สุดในทิศทางนี้จะเกี่ยวข้องกับการ การพัฒนาและการใช้ประโยชน์จากห้องสมุดของส่วนประกอบซอฟต์แวร์ จัดการที่ดีของ ความคืบหน้าได้รับการทำในทิศทางนี้โดยเฉพาะอย่างยิ่งในพื้นที่เช่น ประจำคณิตศาสตร์และสถิติและการดำเนินงานที่เกี่ยวข้องกับสาธารณูปโภคระบบ จัดการที่ดีของความคืบหน้าเป็นไปได้ทางความสามารถที่คล้ายกันใน userapplication พื้นที่ ตัวอย่างเช่นไลบรารี Raytheon และระบบการทำงานของนำมาใช้ใหม่ องค์ประกอบทางธุรกิจแอพ??ลิเคชันได้ประสบความสำเร็จตามแบบฉบับของตัวเลข 60% นำมาใช้ใหม่ รหัสสำหรับการใช้งานใหม่ที่เป็น [Lanergan-Grasso, 19841 และประหยัดค่าใช้จ่ายโดยทั่วไปของ 10% ในขั้นตอนการออกแบบ, 50% ในรหัสและเฟสทดสอบและ 60% ใน การบำรุงรักษาระยะ [เรย์ ธ 19831 ระบบของโตชิบาของส่วนประกอบนำมาใช้ใหม่ สำหรับการควบคุมกระบวนการทางอุตสาหกรรม [สึโมะโตะ, 19841 มีผลในการผลิตทั่วไป อัตรากว่า 2000 คำแนะนำแหล่งที่มาต่อคนต่อเดือนสำหรับที่มีคุณภาพสูง ผลิตภัณฑ์อุตสาหกรรมซอฟต์แวร์ ในระดับของความซับซ้อนนี้ระบบดังกล่าวควรจะดีกว่าเรียกว่าโปรแกรม เครื่องปั่นไฟมากกว่าห้องสมุดองค์ประกอบเพราะพวกเขามี addressed หลายระบบที่มุ่งเน้นประเด็นองค์ประกอบเข้ากันได้เช่นองค์ประกอบ การประชุมอินเตอร์เฟซการก่อสร้างข้อมูลและควบคุมโปรแกรมและจัดการข้อผิดพลาด
19861 หนึ่งสามารถดำเนินการต่อไปให้ดียิ่งขึ้นไปในทิศทางนี้เพื่อสร้างระดับที่สูงมาก ภาษาหรือภาษายุคที่สี่ (4GL) โดยการเพิ่มภาษาสำหรับการระบุ การใช้งานที่ต้องการและชุดของความสามารถในการตีความของผู้ใช้ ข้อกำหนดการกำหนดค่าที่เหมาะสมขององค์ประกอบและการดำเนินงาน ส่งผลให้โปรแกรม ปัจจุบันพื้นที่ที่อุดมสมบูรณ์มากที่สุดสำหรับคน 4GL อยู่ในพื้นที่ การแพร่กระจายของเครื่องคิดเลขแผ่น (VisiCalc, Multiplan, 1-2-3, ฯลฯ ) และธุรกิจขนาดเล็ก มักจะมีระบบที่มี DBMS, generator รายงานภาษาสืบค้นฐานข้อมูล และแพคเกจกราฟิก (NOMAD รามิส, โฟกัส, ADF, dBASE 11, ฯลฯ ) ดี จากการสำรวจหลังนี้เป็น 4GL [ฮอ-Kemper-Narasirnhan, 19851 ตามที่กล่าวไว้ในข้อ 2.1.1 มาตราทดลองที่ชัดเจนมากที่สุดในปัจจุบันเปรียบเทียบ 3GL (COBOL) และ 4GL (FOCUS) พบลดลงเฉลี่ยประมาณ 60% ในสายทั้งสองรหัสพัฒนาและใน manhoursใช้จ่ายในการพัฒนาตัวอย่าง จากหกโปรแกรม [Guimar?es, 19851 ให้หลักฐานเพิ่มเติมจากการสำรวจ จาก 43 องค์กรที่ 4GL ดังกล่าวลดค่าใช้จ่ายบุคลากรลดความอึดอัดของผู้ใช้ และอื่น ๆ ได้อย่างรวดเร็วตอบสนองความต้องการข้อมูลของผู้ใช้ภายในโดเมนของพวกเขา การบังคับใช้ บนมืออื่น ๆ การสำรวจพบ 4GL ของไม่มีประสิทธิภาพมาก ของทรัพยากรคอมพิวเตอร์และยากที่จะติดต่อกับการใช้งานทั่วไป
การประชุม ลักษณะที่คล้ายกันได้ทำให้ Unix รากฐานที่แข็งแกร่งโดยเฉพาะอย่างยิ่ง สำหรับการพัฒนาแอพลิเคชันกำเนิด [Kernighan, 1984; Wartik-Penedo, รายการโทรทัศน์ บางภัยใหญ่ที่เกิดขึ้นในความพยายามที่จะใช้ในการ 4GL ขนาดใหญ่ใช้งานที่มีประสิทธิภาพสูงเช่นนิวเจอร์ซีย์ยานยนต์ ลงทะเบียนระบบ [แบ็บ 19851 รวมแม้ว่า 4GL ของเรามีตัวเลือกที่น่าสนใจอย่างยิ่งสำหรับอย่างมีนัยสำคัญ การปรับปรุงการผลิตซอฟต์แวร์และความพยายามที่อยู่ระหว่างการสร้าง 4GL ความสามารถในการประยุกต์ใช้อื่น ๆ พื้นที่ สั้นของความสามารถ 4GL, อื่น ๆ เพิ่มเติมวิธีการ จำกัด การสามารถนำมาใช้เช่นห้องสมุดส่วนประกอบและการประยุกต์ใช้ กำเนิดทั้งสองสามารถสร้างประหยัดค่าใช้จ่ายในระยะใกล้และใช้เป็นพื้นฐาน สำหรับความสามารถ 4GL ความทะเยอทะยานในระยะยาว คอลเลกชันที่ดีมาก บทความเกี่ยวกับสามารถนำมาใช้ในการพัฒนาซอฟต์แวร์กันยายน 1984 ประเด็น ธุรกรรมอีอีอีวิศวกรรมซอฟต์แวร์
3 การควบคุมค่าใช้จ่ายซอฟต์แวร์ ตอนนี้เรามีความเข้าใจที่ดีของแหล่งที่มาหลักของซอฟต์แวร์ ค่าใช้จ่ายและวิธีการที่เราสามารถใช้ความเข้าใจนี้ไป ปรับปรุงความสามารถในการควบคุมค่าใช้จ่ายซอฟต์แวร์มีสองวิธีหลัก ตามที่กล่าวไว้ด้านล่าง: (1) สร้างความเข้าใจวัตถุประสงค์ซึ่งใช้เป็นพื้นฐานของการจัดการตามวัตถุประสงค์ (MBO) ควบคุม ห่วง (2) การเพิ่มประสิทธิภาพการพัฒนาซอฟต์แวร์และกลยุทธ์วิวัฒนาการของเราคาดการณ์และการควบคุม
3.1 การจัดการตามวัตถุประสงค์ (MBO) ที่ง่ายที่สุดของการจัดเรียง MBO สำหรับการคาดการณ์โครงการซอฟต์แวร์และการควบคุมเป็นโดยกรอบที่ได้รับมูลค่าการกล่าวถึงใน และภาพประกอบในรูปที่ 9 ในกรอบนี้ชุดของค่าใช้จ่ายและเวลาการคาดการณ์โดยเฟสกิจกรรมและส่วนประกอบของผลิตภัณฑ์ที่ใช้ในการสร้างชุดของแผนภูมิ PERT โครงสร้างการทำงาน Breakdown แผนบุคลากรสรุปแผนการวางแผนงานและการจัดสรรทรัพยากรที่ขาดแคลนอื่น ๆ ที่กำหนดชุดของ "ควรจะประหยัดค่าใช้จ่าย" เป้าหมายของแต่ละงาน เป็นโครงการที่ดำเนินต่อเนื่องต่างๆเครื่องมือดังกล่าวเป็นโฟลเดอร์การพัฒนาหน่วยและระบบค่านิยมที่ได้รับเป็นใช้ในการเปรียบเทียบความคืบหน้าเกิดขึ้นจริงและค่าใช้จ่ายของเวลาค่าใช้จ่ายบุคลากรหรือทรัพยากรที่ขาดแคลนอื่น ๆ เมื่อเทียบกับแผน จากนั้นเปรียบเทียบความคืบหน้าจริงและค่าใช้จ่ายเมื่อเทียบกับแผนสามารถสร้างชุดของรายงานข้อยกเว้นซึ่งพื้นที่สำคัญสำหรับความสนใจ MBOนี้วิธีการทั่วไปได้รับความสำเร็จอย่างสูงในหลาย ๆ สถานการณ์
ที่จริงมันจะดียิ่งขึ้นการทำเช่นนี้ในแง่ของซอฟต์แวร์ วัตถุประสงค์ นี่ก็หมายความว่าผู้ใช้จะต้องดำเนินการวิเคราะห์ค่าใช้จ่ายและผลประโยชน์ของฟังก์ชั่นผลิตภัณฑ์ซอฟต์แวร์ทางเลือกและคุณสมบัติในการ ความสัมพันธ์เหล่านี้ไปสู่กำไรที่เพิ่มขึ้นในการปฏิบัติภารกิจต้นทุนประสิทธิผลและการใช้งานนี้ ข้อมูลในการควบคุมวงโดยรวม MBO ที่ซอฟต์แวร์เป็นเพียงส่วนหนึ่ง 3.2 การเพิ่มประสิทธิภาพรอบ Predictability ซอฟต์แวร์และการควบคุม ที่พบบ่อย ลูกค้าซอฟต์แวร์ที่มีความกังวลมากขึ้นเกี่ยวกับการคาดการณ์และการควบคุมค่าใช้จ่ายและระยะเวลาในซอฟแวร์กว่าพวกเขาจะเกี่ยวกับค่า absolute ของค่าใช้จ่ายและระยะเวลา ลูกค้าดังกล่าวต้องการโครงการที่อาจเสียค่าใช้จ่ายน้อยมาก แต่ที่ช่วยให้พวกเขามีความมั่นใจของพวกเขาประสานการพัฒนาซอฟต์แวร์ที่มีการพัฒนาที่สำคัญอื่น ๆ เช่นดาวเทียมเปิดตัวเปิดโรงงาน บริการที่สำคัญ เช่นในสถานการณ์ลูกค้า โดยทั่วไปจะชอบแนวทางการพัฒนาความเสี่ยงที่มีการลงทุนเป็นตัวขับเคลื่อน บางเวลาในช่วงต้นความพยายามในการระบุและกำจัดหลัก
แหล่งที่มาของความเสี่ยงโครงการ - เทียบกับ "ความสำเร็จที่มุ่งเน้นวิธีการ"ซึ่งจะมีประสิทธิภาพมากหากทุกโครงการสมมติฐานในแง่เป็นจริงแต่ค่าใช้จ่ายมากถ้าเป็นจริงจะเปิดออกเป็นอย่างอื่น ตัวเลือกที่จะได้รับจากวิธีการ ความเสี่ยงที่ขับเคลื่อนด้วยก็คือตัวเลือกในการค้าการทำงานของผลิตภัณฑ์ขอบสำหรับโครงการและการคาดเดาควบคุมโดยใช้วิธีการออกแบบค่าใช้จ่ายหรือการออกแบบเพื่อกำหนดเวลา ดังนั้นหากความเสี่ยงของโครงการที่สูงที่สุดมีความเกี่ยวข้องกับเกินงบประมาณที่มีหรือมีที่ขาดหายไปวันที่ส่งมอบที่สำคัญโครงการสามารถลดความเสี่ยงนี้โดยการกำหนดเส้นเขตแดนความสามารถของผลิตภัณฑ์การจัดการที่จะซื้อขายกับงบประมาณและแรงกดดันเรื่องเวลาเป็นสิ่งที่จำเป็น4. บทสรุป ข้อมูลและการอภิปรายข้างต้นสนับสนุนข้อสรุปหลักดังต่อไปนี้:
1) การทำความเข้าใจและการควบคุมค่าใช้จ่ายซอฟต์แวร์เป็นสิ่งสำคัญมากไม่เพียงจากมุมมองทางเศรษฐกิจ แต่ยังอยู่ในแง่ของคุณภาพในอนาคตของเราชีวิต 2) การทำความเข้าใจและการควบคุมค่าใช้จ่ายซอฟต์แวร์หลีกเลี่ยงไม่ได้ต้องการให้เราเข้าใจและการควบคุมแง่มุมต่าง ๆ ของคุณภาพของซอฟต์แวร์เช่นกัน 3) มีสองวิธีหลักในการทำความเข้าใจค่าใช้จ่ายซอฟต์แวร์ที่มี "กล่องทึบ" หรือวิธีการทำงานให้ข้อมูลเชิงลึกที่มีอิทธิพลต่อการใช้งานในการผลผลิตและยกระดับคุณภาพของการจัดการต่างๆสภาพแวดล้อมทางเทคนิคและตัวเลือกบุคลากร "กล่องแก้ว" หรือวิธีการกระจายค่าใช้จ่ายช่วยให้ระบุกลยุทธ์สำหรับการผลิตซอฟแวร์แบบบูรณาการและโปรแกรมการปรับปรุงคุณภาพ ผ่านโครงสร้างเช่นห่วงโซ่คุณค่าและซอฟต์แวร์ต้นไม้โอกาส 4) ที่น่าสนใจที่สุดกลยุทธ์สำหรับแต่ละการปรับปรุงการผลิตซอฟแวร์ คือ: • การเขียนโค้ดน้อยลงโดย นำส่วนประกอบของซอฟต์แวร์ มาพัฒนาและใช้ภาษาระดับสูงมากและหลีกเลี่ยงการซอฟแวร์ชุบทอง • รับที่ดีที่สุดจากผู้คนผ่านการจัดการที่ดีกว่าพนักงานแรงจูงใจ และสภาพแวดล้อมการทำงาน • หลีกเลี่ยงการทำงานซ้ำผ่านการบริหารความเสี่ยงที่ดีกว่าการสร้างต้นแบบที่เพิ่มขึ้น การพัฒนาโปรแกรมคอมพิวเตอร์ช่วยออกแบบและการเขียนโปรแกรมที่ทันสมัย การปฏิบัติโดยเฉพาะอย่างยิ่งการซ่อนข้อมูล • พัฒนาและการใช้สภาพแวดล้อมการสนับสนุนจากโครงการแบบบูรณาการ
กรอบที่ดีของเทคนิคที่มีอยู่สำหรับการควบคุมงบประมาณซอฟต์แวร์ตารางเวลาการทำงานและเสร็จสมบูรณ์ มีบางความพยายามครั้งแรกที่ขยายเหล่านี้เพื่อสนับสนุนการควบคุมด้วยความเคารพต่อวัตถุประสงค์ซอฟต์แวร์ที่มีคุณภาพ และระบบ วัตถุประสงค์ แต่ข้อตกลงความคืบหน้ามากขึ้นเป็นสิ่งจำเป็น ในทิศทางเหล่านี้ • ดีกว่าที่เราจะสามารถเข้าใจค่าใช้จ่ายซอฟต์แวร์และมีคุณภาพ ดีกว่าที่เราจะสามารถควบคุมพวกเขา - และในทางกลับกัน