MIT OpenCourseWare


» 進階搜尋
 課程首頁
 教學大綱
 教學時程
 相關閱讀資料
 課堂講稿
 作業

相關閱讀資料


本頁翻譯進度

燈號說明

審定:無
編輯:蘇維宗(簡介並寄信)
編輯:侯嘉玨(簡介並寄信)

指派閱讀包含了一些經過仔細挑選且被認為具歷史性且相當重要的基礎論文以及具有最新想法的近期論文。而一本標準的軟體工程教科書也將會是相當有幫助的參考文獻。
Readings consist of a carefully selected set of historically important and foundational papers as well as more current ones reflecting the latest thoughts. A standard software engineering textbook will also be helpful as a reference.


1. 問題
1. The Problem

《是的,但是理論上可行嗎?》,Augustine著。經喬治亞理工學院George W. Woodruff機械工程學院同意並獲允許使用。(PDF)
Augustine. "Yes But Will it Work in Theory?" - Courtesy of The George W. Woodruff School of Mechanical Engineering; Georgia Institute of Technology; Used with Permission (PDF)

〈沒有標準答案:軟體工程的主要與次要問題〉,Brooks著。刊登於美國電子電機工程師協會之《電腦》期刊(1987年4月)。此文章首先被發表在由Elsevia Science Publishers B. V.(北荷蘭)出版,H. J. Kugler編輯的《資訊處理》中(1986年)。
Brooks. "No Silver Bullet: Essence and Accidents of Software Engineering."
Computer (April 1987).
This article was first published in Information Processing 1986, H. J. Kugler, ed., Elsevia Science Publishers B. V. (North-Holland).

〈Software Lemingineering〉,Davis著。刊登於美國電子電機工程師協會《軟體》期刊(1993年9月)。
Davis. "Software Lemingineering."

《美國聯邦航空總署之空中交通管制系統完全失靈》
FAA ATC Fiasco.

〈高壓蒸氣引擎與電腦軟體〉,Leveson著。刊登於美國電子電機工程師協會之《軟體》期刊(1994年10月)。 (PDF)
Leveson. "High Pressure Steam Engines and Computer Software." (PDF)

《與軟體相關之航空器事故中的系統因素》。 (PDF)
------. "Systemic Factors in Software-Related Spacecraft Accidents." (PDF)

《Therac-25事故》。 (PDF)
------. "The Therac-25 Accident." (PDF)

〈戰略防禦系統的軟體觀點〉,Parnas, David Lorge著。刊登於《計算機協會通訊》的第28冊,第12期(1985年12月):1326-1335頁。
Parnas, David Lorge. "Software Aspects of Strategic Defense Systems." Communications of the ACM 28, 12 (December 1985): 1326-1335.



2. 流程與生命週期模式
2. Process and Life Cycle Models

〈談夠了流程: 我們需要的是英雄〉,Bach, James著。刊登於美國電子電機工程師協會之《軟體》期刊(1995年3月):96-98頁。經James Bach同意並獲允許使用 (PDF)
Bach, James. "Enough About Process: What We Need Are Heroes." IEEE Software (March 1995): 96-98. (Orig. Courtesy of James Bach; Used with Permission) (PDF)

〈CMM尚未成熟之處〉。刊登於《美洲程式設計師》(1994年9月)。經James Bach同意並獲允許使用。 (PDF)
------. "The Immaturity of CMM." American Programmer (September 1994). (Orig. Courtesy of James Bach; Used with Permission) (PDF)

〈在軟體中藝術與科學的交互影響〉,Bollinger, Terry著。刊登於美國電子電機工程師協會之《電腦》期刊(1997年10月):125-127與128頁。
Bollinger, Terry. "The Interplay of Art and Science in Software." Computer (October 1997): 125-127 and 128.

〈敏捷軟體開發:人員因素〉,Cockburn, Alistair與Jim Highsmith。刊登於美國電子電機工程師協會之《電腦》期刊(2001年11月):131-133頁。
Cockburn, Alistair, and Jim Highsmith. "Agile Software Development: The People Factor." Computer (November 2001): 131-133.

〈Gray反駁Bach:拒絕莽撞的程式設計師〉,Gray, Lewis著。刊登於美國電子電機工程師協會之《電腦》期刊(1998年4月):102, 103與105頁。
Gray, Lewis. "Gray Rebuts Bach: No Cowboy Programmers!" Computer (April 1998): 102, 103 and 105.

〈敏捷軟體開發:創新的商機〉,Highsmith, Jim與Alistair Cockburn。刊登於美國電子電機工程師協會之《電腦》期刊(2001年9月):120-122頁。
Highsmith, Jim, and Alistair Cockburn. "Agile Software Development: The Business of Innovation." Computer (September 2001): 120-122.

