軟件項目開發(fā)是為了滿足人們?nèi)找嬖鲩L的生活工作需要,需要通過軟件開發(fā)人員通過一系列的手段獲取用戶的需求,然后通過分析,遵循一定的開發(fā)原理采取相對應(yīng)得方法,最終產(chǎn)生用戶所想要的軟件。
軟件項目開發(fā)心得總結(jié)1受某文化公司委托,開發(fā)一款用于視頻和圖像處理的軟件,開發(fā)難度高,高到從未搞過,開發(fā)周期長,長到是我以前項目監(jiān)控最長開發(fā)周期的兩倍,開發(fā)成本之底,讓我覺得程序員成了高級打字員。首先是需求分析書、產(chǎn)品規(guī)格說明書、設(shè)計說明書、代碼規(guī)范說明書、測試計劃,光文稿就不知道熬了多久才做完。
緊接著,遇到一系列問題,首先是語言選擇,vc++和c#都是可以保證開發(fā)完成的選擇,但是vc++內(nèi)存容易報錯,界面很難修改,而客戶要求的界面質(zhì)量甚至比程序的功能更嚴(yán)格,沒辦法,客戶就是上帝,上帝做事一定有他的道理。c#語言易于開發(fā),而且圖形界面繪制也易于修改,可以做出客戶體驗很好的界面,但是在資源的消耗上,讓我很吃驚。做到第二個月,大概的界面已經(jīng)完成時,出現(xiàn)界面刷新的問題,刷新時開始卡,界面不流暢。沒辦法,改。
開會,總結(jié),技術(shù)骨干找問題,拿出解決方案,力爭第一次做軟件把它做好:
重新做軟件開發(fā)進(jìn)度計劃和軟件測試計劃,并且讓獨立功能demo制作和測試先行;
用direct draw、direct 3d或者opengl中的一個替代c#本身的gdi繪圖,將在接下來的開發(fā)任務(wù)中加入進(jìn)去。
事無巨細(xì),當(dāng)我滿意的看著界面流暢,功能也已實現(xiàn)時,發(fā)現(xiàn)軟件在低分辨率或者小本上根本亂到?jīng)]法看,甚至是界面功能按鈕錯位,重疊等等。沒辦法,改。畢竟軟件的多分辨率兼容和操作系統(tǒng)兼容是必須要做的。
接下來一大堆的麻煩找了上來,軟件出現(xiàn)各種各樣想都想不到的問題,總算是按時將第一個版本發(fā)布出去,并且開始接下來的升級開發(fā)任務(wù)。
最后,給剛剛接手軟件開發(fā)項目的朋友一些忠告:
一、相關(guān)的文檔不是給別人看的,而是給自己看的,相關(guān)文檔一定要齊備,而且讓所有涉及開發(fā)的人員都清楚的知道你文檔里所要表達(dá)的意思;
二、一定要注意多做demo,多做實驗,一個demo程序員幾個鐘頭就可以完成,甚至更少,但是不做demo,核心程序沒有做實驗,其他的東西都圍繞核心程序做了上去,到時候耽誤的可不是幾個鐘頭
三、程序設(shè)計要注重用戶體驗,當(dāng)初客戶對我要開發(fā)軟件提出近乎苛刻的要求時我不在意,但是當(dāng)我自己反復(fù)使用軟件時有了很多體會,流暢美觀的界面帶給人心理的快感的確能替代一些尚未開發(fā)完整的功能帶給用戶的遺憾。
四、測試計劃多次進(jìn)行,分批進(jìn)行,不要全部開發(fā)完成再對軟件做測試。
還要堅持三個月,軟件馬上發(fā)布,希望大家的支持,謝謝。!
軟件項目開發(fā)心得總結(jié)2一直以來期望從事自己喜歡的事業(yè)的我,對軟件開發(fā)有者及大的興趣,可由說種種原因使我從事工作以來走了好幾年彎路,心中的夢想遲遲不能得以實現(xiàn),可程序員的夢想從來沒有從我的心中抹去,但這扇大門好像并沒有向我敞開,今天,貴公司給了我敲開這扇大門的機會,讓我真實體驗了程序員的誕生過程。早就聽說,程序員的前幾個月是最苦的,可從來沒有感受到,海馬實習(xí)基地讓我提前感受到了剛剛進(jìn)入軟件行業(yè)的壓力和困惑,再也沒有在自己家里隨便寫段小程序后的那種“自豪”感了。要面對每天必須面對的問題,再也不可能以“逃避”而了之了。也讓我感覺到做為一個程序員所應(yīng)該具備的基本素質(zhì)在這不到一個月的實習(xí)過程中也讓我深深體會到了作為一個合格的程序員應(yīng)該具備的基本素質(zhì)。
團隊精神和協(xié)作能力是程序員應(yīng)該具備的基本素質(zhì),最近的工作中讓我深深休會到了這一點,由于小組成員配合不好,使本來很方便的cvs給自己的工作帶來的及大的麻煩,一不小心自己寫的的東西就會被小組別的成員在上傳文件的時候給覆蓋掉,一整天的工作可能就這樣被反工,我們小組這次就是因為協(xié)作不好,導(dǎo)致各模塊之間不法連接,給工作帶來了及大的麻煩,消耗了大量的勞動力還沒有提高工作效率。這使我深深的體會到:一個成功商業(yè)性軟件的開發(fā)必須有一個有強大凝聚力的團隊,個人的力量是有限的,團隊精神和良好的協(xié)作會使我們做出優(yōu)秀的軟件。
良好的文檔是正規(guī)研發(fā)流程中非常重要的環(huán)節(jié),作為代碼程序員,30%的工作時間寫技術(shù)文檔是很正常的,缺乏文檔,一個軟件系統(tǒng)就缺乏生命力,在未來的查錯,升級以及模塊的復(fù)用時就都會遇到極大的麻煩。這次的這個小小的項目,就因為文檔上的一點點理解錯誤讓我們花了很大的工夫去改代碼,改頁面。很慶幸的是,這是一個小項目,要是大項目,這種問題可能就會導(dǎo)致大量的代碼修改,可見文檔在一個項目中起者巨大的做用。
此外,良好的代碼編寫習(xí)慣,不但有助于代碼的移植和糾錯,也有助于不同技術(shù)人員之間的協(xié)作。作為一個程序員,對需求的理解能力也是很重要的,只有真正理解了一個模塊的作用,才會寫出高效率的代碼,才能使整個軟件項目作出來更加優(yōu)秀,具備更好的安全性和穩(wěn)定性,我在寫代碼的過程中就遇到了需求理解上的問題,使得寫出來的代碼功能不全,幸好不是給客戶發(fā)現(xiàn)在,要不,這個軟件的商業(yè)價值可能就會打折扣了。單元測試對于一個程序員來說是不可不做的一項工作,不做好測試就會給后期的集成工作帶來麻煩,往往為了一個小問題會讓我們查找好多模塊,給后期工作帶來很大麻煩。
這一段時間的工作也讓我明白了一點:一個優(yōu)秀的程序員必須不斷的學(xué)習(xí),隨時總結(jié),找到自己的不足,這樣逐步提高,才能讓自己很快的成長起來。
軟件項目開發(fā)心得總結(jié)3未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達(dá)成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。
上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已?jīng)給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進(jìn)行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1.可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。
2.項目描述這是在決定立項以后,對當(dāng)前項目的一份扼要說明。
3.需求分析就是對客戶要求的功能的定義。
4.軟件設(shè)計這就是對程序的每一個模塊的詳細(xì)設(shè)計的說明文檔。
5.開發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。