最新范文网_实用的精品范文美文网

最新范文網(wǎng) > 心得體會 > 軟件工程心得體會

軟件工程心得體會

時間: 新華 心得體會

軟件工程心得體會篇1

學習了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其范疇已經(jīng)遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。

整本書的內(nèi)容邏輯很清晰明了,由淺入深循序漸進,首先我就大概描述下我們所學的內(nèi)容,第一章是從整體分析軟件工程這門學科的發(fā)展和所處的社會環(huán)境,接著后面的幾章深入分析了軟件開放過程和模式、軟件項目管理、計算機工程、需求分析、結(jié)構(gòu)化分析建模以及基于UML面向?qū)ο蠓治鼋5?。接著我就詳細介紹下我對這門課程知識點的理解概括:

軟件:軟件是能夠完成預定功能和性能的可執(zhí)行的計算機程序和使程序正常執(zhí)行所需要的數(shù)據(jù),加上描述程序的操作和使用的文檔。軟件的特征:①軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。②軟件是通過人們的智力活動,把知識與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品。③軟件成為產(chǎn)品后,其生產(chǎn)只是簡單的拷貝,不同于硬件制造。④維護過程比硬件復雜的多,甚至會引發(fā)新的錯誤。軟件危機:指的是軟件開發(fā)和維護過程中遇到的一系列嚴重問題。出現(xiàn)軟件危機的原因:①軟件維護費用急劇上升,直接威脅計算機應用的擴大。②軟件生產(chǎn)技術(shù)進步緩慢。軟件工程是指導計算機軟件開發(fā)和維護的工程學科。 軟件生存周期:一個軟件從定義到開發(fā)、使用和維護,直到最終被棄用,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生存周期。軟件的生存周期可分為八個階段:①問題定義;②可行性研究;③需求分析;④總體(概要)設(shè)計;⑤詳細設(shè)計;⑥編碼與單元測試;⑦綜合測試;⑧軟件維護;

瀑布模式:是傳統(tǒng)的軟件開發(fā)模式,其中的“瀑布”是對這個模式的形象表達,由山頂傾瀉下來的水,自頂向下、逐漸細化。其特點是:線性化過程;分為分析、設(shè)計、編碼、集成等幾個階段,并且各階段逐級推進,不允許跨越。里程碑管理;階段評審;文檔驅(qū)動;簡潔便于工程應用的線性化過程步驟,并可以通過里程碑管理機制而使項目進程量化。其明顯的優(yōu)點就是沒個階段結(jié)束前都要對所完成的階段成果進行評審,這使得軟件的錯誤能夠在個階段內(nèi)盡早發(fā)現(xiàn)并盡早解決,總的來說瀑布模式具有良好的質(zhì)量保證機制,有很強的生命力。

原型進化模式:對軟件進行直接模擬或仿真,只需要分析需求框架后進行原型創(chuàng)建,再對原型系統(tǒng)進行逐步細化與完善,通過版本更新逐步滿足用戶對于軟件的多方面需要。

增量模式:開發(fā)過程有三個任務域,分別是設(shè)計結(jié)構(gòu)、開發(fā)構(gòu)件和集成系統(tǒng),它既有完善的工程管理機制,又能適應用戶需求變更,有利于質(zhì)量的監(jiān)控,并且各局部基于構(gòu)件構(gòu)造,有利于逐步構(gòu)建與完善;由于先交付核心構(gòu)件可利于降低項目的技術(shù)風險。

螺旋模式:是一種可較好的規(guī)避開發(fā)風險過程的模式,項目是基于任務的螺旋式推進,每個螺旋由內(nèi)之外分別是需求分析、軟件設(shè)計、系統(tǒng)集成、驗證與交付。

軟件開發(fā)的整個過程:①需要項目團隊,組建優(yōu)秀的團隊可以開發(fā)出更搞質(zhì)量的軟件產(chǎn)品。任務開發(fā)團隊要求小而精,成員大多在8人以內(nèi),主要成員有項目負責人、開發(fā)人員、資料管理員和軟件測試員。②項目計劃是為了使軟件開發(fā)各項工作有秩序地進行,包括任務分配和基于里程碑的進度安排,甘特圖和任務網(wǎng)絡(luò)圖是用來描述進度計劃的工具。項目計劃書可以作為軟件開發(fā)的工作指南。③項目成本估算,由于項目有來自各方面的成本包括工資開支、場地費、差旅費、設(shè)備費和資料費等,但是軟件主要是對人力成本的估算,常用的方法有程序代碼成本估算法等。④軟件風險管理包括很多不確定的風險因素,如計劃風險、管理風險、需求風險、技術(shù)風險、人員風險、產(chǎn)品風險、用戶風險和商業(yè)風險等等,而風險管理的主要任務是:風險識別、風險評估、和風險防范。⑤軟件文檔管理,軟件文檔是工程模式軟件開發(fā)的成果體現(xiàn),包括技術(shù)文檔、管理文檔和用戶文檔。 ⑥軟件配置管理與軟件質(zhì)量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質(zhì)量控制計劃。

計算機系統(tǒng)由硬件、軟件、數(shù)據(jù)資源、網(wǎng)絡(luò)資源、使用系統(tǒng)的人等諸多元素。有三種典型的計算機體系結(jié)構(gòu):①主機結(jié)構(gòu),主機集中了全部智能,并依靠終端接口與外部設(shè)備連接。②Client/Server結(jié)構(gòu),智能分布于服務器與客戶機,并依靠網(wǎng)絡(luò)連接成系統(tǒng),其中,服務器處于核心位置,提供被動核心服務;客戶機處于邊緣位置,可主動訪問服務器,尋求服務支持。③Browser/server結(jié)構(gòu),可適應互聯(lián)網(wǎng)遠程交互的特殊結(jié)構(gòu),基于Web服務器構(gòu)建。

