2023年溫斯頓·羅伊斯(winston royce)提出了著名的「瀑布模型」。瀑布模型是將軟體生存週期的各項活動規定為按固定順序而連線的若干階段工作,形如瀑布流水,最終得到軟體產品。在開發過程中,如果有資訊未被覆蓋或者發現了問題,那麼開發人員返回上一階段並進行適當的修改,專案開發程序從乙個階段「流動到」另乙個階段。
這些階段包括制定計畫、需求分析、軟體設計、程式編寫、軟體測試和執行維護六個基本活動。瀑布模型規定了它們各自自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。因此以瀑布模型作為開發模型軟體開發活動,其功能的實現與設計是分開的,即採用結構化的分析與設計方法將邏輯實現與物理實現分開。
可以看出瀑布模型的開發流程走的是全面、規範的道路,注意到「教堂集市」一書將它和大型軟體公司放在一起,大抵瀑布與公司就是it/cs世界中的教堂。此時乙個問題被放到桌面上來:教堂崩塌與否,現實和書中的預言能否走向同乙個地方?
要解決這個問題,必須提到.com時代。在網際網路高速發展的十年中,it/cs行業的增長量達到100倍,it領域的擴張使更多的人湧向這個行業,但是這些人的水平達到行業要求的卻寥寥無幾。因此在這段時間出現的大量it產品帶著兩個深入骨髓的標籤——開源與水平參差不齊。前者是時代的特色,後者是由從業者的職業素養使然。
著眼點不同,對那個時代產物的評價也大相徑庭。當人們認為開源帶來的**重用的收益超過**本身的質量問題時,對它的評價往往是正面的;但是當人們開始關注**質量時,開源**中質量到達要求的僅僅是很小的一部分,再考慮功能匹配的問題,更多的人寧願選擇自己寫乙個新的,他們對這些開源**的評價可想而知。
顯然文章作者保爾是站在第二種人的立場上看待這個問題的,他以unix為例,不難得到這樣乙個結論——整個.com時代總體上對it/cs而言就是一場災難,尤其對軟體質量和unix來說。從他的角度來看,教堂沒有倒,倒是那些集市僅剩下砂石瓦礫。
這個問題在我看來,「教堂」一書和保爾的觀點都有點偏激和片面。「教堂」得到的瀑布和大型軟體公司終結的結論是因為它站在了web應用的立場上,而保爾的結論是基於unix得出的。但是it哪怕是在.com發展最如火如荼的年代也並不是只有web應用,當然也不能只有unix。
不妨認為兩位學者的研究成果在他們各自的前提下都是正確的(事實上他們的結論在一定範圍內確實很有說服力),那現在it界的現狀應該是教堂和市集並存,這正是乙個人間!
站在乙個更加抽象的角度上,這是一場開源與商業化軟體的博弈,憑直覺看這兩者是誰都不能戰勝誰的。可能更多的人會提倡開源,但是乙個無利潤的專案,它的質量是得不到保證的,linux的成功只是乙個特例,很難說沒有那些商業作業系統也一定會有linux。
2023年溫斯頓·羅伊斯(winston royce)提出了著名的「瀑布模型」。瀑布模型是將軟體生存週期的各項活動規定為按固定順序而連線的若干階段工作,形如瀑布流水,最終得到軟體產品。在開發過程中,如果有資訊未被覆蓋或者發現了問題,那麼開發人員返回上一階段並進行適當的修改,專案開發程序從乙個階段「流動到」另乙個階段。
這些階段包括制定計畫、需求分析、軟體設計、程式編寫、軟體測試和執行維護六個基本活動。瀑布模型規定了它們各自自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。因此以瀑布模型作為開發模型軟體開發活動,其功能的實現與設計是分開的,即採用結構化的分析與設計方法將邏輯實現與物理實現分開。
可以看出瀑布模型的開發流程走的是全面、規範的道路,注意到「教堂集市」一書將它和大型軟體公司放在一起,大抵瀑布與公司就是it/cs世界中的教堂。此時乙個問題被放到桌面上來:教堂崩塌與否,現實和書中的預言能否走向同乙個地方?
要解決這個問題,必須提到.com時代。在網際網路高速發展的十年中,it/cs行業的增長量達到100倍,it領域的擴張使更多的人湧向這個行業,但是這些人的水平達到行業要求的卻寥寥無幾。因此在這段時間出現的大量it產品帶著兩個深入骨髓的標籤——開源與水平參差不齊。前者是時代的特色,後者是由從業者的職業素養使然。
著眼點不同,對那個時代產物的評價也大相徑庭。當人們認為開源帶來的**重用的收益超過**本身的質量問題時,對它的評價往往是正面的;但是當人們開始關注**質量時,開源**中質量到達要求的僅僅是很小的一部分,再考慮功能匹配的問題,更多的人寧願選擇自己寫乙個新的,他們對這些開源**的評價可想而知。
顯然文章作者保爾是站在第二種人的立場上看待這個問題的,他以unix為例,不難得到這樣乙個結論——整個.com時代總體上對it/cs而言就是一場災難,尤其對軟體質量和unix來說。從他的角度來看,教堂沒有倒,倒是那些集市僅剩下砂石瓦礫。
這個問題在我看來,「教堂」一書和保爾的觀點都有點偏激和片面。「教堂」得到的瀑布和大型軟體公司終結的結論是因為它站在了web應用的立場上,而保爾的結論是基於unix得出的。但是it哪怕是在.com發展最如火如荼的年代也並不是只有web應用,當然也不能只有unix。
不妨認為兩位學者的研究成果在他們各自的前提下都是正確的(事實上他們的結論在一定範圍內確實很有說服力),那現在it界的現狀應該是教堂和市集並存,這正是乙個人間!
站在乙個更加抽象的角度上,這是一場開源與商業化軟體的博弈,憑直覺看這兩者是誰都不能戰勝誰的。可能更多的人會提倡開源,但是乙個無利潤的專案,它的質量是得不到保證的,linux的成功只是乙個特例,很難說沒有那些商業作業系統也一定會有linux。
閱讀作業2
看了老師推薦的幾篇文章,對軟體工程的理解真是又加深了很多 感覺比移山之道深奧好多.但是隨之而來的疑惑也非常多,下面可能沒有一一枚舉,因為我認為其中的許多東西需要隔一段時間反覆閱讀就能理解,有新收穫。no silver bullet essence and accidents of software ...
閱讀作業2
經過這幾周的開發,完成了個人專案 結隊專案,團隊專案也完成了一小部分。做了這些開發之後,除了自身能力的提高,我還有其他的一些收穫和感悟與大家一起分享。2.對於兩個人的開發,也即我們的結對程式設計。在這樣的組織方式中負責人貌似就顯得沒那麼重要了,只有兩個人的團隊,乙個負責人,那另乙個叫他什麼好呢?但是...
個人閱讀作業2
在 no silver bullet 中,作者提到兩種軟體開發的困難 1.本質性 軟體本身在概念 conceptual 建構上存先天的困難 亦即如何從抽象性問題,發展出具體概念上的解決方案。2.附屬性 將概念上的構思施行於電腦上,所遭遇到的困難。而造成本質性困難的原因是 1.複雜性 complexi...