Introduction to OO Analysis and Design.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Introduction to OO Analysis and Design

Introduction to OO Analysis and Design 師大資訊工程系 鄭永斌副教授 困擾computer science幾年的老問題 軟體的重用性(software reuse) Why most software units cannot reused with minimum effort? 軟體的維護性(maintainability) Why a programmer need to trace a program for a long time in order to make a small fix 軟體的品質(software quality) why software quality is in general so bad compared with other discipline (台灣高鐵與台灣彩券) 軟體的擴充性 (software evolution ) Why extension is needed, a whole program need to be modified? These problems are collected as Software Engineering problem The joy of programming(coding) ???? 為什麼寫程式很有趣呢?寫程式的人期望從中得到什麼樣的樂趣呢?   首先,是創造的趣味,就好像小孩子快樂地用泥巴做成一個派。大人們也一樣,從創造中可以得到十足的快樂,特別是自己設計的東西。我想這樣的樂趣一定是映自於上帝創造萬物的樂趣,你看每一片樹葉、每一片雪花的獨特與新奇,不正顯示了這種創造的樂趣嗎?   其次,令人感到愉快的,是我們所創造出來的東西竟然對別人有用。在我們的內心深處,都希望別人用我們做出來的東西,並且發現這東西對他很有幫助。從這點看來,軟體系統跟小孩子第一次為「父親辦公專用」所做的黏土筆筒沒有什麼不同。   第三,是那種打造精巧機制時,類似推理、解謎的過程,令人迷戀。把彼此聯動的零件組合起來,眼看著成果真的按照了我們原先所設想的方式微妙地在運作,受程式操控的那台電腦不但擁有彈珠台或自動點唱機的迷人魅力,並且將之發揮到淋漓盡致。   第四,是持續學習的樂趣。這種工作具有不重複的特質,也不知為什麼所要解決的永遠是全新的問題,而解決問題的人總是可以從中學到些東西:有時是在實務方面,有時是在理論方面,或兩者都有。   最後,是在如此易於操控的介質(tractable medium)上工作的快樂。程式設計師就像詩人一樣,只動動腦筋就可以做事,運用想像力,便可以憑空造一個城堡出來,很少創造性工作的介質是如此富於彈性、如此方便地讓你修修改改,並輕易地就可以把一個偉大的構想實現出來。(當然在後面我們會看到,這樣的易操控性也有它伴隨而來的問題。)   然而,程式又跟詩人所用的字詞不同,程式本身是沒什麼,但它可以製造出看得到的效果,讓你真實感受到它活生生地在動、在做事。它能夠列印、畫圖、發出聲響、移動機械手臂,只要在鍵盤上敲入適當的咒文,整個螢幕的畫面就生氣蓬勃起來,顯現出我們未曾見過、或在現實生活中不可能見到的事物,神話和傳說中的魔法在我們有生之年實現了。   所以寫程式實在很有趣,因為它滿足了我們潛藏於內心創造事物的渴望,並且激發了我們每個人原本就擁有的快樂感受 The pain of coding ??? 然而,並不是樣樣都是有趣的,它也有天生的難處,了解這些,可以讓你在遭遇困難的時候,更容易坦然面對。   首先,你必須表現得非常完美。電腦在這方面也跟魔法一樣,咒文中的一個字或一個停頓,只要稍有差池,魔法就施展不出來。人類並不習慣做到這麼完美,人類的活動也很少需要做到這麼完美,我認為,調適自己習於追求完美是學習軟體工程最困難的部分。1   其次,由別人設定目標,由別人供給資源,由別人提供相關的資訊,你很少能夠自行安排自己的工作細節與工作目標,套句管理上的術語,你所擁有的權力並不足以承擔你所扛下的責任,不過,好像在任何領域中,真正能把事情做好的職位都未曾在名義上得到與責任相稱的權力。實際上的情況是:你得先把工作做成功,才會得到越多實質上的(相對於名義上應得的)權力。   還有一點,就是得依賴別人才能成事,對系統程式設計師而言,這種獨特的情況也非常令人痛苦。他得依賴別人所寫的程式,可是別人的程式往往是個不良的設計,程式寫得很菜,移交也不完整(缺程式碼或測試案例),文件錯誤百出,於是他必須花很多時間去找出錯誤並加以修正,在理想的世界裡,這些東西都應該是完整的、隨手可得、隨即適用的。   雖說為了偉大的構想而從事設計是份樂趣,但尋找多如牛毛的臭蟲(bug)就只能算是份差事,這是另一個苦難。任何創作活動的背後都免不了

文档评论(0)

sd44055 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档