需求分析:系統(tǒng)開發(fā)前期需求分析很重要,它是為了有效解決用戶問題的需要進行的一項工程活動,所需要考慮的需求問題是功能需求、數(shù)據(jù)需求、性能需求和接口需求,開發(fā)者承擔分析任務,核心是用戶。其步驟有三個:①獲取客戶需求,客戶泛指某個人或機構(gòu)部門等,一般方法是調(diào)查,包括訪談、座談、問卷、跟班和收集資料,需求規(guī)約可表達用戶的軟件價值。②建立需求模型,它是用戶需求的圖解,一些常用的模型有:業(yè)務樹圖、用例圖、活動圖。分別用于結(jié)構(gòu)化需求建模、系統(tǒng)業(yè)務舉例和反映系統(tǒng)工作流程。③進行需求驗證,要驗證的主要內(nèi)容有:有效性驗證、一致性驗證、完整性驗證、現(xiàn)實性驗證和可檢驗性驗證。 結(jié)構(gòu)化分析建模:它是建立在需求規(guī)約基礎(chǔ)上的,對軟件問題進行全面解說,包括四個方面:①數(shù)據(jù)建模,它與數(shù)據(jù)庫設(shè)計密切相關(guān),ER圖涉及實體、關(guān)系、屬性等圖形元素,在業(yè)務層面建立數(shù)據(jù)庫概念模型,一般用于前期的建模構(gòu)想。②功能建模,是對系統(tǒng)數(shù)據(jù)加工的圖解,數(shù)據(jù)流程圖是常用的建模工具,涉及數(shù)據(jù)接口、數(shù)據(jù)處理、數(shù)據(jù)流、數(shù)據(jù)存儲等圖形元素,用于描述系統(tǒng)數(shù)據(jù)加工細節(jié)。③行為建模,行為模型用于說哦名軟件系統(tǒng)與環(huán)境的交互,狀態(tài)轉(zhuǎn)換圖常用的軟件行為建模工具涉及狀態(tài)、事件等圖形元素。⑤數(shù)據(jù)字典,是用于定義軟件的元素,使軟件元素獲得嚴肅的、詳密的、精確的規(guī)格說明。需求分析模型中的數(shù)據(jù)、功能、行為等諸多方面的元素,都有必要通過數(shù)據(jù)字典給予細節(jié)說明,以達到對系統(tǒng)較完整全面的規(guī)格定義。

基于UML對象面向?qū)ο蠓治鼋#篣ML是統(tǒng)一建模語言,有統(tǒng)一的語法、語義和語用規(guī)則,其建模過程的特點是:用例驅(qū)動、以構(gòu)架為中心和增量迭代,通過包實現(xiàn)對模型的有效的一體化管理。包括三部分:①用例建模,它面向用戶需求的,能夠反映系統(tǒng)的用戶價值,用例圖的基本元素有用例、參與者、交流;用例之間有泛化、延伸和包含關(guān)系。②活動建模,活動圖用于描述系統(tǒng)動態(tài)過程,主要圖形元素有:活動、轉(zhuǎn)換、起點、終點、判斷、并發(fā)、同步、泳道等??擅枋龈邔訕I(yè)務級活動,涉及整個業(yè)務流程,針對每個用例活動建模,反映用例內(nèi)部活動細節(jié)。③類分析建模,這里就只考慮實體類,實體類所代表的數(shù)據(jù)相互之間通常有一定的關(guān)系,依靠這種關(guān)系可形成有組織的程序數(shù)據(jù)結(jié)構(gòu)。實體類之間的主要數(shù)據(jù)關(guān)系有:關(guān)聯(lián)、聚類、泛化。