〈戰神與維納斯的對抗〉,Mackeyn, Karen。刊登於美國電子電機工程師協會之《軟體》期刊(2000年5月/6月):14-15頁。
Mackeyn, Karen. "Mars versus Venus." IEEE Software (May/June 2000): 14-15.

〈藉由對話的極致程式發展〉,Martin, Robert C.著。刊登於美國電子電機工程師協會之《軟體》期刊(2000年7月/8月):12與13頁.
Martin, Robert C. "eXtreme Programming Development through Dialog." IEEE Software (July/August 2000): 12 and 13.

〈沒有根據的軟體工程〉,McConnell, Steve著。刊登於美國電子電機工程師協會之《軟體》編輯專欄(2000年3月/4月):11-13頁。
McConnell, Steve. "Cargo Cult Software Engineering." From The Editor column, IEEE Software (March/April 2000): 11-13.

〈軟體的能力成熟度模式〉,Paulk, Mark C., Bill Curtis, Mary Beth Chrissis與Charles V. Weber著。刊登於美國電子電機工程師協會之《軟體》期刊。
Paulk, Mark C., Bill Curtis, Mary Beth Chrissis, and Charles V. Weber. "The Capability Maturity Model for Software." IEEE Software.

〈網際網路應用程式可以工程化嗎?〉,Pressman, Roger S.著。刊登於美國電子電機工程師協會之《軟體》期刊(1998年9月/10月):104-109頁。
Pressman, Roger S. "Can Internet-Based Applications Be Engineered?" IEEE Software (September/October 1998): 104-109.

《Titan/Centaur/Milstar之意外報告》。 (PDF)
Titan/Centaur/Milstar Accident Report. (PDF)



3. 需求與規格
3. Requirements and Specifications

〈需求工程最大的風險〉,Lawrence, Brian, Karl Wiegers與Christof Ebert著。刊登於美國電子電機工程師協會之《軟體》期刊(2001年11月/12月):62與63頁。
Lawrence, Brian, Karl Wiegers, and Christof Ebert. "The Top Risks of Requirements Engineering." IEEE Software (November/December 2001): 62 and 63.

《需求風險可能會淹沒軟體專案》,Leishman與Cook著。
Leishman, and Cook. "Requirements Risks Can Drown Software Projects."

《意圖規格》,Leveson著。 (PDF)
Leveson. "Intent Specifications." (PDF)

〈一個規格制定者對正規方法的介紹〉,Wing, Jeannette M.著。刊登於美國電子電機工程師協會之《電腦》期刊(1990年9月):8-24頁。
Wing, Jeannette M. "A Specifier's Introduction to Formal Methods." Computer (September 1990): 8-24.



4. 需求與規格
4. Requirements and Specifications

〈為何與如何追蹤需求〉,Watkins, Robert與Mark Neal著。刊登於美國電子電機工程師協會之《軟體》期刊(1994年7月):104-106頁。
Watkins, Robert, and Mark Neal. "Why and How of Requirements Tracing." IEEE Software (July 1994): 104-106.


5. 設計
5. Design

《程式設計方法的指導遊覽》,Bergland著。
Bergland. "A Guided Tour of Program Design Methodologies."

《設計容易延伸和收縮的軟體》,Parnas, David L.著。264-277頁。經David Parnas同意並獲允許使用。 (PDF)
Parnas, David L. "Designing Software for Ease of Extension and Contraction." Pp. 264-277. (PDF) Courtesy of David Parnas; Used with Permission

《用來將系統分解成模組的準則》
------. "On the Criteria to be Used in Decomposing Systems into Modules."

《用來將系統分解成模組的準則》
Wirth, Niklaus. "Program Development by Stepwise Refinement." Communications of the ACM 14, no. 4 (April 1971): 221-227.



6. 設計
6. Design

〈忠實的反對者:軟體設計方法:是救生帶還是腳鏈?〉,Budgen, David著。刊登於美國電子電機工程師協會之《軟體》期刊(1999年9月/10月):133-136頁。
Budgen, David. "The Loyal Opposition: Software Design Methods: Life Belt or Leg Iron?" IEEE Software (September/October 1999): 133-136.

《軟體架構的介紹》,Garlan, David與Mary Shaw著。經Mary Shaw教授與David Garlan教授同意。〈軟體架構的介紹〉也被發表在新澤西的世界科學出版社出版,V. Ambriola, 與G. Tortora編輯的《進階軟體工程與知識工程》第1冊中(1993年)。同時也是CMU軟體工程學院的技術報告(CMU/SEI-94-TR-21, ESC-TR-94-21)。
Garlan, David, and Mary Shaw. "An Introduction to Software Architecture." (January 1994). Courtesy of Prof. Mary Shaw and Prof. David Garlan.
Also published as “An Introduction to Software Architecture.” In Advances in Software Engineering and Knowledge Engineering. Vol. 1. Edited by V. Ambriola, and G. Tortora. New Jersey: World Scientific Publishing Company, 1993. Also appears as CMU Software Engineering Institute Technical Report CMU/SEI-94-TR-21, ESC-TR-94-21.

