亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

怎樣成為優秀的軟件模型設計者

2019-11-18 12:19:45
字體:
來源:轉載
供稿:網友

  1. 人遠比技術重要
  
  你開發軟件是為了供別人使用,沒有人使用的軟件只是沒有意義的數據的集合而已。許多在軟件方面很有成就的行家在他們事業的初期卻表現平平,因為他們那時侯將主要精力都集中在技術上。顯然,構件(components),EJB(EnterPRise java Beans)和代理(agent)是很有趣的東西。但是對于用戶來說,假如你設計的軟件很難使用或者不能滿足他們的需求,后臺用再好的技術也于事無補。多花點時間到軟件需求和設計一個使用戶能很輕易理解的界面上。
  
  2. 理解你要實現的東西
  
  好的軟件設計人員把大多數時間花費在建立系統模型上,偶然寫一些源代碼,但那只不過是為了驗證設計過程中所碰到的問題。這將使他們的設計方案更加可行。
  
  3. 謙虛是必須的品格
  
  你不可能知道一切,你甚至要很努力才能獲得足夠用的知識。軟件開發是一項復雜而艱巨的工作,因為軟件開發所用到的工具和技術是在不斷更新的。而且,一個人也不可能了解軟件開發的所有過程。在日常生活中你天天接觸到的新鮮事物可能不會太多。但是對于從事軟件開發的人來說,天天可以學習很多新東西(假如愿意的話)。
  
  4. 需求就是需求
  
  假如你沒有任何需求,你就不要動手開發任何軟件。成功的軟件取決于時間(在用戶要求的時間內完成)、預算和是否滿足用戶的需求。假如你不能確切知道用戶需要的是什么,或者軟件的需求定義,那么你的工程注定會失敗。
  
  5. 需求其實很少改變,改變的是你對需求的理解
  
  Object ToolSmiths公司(www.objecttoolsmiths.com)的Doug Smith常喜歡說:“分析是一門科學,設計是一門藝術”。他的意思是說在眾多的“正確”分析模型中只存在一個最“正確”分析模型可以完全滿足解決某個具體問題的需要(我理解的意思是需求分析需要一絲不茍、精確的完成,而設計的時候反而可以發揮創造力和想象力 - 譯者注)。
  
  假如需求經常改動,很可能是你沒有作好需求分析,并不是需求真的改變了。
  
  你可以抱怨用戶不能告訴你他們想得到什么,但是不要忘記,收集需求信息是你工作。
  
  你可以說是新來的開發人員把事情搞得一團糟,但是,你應該確定在工程的第一天就告訴他們應該做什么和怎樣去做。
  
  假如你覺得公司不讓你與用戶充分接觸,那只能說明公司的治理層并不是真正支持你的項目。
  
  你可以抱怨公司有關軟件工程的治理制度不合理,但你必須了解大多同行公司是怎么做的。
  
  你可以借口說你們的競爭對手的成功是因為他們有了一個新的理念,但是為什么你沒先想到呢?
  
  需求真正改變的情況很少,但是沒有做好需求分析工作的理由卻很多。
  
  6. 經常閱讀
  
  在這個每日都在發生變化的產業中,你不可能在已取得的成就上沉醉太久。
  
  每個月至少讀2、3本專業雜志或者1本專業書籍。保持不落伍需要付出很多的時間和金錢,但會使你成為一個很有實力的競爭者。
  
  7. 降低軟件模塊間的耦合度
  
  高耦合度的系統是很難維護的。一處的修改引起另一處甚至更多處的變動。
  
  你可以通過以下方法降低程序的耦合度:隱藏實現細節,強制構件接口定義,不使用公用數據結構,不讓應用程序直接操作數據庫(我的經驗法則是:當應用程序員在寫SQL代碼的時候,你的程序的耦合度就已經很高了)。
  
  耦合度低的軟件可以很輕易被重用、維護和擴充。
  
  8. 提高軟件的內聚性
  
  假如一個軟件的模塊只實現一個功能,那么該模塊具有高內聚性。高內聚性的軟件更輕易維護和改進。
  
  判定一個模塊是否有高的內聚性,看一看你是否能夠用一個簡單的句子描述它的功能就行了。假如你用了一段話或者你需要使用類似“和”、“或”等連詞,則說明你需要將該模塊細化。
  
  只有高內聚性的模塊才可能被重用。
  
  9. 考慮軟件的移植性
  
  移植是軟件開發中一項具體而又實際的工作,不要相信某些軟件工具的廣告宣傳(比如java 的宣傳口號write once run many ? 譯者注)。
  
  即使僅僅對軟件進行常規升級,也要把這看得和向另一個操作系統或數據庫移植一樣重要。
  
  記得從16位Windows移植到32位windows的“樂趣”嗎 ?當你使用了某個操作系統的特性,如它的進程間通信(ipC)策略,或用某數據庫專有語言寫了存儲過程。你的軟件和那個特定的產品結合度就已經很高了。
  
  好的軟件設計者把那些特有的實現細節打包隱藏起來,所以,當那些特性該變的時候,你的僅僅需要更新那個包就可以了。
  
  10. 接受變化
  
  這是一句老話了:唯一不變的只有變化。
  
  你應該將所有系統將可能發生的變化以及潛在需求記錄下來,以便將來能夠實現(參見“Architecting for Change”,Thinking Objectively, May 1999)
  
  通過在建模期間考慮這些假設的情況,你就有可能開發出足夠強壯且輕易維護的軟件。設計強壯的軟件是你最基本的目標。
  
  11. 不要低估對軟件規模的需求
  
  Internet 帶給我們的最大的教訓是你必須在軟件開發的最初階段就考慮軟件規模的可擴充性。
  
  今天只有100人的部門使用的應用程序,明天可能會被有好幾萬人的組織使用,下月,通過因特網可能會有幾百萬人使用它。
  
  在軟件設計的初期,根據在用例模型中定義的必須支持的基本事務處理,確定軟件的基本功能。然后,在建造系統的時候再逐步加入比較常用的功能。
  
  在設計的開始考慮軟件的規模需求,避免在用戶群忽然增大的情況下,重寫軟件。
  
  12. 性能僅僅是很多設計因素之一
  
  關注軟件設計中的一個重要因素--性能,這好象也是用戶最關心的事情。一個性能不佳的軟件將不可避免被重寫。
  
  但是你的設計還必須具有可靠性,可用性,便攜性和可擴展性。你應該在工程開始就應該定義并區分好這些因素,以便在工作中恰當使用。性能可以是,也可以不是優先級最高的因素,我的觀點是,給每個設計因素應有的考慮。
  
  13. 治理接口
  
  “UML User Guide”(Grady Booch,Ivar Jacobson和Jim Rumbaugh ,Addison Wesley, 1999)中指出,你應該在開發階段的早期就定義軟件模塊之間的接口。
  
  這有助于你的開發人員全面理解軟件的設計結構并取得一致意見,讓各模塊開發小組相對獨立的工作。一旦模塊的接口確定之后,模塊怎樣實現就不是很重要了。
  
  從根本上說,假如你不能夠定義你的模塊“從外部看上去會是什么樣子”,你肯定也不清楚模塊內要實現什么。
  
  14. 走近路需要更長的時間
  
  在軟件開發中沒有捷徑可以走。
  
  縮短你的在需求分析上花的時間,結果只能是開發出來的軟件不能滿足用戶的需求,必須被重寫。
  
  在軟件建模上每節省一周,在將來的編碼階段可能會多花幾周時間,因為你在全面思考之前就動手寫程序。
  
  你為了節省一天的測試時間而漏掉了一個bug,在將來的維護階段,可能需要花幾周甚至幾個月的時間去修復。與其如此,還不如重新安排一下項目計劃。
  
  避免走捷徑,只做一次但要做對(do it once by doing it right)。
  
  15. 別信賴任何人
  
  產品和服務銷售公司不是你的朋友,你的大部分員工和高層治理人員也不是。
  
  大部分產品供給商希望把你牢牢綁在他們的產品上,可能是操作系統,數據庫或者某個開發工具。
  
  大部分的顧問和承包商只關心你的錢并不是你的工程(停止向他們付款,看一看他們會在四周呆多長時間)。
  
  大部分程序員認為他們自己比其他人更優秀,他們可能拋棄你設計的模型而用自己認為更好的。
  
  只有良好的溝通才能解決這些問題。
  
  要明確的是,不要只依靠一家產品或服務提供商,即使你的公司(或組織)已經在建模、文檔和過程等方面向那個公司投入了很多錢。
  
  16. 證實你的設計在實踐中可行
  
  在設計的時候應當先建立一個技術原型, 或者稱為“端到端”原型。以證實你的設計是能夠工作的。
  
  你應該在開發工作的早期做這些事情,因為,假如軟件的設計方案是不可行的,在編碼實現階段無論采取什么措施都于事無補。技術原型將證實你的設計的可行性,從而,你的設計將更輕易獲得支持。
  
  17. 應用已知的模式
  
  目前,我們有大量現成的分析和設計模式以及問題的解決方案可以使用。
  
  一般來說,好的模型設計和開發人員,都會避免重新設計已經成熟的并被廣泛應用的東西。
  http://www.ambysoft.com/processPatternsPage.Html 收藏了許多開發模式的信息。
  
  18. 研究每個模型的優點和弱點
  
  目前有很多種類的模型可以使用,如下圖所示。用例捕捉的是系統行為需求,數據模型則描述支持一個系統運行所需要的數據構成。你可能會試圖在用例中加入實際數據描述,但是,這對開發者不是非常有用。同樣,數據模型對描述軟件需求來說是無用的。每個模型在你建模過程中有其相應的位置,但是,你需要明白在什么地方,什么時候使用它們。
  
  19. 在現有任務中應用多個模型
  
  當你收集需求的時候,考慮使用用例模型,用戶界面模型和領域級的類模型。
  
  當你設計軟件的時候,應該考慮制作類模型,順序圖、狀態圖、協作圖和最終

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91极品女神在线| 日韩欧美成人精品| 国产丝袜精品视频| 在线成人免费网站| 日本久久久久久久久| 中文字幕日韩av综合精品| 国产精品视频一区国模私拍| 国内精品国产三级国产在线专| 欧美噜噜久久久xxx| 一区二区av在线| 欧美劲爆第一页| 韩日欧美一区二区| 国外成人性视频| 欧洲成人在线视频| 国产91精品久久久| 国产精品免费福利| 亚洲一区二区在线播放| 91亚洲人电影| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲欧美激情四射在线日| 91色p视频在线| 午夜精品免费视频| 中文字幕亚洲欧美一区二区三区| 欧美日韩国产va另类| 欧美日韩中文字幕综合视频| 久久精品亚洲一区| 久久亚洲精品视频| 欧美成人一二三| 精品国产电影一区| 中文字幕av一区二区三区谷原希美| 欧美精品videossex88| 久久久久久久久久av| 日韩av最新在线观看| 日本国产精品视频| 亚洲午夜性刺激影院| 最近2019中文字幕mv免费看| 欧美精品激情在线| 成人一区二区电影| 岛国视频午夜一区免费在线观看| 色哟哟网站入口亚洲精品| 国产精品一区专区欧美日韩| 狠狠久久五月精品中文字幕| 日韩av片免费在线观看| 国产97在线|日韩| 97香蕉超级碰碰久久免费软件| 色综合视频网站| 韩国美女主播一区| 中文欧美日本在线资源| 538国产精品一区二区在线| 中文字幕日韩av| 黄网动漫久久久| 国产精品久久久久久影视| 亚洲一区二区三区四区在线播放| 欧美性生交xxxxxdddd| 韩国欧美亚洲国产| www.久久久久| 亚洲电影在线看| 欧美最猛性xxxxx亚洲精品| 国产成人精品久久二区二区| 91精品在线播放| 日韩欧美成人免费视频| 日韩在线高清视频| 精品久久久国产精品999| 亚洲全黄一级网站| 国语自产精品视频在线看| 成人黄色av免费在线观看| 亚洲国产一区二区三区四区| 在线视频欧美性高潮| 91人成网站www| 亚洲色图日韩av| 大桥未久av一区二区三区| 姬川优奈aav一区二区| 久久免费视频这里只有精品| 久久综合电影一区| 成人黄色免费看| 欧美日韩国产成人| 欧美丰满老妇厨房牲生活| 亚洲另类欧美自拍| 日本久久亚洲电影| 久久久久久com| 国产精品扒开腿做爽爽爽视频| 18性欧美xxxⅹ性满足| 日韩精品在线私人| 色999日韩欧美国产| 久久精品视频亚洲| 国产精品自拍网| 91chinesevideo永久地址| 亚洲精品久久7777777| 久久亚洲国产成人| 久久久久久12| 亚洲国产天堂久久综合| 亚洲欧美福利视频| 成人中文字幕+乱码+中文字幕| 夜色77av精品影院| 精品国产一区av| 国内精品国产三级国产在线专| 91精品国产成人www| 欧美午夜激情在线| 欧美有码在线观看| 大荫蒂欧美视频另类xxxx| 欧美性xxxx极品hd满灌| 91成人在线视频| 中文字幕日韩在线视频| 奇米影视亚洲狠狠色| 亚洲国产精久久久久久| 亚洲乱码国产乱码精品精| 亚洲电影在线观看| 欧美多人乱p欧美4p久久| 亚洲色图欧美制服丝袜另类第一页| 欧美在线激情视频| 欧美激情在线有限公司| xxxx欧美18另类的高清| 国产午夜精品免费一区二区三区| 国产精品视频免费在线观看| 日韩黄色在线免费观看| 欧洲成人免费视频| 欧美美女15p| 欧美精品www在线观看| 欧美另类69精品久久久久9999| 久久视频国产精品免费视频在线| 久久久久久12| 亚洲性xxxx| 国产亚洲激情视频在线| 国产在线98福利播放视频| 成人午夜黄色影院| 国产精品激情av电影在线观看| 亚洲午夜精品视频| 精品福利在线观看| 北条麻妃一区二区在线观看| 亚洲www永久成人夜色| 超碰日本道色综合久久综合| 成人a级免费视频| 日韩精品视频在线播放| 亚洲激情在线视频| 国产精品久久久久久久9999| 国产精品成人一区二区三区吃奶| 亚洲免费一在线| 久久久精品一区二区三区| 国产91成人video| 日韩成人在线视频网站| 91久久久久久久久久| 亚洲自拍av在线| 国产精品久久久久久超碰| 狠狠色狠狠色综合日日五| 欧美在线一级视频| 北条麻妃在线一区二区| 亚洲无av在线中文字幕| 欧美日韩成人在线播放| 自拍亚洲一区欧美另类| 亚洲欧美日韩精品久久亚洲区| 亚洲精品网站在线播放gif| 91免费观看网站| 国产精品一区二区三区免费视频| 亚洲欧洲午夜一线一品| 九九视频直播综合网| 中文字幕精品在线视频| 久久久成人精品视频| 欧美视频中文字幕在线| 亚洲欧美精品一区二区| 岛国精品视频在线播放| 性欧美视频videos6一9| 欧美极品欧美精品欧美视频| 97视频在线观看播放| 午夜伦理精品一区|