接下來我就簡單說下我上這門課的簡單的心得體會,我們是大四的學生了,也只有這個學期有課了,剛開始課表安排出來的時候覺得挺意外的,只有前八周有課,當時我還是有點小感動的,大四事情很多,有要考研的和工作的,大家也都有各自的事情,如果有16周的課,那么每周課不是特別多,但是時間特別分散,也不能集中某段時間去做什么事情。但是相對于老師的壓力也有,課程壓縮了相當于每節(jié)課的教學任務大大增加了,在加上有些假期沖掉課,就感覺我們好像上課學不到什么東西,也只是一些關(guān)鍵的和考試掛鉤的才重點講,完全沒有擴展的時間和空間了。但是總的來說,學校開了這門課,我們上了這門課,總是學到了點東西的,不可能明明上了軟件工程這門課,卻像沒上一樣什么都不懂。在上課的時候我還是很認真地去聽老師所講述的內(nèi)容的,我覺得他的思想和我一向而來的培養(yǎng)計算機學生綜合素質(zhì)的理解還是在一定程度上不謀而合了,所謂的需求獲取,那就是一個談判,辯論,交流的過程,已經(jīng)不是單純的編編程序就能解決的問題了。從我所看到的聽到的來說,我最怕的就是計算機系的學生被別人說成是個帶著厚眼鏡的,只能夠在電腦前編編程序的,在交際場上不知道說什么而一個字都說不出來的人。我覺得這樣的人進入社會之后是沒有什么前途的,起碼他們?nèi)狈α伺c人溝通交流的能力。而這門課程在一定程度上給了我們這些學生一個機會來鍛煉自己在另一方面的能力,設(shè)想一下,一個又有技術(shù)又能夠與人交流合作的人所取得的成就自然要比一個單單只會編程序的人要大得多。其次,這門課程教給了我們在完成一個實際項目時的一般程序及過程,我認為這是一份非常具有實際意義的教學內(nèi)容。當我們在畢業(yè)之后,這是我們實際要運用的一項非常有用的技能,而且不僅僅局限于軟件工程的范疇,我們即使是從事與其它行業(yè),不也是要從需求獲取開始,一直有條有理地到最后成品的出爐嗎?應該說這就是這門課的價值所在。無論是在上課,還是在學生會里面做學生工作,我都深深地感覺到,技術(shù)性的工作就好比變魔術(shù),其實原理是非常簡單的,甚至可以說簡單的可笑,但是當你就是做出這么一個簡單的東西出來之后,一些外行們有時候會用崇拜的眼光看著你,覺得你很厲害,很高深莫測。但是制作的過程他們卻不知道,也許知道之后他們只是會啞然失笑,原來這個東西的制作過程是如此的簡單。這個可以說就是技術(shù)的魅力了,而作為需求獲取及之后的一系列過程則是類似于魔術(shù)揭秘的過程,但是作為這個秘密我們并不需要一揭到底,至于揭的程度如何那就是我們那就是我們學出的程度如何了,我們要讓對方知道我們在做什么?以及如何去做?這些東西需要我們以一定的技巧敘述出來,所起到的作用就是能夠讓對方了解自己的進度,卻又能夠不讓對方來干涉自己的工作過程。因為我們是技術(shù)員,對方只是外行,即使對方知道了這個魔術(shù)的操作過程,也并不代表他們就能夠向變著魔術(shù)的我們來隨便修改這個魔術(shù)的變法,況且我們能夠用不同的過程來得出一個同樣的結(jié)果,這個過程的得出的主動權(quán)如何掌握在我們的手上,就看我們?nèi)绾我愿呙鞯姆绞絹斫议_這個魔術(shù)的謎底了。當然了,在純粹的理論上,我覺得開設(shè)這樣一門課程是很成功的。但是畢竟現(xiàn)實里有太多的不確定的因素。最重要的因素就是授課的老師和聽課的學生。這兩個可以說是這門課成與敗的決定性的因素。

作為我們學生來說,應該負起比較主要的責任。在大學里有了太多的基礎(chǔ)課程,基礎(chǔ)課程大多都比較枯燥無味,也許在第一個學期里我們還能夠保持著新鮮感,但是在6學期之后,可以說再有新鮮感就是一件比較困難的事情了,我們都已經(jīng)開始變得遲鈍了。其次的,沒有認識到這門課程的價值。這門課的價值我已經(jīng)在上面說過了,是不言而喻的。但是并不是每個同學畢業(yè)之后都回從事計算機行業(yè),也不是每個同學都知道這門課程的意義已經(jīng)不僅僅局限于計算機這個范疇。或許有些人覺得反正以后不是這個發(fā)展方向,也就不在乎這個課程吧。我個人覺得這門課確實是挺好的,如果認真學必能學到很多東西,動手實踐能力和從整個大體分析系統(tǒng)開發(fā)的邏輯性思維也會明顯增強,不管以后從事哪個方面的工作,這對以后來說都是一筆很大的隱性財富。說到我自己對這么課的學習,還是有點愧疚的,前面四周我每周每節(jié)課都去上的,并且上課也認真聽,一邊聽老師講課一邊自己看書本的介紹,但是后來我上這門課的次數(shù)就降低了,因為覺得時間很緊吧,而且老師上課的節(jié)奏我個人覺得有點慢,我都可以自己預習看到后面去了,但是這門課我還是每周至少上一節(jié)課的,雖然我早上7點多一點就出門,在自習室,但是有時候明明知道到了上課的時間,明明上課的地方離自習的地方不遠也不太想去。我記得有次上課時候老師生氣了,說來上課的人少,我仔細環(huán)顧了下四周發(fā)現(xiàn)確實人很少,稀稀疏疏的分散著,看起來確實不太舒服,讓我不得不反思了,這大學的教育到底怎么了,怎么到了大四大家都不來上課,雖然我不是每節(jié)課都來,但是我還是時不時來上課的,可能是比較浮躁吧,快畢業(yè)了,覺得上課學不到什么實際的東西,要么實際一點好好考研繼續(xù)深造,要么去培訓增強實踐能力這樣才能較好的為找個滿意的工作做好鋪墊。

《軟件工程》課程既強調(diào)基本概念和基本知識的理解和掌握,又側(cè)重軟件項目的分析、設(shè)計、實現(xiàn)和維護的基本技能。比較注意“點”和“面”的結(jié)合。我還是蠻喜歡這門課的,通過對這門課的學習讓我意識到理論學習很重要,實踐更重要,實踐是檢驗真理的唯一標準,只有將理論與實際結(jié)合,才更能發(fā)揮我們所學的知識的作用,更能直接的創(chuàng)造效益,社會和國家做出貢獻。

軟件工程心得體會篇2

這學期學習了軟件工程實踐這門課,我覺得這是對上學期的軟件工程課程學習的檢驗,上學期學習軟件工程只是我們淺顯的認識,相比之下,這學期就更加全面的說明了開發(fā)一個項目所需要的步驟以及開發(fā)項目過程中所需要注意的諸多細節(jié)。如果說上學期的課程注重理論基礎(chǔ)的話,那么這學期的軟工實踐,顧名思義,就是側(cè)重我們動手操作的能力。

