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