通過寫心得體會,我們可以更好地對自己的學習和工作進行評價,為制定下一步的計劃提供依據(jù)。在寫作中,可以借鑒一些經(jīng)典的心得體會范文,但也要注重個性和獨特性。小編整理了一些精選心得體會,希望能夠?qū)Υ蠹业膶懽魈峁┮恍﹨⒖己蛶椭?/p>
軟件工程的學習心得體會篇一
這門課的作用就是,在你真正見過豬以前,先教你怎么吃豬肉,怎么騎著豬跑。
軟件工程導論所講述的內(nèi)容,其實并沒有很多人想象中的那么重要。就像是一本教你如何游泳的書。確實是一種非常重要的技能,但實際上你如果不看書,在水里撲騰幾天也就會了,只是姿勢不那么標準,游不了那么快。學會游泳非常重要,但其實并不是說你要學會這本書有多么重要。
他的內(nèi)容大部分都是一些總結(jié)出來的經(jīng)驗和方法。如果沒有真正的試驗過,很難有切身的體會。比如說你如果沒經(jīng)歷過整天用zip壓縮當天代碼保存的工作,就不會知道版本控制有多么重要。還有那些設計模式。比如singleton,你也許會說,用個全局變量,只生成一個對象不就可以了。自己寫小項目固然可以,但軟件工程作為一種“工程”,是很難一個人包攬全部工作的。你要多項目之間配合,要多人維護同一部分代碼。你要有一種確定的手段,來保證你這個類只有一個對象。所以把它提煉出來,總結(jié)成一種模式。
至于學習上,除了完成規(guī)定的學習目標外。我認為學過這門課,至少應該了解一個項目中會有哪些分工,大概是如何運行的。各種設計模式的話,了解一下就可以了。只要你以后在工作中,能記起來有這么個東西,這種情況下,某種模式可能比較合適,具體細節(jié)到時候再查就行了。
這門課自己也說,是門導論而已。介紹一下你以后可能遇到的坑,以后再遇到那個填那個好了。
軟件工程的學習心得體會篇二
轉(zhuǎn)眼,出來社會都已大半年,已是半個社會人了。不能再向?qū)W生那樣,某些時候可以隨心隨意。頂崗實習,為我們提供了一個很好的實踐機會,可以讓我們更好的把理論應用于實踐,在實踐中領悟理論,更可以學習到很多書本上學習不到的、甚至比理論知識更實用的業(yè)務知識。而且,這些實習經(jīng)驗,無疑是我們畢業(yè)后就業(yè)的一大籌碼。作為一個成年人,作為一個社會職業(yè)人,任何時候都要守規(guī)矩,做好自己的本分,承擔起自己所需要承擔的責任。經(jīng)歷了2家公司的工作,我漸漸的認識到,每一份工作或每一個工作環(huán)境都無法盡善盡美,但每一份工作中都有許多寶貴的經(jīng)驗和資源,如失敗的沮喪、自我成長的喜悅、溫馨的工作伙伴、值得感謝的客戶等等,這些都是工作成功者必須體驗的感受和必備的財富。如果每天懷著感恩的心情去工作,在工作中始終牢記“擁有一份工作,就要懂得感恩”的道理,你一定會收獲很多很多。在你收獲很多很多的同時,你會發(fā)現(xiàn)自己已經(jīng)在鍛煉中變得勇敢,堅強,樂觀,闊達。這樣的你,是不斷前進的走在成功的路上的。
將本文的word文檔下載到電腦,方便收藏和打印。
軟件工程的學習心得體會篇三
我們沒有進行過系統(tǒng)化軟件設計的教育和學習,對如何進行軟件的開發(fā)基本上就是想什么寫什么。根本沒有過系統(tǒng)化的設計。比如需求分析,可行性研究等。更不知道用什么模型來設計軟件。這在我們以后的工作中是完全不行的,沒有系統(tǒng)化的設計,是不可能滿足客戶的需求的。
胡老師讓我們分組進行軟件互換的形式來進行軟件的修改。其實胡老師就是想讓我們了解以后工作中,軟件是如何設計的和制作的。對于以前的編程,我們只能按照自己的想法,想一步做一步。根本沒有系統(tǒng)化的設計。通過對軟件工程導論這門課程的學習,一遍學習一遍實驗,實踐與理論相結(jié)合。開始其實我根本不理解各種圖的作用,覺得它們根本沒有用,就是照貓畫虎,沒有任何的實際意義。但是通過后面的學習和理解,對他們有了獨特的理解和想法。比如對uml來說。它是一種標準化交流的語言,它可以讓開發(fā)人員與客戶之間輕松的交流。用圖的形式向客戶展示軟件設計的流程,從中傳遞信息。簡單的說就是客戶和設計人員交流的手段。
這學習,不管是實驗小組的實驗還是老師您要求的程序,基本都是我一個人做的,所以對各種圖還是比較了解和掌握的。雖然對實驗報告的制作感覺到十分的吃力,工作量很大,但是還是通過幾個晚上的專心學習和制作,最后還是完成了。但是好多圖畫的還是很有問題,沒有真正的完全理解和掌握。但是在后面的學習和復習中,有了更正。
下面我對實驗進行一下總結(jié)。首先是實驗一結(jié)構化分析和設計,主要理解dfd圖,數(shù)據(jù)字典,erd圖和問題描述進行設計和學習。dfd圖主要分為三個方面,數(shù)據(jù)的源點,數(shù)據(jù)流和數(shù)據(jù)存儲。它將信息流和數(shù)據(jù)從輸入移動到輸出的工程中所經(jīng)受的變化。簡單的說就是主體,動作和數(shù)據(jù)單元的問題。接下來是數(shù)據(jù)字典,主要進行軟件操作單元的數(shù)據(jù)定義,格式化和功能說明。然后就是erd圖,根據(jù)短信系統(tǒng)的問題描述,可得到軟件實體,從而得到此圖。其次是實驗二和三面向?qū)ο蠓治龊驮O計。主要進行用例圖,場景描述,初始化類圖,協(xié)作圖的制作。先是從需求到業(yè)務用例圖,根據(jù)客戶需求(也就是我們軟件的需求)畫出用例圖。它的作用其實就是描述該實現(xiàn)什么業(yè)務或者說是功能。接下來就是場景描述,簡單來說就是軟件實際的操作的某個步驟的具體說明。跟著就是初始化類圖,重要作用就是顯示系統(tǒng)有哪些實體,實體的具體操作,實體間的關系。然后就是協(xié)作圖,主要作用是針對某個軟件的功能,進行交互過程的解釋,簡單來說就是具體業(yè)務的具體操作,而且是所有涉及到的操作。動態(tài)模型和靜態(tài)模型的建立,在面向?qū)ο蟮南到y(tǒng)中,業(yè)務流程表現(xiàn)在為對象之間的交互,對動態(tài)模型和靜態(tài)模型分析和總結(jié),從而產(chǎn)生順序圖。面向?qū)ο笤O計就是對實體類進行定義和說明,所有的類都是跟軟件里的類相對應。就是真正的類。最后就是實驗三編碼和測試,實驗主要對測試和編碼進行總結(jié)。從中總結(jié)制作過程和測試過程。
實驗對我來說可能很辛苦,但是我從中學到了很多。了解了很多圖的作用,也了解了以后工作的具體流程,這對我們以后的實際工作提供很多幫助。對我來說辛苦著收獲著快樂著。跟您的交流中也學到了很多知識??傊液軡M足。
軟件工程的學習心得體會篇四
軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它包括程序、相關數(shù)據(jù)及其說明文檔。軟件工程(softwareengineering,簡稱為se)是針對軟件這一具有特殊性質(zhì)的產(chǎn)品的工程化方法。se涵蓋了軟件生命周期的所有階段,并提供了一整套工程化的方法,來指導軟件人員的工作。任何事物都是從無到有的,軟件當然也不例外。上世紀中期,軟件產(chǎn)業(yè)從零開始起步,經(jīng)過半個多世紀的發(fā)展,其大致經(jīng)歷的3個階段:程序設計階段、軟件設計階段和軟件工程時代,現(xiàn)已成為推動人類社會發(fā)展的龍頭產(chǎn)業(yè),隨著信息化時代的發(fā)展,軟件對人類社會也將越看來越重要。人們對軟件的認識自然經(jīng)歷了一個由淺入深的過程,在得到巨大需求的同時,也遇到了一系列嚴重問題,即軟件危機。所謂軟件危機,是指在計算機軟件的開發(fā)和維護過程中所遇到的一些嚴重問題,其實質(zhì)是軟件產(chǎn)品的供應趕不上需求的增長。概括的說包含兩方面的問題:一、如何開發(fā)軟件,以滿足不斷增長,日趨復雜的要求;二、如何維護數(shù)量不斷膨脹的軟件產(chǎn)品。為研究和解決軟件危機,一門新興的學科軟件工程,應運而生。
軟件工程的概念是為了有效地控制軟件危機的發(fā)生而被提出來的,它的中心目標就是把軟件作為一種物理的工業(yè)產(chǎn)品來開發(fā),要求“采用工程化的原理與方法對軟件進行計劃、開發(fā)和維護”,它的主要對象是大型軟件,它的最終目的是擺脫手工生產(chǎn)軟件的現(xiàn)狀,逐步實現(xiàn)軟件開發(fā)和維護的自動化。軟件工程的概念自提出來后,經(jīng)過幾十年的發(fā)展,雖然軟件危機沒有得到徹底的解決,但在軟件開發(fā)方法和技術方面已經(jīng)有了很大的進步,提出了軟件工程知識體系、軟件工程三段論、軟件工程生存期模型、服用原則等等。
軟件開發(fā)過程大致經(jīng)過7個階段:可行性分析、需求分析、概要設計、詳細設計、編碼、測試、提交與維護。接下來逐一分析本人見解:
一、可行性分析:顧名思義,就是看項目究竟“能不能做”。有3個方面:技術可行性、經(jīng)濟可行性和操作可行性。要確定項目,首先要客觀的、科學的了解項目的規(guī)模、難度和時間限制,才可以確定應該投入多少人力、物力和財力去做這個項目,必須準確的估計項目的規(guī)模與難度??错椖渴欠裼袃r值去做,如果沒有價值,就放棄;如果有價值,就要看目前的資源是否能滿足項目的開發(fā)。如果項目有價值,且有必需的資源,那么就可以確定能做這個項目了。
2、通過什么方式去了解:直接與客戶交談;有些需求客戶講不清楚,分析人員又猜不透,這是就要請教行家。需求分析是非常重要的階段,如果做不好的話,后果很麻煩。
三、概要設計:解決“怎么做”的問題。將需求描述的“做什么”問題變?yōu)橐粋€實施方案的創(chuàng)造性過程,使得整個項目在邏輯上和物理上能夠得意實現(xiàn)。概要設計是第一個開發(fā)活動,也是最重要的活動,是軟件項目實現(xiàn)的關鍵階段。設計質(zhì)量的高低直接決定了軟件項目的成敗,缺乏或者沒有軟件設計的過程會產(chǎn)生一個不穩(wěn)定的、甚至是失敗的軟件系統(tǒng)。一個良好的軟件設計是進行快速軟件開發(fā)的根本,沒有良好的設計,會將時間花在不斷的調(diào)試上,無法添加新功能,修改時間越來越長,隨著給程序打上一個有一個的補丁,新的功能需要更多的代碼實現(xiàn),就變成一個惡性循環(huán)了。概要設計是軟件設計級別中的高級設計,是從需求出發(fā),描述了總體上系統(tǒng)架構應該包含的要素。概要設計盡可能模塊化,因此描述了各個模塊之間的關聯(lián),主要是根據(jù)需求規(guī)格或規(guī)格定義,合理、有效地實現(xiàn)產(chǎn)品規(guī)格中定義的各項需求,完成軟件模塊的劃分并描述模塊之間的關系,并不斷分解系統(tǒng)模塊,從高層分解到低層分解。它注重框架設計、總體結(jié)構設計、數(shù)據(jù)庫設計、接口設計、網(wǎng)絡環(huán)境設計等,將產(chǎn)品分割成一些可以獨立設計和實現(xiàn)的部分并保證各個部分可以和諧的工作。此過程中畫數(shù)據(jù)流圖、ipo圖、e-r圖、界面設計等。
出程序的詳細規(guī)格說明,這種規(guī)格說明類似于其他工程領域中工程師經(jīng)常使用的工程藍圖,程序員根據(jù)其中所包含的必要的細節(jié)寫出實際的程序代碼。用另一種方式說就是,詳細設計是將概要設計的框架內(nèi)容具體化、明細化,將概要設計轉(zhuǎn)化為可以操作的軟件模型,但在實際項目進行過程中,依據(jù)項目的具體情況和項目要求,這個過程可能可以省略(邏輯上沒有省略,表現(xiàn)在概要設計階段或者編碼階段),直接按照概要設計進行編碼;不過,個人認為最好有,有詳細設計可以更好的保證編碼順利的進行,可以預先掃清編碼過程中的障礙,提高代碼的質(zhì)量和編碼的效率。主要包括模塊描述、算法描述、數(shù)據(jù)描述,可以采用圖形、表格或者文字描述等方式表達出來。
代碼的時候,更不要錯過重構,另外,重構可以和設計互補。還有一點值得注意,要在必要的時候部署編碼文檔。
六、測試:看軟件是否符合標準。軟件編碼完成之后,將軟件提交給用戶之前,需要對軟件進行測試,這是保證軟件產(chǎn)品質(zhì)量的一個重要標準,也是評估產(chǎn)品質(zhì)量的主要手段。軟件測試是從軟件工程中演化出來的一個分支,有著非常廣泛的內(nèi)容,并且隨著軟件產(chǎn)業(yè)的發(fā)展,它已經(jīng)變得越來越重要。軟件與生俱來就可能存在缺陷,為了防止和減少這些可能存在的缺陷,進行軟件測試是有必要的,測試是最有效的的排錯和防止缺陷和故障的手段。最原始的測試莫過于直接運行軟件了,后來測試手段逐漸多樣化。測試手段有靜態(tài)測試、動態(tài)測試面向?qū)ο蟮臏y試、自動化測試等等之分。靜態(tài)測試或稱靜態(tài)分析是指一種不通過執(zhí)行程序來進行測試的一種技術,主要是檢查軟件的表示和描述是否一致,覆蓋程序的編碼格式、程序語法、檢查獨立語句的結(jié)構和使用等,主要包括代碼檢查、靜態(tài)結(jié)構分析、代碼質(zhì)量等等,可以通過人工進行,亦可借助工具(如:語法分析器)自動進行。動態(tài)測試是運行被測試的程序,通過輸入測試用例,對其運行情況進行分析,以達到檢測的目的,顯然動態(tài)測試封像我們通常意義上的“測試”。動態(tài)測試主要包括白盒測試、黑盒測試、灰盒測試(介于黑盒和白盒之間)。其他測試不再一一介紹。
打水漂了。為了保證成功地將我們開發(fā)的軟件提交給用戶,我們需要對用戶進行培訓,同時提交必要的文檔及用戶手冊軟件。維護就不用多說了,就是售后服務了。維護需要分析人員、編碼人員和設計人員等角色的參與,有糾錯行維護、適應性維護、完善性維護、預防性維護等。維護后,要寫軟件維護過程文檔,至少提交一個軟件維護記錄。以上是軟件工程及其幾個階段的介紹,知道怎樣開發(fā)軟件只是軟件工程的一部分,搞好團隊合作也是很重要的。項目是一個很大的工程,需要一個團隊的統(tǒng)籌規(guī)劃,團結(jié)協(xié)作,集思廣益,舉一反三,才能夠按預期完成。
軟件工程的學習心得體會篇五
在前不久的幾周里,剛剛結(jié)束了“軟件工程導論”課程的學習。這門課程帶給了我很大的啟發(fā),讓我對軟件工程這一新興學科有了全面的,深刻的認識。盧葦老師精彩的講演,同學們積極地提問與回答,都帶給了我深刻的認識。下面是我在學完該課程后的一些啟發(fā)。
一、我對軟件行業(yè)的認識。
眾所周知,計算機已經(jīng)是現(xiàn)代人生活的必需品。無論是工作、學習、生活、娛樂,我們的生活每時每刻都能見到它的蹤影。大到航天飛機的研制,原子彈、氫彈的引爆,笑道一個小小的電子表,都需要會軟件會變成的人來研制它,讓其工作。所以,伴隨著計算機而生的的潛在市場是十分巨大的,無數(shù)因此成功的公司便是印證,無論是喬布斯的“蘋果”,還是比爾蓋茨的微軟,亦或是馬克·扎克伯克的facebook,都獲得了世人的肯定。他們的成功被人稱道,但是不可否認的是他們的成功是建立在如此巨大的市場空間上的。所以,首先軟件行業(yè)有著充足的市場。
其次是我國的軟件力量。我們國家面臨著一個良好的社會的環(huán)境,社會安定,政府穩(wěn)定,特別是當前經(jīng)濟發(fā)展迅速,法制建設不斷完善,高新技術領域突飛猛進。但是由于法律制度不完善,并且從業(yè)人員普遍創(chuàng)新的意識不夠完善等等多方面的因素,我國的市場并非特別樂觀。我們都能清晰地看到許許多多成功的企業(yè)都未做到完全的創(chuàng)新,如“淘寶網(wǎng)”便是借鑒“亞馬遜”網(wǎng)站,而“人人網(wǎng)”也與facebook有極大的相似度,而騰訊更是眾所周知的山寨之王。但是換個角度看看,這正說明,我國的軟件具有極大地潛力,在未來的幾年,幾十年之間,我國的軟件行業(yè)必會重新洗牌,涌現(xiàn)出強大的軟件企業(yè),而我們,也一定有機會實現(xiàn)自己的軟件夢。
第三是我國軟件行業(yè)的人員構成。我國的軟件行業(yè)目前主要還是中低素質(zhì)人員構成。打不風程序員,他們沒有系統(tǒng)的、完整的學習整個軟件工程的知識,僅僅靠自學或者短期學習,掌握到部分的、片面的知識就已經(jīng)進入從業(yè)階段,這樣的學業(yè)使他們不能夠勝任自己的工作。而高端的軟件從業(yè)人員相比較而言是相對稀少的,所以我國的軟件行業(yè)并未真正崛起。我們急需那樣的高端人才,而這些人才,便是現(xiàn)在我們學院所努力培養(yǎng)的。
二、我對我們學院軟件工程專業(yè)的認識。
it行業(yè)是隨著電子信息產(chǎn)業(yè)的發(fā)展而逐步發(fā)展起來的,并且日益得到完善。it行業(yè)的平穩(wěn)增長必然會帶來軟件工程師需求的增長,目前隨著it產(chǎn)品出現(xiàn)的技術融合,市場需求的巨大和專業(yè)人才的缺乏,由此可知,軟件行業(yè)還是比較樂觀的。但軟件行業(yè)需要的也是復合型人才,軟件工程師需要掌握更多的編程語言。
北京交通大學軟件學院是經(jīng)教育部批準的國家示范性軟件學院。學院成立于2月,是為適應我國經(jīng)濟結(jié)構戰(zhàn)略性調(diào)整的要求和軟件產(chǎn)業(yè)發(fā)展對人才的迫切需求,實現(xiàn)我國軟件人才培養(yǎng)的跨越式發(fā)展而建立的。學院充分發(fā)揮學校的計算機學科優(yōu)勢和it企業(yè)資源綜合優(yōu)勢,利用已有的辦學與市場資源,與國內(nèi)外著名的it企業(yè)開展合作,在管理體制、運行機制、教育思想與理念、人才培養(yǎng)方案與課程體系、教學模式與方法、產(chǎn)學研合作等領域大膽創(chuàng)新,已探索出一條有效地培養(yǎng)“國際化、工業(yè)化、高層次、復合型”軟件人才的辦學之路。
作為教育部批準的全國36所示范性軟件學院和學校教育體制改革與辦學機制創(chuàng)新的試驗田,北交大軟件學院承載著學校的殷切期望。作為國家重要的軟件人才培養(yǎng)基地,在管理體制、運行機制、教育思想與理念、人才培養(yǎng)方案與課程體系、教學模式與方法、產(chǎn)學研合作等領域大膽創(chuàng)新,探索出一條有效地培養(yǎng)“國際化、工業(yè)化、高層次”軟件人才的辦學之路,推出了“2+1+1”人才培養(yǎng)模式。作為一名北京交通大學軟件學院的靴子,我感到十分自豪。
三、我未來的職業(yè)規(guī)劃。
在學習完院長的導論課后,我對自己的直接規(guī)劃產(chǎn)生了很深的想法并且做出了很大的改變。首先,我一定要努力完成大學的學業(yè)。在大學一年級,我要認真地完成專業(yè)課程,努力學好c語言和java的課程,同時擴大自己的知識面,多多學習一些有關軟件方面的知識,不斷地充實自己。
在大學。
二、三年級,我要注重學習java基礎知識、多學習項目開發(fā)經(jīng)驗,了解項目開發(fā)業(yè)務知識,并在學習中掌握db2數(shù)據(jù)庫的sql語句的復雜查詢以及管理操作,并深入學習了解struts、hibernate、spring相關操作。同時在大三結(jié)束之前,我要至少了解并熟悉2門編程語言,、c++、php;并學習掌握noracle、ms-sql數(shù)據(jù)庫管理操作;掌握軟件開發(fā)各個階段的基本技能,如市場分析,可行性分析,需求分析,結(jié)構設計,詳細設計,軟件測試等。如果有時間的話,還要學習管理方面的相關知識,由技術型向管理型方面的轉(zhuǎn)移。我要多多鍛煉自己的能力,不論待人接物,還是進行演練,都要積極參見,努力爭取較大的提升。
在大學四年級,學校會安排比較多的實習,到那時候,就要好好工作,發(fā)揮自己前三年學到的知識,努力完成自己的畢業(yè)實習,最后,優(yōu)秀地完成自己的大學學業(yè)。如果能夠,我將選擇繼續(xù)深造,可以通過保研,考研等等許多途徑,努力獲得研究生的資格。同時,就業(yè)也是一個不錯的選擇,但是不論考研還是工作,我都要一如既往地補充自己,不斷提高自己的專業(yè)水平。在工作時,我會優(yōu)先選擇私人的,創(chuàng)意性比較強的公司,從中積累經(jīng)驗,并且努力奮斗,成為復合型人才,我便可憑此進入大公司或者幫助自己的公司變得更加強大和成功,最后成為it行業(yè)中優(yōu)秀的一員。
四、總結(jié)。
盧葦教授的“軟件工程導論”真的讓我獲益良多,對于軟件工程專業(yè)有了深刻的了解,對自己以后的道路的安排也有了深刻的認識。上課的日子總是很快,不知不覺中遍結(jié)了課,我感到如夢初醒,因為我們才敲開軟件知識的大門。路漫漫其修遠兮,吾將上下而求索。不經(jīng)歷風雨怎能見彩虹。我要時刻保持一顆清醒的頭腦,隨時為自己的目標而奮斗。其實,每個人心中都有一幅畫,描述著理想、信念、追求、抱負;每個人心中都有一片森林,承載著鳥語花香的甜蜜、陰森恐懼的彷徨。一個人,若要獲得成功,必須拿出勇氣,付出努力、拼搏、奮斗、成功。機遇不同情眼淚的憂傷、不相信頹廢的絕望,只期待愛打拼、時刻準備著的人。
軟件工程的學習心得體會篇六
作為一名軟件工程專業(yè)的學生,我在近期學習的“軟件工程概論”課程中有了很多收獲和體會。通過這門課程,我更加深刻地認識到了軟件工程的重要性和其領域的多樣性。在日后的學習和實踐工作中,我將會更加努力地掌握相關知識,提升自己的技能和綜合素質(zhì),做一個優(yōu)秀的軟件工程師。
本次軟件工程概論的課程主要從軟件過程、軟件生命周期、軟件質(zhì)量、軟件工程方法學等方面進行了系統(tǒng)的介紹和講解。在學習過程中,我們通過理論學習和實際案例演示等多種方式,深入了解了軟件開發(fā)的全過程,明確了軟件需求分析、軟件設計、編碼與測試、維護等各個環(huán)節(jié)的重要性。同時,學習了如何控制項目中的工期、成本和質(zhì)量,如何保證項目進度和質(zhì)量的有效管理,以及如何開展有效的軟件開發(fā)工作。
在學習軟件工程概論的課程中,我更加深刻地認識到了軟件工程的重要性和復雜性。我們需要在整個軟件開發(fā)的過程中,進行需求分析、系統(tǒng)設計、開發(fā)和測試等一系列的工作,確保軟件系統(tǒng)能夠滿足預期目標。同時,我們也需要關注軟件的維護和更新,隨時根據(jù)需求進行優(yōu)化和改進。在實踐的過程中,我們還需要進行團隊協(xié)作,有效地管理項目進度和質(zhì)量等方面的問題。只有當我們充分理解軟件的復雜性,并且有一套有效的軟件開發(fā)及管理模式時,才能夠順利地推進項目工作,取得良好的效果。
學習軟件工程概論,不僅能夠?qū)W習到知識,更能夠培養(yǎng)我們的素質(zhì)和能力。我們通過學習軟件開發(fā)的流程和方法,養(yǎng)成了系統(tǒng)化的思維方式,能夠更好地理解問題和解決問題。同時,我們也學習到了互聯(lián)網(wǎng)時代的軟件開發(fā)模式和管理方式,使我們更加適應互聯(lián)網(wǎng)時代的工作環(huán)境。此外,我們對團隊協(xié)作、進度管理和質(zhì)量控制等方面的問題也有了更深入的認識。這些都將為我們?nèi)蘸蟮膶W習和工作提供極大的幫助。
五、結(jié)語。
軟件工程概論的學習,使我對軟件工程有了更深入的了解。我了解了軟件開發(fā)的全過程和軟件項目管理的重要性;同時,我養(yǎng)成了系統(tǒng)化的思維方式,能夠更好地應對未來的學習和工作。在以后的學習和實踐工作中,我將會更加努力地掌握相關知識,提升自己的技能和綜合素質(zhì),成為一名優(yōu)秀的軟件工程師。
軟件工程的學習心得體會篇七
初學軟件工程第一周的時候以為只是純粹的理論課毫無用處,其實不然。深入了解之后發(fā)現(xiàn)它對程序的設計,錯誤的檢測以及軟件測試,編寫方面有不可磨滅的便捷好處。開發(fā)一個軟件時,對原定的系統(tǒng)模型和目標的現(xiàn)實以及系統(tǒng)完成后所帶來的效益的預判斷,可以明確開發(fā)與否,否則就是浪費人力,物力以及時間。
以下是所學過程中的知識點:
(1)軟件危機:軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。
所以若要解決軟件危機,既要有技術措施(方法和工具),又要有必要的組織和管理措施,軟件工程正是從管理和技術兩方面研究如何更好得開發(fā)和維護計算機軟件的一門新興學科。
軟件工程是指導計算機軟件開發(fā)和維護的一門工程學科。采用工程的概念、原理、技術、和方法來開發(fā)與維護軟件。
軟件工程方法學包含3個要素:方法、工具和過程。
(2)軟件生命周期:軟件定義、軟件開發(fā)和運行維護。
軟件開發(fā)階段:問題定義,可行性研究,需求分析,總體設計,詳細設計,編碼和單元測試,綜合測試,軟件維護。
軟件維護主要任務:是使軟件持久的滿足用戶的需要。
軟件過程目的:為獲得高質(zhì)量軟件所需要完成的一系列任務的框架,規(guī)定了完成各項任務的工作步驟。
其中:可行性分析:技術可行性,經(jīng)濟可行性,操作可行性。
(3)判定表和判定樹能夠清晰地表達出各種動作之間的對應關系。
第一個軟件生命周期,瀑布型生命周期。
程序設計:低耦合高內(nèi)聚。
(4)學會畫程序流圖,sc圖,er圖,dfd圖,順序圖以及協(xié)作圖。學會讀圖,可以獨立完成相關計算題。
軟件工程的學習心得體會篇八
這次軟件工程實訓是從__年__月__日號開始的,截至__年__月__日號。實訓內(nèi)容是用java相關知識(主要是jsp)做一個物流配送系統(tǒng)。下面談談對這次實訓的看法。
因為自己平時對java知識儲備不足,特別是jsp這一塊基本不了解怎么回事,所以一拿到這個項目,我心里都是沒有底的,再加上我被分到的那個組,我知道就意味著是我一個人在戰(zhàn)斗了。呵呵,26號,實訓開始了,我們的老師是來自中軟國際公司的程序員,一個是周褀,一個是朱映,都是一身樸素的著裝,讓我感覺做軟件的也沒什么兩樣。老師介紹了自己之后,就直接切入正題了,分析了下我們各個組的系統(tǒng),即將用到的知識,然后就總體把覺得需要補充的知識(jsp和數(shù)據(jù)庫連接等這幾塊)給我們實際操作了下,因為當時看到用jsp,還講的那么認真,當時我就后悔了,平時要是多聽點,現(xiàn)在老師這么認真的給我們講,這是一個多么難得的機會啊。后悔也沒用啊,開始還勉強能理解一點,后來就直接暈了。然后再給大家介紹了一些即將用到的工具,比如rationalrose,svn,myeclipse等等。接下來的幾天就不再細講了。下面談談通過這次實訓的心得體會吧。
通過這次實訓,讓我了解到工程開發(fā)的過程,可行性分析——需求分析——概要設計——詳細設計——代碼編寫——測試——驗收。從技術方面上,我開始jsp基礎基本上就是零的,在老師和syz2(另外一個物流小組,我一個人基本上是跟她們做的,或者說是看著她們做的)的幫助下,對jsp有了一個大概的認識。其實實訓開始前,我還以為做個系統(tǒng)沒什么大不了,可是當真正拿到一個項目,我卻真的無從下手了,而且就是在知道需求分析和詳細設計,在代碼編寫時,一樣寸步難行。通過這個實訓,也讓我了解到,團隊協(xié)作是多么的重要。一個人的精力是多么的有限。進一步理解到,企業(yè)為什么如此重視團隊協(xié)作。同時借用老師的話就是團隊協(xié)作固然重要,但是是建立在個人素質(zhì)的基礎上,假設你個人素質(zhì)不行,將會影響到整個團隊,就別提對團隊作更多貢獻了。__老師說這幾句話的時候,朝向了我,估計是有特殊意義的吧,所以,我將謹記老師的教導。
還有一個收獲是從一個同學(小胖)那里得到的,他的那組成員跟我的這組大體一樣,我倒是覺得沒什么了,不過他倒是很重視這個問題吧。然后他說出來,我也覺得這個問題確實其實是個大的問題。就是不管你會不會這門技術,會不會做這個東西,態(tài)度要正確才好,就算你不會做,你也應該認真的對待,將來出身到社會,就不是說像你現(xiàn)在,不會做就不做,跑去玩游戲了。小胖說出了這段話,也在我身上有了一個印證,雖然我jsp技術知識為0,但我也還是在認真的跟著他們一起做,不會做,就多問,畢竟現(xiàn)在我們是學生,可以毫不顧忌的詢問各種問題,老師也會盡力為你回答。將來出身社會就不一樣了。雖然,我就算個打醬油的水平,但是這個醬油也要打得有涵量啊。不管怎么樣,我能對自己有個交待,雖然我不會,但是這次實訓我確實是認真對待了,六天的實訓,除了晚上加班外,還花了2個通宵來完成不同階段的任務,完成與否也不重要了,我至少我做了,這點,是這次我應該對自己的一個肯定。
這次實訓的心得基本上就是這些了,最后特別感謝中軟國際帶我們的那兩個老師(周褀,朱映),這兩個老師對待我們很平易近人,對我們提出的問題,總是不光解決了,還進行了擴展,晚上也跟我們一起加班加到很晚,印象尤其深刻就是朱映老師為了給小胖解決一個問題,臉都變紅了,還在繼續(xù)努力,這點我并不會覺得老師知識儲備不夠,我想應該是這個問題的突發(fā)吧,一時沒想到怎么處理。相反讓我感覺更多的就是老師很認真,很負責。還要感謝就是syz2小組的傾力支持,輔導。
軟件工程的學習心得體會篇九
15天的實訓結(jié)束了,今天做的是紙牌游戲軟件和趣味打字游戲。今天的東西對我來說有點難度,最后沒有能過完全做完。但是我還是覺得這是一個不錯的實訓,在這種集體的環(huán)境里和同學們一起學習,每天的生活過的也是非常的充實。
此次實踐課我的收獲很多。我和同學們這一次真正自己動手制作了一個小軟件,雖然還存在很多的問題,而且我做的軟件在使用起來還是很不可行的,但是我們從中受到了很多知識,不僅是專業(yè)的知識,更讓我明白了一個軟件從設計到實現(xiàn)的每一個環(huán)節(jié)真的很不容易,不僅需要扎實的專業(yè)知識,更需要一個團隊的配合,這才是一個軟件成功的關鍵。這就告訴我們,一個人的出色不算什么,一個團隊的出色才是真正有用的。
剛開始拿到題目我們組員都不知如何下手,經(jīng)過小組成員一起查找資料,并且開會討論,我們確定了設計的設計目標以及具體實現(xiàn)方式,包括如何將java的思想運用到實際系統(tǒng)的詳細設計之中。
在實驗課上,我學會了很多學習的方法。而這是日后最實用的。要面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐。這對于我的將來也有很大的幫助。以后,不管有多苦,我想我都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我都可以在實驗結(jié)束之后變的更加成熟,會面對需要面對的事情,以及學會遇到問題,不急不慌,慢慢解決它。
雖然過程辛苦是不可避免,但收獲還是令人感到尤其的欣慰。在這次的軟件設計中不僅檢驗了我所學習的知識,也培養(yǎng)了我的實踐能力,讓我知道遇到一個問題,如何去尋找思路,如何去解決問題,最終完成整個事情。在設計過程中,與同學分工設計,和同學們相互探討,相互學習,相互監(jiān)督。學會了合作,學會了寬容,學會了理解,也學會了做人與處世。課程設計是我們專業(yè)課程知識綜合應用的實踐訓練,是我們邁向社會,從事職業(yè)工作前一個必不少的過程。實驗過程中,也十分感謝實驗指導老師陳中育老師的指點與教導。這次軟件設計不僅是對這學期所學知識的一種綜合檢驗,而且也是對自己動手能力的一種提高,增強了自己實踐能力。通過這次課程設計使我明白了自己知識還比較欠缺,只是學習書本知識還是遠遠不夠的,自己不會的東西還有太多,學習需要自己長期的積累,在以后的學習、工作中都應該不斷的學習,將課本的理論知識與生活中的實踐知識相結(jié)合,不斷提高自己文化知識和實踐能力。
軟件工程的學習心得體會篇十
作為軟件工程師,我一直對自己在軟件開發(fā)領域的發(fā)展感到自豪。近年來,我一直致力于提高自己的技能,并在實踐中不斷探索和學習。在這個過程中,我收獲了許多寶貴的經(jīng)驗和體會,讓我更好地理解了軟件工程師的角色和職責,特別是在團隊合作方面的重要性。
第二段:個人成長。
我的軟件開發(fā)之路始于大學時期學習編程語言,并在一家創(chuàng)業(yè)公司中獲得了第一份實習工作。在這一階段,我經(jīng)歷了許多挑戰(zhàn)和學習機會,計劃和設計軟件解決方案成為我的長項。在后來的工作中,我不斷提高自己的團隊合作技能,學會協(xié)調(diào)和溝通,特別是在多功能項目中尤為重要。
第三段:貢獻團隊。
作為軟件工程師,我有責任在團隊中發(fā)揮重要作用,同時也需要學會尊重其他專業(yè)人員的意見和建議。我的目標是成為一名優(yōu)秀的團隊成員,通過協(xié)作和討論尋求最優(yōu)解決方案。在項目中,我總是盡力爭取更高的質(zhì)量和效率,發(fā)現(xiàn)和解決問題,對團隊的發(fā)展做出貢獻。
第四段:重視學習。
隨著軟件技術的不斷發(fā)展,我們必須與時俱進,不斷學習新知識和技能。我經(jīng)常參加工作坊、研討會等活動,與同行交流經(jīng)驗,并積極閱讀相關書籍和文章。通過不斷學習,我擴大了自己的技能和知識范圍,更好地服務于團隊和客戶。
第五段:結(jié)語。
軟件工程師的工作需要我們具備多種技能和素養(yǎng),而不僅僅是編程。我們需要協(xié)作,溝通和解決問題能力,同時也需要開放心態(tài)和持續(xù)學習的意愿。我相信通過不斷的積累經(jīng)驗和體會,我們將不斷提高自身能力,為軟件行業(yè)的發(fā)展做出更大的貢獻。
軟件工程的學習心得體會篇十一
在本學期的軟件工程課程的學習中,我們學習了十一章的內(nèi)容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法。還引出了工具uml。第三章軟件需求獲取與結(jié)構化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結(jié)構化分析方法,畫分層的數(shù)據(jù)流圖、e—r圖以及狀態(tài)圖式本節(jié)的重點。第四章結(jié)構化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結(jié)構以及模塊結(jié)構的改進。第五章編碼,這一章重點講解了編碼的風格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風格。第六章軟件測試方法,本章講解了軟件測試相關的概念及重要性,軟件測試與開發(fā)各個階段的關系;還介紹了白盒測試技術以及黑河測試技術。第七章統(tǒng)一建模語言uml概述,本章詳細介紹了uml的基本模式、事物、關系及建模時用到的各種圖進行了介紹。第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。第九章軟件體系結(jié)構與設計模式,本章對軟件體系結(jié)構的基本概念、典型風格等進行了講解。第十章面向?qū)ο笤O計,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細化。第十一章軟件維護,本章主要介紹軟件維護的任務、軟件維護活動以及軟件維護方法進行了介紹。
要學習軟件工程,學會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則:軟件工程目標:生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預期功能的程度??捎眯灾杠浖窘Y(jié)構、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設計、實現(xiàn)、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統(tǒng)結(jié)構,包括子系統(tǒng)、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構說明及加工描述。實現(xiàn)活動把設計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學習了詳細設計的方法,其原則是過程描述是否易于理解、復審和維護,進而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細設計與代碼完全一致。包括程序流程圖、n—s圖、pad圖、hipo圖。
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。它獨立于任何一種程序設計語言,比較直觀和清晰地描述過程的控制流程,易于學習掌握。在流程圖中只能使用下述的五種基本控制結(jié)構:順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。
n—s圖:一種符合結(jié)構化程序設計原則的圖形描述工具,稱為盒圖,又稱為n—s圖。在n—s圖中,為了表示五種基本控制結(jié)構,規(guī)定了五種圖形構件。順序型;選擇型;while重復型;until重復型;多分支選擇型。
pad圖:它是用結(jié)構化程序設計思想表現(xiàn)程序邏輯結(jié)構的圖形工具。pad也設置了五種基本控制結(jié)構的圖示,并允許遞歸使用。
hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設計中使用的主要表達工具。
hc圖既是層次圖,用于表示軟件的分層結(jié)構。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯(lián)系。
還有測試方法:按照測試過程是否在實際應用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。
靜態(tài)分析技術:不執(zhí)行被測軟件,可對需求分析說明書、軟件設計說明書、源程序做結(jié)構檢查、流程分析、符號執(zhí)行來找出軟件錯誤。
動態(tài)測試技術:當把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關系。
還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今后的學習中一定會慢慢的完善的。
軟件工程對于初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟件工程,不是僅僅把幾本專業(yè)書籍細致地看幾遍,然后上機練習幾次就可以成功,學習過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學,肯定是什么都學不透的,要集中精力打攻堅戰(zhàn),學習軟件工程首先要明白自己的學習目標究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應的學習方向上進行提高,制定出詳細的學習規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學習面向?qū)ο蠓治龅臅r候要結(jié)合大一學習的面向?qū)ο蠹捌浞椒▽W這一專業(yè)科目進行研究拓展;在學習語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學到的知識通匯貫通。
在軟件工程的學習中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結(jié)報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學習中,我更了解到形成自己獨特的規(guī)范的編碼風格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今后的學習中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎上形成屬于自己的風格,即方便自己的修改,也方便日后他人的閱讀。
在學習中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O計和問題求解更符合人們?nèi)粘W匀坏乃季S習慣,適合大型、復雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。
在今后的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,并以此為基礎將其擴散開來,應用于今后的實踐。不斷鍛煉自己,向一名合格的程序設計師邁進。
軟件工程的學習心得體會篇十二
軟件工程師是一個充滿挑戰(zhàn)和機遇的職業(yè)。在我從事軟件開發(fā)工作的這段時間里,我不斷學習和成長,越來越喜愛這個行業(yè)。在這篇文章中,我將分享自己關于軟件工程師的心得體會,希望對其他人有所幫助。
第一段:專業(yè)知識的重要性。
作為軟件工程師,我們必須對技術的掌握非常精通,我們在不斷的探索和學習新的工具和技術。我們必須持續(xù)不斷地關注業(yè)界的最新動態(tài),及時掌握前沿技術,像人工智能、區(qū)塊鏈等這些新技術都值得我們?nèi)ヌ骄俊Ec此同時,掌握好基礎的計算機科學知識也是需要的。掌握這些知識既能幫助我們更好地理解系統(tǒng)內(nèi)部實現(xiàn)機理,也能避免犯一些低級的錯誤。在學習和成長的過程中,我體會到了這一點。
第二段:團隊合作的重要性。
在軟件開發(fā)領域,沒有人能獨善其身。在一個團隊中,每個人都有自己的專業(yè)領域,只有團隊共同合作才能實現(xiàn)項目的成功。因此,團隊合作是成功的關鍵。在團隊工作中,我們必須學會彼此傾聽,交流并協(xié)作。我們必須以實現(xiàn)目標為導向,共同完成任務。同時,探討問題并互相幫助也是必要的。這些方面都可以提高我們的溝通能力,并促進合作的成功。
第三段:代碼質(zhì)量的重要性。
軟件工程師所編寫的代碼是企業(yè)技術資產(chǎn),同時也是開發(fā)者個人的財富。因此,編寫優(yōu)質(zhì)的代碼是非常重要的。良好的代碼質(zhì)量可以提高系統(tǒng)的可維護性和可擴展性,減少后續(xù)的工作量,同時也可以為編寫代碼的人提供一份技術遺產(chǎn)。還有就是一個高效、優(yōu)質(zhì)的代碼可以提高團隊的安全和整體效率。在我的經(jīng)驗中,保證代碼質(zhì)量可以使系統(tǒng)更加穩(wěn)定可靠,同時也可以讓開發(fā)者和團隊獲得更高的聲譽。
第四段:思考的重要性。
軟件工程師是一個需要保持開放性思維的職業(yè),我們需要在不斷的探索和思考中成長和進步。嘗試去遇到新事物并探究它們的實現(xiàn)方法,吸收不同的思路和思考方式,這些都是非常好的方法。思考可以幫助我們更加深入地理解一個問題,也有助于我們找到解決問題的方法。因此,保持開放性思維,創(chuàng)新思考就顯得非常重要。思考能助于我們預先考慮項目中可能出現(xiàn)的問題,從而提前解決。這就可以讓我們在未來的開發(fā)需求中更好地迎接新的挑戰(zhàn)。
第五段:持續(xù)學習和成長。
軟件工程師的職業(yè)生涯需要不斷的學習和成長。保持對技術的持續(xù)學習和學習新的工具和技術是追求成長的最好途徑。因此保持學習的態(tài)度,介入到新依賴和組件中去創(chuàng)造用戶會很喜愛的產(chǎn)品。同時,不斷地學習也能拓寬了自己的視野,了解各種技術的優(yōu)點和缺點。保持求知欲,不斷學習,用最好的狀態(tài)去完成我自己和團隊的任務。
總之,軟件工程師的工作是充滿挑戰(zhàn)和機遇的。實現(xiàn)成功的關鍵在于專業(yè)知識、團隊合作、代碼質(zhì)量、思考能力和持續(xù)學習。我相信,人們只要持續(xù)學習和努力進步,定能成為更好的軟件開發(fā)者。
軟件工程的學習心得體會篇十三
軟件工程(softwareengineering,簡稱為se)是一門研究用工程化方法構建和維護有效的、實用的和高質(zhì)量的軟件的學科。它涉及到程序設計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標準,設計模式等方面。在現(xiàn)代社會中,軟件應用于多個方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時,各個行業(yè)幾乎都有計算機軟件的應用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應用促進了經(jīng)濟和社會的發(fā)展,使得人們的工作更加高效,同時提高了生活質(zhì)量。
在給定成本、進度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產(chǎn)品。
是指圍繞工程設計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。軟件工程的原則有以下四項基本原則:1)選取適宜開發(fā)范型;2)采用合適的設計方法;3)提供高質(zhì)量的工程支持;4)重視開發(fā)過程的管理。
據(jù)說上個世紀60年代的程序員都是天才,寫程式就像寫日記一樣,吃過晚飯沒事干隨手就可以寫幾個出來玩,第二天還可以拿去賣錢。所以那時候程序員在大家眼中,跟那些搞美術,音樂的是一類的,被稱為“藝術家”。
但事過境遷,就像任何人都不會嫌錢多一樣,永遠都不會有人嫌cpu快的。于是,隨之而來的就是硬件的迅猛發(fā)展和越來越變態(tài)的軟件。記得以前常去同學家拷游戲,通常幾張軟盤就可以搞定,而現(xiàn)在的游戲,兩三張cd-rom都算少的了。像如此龐大復雜的怪物,就算你是如何的天才,一個人肯定是搞不定的,否則,等你把程式寫出來,人家intel連奔騰n都開發(fā)出來了。既要開發(fā)大型的軟件還要追求速度(這樣才能賺錢),于是很自然地,合作的概念被提了出來。
在開始合作的初期,由于大家都習慣了當很有個性的“藝術家”,結(jié)果可想而知,一個是畢加索派的,而另一個是意大利印象派的,再加上一個畫潑墨山水畫的,要是像這樣湊出來的東西都能不出問題的話,那么bill早就轉(zhuǎn)行了。所以,那時侯的大型軟件,據(jù)說“藍屏”比windows98還多。
馬克思告訴我們,萬物都是從量變到質(zhì)變的。隨著問題的不斷涌現(xiàn),一些master們開始嘗試去總結(jié)經(jīng)驗,并歸納了一些規(guī)范去指導軟件的分析,設計,實現(xiàn),測試,維護,人員交流協(xié)作,項目預算及時限控制等方方面面,這就是軟件工程的前身。
軟件工程到現(xiàn)在已發(fā)展了30多年,可以說是相當成熟的了?,F(xiàn)在開發(fā)軟件,據(jù)說都是一大幫人排排坐,按著一整套的規(guī)章制度來干活。于是,軟件開發(fā)成了“工程”,程序員也就淪為“工人”了。
軟件工程,說白了,就是這樣一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。簡單來說,就是對于總體的組織和對于局部的實現(xiàn)。
開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。除了第一步外,其余的步驟應該是一個循環(huán)的過程。既然軟件開發(fā)是一個具有不可預知性和變化性的`動態(tài)的過程,那么,對其每一個步驟的組織,即周期模型,就必須包容它的這種性質(zhì)。
具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。文檔的作用在于以下3個方面:一是可以幫助整理思路。把要完成的目標,系統(tǒng)的結(jié)構,每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據(jù)可依,在需要回過頭來修改設計的時候,也有證可考。二是便于交流。想象一下開會時的情形。一大幫子人爭先恐后,激烈辯論,然后會終人散,思想靈感也就隨之散了,結(jié)果是開了半天會,什么也沒討論出來。這就是后來會議記錄被發(fā)明出來的原因。在腦子里的東西一多,就會散而且亂,用語言表達的時候,很容易會丟三落四,別人也很難把握住你的思想。但經(jīng)過整理寫在紙上以后,則會清晰得多,無論是別人還是自己,看起來都可以一目了然。三是可以作為以后維護時的參考資料。有一句名言:“筆和紙永遠都比大腦可靠”,意思就是說,放在大腦里的東西說不準哪天就忘了,但寫在紙上的東西,只要不發(fā)生什么意外,一般是丟不了的。當過了一段時間,你需要再回過頭來修改你的程序的時候,你就會發(fā)現(xiàn),你以前寫下的文檔實在太有價值了。別指望你的源代碼,對于復雜一點的程序來說,單純的源代碼幾乎會扼殺掉你所有的時間。
可行性分析就是關于當前項目能不能干的分析結(jié)果。主要考慮的方面包括:是否能把這個項目開發(fā)出來;假如可以的話,預計需要多少時間,能否滿足客人的時間要求;需要多少人力和資金的投入;最重要的是,這個項目能否賺錢,能賺多少。還要對可能存在的風險進行評估。
時間飛逝,不知不覺間《軟件工程》的學習完了。在這將近半學期的學習中,雖然我不能說我將《軟件工程》學習的有多么的好,但是通過學習,我還是受益良多。
在以前,我一直對軟件存在一些偏見或則是誤解,認為軟件就是程序,軟件的開發(fā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發(fā)好的軟件產(chǎn)品。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學生,就能組成一個軟件公司。
但是通過了《軟件工程》這門課的學習,使我認識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,有充分的認識,才能更好的開發(fā)出,過程受控、質(zhì)量受控的軟件產(chǎn)品。
而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內(nèi)心深處進行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感。
而且通過學習《軟件工程》,我還學到了很多其他的東西。比如通過學習《軟件工程》,特別是教員的課程講解和每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等。而且通過學習《軟件工程》,還讓我認識和培養(yǎng)了我的團隊協(xié)作能力,特別是對于我們這些在校的學生來說,這種學習更是能讓我在以后工作中少走很多的彎路。
所以,通過《軟件工程》的學習,我是真的學習到了很多有用的東西,讓我明白了很多的道理。在此我對教員的辛勤教育表示感謝,因為是你讓我學習到了這些,是我獲益良多。
軟件工程的學習心得體會篇十四
軟件工程經(jīng)濟是近年來出現(xiàn)的嶄新的研究方向,是軟件工程和經(jīng)濟學相互融合深入的產(chǎn)物。下面是本站小編為大家整理的軟件工程。
供你參考!
時間過的很快,轉(zhuǎn)眼間已經(jīng)實習將近5個月,其中有2個月是屬于完全被流放的。最先在內(nèi)部系統(tǒng)組參與內(nèi)部管理系統(tǒng)開發(fā)(struts+mysql+spring+hibernate),之后是去做網(wǎng)絡交換機軟件的腳本測試。現(xiàn)在又回歸內(nèi)部系統(tǒng),雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測試經(jīng)驗。
至少自己做的東西,是真正交付到了客戶手上,到也稍微有些成就感。
1、淺談測試。
一直以來,我都認為測試是脫離了軟件工程范圍的工作,不以為屑。但在實際情況中,測試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經(jīng)驗總結(jié)和想象力。而要做到高級測試工程師,則一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面具體運作的前提。但占主導地位的,還是大型系統(tǒng)的集成測試經(jīng)驗。實際項目中,編碼時間一般只占30%左右,真正耗費時間的是it階段的找bug與對應bug,此階段基本評定了coder的編碼質(zhì)量。
2、程序員的困惑。
有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此基礎上去做具體記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數(shù)據(jù)庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學會調(diào)試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調(diào)試追蹤。
如果你能在短短的時間內(nèi)就看到問題點在那,放下斷點去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運行期間的具體值,那是最好途徑。eclipse是個很爽的ide,這點做的很好。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫查詢語句去下手,設置斷點,一步一步stepover,讓sql字段(存取最終sql語句的字符串)運行到有值,inspect進去看,如果還看不出來,就點擊它,copy后在sql客戶端去實際運行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調(diào)用的錯誤或者action邏輯的傳值問題。
頁面錯誤的調(diào)試,基本方法是用右鍵點擊實際網(wǎng)頁查看源代碼,copy到editplus,就能看到具體錯誤發(fā)生在那幾行。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調(diào)用的字段有可能為空的情況出現(xiàn)的,可以加if(=null)語句加保護。追蹤的方法基本就是用alert語句,放在有可能出錯的地方。
4、一些習慣。
遇到問題先自己思考,無從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學到的東西遠遠比書多的多。
解決了一個問題后,要去究根問底去找到問題產(chǎn)生的起因,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經(jīng)看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。
任務完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務,只要你肯去嘗試,他們就會對你另言相看,把三天的任務一天加班搞定,效率和忠誠都有了,路也比較好走了。
一、實訓目的:
通過對java語言、sql數(shù)據(jù)庫的應用以及sql語言的復習和鍛煉,并且通過使用myeclipse開發(fā)平臺設計管理項目,以達到充分熟悉開發(fā)平臺及應用設計。同時掌握并實踐軟件項目設計規(guī)范及其開發(fā)流程:需求分析、概要設計、詳細設計、代碼編寫等,以便提前適應軟件公司開發(fā)流程、環(huán)境和工作要求。
二、實訓內(nèi)容:
1.項目:(“當當網(wǎng)”)。
2.完成(用戶注冊、登錄、列表、購物車、刪除、修改)等功能。
3.數(shù)據(jù)庫設計、sql應用。
4.項目實戰(zhàn)。
三、實訓總結(jié):
轉(zhuǎn)眼間實訓已過去一段時間,之前的興奮、喜悅?cè)缃褚呀?jīng)讓我熟悉,在實訓的每一天都會讓我有成為一名真正的財富者擁有的沖動。也許,在這期間不一定會讓一個人有著翻天覆地的變化,但變化就是這樣一點一點產(chǎn)生的。通過這一期的實訓,雖然倍感折磨,但是收獲卻是很大的,學習中我不但有了學習成果的喜悅,而且自己也日漸成熟,有種說不出的喜悅。
在實訓的過程中,我深深的體會到了自己在專業(yè)知識方面的欠缺和不足,也意識到了自己作為計算機軟件專業(yè)的學生,要想在以后的職業(yè)中嶄露頭角,除了要有過硬的理論知識,健康的體魄之外,還必須具備良好的心理素質(zhì),是自己在以后的途中無論經(jīng)歷什么樣的困難,都立于不敗之地。通過實訓老師的課堂講解與企業(yè)文化標準的培訓,使我加深了對自己專業(yè)的認識,從而確定自己以后的努力方向,要想在短暫的實訓時間內(nèi)盡多的學到東西,就需要我們跟老師或同學進行良好的溝通,加深彼此的了解,只有我們跟老師多溝通,讓老師更了解我們,才能更真切的對我們進行培訓工作。由此,班級的文化“共享”就在生活中慢慢形成了。
“紙上得來終覺淺,絕知此事要躬行!”在這短短的時間里,讓我深深的感覺到自己在實際應用中所學來專業(yè)知識的匱乏。讓我真真領悟到“學無止境”這句話的涵義。而老師在專業(yè)認識周到中所講的,都是課本上沒有而對我們非常有實際意義的。這又給我們的實訓增添了濃墨淡彩的光輝。我懂得了實際生活中,專業(yè)知識是怎樣應用與實踐的。在這些過程中,我不僅知道了職業(yè)生涯所需具備的專業(yè)知識,而且讓我深深體會到一個團隊中的各個成員合作的重要性,要善于團隊合作,善于利用別人的智慧,這才是大智慧??繂我坏牧α渴呛茈y完成一個大項目的,在進行團隊合作的時候,還要耐心聽取每一個成員的意見,是我們的組合達到更加完美。
這次實訓除了讓我明白工作中需要能力,素質(zhì),知識之外,更重要的是學會了如何去完成一個任務,懂得了享受工作。當遇到問題,冷靜,想辦法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學習的東西。
經(jīng)過之前的學習,對程序設計有了一定的認識與理解。在校期間,一直都是學習理論知識,沒有機會去參與項目的開發(fā)。所以說實話,這次實訓,軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經(jīng)過這次實訓,讓我明白了一個完整項目的開發(fā),必須由團隊來分工合作,并在每個階段中進行必要的總結(jié)與論證。
一個完整項目的開發(fā)它所要經(jīng)歷的階段包括:遠景范圍規(guī)劃和用例說明、項目結(jié)構和風險評估、業(yè)務功能。
說明書。
詳細設計說明書代碼實現(xiàn)測試和安裝包等等。一個項目的開發(fā)所需要的財力人力都是很多的,如果沒有一個好的遠景規(guī)劃,對以后的開發(fā)進度會有很大的影響,甚至會出現(xiàn)在預定時間內(nèi)不能完成項目或者完成的項目跟原來預想的不一樣。一份好的項目結(jié)構業(yè)務功能和詳細設計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關鍵,也就是說,前期作業(yè)都是為代碼的實現(xiàn)所做的準備。
我深刻的認識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼基礎,必須要有事先對文檔進行可靠性報告,功能說明書,詳細設計說明書等的編寫和一些風險評估的編寫的能力。
除了圖書館,最能讓我感覺到身在大學的就是實訓機房,在匆匆過去的兩個月內(nèi),我往返于實訓機房與宿舍之間,使我享受了一個充實的學習時期,讓我感受到了大學的魅力,對自己充滿信心,對大學充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。
實訓中要求有扎實的理論基本知識,操作起來才順心應手,我這時才明白什么是“書到用時方恨少”。這就激發(fā)了學習的欲望?!皩W以致用”,就是要把學來的知識能運用到實際操作當中,用實踐來檢驗知識的正確性。我想,這是實訓的最根本目的。
最初在實訓時自己就有一些不自信,但隨著項目的進展,我慢慢的找到了自己的位置,找到自己的目標,雖然自己與好的同學還有差距,這也給了我很大壓力,但是我相信沒有壓力就沒有動力,所以在整個實訓過程中我都在不斷地努力。
實訓期間讓我學到很多東西,不僅在理論上讓我對it領域有了全新的認識,在實踐能力上也得到了很大的提高,真正的學到了學以致用,更學到很多做人的道理,對我來說受益匪淺。我意識到自己知識的缺少,這激勵我在以后的學習、工作、生活中要不斷了解信息技術發(fā)展動態(tài)以及信息發(fā)展中出現(xiàn)的新的技術。
除此之外,我還學到了如何與人相處,如何和人更好的交流,我們組成一個團隊大家一起開發(fā)一個項目,大家的交流溝通顯得尤為重要,如何將自己的想法清楚明白的告訴隊友,如何提出自己想法的同時又不傷害其他的隊友的面子,這些在我的實訓生活中都有一些體會??墒钦f,第一次親身體會理論與實際相結(jié)合,讓我大開眼界。也是對以前學習的一個初審吧,相信這次實訓多我以后的學習、工作也將會有很大的影響,在實訓的這段時間里這些寶貴的經(jīng)驗將會成為我以后工作的基石。
作為即將畢業(yè)走出校園的學生,經(jīng)過3年的在校學習,對程序設計有了一些基本的理性的認識和理解。在校期間一直忙于理論的學習,沒有機會也沒有經(jīng)驗來參與我們項目的開發(fā),所以在實習之前軟件按開發(fā)對我來說是非常抽象的,一個完整的項目要怎么來分工以及完成該項目所需要的基本步驟也不明確,通過這次實訓讓我明白一個完整項目的完成必須團隊分工合作,并在每個階段進行必要的總結(jié)和檢查。在我們項目的開發(fā)過程中我們項目的步驟:詳細設計、詳細設計review、編碼、編碼。在項目開發(fā)過程中我也深刻的體會到詳細設計對一個項目開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有具體的認識,并能減少在開發(fā)過程中出現(xiàn)不必要的脫節(jié)。
這次實訓是對我們學習的一個檢驗,雖然項目中很多知識我們在日常的學習中都沒有遇到,這同時提醒我:要想成為一個合格的程序員就有具備一種自學能力,在工作中會遇到很多從未接觸過的問題,當有了問題時要去解決,在你不斷努力,尋找答案的過程中,自己的能力也在潛移默化的提升。有時遇到問題時可能有很多想法但卻不知道那個正確,這就讓我們不斷地去探索,不斷地嘗試。
在這次軟件工程課程中,我學到了很多東西,第一次深刻的體會到了什么叫做用工程化的思想來編寫軟件,以前自己也寫過一些小型軟件,沒有做過大型的項目,直到這次課堂我擔任組長并組織組員共同完成“個人圖書管理系統(tǒng)”這個項目,第一次和別人合作,才發(fā)現(xiàn)運用工程化的思想來做是如此的有必要。
從這里,我才真正的意識到實施一個軟件工程并不是說簡單的會編碼就能夠解決問題的,我們更多的精力不是放在編碼上,編碼只是一個很小的模塊,只占到那么小的一個部分。這個事實在很大程度上顛覆了我以前的思想,在我以前的認識中,似乎整個軟件就是編碼,除此無它,還好有老師的指導,不然真的會出現(xiàn)老師所說的,撞得頭破血流之后才想起來用軟件工程的思想來完成這個工作。
剛真正開始工作之前,我們費了很多的時間來完成一些前端工作,如需求分析和可行性分析,這塊工作在別人看來可能是相對無關緊要,甚至是多于的,其實,換做在以前,我也會這么認為??墒?,我現(xiàn)在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,太重要了,要想你的軟件有用有市場,能被別人接受和認可,在進行過程中不會出現(xiàn)崩潰性的問題,這些工作缺一不可。
還有就是接下來的一些設計模塊,此模塊與軟件編碼涉及比較緊密,主要是解決一些參數(shù)傳遞和接口通訊的問題,此模塊對我的觸動遠沒有上兩個模塊對我的影響大,因此再次也不做過多的介紹。
在整個活動的完成過程中,作為組長,我收獲很多,我發(fā)現(xiàn),要是組里有個人不怎么想做事情時,他對于整個組織的影響是毀滅性的,正所謂“一顆老鼠屎,能壞一倉谷”,以后我的組織里要是出現(xiàn)這樣的人,我絕不會給他繼續(xù)留下來的機會,我會在第一時間將他清除出去。還有就是,作為組長,你要做的最重要的事情,不是發(fā)揮自己的聰明才智,而是創(chuàng)造出一個平臺,讓別人去發(fā)揮,你所要做得,出了保證這個平臺的完整性和公平性外,還有就是協(xié)調(diào)好各組員之間的關系。
軟件工程的學習心得體會篇十五
軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。你知道軟件工程。
是什么嗎?接下來就是本站小編為大家整理的關于軟件工程心得體會,供大家閱讀!
時間飛逝,不知不覺間《軟件工程》的學習已經(jīng)過了大半了。在這將近半學期的學習中,雖然我不能說我將《軟件工程》學習的有多么的好,但是通過學習,我還是受益良多。
在以前,我一直對軟件存在一些偏見或則是誤解,認為軟件就是程序,軟件的開發(fā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發(fā)好的軟件產(chǎn)品。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學生,就能組成一個軟件公司。
但是通過了《軟件工程》這門課的學習,使我認識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,有充分的認識,才能更好的開發(fā)出,過程受控、質(zhì)量受控的軟件產(chǎn)品。
而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內(nèi)心深處進行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感。
而且通過學習《軟件工程》,我還學到了很多其他的東西。比如通過學習《軟件工程》,特別是老師每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等。而且通過學習《軟件工程》,還讓我認識和培養(yǎng)了我的團隊協(xié)作能力,特別是對于我們這些在校的學生來說,這種學習更是能讓我在以后工作中少走很多的彎路。
所以,通過《軟件工程》的學習,我是真的學習到了很多有用的東西,讓我明白了很多的道理。在此我對老師的辛勤教育表示感謝,因為是你讓我學習到了這些,是我獲益良多。
軟件工程心得體會未接觸軟件工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟件工程課,終于知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復雜化導致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學習能力體現(xiàn)在能盡快接受新的知識,順應變化,學為所用。
上《軟件工程導論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經(jīng)給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。1.可行性分析就是關于當前項目能不能干的分析結(jié)果。
2.項目描述這是在決定立項以后,對當前項目的一份扼要說明。
3.需求分析就是對客戶要求的功能的定義。
4.軟件設計這就是對程序的每一個模塊的詳細設計的說明文檔。
5.開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構的一些微小變動等,還要對上述這些修改變動作些說明。
6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
共
2
頁,當前第。
1
頁
1
2
軟件工程的學習心得體會篇十六
在本學期的軟件工程課程的學習中,我們學習了十一章的內(nèi)容。
第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。
第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒ā⑿问交椒ā?/p>
還引出了工具uml。
第三章軟件需求獲取與結(jié)構化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結(jié)構化分析方法,畫分層的數(shù)據(jù)流圖、e-r圖以及狀態(tài)圖式本節(jié)的重點。
第四章結(jié)構化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結(jié)構以及模塊結(jié)構的改進。
第五章編碼,這一章重點講解了編碼的風格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風格。
第六章軟件測試方法,本章講解了軟件測試相關的概念及重要性,軟件測試與開發(fā)各個階段的關系;還介紹了白盒測試技術以及黑河測試技術。
第七章統(tǒng)一建模語言uml概述,本章詳細介紹了uml的基本模式、事物、關系及建模時用到的各種圖進行了介紹。
第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。
第九章軟件體系結(jié)構與設計模式,本章對軟件體系結(jié)構的'基本概念、典型風格等進行了講解。
第十章面向?qū)ο笤O計,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細化。
第十一章軟件維護,本章主要介紹軟件維護的任務、軟件維護活動以及軟件維護方法進行了介紹。
要學習軟件工程,學會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則:軟件工程目標:生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。
正確性指軟件產(chǎn)品達到預期功能的程度。
可用性指軟件基本結(jié)構、實現(xiàn)及文檔為用戶可用的程度。
開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。
這些目標的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標的軟件產(chǎn)品所需要的步驟。
軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。
它們覆蓋了需求、設計、實現(xiàn)、確認以及維護等活動。
需求活動包括問題分析和需求分析。
問題分析獲取需求定義,又稱軟件需求規(guī)約。
需求分析生成功能規(guī)約。
設計活動一般包括概要設計和詳細設計。
概要設計建立整個軟件系統(tǒng)結(jié)構,包括子系統(tǒng)、模塊以及相關層次的說明、每一模塊的接口定義。
詳細設計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構說明及加工描述。
實現(xiàn)活動把設計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。
確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產(chǎn)品滿足用戶的要求。
維護活動包括使用過程中的擴充、修改與完善。
伴隨以上過程,還有管理過程、支持過程、培訓過程等。
軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學習了詳細設計的方法,其原則是過程描述是否易于理解、復審和維護,進而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細設計與代碼完全一致。
包括程序流程圖、n-s圖、pad圖、hipo圖。
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。
它獨立于任何一種程序設計語言,比較直觀和清晰地描述過程的控制流程,易于學習掌握。
軟件工程的學習心得體會篇十七
軟件工程師作為現(xiàn)代社會中越來越重要的職業(yè)之一,隨著信息技術的不斷發(fā)展,其職責也越來越廣泛和重要。作為一名軟件工程師,我在這個行業(yè)里摸爬滾打多年,深感自己的成長離不開各種經(jīng)驗和心得的積累。在接下來的文字中,我將從個人視角談談自己在軟件開發(fā)過程中的心得體會。
第二段:選擇質(zhì)量。
在軟件開發(fā)的過程中,我最關注的是軟件的質(zhì)量。因為軟件需要長期運行,不僅要滿足用戶需求,還要兼顧安全性和可維護性等方面,這需要我們在開發(fā)過程中嚴格控制每一個環(huán)節(jié),做好每一個細節(jié)。因此,我在項目開發(fā)前會認真分析需求和可能的風險,對技術框架和工具的選擇非常謹慎。我也會定期進行代碼復審和單元測試等工作,確保代碼質(zhì)量達標。當然,在不斷優(yōu)化的過程中,我也意識到代碼質(zhì)量的提高不僅僅在于個人級別,而更應該顧及團隊整體水平,因此深感技術學習和交流的重要性。只有不斷積累、分享,才能讓團隊的發(fā)展更加健康和持久。
第三段:溝通協(xié)作。
作為一名軟件工程師,我們的工作不僅僅是編寫代碼,更包括與產(chǎn)品經(jīng)理、UI設計師、測試工程師等各個角色之間的溝通協(xié)作。這就需要我們具備更多的軟技能。比如,要善于傾聽和引導,以便更好地理解產(chǎn)品需求和用戶痛點;要有清晰的表達能力,能夠清楚地向其他角色描述自己的想法和意圖;在開發(fā)過程中,也要非常注重團隊合作,及時溝通和協(xié)調(diào)出現(xiàn)的問題。整個軟件開發(fā)過程需要涵蓋從需求分析、規(guī)劃和設計,再到編碼、測試和上線等各個環(huán)節(jié),期間需要負責人與團隊的全面協(xié)作才能保證項目的順利完成。
第四段:學習成長。
軟件開發(fā)是一個知識密集型的工作,要時刻緊跟技術的發(fā)展趨勢才能在激烈的競爭中取得優(yōu)勢。因此,我認為軟件工程師需要具備持續(xù)學習的能力和自我提升的意識。我會在業(yè)余時間去了解新的技術,參加相關的技術社群和活動,不斷學習和嘗試新東西,以此來增強自己的核心競爭力和解決實際問題的能力。同樣,我也會時刻關注團隊的成長和發(fā)展,希望能為團隊帶來更多的經(jīng)驗和技術積累。
第五段:總結(jié)回顧。
在軟件開發(fā)的過程中,我覺得最重要的是要保持持之以恒的熱情和精神狀態(tài)。無論是在技術領域還是在團隊管理中,不停地學習和成長,分享并培育團隊的創(chuàng)新精神和專業(yè)精神,才能不斷提高自己和團隊的能力和素質(zhì),做出更好的產(chǎn)品。取得成功需要獨立思考和勇于探索,但更需要承認團隊的重要性,在各方面展現(xiàn)出自己領導團隊的能力和擔當。在今后的工作和生活中,我也將持續(xù)關注自己的成長需求,堅定地走好自己的職業(yè)道路。
【本文地址:http://www.aiweibaby.com/zuowen/15742114.html】