原來我認為開發(fā)一個項目最重要的就是寫代碼,似乎整個軟件都是編代碼,因為自己動手能力不強所以就很排斥做項目。可是經(jīng)過我們學習軟工課程到團隊做項目再到學習軟件工程實踐課程之后,我才真正意識到實施一個軟件工程項目并不是說簡單的會編碼就能夠解決問題的,因為一個軟件的生命周期分為三個時期:軟件定義時期、開發(fā)時期、維護時期,而這三個時期整體又分為七個階段,他們分別是:問題定義、可行性研究、需求分析、總體設(shè)計、詳細設(shè)計、編碼和單元測試、綜合測試,由此可看出,當我們開發(fā)一個項目時,更多的精力不是放在編碼上,編碼只是一個很小的模塊,而是項目的整體結(jié)構(gòu)上。

在寫軟工實踐體會之前,我想在這里總結(jié)一下上學期三人團隊做 項目的相關(guān)事宜。上學期我們?nèi)藞F隊根據(jù)軟件開發(fā)的步驟開發(fā)一個名為“西大老鄉(xiāng)‘薈’”的社交系統(tǒng),主要是為西大學子提供一個找老鄉(xiāng)的平臺。雖然只進行到詳細設(shè)計階段,沒有進一步實現(xiàn),但是我還是從中學到很多東西的。首先要先確定項目主題,也就是這個項目用來做什么,可以解決什么問題。接著就是這個項目是否有研究的必要以及是否有解決的辦法,針對我們的項目,我們對西大的一些學生做了問卷調(diào)查,并從調(diào)查中繼續(xù)完善系統(tǒng)本身的做用戶。第三步根據(jù)我們確定的項目主題進行需求分析,這一步驟當時做的不是很好,比如所畫E-R圖、數(shù)據(jù)流圖等都有考慮不周的問題,導致接下來的概要設(shè)計、詳細設(shè)計進行的很困難,有些步驟甚至還需要返工。

從我們在需求分析中出現(xiàn)的問題,使我們明白了軟件定義階段對于一個項目的開發(fā)是至關(guān)重要的,當軟件定義階段完成時必須要用正式的文檔準確的地記錄目標系統(tǒng)的需求。只有前期的準備工作做得好,后面的工作才能順利進行。雖然項目最后沒有完全實現(xiàn),但是起碼我們已經(jīng)初步體會到軟件項目開發(fā)的步驟,以及每一步所需要完成的文檔等內(nèi)容。

這學期的軟件工程實踐雖然不是親自動手開發(fā)一個系統(tǒng),但是張元平老師以“物聯(lián)網(wǎng)物流倉儲管理系統(tǒng)”為主給我們講解了一個真實系統(tǒng)的開發(fā)過程,從計劃到項目系統(tǒng)的發(fā)布實施,以及每一步必須生成的文檔。我主要從以下五個方面談一下我的心得體會。

第一、行業(yè)背景說明方面

對于一個軟件系統(tǒng)的開發(fā),第一步就是問題定義,了解所開發(fā)系統(tǒng)的行業(yè)背景,制定計劃。當我們計劃確定以后就要對項目系統(tǒng)本身進行可行性研究,主要從技術(shù)可行性、經(jīng)濟可行性和操作可行性三個方面著手。就比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的行業(yè)背景說明文檔中非常詳細地分析了當下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務說明、應用背景、未來發(fā)展趨勢以及相關(guān)應用案例等四個方面,項目團隊中系統(tǒng)分析員就可以根據(jù)這份文檔以及相關(guān)的調(diào)查資料對將要開發(fā)系統(tǒng)的進行定義等工作。

原來我們寫這類文檔的時候就是草草了事,不會做得這么詳細,而這次看到大型項目的行業(yè)背景說明也是這么詳細,也讓自己認識到不管是軟件開發(fā)的那個階段都要認真對待,這些瑣碎的文檔都是后期開發(fā)項目的支撐,只要它們做的透徹,后面的開發(fā)工作才能更順利的進行。

第二、項目需求說明方面

這部分項目需求說明就是軟件定義時期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據(jù)用戶的需要確定系統(tǒng)必須完成那些工作,并對目標系統(tǒng)提出完整、準確、清晰、具體的要求。在需求分析結(jié)束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說明,即為《物聯(lián)網(wǎng)物流倉儲管理系統(tǒng)》項目需求說明文檔。我們可以看出該文檔也是非常詳細,相比之下我們之前做項目時寫的需求規(guī)格說明書就非常不合格,不僅格式不正確內(nèi)容也是少之又少。

在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內(nèi)容,原來它不是很重要,寫文檔的時候也不知道怎么寫就借鑒下網(wǎng)上的內(nèi)容,結(jié)果根本就沒有把自己項目的需求寫明白,以至于自己最后都有些糊涂,所以根據(jù)以前的經(jīng)驗教訓我會對這部分更加重視。

第三、系統(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)的模塊劃分,對該類文檔尚未重視。通過張老師的講解和自己的學習,我相信在以后做項目的時候一定會注意到這類文檔的編寫。

第四、詳細設(shè)計與分析方面

