版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件開發(fā)的熟悉、如何開發(fā)一個成功的軟件產(chǎn)品?要成功的開發(fā)一個軟件產(chǎn)品,需要滿足如下兩個條件1、完美的開發(fā)團隊2、開發(fā)過程合理限制2.1完美的開發(fā)團隊軟件產(chǎn)品不需要原料,軟件團隊是軟件產(chǎn)品生產(chǎn)的最重要資源了. 如何成就 一個完美的開發(fā)團隊,意見如下:1、具有軟件開發(fā)必備角色,包括需求、系統(tǒng)分析、技術(shù)攻關(guān)、代碼編寫、 軟件測試等.2、具有自己文檔、代碼標(biāo)準(zhǔn)標(biāo)準(zhǔn),以便于維護集成.3、具有自己資源庫.4、具有和諧的團隊關(guān)系、正確的溝通方式5、具有英明的工程經(jīng)理2.1.1 具有軟件開發(fā)必備角色一個軟件開發(fā)團隊,必須具備軟件工程中應(yīng)有的角色,包括需求分析、系統(tǒng) 分析、技術(shù)攻關(guān)、代碼編寫、軟件測試等,這里不
2、再贅述.2.1.2 具有自己文檔、代碼標(biāo)準(zhǔn)標(biāo)準(zhǔn)軟件開發(fā)周期的各個階段都應(yīng)該有相應(yīng)的文檔,軟件工程等相關(guān)學(xué)科都有很 大篇幅講文檔的重要性.軟件開發(fā)團隊對文檔處理各有千秋,主要可分為如下 三種情況:1、 開發(fā)團隊不重視文檔,往往事后根據(jù)需要再追加文檔,這類開發(fā)團隊一般規(guī)模較小,屬于作坊式的2、 開發(fā)團隊迎合軟件工程中文檔教條,不聯(lián)系自己實際情況寫文檔,文檔格式形式化,這種開發(fā)團隊一般是吃大鍋飯的,文檔在這種 團隊被作為形象展示的工具3、 開發(fā)團隊把文檔作為產(chǎn)品的一局部,基于軟件工程理論寫文檔,利用文檔對工程進行限制跟蹤,真正的發(fā)揮了文檔的功用.但是一個優(yōu)秀的開發(fā)團隊除了按上面第三種方式處理文檔外,
3、還應(yīng)該具有自己的文檔、代碼標(biāo)準(zhǔn)標(biāo)準(zhǔn),所有成員都要遵循這個標(biāo)準(zhǔn)編寫文檔或代碼,而不 是各自按自己的習(xí)慣處理文檔或者代碼.我們知道程序編寫人員都不愿意解讀別人的代碼,其實主要原因不是代碼復(fù) 雜度問題,而是他們寫代碼的標(biāo)準(zhǔn)不一致,注釋不標(biāo)準(zhǔn)或者不明確.所以團隊如果有了自己的代碼標(biāo)準(zhǔn),所有成員都遵循這個標(biāo)準(zhǔn),那么在程序?qū)?、移?以及維護等方面效率會很高.2.1.3 具有自己的資源庫資源庫是自己通俗的說法,它應(yīng)該包括文檔、技術(shù)文獻、問題分析及解決方 案、源代碼和控件等.這些資源應(yīng)該用以一種方式治理比方以數(shù)據(jù)庫的方式 存儲,以資源平臺的方式向團隊所有成員開放,便于檢索查詢重用.一個技術(shù)團隊,資源庫是非常
4、重要的,它是團隊所有成員在實踐中經(jīng)驗的積 累、技術(shù)的總結(jié),是團隊成員技術(shù)共享的紐帶.軟件產(chǎn)品的本錢根本上只有人力資源,資源庫的存在很大程度上節(jié)省了人力 資源,假設(shè)我們把一個新的開發(fā)工程的功能細化后,很多功能模塊都可以從資 源庫中直接調(diào)出來使用、當(dāng)我們遇到一個很久以前花費很大精力解決的技術(shù)性 問題,我們可以直接從資源庫中檢索出該問題及解決方案,當(dāng)程序員A需要寫一個鏈表類時,可以通過資源庫參考程序員B曾經(jīng)編寫的鏈表類 .這將是多么愉快的事情.2.1.4 具有和諧的團隊關(guān)系、正確的溝通方式技術(shù)人員是軟件公司的支柱,技術(shù)人員之間關(guān)系的和諧就顯的非常重要.另 外由于軟件產(chǎn)品的特性就是復(fù)雜度高,軟件產(chǎn)品生
5、產(chǎn)過程就是一批技術(shù)人員溝 通、執(zhí)行的過程.所以和諧的團隊關(guān)系及正確的溝通方式都非常重要.關(guān)于如 何做好這一點,有如下看法:和諧的關(guān)系上,隊員之間要作到理解、尊重、寬容,這不但是關(guān)系開展的前 提,也是關(guān)系健康向上開展的根底.有了和諧的關(guān)系,溝通就顯得順利多了,個人認為溝通主要做到如下三點:1、要有所準(zhǔn)備:溝通就是由于有問題需要討論,那么就有問題的提出方和 解決問題的一方,這就需要問題的提出方根據(jù)實際情況問題復(fù)雜性、重要性、 參與討論的角色和專業(yè)方向做出充分的準(zhǔn)備,比方如何描述問題才能讓參與 討論的不同角色的人在相對短時間內(nèi)對問題有深刻的理解并給出好的建議.那 么對于技術(shù)性非常強的討論或者講座、就
6、需要參與討論的成員事先至少對該技 術(shù)性的話題有一個宏觀的熟悉,比方技術(shù)講座,如果技術(shù)性很強,最好就是聽 講座的成員先對講座的內(nèi)容有一個了解,然后才能更好的在聽講過程中受益并 發(fā)揮.畢竟不是小學(xué)生上課,我們的技術(shù)講座也不該是照本宣科,應(yīng)該事先了 解、然后在聽與討論中掌握知識.2、要學(xué)會聆聽,這不僅是對別人的尊重,也確實能使自己受益只要對方 不是虛無縹緲、話不中的、夸夸其談的長篇大論,不要別人剛剛開口,咱就 來個,你不知道、你不懂,這是不對的,三人行、必有我?guī)?相互的聆聽是理 解問題的根底,是討論問題得出正確方案的前提.3、要換位思考,工作中我們要學(xué)會換位思考、不要主觀的臆斷.特別是團 隊協(xié)作的時
7、候,要站到我們伙伴的角度去看問題、思考問題,理解你的伙伴、 尊重你的伙伴,才能得到正確的討論結(jié)果或解決方案.2.1.5 具有英明的工程經(jīng)理不討論工程經(jīng)理職業(yè)、心理、知識、經(jīng)驗等條款化的素質(zhì).也不討論決策、 溝通等工程經(jīng)理應(yīng)該必備的水平,只從自己角度,談下自己的幾點看法.1、 要有一定的權(quán)利,從實出發(fā)對待問題.很多軟件公司會出現(xiàn)項目經(jīng)理責(zé)任高、權(quán)利小的現(xiàn)象.也很多工程經(jīng)理由于某些緣故,在方 案決策處理方面不能從實對待問題, 這種現(xiàn)象往往出現(xiàn)在工程經(jīng)理的 上級領(lǐng)導(dǎo)對工程過多干預(yù)的情況下.2、 中肯,謙虛,尊重隊員.能認真聽取所有成員的技術(shù)觀點、意見.這點很重要,俗話說“三個臭皮匠,頂個諸葛亮,技術(shù)
8、的追求 是無止境的,工程經(jīng)理不可能掌握全部技術(shù)的新動向.3、 有親和力和一定的人格魅力,能站到所有團隊成員的角度思考問題.化解技術(shù)合作或者日常生活上不和諧的情緒. 工程經(jīng)理畢竟不 是技術(shù)骨干,只是懂得決策、懂得技術(shù)是不行的.2.2開發(fā)過程合理限制軟件產(chǎn)品工程化之后,軟件開發(fā)周期就被劃分為很多階段,如制訂方案、需 求分析和定義、軟件設(shè)計、程序編寫、軟件測試、運行和維護等,還提出了很 多軟件開發(fā)模型作為這些階段行為參考.關(guān)于這方面的資料非常多,這里不理 論教條化的對這些內(nèi)容討論,只是結(jié)合工作經(jīng)驗,從軟件定義、軟件開發(fā)和軟 件維護三個角度簡短的談些自己的看法.2.2.1 軟件定義這個階段主要就是通過
9、需求分析來確定最終做出怎么樣的一個軟件產(chǎn)品,是至關(guān)重要的.工程組應(yīng)該做到:1、全員參與,不僅僅是工程經(jīng)理和需求分析人員,包括編碼、測試人員等 都要參與進來.比方需求分析人員由于技術(shù)專業(yè)不理想,根據(jù)用戶需求 設(shè)計的軟件定義沒有考慮到某個技術(shù)障礙,導(dǎo)致編碼人員在開發(fā)過程中 不可逾越,臨時調(diào)整方案不但極大降低質(zhì)量、 還嚴重的影響了工程進度.2、給該階段預(yù)留更多的時間,不厭其煩的與客戶溝通.隔行如隔山,用戶 與開發(fā)人員之間的交流很難.有時候用戶很難明確的提出他的需求,這 時候就需要工程分析人員理解并牽引. 有時候用某些需求用戶也提不出, 直道編碼甚至維護階段才提出來,分析人員應(yīng)該做出足夠的思考,以便
10、軟件定義時候預(yù)留相應(yīng)的接口.2.2.2 軟件開發(fā)這個階段主要完成概要設(shè)計、詳細設(shè)計、編碼及測試.最重要的莫過于概要 設(shè)計時合理的劃分功能模塊了.劃分模塊原那么如下:1、 高內(nèi)聚、低耦合.這樣模塊的獨立性很強,在代碼開發(fā)階段給每個模塊編寫者很大的空間,使編寫目的非常明確,可以獨立開發(fā), 互不影響進度.2、 模塊接口明確.這樣開發(fā)者在開發(fā)過程中預(yù)留接口就可以了,不用頻繁的整合或移植代碼進行接口聯(lián)調(diào).另外就是工程經(jīng)理要了解自己的設(shè)計人員各自的技術(shù)特長,分配相應(yīng)的 模塊給程序設(shè)計人員,會很大程度上縮短開發(fā)周期.2.2.3軟件維護軟件維護是一項長期而繁瑣的任務(wù), 長時間的跨度可能會牽扯到文檔、 代碼 更
11、新,人員更換等.所以有關(guān)軟件的文檔一定要寫好、保存好.另外前面提到 的開發(fā)團隊要有自己的文檔代碼標(biāo)準(zhǔn)標(biāo)準(zhǔn)等,也是做好軟件維護的前提條件.在當(dāng)我們學(xué)會了一門語言的時候 也就是說,記 住了該語言的語法,詞法,還有一些常用的函 數(shù),就意味著已經(jīng)掌握了編寫程序的根本工具.無論用的是社么語言,都差不多.只是工具之間 有長有短.比方說delphi,VB 之類做 windows 環(huán)境的應(yīng)用程序很方便;用JAVA開發(fā)基于網(wǎng)絡(luò) 的程序很輕松.假設(shè)我們用 C C+寫一個記 事本軟件,估計要寫數(shù)百行代碼才能完成,而且 不能保證沒有大錯誤,而用 delphi,或VC等可 視化工具來做,就只要鼠標(biāo)點點控件,幾下就完 成
12、了,可謂方便.這就是說工具各有特點,各個 方面都有各個方面的最適合的工具.不過工具只 是工具,光靠工具是寫不出好的程序的.就好比 我要寫一篇文章出來,首先確定用社么語言來寫漢,英,俄還是其他?很顯然,如果我是寫給 中國人看,自然用中文,寫給美國人看,當(dāng)然用 英文.那么確定了語言之后呢?我就能寫文章 了嗎?文章結(jié)構(gòu)如何設(shè)計?寫文章的方法技巧 和考前須知是什么?這些我都不知道,自然寫不 出好文章.可見,要寫一篇好文章,會語言是遠 遠不夠的.同樣,要寫出好的程序程序運行結(jié) 果正確,時間,空間效率高,健壯性好,可讀性 強等等,光會一門語言也是遠遠不夠的.而編 程的具體方法的學(xué)習(xí)才是我們的重點.計算機教
13、育普遍都是先從教授一門語言開 始一般是C語言,然后,就開始安排對數(shù)據(jù) 結(jié)構(gòu)和算法的學(xué)習(xí).數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計分析是 整個編程方法的根底,重中之重.以前流行過一 句話:數(shù)據(jù)結(jié)構(gòu)+算法=程序.這是不無道理的. 計算機是用來處理和存儲數(shù)據(jù)的.數(shù)據(jù)在計算機 中的表示和存儲不是無組織的, 是有規(guī)律,有結(jié) 構(gòu)的.因此,當(dāng)我們對這些根據(jù)一定規(guī)律組織的 數(shù)據(jù)進行操作的時候,理論上存在一種或幾種與 某結(jié)構(gòu)相比配的最優(yōu)或近式最優(yōu)算法,以次 來保證操作數(shù)據(jù)的時空效率.打個比方,現(xiàn)有一 排數(shù)據(jù):a,b,c,d,e,如果經(jīng)常要對其進行查找操 作,順序排列存儲該數(shù)列能降低操作的時間. 同 樣如果經(jīng)常要對其進行插入或刪除操作
14、,采用鏈 接存儲那么能降低該操作的時間復(fù)雜度.由此可 見,合理的數(shù)據(jù)結(jié)構(gòu),高效的算法對程序質(zhì)量有 著多么重要的影響!又比方,我們要編寫程序能 對中國所有公民的身份證號進行排序. 這是極其 龐大的一組數(shù)據(jù),如此多數(shù)據(jù)采取什么結(jié)構(gòu)來表 示和存儲,以及應(yīng)用什么算法來對其排序,使該 程序在排序時盡量的快,占用的空間盡量的少. 這都是學(xué)問,編程的學(xué)問!所以,可以講,程序 員對數(shù)據(jù)結(jié)構(gòu)和算法的領(lǐng)悟程度直接決定了他 的編程水平的上下.那么如何提升自己的水平 呢?我們可以學(xué)習(xí)研究像 CC+函數(shù)庫API 里的函數(shù),或JFC JAVA類庫中的函數(shù)實現(xiàn), 這些函數(shù)實現(xiàn)都是非常有經(jīng)驗的程序員編寫的, 有著很好的運行效
15、率.再者,就是數(shù)學(xué)的重要, 我認為數(shù)學(xué)對程序的重要性表達在對算法的支 持上.比方說微積分思想,為計算機數(shù)值計算提 供了理論指導(dǎo);而數(shù)據(jù)結(jié)構(gòu)和算法來源與離散數(shù) 學(xué),線性代數(shù)和概率統(tǒng)計中的思想和方法.另外, 像計算機密碼學(xué),計算機圖形學(xué),計算機多媒體 都離不開數(shù)學(xué).好的算法需要數(shù)學(xué)工具來理論驗 證,也需要數(shù)學(xué)來改良,來完善!那么,面向?qū)ο笥职缪菔裁唇巧兀空f到 底,我覺得面向?qū)ο笏枷氲淖谥季褪谴a重用. 面向?qū)ο罄锏娜蟾拍睿悍庋b,繼承,多態(tài)都是 為了代碼重用.重用質(zhì)量高的代碼,不但可以節(jié) 省人力,而且極大提升了本身原程序的質(zhì)量. 比 如,我要編寫一多功能計算器,我依據(jù)自己喜好 設(shè)計了界面,在具體
16、功能實現(xiàn)上我繼承了別人已 經(jīng)寫好的正確功能類,不但省去了自己寫的麻 煩,而且也保證了該計算器的邏輯正確性, 一舉 兩得.在編程時運用面向?qū)ο笏枷?類的設(shè)計是 最為關(guān)鍵得第一步,包括對類結(jié)構(gòu)的設(shè)計和內(nèi)部 功能實現(xiàn).其次就是對類進行準(zhǔn)確合理的繼承和 多態(tài)化.顯然,不正確的進行繼承和多態(tài)會給整 個軟件帶來巨大的錯誤隱患.面向?qū)ο笏枷朐趯?小程序時或許表達不出優(yōu)越,但在中大型軟件開 發(fā)時,它的用處便會極大表達出來.面向?qū)ο蠓?法在解決軟件危機里起到了舉足輕重的作用. 但 在這里,我還是要強調(diào)一點,面向?qū)ο笏枷胧菢O 好的思想,極好的編程方法.但是如果沒有質(zhì)量 好的代碼可以值得被重用,面向?qū)ο蠓椒ň蜎]有
17、用武之地!可見,擁有良好數(shù)據(jù)結(jié)構(gòu)和算法的功 能代碼塊是保證整個程序質(zhì)量的奠基石.軟件尤其是中大型軟件質(zhì)量好壞還有一 個很重要的因素:軟件體系結(jié)構(gòu).打個比方,我 要建房子.軟件體系結(jié)構(gòu)就好比房子的結(jié)構(gòu), 采 用哪種樣式歐式?中式?決定了房子的結(jié)構(gòu), 軟件體系結(jié)構(gòu)的規(guī)劃設(shè)計也就決定了軟件本身 的結(jié)構(gòu)軟件的環(huán)境,功能模塊的安排,位置, 互相聯(lián)系關(guān)系等等.那么,房子的結(jié)構(gòu)設(shè)計好 了,就要解決建筑材料的問題.在這里,牢固的 磚頭和橫梁是房子牢固的根本保證.同樣,擁有 良好數(shù)據(jù)結(jié)構(gòu)和算法的功能函數(shù)或函數(shù)塊也是 整個軟件質(zhì)量的根本保證!有了質(zhì)量過硬的磚頭 和橫梁,只要結(jié)構(gòu)合理,房子的壽命是完全可以 保證的.一樣道理,我們手頭有了大批信的過的 功能函數(shù)或函數(shù)塊,在編程的時候嚴格根據(jù)軟件 工程標(biāo)準(zhǔn),合理運用面向?qū)ο蠓椒?根據(jù)科學(xué)的 體系結(jié)構(gòu)要求,就能在經(jīng)濟的條件下,開發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版抵押貸款購銷合同起草指南3篇
- 二零二五年珠寶玉石交易合同3篇
- 二零二五版新型節(jié)能建材采購合同(工地裝修)3篇
- 二零二五年度餐飲泔水處理與有機垃圾資源化利用合同2篇
- 二零二五年教育信息化建設(shè)項目競標(biāo)合同3篇
- 二零二五版新能源居間合同解析與合同屬性3篇
- 二零二五版高新技術(shù)研發(fā)項目合伙投資合同3篇
- 二零二五版數(shù)據(jù)中心基礎(chǔ)設(shè)施安裝合同6篇
- 二零二五版辦公文檔范本家政服務(wù)合同(雙方法律關(guān)系)3篇
- 二零二五版拉森鋼板樁租賃合同租賃日期及租期計算的詳細規(guī)定9篇
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護導(dǎo)體
- 2025湖北襄陽市12345政府熱線話務(wù)員招聘5人高頻重點提升(共500題)附帶答案詳解
- 2025年河北省職業(yè)院校技能大賽智能節(jié)水系統(tǒng)設(shè)計與安裝(高職組)考試題庫(含答案)
- 2024年下半年鄂州市城市發(fā)展投資控股集團限公司社會招聘【27人】易考易錯模擬試題(共500題)試卷后附參考答案
- GB/T 29498-2024木門窗通用技術(shù)要求
- 《職業(yè)院校與本科高校對口貫通分段培養(yǎng)協(xié)議書》
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專題培訓(xùn)課件
- 人教版(2024)英語七年級上冊單詞表
- 中醫(yī)養(yǎng)生產(chǎn)業(yè)現(xiàn)狀及發(fā)展趨勢分析
- 2023年浙江省溫州市中考數(shù)學(xué)真題含解析
- 窗簾采購?fù)稑?biāo)方案(技術(shù)方案)
評論
0/150
提交評論