心得體會的寫作過程需要我們深入分析,、理性思考,,能夠提高我們的思維能力和邏輯思維能力,。在寫心得體會時,,我們應(yīng)該注重內(nèi)外聯(lián)系,,結(jié)合具體事例進行闡述,。通過閱讀心得體會范文,,我們可以了解到不同人對同一事物的理解和認(rèn)識,。
軟件工程心得體會篇一
軟件工程經(jīng)濟是近年來出現(xiàn)的嶄新的研究方向,是軟件工程和經(jīng)濟學(xué)相互融合深入的產(chǎn)物,。下面是本站小編為大家整理的軟件工程,。
供你參考!
時間過的很快,轉(zhuǎn)眼間已經(jīng)實習(xí)將近5個月,,其中有2個月是屬于完全被流放的,。最先在內(nèi)部系統(tǒng)組參與內(nèi)部管理系統(tǒng)開發(fā)(struts+mysql+spring+hibernate),之后是去做網(wǎng)絡(luò)交換機軟件的腳本測試。現(xiàn)在又回歸內(nèi)部系統(tǒng),,雖然在腳本組期間,,編碼能力被別人甩在后頭,但至少具有了一些測試經(jīng)驗,。
至少自己做的東西,,是真正交付到了客戶手上,到也稍微有些成就感,。
1,、淺談測試。
一直以來,,我都認(rèn)為測試是脫離了軟件工程范圍的工作,,不以為屑。但在實際情況中,,測試是既重要且難以精湛的.其真正的壓力,,在于找不到bug,責(zé)任在你,,而不在于編碼人員,。一般的測試人員不懂編碼,他們靠的是日以累計的經(jīng)驗總結(jié)和想象力,。而要做到高級測試工程師,,則一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面具體運作的前提,。但占主導(dǎo)地位的,,還是大型系統(tǒng)的集成測試經(jīng)驗。實際項目中,,編碼時間一般只占30%左右,,真正耗費時間的是it階段的找bug與對應(yīng)bug,此階段基本評定了coder的編碼質(zhì)量,。
2,、程序員的困惑。
有位同事告訴我:代碼看幾遍都沒用,,要去抄,,例如一個查詢模塊,在此基礎(chǔ)上去做具體記錄的歷史記錄查詢模塊,,你可能會覺得很簡單,,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,,以及數(shù)據(jù)庫字段,,傳值問題等等,,一大堆對于新人來說很郁悶的問題。但不用怕,,只要學(xué)會調(diào)試,,一個個問題去追蹤,一個個去解決,,自然而然,,那段“源碼”才真正屬于你。
3,、如何調(diào)試追蹤,。
如果你能在短短的時間內(nèi)就看到問題點在那,放下斷點去追蹤,,出去找工作,,絕對沒問題,。出現(xiàn)問題的時候,,不要光看代碼,要用實際行動去追蹤運行期間的具體值,,那是最好途徑,。eclipse是個很爽的ide,這點做的很好,。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),,我們要先從數(shù)據(jù)庫查詢語句去下手,設(shè)置斷點,,一步一步stepover,,讓sql字段(存取最終sql語句的字符串)運行到有值,inspect進去看,,如果還看不出來,,就點擊它,copy后在sql客戶端去實際運行,,看看實際查詢出來的表是什么,,如果是對的,有可能就是頁面調(diào)用的錯誤或者action邏輯的傳值問題,。
頁面錯誤的調(diào)試,,基本方法是用右鍵點擊實際網(wǎng)頁查看源代碼,copy到editplus,,就能看到具體錯誤發(fā)生在那幾行,。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調(diào)用的字段有可能為空的情況出現(xiàn)的,,可以加if(=null)語句加保護,。追蹤的方法基本就是用alert語句,放在有可能出錯的地方。
4,、一些習(xí)慣,。
遇到問題先自己思考,無從下手再找高手幫忙看看,,注意他幫你看的思路,,別在一旁閑著,看多了自己也會了,,不然你一輩子都停留在那種水平,,從人身上學(xué)到的東西遠(yuǎn)遠(yuǎn)比書多的多。
解決了一個問題后,,要去究根問底去找到問題產(chǎn)生的起因,,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,,注釋,、空行、規(guī)范一樣不能少,,可讀性是放在第一位,。曾經(jīng)看過一個高手寫的代碼,真的一看就是不同水平的人寫的,,幾乎很完美,,讀起來很流暢,方便自己也方便別人,。
任務(wù)完后不要呆著,,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),只要你肯去嘗試,,他們就會對你另言相看,,把三天的任務(wù)一天加班搞定,效率和忠誠都有了,,路也比較好走了,。
一、實訓(xùn)目的:
通過對java語言,、sql數(shù)據(jù)庫的應(yīng)用以及sql語言的復(fù)習(xí)和鍛煉,,并且通過使用myeclipse開發(fā)平臺設(shè)計管理項目,以達到充分熟悉開發(fā)平臺及應(yīng)用設(shè)計,。同時掌握并實踐軟件項目設(shè)計規(guī)范及其開發(fā)流程:需求分析,、概要設(shè)計、詳細(xì)設(shè)計,、代碼編寫等,,以便提前適應(yīng)軟件公司開發(fā)流程,、環(huán)境和工作要求。
二,、實訓(xùn)內(nèi)容:
1.項目:(“當(dāng)當(dāng)網(wǎng)”),。
2.完成(用戶注冊、登錄,、列表,、購物車、刪除,、修改)等功能,。
3.數(shù)據(jù)庫設(shè)計、sql應(yīng)用,。
4.項目實戰(zhàn),。
三、實訓(xùn)總結(jié):
轉(zhuǎn)眼間實訓(xùn)已過去一段時間,,之前的興奮,、喜悅?cè)缃褚呀?jīng)讓我熟悉,在實訓(xùn)的每一天都會讓我有成為一名真正的財富者擁有的沖動,。也許,,在這期間不一定會讓一個人有著翻天覆地的變化,,但變化就是這樣一點一點產(chǎn)生的,。通過這一期的實訓(xùn),雖然倍感折磨,,但是收獲卻是很大的,,學(xué)習(xí)中我不但有了學(xué)習(xí)成果的喜悅,而且自己也日漸成熟,,有種說不出的喜悅,。
在實訓(xùn)的過程中,我深深的體會到了自己在專業(yè)知識方面的欠缺和不足,,也意識到了自己作為計算機軟件專業(yè)的學(xué)生,,要想在以后的職業(yè)中嶄露頭角,除了要有過硬的理論知識,,健康的體魄之外,,還必須具備良好的心理素質(zhì),是自己在以后的途中無論經(jīng)歷什么樣的困難,,都立于不敗之地,。通過實訓(xùn)老師的課堂講解與企業(yè)文化標(biāo)準(zhǔn)的培訓(xùn),使我加深了對自己專業(yè)的認(rèn)識,,從而確定自己以后的努力方向,,要想在短暫的實訓(xùn)時間內(nèi)盡多的學(xué)到東西,,就需要我們跟老師或同學(xué)進行良好的溝通,加深彼此的了解,,只有我們跟老師多溝通,,讓老師更了解我們,才能更真切的對我們進行培訓(xùn)工作,。由此,,班級的文化“共享”就在生活中慢慢形成了。
“紙上得來終覺淺,,絕知此事要躬行!”在這短短的時間里,,讓我深深的感覺到自己在實際應(yīng)用中所學(xué)來專業(yè)知識的匱乏。讓我真真領(lǐng)悟到“學(xué)無止境”這句話的涵義,。而老師在專業(yè)認(rèn)識周到中所講的,,都是課本上沒有而對我們非常有實際意義的。這又給我們的實訓(xùn)增添了濃墨淡彩的光輝,。我懂得了實際生活中,,專業(yè)知識是怎樣應(yīng)用與實踐的。在這些過程中,,我不僅知道了職業(yè)生涯所需具備的專業(yè)知識,,而且讓我深深體會到一個團隊中的各個成員合作的重要性,要善于團隊合作,,善于利用別人的智慧,,這才是大智慧??繂我坏牧α渴呛茈y完成一個大項目的,,在進行團隊合作的時候,還要耐心聽取每一個成員的意見,,是我們的組合達到更加完美,。
這次實訓(xùn)除了讓我明白工作中需要能力,素質(zhì),,知識之外,,更重要的是學(xué)會了如何去完成一個任務(wù),懂得了享受工作,。當(dāng)遇到問題,,冷靜,想辦法一點一點的排除障礙,,到最后獲取成功,,一種自信心就由然而生,這應(yīng)該就是工作的樂趣,。有時候不懂的就需要問別人了,,虛心請教,,從別人的身上真的能學(xué)到自己沒有的東西,每一次的挫折都會使我更接近成功,。還有學(xué)會了在工作中與人的合作與交流,,同樂同累,合作互助,,這是團體的精神,,也是必須學(xué)習(xí)的東西。
經(jīng)過之前的學(xué)習(xí),,對程序設(shè)計有了一定的認(rèn)識與理解,。在校期間,一直都是學(xué)習(xí)理論知識,,沒有機會去參與項目的開發(fā),。所以說實話,這次實訓(xùn),,軟件項目開發(fā)對我來說是比較抽象的,,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經(jīng)過這次實訓(xùn),,讓我明白了一個完整項目的開發(fā),,必須由團隊來分工合作,并在每個階段中進行必要的總結(jié)與論證,。
一個完整項目的開發(fā)它所要經(jīng)歷的階段包括:遠(yuǎn)景范圍規(guī)劃和用例說明,、項目結(jié)構(gòu)和風(fēng)險評估、業(yè)務(wù)功能,。
說明書,。
詳細(xì)設(shè)計說明書代碼實現(xiàn)測試和安裝包等等。一個項目的開發(fā)所需要的財力人力都是很多的,,如果沒有一個好的遠(yuǎn)景規(guī)劃,對以后的開發(fā)進度會有很大的影響,,甚至?xí)霈F(xiàn)在預(yù)定時間內(nèi)不能完成項目或者完成的項目跟原來預(yù)想的不一樣,。一份好的項目結(jié)構(gòu)業(yè)務(wù)功能和詳細(xì)設(shè)計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認(rèn)識,,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩,。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關(guān)鍵,也就是說,,前期作業(yè)都是為代碼的實現(xiàn)所做的準(zhǔn)備,。
我深刻的認(rèn)識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,,還要有扎實的編寫代碼基礎(chǔ),,必須要有事先對文檔進行可靠性報告,,功能說明書,詳細(xì)設(shè)計說明書等的編寫和一些風(fēng)險評估的編寫的能力,。
除了圖書館,,最能讓我感覺到身在大學(xué)的就是實訓(xùn)機房,在匆匆過去的兩個月內(nèi),,我往返于實訓(xùn)機房與宿舍之間,,使我享受了一個充實的學(xué)習(xí)時期,讓我感受到了大學(xué)的魅力,,對自己充滿信心,,對大學(xué)充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn),。
實訓(xùn)中要求有扎實的理論基本知識,,操作起來才順心應(yīng)手,我這時才明白什么是“書到用時方恨少”,。這就激發(fā)了學(xué)習(xí)的欲望,。“學(xué)以致用”,,就是要把學(xué)來的知識能運用到實際操作當(dāng)中,,用實踐來檢驗知識的正確性。我想,,這是實訓(xùn)的最根本目的,。
最初在實訓(xùn)時自己就有一些不自信,但隨著項目的進展,,我慢慢的找到了自己的位置,,找到自己的目標(biāo),雖然自己與好的同學(xué)還有差距,,這也給了我很大壓力,,但是我相信沒有壓力就沒有動力,所以在整個實訓(xùn)過程中我都在不斷地努力,。
實訓(xùn)期間讓我學(xué)到很多東西,,不僅在理論上讓我對it領(lǐng)域有了全新的認(rèn)識,在實踐能力上也得到了很大的提高,,真正的學(xué)到了學(xué)以致用,,更學(xué)到很多做人的道理,對我來說受益匪淺,。我意識到自己知識的缺少,,這激勵我在以后的學(xué)習(xí)、工作、生活中要不斷了解信息技術(shù)發(fā)展動態(tài)以及信息發(fā)展中出現(xiàn)的新的技術(shù),。
除此之外,,我還學(xué)到了如何與人相處,如何和人更好的交流,,我們組成一個團隊大家一起開發(fā)一個項目,,大家的交流溝通顯得尤為重要,如何將自己的想法清楚明白的告訴隊友,,如何提出自己想法的同時又不傷害其他的隊友的面子,,這些在我的實訓(xùn)生活中都有一些體會??墒钦f,,第一次親身體會理論與實際相結(jié)合,讓我大開眼界,。也是對以前學(xué)習(xí)的一個初審吧,,相信這次實訓(xùn)多我以后的學(xué)習(xí)、工作也將會有很大的影響,,在實訓(xùn)的這段時間里這些寶貴的經(jīng)驗將會成為我以后工作的基石,。
作為即將畢業(yè)走出校園的學(xué)生,經(jīng)過3年的在校學(xué)習(xí),,對程序設(shè)計有了一些基本的理性的認(rèn)識和理解,。在校期間一直忙于理論的學(xué)習(xí),沒有機會也沒有經(jīng)驗來參與我們項目的開發(fā),,所以在實習(xí)之前軟件按開發(fā)對我來說是非常抽象的,,一個完整的項目要怎么來分工以及完成該項目所需要的基本步驟也不明確,通過這次實訓(xùn)讓我明白一個完整項目的完成必須團隊分工合作,,并在每個階段進行必要的總結(jié)和檢查,。在我們項目的開發(fā)過程中我們項目的步驟:詳細(xì)設(shè)計、詳細(xì)設(shè)計review,、編碼,、編碼。在項目開發(fā)過程中我也深刻的體會到詳細(xì)設(shè)計對一個項目開發(fā)有明確的指引作用,,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有具體的認(rèn)識,,并能減少在開發(fā)過程中出現(xiàn)不必要的脫節(jié)。
這次實訓(xùn)是對我們學(xué)習(xí)的一個檢驗,,雖然項目中很多知識我們在日常的學(xué)習(xí)中都沒有遇到,這同時提醒我:要想成為一個合格的程序員就有具備一種自學(xué)能力,,在工作中會遇到很多從未接觸過的問題,,當(dāng)有了問題時要去解決,在你不斷努力,,尋找答案的過程中,,自己的能力也在潛移默化的提升,。有時遇到問題時可能有很多想法但卻不知道那個正確,這就讓我們不斷地去探索,,不斷地嘗試,。
在這次軟件工程課程中,我學(xué)到了很多東西,,第一次深刻的體會到了什么叫做用工程化的思想來編寫軟件,,以前自己也寫過一些小型軟件,沒有做過大型的項目,,直到這次課堂我擔(dān)任組長并組織組員共同完成“個人圖書管理系統(tǒng)”這個項目,,第一次和別人合作,才發(fā)現(xiàn)運用工程化的思想來做是如此的有必要,。
從這里,,我才真正的意識到實施一個軟件工程并不是說簡單的會編碼就能夠解決問題的,我們更多的精力不是放在編碼上,,編碼只是一個很小的模塊,,只占到那么小的一個部分。這個事實在很大程度上顛覆了我以前的思想,,在我以前的認(rèn)識中,,似乎整個軟件就是編碼,除此無它,,還好有老師的指導(dǎo),,不然真的會出現(xiàn)老師所說的,撞得頭破血流之后才想起來用軟件工程的思想來完成這個工作,。
剛真正開始工作之前,,我們費了很多的時間來完成一些前端工作,如需求分析和可行性分析,,這塊工作在別人看來可能是相對無關(guān)緊要,,甚至是多于的,其實,,換做在以前,,我也會這么認(rèn)為??墒?,我現(xiàn)在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,,太重要了,,要想你的軟件有用有市場,能被別人接受和認(rèn)可,在進行過程中不會出現(xiàn)崩潰性的問題,,這些工作缺一不可,。
還有就是接下來的一些設(shè)計模塊,此模塊與軟件編碼涉及比較緊密,,主要是解決一些參數(shù)傳遞和接口通訊的問題,,此模塊對我的觸動遠(yuǎn)沒有上兩個模塊對我的影響大,因此再次也不做過多的介紹,。
在整個活動的完成過程中,,作為組長,我收獲很多,,我發(fā)現(xiàn),,要是組里有個人不怎么想做事情時,他對于整個組織的影響是毀滅性的,,正所謂“一顆老鼠屎,,能壞一倉谷”,以后我的組織里要是出現(xiàn)這樣的人,,我絕不會給他繼續(xù)留下來的機會,,我會在第一時間將他清除出去。還有就是,,作為組長,,你要做的最重要的事情,不是發(fā)揮自己的聰明才智,,而是創(chuàng)造出一個平臺,,讓別人去發(fā)揮,你所要做得,,出了保證這個平臺的完整性和公平性外,,還有就是協(xié)調(diào)好各組員之間的關(guān)系。
軟件工程心得體會篇二
轉(zhuǎn)眼之間,,20xx年兩個月的實習(xí)期即將結(jié)束,,回顧這兩個月的實習(xí)工作,感觸很深,,頗豐,。這兩個月,在領(lǐng)導(dǎo)和同事們的悉心關(guān)懷和指導(dǎo)下,,通過我自身的不懈努力,,我學(xué)到了難得的工作經(jīng)驗和社會見識。我將從以下幾個方面總結(jié)計算機通信工作實習(xí)這段時間自己體會和心得:
在計算機通信崗位工作的實習(xí)過程中,,我始終把學(xué)習(xí)作為獲得新知識,、掌握方法,、提高能力,、解決問題的一條重要途徑和方法,,切實做到用理論武裝頭腦、指導(dǎo)實踐,、推動工作,。上積極進取,積極的把自己現(xiàn)有的知識用于中,,在實踐中也才能檢驗知識的有用性,。在這兩個月的實習(xí)工作中給我的感觸就是:我們在學(xué)到了很多的理論知識,但很少用于社會實踐中,,這樣理論和實踐就大大的脫節(jié)了,,以至于在以后的學(xué)習(xí)和生活中找不到方向,無法學(xué)以致用,。同時,,在工作中不斷的學(xué)習(xí)也是彌補自己的不足的有效方式。信息時代,,瞬息萬變,,社會在變化,人也在變化,,所以你一天不學(xué)習(xí),,你就會落伍。通過這兩個月的實習(xí),,并結(jié)合計算機通信崗位工作的實際情況,,認(rèn)真學(xué)習(xí)的計算機通信崗位工作各項政策制度、和工作條例,,使工作中的困難有了最有力地解決武器,。通過這些工作條例的學(xué)習(xí)使我進一步加深了對各項工作的理解,可以求真務(wù)實的各項工作,。
從大學(xué)校門跨入到計算機通信崗位工作崗位,,一開始我難以適應(yīng)角色的轉(zhuǎn)變,不能發(fā)現(xiàn)問題,,從而解決問題,,認(rèn)為沒有多少事情可以做,我就有一點失望,,開始的熱情有點消退,,完全找不到方向。但我還是盡量保持當(dāng)初的那份熱情,,想干有用的事的態(tài)度,,不斷的做好一些雜事,,同時也勇于協(xié)助同事做好各項工作,慢慢的就找到了自己的角色,,明白自己該干什么,,這就是一個熱情的問題,只要我保持極大的熱情,,相信自己一定會得到認(rèn)可,,沒有不會做,沒有做不好,,只有你愿不愿意做,。轉(zhuǎn)變自己的角色,從一位到一位工作人員的轉(zhuǎn)變,,不僅僅是角色的變化,,更是思想觀念的轉(zhuǎn)變。
在工作間能得到領(lǐng)導(dǎo)的充分信任,,并在按時完成上級分配給我的'各項工作的同時,,還能積極主動地協(xié)助其他同事處理一些內(nèi)務(wù)工作。的能力只有融入團隊,,才能實現(xiàn)的價值,。實習(xí)期的工作,讓我充分認(rèn)識到團隊精神的重要性,。
團隊的精髓是共同進步,。沒有共同進步,相互合作,,團隊如同一盤散沙,。相互合作,團隊就會齊心協(xié)力,,成為一個強有力的集體,。很多人經(jīng)常把團隊和工作團體混為一談,其實兩者之間存在本質(zhì)上的區(qū)別,。優(yōu)秀的工作團體與團隊一樣,,具有能夠一起分享信息、觀點和,,共同決策以幫助每個成員能夠更好地工作,,同時強化個人工作標(biāo)準(zhǔn)的特點。但工作團體主要是把工作目標(biāo)分解到個人,,其本質(zhì)上是注重個人目標(biāo)和責(zé)任,,工作團體目標(biāo)只是個人目標(biāo)的簡單總和,工作團體的成員不會為超出自己義務(wù)范圍的結(jié)果負(fù)責(zé),,也不會嘗試那種因為多名成員共同工作而帶來的增值效應(yīng),。
幾個月來,,我雖然努力做了一些工作,但距離領(lǐng)導(dǎo)的要求還有不小差距,,如理論水平,、工作能力上還有待進一步提高,對計算機通信崗位工作崗位還不夠熟悉等等,,這些問題,,我決心在今后的工作和學(xué)習(xí)中努力加以改進和解決,使自己更好地做好本職工作,。
針對實習(xí)期工作存在的不足和問題,在以后的工作中我打算做好以下幾點,。
1.做好實習(xí)期,,繼續(xù)加強對計算機通信崗位工作崗位各種制度和業(yè)務(wù)的學(xué)習(xí),做到全面深入的了解各種制度和業(yè)務(wù),。
2.以實踐帶學(xué)習(xí)全方位提高自己的工作能力,。在注重學(xué)習(xí)的同時狠抓實踐,在實踐中利用所學(xué)知識用知識指導(dǎo)實踐全方位的提高自己的工作能力和工作水平,。
3.踏實做好本職工作,。在以后的工作和學(xué)習(xí)中,我將以更加積極的工作態(tài)度更加熱情的工作作風(fēng)把自己的本職工作做好,。在工作中任勞任怨力爭“沒有只有更好”,。
出自 sevw.cn
4.繼續(xù)在做好本職工作的同時,為單位做一些力所能及的工作,,為單位做出自己應(yīng)有的貢獻,。
軟件工程心得體會篇三
15天的實訓(xùn)結(jié)束了,今天做的是紙牌游戲軟件和趣味打字游戲,。今天的東西對我來說有點難度,,最后沒有能過完全做完。但是我還是覺得這是一個不錯的實訓(xùn),,在這種集體的環(huán)境里和同學(xué)們一起學(xué)習(xí),,每天的生活過的也是非常的充實。
此次實踐課我的收獲很多,。我和同學(xué)們這一次真正自己動手制作了一個小軟件,,雖然還存在很多的問題,而且我做的軟件在使用起來還是很不可行的,,但是我們從中受到了很多知識,,不僅是專業(yè)的知識,更讓我明白了一個軟件從設(shè)計到實現(xiàn)的每一個環(huán)節(jié)真的很不容易,,不僅需要扎實的專業(yè)知識,,更需要一個團隊的配合,,這才是一個軟件成功的關(guān)鍵。這就告訴我們,,一個人的出色不算什么,,一個團隊的出色才是真正有用的。
剛開始拿到題目我們組員都不知如何下手,,經(jīng)過小組成員一起查找資料,,并且開會討論,我們確定了設(shè)計的設(shè)計目標(biāo)以及具體實現(xiàn)方式,,包括如何將java的思想運用到實際系統(tǒng)的詳細(xì)設(shè)計之中,。
在實驗課上,我學(xué)會了很多學(xué)習(xí)的方法,。而這是日后最實用的,。要面對社會的挑戰(zhàn),只有不斷的學(xué)習(xí),、實踐,,再學(xué)習(xí)、再實踐,。這對于我的將來也有很大的幫助,。以后,不管有多苦,,我想我都能變苦為樂,,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情,。就像中國提倡的艱苦奮斗一樣,,我都可以在實驗結(jié)束之后變的更加成熟,會面對需要面對的事情,,以及學(xué)會遇到問題,,不急不慌,慢慢解決它,。
雖然過程辛苦是不可避免,,但收獲還是令人感到尤其的欣慰。在這次的軟件設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,,也培養(yǎng)了我的實踐能力,,讓我知道遇到一個問題,如何去尋找思路,,如何去解決問題,,最終完成整個事情。在設(shè)計過程中,,與同學(xué)分工設(shè)計,,和同學(xué)們相互探討,,相互學(xué)習(xí),相互監(jiān)督,。學(xué)會了合作,,學(xué)會了寬容,學(xué)會了理解,,也學(xué)會了做人與處世,。課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓(xùn)練,是我們邁向社會,,從事職業(yè)工作前一個必不少的過程,。實驗過程中,也十分感謝實驗指導(dǎo)老師陳中育老師的指點與教導(dǎo),。這次軟件設(shè)計不僅是對這學(xué)期所學(xué)知識的一種綜合檢驗,,而且也是對自己動手能力的一種提高,增強了自己實踐能力,。通過這次課程設(shè)計使我明白了自己知識還比較欠缺,只是學(xué)習(xí)書本知識還是遠(yuǎn)遠(yuǎn)不夠的,,自己不會的東西還有太多,,學(xué)習(xí)需要自己長期的積累,在以后的學(xué)習(xí),、工作中都應(yīng)該不斷的學(xué)習(xí),,將課本的理論知識與生活中的實踐知識相結(jié)合,不斷提高自己文化知識和實踐能力,。
軟件工程心得體會篇四
學(xué)習(xí)了這門課程,還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合,。整一個學(xué)期下來,總的來說還是學(xué)到了很多東西的,,有很多地方是值得肯定的,,其實在我看來,軟件工程與其說是一門課程,,不如說是一門思想,。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠(yuǎn)遠(yuǎn)不止局限于該門課程,,成為了一個綜合的一個能夠解決問題的思想集合,。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,,以及養(yǎng)成良好的編碼習(xí)慣,,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo),、過程和原那么:軟件工程目標(biāo):生產(chǎn)具有正確性,、可用性以及開銷合宜的產(chǎn)品,。正確性指軟件產(chǎn)品到達預(yù)期功能的程度。
可用性指軟件根本構(gòu)造,、實現(xiàn)及文檔為用戶可用的程度,。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度,。這些目標(biāo)的實現(xiàn)不管在理論上還是在實踐中均存在很多待解決的問題,,它們形成了對過程、過程模型及工程方法選取的約束,。
軟件工程過程:生產(chǎn)一個最終能滿足需求且到達工程目標(biāo)的軟件產(chǎn)品所需要的步驟,。軟件工程過程主要包括開發(fā)過程、運作過程,、維護過程,。它們覆蓋了需求、設(shè)計,、實現(xiàn),、確認(rèn)以及維護等活動。需求活動包括問題分析和需求分析,。問題分析獲取需求定義,,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約,。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計,。概要設(shè)計建立整個軟件系統(tǒng)構(gòu)造,包括子系統(tǒng),、模塊以及相關(guān)層次的說明,、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,,包括每一模塊中數(shù)據(jù)構(gòu)造說明及加工描述,。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,,實現(xiàn)完成后確實認(rèn),,保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充,、修改與完善,。伴隨以上過程,還有管理過程,、支持過程,、培訓(xùn)過程等。軟件工程的原那么是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原那么,。
pad圖:它是用構(gòu)造化程序設(shè)計思想表現(xiàn)程序邏輯構(gòu)造的圖形工具,。pad也設(shè)置了五種根本控制構(gòu)造的圖示,并允許遞歸使用,。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成,。它是美國ibm公司在軟件設(shè)計中使用的主要表達工具。hc圖既是層次圖,,用于表示軟件的分層構(gòu)造,。hc圖中的每一個模塊,均可用一張ipo圖來描述,。ipo圖由輸入,、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,,這種圖形的優(yōu)點,,是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,,有靜態(tài)分析與動態(tài)測試,。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術(shù):不執(zhí)行被測軟件,,可對需求分析說明書,、軟件設(shè)計說明書、源程序做構(gòu)造檢查,、流程分析、符號執(zhí)行來找出軟件錯誤,。動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),,輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,,函數(shù)那么描述了輸入的定義域與輸出值域的關(guān)系,。還學(xué)習(xí)了其他很多工具、語言,、方法等,,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的,。
軟件工程對于初學(xué)者來說,,知識根底較薄弱,對一些應(yīng)用操作,、概念,、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,,更要多思考,,面對錯誤不要一范就問,要嘗試自己去解決,。但是還要注意什么都學(xué),,肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),,學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)終究是什么,,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進展提軟件工程對于初學(xué)者來說,,知識根底較薄弱,,對一些應(yīng)用操作、概念,、工具方法等理解起來較為困難,,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,,更要多思考,,面對錯誤不要一范就問,要嘗試自己去解決,。但是還要注意什么都學(xué),,肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),,學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)終究是什么,,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進展提高,,制定出詳細(xì)的學(xué)習(xí)規(guī)劃,。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進展研究拓展;在學(xué)習(xí)語言時,,要看看與c語言的聯(lián)系,,多思多想,把從各個科目學(xué)到的知識通匯貫穿,。
在軟件工程的學(xué)習(xí)中,,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,,而后期的管理和維護更是占了60%到80%之多,。一個完整的工程規(guī)劃須包括,軟件的定義,,可行性分析報告,,工程開發(fā)方案,軟件需求說明書,,概要設(shè)計說明書,,詳細(xì)設(shè)計說明書,用戶操作手冊,,測試方案,,測試分析報告,開發(fā)進度報告,,工程開發(fā)總結(jié)報告,,軟件維護手冊,軟件問題報告,,軟件修改報告,,等多個文檔,每個文檔都要上級驗收審查,,而文檔數(shù)量眾多,,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,,既研究如何用最小的開銷做出生存期較長的軟件,,再加上各個階段都要進展周密的籌劃、詳細(xì)的分工部署和人員安排,,且各階段要據(jù)詳細(xì)情況不斷的反復(fù)才能達成,,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學(xué)習(xí)中,,我更了解到形成自己獨特的標(biāo)準(zhǔn)的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護,,大家都要閱讀你的程序,,如果你寫的程序毫無標(biāo)準(zhǔn)可言,那么別人怎么能讀懂你的程序讀不懂程序,,維護又從何談起呢所以,,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),,在寫程序的過程中,,要逐步的在標(biāo)準(zhǔn)的根底上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀,。
在學(xué)習(xí)中,,我們還要注意比擬三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了和無序,,但其在適應(yīng)需求變化的方面不夠靈活,,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),,缺乏兩者的有機結(jié)合,。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型,、復(fù)雜及交互性比擬強的系統(tǒng),。形式化方法那么是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序,。在今后的學(xué)習(xí)中要注意多讀書,、多思考、多練習(xí),、多討論,,不斷熟悉書本的根底,并以此為根底將其擴散開來,,應(yīng)用于今后的實踐,。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進,。
這次軟件工程實訓(xùn)是從20xx.12.26號開始的,,截至20xx.12.31號。實訓(xùn)內(nèi)容是用java相關(guān)知識(主要是jsp)做一個物流配送系統(tǒng),。下面談?wù)剬@次實訓(xùn)的看法,。
因為自己平時對java知識儲藏缺乏,特別是jsp這一塊根本不了解怎么回事,,所以一拿到這個工程,,我心里都是沒有底的,再加上我被分到的那個組,,我知道就意味著是我一個人在戰(zhàn)斗了,。呵呵,26號,,實訓(xùn)開始了,,我們的老師是中軟國際公司的程序員,一個是周褀,,一個是朱映,,都是一身樸素的著裝,,讓我感覺做軟件的也沒什么兩樣。老師介紹了自己之后,,就直接切入正題了,,分析了下我們各個組的系統(tǒng),即將用到的知識,,然后就總體把覺得需要補充的知識(jsp和數(shù)據(jù)庫連接等這幾塊)給我們實際操作了下,,因為當(dāng)時看到用jsp,還講的那么認(rèn)真,,當(dāng)時我就懊悔了,,平時要是多聽點,現(xiàn)在老師這么認(rèn)真的給我們講,,這是一個多么難得的時機啊,。懊悔也沒用啊,開始還勉強能理解一點,,后來就直接暈了,。然后再給大家介紹了一些即將用到的'工具,比方rationalrose,,svn,,myeclipse等等。接下來的幾天就不再細(xì)講了,。下面談?wù)勍ㄟ^這次實訓(xùn)的心得體會吧,。
通過這次實訓(xùn),讓我了解到工程開發(fā)的過程,,可行性分析——需求分析——概要設(shè)計——詳細(xì)設(shè)計——代碼編寫——測試——驗收,。從技術(shù)方面上,我開始jsp根底根本上就是零的,,在老師和syz2(另外一個物流小組,,我一個人根本上是跟她們做的,或者說是看著她們做的)的幫助下,,對jsp有了一個大概的認(rèn)識,。其實實訓(xùn)開始前,我還以為做個系統(tǒng)沒什么大不了,,可是當(dāng)真正拿到一個工程,,我卻真的無從下手了,而且就是在知道需求分析和詳細(xì)設(shè)計,,在代碼編寫時,一樣寸步難行,。通過這個實訓(xùn),,也讓我了解到,,團隊協(xié)作是多么的重要。一個人的精力是多么的有限,。進一步理解到,,企業(yè)為什么如此重視團隊協(xié)作。同時借用老師的話就是團隊協(xié)作固然重要,,但是是建立在個人素質(zhì)的根底上,,假設(shè)你個人素質(zhì)不行,將會影響到整個團隊,,就別提對團隊作更多奉獻了,。**老師說這幾句話的時候,朝向了我,,估計是有特殊意義的吧,,所以,我將謹(jǐn)記老師的教誨,。
還有一個收獲是從一個同學(xué)(小胖)那里得到的,,他的那組成員跟我的這組大體一樣,我倒是覺得沒什么了,,不過他倒是很重視這個問題吧,。然后他說出來,我也覺得這個問題確實其實是個大的問題,。就是不管你會不會這門技術(shù),,會不會做這個東西,態(tài)度要正確才好,,就算你不會做,,你也應(yīng)該認(rèn)真的對待,將來出身到社會,,就不是說像你現(xiàn)在,,不會做就不做,跑去玩游戲了,。小胖說出了這段話,,也在我身上有了一個印證,雖然我jsp技術(shù)知識為0,,但我也還是在認(rèn)真的跟著他們一起做,,不會做,就多問,,畢竟現(xiàn)在我們是學(xué)生,,可以毫不顧忌的詢問各種問題,老師也會盡力為你答復(fù),。將來出身社會就不一樣了,。雖然,,我就算個打醬油的水平,但是這個醬油也要打得有涵量啊,。不管怎么樣,,我能對自己有個交待,雖然我不會,,但是這次實訓(xùn)我確實是認(rèn)真對待了,,六天的實訓(xùn),除了晚上加班外,,還花了2個通宵來完成不同階段的任務(wù),,完成與否也不重要了,我至少我做了,,這點,,是這次我應(yīng)該對自己的一個肯定。
這次實訓(xùn)的心得根本上就是這些了,,最后特別感謝中軟國際帶我們的那兩個老師(周褀,,朱映),這兩個老師對待我們很平易近人,,對我們提出的問題,,總是不光解決了,還進展了擴展,,晚上也跟我們一起加班加到很晚,,印象尤其深刻就是朱映老師為了給小胖解決一個問題,臉都變紅了,,還在繼續(xù)努力,,這點我并不會覺得老師知識儲藏不夠,我想應(yīng)該是這個問題的突發(fā)吧,,一時沒想到怎么處理,。相反讓我感覺更多的就是老師很認(rèn)真,很負(fù)責(zé),。還要感謝就是syz2小組的傾力支持,,輔導(dǎo)。
時間過的很快,,轉(zhuǎn)眼間已經(jīng)實習(xí)將近5個月,,其中有2個月是屬于完全被流放的。
最先在內(nèi)部系統(tǒng)組參與內(nèi)部管理系統(tǒng)開發(fā),。
(struts+mysql+spring+hibernate),,之后是去做網(wǎng)絡(luò)交換機軟件的腳本測試。現(xiàn)在又回歸內(nèi)部系統(tǒng),,雖然在腳本組期間,,編碼能力被別人甩在后頭,,但至少具有了一些測試經(jīng)歷。至少自己做的東西,,是真正交付到了客戶手上,到也稍微有些成就感,。
1,、淺談測試。
一直以來,,我都認(rèn)為測試是脫離了軟件工程范圍的工作,,不以為屑。但在實際情況中,,測試是既重要且難以精湛的其真正的壓力,,在于找不到bug,責(zé)任在你,,而不在于編碼人員,。一般的測試人員不懂編碼,他們靠的是日以累計的經(jīng)歷總結(jié)和想象力,。而要做到高級測試工程師,,那么一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面詳細(xì)運作的前提,。但占主導(dǎo)地位的,,還是大型系統(tǒng)的集成測試經(jīng)歷。實際工程中,,編碼時間一般只占30%左右,,真正消耗時間的是it階段的找bug與對應(yīng)bug,此階段根本評定了coder的編碼質(zhì)量,。
2,、程序員的困惑。
有位同事告訴我:代碼看幾遍都沒用,,要去抄,,例如一個查詢模塊,在此根底上去做詳細(xì)記錄的歷史記錄查詢模塊,,你可能會覺得很簡單,,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,,以及數(shù)據(jù)庫字段,,傳值問題等等,一大堆對于新人來說很郁悶的問題,。但不用怕,,只要學(xué)會調(diào)試,,一個個問題去追蹤,一個個去解決,,自然而然,,那段“源碼”才真正屬于你。
3,、如何調(diào)試追蹤,。
如果你能在短短的時間內(nèi)就看到問題點在那,放下斷點去追蹤,,出去找工作,,絕對沒問題。出現(xiàn)問題的時候,,不要光看代碼,,要用實際行動去追蹤運行期間的詳細(xì)值,那是最好途徑,。eclipse是個很爽的ide,,這點做的很好。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),,我們要先從數(shù)據(jù)庫查詢語句去下手,,設(shè)置斷點,一步一步stepover,,讓sql字段(存取最終sql語句的字符串)運行到有值,,inspect進去看,如果還看不出來,,就點擊它,,copy后在sql客戶端去實際運行,看看實際查詢出來的表是什么,,如果是對的,,有可能就是頁面調(diào)用的錯誤或者action邏輯的傳值問題。
遇到問題先自己思考,,無從下手再找高手幫助看看,,注意他幫你看的思路,別在一旁閑著,,看多了自己也會了,,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠(yuǎn)遠(yuǎn)比書多的多,。
解決了一個問題后,,要去究根問底去找到問題產(chǎn)生的起因,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,,注釋,、空行、標(biāo)準(zhǔn)一樣不能少,,可讀性是放在第一位,。曾經(jīng)看過一個高手寫的代碼,真的一看就是不同水平的人寫的,,幾乎很完美,,讀起來很流暢,方便自己也方便別人,。任務(wù)完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),,只要你肯去嘗試,,他們就會對你另言相看,把三天的任務(wù)一天加班搞定,,效率和忠誠都有了,,路也比擬好走了。
在這次軟件工程課程中,,我學(xué)到了很多東西,,第一次深刻的體會到了什么叫做用工程化的思想來編寫軟件,以前自己也寫過一些小型軟件,,沒有做過大型的工程,,直到這次課堂我擔(dān)任組長并組織組員共同完成“個人圖書管理系統(tǒng)”這個工程,第一次和別人合作,,才發(fā)現(xiàn)運用工程化的思想來做是如此的有必要,。
從這里,我才真正的意識到實施一個軟件工程并不是說簡單的會編碼就能夠解決問題的,,我們更多的精力不是放在編碼上,,編碼只是一個很小的模塊,只占到那么小的一個局部,。這個事實在很大程度上顛覆了我以前的思想,,在我以前的認(rèn)識中,似乎整個軟件就是編碼,,除此無它,,還好有老師的指導(dǎo),不然真的會出現(xiàn)老師所說的,,撞得頭破血流之后才想起來用軟件工程的思想來完成這個工作,。
剛真正開始工作之前,我們費了很多的時間來完成一些前端工作,如需求分析和可行性分析,,這塊工作在別人看來可能是相對無關(guān)緊要,,甚至是多于的,其實,,換做在以前,,我也會這么認(rèn)為??墒?,我現(xiàn)在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,,太重要了,,要想你的軟件有用有市場,能被別人承受和認(rèn)可,,在進展過程中不會出現(xiàn)崩潰性的問題,,這些工作缺一不可。
還有就是接下來的一些設(shè)計模塊,,此模塊與軟件編碼涉及比擬嚴(yán)密,,主要是解決一些參數(shù)傳遞和接口通訊的問題,此模塊對我的觸動遠(yuǎn)沒有上兩個模塊對我的影響大,,因此再次也不做過多的介紹,。在整個活動的完成過程中,作為組長,,我收獲很多,,我發(fā)現(xiàn),要是組里有個人不怎么想做事情時,,他對于整個組織的影響是消滅性的,,正所謂“一顆老鼠屎,能壞一倉谷”,,以后我的組織里要是出現(xiàn)這樣的人,,我絕不會給他繼續(xù)留下來的時機,我會在第一時間將他去除出去,。還有就是,,作為組長,你要做的最重要的事情,,不是發(fā)揮自己的聰明才智,,而是創(chuàng)造出一個平臺,讓別人去發(fā)揮,,你所要做得,,出了保證這個平臺的完整性和公平性外,,還有就是協(xié)調(diào)好各組員之間的關(guān)系。
轉(zhuǎn)眼,,出來社會都已大半年,,已是半個社會人了。不能再向?qū)W生那樣,,某些時候可以隨心隨意,。頂崗實習(xí),為我們提供了一個很好的實踐時機,,可以讓我們更好的把理論應(yīng)用于實踐,,在實踐中領(lǐng)悟理論,更可以學(xué)習(xí)到很多書本上學(xué)習(xí)不到的,、甚至比理論知識更實用的業(yè)務(wù)知識,。而且,這些實習(xí)經(jīng)歷,,無疑是我們畢業(yè)后就業(yè)的一大籌碼,。作為一個成年人,作為一個社會職業(yè)人,,任何時候都要守規(guī)矩,做好自己的本分,,承當(dāng)起自己所需要承當(dāng)?shù)呢?zé)任,。經(jīng)歷了2家公司的工作,我漸漸的認(rèn)識到,,每一份工作或每一個工作環(huán)境都無法盡善盡美,,但每一份工作中都有許多珍貴的經(jīng)歷和資源,如失敗的沮喪,、自我成長的喜悅,、溫馨的工作伙伴、值得感謝的客戶等等,,這些都是工作成功者必須體驗的感受和必備的財富,。如果每天懷著感恩的心情去工作,在工作中始終牢記“擁有一份工作,,就要懂得感恩”的道理,,你一定會收獲很多很多。在你收獲很多很多的同時,,你會發(fā)現(xiàn)自己已經(jīng)在鍛煉中變得勇敢,,堅強,樂觀,,闊達,。這樣的你,是不斷前進的走在成功的路上的。
軟件工程心得體會篇五
需求獲取可能是最困難,、最關(guān)鍵,、最易出錯及最需要溝通交流的活動。對需求的獲取往往有錯誤的認(rèn)識:用戶知道需求是什么,,我們所要做的就是和他們交談從他們那里得到需求,,只要問用戶系統(tǒng)的目標(biāo)特征,什么是要完成的`,,什么樣的系統(tǒng)能適合商業(yè)需要就可以了,,但是實際上需求獲取并不是想象的這樣簡單,這條溝通之路布滿了荊棘,。首先需求獲取要定義問題范圍,,系統(tǒng)的邊界往往是很難明確的,用戶不了解技術(shù)實現(xiàn)的細(xì)節(jié),,這樣造成了系統(tǒng)目標(biāo)的混淆,。
其次是對問題的理解,用戶對計算機系統(tǒng)的能力和限制缺乏了解,,任何一個系統(tǒng)都會有很多的用戶或者不同類型的用戶,,每個用戶只知道自己需要的系統(tǒng),而不知道系統(tǒng)的整體情況,,他們不知道系統(tǒng)作為一個整體怎么樣工作效率更好,,也不太清楚那些工作可以交給軟件完成,他們不清楚需求是什么,,或者說如何以一種精確的方式來描述需求,,他們需要開發(fā)人員的協(xié)助和指導(dǎo),但是用戶與開發(fā)人員之間的交流很容易出現(xiàn)障礙,,忽略了那些被認(rèn)為是"很明顯"的信息,。最后是需求的確認(rèn),因為需求的不穩(wěn)定性往往隨著時間的推移產(chǎn)生變動,,使之難以確認(rèn),。為了克服以上的問題,必須有組織的執(zhí)行需求的獲取活動,。
需求獲取活動要完成的任務(wù)或者步驟的過程如下:
系統(tǒng)的需求包括四個不同的層次:業(yè)務(wù)需求,、用戶需求和功能需求、非功能性需求,。業(yè)務(wù)需求說明了提供給用戶新系統(tǒng)的最初利益,反映了組織機構(gòu)或用戶對系統(tǒng),、產(chǎn)品高層次的目標(biāo)要求,它們在項目視圖與范圍文檔中予以說明,。用戶需求文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù),,這在使用實例文檔或方案腳本說明中予以說明,。功能需求定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),,從而滿足了業(yè)務(wù)需求,。
非功能性需求是用戶對系統(tǒng)良好運作提出的期望,包括了易用性,、反應(yīng)速度,、容錯性、健壯性等等質(zhì)量屬性,。需求獲取就是根據(jù)系統(tǒng)業(yè)務(wù)需求去獲得系統(tǒng)用戶需求,,然后通過需求分析得到系統(tǒng)的功能需求和非功能需求。項目視圖和范圍文檔就是從高層次上描述系統(tǒng)的業(yè)務(wù)需求,,應(yīng)該包括高層的產(chǎn)品業(yè)務(wù)目標(biāo),,評估問題解決方案的商業(yè)和技術(shù)可行性,所有的使用實例和功能需求都必須遵從的標(biāo)準(zhǔn)。而范圍文檔定義了項目產(chǎn)品所包括的所有工作及產(chǎn)生產(chǎn)品所用的過程,。項目相關(guān)人員對項目的目標(biāo)和范圍能達成共識,整個項目組都應(yīng)該把注意力集中在項目目標(biāo)和范圍上,。
系統(tǒng)用戶在很多方面存在著差異,例如:使用系統(tǒng)的頻度和程度,、應(yīng)用領(lǐng)域和計算機系統(tǒng)知識,、所使用的系統(tǒng)特性、所進行的業(yè)務(wù)過程,、訪問權(quán)限,、地理上的布局以及個人的素質(zhì)和喜好等等。根據(jù)這些差異,,你可以把這些不同的用戶分成不同的用戶類。與ulm中usecase的actor概念一樣,,用戶類不一定都指人,,也可以包括其他應(yīng)用系統(tǒng)、接口或者硬件,,這樣做使得與系統(tǒng)邊界外的接口也成為系統(tǒng)需求,。將用戶群分類并歸納各自特點,并詳細(xì)描述出它們的個性特點及任務(wù)狀況,,將有助于需求的獲取和系統(tǒng)設(shè)計,。
通常用戶和開發(fā)人員不自覺的都有一種"我們和他們"的想法,產(chǎn)生一種對立關(guān)系,,把彼此放在對立面,,每一方都定義自己的"邊界",只想自己的利益而忽略對方的想法,。他們通過文檔,、記錄和對話來溝通,,而不是作為一個合作的整體去識別和確定需求完成任務(wù)。實踐證明這樣的方法是不正確的,,不會給雙方帶來一點益處,良好的溝通關(guān)系沒有建立導(dǎo)致了誤解和忽略重要的信息,。只有當(dāng)雙方參與者都明白要成功自己需要什么,同時也知道要成功對方需要什么時,,才能建立起一種合作關(guān)系,。
為了建立合作關(guān)系通常采取一種組隊的方式來獲取需求,建立一個由用戶代表和開發(fā)人員組成的聯(lián)合小組作為需求獲取的核心隊伍,。聯(lián)合小組將負(fù)責(zé)識別需求,、分析解決方案和協(xié)商分歧,小組成員可以采用會議,、電子郵件,、綜合辦公系統(tǒng)等方式進行交流,但交流時應(yīng)注意以下原則:小組會議應(yīng)該由中立方來組織和主持,,用戶和開發(fā)人員都要參加;交流預(yù)先要確定準(zhǔn)備和參與的規(guī)則;議題要明確并覆蓋所有關(guān)鍵點,,但信息來源應(yīng)該自由;交流目標(biāo)要明確,并告知所有的成員,。
從用戶代表處收集他們將使用系統(tǒng)完成所需任務(wù)的描述,,討論用戶與系統(tǒng)間的交互方式和對話要求,這就是使用實例,,一個單一的使用實例可能包括完成某項任務(wù)的許多邏輯相關(guān)任務(wù)和交互順序,。使用實例方法給需求獲取帶來的好處來自于該方法是用以任務(wù)為中心和以用戶為中心的觀點,比起使用以功能為中心和以開發(fā)者為中心的方法,,使用實例方法可以使用戶更清楚地理解和認(rèn)識到新系統(tǒng)允許他們做什么和怎么做,。描寫使用實例的時候要注意使用簡潔直白的表述,盡量使用主動語態(tài),,用"系統(tǒng)"或者"用戶"作為主語,,比如"用戶提交用戶密碼,系統(tǒng)驗證用戶密碼是否正確",,還有一點在描述中不要設(shè)計界面細(xì)節(jié),,比如"用戶從下拉框中選擇產(chǎn)品類型"。使用實例為以后寫用例場景描述中的基本路徑和擴展路徑提供了素材,。
分析用戶工作流程觀察用戶執(zhí)行業(yè)務(wù)任務(wù)的過程,,通過分析使用實例得到系統(tǒng)的用例圖。編制用例圖文檔將有助于明確系統(tǒng)的使用實例和功能需求,,統(tǒng)一建模語言的使用有助于與用戶進一步交流,。每個用例的描述應(yīng)包括:編號,為每個用例分配一個唯一的編號,為需求的追溯提供了方便;參與者,,與這個用例交互的actor;前置條件,,開始用例前所必須具備的系統(tǒng)狀態(tài);后置條件,用例完成后系統(tǒng)達到的狀態(tài);基本路徑,,用例完成的關(guān)鍵路徑,,也是用戶期望的路徑;擴展點,基本路徑的分枝,,表示意外情況;字段說明,路徑中名稱的進一步分解說明,,對以后類屬性的定義和數(shù)據(jù)庫字段設(shè)計起作用;設(shè)計約束,實現(xiàn)用例的非功能約束,。
通過檢查當(dāng)前已經(jīng)運行系統(tǒng)的問題報告來進一步完善需求客戶的問題報告及補充需求為新系統(tǒng)或新版本提供了大量豐富的改進及增加特性的想法,,負(fù)責(zé)提供用戶支持及幫助的人能為收集需求過程提供極有價值的信息。
如果客戶要求的功能與已有的系統(tǒng)很相似,,則可查看需求是否有足夠的靈活性以允許重用一些已有的軟件組件。業(yè)務(wù)建模和領(lǐng)域建模式需求重用的最好方法,,像分析模式和設(shè)計模式一樣,,需求也有自己的模式。
總結(jié):經(jīng)過一學(xué)期的軟工實驗,,深刻感到其重要性的同時也學(xué)到了不少的東西,將對我在今后的軟件開發(fā)過程中起極大的作用,。
軟件工程心得體會篇六
實習(xí)的開始幾天主要是對公司工作流程和員工工作習(xí)慣的了解和適應(yīng),,對自己作出調(diào)整,使自己盡快進入工作狀態(tài),。
接下來幾天,,主要是對自己將要面臨和接受的工作的接觸了解,,思考如何將自己所學(xué)的知識運用到工作中去,。
中間的幾天主要是進行有關(guān)項目中幾個小功能模塊的學(xué)習(xí)和實現(xiàn),簡單的對自己的工作有一個體會,。
最后的幾天主要就是真正的參與到工作中去,,通過自己的實際動手去做項目,對分配到的任務(wù)的完成及其中遇到困難的解決,,發(fā)現(xiàn)自己的不足,,鍛煉自己的能力,。
1.1公司概況。
xxxx軟件有限公司成立于20xx年1月,,公司以軟件產(chǎn)品開發(fā),、軟件項目實習(xí)培訓(xùn)為主要目標(biāo),公司以先進的技術(shù)開發(fā)體系為基礎(chǔ),,已經(jīng)成功地開發(fā)了多個軟件產(chǎn)品和軟件項目,。公司自成立以來發(fā)展迅速,已獲取軟件高新技術(shù)企業(yè)認(rèn)證,,正在進行iso-9002體系認(rèn)證,,以市場為先導(dǎo)、研發(fā)為后盾,、服務(wù)為宗旨,,全面服務(wù)于我國的軟件事業(yè)。
公司愿景:使xx成為社會認(rèn)可和尊敬的優(yōu)秀軟件公司,。
公司核心價值觀:團隊合作,、不斷創(chuàng)新、社會責(zé)任感,、客戶為本,、誠實正直。
公司使命:在公司軟件產(chǎn)品及軟件服務(wù)的幫助下,,讓人們愉快工作,、快樂生活。xx對品質(zhì)有著執(zhí)著的追求,,但是高品質(zhì)的設(shè)計并不意味著高成本,,我們有著長期為知名客戶服務(wù)的經(jīng)驗,應(yīng)用國際通用的標(biāo)準(zhǔn)化建模體系等先進技術(shù),,建立了完善的質(zhì)量控制流程,,因此,我們能夠在高品質(zhì)的基礎(chǔ)上,,保持富有競爭力的`低報價,。
xx具有優(yōu)秀的技術(shù)實力:在大型數(shù)據(jù)庫oracle、db2,、,、xml、webservices,、internet/intranet,、java、php,、c#,、c應(yīng)用等方面擁有的技術(shù);在web應(yīng)用程序,、辦公自動化、商業(yè)智能,、電子商務(wù),、電子政務(wù)、企業(yè)資源管理,、知識管理,、商業(yè)網(wǎng)站、手機應(yīng)用,、游戲和多媒體電子出版等方面具有豐富的開發(fā)實施經(jīng)驗,。這些技術(shù)和實施經(jīng)驗是倬威達的客戶獲得高性能、低成本的產(chǎn)品和服務(wù)的重要保證,。
xx秉承以人為本的管理理念人性化管理,,并強調(diào)規(guī)范的開發(fā)流程,以及業(yè)內(nèi)的開發(fā)技術(shù),,為員工的發(fā)展提供充分的發(fā)展和上升空間,。穩(wěn)定且高素質(zhì)的團隊,是我們提供優(yōu)質(zhì)軟件和服務(wù)的基礎(chǔ),。
在二十一世紀(jì),,xx軟件公司將進一步發(fā)展壯大,未來五年內(nèi),,xx將實施戰(zhàn)略性結(jié)構(gòu)調(diào)整,,瞄準(zhǔn)國內(nèi)外一流軟件公司,使之成為較有影響的軟件公司,。
軟件工程心得體會篇七
學(xué)習(xí)軟件工程一個學(xué)期以來,,我在陳燁老師的教導(dǎo)下確實獲益匪淺。軟件工程這門課,,讓我對軟件的認(rèn)識有了大大的提升,,從一開始對軟件工程的一無所知,到現(xiàn)在一學(xué)期下來的不斷學(xué)習(xí),,懂得了許多的知識,。
軟件不僅僅是程序,而是思想在硬件上的載體和體現(xiàn),,軟件工程與其說是一門課程,,不如說是一門思想。讓我懂得如何去分析和處理問題的過程,,綜合解決問題,。
在這段時間的學(xué)習(xí)中,,我明白了一個完整的項目規(guī)劃須包括,,軟件的定義,,可行性分析報告,項目開發(fā)計劃,,軟件需求說明書,,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,,用戶操作手冊,,測試計劃,測試分析報告等多個文檔,,而軟件的生存周期可分為八個階段,,分別是問題定義,可行性研究,,需求分析,,概要設(shè)計,詳細(xì)設(shè)計,,程序設(shè)計,,測試,文檔,,技術(shù)支持,,售后服務(wù)。而可行性包括經(jīng)濟,,技術(shù),,法律和社會。了解了許多軟件開發(fā)模型,,比如瀑布模型,,增量模型和螺旋模型,也了解了uml對象面向?qū)ο蠼?,知道如何畫流圖,,碩果累累。其實軟件和程序是兩個不同的概念,,軟件除了程序還要有使用和維護該程序所需要的全部文檔,。包括需求文檔、設(shè)計文檔,、測試文檔,、維護文檔以及使用手冊。
軟件工程對于初學(xué)者來說,,知識基礎(chǔ)較薄弱,,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,,需要很好的基礎(chǔ)知識的理解和掌握,,所以說學(xué)好軟件工程不是僅僅書多看幾遍就可以成功,而是要多注意結(jié)合實際,,多思考,,面對錯誤不要一范就問,要嘗試自己去解決,,然后舉一反三,。
軟件工程這門課在我們畢業(yè)之后,是我們實際要運用的一項非常有用的技能,,這門課讓我意識到理論學(xué)習(xí)很重要,,而實踐更重要,實踐是檢驗真理的唯一標(biāo)準(zhǔn),,只有實踐和理論相結(jié)合,,才能使效益最大化。軟件工程的課雖然快要結(jié)束了,,但是我對軟件工程的學(xué)習(xí)才剛剛開始,,有了這些基本知識做鋪墊,在以后做項目的時候?qū)墙鉀Q問題的有效措施,。
軟件工程心得體會篇八
軟件工程(softwareengineering,,簡稱為se)是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學(xué)科,。它涉及到程序設(shè)計語言,,數(shù)據(jù)庫,,軟件開發(fā)工具,,系統(tǒng)平臺,標(biāo)準(zhǔn),,設(shè)計模式等方面,。在現(xiàn)代社會中,軟件應(yīng)用于多個方面,。典型的軟件比如有電子郵件,,嵌入式系統(tǒng),,人機界面,,辦公套件,,操作系統(tǒng),,編譯器,,數(shù)據(jù)庫,游戲等。同時,,各個行業(yè)幾乎都有計算機軟件的應(yīng)用,,比如工業(yè),農(nóng)業(yè),,銀行,,航空,政府部門等,。這些應(yīng)用促進了經(jīng)濟和社會的發(fā)展,,使得人們的工作更加高效,,同時提高了生活質(zhì)量,。
在給定成本、進度的前提下,,開發(fā)出具有可修改性,、有效性、可靠性,、可理解性,、可維護性、可重用性,、可適應(yīng)性,、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產(chǎn)品,。
是指圍繞工程設(shè)計,、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。軟件工程的原則有以下四項基本原則:1)選取適宜開發(fā)范型,;2)采用合適的設(shè)計方法,;3)提供高質(zhì)量的工程支持;4)重視開發(fā)過程的管理,。
據(jù)說上個世紀(jì)60年代的程序員都是天才,,寫程式就像寫日記一樣,吃過晚飯沒事干隨手就可以寫幾個出來玩,,第二天還可以拿去賣錢,。所以那時候程序員在大家眼中,,跟那些搞美術(shù),音樂的是一類的,被稱為“藝術(shù)家”。
但事過境遷,,就像任何人都不會嫌錢多一樣,,永遠(yuǎn)都不會有人嫌cpu快的。于是,,隨之而來的就是硬件的迅猛發(fā)展和越來越變態(tài)的軟件。記得以前常去同學(xué)家拷游戲,通常幾張軟盤就可以搞定,,而現(xiàn)在的游戲,兩三張cd-rom都算少的了,。像如此龐大復(fù)雜的怪物,,就算你是如何的天才,一個人肯定是搞不定的,,否則,,等你把程式寫出來,人家intel連奔騰n都開發(fā)出來了,。既要開發(fā)大型的軟件還要追求速度(這樣才能賺錢),,于是很自然地,合作的概念被提了出來,。
在開始合作的初期,,由于大家都習(xí)慣了當(dāng)很有個性的“藝術(shù)家”,結(jié)果可想而知,,一個是畢加索派的,,而另一個是意大利印象派的,再加上一個畫潑墨山水畫的,,要是像這樣湊出來的東西都能不出問題的話,,那么bill早就轉(zhuǎn)行了。所以,,那時侯的大型軟件,,據(jù)說“藍屏”比windows98還多。
馬克思告訴我們,,萬物都是從量變到質(zhì)變的,。隨著問題的不斷涌現(xiàn),一些master們開始嘗試去總結(jié)經(jīng)驗,,并歸納了一些規(guī)范去指導(dǎo)軟件的分析,,設(shè)計,實現(xiàn),,測試,,維護,,人員交流協(xié)作,項目預(yù)算及時限控制等方方面面,,這就是軟件工程的前身,。
軟件工程到現(xiàn)在已發(fā)展了30多年,可以說是相當(dāng)成熟的了?,F(xiàn)在開發(fā)軟件,,據(jù)說都是一大幫人排排坐,按著一整套的規(guī)章制度來干活,。于是,,軟件開發(fā)成了“工程”,程序員也就淪為“工人”了,。
軟件工程,,說白了,,就是這樣一套用于軟件的團隊開發(fā),,以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,,對于軟件開發(fā)的5個重要組成部分:需求分析,,設(shè)計,編碼,,調(diào)試,,維護,如何組織這5個部分的工作,,以及如何完成每一個工作,。簡單來說,就是對于總體的組織和對于局部的實現(xiàn),。
開發(fā)軟件,,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的,。首先是要有一個想法,,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,,并從中選出一種自認(rèn)為是較好的,;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug,。除了第一步外,,其余的步驟應(yīng)該是一個循環(huán)的過程。既然軟件開發(fā)是一個具有不可預(yù)知性和變化性的`動態(tài)的過程,,那么,,對其每一個步驟的組織,,即周期模型,就必須包容它的這種性質(zhì),。
具體到每一步的工作要怎樣完成,,是非常靈活的,只要把握住大體的方向就行,。在進行分析,,設(shè)計,編碼,,調(diào)試,,維護這幾部分的工作的時候,最核心的就是文檔的編寫,。文檔的作用在于以下3個方面:一是可以幫助整理思路,。把要完成的目標(biāo),系統(tǒng)的結(jié)構(gòu),,每一個模塊的功能等整理一下,,然后分門別類地寫下來,這樣在開發(fā)的過程中,,就有據(jù)可依,,在需要回過頭來修改設(shè)計的時候,也有證可考,。二是便于交流,。想象一下開會時的情形。一大幫子人爭先恐后,,激烈辯論,,然后會終人散,思想靈感也就隨之散了,,結(jié)果是開了半天會,,什么也沒討論出來。這就是后來會議記錄被發(fā)明出來的原因,。在腦子里的東西一多,,就會散而且亂,用語言表達的時候,,很容易會丟三落四,,別人也很難把握住你的思想。但經(jīng)過整理寫在紙上以后,,則會清晰得多,,無論是別人還是自己,看起來都可以一目了然,。三是可以作為以后維護時的參考資料,。有一句名言:“筆和紙永遠(yuǎn)都比大腦可靠”,,意思就是說,放在大腦里的東西說不準(zhǔn)哪天就忘了,,但寫在紙上的東西,,只要不發(fā)生什么意外,一般是丟不了的,。當(dāng)過了一段時間,,你需要再回過頭來修改你的程序的時候,你就會發(fā)現(xiàn),,你以前寫下的文檔實在太有價值了,。別指望你的源代碼,對于復(fù)雜一點的程序來說,,單純的源代碼幾乎會扼殺掉你所有的時間,。
可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。主要考慮的方面包括:是否能把這個項目開發(fā)出來,;假如可以的話,,預(yù)計需要多少時間,能否滿足客人的時間要求,;需要多少人力和資金的投入,;最重要的是,,這個項目能否賺錢,,能賺多少。還要對可能存在的風(fēng)險進行評估,。
時間飛逝,,不知不覺間《軟件工程》的學(xué)習(xí)完了。在這將近半學(xué)期的學(xué)習(xí)中,,雖然我不能說我將《軟件工程》學(xué)習(xí)的有多么的好,,但是通過學(xué)習(xí),我還是受益良多,。
在以前,,我一直對軟件存在一些偏見或則是誤解,認(rèn)為軟件就是程序,,軟件的開發(fā)就是編寫程序,,只要編完了程序,一切也就ok了,,而且我還片面的認(rèn)為只要我掌握了時下最新的語言和工具,,那么我就能寫程序了。一個人,,只要會編程,,就能寫軟件,,就是程序員;一個公司,,只要招聘一些程序員,,就能開發(fā)好的軟件產(chǎn)品。只要有幾個有經(jīng)驗的程序員,,再找些兼職的大學(xué)生,,就能組成一個軟件公司。
但是通過了《軟件工程》這門課的學(xué)習(xí),,使我認(rèn)識到了我以前的錯誤,。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,,軟件是思想在硬件上的載體和體現(xiàn),,處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,,有充分的認(rèn)識,,才能更好的開發(fā)出,過程受控,、質(zhì)量受控的軟件產(chǎn)品,。
而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,,只要一天坐在電腦旁敲敲鍵盤,,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),,我以前的很多的思想是多么的膚淺可笑,。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內(nèi)心深處進行創(chuàng)造的渴望,,而且還能愉悅我們內(nèi)在的情感,。
而且通過學(xué)習(xí)《軟件工程》,我還學(xué)到了很多其他的東西,。比如通過學(xué)習(xí)《軟件工程》,,特別是教員的課程講解和每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機會,。讓我知道如何在以最小的成本中,,訓(xùn)練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等,。而且通過學(xué)習(xí)《軟件工程》,,還讓我認(rèn)識和培養(yǎng)了我的團隊協(xié)作能力,特別是對于我們這些在校的學(xué)生來說,這種學(xué)習(xí)更是能讓我在以后工作中少走很多的彎路,。
所以,,通過《軟件工程》的學(xué)習(xí),我是真的學(xué)習(xí)到了很多有用的東西,,讓我明白了很多的道理,。在此我對教員的辛勤教育表示感謝,因為是你讓我學(xué)習(xí)到了這些,,是我獲益良多,。
軟件工程心得體會篇九
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容,。
第一章軟件與軟件工程的概念,,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念,、特性,,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期,、典型生存期模型等等,。
第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,,包括三種方法:傳統(tǒng)方法,、面向?qū)ο蠓椒ā⑿问交椒ā?/p>
還引出了工具uml,。
第三章軟件需求獲取與結(jié)構(gòu)化分析方法,,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(shù)據(jù)流圖,、e-r圖以及狀態(tài)圖式本節(jié)的重點,。
第四章結(jié)構(gòu)化分析方法,,這一章重點講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進,。
第五章編碼,這一章重點講解了編碼的風(fēng)格及規(guī)范,,還告訴我們編碼規(guī)范說帶來的好處,,并告誡我們將來一點要形成好的編碼風(fēng)格。
第六章軟件測試方法,,本章講解了軟件測試相關(guān)的概念及重要性,,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。
第七章統(tǒng)一建模語言uml概述,,本章詳細(xì)介紹了uml的基本模式,、事物、關(guān)系及建模時用到的各種圖進行了介紹,。
第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,,包括功能模型、靜態(tài)模型和動態(tài)模型,。
第九章軟件體系結(jié)構(gòu)與設(shè)計模式,,本章對軟件體系結(jié)構(gòu)的'基本概念、典型風(fēng)格等進行了講解,。
第十章面向?qū)ο笤O(shè)計,,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細(xì)化。
第十一章軟件維護,,本章主要介紹軟件維護的任務(wù),、軟件維護活動以及軟件維護方法進行了介紹。
要學(xué)習(xí)軟件工程,,學(xué)會如何系統(tǒng)的思考,,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,,就必須知道軟件工程的目標(biāo),、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品,。
正確性指軟件產(chǎn)品達到預(yù)期功能的程度,。
可用性指軟件基本結(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度,。
開銷合宜是指軟件開發(fā),、運行的整個開銷滿足用戶要求的程度。
這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,,它們形成了對過程,、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟,。
軟件工程過程主要包括開發(fā)過程,、運作過程、維護過程,。
它們覆蓋了需求,、設(shè)計、實現(xiàn),、確認(rèn)以及維護等活動,。
需求活動包括問題分析和需求分析。
問題分析獲取需求定義,,又稱軟件需求規(guī)約,。
需求分析生成功能規(guī)約。
設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。
概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),,包括子系統(tǒng),、模塊以及相關(guān)層次的說明、每一模塊的接口定義,。
詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。
實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼,。
確認(rèn)活動貫穿于整個開發(fā)過程,,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求,。
維護活動包括使用過程中的擴充,、修改與完善。
伴隨以上過程,,還有管理過程,、支持過程、培訓(xùn)過程等,。
軟件工程的原則是指圍繞工程設(shè)計,、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學(xué)習(xí)了詳細(xì)設(shè)計的方法,,其原則是過程描述是否易于理解,、復(fù)審和維護,進而過程描述能夠自然地轉(zhuǎn)換成代碼,,并保證詳細(xì)設(shè)計與代碼完全一致,。
包括程序流程圖、n-s圖,、pad圖,、hipo圖。
程序流程圖:程序流程圖又稱之為程序框圖,,它是軟件開發(fā)者最熟悉的一種算法表達工具,。
它獨立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,,易于學(xué)習(xí)掌握,。
軟件工程心得體會篇十
軟件工程及未來發(fā)展趨勢心得體會軟件工程是一門研究用工程方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學(xué)科,。它的成果是為軟件設(shè)計和開發(fā)人員提供思想方法和工具。
商業(yè)形態(tài)從最開始的硬件輔助到代碼核心競爭力到后來的服務(wù)階段,。30多年來,,隨著軟件工程的研究和實踐取得了跨越性的進步,it和制造業(yè)以及各種行業(yè)的結(jié)合,進入軟件定義時代的階段,。同時獲得了一些具有里程碑意義的進展,,盡管目前離徹底解決“軟件危機”還有一些差距,但軟件工程的方法對軟件產(chǎn)業(yè)的發(fā)展還是起到了很大的推動作用,。軟件產(chǎn)業(yè)也邁入了高質(zhì)量發(fā)展的階段,,并且有一定的成績。
20xx年中國軟件產(chǎn)業(yè)年會的召開以“軟件定義的時代-數(shù)字,、融合與生態(tài)”為主題,,中國工程院院士孫家廣在主旨演講中表示,“軟件是信息技術(shù)之魂,,經(jīng)濟轉(zhuǎn)型之擎,、網(wǎng)絡(luò)安全之盾、數(shù)字社會之基,、大國博弈之焦,、高質(zhì)量發(fā)展的抓手,軟件賦能,、賦值,、賦智作用日益明顯?!彼硎?,軟件開源是我國成為軟件強國的根本舉措和保障。中國工程院院士廖湘科也在報告中提出,,工業(yè)軟件要向建設(shè)信息技術(shù)和先進制造技術(shù)深度融合,、控制管理整個生產(chǎn)模式的基礎(chǔ)軟件平臺發(fā)展。在真實世界感知的數(shù)據(jù)進入到虛擬世界,,進行關(guān)聯(lián)和跨域關(guān)聯(lián)的分析,,在進行智能處理之后,再反饋到真實世界,。運行平臺基于云端的硬件結(jié)構(gòu),,在未來設(shè)計軟件的過程中,我們要考慮的是不再針對一臺服務(wù)器設(shè)計軟件,,在設(shè)計的時候需要考慮云端,,在這樣的前提下去設(shè)計軟件??偟膩碚f,,整個軟件體系就是一個生態(tài)鏈,市場通過軟件平臺來控制,,所有的技術(shù)和商業(yè)模式的競爭都堆積在it軟件平臺,,各個行業(yè)的it從業(yè)人員可以協(xié)同,,硬件追求越來越快,軟件追求規(guī)模,。生態(tài)鏈需要協(xié)同創(chuàng)新,,學(xué)科交叉。軟件是靈魂的載體,,它具體應(yīng)用在知識領(lǐng)域在生活智能方面的應(yīng)用,。東軟集團股份有限公司董事長兼ceo劉積仁作題為“軟件的賦能時代”,表明,,企業(yè)也是軟件的載體,。軟件在今后具有無限的發(fā)展空間,我們應(yīng)該為從事這個行業(yè)而感到幸運,。軟件在今后的發(fā)展中不僅僅表現(xiàn)的是licenseip的價值,,軟件可以承載一個嶄新的創(chuàng)業(yè)的公司創(chuàng)造資本市場的奇跡。核心就是軟件表達的方式從我們單純賣解決方案,、賣服務(wù),,軟件從我們過去依賴于軟件工程師,最后我們要成為在新經(jīng)濟的發(fā)展,、新消費發(fā)展的一個新的平臺,。
信息革命的核心體現(xiàn)在,集成電路是細(xì)胞,,通訊網(wǎng)絡(luò)是動脈,,計算機工具是大腦,信息資源是血漿,,應(yīng)用需求是心臟,,安全是免疫系統(tǒng),軟件是靈魂,。軟件產(chǎn)業(yè)是第一大產(chǎn)業(yè),,面向?qū)ο笫擒浖夹g(shù)的基本指導(dǎo)思想,它的發(fā)展過程從最初的個人技巧,,到結(jié)構(gòu)化,,再到最終的面向?qū)ο螅采w范圍也發(fā)展到運行技術(shù),、工具技術(shù),、到過程技術(shù)。軟件理論方法技術(shù)應(yīng)用于x應(yīng)用場景,。應(yīng)用場景的'構(gòu)建主要是體現(xiàn)在,,可感知+可編程+可計算+可調(diào)控等方面。軟件很大程度上改變了我們的生產(chǎn)生活方式,,在現(xiàn)在社會中,,對于軟件的開發(fā),,我們不在只是單純的系統(tǒng)開發(fā),,文檔手冊,,還要考慮到所處的環(huán)境以及大數(shù)據(jù),智能算法等多方面的綜合考量,。
軟件同時也在驅(qū)動著世界經(jīng)濟的變革,。在世界經(jīng)濟全球化發(fā)展的趨勢下,軟件行業(yè)也在向全球化發(fā)展,,在今天,,軟件的開發(fā)也不再是一個國家或者一個行業(yè)自身的發(fā)展而是整個社會的發(fā)展趨勢。當(dāng)前軟件行業(yè)無論國內(nèi)還是國際上整體處于手工作坊式階段,,以項目組或產(chǎn)品組為單位組織開發(fā)人員,,圍繞一個項目或者一個產(chǎn)品的某一迭代版本進行收工作業(yè)。其服務(wù)模式始終停留在并行開發(fā)多個無關(guān)的小型項目,。對于這樣的情況,,單單只是依靠某個國家自身的實力是很難實現(xiàn)軟件技術(shù)全面提升的。微觀層面來看,,光學(xué)相機被數(shù)碼相機取代,,移動磁盤、光盤基本上被u盤取代,。智能手機的出現(xiàn)也帶來了it產(chǎn)業(yè)格局的重塑,。it產(chǎn)業(yè)巨變的核心動力是用戶群體的快速增加以及it擴散的范圍迅速。繼智能手機,、平板電腦被軟件重新定義后,,其他it產(chǎn)品也在不斷被軟件重新定義,增加一個操作系統(tǒng)之后,,物理功能被無限的簡化,,功能被無限的拓展,不斷地豐富,。整個經(jīng)濟社會加快在網(wǎng)絡(luò)空間的映射,,形成現(xiàn)實與網(wǎng)絡(luò)交融的數(shù)字世界。信息物理系統(tǒng)(cps)實現(xiàn)大型工程系統(tǒng)的實時感知,、動態(tài)控制和信息服務(wù),。
數(shù)據(jù)表征、智能處理,、軟件定義,,三元融合將打造一個全新的世界。大數(shù)據(jù)在消費it領(lǐng)域的作用更加明顯,,只要用pc上網(wǎng)或者手機瀏覽信息,,性別,、年齡、愛好,、蹤跡等等便被大數(shù)據(jù)刻畫,,從而根據(jù)現(xiàn)有信息推斷出你可能要做的事??偟膩碚f,,大數(shù)據(jù)不僅是傳統(tǒng)產(chǎn)業(yè)升級的助推器,同時也是新興產(chǎn)業(yè)的催化劑,。軟件的定位已經(jīng)從服務(wù)軟件發(fā)展到定義硬件,,也許在不久的將來,軟件不僅僅是改變世界,,而是重新定義我們已知的世界,,正如大數(shù)據(jù)的出現(xiàn),或許不久的將來,,產(chǎn)品經(jīng)銷商會比我們更了解自己的需求,。
隨著軟件市場的競爭壓力越來越大,我們所面臨的it環(huán)境更為復(fù)雜化,,為了應(yīng)對來自各方面的挑戰(zhàn)問題,,我們需要更多的創(chuàng)新能力和業(yè)務(wù)靈活性。提高模塊化思想,,從根本上解決所面臨的問題,。
軟件工程心得體會篇十一
學(xué)習(xí)了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合。整一個學(xué)期下來,,總的來說還是學(xué)到了很多東西的,,有很多地方是值得肯定的,其實在我看來,,軟件工程與其說是一門課程,,不如說是一門思想。是一個如何去分析和處理問題的過程,,應(yīng)該說其范疇已經(jīng)遠(yuǎn)遠(yuǎn)不止局限于該門課程,,成為了一個綜合的一個能夠解決問題的思想集合。
要學(xué)習(xí)軟件工程,,學(xué)會如何系統(tǒng)的思考,,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,,就必須知道軟件工程的目標(biāo),、過程和原則: 軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品,。正確性指軟件產(chǎn)品達到預(yù)期功能的程度,。
可用性指軟件基本結(jié)構(gòu),、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā),、運行的整個開銷滿足用戶要求的程度,。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程,、過程模型及工程方法選取的約束,。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟,。軟件工程過程主要包括開發(fā)過程,、運作過程、維護過程,。它們覆蓋了需求,、設(shè)計、實現(xiàn),、確認(rèn)以及維護等活動,。需求活動包括問題分析和需求分析。問題分析獲取需求定義,,又稱軟件需求規(guī)約,。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計,。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),,包括子系統(tǒng)、模塊以及相關(guān)層次的說明,、每一模塊的接口定義,。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述,。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼,。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),,保證最終產(chǎn)品滿足用戶的要求,。維護活動包括使用過程中的擴充、修改與完善,。伴隨以上過程,,還有管理過程、支持過程,、培訓(xùn)過程等,。 軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則,。
pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具,。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成,。它是美國ibm公司在軟件設(shè)計中使用的主要表達工具,。hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu),。hc圖中的每一個模塊,,均可用一張ipo圖來描述。ipo 圖由輸入,、處理和輸出三個框組成,,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,,是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系,。還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試,。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法),。靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書,、軟件設(shè)計說明書,、源程序做結(jié)構(gòu)檢查、流程分析,、符號執(zhí)行來找出軟件錯誤,。動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,,輸出的全體稱為函數(shù)的值域,,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。還學(xué)習(xí)了其他很多工具,、語言,、方法等,雖然不是都學(xué)得很透徹,,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的,。
軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,,對一些應(yīng)用操作,、概念、工具方法等理解起來較為困難,,要能從整體概念上較好地理解和把握,、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機練習(xí)幾次就可以成功,,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,,更要多思考,面對錯誤不要一范就問,,要嘗試自己去解決,。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,,要集中精力打攻堅戰(zhàn),,學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實際工作出發(fā),,有針對性的在相應(yīng)的學(xué)習(xí)方向上進行提高,,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進行研究拓展;在學(xué)習(xí)語言時,,要看看與c語言的聯(lián)系,多思多想,,把從各個科目學(xué)到的知識通匯貫通。
在軟件工程的學(xué)習(xí)中,,我了解到了軟件并非是一些代碼這么簡單,,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,,而后期的管理和維護更是占了60%到80%之多,。一個完整的項目規(guī)劃須包括,軟件的定義,,可行性分析報告,,項目開發(fā)計劃,軟件需求說明書,,概要設(shè)計說明書,,詳細(xì)設(shè)計說明書,用戶操作手冊,,測試計劃,,測試分析報告,開發(fā)進度報告,,項目開發(fā)總結(jié)報告,,軟件維護手冊,軟件問題報告,,軟件修改報告,,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,,要做好這點真的不是很容易,,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,,再加上各個階段都要進行周密的策劃,、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達成,,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程,。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨特的規(guī)范的編碼風(fēng)格是非常重要的事,。因為這影響到了軟件后期繁重的維護,,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,,那么別人怎么能讀懂你的程序讀不懂程序,,維護又從何談起呢所以,我們在今后的學(xué)習(xí)中,,一定要注意這方面的培養(yǎng),,在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,,即方便自己的修改,,也方便日后他人的閱讀。
在學(xué)習(xí)中,,我們還要注意比較三種方法的優(yōu)缺點,,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,,而且傳統(tǒng)方法要么面向行為,,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合,。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,,適合大型、復(fù)雜及交互性比較強的系統(tǒng),。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。在今后的學(xué)習(xí)中要注意多讀書,、多思考,、多練習(xí)、多討論,,不斷熟悉書本的基礎(chǔ),,并以此為基礎(chǔ)將其擴散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,,向一名合格的程序設(shè)計師邁進,。
軟件工程心得體會篇十二
對于一個軟件系統(tǒng)的開發(fā),第一步就是問題定義,,了解所開發(fā)系統(tǒng)的行業(yè)背景,,制定計劃。當(dāng)我們計劃確定以后就要對項目系統(tǒng)本身進行可行性研究,,主要從技術(shù)可行性,、經(jīng)濟可行性和操作可行性三個方面著手。就比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的行業(yè)背景說明文檔中非常詳細(xì)地分析了當(dāng)下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務(wù)說明,、應(yīng)用背景,、未來發(fā)展趨勢以及相關(guān)應(yīng)用案例等四個方面,項目團隊中系統(tǒng)分析員就可以根據(jù)這份文檔以及相關(guān)的調(diào)查資料對將要開發(fā)系統(tǒng)的進行定義等工作,。
原來我們寫這類文檔的時候就是草草了事,,不會做得這么詳細(xì),而這次看到大型項目的行業(yè)背景說明也是這么詳細(xì),,也讓自己認(rèn)識到不管是軟件開發(fā)的那個階段都要認(rèn)真對待,,這些瑣碎的文檔都是后期開發(fā)項目的支撐,只要它們做的透徹,,后面的開發(fā)工作才能更順利的進行,。
第二、項目需求說明方面
這部分項目需求說明就是軟件定義時期中需求分析階段,,而該階段的主要目的就是了解用戶的需要,根據(jù)用戶的需要確定系統(tǒng)必須完成那些工作,,并對目標(biāo)系統(tǒng)提出完整,、準(zhǔn)確、清晰,、具體的要求,。在需求分析結(jié)束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說明,即為《物聯(lián)網(wǎng)物流倉儲管理系統(tǒng)》項目需求說明文檔,。我們可以看出該文檔也是非常詳細(xì),,相比之下我們之前做項目時寫的需求規(guī)格說明書就非常不合格,不僅格式不正確內(nèi)容也是少之又少,。
在這方面,,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,,要美觀整齊,,讓人看著舒服方便。其次就是文檔的內(nèi)容,原來它不是很重要,,寫文檔的時候也不知道怎么寫就借鑒下網(wǎng)上的內(nèi)容,,結(jié)果根本就沒有把自己項目的需求寫明白,以至于自己最后都有些糊涂,,所以根據(jù)以前的經(jīng)驗教訓(xùn)我會對這部分更加重視,。
第三、系統(tǒng)概要設(shè)計方面
這部分內(nèi)容分說的是軟件設(shè)計時期的概要設(shè)計階段,,該階段的主要目的就是實現(xiàn)系統(tǒng)的功能,、設(shè)計軟件的結(jié)構(gòu)、模塊組成以及模塊之間的關(guān)系,。在概要設(shè)計階段,,我們可以站在全局的高度上,花較少的成本,,從抽象的層次上分析對比多種可能的系統(tǒng)實現(xiàn)方案和軟件結(jié)構(gòu),,從中選出最佳方案和最合理的結(jié)構(gòu)。在這個階段還會具體畫出e-r圖,、數(shù)據(jù)流圖等方面的設(shè)計,。
比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的系統(tǒng)概要設(shè)計從項目概述、設(shè)計約束,、功能單元與功能模塊設(shè)計,、數(shù)據(jù)e-r圖設(shè)計、總體設(shè)計,、界面設(shè)計等六個方面介紹,,通過讀這個文檔,我覺得最重要的還是總體設(shè)計,,分別從邏輯架構(gòu)設(shè)計,、物理架構(gòu)設(shè)計、技術(shù)架構(gòu)設(shè)計設(shè)計系統(tǒng),。在這個階段中模塊要做到高內(nèi)聚低耦合,,這樣開發(fā)出來的系統(tǒng)才會具有更高的獨立性。
在原來做項目時沒有編寫過這類文檔,,在該階段只是畫了結(jié)構(gòu)圖,、層次圖以及相關(guān)的模塊劃分,對該類文檔尚未重視,。通過張老師的講解和自己的學(xué)習(xí),,我相信在以后做項目的時候一定會注意到這類文檔的編寫。
第四,、詳細(xì)設(shè)計與分析方面
詳細(xì)設(shè)計階段就是把概要設(shè)計階段的每個模塊進一步設(shè)計,,確定每個模塊所需要的算法和數(shù)據(jù)結(jié)構(gòu),。在這個階段還是需要我們設(shè)計出程序的詳細(xì)規(guī)格說明,而不是編寫程序,。在詳細(xì)設(shè)計階段,,系統(tǒng)設(shè)計人員可以通過使用程序流程圖、盒圖,、pad圖等過程設(shè)計的工具和jackson圖等面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計工具進一步設(shè)計系統(tǒng)相關(guān)接口,,主要包括界面設(shè)計接口、業(yè)務(wù)單設(shè)計接口,、單元模塊設(shè)計接口等,,這些對于以后的編碼工作都是極其重要的。
第五,、編碼和測試方案方面
關(guān)于編碼,,我認(rèn)為編碼要想做的完美必備條件就是前面的軟件定義和軟件設(shè)計時期要按部就班的做,文檔一定要按要求書寫,,不能偷懶也不能草草書寫,。對于編碼也要有相應(yīng)的文檔書寫規(guī)范,要使源程序代碼的邏輯簡明清晰,、易讀易懂,。這樣盡管我們不是設(shè)計系統(tǒng)的人員,當(dāng)看到源程序代碼的時候也能容易讀懂代碼的意思,。
其次就是測試的內(nèi)容,,從測試的文檔中我們可以得出,其實測試在軟件開發(fā)中同樣占據(jù)了重要的地位,,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶使用。它要求測試人員也要有很高的技術(shù)水平,。
軟件工程心得體會篇十三
作為軟件工程師,,我一直對自己在軟件開發(fā)領(lǐng)域的發(fā)展感到自豪。近年來,,我一直致力于提高自己的技能,并在實踐中不斷探索和學(xué)習(xí),。在這個過程中,,我收獲了許多寶貴的經(jīng)驗和體會,讓我更好地理解了軟件工程師的角色和職責(zé),,特別是在團隊合作方面的重要性,。
第二段:個人成長。
我的軟件開發(fā)之路始于大學(xué)時期學(xué)習(xí)編程語言,,并在一家創(chuàng)業(yè)公司中獲得了第一份實習(xí)工作,。在這一階段,,我經(jīng)歷了許多挑戰(zhàn)和學(xué)習(xí)機會,計劃和設(shè)計軟件解決方案成為我的長項,。在后來的工作中,,我不斷提高自己的團隊合作技能,學(xué)會協(xié)調(diào)和溝通,,特別是在多功能項目中尤為重要,。
第三段:貢獻團隊。
作為軟件工程師,,我有責(zé)任在團隊中發(fā)揮重要作用,,同時也需要學(xué)會尊重其他專業(yè)人員的意見和建議。我的目標(biāo)是成為一名優(yōu)秀的團隊成員,,通過協(xié)作和討論尋求最優(yōu)解決方案,。在項目中,我總是盡力爭取更高的質(zhì)量和效率,,發(fā)現(xiàn)和解決問題,,對團隊的發(fā)展做出貢獻。
第四段:重視學(xué)習(xí),。
隨著軟件技術(shù)的不斷發(fā)展,,我們必須與時俱進,不斷學(xué)習(xí)新知識和技能,。我經(jīng)常參加工作坊,、研討會等活動,與同行交流經(jīng)驗,,并積極閱讀相關(guān)書籍和文章,。通過不斷學(xué)習(xí),我擴大了自己的技能和知識范圍,,更好地服務(wù)于團隊和客戶,。
第五段:結(jié)語。
軟件工程師的工作需要我們具備多種技能和素養(yǎng),,而不僅僅是編程,。我們需要協(xié)作,溝通和解決問題能力,,同時也需要開放心態(tài)和持續(xù)學(xué)習(xí)的意愿,。我相信通過不斷的積累經(jīng)驗和體會,我們將不斷提高自身能力,,為軟件行業(yè)的發(fā)展做出更大的貢獻,。
軟件工程心得體會篇十四
軟件工程,就是一套用于軟件的團隊開發(fā),,以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范,。你知道軟件工程,。
是什么嗎?接下來就是本站小編為大家整理的關(guān)于軟件工程心得體會,供大家閱讀!
時間飛逝,,不知不覺間《軟件工程》的學(xué)習(xí)已經(jīng)過了大半了,。在這將近半學(xué)期的學(xué)習(xí)中,雖然我不能說我將《軟件工程》學(xué)習(xí)的有多么的好,,但是通過學(xué)習(xí),,我還是受益良多。
在以前,,我一直對軟件存在一些偏見或則是誤解,,認(rèn)為軟件就是程序,軟件的開發(fā)就是編寫程序,,只要編完了程序,,一切也就ok了,而且我還片面的認(rèn)為只要我掌握了時下最新的語言和工具,,那么我就能寫程序了,。一個人,只要會編程,,就能寫軟件,,就是程序員;一個公司,只要招聘一些程序員,,就能開發(fā)好的軟件產(chǎn)品,。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學(xué)生,,就能組成一個軟件公司,。
但是通過了《軟件工程》這門課的學(xué)習(xí),使我認(rèn)識到了我以前的錯誤,。軟件其實不僅僅是程序,,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),,處理的是邏輯和信息,。唯有對軟件和軟件的開發(fā)過程,有充分的認(rèn)識,,才能更好的開發(fā)出,,過程受控、質(zhì)量受控的軟件產(chǎn)品,。
而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,,只要一天坐在電腦旁敲敲鍵盤,,那么一切就可以了,,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑,。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動,。因為編程不僅能夠滿足我們內(nèi)心深處進行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感,。
而且通過學(xué)習(xí)《軟件工程》,,我還學(xué)到了很多其他的東西。比如通過學(xué)習(xí)《軟件工程》,,特別是老師每次用實際的軟件現(xiàn)場的講解,,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,,訓(xùn)練自己的基本工程素質(zhì)和能力,,如何激發(fā)自己的積極性等。而且通過學(xué)習(xí)《軟件工程》,,還讓我認(rèn)識和培養(yǎng)了我的團隊協(xié)作能力,,特別是對于我們這些在校的學(xué)生來說,這種學(xué)習(xí)更是能讓我在以后工作中少走很多的彎路,。
所以,,通過《軟件工程》的學(xué)習(xí),我是真的學(xué)習(xí)到了很多有用的東西,,讓我明白了很多的道理,。在此我對老師的辛勤教育表示感謝,因為是你讓我學(xué)習(xí)到了這些,,是我獲益良多,。
軟件工程心得體會未接觸軟件工程之前一直都很想學(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é)商,群策群力,,在不斷磨合中能夠達成一致與默契,。團隊成員中能力各有高下,互相尊重,,各取所長,,不宜妄自菲薄。組長多加協(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)算法。具體到每一步的工作要怎樣完成,,是非常靈活的,,只要把握住大體的方向就行。在進行分析,,設(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ù)字描述,。
共
2
頁,,當(dāng)前第。
1
頁
1
2
軟件工程心得體會篇十五
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,,我們學(xué)習(xí)了十一章的內(nèi)容,。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,,例如軟件的概念,、特性,軟件危機的主要表現(xiàn),,軟件工程的概念以及軟件生存期,、典型生存期模型等等。第二章軟件工程方法與工具,,這一章主要對軟件工程方法進行介紹,,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法,。還引出了工具uml。第三章軟件需求獲取與結(jié)構(gòu)化分析方法,,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,,畫分層的數(shù)據(jù)流圖、e-r圖以及狀態(tài)圖式本節(jié)的重點,。第四章結(jié)構(gòu)化分析方法,,這一章重點講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進。第五章編碼,,這一章重點講解了編碼的風(fēng)格及規(guī)范,,還告訴我們編碼規(guī)范說帶來的好處,,并告誡我們將來一點要形成好的編碼風(fēng)格。第六章軟件測試方法,,本章講解了軟件測試相關(guān)的概念及重要性,,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。第七章統(tǒng)一建模語言uml概述,,本章詳細(xì)介紹了uml的基本模式,、事物、關(guān)系及建模時用到的各種圖進行了介紹,。第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型,、靜態(tài)模型和動態(tài)模型。第九章軟件體系結(jié)構(gòu)與設(shè)計模式,,本章對軟件體系結(jié)構(gòu)的基本概念,、典型風(fēng)格等進行了講解。第十章面向?qū)ο笤O(shè)計,,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細(xì)化,。第十一章軟件維護,本章主要介紹軟件維護的任務(wù),、軟件維護活動以及軟件維護方法進行了介紹,。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,,以及養(yǎng)成良好的編碼習(xí)慣,,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo),、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性,、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預(yù)期功能的程度,??捎眯灾杠浖窘Y(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度,。開銷合宜是指軟件開發(fā),、運行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,,它們形成了對過程,、過程模型及工程方法選取的約束,。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟,。軟件工程過程主要包括開發(fā)過程,、運作過程、維護過程,。它們覆蓋了需求、設(shè)計,、實現(xiàn)、確認(rèn)以及維護等活動。需求活動包括問題分析和需求分析,。問題分析獲取需求定義,又稱軟件需求規(guī)約,。需求分析生成功能規(guī)約,。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計,。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明,、每一模塊的接口定義,。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述,。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼,。確認(rèn)活動貫穿于整個開發(fā)過程,,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求,。維護活動包括使用過程中的擴充,、修改與完善。伴隨以上過程,,還有管理過程,、支持過程、培訓(xùn)過程等,。
軟件工程的原則是指圍繞工程設(shè)計,、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
程序流程圖:程序流程圖又稱之為程序框圖,,它是軟件開發(fā)者最熟悉的一種算法表達工具,。它獨立于任何一種程序設(shè)計語言,,比較直觀和清晰地描述過程的控制流程,,易于學(xué)習(xí)掌握,。在流程圖中只能使用下述的五種基本控制結(jié)構(gòu):順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。
n-s圖:一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形描述工具,稱為盒圖,又稱為n-s圖,。在n-s圖中,,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件,。順序型;選擇型;while重復(fù)型;until重復(fù)型;多分支選擇型,。
pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具,。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用,。
hipo圖:hipo圖是由一組ipo圖加一張hc圖組成,。它是美國ibm公司在軟件設(shè)計中使用的主要表達工具,。
hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu),。hc圖中的每一個模塊,,均可用一張ipo圖來描述。ipo圖由輸入,、處理和輸出三個框組成,,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,,是能夠直觀地顯示輸入—處理—輸出三者之間的聯(lián)系,。
還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試,。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法),。
靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析,。
說明書,。
軟件設(shè)計說明書源程序做結(jié)構(gòu)檢查流程分析符號執(zhí)行來找出軟件錯誤。
動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),,輸入的全體稱為函數(shù)的定義域,,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系,。
還學(xué)習(xí)了其他很多工具,、語言、方法等,,雖然不是都學(xué)得很透徹,,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
軟件工程對于初學(xué)者來說,,知識基礎(chǔ)較薄弱,,對一些應(yīng)用操作、概念,、工具方法等理解起來較為困難,,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,,更要多思考,,面對錯誤不要一范就問,要嘗試自己去解決,。但是還要注意什么都學(xué),,肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),,學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進行提高,,制定出詳細(xì)的學(xué)習(xí)規(guī)劃,。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進行研究拓展;在學(xué)習(xí)語言時,,要看看與c語言的聯(lián)系,,多思多想,把從各個科目學(xué)到的知識通匯貫通,。
在軟件工程的學(xué)習(xí)中,,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,,編寫代碼的工作量其實只占不到所有工程量的30%,,而后期的管理和維護更是占了60%到80%之多,。一個完整的項目規(guī)劃須包括,軟件的定義,,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,,用戶操作手冊,,測試計劃,,測試分析報告,開發(fā)進度報告,,項目開發(fā)總結(jié)報告,軟件維護手冊,,軟件問題報告,,軟件修改報告,,等多個文檔,,每個文檔都要上級驗收審查,,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃,、詳細(xì)的分工部署和人員安排,,且各階段要據(jù)具體情況不斷的反復(fù)才能達成,,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學(xué)習(xí)中,,我更了解到形成自己獨特的規(guī)范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護,,大家都要閱讀你的程序,,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,,維護又從何談起呢?所以,我們在今后的學(xué)習(xí)中,,一定要注意這方面的培養(yǎng),,在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,,即方便自己的修改,,也方便日后他人的閱讀,。
在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點,,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,,要么面向數(shù)據(jù),,缺乏兩者的有機結(jié)合,。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強的系統(tǒng),。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。
在今后的學(xué)習(xí)中要注意多讀書,、多思考,、多練習(xí)、多討論,,不斷熟悉書本的基礎(chǔ),,并以此為基礎(chǔ)將其擴散開來,應(yīng)用于今后的實踐,。不斷鍛煉自己,,向一名合格的程序設(shè)計師邁進。
共
2
頁,,當(dāng)前第,。
2
頁
1
2