詳細設(shè)計階段就是把概要設(shè)計階段的每個模塊進一步設(shè)計,確定每個模塊所需要的算法和數(shù)據(jù)結(jié)構(gòu)。在這個階段還是需要我們設(shè)計出程序的詳細規(guī)格說明,而不是編寫程序。在詳細設(shè)計階段,系統(tǒng)設(shè)計人員可以通過使用程序流程圖、盒圖、PAD圖等過程設(shè)計的工具和Jackson圖等面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計工具進一步設(shè)計系統(tǒng)相關(guān)接口,主要包括界面設(shè)計接口、業(yè)務單設(shè)計接口、單元模塊設(shè)計接口等,這些對于以后的編碼工作都是極其重要的。

第五、編碼和測試方案方面

關(guān)于編碼,我認為編碼要想做的完美必備條件就是前面的軟件定義和軟件設(shè)計時期要按部就班的做,文檔一定要按要求書寫,不能偷懶也不能草草書寫。對于編碼也要有相應的文檔書寫規(guī)范,要使源程序代碼的邏輯簡明清晰、易讀易懂。這樣盡管我們不是設(shè)計系統(tǒng)的人員,當看到源程序代碼的時候也能容易讀懂代碼的意思。

其次就是測試的內(nèi)容,從測試的文檔中我們可以得出,其實測試在軟件開發(fā)中同樣占據(jù)了重要的地位,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶使用。它要求測試人員也要有很高的技術(shù)水平。

軟件工程心得體會篇3

在本學期的軟件工程課程的學習中,我們學習了十一章的內(nèi)容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法。還引出了工具UML。第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結(jié)構(gòu)化分析方法,畫分層的數(shù)據(jù)流圖、E-R圖以及狀態(tài)圖式本節(jié)的重點。第四章結(jié)構(gòu)化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進。第五章編碼,這一章重點講解了編碼的風格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風格。第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。第七章統(tǒng)一建模語言UML概述,本章詳細介紹了UML的基本模式、事物、關(guān)系及建模時用到的各種圖進行了介紹。第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的基本概念、典型風格等進行了講解。第十章面向?qū)ο笤O(shè)計,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細化。第十一章軟件維護,本章主要介紹軟件維護的任務、軟件維護活動以及軟件維護方法進行了介紹。

要學習軟件工程,學會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則:軟件工程目標:生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預期功能的程度。可用性指軟件基本結(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。

軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。

軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。

我們學習了詳細設(shè)計的方法,其原則是過程描述是否易于理解、復審和維護,進而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細設(shè)計與代碼完全一致。包括程序流程圖、N-S圖、PAD圖、HIPO圖

程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。它獨立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學習掌握。在流程圖中只能使用下述的五種基本控制結(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重復型;UNTIL重復型;多分支選擇型。

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)系。

還有測試方法:按照測試過程是否在實際應用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。

靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。

動態(tài)測試技術(shù):當把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。

還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今后的學習中一定會慢慢的完善的。

軟件工程對于初學者來說,知識基礎(chǔ)較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟件工程,不是僅僅把幾本專業(yè)書籍細致地看幾遍,然后上機練習幾次就可以成功,學習過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學,肯定是什么都學不透的,要集中精力打攻堅戰(zhàn),學習軟件工程首先要明白自己的學習目標究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應的學習方向上進行提高,制定出詳細的學習規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學習面向?qū)ο蠓治龅臅r候要結(jié)合大一學習的面向?qū)ο蠹捌浞椒▽W這一專業(yè)科目進行研究拓展;在學習語言時,要看看與C語言的聯(lián)系,多思多想,把從各個科目學到的知識通匯貫通。

在軟件工程的學習中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結(jié)報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。

而編碼的學習中,我更了解到形成自己獨特的規(guī)范的編碼風格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今后的學習中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風格,即方便自己的修改,也方便日后他人的閱讀。

在學習中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習慣,適合大型、復雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。

在今后的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴散開來,應用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進。

軟件工程心得體會篇4

15天的實訓結(jié)束了,今天做的是紙牌游戲軟件和趣味打字游戲。今天的東西對我來說有點難度,最后沒有能過完全做完。但是我還是覺得這是一個不錯的實訓,在這種集體的環(huán)境里和同學們一起學習,每天的生活過的也是非常的充實。

此次實踐課我的收獲很多。我和同學們這一次真正自己動手制作了一個小軟件,雖然還存在很多的問題,而且我做的軟件在使用起來還是很不可行的,但是我們從中受到了很多知識,不僅是專業(yè)的知識,更讓我明白了一個軟件從設(shè)計到實現(xiàn)的每一個環(huán)節(jié)真的很不容易,不僅需要扎實的專業(yè)知識,更需要一個團隊的配合,這才是一個軟件成功的關(guān)鍵。這就告訴我們,一個人的出色不算什么,一個團隊的出色才是真正有用的。

剛開始拿到題目我們組員都不知如何下手,經(jīng)過小組成員一起查找資料,并且開會討論,我們確定了設(shè)計的設(shè)計目標以及具體實現(xiàn)方式,包括如何將Java的思想運用到實際系統(tǒng)的詳細設(shè)計之中。

在實驗課上,我學會了很多學習的方法。而這是日后最實用的。要面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐。這對于我的將來也有很大的幫助。以后,不管有多苦,我想我都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我都可以在實驗結(jié)束之后變的更加成熟,會面對需要面對的事情,以及學會遇到問題,不急不慌,慢慢解決它。