〈物件導向與我們怎麼想同步嗎?〉,Hatton, Les著。刊登於美國電子電機工程師協會之《軟體》期刊(1998年5月/6月):46-54頁。
Hatton, Les. "Does OO Sync with How We Think?" IEEE Software (May/June 1998): 46-54.

〈裸之王者〉,Ledgard, Henry F.著。刊登於《計算機協會通訊》的第44冊,第10期(2001年10月):126-128頁。
Ledgard, Henry F. "The Emperor with No Clothes." Communications of the ACM 44, no. 10 (October 2001): 126-128.

〈一個真的很好的點子〉,Meyer, Bertrand著。刊登於美國電子電機工程師協會之《電腦》期刊(1999年12月):144-147頁。
Meyer, Bertrand. "A Really Good Idea." Computer (December 1999): 144-147.



7. 建立信任度(測試、分析、品質保證、檢視)
7. Building Confidence (Testing, Analysis, QA, Reviews)

《NASA搭載人類之航空器計畫中的測試:要測試多少才足夠?》,Schaible, Dawn與Keith Britton著。麻省理工學院的系統設計與管理研究所(SDM)碩士論文(2003年2月):第2,4,與5章。 (PDF)
Schaible, Dawn, and Keith Britton. "Testing in NASA Human-Rated Spacecraft Programs: How Much is Just Enough?" SDM Master's thesis. MIT (Feb. 2003), Chaps. 2, 4, and 5. (PDF)

〈瘋狂數字與釋出準則〉,Rothman, Johanna著。刊登於美國電子電機工程師協會之《電腦》期刊(1998年12月):127-128頁。
Rothman, Johanna. "Of Crazy Numbers and Release Criteria." Computer (December 1998): 127-128.

〈如何設計有用的測試案例〉,Yamaura, Tsuneo著。刊登於美國電子電機工程師協會之《軟體》期刊(1998年11月/12月):30-36頁。
Yamaura, Tsuneo. "How to Design Practical Test Cases." IEEE Software (November/December 1998): 30-36.

〈為什麼這傢伙不會測試〉。刊登於美國電子電機工程師協會之《軟體》期刊(1998年3月/4月):113-115頁。
------. "Why Johnny Can't Test." IEEE Software (March/April 1998): 113-115.



8. 測量與可靠度評鑑
8. Metrics and Reliability Assessment

《專案測量的十個非迷思》,Armour著。 (PDF)
Armour. Ten Unmyths of Project Estimation. (PDF)

〈軟體複雜度測量〉,Kearney, Joseph K., Robert L. Sedlmeyer, William B. Thompson, Michael A. Gray與Michael A. Adler著。刊登於《計算機協會通訊》的第29冊,第11期(1986年11月):1044-1050頁。
Kearney, Joseph K., Robert L. Sedlmeyer, William B. Thompson, Michael A. Gray, and Michael A. Adler. "Software Complexity Measurement." Communications of the ACM 29, No. 11 (November 1986): 1044-1050.



9. COTS與再使用
9. COTS and Reuse

《Ariane 5事故報告》
Ariane 5 Accident Report

〈忠實的反對者:再利用:現況出了什麼問題?〉,Glass, Robert L.著。刊登於美國電子電機工程師協會之《軟體》期刊(1998年3月/4月):57-59頁。
Glass, Robert L. "The Loyal Opposition: Reuse: What's Wrong With This Picture?" IEEE Software (March/April 1998): 57-59.

〈軟體再利用〉,Krueger, Charles W.著。刊登於《計算機協會之計算調查》的第24冊,第2期(1992年6月):132-183頁。
Krueger, Charles W. "Software Reuse." ACM Computing Surveys 24, No. 2 (June 1992): 132-183.

〈測試以元件為基礎的軟體:一個警戒〉,Weyuker, Elaine J.著。刊登於美國電子電機工程師協會之《軟體》期刊(1998年9月/10月):54-59頁。
Weyuker, Elaine J. "Testing Component-Based Software: A Cautionary Tale." IEEE Software (September/ October 1998): 54-59.



10. 正規驗證
10. Formal Verification

〈一個正規方法的邀請〉,Saiedian, Hossein著。刊登於美國電子電機工程師協會之《電腦》期刊(1996年4月):16-30頁。
Saiedian, Hossein. "An Invitation to Formal Methods." Computer (April 1996): 16-30, New York.

〈電腦程式設計的原理基礎〉,Hoare, C. A. R.著。刊登於《計算機協會通訊》的第12冊,第10期(1969年10月):576-583頁。
Hoare, C. A. R. "An Axiomatic Basis For Computer Programming." Communications of the ACM 12, no. 10 (October 1969): 576-583.

〈理論與程式的社會過程與證明〉,DeMillo, Richard A., Richard J. Lipton與Alan J. Perlis著。刊登於《計算機協會通訊》的第22冊,第5期(1979年5月)。
DeMillo, Richard A., Richard J. Lipton, and Alan J. Perlis. "Social Processes and Proofs of Theorems and Programs." Communications of the ACM 22, no. 5 (May 1979).

《為程式測試辯護…》,Tannenbaum著。
Tannenbaum. "In Defense of Program Testing..."



11. 團隊組織與人員管理
11. Team Organization and People Management

〈促進溝通〉,Ferdinandi, Patricia L.著。刊登於美國電子電機工程師協會之《軟體》期刊的工作文化專欄(1998年9月/10月):92-96頁。
Ferdinandi, Patricia L. "Facilitating Communication." Culture At Work column, IEEE Software (September/October 1998): 92-96.

〈軟體工程專案管理〉,Howard, Alan著。刊登於《計算機協會通訊》的第44冊,第5期(2001年5月):23與24頁。
Howard, Alan. "Software Engineering Project Management." Communications Of The ACM 44, No. 5 (May 2001): 23 and 24.

《不隨和的人/特性/策略的型態》,Kruper, K.著。Chart. Kay Williams, Boeing。
Kruper, K. "Types of Difficult Person/Characteristics/Tactics." Chart. Kay Williams, Boeing.

〈程式團隊結構對程式設計工作的影響〉,Mantei, Marilyn著。刊登於《計算機協會通訊》的第24冊,第3期中(1981年3月):106-113頁。
Mantei, Marilyn. "The Effect of Programming Team Structures on Programming Tasks." Communications of the ACM 24, no. 3 (March 1981): 106-113.

〈問題程式設計師〉,McConnell, Steve著。刊登於美國電子電機工程師協會之《軟體》期刊(1998年3月/4月):126-128頁。
McConnell, Steve. "Problem Programmers." IEEE Software (March/April 1998): 126-128.

〈軟體團隊〉,Rettig, Mark著。刊登於《計算機協會通訊》的第33冊,第10期(1990年10月):23-27頁。
Rettig, Mark. "Software Teams." Communications of the ACM 33, no. 10 (October 199O): 23-27.

〈強化雙人組程式設計〉,Williams, Laurie, Robert R. Kessler, Ward Cunningham與Ron Jeffries著。刊登於美國電子電機工程師協會之《軟體》期刊(2000年7月/8月):19-25頁。
Williams, Laurie, Robert R. Kessler, Ward Cunningham, and Ron Jeffries. "Strengthening the Case for Pair Programming." IEEE Software (July/August 2000): 19-25.



12. 程式語言的軟體工程觀點
12. Software Engineering Aspects of Programming Languages

《為你的專案選擇一個程式語言》,Naiditch著。
Naiditch. "Selecting a Programming Language for Your Project."

《比較C與Ada的發展成本》,Zeigler, Stephen F.著。(1995年3月30號)。
Zeigler, Stephen F. "Comparing Development Costs of C and Ada." (March 30, 1995).

〈程式語言的一大退步〉,Glass, Robert L.著。刊登於《計算機協會通訊》第46冊,第5期中(2003年5月)。
Glass, Robert L. "One Giant Step Backward." Communications Of the ACM 46, no. 5 (May 2003).


13. 軟體安全性與總結討論
13. Software Safety and Wrap-up

〈究竟什麼是軟體真實性〉,Bach, James著。刊登於美國電子電機工程師協會之《電腦》期刊(1999年12月):148-149頁。
Bach, James. "What Software Reality is Really About." (December 1999): 148-149.

〈軟體工程:回顧與通往未來的路〉,Leveson, Nancy G.著。刊登於《計算機協會通訊》(1996年12月14號)。
Leveson, Nancy G. "Software Engineering: A Look Back and A Path to the Future." (December 14, 1996).

〈各讓一步:從過去看綜合在軟體工程中的必要性〉,Shapiro, Stuart著。刊登於美國電子電機工程師協會之《計算史年報》的第19冊,第1期(1997年):20-54頁。
Shapiro, Stuart. "Splitting the Difference: The Historical Necessity of Synthesis in Software Engineering." IEEE Annals of the History of Computing 19, no. 1 (1997): 20-54.

〈為軟體瘦身請命〉,Wirth, Niklaus著。刊登於美國電子電機工程師協會之《電腦》期刊(1995年2月):64-68頁。
Wirth, Niklaus. "A Plea for Lean Software." Computer (February 1995): 64-68.




 
MIT Home
Massachusetts Institute of Technology Terms of Use Privacy