雖然過程辛苦是不可避免,但收獲還是令人感到尤其的欣慰。在這次的軟件設(shè)計中不僅檢驗了我所學習的知識,也培養(yǎng)了我的實踐能力,讓我知道遇到一個問題,如何去尋找思路,如何去解決問題,最終完成整個事情。在設(shè)計過程中,與同學分工設(shè)計,和同學們相互探討,相互學習,相互監(jiān)督。學會了合作,學會了寬容,學會了理解,也學會了做人與處世。課程設(shè)計是我們專業(yè)課程知識綜合應用的實踐訓練,是我們邁向社會,從事職業(yè)工作前一個必不少的過程。實驗過程中,也十分感謝實驗指導老師陳中育老師的指點與教導。這次軟件設(shè)計不僅是對這學期所學知識的一種綜合檢驗,而且也是對自己動手能力的一種提高,增強了自己實踐能力。通過這次課程設(shè)計使我明白了自己知識還比較欠缺,只是學習書本知識還是遠遠不夠的,自己不會的東西還有太多,學習需要自己長期的積累,在以后的學習、工作中都應該不斷的學習,將課本的理論知識與生活中的實踐知識相結(jié)合,不斷提高自己文化知識和實踐能力。

軟件工程心得體會篇5

這次軟件工程實訓是從__年__月__日號開始的,截至__年__月__日號。實訓內(nèi)容是用java相關(guān)知識(主要是jsp)做一個物流配送系統(tǒng)。下面談談對這次實訓的看法。

因為自己平時對java知識儲備不足,特別是jsp這一塊基本不了解怎么回事,所以一拿到這個項目,我心里都是沒有底的,再加上我被分到的那個組,我知道就意味著是我一個人在戰(zhàn)斗了。呵呵,26號,實訓開始了,我們的老師是來自中軟國際公司的程序員,一個是周褀,一個是朱映,都是一身樸素的著裝,讓我感覺做軟件的也沒什么兩樣。老師介紹了自己之后,就直接切入正題了,分析了下我們各個組的系統(tǒng),即將用到的知識,然后就總體把覺得需要補充的知識(jsp和數(shù)據(jù)庫連接等這幾塊)給我們實際操作了下,因為當時看到用jsp,還講的那么認真,當時我就后悔了,平時要是多聽點,現(xiàn)在老師這么認真的給我們講,這是一個多么難得的機會啊。后悔也沒用啊,開始還勉強能理解一點,后來就直接暈了。然后再給大家介紹了一些即將用到的工具,比如rationalRose,SVN,MyEclipse等等。接下來的幾天就不再細講了。下面談談通過這次實訓的心得體會吧。

通過這次實訓,讓我了解到工程開發(fā)的過程,可行性分析——>需求分析——>概要設(shè)計——>詳細設(shè)計——>代碼編寫——>測試——>驗收。從技術(shù)方面上,我開始jsp基礎(chǔ)基本上就是零的,在老師和syz2(另外一個物流小組,我一個人基本上是跟她們做的,或者說是看著她們做的)的幫助下,對jsp有了一個大概的認識。其實實訓開始前,我還以為做個系統(tǒng)沒什么大不了,可是當真正拿到一個項目,我卻真的無從下手了,而且就是在知道需求分析和詳細設(shè)計,在代碼編寫時,一樣寸步難行。通過這個實訓,也讓我了解到,團隊協(xié)作是多么的重要。一個人的精力是多么的有限。進一步理解到,企業(yè)為什么如此重視團隊協(xié)作。同時借用老師的話就是團隊協(xié)作固然重要,但是是建立在個人素質(zhì)的基礎(chǔ)上,假設(shè)你個人素質(zhì)不行,將會影響到整個團隊,就別提對團隊作更多貢獻了。__老師說這幾句話的時候,朝向了我,估計是有特殊意義的吧,所以,我將謹記老師的教導。

還有一個收獲是從一個同學(小胖)那里得到的,他的那組成員跟我的這組大體一樣,我倒是覺得沒什么了,不過他倒是很重視這個問題吧。然后他說出來,我也覺得這個問題確實其實是個大的問題。就是不管你會不會這門技術(shù),會不會做這個東西,態(tài)度要正確才好,就算你不會做,你也應該認真的對待,將來 出身到社會,就不是說像你現(xiàn)在,不會做就不做,跑去玩游戲了。小胖說出了這段話,也在我身上有了一個印證,雖然我jsp技術(shù)知識為0,但我也還是在認真的跟著他們一起做,不會做,就多問,畢竟現(xiàn)在我們是學生,可以毫不顧忌的詢問各種問題,老師也會盡力為你回答。將來出身社會就不一樣了。雖然,我就算個打醬油的水平,但是這個醬油也要打得有涵量啊。不管怎么樣,我能對自己有個交待,雖然我不會,但是這次實訓我確實是認真對待了,六天的實訓,除了晚上加班外,還花了2個通宵來完成不同階段的任務,完成與否也不重要了,我至少我做了,這點,是這次我應該對自己的一個肯定。

這次實訓的心得基本上就是這些了,最后特別感謝中軟國際帶我們的那兩個老師(周褀,朱映),這兩個老師對待我們很平易近人,對我們提出的問題,總是不光解決了,還進行了擴展,晚上也跟我們一起加班加到很晚,印象尤其深刻就是朱映老師為了給小胖解決一個問題,臉都變紅了,還在繼續(xù)努力,這點我并不會覺得老師知識儲備不夠,我想應該是這個問題的突發(fā)吧,一時沒想到怎么處理。相反讓我感覺更多的就是老師很認真,很負責。還要感謝就是syz2小組的傾力支持,輔導。

軟件工程心得體會篇6

一、 實訓目的:

通過對java語言、sql數(shù)據(jù)庫的應用以及sql語言的復習和鍛煉,并且通過使用MyEclipse開發(fā)平臺設(shè)計管理項目,以達到充分熟悉開發(fā)平臺及應用設(shè)計。同時掌握并實踐軟件項目設(shè)計規(guī)范及其開發(fā)流程:需求分析、概要設(shè)計、詳細設(shè)計、代碼編寫等,以便提前適應軟件公司開發(fā)流程、環(huán)境和工作要求。

二、實訓內(nèi)容:

1. 項目:(“當當網(wǎng)”)

2. 完成(用戶注冊、登錄、列表、購物車、刪除、修改)等功能

3. 數(shù)據(jù)庫設(shè)計、SQL應用

4. 項目實戰(zhàn)

三、實訓總結(jié):

轉(zhuǎn)眼間實訓已過去一段時間,之前的興奮、喜悅?cè)缃褚呀?jīng)讓我熟悉,在實訓的每一天都會讓我有成為一名真正的財富者擁有的沖動。也許,在這期間不一定會讓一個人有著翻天覆地的變化,但變化就是這樣一點一點產(chǎn)生的。通過這一期的實訓,雖然倍感折磨,但是收獲卻是很大的,學習中我不但有了學習成果的喜悅,而且自己也日漸成熟,有種說不出的喜悅。

在實訓的過程中,我深深的體會到了自己在專業(yè)知識方面的欠缺和不足,也意識到了自己作為計算機軟件專業(yè)的學生,要想在以后的職業(yè)中嶄露頭角,除了要有過硬的理論知識,健康的體魄之外,還必須具備良好的心理素質(zhì),是自己在以后的途中無論經(jīng)歷什么樣的困難,都立于不敗之地。通過實訓老師的課堂講解與企業(yè)文化標準的培訓,使我加深了對自己專業(yè)的認識,從而確定自己以后的努力方向,要想在短暫的實訓時間內(nèi)盡多的學到東西,就需要我們跟老師或同學進行良好的溝通,加深彼此的了解,只有我們跟老師多溝通,讓老師更了解我們,才能更真切的對我們進行培訓工作。由此,班級的文化“共享”就在生活中慢慢形成了。

“紙上得來終覺淺,絕知此事要躬行!”在這短短的時間里,讓我深深的感覺到自己在實際應用中所學來專業(yè)知識的匱乏。讓我真真領(lǐng)悟到“學無止境”這句話的涵義。而老師在專業(yè)認識周到中所講的,都是課本上沒有而對我們非常有實際意義的。這又給我們的實訓增添了濃墨淡彩的光輝。我懂得了實際生活中,專業(yè)知識是怎樣應用與實踐的。在這些過程中,我不僅知道了職業(yè)生涯所需具備的專業(yè)知識,而且讓我深深體會到一個團隊中的各個成員合作的重要性,要善于團隊合作,善于利用別人的智慧,這才是大智慧??繂我坏牧α渴呛茈y完成一個大項目的,在進行團隊合作的時候,還要耐心聽取每一個成員的意見,是我們的組合達到更加完美。

這次實訓除了讓我明白工作中需要能力,素質(zhì),知識之外,更重要的是學會了如何去完成一個任務,懂得了享受工作。當遇到問題,冷靜,想辦法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學習的東西。

經(jīng)過之前的學習,對程序設(shè)計有了一定的認識與理解。在校期間,一直都是學習理論知識,沒有機會去參與項目的開發(fā)。所以說實話,這次實訓,軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經(jīng)過這次實訓,讓我明白了一個完整項目的開發(fā),必須由團隊來分工合作,并在每個階段中進行必要的總結(jié)與論證。

一個完整項目的開發(fā)它所要經(jīng)歷的階段包括:遠景范圍規(guī)劃和用例說明、項目結(jié)構(gòu)和風險評估、業(yè)務功能說明書、詳細設(shè)計說明書、代碼實現(xiàn)、測試和安裝包等等。一個項目的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠景規(guī)劃,對以后的開發(fā)進度會有很大的影響,甚至會出現(xiàn)在預定時間內(nèi)不能完成項目或者完成的項目跟原來預想的不一樣。一份好的項目結(jié)構(gòu)、業(yè)務功能和詳細設(shè)計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關(guān)鍵,也就是說,前期作業(yè)都是為代碼的實現(xiàn)所做的準備。

我深刻的認識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼基礎(chǔ),必須要有事先對文檔進行可靠性報告,功能說明書,詳細設(shè)計說明書等的編寫和一些風險評估的編寫的能力。

除了圖書館,最能讓我感覺到身在大學的就是實訓機房,在匆匆過去的兩個月內(nèi),我往返于實訓機房與宿舍之間,使我享受了一個充實的學習時期,讓我感受到了大學的魅力,對自己充滿信心,對大學充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。

實訓中要求有扎實的理論基本知識,操作起來才順心應手,我這時才明白什么是“書到用時方恨少”。這就激發(fā)了學習的欲望。 “學以致用”,就是要把學來的知識能運用到實際操作當中,用實踐來檢驗知識的正確性。我想,這是實訓的最根本目的。

最初在實訓時自己就有一些不自信,但隨著項目的進展,我慢慢的找到了自己的位置,找到自己的目標,雖然自己與好的同學還有差距,這也給了我很大壓力,但是我相信沒有壓力就沒有動力,所以在整個實訓過程中我都在不斷地努力。

實訓期間讓我學到很多東西,不僅在理論上讓我對IT領(lǐng)域有了全新的認識,在實踐能力上也得到了很大的提高,真正的學到了學以致用,更學到很多做人的道理,對我來說受益匪淺。我意識到自己知識的缺少,這激勵我在以后的學習、工作、生活中要不斷了解信息技術(shù)發(fā)展動態(tài)以及信息發(fā)展中出現(xiàn)的新的技術(shù)。

除此之外,我還學到了如何與人相處,如何和人更好的交流,我們組成一個團隊大家一起開發(fā)一個項目,大家的交流溝通顯得尤為重要,如何將自己的想法清楚明白的告訴隊友,如何提出自己想法的同時又不傷害其他的隊友的面子,這些在我的實訓生活中都有一些體會。可是說,第一次親身體會理論與實際相結(jié)合,讓我大開眼界。也是對以前學習的一個初審吧,相信這次實訓多我以后的學習、工作也將會有很大的影響,在實訓的這段時間里這些寶貴的經(jīng)驗將會成為我以后工作的基石。

作為即將畢業(yè)走出校園的學生,經(jīng)過3年的在校學習,對程序設(shè)計有了一些基本的理性的認識和理解。在校期間一直忙于理論的學習,沒有機會也沒有經(jīng)驗來參與我們項目的開發(fā),所以在實習之前軟件按開發(fā)對我來說是非常抽象的,一個完整的項目要怎么來分工以及完成該項目所需要的基本步驟也不明確,通過這次實訓讓我明白一個完整項目的完成必須團隊分工合作,并在每個階段進行必要的總結(jié)和檢查。在我們項目的開發(fā)過程中我們項目的步驟:詳細設(shè)計、詳細設(shè)計review、編碼、編碼。在項目開發(fā)過程中我也深刻的體會到詳細設(shè)計對一個項目開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有具體的認識,并能減少在開發(fā)過程中出現(xiàn)不必要的脫節(jié)。

這次實訓是對我們學習的一個檢驗,雖然項目中很多知識我們在日常的學習中都沒有遇到,這同時提醒我:要想成為一個合格的程序員就有具備一種自學能力,在工作中會遇到很多從未接觸過的問題,當有了問題時要去解決,在你不斷努力,尋找答案的過程中,自己的能力也在潛移默化的提升。有時遇到問題時可能有很多想法但卻不知道那個正確,這就讓我們不斷地去探索,不斷地嘗試。

軟件工程心得體會篇7

時間過的很快,轉(zhuǎn)眼間已經(jīng)實習將近5個月,其中有2個月是屬于完全被流放的。 最先在內(nèi)部系統(tǒng)組參與內(nèi)部管理系統(tǒng)開發(fā)(struts+mysql+spring+hibernate),之后是去做網(wǎng)絡(luò)交換機軟件的腳本測試?,F(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、程序員的困惑

有些人,以為教學視頻和代碼看多,自己就懂的多,實際做起來,卻不知從何下手,問題在那?如何定位?如何解決?通通跟一樣能力有關(guān),debug追蹤能力,也稱調(diào)試。在項目組工作不愁源碼資源,但問題是蛋糕擺在面前,你如何去消化?

有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此基礎(chǔ)上去做具體記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數(shù)據(jù)庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學會調(diào)試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。

3、如何調(diào)試追蹤

如果你能在短短的時間內(nèi)就看到問題點在那,放下斷點去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運行期間的具體值,那是最好途徑。eclipse是個很爽的ide,這點做的很好。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫查詢語句去下手,設(shè)置斷點,一步一步step over,讓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)性的任務,只要你肯去嘗試,他們就會對你另言相看,把三天的任務一天加班搞定,效率和忠誠都有了,路也比較好走了。

軟件工程心得體會篇8

軟件工程心得體會未接觸軟件工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟件工程課,終于知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復雜化導致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。

經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(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),才能“做大做強”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。

其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。在我看來,除了第一步外,其余的步驟應該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。1.可行性分析就是關(guān)于當前項目能不能干的分析結(jié)果。

2.項目描述這是在決定立項以后,對當前項目的一份扼要說明。

3.需求分析就是對客戶要求的功能的定義。

4.軟件設(shè)計這就是對程序的每一個模塊的詳細設(shè)計的說明文檔。

5.開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。

6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。

32819 主站蜘蛛池模板: 连续油炸机,全自动油炸机,花生米油炸机-烟台茂源食品机械制造有限公司 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 密度电子天平-内校-外校电子天平-沈阳龙腾电子有限公司 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | 聚合甘油__盐城市飞龙油脂有限公司 | 塑钢件_塑钢门窗配件_塑钢配件厂家-文安县启泰金属制品有限公司 深圳南财多媒体有限公司介绍 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | 贴片电容-贴片电阻-二三极管-国巨|三星|风华贴片电容代理商-深圳伟哲电子 | 山东石英砂过滤器,除氟过滤器「价格低」-淄博胜达水处理 | 碳纤维布-植筋胶-灌缝胶-固特嘉加固材料公司 | 旗帜网络笔记-免费领取《旗帜网络笔记》电子书 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | bng防爆挠性连接管-定做金属防爆挠性管-依客思防爆科技 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 船老大板材_浙江船老大全屋定制_船老大官网 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 智能垃圾箱|垃圾房|垃圾分类亭|垃圾分类箱专业生产厂家定做-宿迁市传宇环保设备有限公司 | 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | 诚暄电子公司首页-线路板打样,pcb线路板打样加工制作厂家 | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 跨境物流_美国卡派_中大件运输_尾程派送_海外仓一件代发 - 广州环至美供应链平台 | 安徽成考网-安徽成人高考网| nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 湖南印刷厂|长沙印刷公司|画册印刷|挂历印刷|台历印刷|杂志印刷-乐成印刷 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 |