通過總結和歸納,我們可以更好地了解自己的成長軌跡和提升空間。要寫一篇較為完美的心得體會,首先要有明確的主題和目標。在這里為大家分享一些優(yōu)秀的心得體會,希望能夠激發(fā)你們對學習和工作的思考。
學習軟件工程的心得體會篇一
我們是20__年3月7號進入宏天實訓公司參加軟件開發(fā)實訓的,在此次實訓中,除了讓我明白工作中需要能力,素質,知識之外,更重要的是學會了如何去完成一個任務,懂得了享受工作。當遇到問題,冷靜,想辦法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學習的東西。
經過之前的在校學習,對程序設計有了一定的認識與理解。在校期間,一直都是學習理論知識,沒有機會去參與項目的開發(fā)。所以說實話,在實訓之前,軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經過這次實訓,讓我明白了一個完整項目的開發(fā),必須由團隊來分工合作,并在每個階段中進行必要的總結與論證。
一個完整項目的開發(fā)它所要經歷的階段包括:遠景范圍規(guī)劃和用例說明、項目結構和風險評估、業(yè)務功能說明書、詳細設計說明書、代碼實現(xiàn)、測試和安裝包等等。一個項目的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠景規(guī)劃,對以后的開發(fā)進度會有很大的影響,甚至會出現(xiàn)在預定時間內不能完成項目或者完成的項目跟原來預想的不一樣。一份好的項目結構、業(yè)務功能和詳細設計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關鍵,也就是說,前期作業(yè)都是為代碼的實現(xiàn)所做的準備。
我深刻的認識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼基礎,必須要有事先對文檔進行可靠性報告,功能說明書,詳細設計說明書等的編寫和一些風險評估的編寫的能力。
除了圖書館,最能讓我感覺到身在大學的就是實訓機房,在匆匆過去的兩個月內,我往返于實訓機房與宿舍之間,使我享受了一個充實的學習時期,讓我感受到了大學的魅力,對自己充滿信心,對大學充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。
實訓中要求有扎實的理論基本知識,操作起來才順心應手,我這時才明白什么是“書到用時方恨少”。這就激發(fā)了學習的欲望。
“學以致用”,就是要把學來的知識能運用到實際操作當中,用實踐來檢驗知識的正確性。我想,這是實訓的最根本目的。
“紙上得來終覺淺,絕知此事要躬行!”,在短暫的實訓過程中,讓我深深感受到自己在實際運用中專業(yè)知識的匱乏。以前總以為自己學的還不錯,一旦應用到實際就大不一樣了,這時才真正領悟“學無止境”的含義。
經過為期兩個月的電子政務服務平臺系統(tǒng)開發(fā)的實訓,我對visual軟件開發(fā)平臺有了更深一步的了解,對微軟基礎類庫的認識與使用也有了大大的提高。以及如何使用sqlserver數據庫進行連接操作方面有了本質的提高。
短短的實訓結束了,為我將來的就業(yè)打下了良好的基礎,也提高了我的軟件開發(fā)的水平,今后我將會更加努力的學習,不斷提高自身素質,開拓創(chuàng)新,與時俱進,做一個優(yōu)秀的軟件開發(fā)工程師。
學習軟件工程的心得體會篇二
作為一個計算機相關專業(yè)的學生,學習軟件工程概論課程是必不可少的環(huán)節(jié),這門課程為我們提供了對軟件工程學科的基礎認知和框架規(guī)劃,同時也為我們在未來的學習和工作中打下了堅實的基礎。在這門課程中,我認真學習、反思,從中獲得了不少收獲和體會。下面,我將從以下四個方面展開我的學習心得,并結合自身的經歷,談談我的理解和思考。
第二段:軟件工程學科的基本認識
學習軟件工程概論,我們首先需要了解軟件工程學科的基本認識。首先,軟件工程是一個系統(tǒng)性的學科,其目的是確保軟件的質量和效率,最終達到客戶和開發(fā)者雙方的需求。其次,軟件工程的目標是建立高質量、可靠、易維護的軟件系統(tǒng),在項目計劃、需求定義、軟件設計、測試等各個階段下工作,最終形成一個完整的軟件開發(fā)生命周期。同時,軟件工程學科也需要同時考慮工程學、計算機科學和管理科學等多個學科的知識結構,要順應軟件市場、技術骨干和客戶需求,利用日新月異的技術、方法和工具不斷提高軟件工程的水平。
第三段:軟件工程的主要原則和方法
軟件工程的實踐和研究不僅需要基本認識和知識框架,還需要深入了解軟件工程的主要原則和方法。軟件工程的主要原則包括:分階段開發(fā)、模塊化設計、適應性規(guī)劃、嚴格記錄和文檔、提前預防和檢測、先進的技術和工具等。軟件工程的主要方法包括:結構化的系統(tǒng)分析和設計、模型驅動的開發(fā)、敏捷的方法和迭代式的開發(fā)過程等。具體方法的選擇應根據具體的需求和現(xiàn)實情況,要根據實際情況精選方法、工具和流程,不斷更新和完善軟件工程的理論體系。
第四段:軟件工程的社會價值
軟件工程不僅是一門學科,更代表了一種價值觀和責任感。它對于人類社會的發(fā)展和進步扮演著重要的角色。在當今信息技術迅速發(fā)展的時代,軟件工程已成為技術與社會相結合的橋梁和紐帶。軟件工程的社會價值包括:提高信息處理和科技發(fā)展水平、提高軟件開發(fā)和維護效率、創(chuàng)造高質量和高性能的軟件、優(yōu)化各行各業(yè)的流程和管理、推動工業(yè)化和信息化協(xié)同發(fā)展、加強個人和團隊協(xié)作能力等。軟件工程的社會價值無處不在,是不可忽視的一部分。
第五段:結語
在這門軟件工程概論課程中,我了解了軟件工程學科的基本認識,深入學習了軟件工程的主要原則和方法,并且認識到了軟件工程的社會價值。通過學習軟件工程,我不僅拓展了自己的知識面,也意識到了自己在未來的專業(yè)發(fā)展中需要掌握的技能和素養(yǎng)。軟件工程是一門學科,也是一種責任感和價值觀念。我相信,在未來的實踐和研究中,我會不斷學習和探索,為軟件開發(fā)行業(yè)做出自己的貢獻。
學習軟件工程的心得體會篇三
初學軟件工程第一周的時候以為只是純粹的理論課毫無用處,其實不然。深入了解之后發(fā)現(xiàn)它對程序的設計,錯誤的檢測以及軟件測試,編寫方面有不可磨滅的便捷好處。開發(fā)一個軟件時,對原定的系統(tǒng)模型和目標的現(xiàn)實以及系統(tǒng)完成后所帶來的效益的預判斷,可以明確開發(fā)與否,否則就是浪費人力,物力以及時間。
以下是所學過程中的知識點:
(1)軟件危機:軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。
所以若要解決軟件危機,既要有技術措施(方法和工具),又要有必要的組織和管理措施,軟件工程正是從管理和技術兩方面研究如何更好得開發(fā)和維護計算機軟件的一門新興學科。
軟件工程是指導計算機軟件開發(fā)和維護的一門工程學科。采用工程的概念、原理、技術、和方法來開發(fā)與維護軟件。
軟件工程方法學包含3個要素:方法、工具和過程。
(2)軟件生命周期:軟件定義、軟件開發(fā)和運行維護
軟件開發(fā)階段:問題定義,可行性研究,需求分析,總體設計,詳細設計,編碼和單元測試,綜合測試,軟件維護。
軟件維護主要任務:是使軟件持久的滿足用戶的需要。
軟件過程目的:為獲得高質量軟件所需要完成的一系列任務的框架,規(guī)定了完成各項任務的工作步驟。
其中:可行性分析:技術可行性,經濟可行性,操作可行性
(3)判定表和判定樹能夠清晰地表達出各種動作之間的對應關系
第一個軟件生命周期,瀑布型生命周期
程序設計:低耦合高內聚
(4)學會畫程序流圖,sc圖,er圖,dfd圖,順序圖以及協(xié)作圖。學會讀圖,可以獨立完成相關計算題。
學習軟件工程的心得體會篇四
軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它包括程序、相關數據及其說明文檔。軟件工程(softwareengineering,簡稱為se)是針對軟件這一具有特殊性質的產品的工程化方法。se涵蓋了軟件生命周期的所有階段,并提供了一整套工程化的方法,來指導軟件人員的工作。任何事物都是從無到有的,軟件當然也不例外。上世紀中期,軟件產業(yè)從零開始起步,經過半個多世紀的發(fā)展,其大致經歷的3個階段:程序設計階段、軟件設計階段和軟件工程時代,現(xiàn)已成為推動人類社會發(fā)展的龍頭產業(yè),隨著信息化時代的發(fā)展,軟件對人類社會也將越看來越重要。人們對軟件的認識自然經歷了一個由淺入深的過程,在得到巨大需求的同時,也遇到了一系列嚴重問題,即軟件危機。所謂軟件危機,是指在計算機軟件的開發(fā)和維護過程中所遇到的一些嚴重問題,其實質是軟件產品的供應趕不上需求的增長。概括的說包含兩方面的問題:一、如何開發(fā)軟件,以滿足不斷增長,日趨復雜的要求;二、如何維護數量不斷膨脹的軟件產品。為研究和解決軟件危機,一門新興的學科軟件工程,應運而生。
軟件工程的概念是為了有效地控制軟件危機的發(fā)生而被提出來的,它的中心目標就是把軟件作為一種物理的工業(yè)產品來開發(fā),要求“采用工程化的原理與方法對軟件進行計劃、開發(fā)和維護”,它的主要對象是大型軟件,它的最終目的是擺脫手工生產軟件的現(xiàn)狀,逐步實現(xiàn)軟件開發(fā)和維護的自動化。軟件工程的概念自提出來后,經過幾十年的發(fā)展,雖然軟件危機沒有得到徹底的解決,但在軟件開發(fā)方法和技術方面已經有了很大的進步,提出了軟件工程知識體系、軟件工程三段論、軟件工程生存期模型、服用原則等等。
軟件開發(fā)過程大致經過7個階段:可行性分析、需求分析、概要設計、詳細設計、編碼、測試、提交與維護。接下來逐一分析本人見解:
一、可行性分析:顧名思義,就是看項目究竟“能不能做”。有3個方面:技術可行性、經濟可行性和操作可行性。要確定項目,首先要客觀的、科學的了解項目的規(guī)模、難度和時間限制,才可以確定應該投入多少人力、物力和財力去做這個項目,必須準確的估計項目的規(guī)模與難度??错椖渴欠裼袃r值去做,如果沒有價值,就放棄;如果有價值,就要看目前的資源是否能滿足項目的開發(fā)。如果項目有價值,且有必需的資源,那么就可以確定能做這個項目了。
2、通過什么方式去了解:直接與客戶交談;有些需求客戶講不清楚,分析人員又猜不透,這是就要請教行家。需求分析是非常重要的階段,如果做不好的話,后果很麻煩。
三、概要設計:解決“怎么做”的問題。將需求描述的“做什么”問題變?yōu)橐粋€實施方案的創(chuàng)造性過程,使得整個項目在邏輯上和物理上能夠得意實現(xiàn)。概要設計是第一個開發(fā)活動,也是最重要的活動,是軟件項目實現(xiàn)的關鍵階段。設計質量的高低直接決定了軟件項目的成敗,缺乏或者沒有軟件設計的過程會產生一個不穩(wěn)定的、甚至是失敗的軟件系統(tǒng)。一個良好的軟件設計是進行快速軟件開發(fā)的根本,沒有良好的設計,會將時間花在不斷的調試上,無法添加新功能,修改時間越來越長,隨著給程序打上一個有一個的補丁,新的功能需要更多的代碼實現(xiàn),就變成一個惡性循環(huán)了。概要設計是軟件設計級別中的高級設計,是從需求出發(fā),描述了總體上系統(tǒng)架構應該包含的要素。概要設計盡可能模塊化,因此描述了各個模塊之間的關聯(lián),主要是根據需求規(guī)格或規(guī)格定義,合理、有效地實現(xiàn)產品規(guī)格中定義的各項需求,完成軟件模塊的劃分并描述模塊之間的關系,并不斷分解系統(tǒng)模塊,從高層分解到低層分解。它注重框架設計、總體結構設計、數據庫設計、接口設計、網絡環(huán)境設計等,將產品分割成一些可以獨立設計和實現(xiàn)的部分并保證各個部分可以和諧的工作。此過程中畫數據流圖、ipo圖、e-r圖、界面設計等。
出程序的詳細規(guī)格說明,這種規(guī)格說明類似于其他工程領域中工程師經常使用的工程藍圖,程序員根據其中所包含的必要的細節(jié)寫出實際的程序代碼。用另一種方式說就是,詳細設計是將概要設計的框架內容具體化、明細化,將概要設計轉化為可以操作的軟件模型,但在實際項目進行過程中,依據項目的具體情況和項目要求,這個過程可能可以省略(邏輯上沒有省略,表現(xiàn)在概要設計階段或者編碼階段),直接按照概要設計進行編碼;不過,個人認為最好有,有詳細設計可以更好的保證編碼順利的進行,可以預先掃清編碼過程中的障礙,提高代碼的質量和編碼的效率。主要包括模塊描述、算法描述、數據描述,可以采用圖形、表格或者文字描述等方式表達出來。
代碼的時候,更不要錯過重構,另外,重構可以和設計互補。還有一點值得注意,要在必要的時候部署編碼文檔。
六、測試:看軟件是否符合標準。軟件編碼完成之后,將軟件提交給用戶之前,需要對軟件進行測試,這是保證軟件產品質量的一個重要標準,也是評估產品質量的主要手段。軟件測試是從軟件工程中演化出來的一個分支,有著非常廣泛的內容,并且隨著軟件產業(yè)的發(fā)展,它已經變得越來越重要。軟件與生俱來就可能存在缺陷,為了防止和減少這些可能存在的缺陷,進行軟件測試是有必要的,測試是最有效的的排錯和防止缺陷和故障的手段。最原始的測試莫過于直接運行軟件了,后來測試手段逐漸多樣化。測試手段有靜態(tài)測試、動態(tài)測試面向對象的測試、自動化測試等等之分。靜態(tài)測試或稱靜態(tài)分析是指一種不通過執(zhí)行程序來進行測試的一種技術,主要是檢查軟件的表示和描述是否一致,覆蓋程序的編碼格式、程序語法、檢查獨立語句的結構和使用等,主要包括代碼檢查、靜態(tài)結構分析、代碼質量等等,可以通過人工進行,亦可借助工具(如:語法分析器)自動進行。動態(tài)測試是運行被測試的程序,通過輸入測試用例,對其運行情況進行分析,以達到檢測的目的,顯然動態(tài)測試封像我們通常意義上的“測試”。動態(tài)測試主要包括白盒測試、黑盒測試、灰盒測試(介于黑盒和白盒之間)。其他測試不再一一介紹。
打水漂了。為了保證成功地將我們開發(fā)的軟件提交給用戶,我們需要對用戶進行培訓,同時提交必要的文檔及用戶手冊軟件。維護就不用多說了,就是售后服務了。維護需要分析人員、編碼人員和設計人員等角色的參與,有糾錯行維護、適應性維護、完善性維護、預防性維護等。維護后,要寫軟件維護過程文檔,至少提交一個軟件維護記錄。以上是軟件工程及其幾個階段的介紹,知道怎樣開發(fā)軟件只是軟件工程的一部分,搞好團隊合作也是很重要的。項目是一個很大的工程,需要一個團隊的統(tǒng)籌規(guī)劃,團結協(xié)作,集思廣益,舉一反三,才能夠按預期完成。
學習軟件工程的心得體會篇五
摘要:針對浙江省服務外包軟件業(yè)的發(fā)展與高校在軟件工程專業(yè)特色培養(yǎng)之間的矛盾,分析浙江工業(yè)大學計算機科學與技術學院在以“服務外包”為特色的軟件工程專業(yè)建設方面的優(yōu)勢,提出以強化“服務外包”特色,培養(yǎng)復合型、實用型軟件工程高級技術人才為目標的優(yōu)勢專業(yè)建設總體規(guī)劃和主要建設方案。
關鍵詞:優(yōu)勢專業(yè);服務外包;軟件工程;建設方案
高校畢業(yè)生專業(yè)結構失衡,與社會對計算機應用需求及最新科技發(fā)展脫軌,是目前在計算機類專業(yè)人才培養(yǎng)中遇到的主要問題之一。近年來,隨著浙江省和長三角地區(qū)信息產業(yè)的蓬勃發(fā)展,高素質軟件人才,特別是軟件服務外包產業(yè)的人才缺口正在不斷加大。針對這一現(xiàn)象,浙江工業(yè)大學經過認真的市場調研、認證和規(guī)劃后提出要以培養(yǎng)軟件“服務外包”人才為突破口,強化建設具有“產學研用結合辦學,分層分類精細培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎、強個性、善創(chuàng)新”的應用創(chuàng)新型軟件工程人才,這對緩解實際需求矛盾,提高人才培養(yǎng)質量,優(yōu)化專業(yè)結構具有十分重要的意義。
1服務外包專業(yè)建設
1.1服務外包產業(yè)在浙江省的發(fā)展狀況
作為現(xiàn)代服務業(yè)的一個重要組成部分,服務外包產業(yè)具有以下特點:信息技術含量高、附加值大、國際化水平高、環(huán)境污染少、能耗低、人力資源密集。浙江省的服務外包產業(yè)目前正處于剛起步的重要階段。浙江省服務外包合同的執(zhí)行總額約為110億美元,其中杭州市作為浙江省“中國服務外包示范城市”,其20離岸服務外包合同的執(zhí)行總額達到了15.5億美元,在全國21個示范城市中位居第四。服務外包區(qū)域發(fā)展逐漸形成以杭州市為中心,寧波、嘉興、金華、紹興、臺州、湖州等共同發(fā)展的新格局。年浙江省服務外包企業(yè)達到1480家,其中新增企業(yè)670家,增幅位居全國前列,同時,服務外包從業(yè)人員也達到了18萬人。
《浙江省服務外包產業(yè)“十二五”發(fā)展規(guī)劃》明確指出:浙江省要建設成為全國服務外包產業(yè)發(fā)展的先進省份,并打造出“浙江服務”的整體品牌。該規(guī)劃確定了“至全省服務外包合同執(zhí)行總額突破200億美元”的經濟目標,且至20浙江省服務外包從業(yè)的人數預計達到30萬人,同時年均新增的直接就業(yè)人數將會突破3萬人。
服務外包產業(yè)是人才驅動型產業(yè)。計算機類專業(yè)作為高校開設普及率較高的專業(yè),在服務外包軟件人才的培養(yǎng)上還存在巨大的缺口。隨著產業(yè)的發(fā)展,服務外包實用型人才要具有復合型、跨行業(yè)、外語溝通能力強的特點,其人才數量遠遠不能滿足需求。為保持該產業(yè)的持續(xù)發(fā)展,加快轉變經濟發(fā)展方式,促進經濟轉型升級,國家有關部門先后制定了一系列推動高校計算機學院培養(yǎng)服務外包人才的政策,從而進一步提升高校畢業(yè)生的綜合能力、就業(yè)率和就業(yè)質量。
1.2培養(yǎng)服務外包行業(yè)人才的優(yōu)勢
為適應軟件服務外包產業(yè)的發(fā)展需求,浙江工業(yè)大學計算機科學與技術學院軟件工程專業(yè)已申請建立以“服務外包”為特色的浙江省高等學校優(yōu)勢專業(yè),且在服務外包行業(yè)人才培養(yǎng)上有以下優(yōu)勢。
1)已建立創(chuàng)新型人才培養(yǎng)模式。
計算機科學與技術學院正在積極地以國家級人才培養(yǎng)模式創(chuàng)新實驗區(qū)(技術與藝術相結合的數字媒體跨學科人才培養(yǎng)模式創(chuàng)新實驗區(qū))的建設為契機,探索實踐產學“雙螺旋”驅動的高質量軟件人才培養(yǎng),以工程實踐與創(chuàng)新能力為核心,從而形成特色鮮明的軟件工程創(chuàng)新型人才培養(yǎng)模式。
2)具有高水平專、兼職教師隊伍。
浙江工業(yè)大學軟件工程專業(yè)已經建成了一支由專任教師、企業(yè)兼職教師、軟件領域知名教育與學術專家組成的120多人的教師隊伍。
3)共建了教學改革與實踐教學聯(lián)合體。
浙江省教育廳和杭州市高新技術產業(yè)開發(fā)區(qū)共建軟件學院,并共同成立了浙江工業(yè)大學軟件學院校企合作委員會。該委員會擁有理事單位近70家,會員單位包括眾多國內外知名it企業(yè)。在此基礎上,校企共建了教學改革聯(lián)合體,共同確定了人才培養(yǎng)目標、課程體系、課程教學內容。學校專職教師與企業(yè)教師共同承擔課程教學。學生的實習和畢業(yè)設計等實踐環(huán)節(jié)全部進入企業(yè)進行。
4)已建成軟件工程專業(yè)核心精品課程。
根據軟件工程課程體系框架,學校已建成1門國家級精品課程、4門省級精品課程及5門校級精品課程,其中核心學科基礎課程(如c++程序設計、數據結構、數據庫原理及運用、計算機網絡基礎等)已全部建成省級精品課程。
5)專業(yè)人才培養(yǎng)質量和社會認可度高。
浙江工業(yè)大學軟件工程專業(yè)已培養(yǎng)了6屆畢業(yè)生,共1590人,其中有600人進入服務外包企業(yè)就職。專業(yè)教學效果良好,獲得用人單位的極大認可。還有一批學生獲得了國際國內多項高水平的獎項。例如,acm隊在世界總決賽上獲前20名,acm隊獲得亞洲預選賽3金1銀的成績,并再次人選全球總決賽。在第三屆中國大學生服務外包創(chuàng)新創(chuàng)業(yè)大賽中,計算機科學與技術學院選派的兩支隊伍均突破重重選拔,晉級決賽答辯環(huán)節(jié),分別獲得了二等獎和三等獎的不菲戰(zhàn)績。
2專業(yè)特色規(guī)劃和建設思路
經過多次論證,浙江工業(yè)大學計算機科學與技術學院軟件工程專業(yè)將總體規(guī)劃設定為:經過特色專業(yè)的建設,以先進的教育思想和理念為指導,以培養(yǎng)軟件“服務外包”人才為突破口,強化“產學研用結合辦學,分層分類精細培養(yǎng)”的專業(yè)特色,在人才培養(yǎng)模式創(chuàng)新、教學團隊建設、課程與資源建設、教學方法改革、實踐教學與平臺建設、教學管理以及國際合作等方面取得標志性的教學成果,將浙江工業(yè)大學軟件工程專業(yè)打造成實訓基地完備、師資力量雄厚、教學質量一流、課程體系先進、專業(yè)特色鮮明、行業(yè)和社會評價優(yōu)良的特色專業(yè),建設成省內一流、國內知名的復合型、實用型軟件工程高級技術人才的培養(yǎng)基地和國內外具有一定影響的計算機軟件產學研基地。
2.1“產學研用”結合辦學校企聯(lián)合將教學改革與實踐教學相聯(lián)合,共同確定人才培養(yǎng)目標、課程體系、課程教學內容,學校專職教師與企業(yè)教師共同承擔課程教學;同時將學生的實習和畢業(yè)設計等實踐環(huán)節(jié)全方位嵌入企業(yè)項目,通過任務驅動、案例驅動、項目驅動,讓學生融入教師科研和企業(yè)工程項目,做到做中學,學致用,形成產學研用結合辦學的特色。
2.2分層分類精細培養(yǎng)
學校以培養(yǎng)軟件“服務外包”人才為突破口,在人才培養(yǎng)模式改革、研究型教學方法改革、課程建設和實踐平臺建設中,堅持以軟件研發(fā)實踐和創(chuàng)新能力的培養(yǎng)為核心,強化個性,分層分類精細培養(yǎng)復合型、實用型軟件工程高級技術人才。
3優(yōu)勢專業(yè)建設總體方案
3.1完善人才培養(yǎng)方案
學院根據“夯實基礎、拓寬口徑、強化個性、善于創(chuàng)新”的指導思想,采用多層次、多方向、寬口徑的課程教學體系,進一步完善專業(yè)教育學分制和產學研一體化聯(lián)合培養(yǎng)方案;采用“嵌入式人才培養(yǎng)模式”,對學生進行“定制式”培養(yǎng),包括軟件服務外包知名企業(yè)實施聯(lián)合培養(yǎng)和服務外包培訓班等形式;完善專業(yè)主修方向及多個輔修方向相結合的機制,引進國外優(yōu)秀師資和系列雙語教學課程,制定對日服務外包和對歐美服務外包兩種計劃,提供相當數量的選修課程。
3.2構建特色專業(yè)的課程體系
學院加強學科基礎教學,與服務外包企業(yè)聯(lián)合構建“服務外包聯(lián)盟”,共同確立多層次的課程體系;提供新型、實用的學科方向課和新技術講座;搭建軟件服務外包實訓基地、創(chuàng)業(yè)孵化中心;開設各類大型實驗、軟件工程綜合實習等實踐環(huán)節(jié)強化實踐訓練。實行的新課程體系由軟件工程領域的核心課程、引進國際先進的課程、校企合作聯(lián)合開發(fā)的面向服務外包課程組成。圖1所示為軟件工程專業(yè)課程體系。
我們要著重加強實踐教學在課程體系中的比重,增加實用性課程和實踐環(huán)節(jié)的比重,增加項目實踐的時間,擴展服務外包案例分析教學內容,同時著力強化“分段制、融入型”實習,明確產學研在教學上的合作機制,提升設計性、綜合性實驗課程比例,提高畢業(yè)設計水平。
3.3改革課程教學內容,加強新教材建設
學院對現(xiàn)有的課程內容進行改革,并根據歷年來學生對教材的反饋情況以及教師教材的使用情況,精心選擇優(yōu)秀教材。教材由同課程的多名教師討論決定,并由課程團隊責任教師進行把關,要保證教材內容時刻跟隨相關產業(yè)和領域的發(fā)展。學院還組織教師積累經驗,結合軟件服務外包編寫教材。教材內容要反映產業(yè)和領域發(fā)生的.變化。此外,學院還引進相應的國外原版教材,通過雙語教學提高學生對最新軟件開發(fā)理論和技術的了解,提高外語應用能力,培養(yǎng)能在國際化環(huán)境中工作的高層次軟件專業(yè)人才。
3.4改革教師培養(yǎng)和使用機制,加強教師隊伍建設
學校秉承建設專、兼職教師隊伍相結合的方針及特色,完善學科帶頭人、專業(yè)負責人制度,以培養(yǎng)骨干教師和中青年學科帶頭人為重點,通過引進、培養(yǎng)、補充等多種方式,建設精干高效、富有活力、素質良好、結構優(yōu)化的高素質專職教師隊伍。另外,學校還加強面向服務外包方向的師資培訓,增強校內教師指導專業(yè)技術能力,重點培育教學骨干、教學帶頭人、教學名師、教學團隊。
學校從國內外知名服務外包軟件企業(yè)的高層主管和技術骨干、國內外相關學科中聘任兼職教師,聘請外國知名專家、學者授課或講座,保證專業(yè)建設始終與社會需求接軌,提升專業(yè)培養(yǎng)質量。
3.5完善實踐教學及實習基地建設
在學校的傳統(tǒng)教學實驗室的基礎上,我們通過校企合作和校企共建教學改革與建設聯(lián)合體,形成“服務外包聯(lián)盟”,建立服務外包企業(yè)實驗基地、校內實習基地和軟件園的開放式實踐基地,開展創(chuàng)業(yè)創(chuàng)新預孵化基地、大學生服務外包創(chuàng)業(yè)預孵化基地的建設,做好實驗室建設規(guī)劃和“服務外包校內實訓中心”建設工作,形成專業(yè)良好的實踐教學條件。
此外,學院還會完善分層分類的專業(yè)實驗教學體系的建設。圖2所示為分層分類多元化的實驗教學方法。由此看出,該教學體系著重專業(yè)實驗教學中復合型、實用型人才的工程實踐能力培養(yǎng),依據學科基礎技能、專業(yè)基本技能、專業(yè)綜合技能和工程實踐能力劃分層次,采用課內實驗、綜合實踐、課程設計、開放項目、科研創(chuàng)新項目、科研勤工、學科專業(yè)競賽等課內外結合形式,劃分實驗班、一體化專業(yè)、服務外包專業(yè)模塊班等不同學生對象,依托實驗教學體系實施分層分類精細化培養(yǎng),采取任務驅動、問題驅動、案例驅動和項目驅動4種基本方法,適應不同實驗課程的需要,實施多元化的實驗教學方法。
3.6加強學競賽平臺的建設,完善學生科技創(chuàng)新體系
學院舉辦課程競賽,開展自主實驗,積極組織、鼓勵學生參加各種校內外科技競賽,通過加強競賽網站建設和賽事承辦,進一步加深校企合作模式,加大宣傳力度,讓更多的高校和企業(yè)參與競賽的各項活動,突出產學研用相結合培養(yǎng)軟件工程人才的特色,進一步完善學生科技創(chuàng)新體系,促進學生參與創(chuàng)新創(chuàng)業(yè),獲得更多更好的成績。
學院借助浙江工業(yè)大學在后acm競賽中3年獲得進入全球總賽的契機,加強了acm競賽的平臺建設,完善了教練團隊和集訓制度,鼓勵學生通過競賽和國際聯(lián)系,通過人選全球總決賽和全球名校的學生平等競爭,取得佳績,彰顯浙江工業(yè)大學專業(yè)建設人才培養(yǎng)成效。
3.7教學管理與運行機制的研究與建設
學院針對服務外包專業(yè)建設,建立和完善相應教學管理組織、教學質量保證體系,通過完備的規(guī)章制度和教學規(guī)范,以及對規(guī)章制度執(zhí)行情況的例行監(jiān)督和反饋機制,有效管理教學,提高教學質量。
(1)建設由政府職能部門、行業(yè)管理部門、有代表性的企業(yè)和學校主管部門組成的專業(yè)建設顧問組,成立軟件服務外包專業(yè)建設咨詢委員會,指導專業(yè)建設的定位與方向。
(2)建設以杭州骨干軟件企業(yè)為主組成的校企合作委員會,共建服務外包實踐基地,完成學生實習和畢業(yè)設計的教學工作。
(3)建設由國際國內知名軟件技術教育專家、軟件設計與開發(fā)專家組成的教學指導與教師培養(yǎng)委員會,聯(lián)合服務外包企業(yè),指導課程體系、課程內容的建設和教師隊伍的建設。
4)進行服務外包教學管理、教學工作規(guī)范、實習環(huán)節(jié)質量評定方法和監(jiān)督反饋機制的建設。
4結語
針對計算機人才培養(yǎng)質量與社會需求和最新科技發(fā)展脫軌問題,筆者詳細分析了服務外包產業(yè)在浙江省的發(fā)展狀況及浙江工業(yè)大學計算機科學與技術學院在服務外包行業(yè)人才培養(yǎng)中的優(yōu)勢,提出了以培養(yǎng)軟件“服務外包”人才為突破口,強化建設具有“產學研用結合辦學,分層分類精細培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎、強個性、善創(chuàng)新”的應用創(chuàng)新型軟件工程人才的方案。通過今后幾年的不斷努力實踐,我們希望能取得軟件工程專業(yè)建設的成效,滿足社會對軟件人才的需求,并為其他高校軟件工程人才的培養(yǎng)和專業(yè)建設起到示范和帶動作用。
學習軟件工程的心得體會篇六
未接觸軟件工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟件工程課,終于知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復雜化導致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質量和程序員工作效率為目的'的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調,組員積極配合,才能合作愉快。學習能力體現(xiàn)在能盡快接受新的知識,順應變化,學為所用。
上《軟件工程導論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產,提高其勞動生產效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據開發(fā)的軟件的規(guī)模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1.可行性分析就是關于當前項目能不能干的分析結果。
2.項目描述這是在決定立項以后,對當前項目的一份扼要說明。
3.需求分析就是對客戶要求的功能的定義。
4.軟件設計這就是對程序的每一個模塊的詳細設計的說明文檔。
5.開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或對代碼的一些微小的修改,或對程序結構的一些微小變動等,還要對上述這些修改變動作些說明。
6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數字描述。
學習軟件工程的心得體會篇七
這門課的作用就是,在你真正見過豬以前,先教你怎么吃豬肉,怎么騎著豬跑。
軟件工程導論所講述的內容,其實并沒有很多人想象中的那么重要。就像是一本教你如何游泳的書。確實是一種非常重要的技能,但實際上你如果不看書,在水里撲騰幾天也就會了,只是姿勢不那么標準,游不了那么快。學會游泳非常重要,但其實并不是說你要學會這本書有多么重要。
他的內容大部分都是一些總結出來的經驗和方法。如果沒有真正的試驗過,很難有切身的體會。比如說你如果沒經歷過整天用zip壓縮當天代碼保存的工作,就不會知道版本控制有多么重要。還有那些設計模式。比如singleton,你也許會說,用個全局變量,只生成一個對象不就可以了。自己寫小項目固然可以,但軟件工程作為一種“工程”,是很難一個人包攬全部工作的。你要多項目之間配合,要多人維護同一部分代碼。你要有一種確定的手段,來保證你這個類只有一個對象。所以把它提煉出來,總結成一種模式。
至于學習上,除了完成規(guī)定的學習目標外。我認為學過這門課,至少應該了解一個項目中會有哪些分工,大概是如何運行的。各種設計模式的話,了解一下就可以了。只要你以后在工作中,能記起來有這么個東西,這種情況下,某種模式可能比較合適,具體細節(jié)到時候再查就行了。
這門課自己也說,是門導論而已。介紹一下你以后可能遇到的坑,以后再遇到那個填那個好了。
學習軟件工程的心得體會篇八
談到機械工程先來講講機械,中國的機械發(fā)展有著悠久的歷史,五千年前的紡織機械、晉朝時期的連機錐和水碾、西漢時期的指南車和鼔車、東漢的地震儀、秦始皇時期的銅車馬??國外機械的產生要追溯到18世紀初,第一次工業(yè)革命產生蒸汽機和一些以蒸汽機為動力的近代機械的雛形,再到19世紀代左右的第二次工業(yè)革命,內燃機的產生帶來了新的動力機械,開始了機械的迅猛發(fā)展。從機械和社會的發(fā)展來看,一個社會機械水平越高,生產力水平越強?,F(xiàn)代社會也是一樣,機械是現(xiàn)代社會進行生產和服務的六大要素(人、資金、信息、能量、材料和機械)之一,機械工業(yè)是國民經濟的支柱工業(yè)之一,是社會生產力發(fā)展水平的重要標志。綜上可見,機械是一個國家發(fā)展、民族復興的重要保證。
機械社會發(fā)展中的地位如此之高,那機械工程呢?機械工程是運用數學、物理等基礎理論和有關機械方面的專門知識,結合生產實際經驗,經濟有效地解決在設計、研究、制造和運行各種機械中遇到的實際問題。從定義上可以看出,機械工程是一個系統(tǒng)性的全面的工程,可以盡可能合理的創(chuàng)造和最大化的利用機械??梢?,在21世紀這樣一個充滿市場競爭和需要不斷創(chuàng)新的時代,機械工程運用的好與不好,往小一點說,直接關系到一個企業(yè)的存亡問題,往大一點說,直接決定了一個國家機械工業(yè)方面的軟實力。機械工程對國家發(fā)展如此之重要,對于未來希望成為工程師的大學生的我來說,沒有理由不好好的了解機械工程。
工程中力學包含:理論力學、流體力學、材料力學、震動力學、計算力學。這些力學是進行機械設計和制造的基礎,學好這些理論才能知道運動以怎樣的機構傳遞,能量以怎樣的機器傳遞。
機械設計包含了很多的設計方法,除去傳統(tǒng)設計方法不說,現(xiàn)代設計方法包含:優(yōu)化設計、可靠性設計、有限元分析、并行設計、綠色設計、創(chuàng)新設計、模塊化設計和反求設計。其中有限元分析、綠色設計和反求設計令我印象深刻。利用電腦軟件對設想的機械部件進行有限元分析,可以確保設計的合理性和可利用行,如此以來,可以在不做出模型的情況下就可以清楚的了解結構的性能,節(jié)約了時間不說更節(jié)約了大量的人力、物力財力。在綠色設計方面,美國的廢舊汽車利用可謂楷模,報廢汽車再利用率達到了百分之九十五,再利用零部件重量超過舊車的總重量的百分之七十五,可以說節(jié)約了大量的資源,對環(huán)境有了一個很好的保護,這點反觀我的祖國,確實有必要學習一下,我國現(xiàn)在汽車每年的購買量都在大幅度上漲,隨之而來的必然會有大量的報廢汽車,這是新的產業(yè),也是一個新的經濟增長點,不但節(jié)約資源保護環(huán)境,還可以促進經濟增長,真是一舉兩得的好事啊。這些設計方法中,最讓我眼睛一亮的要數“反求設計”,二戰(zhàn)戰(zhàn)敗國日本就是運用這種方法,以“一代引進,二代國產化,三代改進口、四代占領國際市場”方針,迅速的崛起為世界第二大經濟體。日本的成果是對這種方法實質的最好詮釋,中國也在使用這種方法,不過是歪曲了的,只顧模仿不懂得吃透他人的技術再創(chuàng)新,是中國科學技術落后與發(fā)達國家的一個重要因素。模仿不可怕,可怕的是照搬照套!用好“反求設計”實現(xiàn)“比他人做得更好”。
機械制造技術包含兩方面含義:
1、指用機械加工零件的技術;
2、指制造某種機械的技術。在制造技術方面,先進制造技術顯得更適合現(xiàn)代化,通過將多方面的技術進行交叉、融合和集成,綜合應用于產品全生命周期的制造過程,可以更經濟更有效率更好的制造出適應市場需求的產品。特別是三維打印技術,可以通過電腦造型,再通過3d打印機打印出模型來觀察產品的合理性和可用性,方便效率高。
最后談談機電一體化技術,機器人現(xiàn)在是各個國家研究的熱門項目,每個國家都希望在這方面領先全球,機器人就是典型的利用了機電一體化技術的產品,是機械和電子的有機結合。從20世紀中后期,機電一體化就代表了現(xiàn)代機械工程的發(fā)展方向,產生了眾多高新機械產品,如:火箭、衛(wèi)星、宇宙飛船、航空母艦、深海探測器??梢?,機電一體化的前景非常不錯,不過要想學好這么技術,作為機械專業(yè)的學生來說,就有必要好好的學學計算機和信息類的知識,畢竟機電一體化中電子占了很大的比重,為了自己未來的發(fā)展,也為了趕上現(xiàn)代化的機械工程方向,我要努力的學好機械專業(yè)課的同時,多涉獵一些電子類的書籍,為未來的發(fā)展奠定基礎。
學習軟件工程的心得體會篇九
這次軟件工程實訓是從__年__月__日號開始的,截至__年__月__日號。實訓內容是用java相關知識(主要是jsp)做一個物流配送系統(tǒng)。下面談談對這次實訓的看法。
因為自己平時對java知識儲備不足,特別是jsp這一塊基本不了解怎么回事,所以一拿到這個項目,我心里都是沒有底的,再加上我被分到的那個組,我知道就意味著是我一個人在戰(zhàn)斗了。呵呵,26號,實訓開始了,我們的老師是來自中軟國際公司的程序員,一個是周褀,一個是朱映,都是一身樸素的著裝,讓我感覺做軟件的也沒什么兩樣。老師介紹了自己之后,就直接切入正題了,分析了下我們各個組的系統(tǒng),即將用到的知識,然后就總體把覺得需要補充的知識(jsp和數據庫連接等這幾塊)給我們實際操作了下,因為當時看到用jsp,還講的那么認真,當時我就后悔了,平時要是多聽點,現(xiàn)在老師這么認真的給我們講,這是一個多么難得的機會啊。后悔也沒用啊,開始還勉強能理解一點,后來就直接暈了。然后再給大家介紹了一些即將用到的工具,比如rationalrose,svn,myeclipse等等。接下來的幾天就不再細講了。下面談談通過這次實訓的心得體會吧。
通過這次實訓,讓我了解到工程開發(fā)的過程,可行性分析——需求分析——概要設計——詳細設計——代碼編寫——測試——驗收。從技術方面上,我開始jsp基礎基本上就是零的,在老師和syz2(另外一個物流小組,我一個人基本上是跟她們做的,或者說是看著她們做的)的幫助下,對jsp有了一個大概的認識。其實實訓開始前,我還以為做個系統(tǒng)沒什么大不了,可是當真正拿到一個項目,我卻真的無從下手了,而且就是在知道需求分析和詳細設計,在代碼編寫時,一樣寸步難行。通過這個實訓,也讓我了解到,團隊協(xié)作是多么的重要。一個人的精力是多么的有限。進一步理解到,企業(yè)為什么如此重視團隊協(xié)作。同時借用老師的話就是團隊協(xié)作固然重要,但是是建立在個人素質的基礎上,假設你個人素質不行,將會影響到整個團隊,就別提對團隊作更多貢獻了。__老師說這幾句話的時候,朝向了我,估計是有特殊意義的吧,所以,我將謹記老師的教導。
還有一個收獲是從一個同學(小胖)那里得到的,他的那組成員跟我的這組大體一樣,我倒是覺得沒什么了,不過他倒是很重視這個問題吧。然后他說出來,我也覺得這個問題確實其實是個大的問題。就是不管你會不會這門技術,會不會做這個東西,態(tài)度要正確才好,就算你不會做,你也應該認真的對待,將來出身到社會,就不是說像你現(xiàn)在,不會做就不做,跑去玩游戲了。小胖說出了這段話,也在我身上有了一個印證,雖然我jsp技術知識為0,但我也還是在認真的跟著他們一起做,不會做,就多問,畢竟現(xiàn)在我們是學生,可以毫不顧忌的詢問各種問題,老師也會盡力為你回答。將來出身社會就不一樣了。雖然,我就算個打醬油的水平,但是這個醬油也要打得有涵量啊。不管怎么樣,我能對自己有個交待,雖然我不會,但是這次實訓我確實是認真對待了,六天的實訓,除了晚上加班外,還花了2個通宵來完成不同階段的任務,完成與否也不重要了,我至少我做了,這點,是這次我應該對自己的一個肯定。
這次實訓的心得基本上就是這些了,最后特別感謝中軟國際帶我們的那兩個老師(周褀,朱映),這兩個老師對待我們很平易近人,對我們提出的問題,總是不光解決了,還進行了擴展,晚上也跟我們一起加班加到很晚,印象尤其深刻就是朱映老師為了給小胖解決一個問題,臉都變紅了,還在繼續(xù)努力,這點我并不會覺得老師知識儲備不夠,我想應該是這個問題的突發(fā)吧,一時沒想到怎么處理。相反讓我感覺更多的就是老師很認真,很負責。還要感謝就是syz2小組的傾力支持,輔導。
學習軟件工程的心得體會篇十
時間過的很快,轉眼間已經實習將近5個月,其中有2個月是屬于完全被流放的。最先在內部系統(tǒng)組參與內部管理系統(tǒng)開發(fā)(struts+mysql+spring+hibernate),之后是去做網絡交換機軟件的腳本測試?,F(xiàn)在又回歸內部系統(tǒng),雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測試經驗。
至少自己做的東西,是真正交付到了客戶手上,到也稍微有些成就感。
1、淺談測試
一直以來,我都認為測試是脫離了軟件工程范圍的工作,不以為屑。但在實際情況中,測試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經驗總結和想象力。而要做到高級測試工程師,則一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面具體運作的前提。但占主導地位的,還是大型系統(tǒng)的集成測試經驗。實際項目中,編碼時間一般只占30%左右,真正耗費時間的是it階段的找bug與對應bug,此階段基本評定了coder的編碼質量。
2、程序員的困惑
有些人,以為教學視頻和代碼看多,自己就懂的多,實際做起來,卻不知從何下手,
有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此基礎上去做具體記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數據庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學會調試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調試追蹤
如果你能在短短的時間內就看到問題點在那,放下斷點去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運行期間的具體值,那是最好途徑。eclipse是個很爽的ide,這點做的很好。例如頁面內容顯示不是自己想要的數據,我們要先從數據庫查詢語句去下手,設置斷點,一步一步stepover,讓sql字段(存取最終sql語句的字符串)運行到有值,inspect進去看,如果還看不出來,就點擊它,copy后在sql客戶端去實際運行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調用的錯誤或者action邏輯的傳值問題。
頁面錯誤的調試,基本方法是用右鍵點擊實際網頁查看源代碼,copy到editplus,就能看到具體錯誤發(fā)生在那幾行。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調用的字段有可能為空的情況出現(xiàn)的,可以加if(xxx=null)語句加保護。追蹤的方法基本就是用alert語句,放在有可能出錯的地方。
4、一些習慣
遇到問題先自己思考,無從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學到的東西遠遠比書多的多。
解決了一個問題后,要去究根問底去找到問題產生的起因,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。
任務完后不要呆著,去要求經理給你更有挑戰(zhàn)性的任務,只要你肯去嘗試,他們就會對你另言相看,把三天的任務一天加班搞定,效率和忠誠都有了,路也比較好走了。
[]
學習軟件工程的心得體會篇十一
學習軟件工程一個學期以來,我在陳燁老師的教導下確實獲益匪淺。軟件工程這門課,讓我對軟件的認識有了大大的提升,從一開始對軟件工程的一無所知,到現(xiàn)在一學期下來的不斷學習,懂得了許多的知識。
軟件不僅僅是程序,而是思想在硬件上的載體和體現(xiàn),軟件工程與其說是一門課程,不如說是一門思想。讓我懂得如何去分析和處理問題的過程,綜合解決問題。
在這段時間的學習中,我明白了一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告等多個文檔,而軟件的生存周期可分為八個階段,分別是問題定義,可行性研究,需求分析,概要設計,詳細設計,程序設計,測試,文檔,技術支持,售后服務。而可行性包括經濟,技術,法律和社會。了解了許多軟件開發(fā)模型,比如瀑布模型,增量模型和螺旋模型,也了解了uml對象面向對象建模,知道如何畫流圖,碩果累累。其實軟件和程序是兩個不同的概念,軟件除了程序還要有使用和維護該程序所需要的全部文檔。包括需求文檔、設計文檔、測試文檔、維護文檔以及使用手冊。
軟件工程對于初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,需要很好的基礎知識的理解和掌握,所以說學好軟件工程不是僅僅書多看幾遍就可以成功,而是要多注意結合實際,多思考,面對錯誤不要一范就問,要嘗試自己去解決,然后舉一反三。
軟件工程這門課在我們畢業(yè)之后,是我們實際要運用的一項非常有用的技能,這門課讓我意識到理論學習很重要,而實踐更重要,實踐是檢驗真理的唯一標準,只有實踐和理論相結合,才能使效益最大化。軟件工程的課雖然快要結束了,但是我對軟件工程的學習才剛剛開始,有了這些基本知識做鋪墊,在以后做項目的時候將會是解決問題的有效措施。
學習軟件工程的心得體會篇十二
學習了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其范疇已經遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
要學習軟件工程,學會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則: 軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟件產品達到預期功能的程度。
可用性指軟件基本結構、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設計、實現(xiàn)、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統(tǒng)結構,包括子系統(tǒng)、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現(xiàn)活動把設計結果轉換為可執(zhí)行的程序代碼。確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。 軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
pad圖:它是用結構化程序設計思想表現(xiàn)程序邏輯結構的圖形工具。pad也設置了五種基本控制結構的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設計中使用的主要表達工具。hc圖既是層次圖,用于表示軟件的分層結構。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數據文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過程是否在實際應用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術:不執(zhí)行被測軟件,可對需求分析說明書、軟件設計說明書、源程序做結構檢查、流程分析、符號執(zhí)行來找出軟件錯誤。動態(tài)測試技術:當把程序作為一個函數,輸入的全體稱為函數的定義域,輸出的全體稱為函數的值域,函數則描述了輸入的定義域與輸出值域的關系。還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今后的學習中一定會慢慢的完善的。
軟件工程對于初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟件工程,不是僅僅把幾本專業(yè)書籍細致地看幾遍,然后上機練習幾次就可以成功,學習過程中要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學,肯定是什么都學不透的,要集中精力打攻堅戰(zhàn),學習軟件工程首先要明白自己的學習目標究竟是什么,根據自己的實際工作出發(fā),有針對性的在相應的學習方向上進行提高,制定出詳細的學習規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學習面向對象分析的時候要結合大一學習的面向對象及其方法學這一專業(yè)科目進行研究拓展;在學習語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學到的知識通匯貫通。
在軟件工程的學習中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學習中,我更了解到形成自己獨特的規(guī)范的編碼風格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序讀不懂程序,維護又從何談起呢所以,我們在今后的學習中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎上形成屬于自己的風格,即方便自己的修改,也方便日后他人的閱讀。
在學習中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數據,缺乏兩者的有機結合。而面向對象方法的程序設計和問題求解更符合人們日常自然的思維習慣,適合大型、復雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數學變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉換為可執(zhí)行的程序。在今后的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,并以此為基礎將其擴散開來,應用于今后的實踐。不斷鍛煉自己,向一名合格的程序設計師邁進。
學習軟件工程的心得體會篇十三
曾經看過一本書叫《道法自然》,內容略記得一二,但我最欣賞的是它的.書名。軟件設計沒什么太神秘有東西,只要用心體會,其實一切都很自然。軟件的設計之“道”,也不在于設計有多么的華麗、精巧,而在于其樸實、自然,最終達到“以無招勝有招”,進入一個全新的境界。
一、軟件設計理論的層次
以我的拙見,軟件設計領域中的各種概念,可以分為以下幾個層次來進行理解:
1、軟件設計的目的:重用性、擴展性。
這是最高的層次,是應對軟件危機的需要。
2、設計原則:低耦合、高聚合。
各種軟件設計的原則,如依賴倒置原則、單一職則原則、面向接口等,以及各種設計模式,其根本的目的其實只是為了降低耦合這么簡單。因為只有低耦合才能更好的適應變化,更好的重用和擴展。
3、實現(xiàn)方法:運用設計模式封裝變化、降低耦合。
設計模式只是用來“封裝變化、降低耦合”的工具而已。它是面向對象設計時代的產物,其本質就是充分運用面向對象的三個特性,即:封裝、繼承和多態(tài),進行靈活的組合運用。
二、關于耦合
1、耦合的粒度
耦合無論如何也是不可避免的。當我們實現(xiàn)接口、繼承父類的時候,就會不可避免的產生耦合。耦合是有不同粒度的,我們解耦到什么粒度為止,我認為應以模塊的重用粒度為準。盡量解除重用模塊或對象之間的耦合。而重用模塊之內的耦合,應屬于聚合的范疇,所以不要盲目的去解耦,否則就陷入了誤區(qū)。
2、解耦的原理
怎樣才能解耦呢,或者說為什么各種設計模式能達到解耦的目的呢?我覺得有以下幾個思路:
(1)將具體的東西抽象處理
(2)將分散的東西集中處理
而面向對象中的接口、繼承正為我們提供了這樣的一種機制。通過訪問接口或基類或抽象類,而不是具體的實現(xiàn)類,從而與具體的實現(xiàn)類達到了解耦的目的。我們還可以設計一些控制類,像潤滑劑一樣,協(xié)調各實現(xiàn)類之間的訪問,也可以達到耦的目的。
事實上,各種設計模式的基本思想也就是這樣。創(chuàng)建型模式是為了解除創(chuàng)建對象時產生的耦合,實際上是解除對類稱名的依賴,而結構型和行為型是為了解除對象屬性或方法的直接調用。不管什么設計模式,都是將對具體實現(xiàn)類的訪問提升為對接口、基類或用于協(xié)調的控制類的訪問。
三、關于接口
這一節(jié)更具體,談一談接口,因為使用接口是軟件設計的重要手段,但已經不屬于“道”了。
1、接口與繼承
接口描述的是對象某一個方面行為特征。使用接口與使用繼承關系各有優(yōu)缺點,使用子類繼承可以繼承父類的功能,體現(xiàn)了重用的精神。而接品更加靈活,因為它解除了子類與父類之間的高度耦合,它體現(xiàn)在靈活擴展的精神。
2、接口與純虛類
接口存在的理由就是它更加靈活,關系簡單,易于理解。比如一個類可以實現(xiàn)十幾個甚至幾十個接口,但一般開發(fā)工具只支持單繼承(由于多繼承太容易導致混亂和沖突),如果要繼承十幾層,系統(tǒng)結構想必會無法理解了,我以為這是接口存在的最重要的原因。
如果接口和虛類繼承結合使用,可以產生強大的威力,這也是許多設計模式的“殺手锏”。
以上算是總結一下自己的心得。肯定有不少片面之處,請各位指教。
學習軟件工程的心得體會篇十四
軟件工程師作為現(xiàn)代社會中越來越重要的職業(yè)之一,隨著信息技術的不斷發(fā)展,其職責也越來越廣泛和重要。作為一名軟件工程師,我在這個行業(yè)里摸爬滾打多年,深感自己的成長離不開各種經驗和心得的積累。在接下來的文字中,我將從個人視角談談自己在軟件開發(fā)過程中的心得體會。
第二段:選擇質量
在軟件開發(fā)的過程中,我最關注的是軟件的質量。因為軟件需要長期運行,不僅要滿足用戶需求,還要兼顧安全性和可維護性等方面,這需要我們在開發(fā)過程中嚴格控制每一個環(huán)節(jié),做好每一個細節(jié)。因此,我在項目開發(fā)前會認真分析需求和可能的風險,對技術框架和工具的選擇非常謹慎。我也會定期進行代碼復審和單元測試等工作,確保代碼質量達標。當然,在不斷優(yōu)化的過程中,我也意識到代碼質量的提高不僅僅在于個人級別,而更應該顧及團隊整體水平,因此深感技術學習和交流的重要性。只有不斷積累、分享,才能讓團隊的發(fā)展更加健康和持久。
第三段:溝通協(xié)作
作為一名軟件工程師,我們的工作不僅僅是編寫代碼,更包括與產品經理、UI設計師、測試工程師等各個角色之間的溝通協(xié)作。這就需要我們具備更多的軟技能。比如,要善于傾聽和引導,以便更好地理解產品需求和用戶痛點;要有清晰的表達能力,能夠清楚地向其他角色描述自己的想法和意圖;在開發(fā)過程中,也要非常注重團隊合作,及時溝通和協(xié)調出現(xiàn)的問題。整個軟件開發(fā)過程需要涵蓋從需求分析、規(guī)劃和設計,再到編碼、測試和上線等各個環(huán)節(jié),期間需要負責人與團隊的全面協(xié)作才能保證項目的順利完成。
第四段:學習成長
軟件開發(fā)是一個知識密集型的工作,要時刻緊跟技術的發(fā)展趨勢才能在激烈的競爭中取得優(yōu)勢。因此,我認為軟件工程師需要具備持續(xù)學習的能力和自我提升的意識。我會在業(yè)余時間去了解新的技術,參加相關的技術社群和活動,不斷學習和嘗試新東西,以此來增強自己的核心競爭力和解決實際問題的能力。同樣,我也會時刻關注團隊的成長和發(fā)展,希望能為團隊帶來更多的經驗和技術積累。
第五段:總結回顧
在軟件開發(fā)的過程中,我覺得最重要的是要保持持之以恒的熱情和精神狀態(tài)。無論是在技術領域還是在團隊管理中,不停地學習和成長,分享并培育團隊的創(chuàng)新精神和專業(yè)精神,才能不斷提高自己和團隊的能力和素質,做出更好的產品。取得成功需要獨立思考和勇于探索,但更需要承認團隊的重要性,在各方面展現(xiàn)出自己領導團隊的能力和擔當。在今后的工作和生活中,我也將持續(xù)關注自己的成長需求,堅定地走好自己的職業(yè)道路。
學習軟件工程的心得體會篇十五
軟件工程心得體會未接觸軟件工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟件工程課,終于知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復雜化導致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調,組員積極配合,才能合作愉快。學習能力體現(xiàn)在能盡快接受新的知識,順應變化,學為所用。
上《軟件工程導論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠??上面已經給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產,提高其勞動生產效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據開發(fā)的軟件的規(guī)模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應該是一個循環(huán)的過程。在編碼的'過程中,你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1、可行性分析就是關于當前項目能不能干的分析結果。
2、項目描述這是在決定立項以后,對當前項目的一份扼要說明。
3、需求分析就是對客戶要求的功能的定義。
4、軟件設計這就是對程序的每一個模塊的詳細設計的說明文檔。
5、開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或對代碼的一些微小的修改,或對程序結構的一些微小變動等,還要對上述這些修改變動作些說明。
6、測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數字描述。
學習軟件工程的心得體會篇十六
在本學期的軟件工程課程的學習中,我們學習了十一章的內容。
第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎性的內容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。
第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向對象方法、形式化方法。
還引出了工具uml。
第三章軟件需求獲取與結構化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結構化分析方法,畫分層的數據流圖、e-r圖以及狀態(tài)圖式本節(jié)的重點。
第四章結構化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結構以及模塊結構的改進。
第五章編碼,這一章重點講解了編碼的風格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風格。
第六章軟件測試方法,本章講解了軟件測試相關的概念及重要性,軟件測試與開發(fā)各個階段的關系;還介紹了白盒測試技術以及黑河測試技術。
第七章統(tǒng)一建模語言uml概述,本章詳細介紹了uml的基本模式、事物、關系及建模時用到的各種圖進行了介紹。
第八章面向對象分析,這一章主要講解了面向對象分析的3種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。
第九章軟件體系結構與設計模式,本章對軟件體系結構的'基本概念、典型風格等進行了講解。
第十章面向對象設計,本章的重點是對面向對象分析時建立的對象模型進行調整和細化。
第十一章軟件維護,本章主要介紹軟件維護的任務、軟件維護活動以及軟件維護方法進行了介紹。
要學習軟件工程,學會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則:軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。
正確性指軟件產品達到預期功能的程度。
可用性指軟件基本結構、實現(xiàn)及文檔為用戶可用的程度。
開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。
這些目標的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。
軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。
它們覆蓋了需求、設計、實現(xiàn)、確認以及維護等活動。
需求活動包括問題分析和需求分析。
問題分析獲取需求定義,又稱軟件需求規(guī)約。
需求分析生成功能規(guī)約。
設計活動一般包括概要設計和詳細設計。
概要設計建立整個軟件系統(tǒng)結構,包括子系統(tǒng)、模塊以及相關層次的說明、每一模塊的接口定義。
詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。
實現(xiàn)活動把設計結果轉換為可執(zhí)行的程序代碼。
確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產品滿足用戶的要求。
維護活動包括使用過程中的擴充、修改與完善。
伴隨以上過程,還有管理過程、支持過程、培訓過程等。
軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學習了詳細設計的方法,其原則是過程描述是否易于理解、復審和維護,進而過程描述能夠自然地轉換成代碼,并保證詳細設計與代碼完全一致。
包括程序流程圖、n-s圖、pad圖、hipo圖
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。
它獨立于任何一種程序設計語言,比較直觀和清晰地描述過程的控制流程,易于學習掌握。
學習軟件工程的心得體會篇十七
對于一個軟件系統(tǒng)的開發(fā),第一步就是問題定義,了解所開發(fā)系統(tǒng)的行業(yè)背景,制定計劃。當我們計劃確定以后就要對項目系統(tǒng)本身進行可行性研究,主要從技術可行性、經濟可行性和操作可行性三個方面著手。就比如《物聯(lián)網物流倉庫管理系統(tǒng)》的行業(yè)背景說明文檔中非常詳細地分析了當下物聯(lián)網物流行業(yè)的整體業(yè)務說明、應用背景、未來發(fā)展趨勢以及相關應用案例等四個方面,項目團隊中系統(tǒng)分析員就可以根據這份文檔以及相關的調查資料對將要開發(fā)系統(tǒng)的進行定義等工作。
原來我們寫這類文檔的時候就是草草了事,不會做得這么詳細,而這次看到大型項目的行業(yè)背景說明也是這么詳細,也讓自己認識到不管是軟件開發(fā)的那個階段都要認真對待,這些瑣碎的文檔都是后期開發(fā)項目的支撐,只要它們做的透徹,后面的開發(fā)工作才能更順利的進行。
第二、項目需求說明方面
這部分項目需求說明就是軟件定義時期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據用戶的需要確定系統(tǒng)必須完成那些工作,并對目標系統(tǒng)提出完整、準確、清晰、具體的要求。在需求分析結束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說明,即為《物聯(lián)網物流倉儲管理系統(tǒng)》項目需求說明文檔。我們可以看出該文檔也是非常詳細,相比之下我們之前做項目時寫的需求規(guī)格說明書就非常不合格,不僅格式不正確內容也是少之又少。
在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內容,原來它不是很重要,寫文檔的時候也不知道怎么寫就借鑒下網上的內容,結果根本就沒有把自己項目的需求寫明白,以至于自己最后都有些糊涂,所以根據以前的經驗教訓我會對這部分更加重視。
第三、系統(tǒng)概要設計方面
這部分內容分說的是軟件設計時期的概要設計階段,該階段的主要目的就是實現(xiàn)系統(tǒng)的功能、設計軟件的結構、模塊組成以及模塊之間的關系。在概要設計階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對比多種可能的系統(tǒng)實現(xiàn)方案和軟件結構,從中選出最佳方案和最合理的結構。在這個階段還會具體畫出e-r圖、數據流圖等方面的設計。
比如《物聯(lián)網物流倉庫管理系統(tǒng)》的系統(tǒng)概要設計從項目概述、設計約束、功能單元與功能模塊設計、數據e-r圖設計、總體設計、界面設計等六個方面介紹,通過讀這個文檔,我覺得最重要的還是總體設計,分別從邏輯架構設計、物理架構設計、技術架構設計設計系統(tǒng)。在這個階段中模塊要做到高內聚低耦合,這樣開發(fā)出來的系統(tǒng)才會具有更高的獨立性。
在原來做項目時沒有編寫過這類文檔,在該階段只是畫了結構圖、層次圖以及相關的模塊劃分,對該類文檔尚未重視。通過張老師的講解和自己的學習,我相信在以后做項目的時候一定會注意到這類文檔的編寫。
第四、詳細設計與分析方面
詳細設計階段就是把概要設計階段的每個模塊進一步設計,確定每個模塊所需要的算法和數據結構。在這個階段還是需要我們設計出程序的詳細規(guī)格說明,而不是編寫程序。在詳細設計階段,系統(tǒng)設計人員可以通過使用程序流程圖、盒圖、pad圖等過程設計的工具和jackson圖等面向數據結構的設計工具進一步設計系統(tǒng)相關接口,主要包括界面設計接口、業(yè)務單設計接口、單元模塊設計接口等,這些對于以后的編碼工作都是極其重要的。
第五、編碼和測試方案方面
關于編碼,我認為編碼要想做的完美必備條件就是前面的軟件定義和軟件設計時期要按部就班的做,文檔一定要按要求書寫,不能偷懶也不能草草書寫。對于編碼也要有相應的文檔書寫規(guī)范,要使源程序代碼的邏輯簡明清晰、易讀易懂。這樣盡管我們不是設計系統(tǒng)的人員,當看到源程序代碼的時候也能容易讀懂代碼的意思。
其次就是測試的內容,從測試的文檔中我們可以得出,其實測試在軟件開發(fā)中同樣占據了重要的地位,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,最終把一個高質量的軟件系統(tǒng)交給用戶使用。它要求測試人員也要有很高的技術水平。
學習軟件工程的心得體會篇一
我們是20__年3月7號進入宏天實訓公司參加軟件開發(fā)實訓的,在此次實訓中,除了讓我明白工作中需要能力,素質,知識之外,更重要的是學會了如何去完成一個任務,懂得了享受工作。當遇到問題,冷靜,想辦法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學習的東西。
經過之前的在校學習,對程序設計有了一定的認識與理解。在校期間,一直都是學習理論知識,沒有機會去參與項目的開發(fā)。所以說實話,在實訓之前,軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經過這次實訓,讓我明白了一個完整項目的開發(fā),必須由團隊來分工合作,并在每個階段中進行必要的總結與論證。
一個完整項目的開發(fā)它所要經歷的階段包括:遠景范圍規(guī)劃和用例說明、項目結構和風險評估、業(yè)務功能說明書、詳細設計說明書、代碼實現(xiàn)、測試和安裝包等等。一個項目的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠景規(guī)劃,對以后的開發(fā)進度會有很大的影響,甚至會出現(xiàn)在預定時間內不能完成項目或者完成的項目跟原來預想的不一樣。一份好的項目結構、業(yè)務功能和詳細設計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關鍵,也就是說,前期作業(yè)都是為代碼的實現(xiàn)所做的準備。
我深刻的認識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼基礎,必須要有事先對文檔進行可靠性報告,功能說明書,詳細設計說明書等的編寫和一些風險評估的編寫的能力。
除了圖書館,最能讓我感覺到身在大學的就是實訓機房,在匆匆過去的兩個月內,我往返于實訓機房與宿舍之間,使我享受了一個充實的學習時期,讓我感受到了大學的魅力,對自己充滿信心,對大學充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。
實訓中要求有扎實的理論基本知識,操作起來才順心應手,我這時才明白什么是“書到用時方恨少”。這就激發(fā)了學習的欲望。
“學以致用”,就是要把學來的知識能運用到實際操作當中,用實踐來檢驗知識的正確性。我想,這是實訓的最根本目的。
“紙上得來終覺淺,絕知此事要躬行!”,在短暫的實訓過程中,讓我深深感受到自己在實際運用中專業(yè)知識的匱乏。以前總以為自己學的還不錯,一旦應用到實際就大不一樣了,這時才真正領悟“學無止境”的含義。
經過為期兩個月的電子政務服務平臺系統(tǒng)開發(fā)的實訓,我對visual軟件開發(fā)平臺有了更深一步的了解,對微軟基礎類庫的認識與使用也有了大大的提高。以及如何使用sqlserver數據庫進行連接操作方面有了本質的提高。
短短的實訓結束了,為我將來的就業(yè)打下了良好的基礎,也提高了我的軟件開發(fā)的水平,今后我將會更加努力的學習,不斷提高自身素質,開拓創(chuàng)新,與時俱進,做一個優(yōu)秀的軟件開發(fā)工程師。
學習軟件工程的心得體會篇二
作為一個計算機相關專業(yè)的學生,學習軟件工程概論課程是必不可少的環(huán)節(jié),這門課程為我們提供了對軟件工程學科的基礎認知和框架規(guī)劃,同時也為我們在未來的學習和工作中打下了堅實的基礎。在這門課程中,我認真學習、反思,從中獲得了不少收獲和體會。下面,我將從以下四個方面展開我的學習心得,并結合自身的經歷,談談我的理解和思考。
第二段:軟件工程學科的基本認識
學習軟件工程概論,我們首先需要了解軟件工程學科的基本認識。首先,軟件工程是一個系統(tǒng)性的學科,其目的是確保軟件的質量和效率,最終達到客戶和開發(fā)者雙方的需求。其次,軟件工程的目標是建立高質量、可靠、易維護的軟件系統(tǒng),在項目計劃、需求定義、軟件設計、測試等各個階段下工作,最終形成一個完整的軟件開發(fā)生命周期。同時,軟件工程學科也需要同時考慮工程學、計算機科學和管理科學等多個學科的知識結構,要順應軟件市場、技術骨干和客戶需求,利用日新月異的技術、方法和工具不斷提高軟件工程的水平。
第三段:軟件工程的主要原則和方法
軟件工程的實踐和研究不僅需要基本認識和知識框架,還需要深入了解軟件工程的主要原則和方法。軟件工程的主要原則包括:分階段開發(fā)、模塊化設計、適應性規(guī)劃、嚴格記錄和文檔、提前預防和檢測、先進的技術和工具等。軟件工程的主要方法包括:結構化的系統(tǒng)分析和設計、模型驅動的開發(fā)、敏捷的方法和迭代式的開發(fā)過程等。具體方法的選擇應根據具體的需求和現(xiàn)實情況,要根據實際情況精選方法、工具和流程,不斷更新和完善軟件工程的理論體系。
第四段:軟件工程的社會價值
軟件工程不僅是一門學科,更代表了一種價值觀和責任感。它對于人類社會的發(fā)展和進步扮演著重要的角色。在當今信息技術迅速發(fā)展的時代,軟件工程已成為技術與社會相結合的橋梁和紐帶。軟件工程的社會價值包括:提高信息處理和科技發(fā)展水平、提高軟件開發(fā)和維護效率、創(chuàng)造高質量和高性能的軟件、優(yōu)化各行各業(yè)的流程和管理、推動工業(yè)化和信息化協(xié)同發(fā)展、加強個人和團隊協(xié)作能力等。軟件工程的社會價值無處不在,是不可忽視的一部分。
第五段:結語
在這門軟件工程概論課程中,我了解了軟件工程學科的基本認識,深入學習了軟件工程的主要原則和方法,并且認識到了軟件工程的社會價值。通過學習軟件工程,我不僅拓展了自己的知識面,也意識到了自己在未來的專業(yè)發(fā)展中需要掌握的技能和素養(yǎng)。軟件工程是一門學科,也是一種責任感和價值觀念。我相信,在未來的實踐和研究中,我會不斷學習和探索,為軟件開發(fā)行業(yè)做出自己的貢獻。
學習軟件工程的心得體會篇三
初學軟件工程第一周的時候以為只是純粹的理論課毫無用處,其實不然。深入了解之后發(fā)現(xiàn)它對程序的設計,錯誤的檢測以及軟件測試,編寫方面有不可磨滅的便捷好處。開發(fā)一個軟件時,對原定的系統(tǒng)模型和目標的現(xiàn)實以及系統(tǒng)完成后所帶來的效益的預判斷,可以明確開發(fā)與否,否則就是浪費人力,物力以及時間。
以下是所學過程中的知識點:
(1)軟件危機:軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。
所以若要解決軟件危機,既要有技術措施(方法和工具),又要有必要的組織和管理措施,軟件工程正是從管理和技術兩方面研究如何更好得開發(fā)和維護計算機軟件的一門新興學科。
軟件工程是指導計算機軟件開發(fā)和維護的一門工程學科。采用工程的概念、原理、技術、和方法來開發(fā)與維護軟件。
軟件工程方法學包含3個要素:方法、工具和過程。
(2)軟件生命周期:軟件定義、軟件開發(fā)和運行維護
軟件開發(fā)階段:問題定義,可行性研究,需求分析,總體設計,詳細設計,編碼和單元測試,綜合測試,軟件維護。
軟件維護主要任務:是使軟件持久的滿足用戶的需要。
軟件過程目的:為獲得高質量軟件所需要完成的一系列任務的框架,規(guī)定了完成各項任務的工作步驟。
其中:可行性分析:技術可行性,經濟可行性,操作可行性
(3)判定表和判定樹能夠清晰地表達出各種動作之間的對應關系
第一個軟件生命周期,瀑布型生命周期
程序設計:低耦合高內聚
(4)學會畫程序流圖,sc圖,er圖,dfd圖,順序圖以及協(xié)作圖。學會讀圖,可以獨立完成相關計算題。
學習軟件工程的心得體會篇四
軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它包括程序、相關數據及其說明文檔。軟件工程(softwareengineering,簡稱為se)是針對軟件這一具有特殊性質的產品的工程化方法。se涵蓋了軟件生命周期的所有階段,并提供了一整套工程化的方法,來指導軟件人員的工作。任何事物都是從無到有的,軟件當然也不例外。上世紀中期,軟件產業(yè)從零開始起步,經過半個多世紀的發(fā)展,其大致經歷的3個階段:程序設計階段、軟件設計階段和軟件工程時代,現(xiàn)已成為推動人類社會發(fā)展的龍頭產業(yè),隨著信息化時代的發(fā)展,軟件對人類社會也將越看來越重要。人們對軟件的認識自然經歷了一個由淺入深的過程,在得到巨大需求的同時,也遇到了一系列嚴重問題,即軟件危機。所謂軟件危機,是指在計算機軟件的開發(fā)和維護過程中所遇到的一些嚴重問題,其實質是軟件產品的供應趕不上需求的增長。概括的說包含兩方面的問題:一、如何開發(fā)軟件,以滿足不斷增長,日趨復雜的要求;二、如何維護數量不斷膨脹的軟件產品。為研究和解決軟件危機,一門新興的學科軟件工程,應運而生。
軟件工程的概念是為了有效地控制軟件危機的發(fā)生而被提出來的,它的中心目標就是把軟件作為一種物理的工業(yè)產品來開發(fā),要求“采用工程化的原理與方法對軟件進行計劃、開發(fā)和維護”,它的主要對象是大型軟件,它的最終目的是擺脫手工生產軟件的現(xiàn)狀,逐步實現(xiàn)軟件開發(fā)和維護的自動化。軟件工程的概念自提出來后,經過幾十年的發(fā)展,雖然軟件危機沒有得到徹底的解決,但在軟件開發(fā)方法和技術方面已經有了很大的進步,提出了軟件工程知識體系、軟件工程三段論、軟件工程生存期模型、服用原則等等。
軟件開發(fā)過程大致經過7個階段:可行性分析、需求分析、概要設計、詳細設計、編碼、測試、提交與維護。接下來逐一分析本人見解:
一、可行性分析:顧名思義,就是看項目究竟“能不能做”。有3個方面:技術可行性、經濟可行性和操作可行性。要確定項目,首先要客觀的、科學的了解項目的規(guī)模、難度和時間限制,才可以確定應該投入多少人力、物力和財力去做這個項目,必須準確的估計項目的規(guī)模與難度??错椖渴欠裼袃r值去做,如果沒有價值,就放棄;如果有價值,就要看目前的資源是否能滿足項目的開發(fā)。如果項目有價值,且有必需的資源,那么就可以確定能做這個項目了。
2、通過什么方式去了解:直接與客戶交談;有些需求客戶講不清楚,分析人員又猜不透,這是就要請教行家。需求分析是非常重要的階段,如果做不好的話,后果很麻煩。
三、概要設計:解決“怎么做”的問題。將需求描述的“做什么”問題變?yōu)橐粋€實施方案的創(chuàng)造性過程,使得整個項目在邏輯上和物理上能夠得意實現(xiàn)。概要設計是第一個開發(fā)活動,也是最重要的活動,是軟件項目實現(xiàn)的關鍵階段。設計質量的高低直接決定了軟件項目的成敗,缺乏或者沒有軟件設計的過程會產生一個不穩(wěn)定的、甚至是失敗的軟件系統(tǒng)。一個良好的軟件設計是進行快速軟件開發(fā)的根本,沒有良好的設計,會將時間花在不斷的調試上,無法添加新功能,修改時間越來越長,隨著給程序打上一個有一個的補丁,新的功能需要更多的代碼實現(xiàn),就變成一個惡性循環(huán)了。概要設計是軟件設計級別中的高級設計,是從需求出發(fā),描述了總體上系統(tǒng)架構應該包含的要素。概要設計盡可能模塊化,因此描述了各個模塊之間的關聯(lián),主要是根據需求規(guī)格或規(guī)格定義,合理、有效地實現(xiàn)產品規(guī)格中定義的各項需求,完成軟件模塊的劃分并描述模塊之間的關系,并不斷分解系統(tǒng)模塊,從高層分解到低層分解。它注重框架設計、總體結構設計、數據庫設計、接口設計、網絡環(huán)境設計等,將產品分割成一些可以獨立設計和實現(xiàn)的部分并保證各個部分可以和諧的工作。此過程中畫數據流圖、ipo圖、e-r圖、界面設計等。
出程序的詳細規(guī)格說明,這種規(guī)格說明類似于其他工程領域中工程師經常使用的工程藍圖,程序員根據其中所包含的必要的細節(jié)寫出實際的程序代碼。用另一種方式說就是,詳細設計是將概要設計的框架內容具體化、明細化,將概要設計轉化為可以操作的軟件模型,但在實際項目進行過程中,依據項目的具體情況和項目要求,這個過程可能可以省略(邏輯上沒有省略,表現(xiàn)在概要設計階段或者編碼階段),直接按照概要設計進行編碼;不過,個人認為最好有,有詳細設計可以更好的保證編碼順利的進行,可以預先掃清編碼過程中的障礙,提高代碼的質量和編碼的效率。主要包括模塊描述、算法描述、數據描述,可以采用圖形、表格或者文字描述等方式表達出來。
代碼的時候,更不要錯過重構,另外,重構可以和設計互補。還有一點值得注意,要在必要的時候部署編碼文檔。
六、測試:看軟件是否符合標準。軟件編碼完成之后,將軟件提交給用戶之前,需要對軟件進行測試,這是保證軟件產品質量的一個重要標準,也是評估產品質量的主要手段。軟件測試是從軟件工程中演化出來的一個分支,有著非常廣泛的內容,并且隨著軟件產業(yè)的發(fā)展,它已經變得越來越重要。軟件與生俱來就可能存在缺陷,為了防止和減少這些可能存在的缺陷,進行軟件測試是有必要的,測試是最有效的的排錯和防止缺陷和故障的手段。最原始的測試莫過于直接運行軟件了,后來測試手段逐漸多樣化。測試手段有靜態(tài)測試、動態(tài)測試面向對象的測試、自動化測試等等之分。靜態(tài)測試或稱靜態(tài)分析是指一種不通過執(zhí)行程序來進行測試的一種技術,主要是檢查軟件的表示和描述是否一致,覆蓋程序的編碼格式、程序語法、檢查獨立語句的結構和使用等,主要包括代碼檢查、靜態(tài)結構分析、代碼質量等等,可以通過人工進行,亦可借助工具(如:語法分析器)自動進行。動態(tài)測試是運行被測試的程序,通過輸入測試用例,對其運行情況進行分析,以達到檢測的目的,顯然動態(tài)測試封像我們通常意義上的“測試”。動態(tài)測試主要包括白盒測試、黑盒測試、灰盒測試(介于黑盒和白盒之間)。其他測試不再一一介紹。
打水漂了。為了保證成功地將我們開發(fā)的軟件提交給用戶,我們需要對用戶進行培訓,同時提交必要的文檔及用戶手冊軟件。維護就不用多說了,就是售后服務了。維護需要分析人員、編碼人員和設計人員等角色的參與,有糾錯行維護、適應性維護、完善性維護、預防性維護等。維護后,要寫軟件維護過程文檔,至少提交一個軟件維護記錄。以上是軟件工程及其幾個階段的介紹,知道怎樣開發(fā)軟件只是軟件工程的一部分,搞好團隊合作也是很重要的。項目是一個很大的工程,需要一個團隊的統(tǒng)籌規(guī)劃,團結協(xié)作,集思廣益,舉一反三,才能夠按預期完成。
學習軟件工程的心得體會篇五
摘要:針對浙江省服務外包軟件業(yè)的發(fā)展與高校在軟件工程專業(yè)特色培養(yǎng)之間的矛盾,分析浙江工業(yè)大學計算機科學與技術學院在以“服務外包”為特色的軟件工程專業(yè)建設方面的優(yōu)勢,提出以強化“服務外包”特色,培養(yǎng)復合型、實用型軟件工程高級技術人才為目標的優(yōu)勢專業(yè)建設總體規(guī)劃和主要建設方案。
關鍵詞:優(yōu)勢專業(yè);服務外包;軟件工程;建設方案
高校畢業(yè)生專業(yè)結構失衡,與社會對計算機應用需求及最新科技發(fā)展脫軌,是目前在計算機類專業(yè)人才培養(yǎng)中遇到的主要問題之一。近年來,隨著浙江省和長三角地區(qū)信息產業(yè)的蓬勃發(fā)展,高素質軟件人才,特別是軟件服務外包產業(yè)的人才缺口正在不斷加大。針對這一現(xiàn)象,浙江工業(yè)大學經過認真的市場調研、認證和規(guī)劃后提出要以培養(yǎng)軟件“服務外包”人才為突破口,強化建設具有“產學研用結合辦學,分層分類精細培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎、強個性、善創(chuàng)新”的應用創(chuàng)新型軟件工程人才,這對緩解實際需求矛盾,提高人才培養(yǎng)質量,優(yōu)化專業(yè)結構具有十分重要的意義。
1服務外包專業(yè)建設
1.1服務外包產業(yè)在浙江省的發(fā)展狀況
作為現(xiàn)代服務業(yè)的一個重要組成部分,服務外包產業(yè)具有以下特點:信息技術含量高、附加值大、國際化水平高、環(huán)境污染少、能耗低、人力資源密集。浙江省的服務外包產業(yè)目前正處于剛起步的重要階段。浙江省服務外包合同的執(zhí)行總額約為110億美元,其中杭州市作為浙江省“中國服務外包示范城市”,其20離岸服務外包合同的執(zhí)行總額達到了15.5億美元,在全國21個示范城市中位居第四。服務外包區(qū)域發(fā)展逐漸形成以杭州市為中心,寧波、嘉興、金華、紹興、臺州、湖州等共同發(fā)展的新格局。年浙江省服務外包企業(yè)達到1480家,其中新增企業(yè)670家,增幅位居全國前列,同時,服務外包從業(yè)人員也達到了18萬人。
《浙江省服務外包產業(yè)“十二五”發(fā)展規(guī)劃》明確指出:浙江省要建設成為全國服務外包產業(yè)發(fā)展的先進省份,并打造出“浙江服務”的整體品牌。該規(guī)劃確定了“至全省服務外包合同執(zhí)行總額突破200億美元”的經濟目標,且至20浙江省服務外包從業(yè)的人數預計達到30萬人,同時年均新增的直接就業(yè)人數將會突破3萬人。
服務外包產業(yè)是人才驅動型產業(yè)。計算機類專業(yè)作為高校開設普及率較高的專業(yè),在服務外包軟件人才的培養(yǎng)上還存在巨大的缺口。隨著產業(yè)的發(fā)展,服務外包實用型人才要具有復合型、跨行業(yè)、外語溝通能力強的特點,其人才數量遠遠不能滿足需求。為保持該產業(yè)的持續(xù)發(fā)展,加快轉變經濟發(fā)展方式,促進經濟轉型升級,國家有關部門先后制定了一系列推動高校計算機學院培養(yǎng)服務外包人才的政策,從而進一步提升高校畢業(yè)生的綜合能力、就業(yè)率和就業(yè)質量。
1.2培養(yǎng)服務外包行業(yè)人才的優(yōu)勢
為適應軟件服務外包產業(yè)的發(fā)展需求,浙江工業(yè)大學計算機科學與技術學院軟件工程專業(yè)已申請建立以“服務外包”為特色的浙江省高等學校優(yōu)勢專業(yè),且在服務外包行業(yè)人才培養(yǎng)上有以下優(yōu)勢。
1)已建立創(chuàng)新型人才培養(yǎng)模式。
計算機科學與技術學院正在積極地以國家級人才培養(yǎng)模式創(chuàng)新實驗區(qū)(技術與藝術相結合的數字媒體跨學科人才培養(yǎng)模式創(chuàng)新實驗區(qū))的建設為契機,探索實踐產學“雙螺旋”驅動的高質量軟件人才培養(yǎng),以工程實踐與創(chuàng)新能力為核心,從而形成特色鮮明的軟件工程創(chuàng)新型人才培養(yǎng)模式。
2)具有高水平專、兼職教師隊伍。
浙江工業(yè)大學軟件工程專業(yè)已經建成了一支由專任教師、企業(yè)兼職教師、軟件領域知名教育與學術專家組成的120多人的教師隊伍。
3)共建了教學改革與實踐教學聯(lián)合體。
浙江省教育廳和杭州市高新技術產業(yè)開發(fā)區(qū)共建軟件學院,并共同成立了浙江工業(yè)大學軟件學院校企合作委員會。該委員會擁有理事單位近70家,會員單位包括眾多國內外知名it企業(yè)。在此基礎上,校企共建了教學改革聯(lián)合體,共同確定了人才培養(yǎng)目標、課程體系、課程教學內容。學校專職教師與企業(yè)教師共同承擔課程教學。學生的實習和畢業(yè)設計等實踐環(huán)節(jié)全部進入企業(yè)進行。
4)已建成軟件工程專業(yè)核心精品課程。
根據軟件工程課程體系框架,學校已建成1門國家級精品課程、4門省級精品課程及5門校級精品課程,其中核心學科基礎課程(如c++程序設計、數據結構、數據庫原理及運用、計算機網絡基礎等)已全部建成省級精品課程。
5)專業(yè)人才培養(yǎng)質量和社會認可度高。
浙江工業(yè)大學軟件工程專業(yè)已培養(yǎng)了6屆畢業(yè)生,共1590人,其中有600人進入服務外包企業(yè)就職。專業(yè)教學效果良好,獲得用人單位的極大認可。還有一批學生獲得了國際國內多項高水平的獎項。例如,acm隊在世界總決賽上獲前20名,acm隊獲得亞洲預選賽3金1銀的成績,并再次人選全球總決賽。在第三屆中國大學生服務外包創(chuàng)新創(chuàng)業(yè)大賽中,計算機科學與技術學院選派的兩支隊伍均突破重重選拔,晉級決賽答辯環(huán)節(jié),分別獲得了二等獎和三等獎的不菲戰(zhàn)績。
2專業(yè)特色規(guī)劃和建設思路
經過多次論證,浙江工業(yè)大學計算機科學與技術學院軟件工程專業(yè)將總體規(guī)劃設定為:經過特色專業(yè)的建設,以先進的教育思想和理念為指導,以培養(yǎng)軟件“服務外包”人才為突破口,強化“產學研用結合辦學,分層分類精細培養(yǎng)”的專業(yè)特色,在人才培養(yǎng)模式創(chuàng)新、教學團隊建設、課程與資源建設、教學方法改革、實踐教學與平臺建設、教學管理以及國際合作等方面取得標志性的教學成果,將浙江工業(yè)大學軟件工程專業(yè)打造成實訓基地完備、師資力量雄厚、教學質量一流、課程體系先進、專業(yè)特色鮮明、行業(yè)和社會評價優(yōu)良的特色專業(yè),建設成省內一流、國內知名的復合型、實用型軟件工程高級技術人才的培養(yǎng)基地和國內外具有一定影響的計算機軟件產學研基地。
2.1“產學研用”結合辦學校企聯(lián)合將教學改革與實踐教學相聯(lián)合,共同確定人才培養(yǎng)目標、課程體系、課程教學內容,學校專職教師與企業(yè)教師共同承擔課程教學;同時將學生的實習和畢業(yè)設計等實踐環(huán)節(jié)全方位嵌入企業(yè)項目,通過任務驅動、案例驅動、項目驅動,讓學生融入教師科研和企業(yè)工程項目,做到做中學,學致用,形成產學研用結合辦學的特色。
2.2分層分類精細培養(yǎng)
學校以培養(yǎng)軟件“服務外包”人才為突破口,在人才培養(yǎng)模式改革、研究型教學方法改革、課程建設和實踐平臺建設中,堅持以軟件研發(fā)實踐和創(chuàng)新能力的培養(yǎng)為核心,強化個性,分層分類精細培養(yǎng)復合型、實用型軟件工程高級技術人才。
3優(yōu)勢專業(yè)建設總體方案
3.1完善人才培養(yǎng)方案
學院根據“夯實基礎、拓寬口徑、強化個性、善于創(chuàng)新”的指導思想,采用多層次、多方向、寬口徑的課程教學體系,進一步完善專業(yè)教育學分制和產學研一體化聯(lián)合培養(yǎng)方案;采用“嵌入式人才培養(yǎng)模式”,對學生進行“定制式”培養(yǎng),包括軟件服務外包知名企業(yè)實施聯(lián)合培養(yǎng)和服務外包培訓班等形式;完善專業(yè)主修方向及多個輔修方向相結合的機制,引進國外優(yōu)秀師資和系列雙語教學課程,制定對日服務外包和對歐美服務外包兩種計劃,提供相當數量的選修課程。
3.2構建特色專業(yè)的課程體系
學院加強學科基礎教學,與服務外包企業(yè)聯(lián)合構建“服務外包聯(lián)盟”,共同確立多層次的課程體系;提供新型、實用的學科方向課和新技術講座;搭建軟件服務外包實訓基地、創(chuàng)業(yè)孵化中心;開設各類大型實驗、軟件工程綜合實習等實踐環(huán)節(jié)強化實踐訓練。實行的新課程體系由軟件工程領域的核心課程、引進國際先進的課程、校企合作聯(lián)合開發(fā)的面向服務外包課程組成。圖1所示為軟件工程專業(yè)課程體系。
我們要著重加強實踐教學在課程體系中的比重,增加實用性課程和實踐環(huán)節(jié)的比重,增加項目實踐的時間,擴展服務外包案例分析教學內容,同時著力強化“分段制、融入型”實習,明確產學研在教學上的合作機制,提升設計性、綜合性實驗課程比例,提高畢業(yè)設計水平。
3.3改革課程教學內容,加強新教材建設
學院對現(xiàn)有的課程內容進行改革,并根據歷年來學生對教材的反饋情況以及教師教材的使用情況,精心選擇優(yōu)秀教材。教材由同課程的多名教師討論決定,并由課程團隊責任教師進行把關,要保證教材內容時刻跟隨相關產業(yè)和領域的發(fā)展。學院還組織教師積累經驗,結合軟件服務外包編寫教材。教材內容要反映產業(yè)和領域發(fā)生的.變化。此外,學院還引進相應的國外原版教材,通過雙語教學提高學生對最新軟件開發(fā)理論和技術的了解,提高外語應用能力,培養(yǎng)能在國際化環(huán)境中工作的高層次軟件專業(yè)人才。
3.4改革教師培養(yǎng)和使用機制,加強教師隊伍建設
學校秉承建設專、兼職教師隊伍相結合的方針及特色,完善學科帶頭人、專業(yè)負責人制度,以培養(yǎng)骨干教師和中青年學科帶頭人為重點,通過引進、培養(yǎng)、補充等多種方式,建設精干高效、富有活力、素質良好、結構優(yōu)化的高素質專職教師隊伍。另外,學校還加強面向服務外包方向的師資培訓,增強校內教師指導專業(yè)技術能力,重點培育教學骨干、教學帶頭人、教學名師、教學團隊。
學校從國內外知名服務外包軟件企業(yè)的高層主管和技術骨干、國內外相關學科中聘任兼職教師,聘請外國知名專家、學者授課或講座,保證專業(yè)建設始終與社會需求接軌,提升專業(yè)培養(yǎng)質量。
3.5完善實踐教學及實習基地建設
在學校的傳統(tǒng)教學實驗室的基礎上,我們通過校企合作和校企共建教學改革與建設聯(lián)合體,形成“服務外包聯(lián)盟”,建立服務外包企業(yè)實驗基地、校內實習基地和軟件園的開放式實踐基地,開展創(chuàng)業(yè)創(chuàng)新預孵化基地、大學生服務外包創(chuàng)業(yè)預孵化基地的建設,做好實驗室建設規(guī)劃和“服務外包校內實訓中心”建設工作,形成專業(yè)良好的實踐教學條件。
此外,學院還會完善分層分類的專業(yè)實驗教學體系的建設。圖2所示為分層分類多元化的實驗教學方法。由此看出,該教學體系著重專業(yè)實驗教學中復合型、實用型人才的工程實踐能力培養(yǎng),依據學科基礎技能、專業(yè)基本技能、專業(yè)綜合技能和工程實踐能力劃分層次,采用課內實驗、綜合實踐、課程設計、開放項目、科研創(chuàng)新項目、科研勤工、學科專業(yè)競賽等課內外結合形式,劃分實驗班、一體化專業(yè)、服務外包專業(yè)模塊班等不同學生對象,依托實驗教學體系實施分層分類精細化培養(yǎng),采取任務驅動、問題驅動、案例驅動和項目驅動4種基本方法,適應不同實驗課程的需要,實施多元化的實驗教學方法。
3.6加強學競賽平臺的建設,完善學生科技創(chuàng)新體系
學院舉辦課程競賽,開展自主實驗,積極組織、鼓勵學生參加各種校內外科技競賽,通過加強競賽網站建設和賽事承辦,進一步加深校企合作模式,加大宣傳力度,讓更多的高校和企業(yè)參與競賽的各項活動,突出產學研用相結合培養(yǎng)軟件工程人才的特色,進一步完善學生科技創(chuàng)新體系,促進學生參與創(chuàng)新創(chuàng)業(yè),獲得更多更好的成績。
學院借助浙江工業(yè)大學在后acm競賽中3年獲得進入全球總賽的契機,加強了acm競賽的平臺建設,完善了教練團隊和集訓制度,鼓勵學生通過競賽和國際聯(lián)系,通過人選全球總決賽和全球名校的學生平等競爭,取得佳績,彰顯浙江工業(yè)大學專業(yè)建設人才培養(yǎng)成效。
3.7教學管理與運行機制的研究與建設
學院針對服務外包專業(yè)建設,建立和完善相應教學管理組織、教學質量保證體系,通過完備的規(guī)章制度和教學規(guī)范,以及對規(guī)章制度執(zhí)行情況的例行監(jiān)督和反饋機制,有效管理教學,提高教學質量。
(1)建設由政府職能部門、行業(yè)管理部門、有代表性的企業(yè)和學校主管部門組成的專業(yè)建設顧問組,成立軟件服務外包專業(yè)建設咨詢委員會,指導專業(yè)建設的定位與方向。
(2)建設以杭州骨干軟件企業(yè)為主組成的校企合作委員會,共建服務外包實踐基地,完成學生實習和畢業(yè)設計的教學工作。
(3)建設由國際國內知名軟件技術教育專家、軟件設計與開發(fā)專家組成的教學指導與教師培養(yǎng)委員會,聯(lián)合服務外包企業(yè),指導課程體系、課程內容的建設和教師隊伍的建設。
4)進行服務外包教學管理、教學工作規(guī)范、實習環(huán)節(jié)質量評定方法和監(jiān)督反饋機制的建設。
4結語
針對計算機人才培養(yǎng)質量與社會需求和最新科技發(fā)展脫軌問題,筆者詳細分析了服務外包產業(yè)在浙江省的發(fā)展狀況及浙江工業(yè)大學計算機科學與技術學院在服務外包行業(yè)人才培養(yǎng)中的優(yōu)勢,提出了以培養(yǎng)軟件“服務外包”人才為突破口,強化建設具有“產學研用結合辦學,分層分類精細培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎、強個性、善創(chuàng)新”的應用創(chuàng)新型軟件工程人才的方案。通過今后幾年的不斷努力實踐,我們希望能取得軟件工程專業(yè)建設的成效,滿足社會對軟件人才的需求,并為其他高校軟件工程人才的培養(yǎng)和專業(yè)建設起到示范和帶動作用。
學習軟件工程的心得體會篇六
未接觸軟件工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟件工程課,終于知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復雜化導致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質量和程序員工作效率為目的'的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調,組員積極配合,才能合作愉快。學習能力體現(xiàn)在能盡快接受新的知識,順應變化,學為所用。
上《軟件工程導論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產,提高其勞動生產效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據開發(fā)的軟件的規(guī)模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1.可行性分析就是關于當前項目能不能干的分析結果。
2.項目描述這是在決定立項以后,對當前項目的一份扼要說明。
3.需求分析就是對客戶要求的功能的定義。
4.軟件設計這就是對程序的每一個模塊的詳細設計的說明文檔。
5.開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或對代碼的一些微小的修改,或對程序結構的一些微小變動等,還要對上述這些修改變動作些說明。
6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數字描述。
學習軟件工程的心得體會篇七
這門課的作用就是,在你真正見過豬以前,先教你怎么吃豬肉,怎么騎著豬跑。
軟件工程導論所講述的內容,其實并沒有很多人想象中的那么重要。就像是一本教你如何游泳的書。確實是一種非常重要的技能,但實際上你如果不看書,在水里撲騰幾天也就會了,只是姿勢不那么標準,游不了那么快。學會游泳非常重要,但其實并不是說你要學會這本書有多么重要。
他的內容大部分都是一些總結出來的經驗和方法。如果沒有真正的試驗過,很難有切身的體會。比如說你如果沒經歷過整天用zip壓縮當天代碼保存的工作,就不會知道版本控制有多么重要。還有那些設計模式。比如singleton,你也許會說,用個全局變量,只生成一個對象不就可以了。自己寫小項目固然可以,但軟件工程作為一種“工程”,是很難一個人包攬全部工作的。你要多項目之間配合,要多人維護同一部分代碼。你要有一種確定的手段,來保證你這個類只有一個對象。所以把它提煉出來,總結成一種模式。
至于學習上,除了完成規(guī)定的學習目標外。我認為學過這門課,至少應該了解一個項目中會有哪些分工,大概是如何運行的。各種設計模式的話,了解一下就可以了。只要你以后在工作中,能記起來有這么個東西,這種情況下,某種模式可能比較合適,具體細節(jié)到時候再查就行了。
這門課自己也說,是門導論而已。介紹一下你以后可能遇到的坑,以后再遇到那個填那個好了。
學習軟件工程的心得體會篇八
談到機械工程先來講講機械,中國的機械發(fā)展有著悠久的歷史,五千年前的紡織機械、晉朝時期的連機錐和水碾、西漢時期的指南車和鼔車、東漢的地震儀、秦始皇時期的銅車馬??國外機械的產生要追溯到18世紀初,第一次工業(yè)革命產生蒸汽機和一些以蒸汽機為動力的近代機械的雛形,再到19世紀代左右的第二次工業(yè)革命,內燃機的產生帶來了新的動力機械,開始了機械的迅猛發(fā)展。從機械和社會的發(fā)展來看,一個社會機械水平越高,生產力水平越強?,F(xiàn)代社會也是一樣,機械是現(xiàn)代社會進行生產和服務的六大要素(人、資金、信息、能量、材料和機械)之一,機械工業(yè)是國民經濟的支柱工業(yè)之一,是社會生產力發(fā)展水平的重要標志。綜上可見,機械是一個國家發(fā)展、民族復興的重要保證。
機械社會發(fā)展中的地位如此之高,那機械工程呢?機械工程是運用數學、物理等基礎理論和有關機械方面的專門知識,結合生產實際經驗,經濟有效地解決在設計、研究、制造和運行各種機械中遇到的實際問題。從定義上可以看出,機械工程是一個系統(tǒng)性的全面的工程,可以盡可能合理的創(chuàng)造和最大化的利用機械??梢?,在21世紀這樣一個充滿市場競爭和需要不斷創(chuàng)新的時代,機械工程運用的好與不好,往小一點說,直接關系到一個企業(yè)的存亡問題,往大一點說,直接決定了一個國家機械工業(yè)方面的軟實力。機械工程對國家發(fā)展如此之重要,對于未來希望成為工程師的大學生的我來說,沒有理由不好好的了解機械工程。
工程中力學包含:理論力學、流體力學、材料力學、震動力學、計算力學。這些力學是進行機械設計和制造的基礎,學好這些理論才能知道運動以怎樣的機構傳遞,能量以怎樣的機器傳遞。
機械設計包含了很多的設計方法,除去傳統(tǒng)設計方法不說,現(xiàn)代設計方法包含:優(yōu)化設計、可靠性設計、有限元分析、并行設計、綠色設計、創(chuàng)新設計、模塊化設計和反求設計。其中有限元分析、綠色設計和反求設計令我印象深刻。利用電腦軟件對設想的機械部件進行有限元分析,可以確保設計的合理性和可利用行,如此以來,可以在不做出模型的情況下就可以清楚的了解結構的性能,節(jié)約了時間不說更節(jié)約了大量的人力、物力財力。在綠色設計方面,美國的廢舊汽車利用可謂楷模,報廢汽車再利用率達到了百分之九十五,再利用零部件重量超過舊車的總重量的百分之七十五,可以說節(jié)約了大量的資源,對環(huán)境有了一個很好的保護,這點反觀我的祖國,確實有必要學習一下,我國現(xiàn)在汽車每年的購買量都在大幅度上漲,隨之而來的必然會有大量的報廢汽車,這是新的產業(yè),也是一個新的經濟增長點,不但節(jié)約資源保護環(huán)境,還可以促進經濟增長,真是一舉兩得的好事啊。這些設計方法中,最讓我眼睛一亮的要數“反求設計”,二戰(zhàn)戰(zhàn)敗國日本就是運用這種方法,以“一代引進,二代國產化,三代改進口、四代占領國際市場”方針,迅速的崛起為世界第二大經濟體。日本的成果是對這種方法實質的最好詮釋,中國也在使用這種方法,不過是歪曲了的,只顧模仿不懂得吃透他人的技術再創(chuàng)新,是中國科學技術落后與發(fā)達國家的一個重要因素。模仿不可怕,可怕的是照搬照套!用好“反求設計”實現(xiàn)“比他人做得更好”。
機械制造技術包含兩方面含義:
1、指用機械加工零件的技術;
2、指制造某種機械的技術。在制造技術方面,先進制造技術顯得更適合現(xiàn)代化,通過將多方面的技術進行交叉、融合和集成,綜合應用于產品全生命周期的制造過程,可以更經濟更有效率更好的制造出適應市場需求的產品。特別是三維打印技術,可以通過電腦造型,再通過3d打印機打印出模型來觀察產品的合理性和可用性,方便效率高。
最后談談機電一體化技術,機器人現(xiàn)在是各個國家研究的熱門項目,每個國家都希望在這方面領先全球,機器人就是典型的利用了機電一體化技術的產品,是機械和電子的有機結合。從20世紀中后期,機電一體化就代表了現(xiàn)代機械工程的發(fā)展方向,產生了眾多高新機械產品,如:火箭、衛(wèi)星、宇宙飛船、航空母艦、深海探測器??梢?,機電一體化的前景非常不錯,不過要想學好這么技術,作為機械專業(yè)的學生來說,就有必要好好的學學計算機和信息類的知識,畢竟機電一體化中電子占了很大的比重,為了自己未來的發(fā)展,也為了趕上現(xiàn)代化的機械工程方向,我要努力的學好機械專業(yè)課的同時,多涉獵一些電子類的書籍,為未來的發(fā)展奠定基礎。
學習軟件工程的心得體會篇九
這次軟件工程實訓是從__年__月__日號開始的,截至__年__月__日號。實訓內容是用java相關知識(主要是jsp)做一個物流配送系統(tǒng)。下面談談對這次實訓的看法。
因為自己平時對java知識儲備不足,特別是jsp這一塊基本不了解怎么回事,所以一拿到這個項目,我心里都是沒有底的,再加上我被分到的那個組,我知道就意味著是我一個人在戰(zhàn)斗了。呵呵,26號,實訓開始了,我們的老師是來自中軟國際公司的程序員,一個是周褀,一個是朱映,都是一身樸素的著裝,讓我感覺做軟件的也沒什么兩樣。老師介紹了自己之后,就直接切入正題了,分析了下我們各個組的系統(tǒng),即將用到的知識,然后就總體把覺得需要補充的知識(jsp和數據庫連接等這幾塊)給我們實際操作了下,因為當時看到用jsp,還講的那么認真,當時我就后悔了,平時要是多聽點,現(xiàn)在老師這么認真的給我們講,這是一個多么難得的機會啊。后悔也沒用啊,開始還勉強能理解一點,后來就直接暈了。然后再給大家介紹了一些即將用到的工具,比如rationalrose,svn,myeclipse等等。接下來的幾天就不再細講了。下面談談通過這次實訓的心得體會吧。
通過這次實訓,讓我了解到工程開發(fā)的過程,可行性分析——需求分析——概要設計——詳細設計——代碼編寫——測試——驗收。從技術方面上,我開始jsp基礎基本上就是零的,在老師和syz2(另外一個物流小組,我一個人基本上是跟她們做的,或者說是看著她們做的)的幫助下,對jsp有了一個大概的認識。其實實訓開始前,我還以為做個系統(tǒng)沒什么大不了,可是當真正拿到一個項目,我卻真的無從下手了,而且就是在知道需求分析和詳細設計,在代碼編寫時,一樣寸步難行。通過這個實訓,也讓我了解到,團隊協(xié)作是多么的重要。一個人的精力是多么的有限。進一步理解到,企業(yè)為什么如此重視團隊協(xié)作。同時借用老師的話就是團隊協(xié)作固然重要,但是是建立在個人素質的基礎上,假設你個人素質不行,將會影響到整個團隊,就別提對團隊作更多貢獻了。__老師說這幾句話的時候,朝向了我,估計是有特殊意義的吧,所以,我將謹記老師的教導。
還有一個收獲是從一個同學(小胖)那里得到的,他的那組成員跟我的這組大體一樣,我倒是覺得沒什么了,不過他倒是很重視這個問題吧。然后他說出來,我也覺得這個問題確實其實是個大的問題。就是不管你會不會這門技術,會不會做這個東西,態(tài)度要正確才好,就算你不會做,你也應該認真的對待,將來出身到社會,就不是說像你現(xiàn)在,不會做就不做,跑去玩游戲了。小胖說出了這段話,也在我身上有了一個印證,雖然我jsp技術知識為0,但我也還是在認真的跟著他們一起做,不會做,就多問,畢竟現(xiàn)在我們是學生,可以毫不顧忌的詢問各種問題,老師也會盡力為你回答。將來出身社會就不一樣了。雖然,我就算個打醬油的水平,但是這個醬油也要打得有涵量啊。不管怎么樣,我能對自己有個交待,雖然我不會,但是這次實訓我確實是認真對待了,六天的實訓,除了晚上加班外,還花了2個通宵來完成不同階段的任務,完成與否也不重要了,我至少我做了,這點,是這次我應該對自己的一個肯定。
這次實訓的心得基本上就是這些了,最后特別感謝中軟國際帶我們的那兩個老師(周褀,朱映),這兩個老師對待我們很平易近人,對我們提出的問題,總是不光解決了,還進行了擴展,晚上也跟我們一起加班加到很晚,印象尤其深刻就是朱映老師為了給小胖解決一個問題,臉都變紅了,還在繼續(xù)努力,這點我并不會覺得老師知識儲備不夠,我想應該是這個問題的突發(fā)吧,一時沒想到怎么處理。相反讓我感覺更多的就是老師很認真,很負責。還要感謝就是syz2小組的傾力支持,輔導。
學習軟件工程的心得體會篇十
時間過的很快,轉眼間已經實習將近5個月,其中有2個月是屬于完全被流放的。最先在內部系統(tǒng)組參與內部管理系統(tǒng)開發(fā)(struts+mysql+spring+hibernate),之后是去做網絡交換機軟件的腳本測試?,F(xiàn)在又回歸內部系統(tǒng),雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測試經驗。
至少自己做的東西,是真正交付到了客戶手上,到也稍微有些成就感。
1、淺談測試
一直以來,我都認為測試是脫離了軟件工程范圍的工作,不以為屑。但在實際情況中,測試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經驗總結和想象力。而要做到高級測試工程師,則一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面具體運作的前提。但占主導地位的,還是大型系統(tǒng)的集成測試經驗。實際項目中,編碼時間一般只占30%左右,真正耗費時間的是it階段的找bug與對應bug,此階段基本評定了coder的編碼質量。
2、程序員的困惑
有些人,以為教學視頻和代碼看多,自己就懂的多,實際做起來,卻不知從何下手,
有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此基礎上去做具體記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數據庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學會調試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調試追蹤
如果你能在短短的時間內就看到問題點在那,放下斷點去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運行期間的具體值,那是最好途徑。eclipse是個很爽的ide,這點做的很好。例如頁面內容顯示不是自己想要的數據,我們要先從數據庫查詢語句去下手,設置斷點,一步一步stepover,讓sql字段(存取最終sql語句的字符串)運行到有值,inspect進去看,如果還看不出來,就點擊它,copy后在sql客戶端去實際運行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調用的錯誤或者action邏輯的傳值問題。
頁面錯誤的調試,基本方法是用右鍵點擊實際網頁查看源代碼,copy到editplus,就能看到具體錯誤發(fā)生在那幾行。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調用的字段有可能為空的情況出現(xiàn)的,可以加if(xxx=null)語句加保護。追蹤的方法基本就是用alert語句,放在有可能出錯的地方。
4、一些習慣
遇到問題先自己思考,無從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學到的東西遠遠比書多的多。
解決了一個問題后,要去究根問底去找到問題產生的起因,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。
任務完后不要呆著,去要求經理給你更有挑戰(zhàn)性的任務,只要你肯去嘗試,他們就會對你另言相看,把三天的任務一天加班搞定,效率和忠誠都有了,路也比較好走了。
[]
學習軟件工程的心得體會篇十一
學習軟件工程一個學期以來,我在陳燁老師的教導下確實獲益匪淺。軟件工程這門課,讓我對軟件的認識有了大大的提升,從一開始對軟件工程的一無所知,到現(xiàn)在一學期下來的不斷學習,懂得了許多的知識。
軟件不僅僅是程序,而是思想在硬件上的載體和體現(xiàn),軟件工程與其說是一門課程,不如說是一門思想。讓我懂得如何去分析和處理問題的過程,綜合解決問題。
在這段時間的學習中,我明白了一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告等多個文檔,而軟件的生存周期可分為八個階段,分別是問題定義,可行性研究,需求分析,概要設計,詳細設計,程序設計,測試,文檔,技術支持,售后服務。而可行性包括經濟,技術,法律和社會。了解了許多軟件開發(fā)模型,比如瀑布模型,增量模型和螺旋模型,也了解了uml對象面向對象建模,知道如何畫流圖,碩果累累。其實軟件和程序是兩個不同的概念,軟件除了程序還要有使用和維護該程序所需要的全部文檔。包括需求文檔、設計文檔、測試文檔、維護文檔以及使用手冊。
軟件工程對于初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,需要很好的基礎知識的理解和掌握,所以說學好軟件工程不是僅僅書多看幾遍就可以成功,而是要多注意結合實際,多思考,面對錯誤不要一范就問,要嘗試自己去解決,然后舉一反三。
軟件工程這門課在我們畢業(yè)之后,是我們實際要運用的一項非常有用的技能,這門課讓我意識到理論學習很重要,而實踐更重要,實踐是檢驗真理的唯一標準,只有實踐和理論相結合,才能使效益最大化。軟件工程的課雖然快要結束了,但是我對軟件工程的學習才剛剛開始,有了這些基本知識做鋪墊,在以后做項目的時候將會是解決問題的有效措施。
學習軟件工程的心得體會篇十二
學習了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其范疇已經遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
要學習軟件工程,學會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則: 軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟件產品達到預期功能的程度。
可用性指軟件基本結構、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設計、實現(xiàn)、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統(tǒng)結構,包括子系統(tǒng)、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現(xiàn)活動把設計結果轉換為可執(zhí)行的程序代碼。確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。 軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
pad圖:它是用結構化程序設計思想表現(xiàn)程序邏輯結構的圖形工具。pad也設置了五種基本控制結構的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設計中使用的主要表達工具。hc圖既是層次圖,用于表示軟件的分層結構。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數據文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過程是否在實際應用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術:不執(zhí)行被測軟件,可對需求分析說明書、軟件設計說明書、源程序做結構檢查、流程分析、符號執(zhí)行來找出軟件錯誤。動態(tài)測試技術:當把程序作為一個函數,輸入的全體稱為函數的定義域,輸出的全體稱為函數的值域,函數則描述了輸入的定義域與輸出值域的關系。還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今后的學習中一定會慢慢的完善的。
軟件工程對于初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟件工程,不是僅僅把幾本專業(yè)書籍細致地看幾遍,然后上機練習幾次就可以成功,學習過程中要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學,肯定是什么都學不透的,要集中精力打攻堅戰(zhàn),學習軟件工程首先要明白自己的學習目標究竟是什么,根據自己的實際工作出發(fā),有針對性的在相應的學習方向上進行提高,制定出詳細的學習規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學習面向對象分析的時候要結合大一學習的面向對象及其方法學這一專業(yè)科目進行研究拓展;在學習語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學到的知識通匯貫通。
在軟件工程的學習中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學習中,我更了解到形成自己獨特的規(guī)范的編碼風格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序讀不懂程序,維護又從何談起呢所以,我們在今后的學習中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎上形成屬于自己的風格,即方便自己的修改,也方便日后他人的閱讀。
在學習中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數據,缺乏兩者的有機結合。而面向對象方法的程序設計和問題求解更符合人們日常自然的思維習慣,適合大型、復雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數學變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉換為可執(zhí)行的程序。在今后的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,并以此為基礎將其擴散開來,應用于今后的實踐。不斷鍛煉自己,向一名合格的程序設計師邁進。
學習軟件工程的心得體會篇十三
曾經看過一本書叫《道法自然》,內容略記得一二,但我最欣賞的是它的.書名。軟件設計沒什么太神秘有東西,只要用心體會,其實一切都很自然。軟件的設計之“道”,也不在于設計有多么的華麗、精巧,而在于其樸實、自然,最終達到“以無招勝有招”,進入一個全新的境界。
一、軟件設計理論的層次
以我的拙見,軟件設計領域中的各種概念,可以分為以下幾個層次來進行理解:
1、軟件設計的目的:重用性、擴展性。
這是最高的層次,是應對軟件危機的需要。
2、設計原則:低耦合、高聚合。
各種軟件設計的原則,如依賴倒置原則、單一職則原則、面向接口等,以及各種設計模式,其根本的目的其實只是為了降低耦合這么簡單。因為只有低耦合才能更好的適應變化,更好的重用和擴展。
3、實現(xiàn)方法:運用設計模式封裝變化、降低耦合。
設計模式只是用來“封裝變化、降低耦合”的工具而已。它是面向對象設計時代的產物,其本質就是充分運用面向對象的三個特性,即:封裝、繼承和多態(tài),進行靈活的組合運用。
二、關于耦合
1、耦合的粒度
耦合無論如何也是不可避免的。當我們實現(xiàn)接口、繼承父類的時候,就會不可避免的產生耦合。耦合是有不同粒度的,我們解耦到什么粒度為止,我認為應以模塊的重用粒度為準。盡量解除重用模塊或對象之間的耦合。而重用模塊之內的耦合,應屬于聚合的范疇,所以不要盲目的去解耦,否則就陷入了誤區(qū)。
2、解耦的原理
怎樣才能解耦呢,或者說為什么各種設計模式能達到解耦的目的呢?我覺得有以下幾個思路:
(1)將具體的東西抽象處理
(2)將分散的東西集中處理
而面向對象中的接口、繼承正為我們提供了這樣的一種機制。通過訪問接口或基類或抽象類,而不是具體的實現(xiàn)類,從而與具體的實現(xiàn)類達到了解耦的目的。我們還可以設計一些控制類,像潤滑劑一樣,協(xié)調各實現(xiàn)類之間的訪問,也可以達到耦的目的。
事實上,各種設計模式的基本思想也就是這樣。創(chuàng)建型模式是為了解除創(chuàng)建對象時產生的耦合,實際上是解除對類稱名的依賴,而結構型和行為型是為了解除對象屬性或方法的直接調用。不管什么設計模式,都是將對具體實現(xiàn)類的訪問提升為對接口、基類或用于協(xié)調的控制類的訪問。
三、關于接口
這一節(jié)更具體,談一談接口,因為使用接口是軟件設計的重要手段,但已經不屬于“道”了。
1、接口與繼承
接口描述的是對象某一個方面行為特征。使用接口與使用繼承關系各有優(yōu)缺點,使用子類繼承可以繼承父類的功能,體現(xiàn)了重用的精神。而接品更加靈活,因為它解除了子類與父類之間的高度耦合,它體現(xiàn)在靈活擴展的精神。
2、接口與純虛類
接口存在的理由就是它更加靈活,關系簡單,易于理解。比如一個類可以實現(xiàn)十幾個甚至幾十個接口,但一般開發(fā)工具只支持單繼承(由于多繼承太容易導致混亂和沖突),如果要繼承十幾層,系統(tǒng)結構想必會無法理解了,我以為這是接口存在的最重要的原因。
如果接口和虛類繼承結合使用,可以產生強大的威力,這也是許多設計模式的“殺手锏”。
以上算是總結一下自己的心得。肯定有不少片面之處,請各位指教。
學習軟件工程的心得體會篇十四
軟件工程師作為現(xiàn)代社會中越來越重要的職業(yè)之一,隨著信息技術的不斷發(fā)展,其職責也越來越廣泛和重要。作為一名軟件工程師,我在這個行業(yè)里摸爬滾打多年,深感自己的成長離不開各種經驗和心得的積累。在接下來的文字中,我將從個人視角談談自己在軟件開發(fā)過程中的心得體會。
第二段:選擇質量
在軟件開發(fā)的過程中,我最關注的是軟件的質量。因為軟件需要長期運行,不僅要滿足用戶需求,還要兼顧安全性和可維護性等方面,這需要我們在開發(fā)過程中嚴格控制每一個環(huán)節(jié),做好每一個細節(jié)。因此,我在項目開發(fā)前會認真分析需求和可能的風險,對技術框架和工具的選擇非常謹慎。我也會定期進行代碼復審和單元測試等工作,確保代碼質量達標。當然,在不斷優(yōu)化的過程中,我也意識到代碼質量的提高不僅僅在于個人級別,而更應該顧及團隊整體水平,因此深感技術學習和交流的重要性。只有不斷積累、分享,才能讓團隊的發(fā)展更加健康和持久。
第三段:溝通協(xié)作
作為一名軟件工程師,我們的工作不僅僅是編寫代碼,更包括與產品經理、UI設計師、測試工程師等各個角色之間的溝通協(xié)作。這就需要我們具備更多的軟技能。比如,要善于傾聽和引導,以便更好地理解產品需求和用戶痛點;要有清晰的表達能力,能夠清楚地向其他角色描述自己的想法和意圖;在開發(fā)過程中,也要非常注重團隊合作,及時溝通和協(xié)調出現(xiàn)的問題。整個軟件開發(fā)過程需要涵蓋從需求分析、規(guī)劃和設計,再到編碼、測試和上線等各個環(huán)節(jié),期間需要負責人與團隊的全面協(xié)作才能保證項目的順利完成。
第四段:學習成長
軟件開發(fā)是一個知識密集型的工作,要時刻緊跟技術的發(fā)展趨勢才能在激烈的競爭中取得優(yōu)勢。因此,我認為軟件工程師需要具備持續(xù)學習的能力和自我提升的意識。我會在業(yè)余時間去了解新的技術,參加相關的技術社群和活動,不斷學習和嘗試新東西,以此來增強自己的核心競爭力和解決實際問題的能力。同樣,我也會時刻關注團隊的成長和發(fā)展,希望能為團隊帶來更多的經驗和技術積累。
第五段:總結回顧
在軟件開發(fā)的過程中,我覺得最重要的是要保持持之以恒的熱情和精神狀態(tài)。無論是在技術領域還是在團隊管理中,不停地學習和成長,分享并培育團隊的創(chuàng)新精神和專業(yè)精神,才能不斷提高自己和團隊的能力和素質,做出更好的產品。取得成功需要獨立思考和勇于探索,但更需要承認團隊的重要性,在各方面展現(xiàn)出自己領導團隊的能力和擔當。在今后的工作和生活中,我也將持續(xù)關注自己的成長需求,堅定地走好自己的職業(yè)道路。
學習軟件工程的心得體會篇十五
軟件工程心得體會未接觸軟件工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟件工程課,終于知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復雜化導致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調,組員積極配合,才能合作愉快。學習能力體現(xiàn)在能盡快接受新的知識,順應變化,學為所用。
上《軟件工程導論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠??上面已經給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產,提高其勞動生產效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據開發(fā)的軟件的規(guī)模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應該是一個循環(huán)的過程。在編碼的'過程中,你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1、可行性分析就是關于當前項目能不能干的分析結果。
2、項目描述這是在決定立項以后,對當前項目的一份扼要說明。
3、需求分析就是對客戶要求的功能的定義。
4、軟件設計這就是對程序的每一個模塊的詳細設計的說明文檔。
5、開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或對代碼的一些微小的修改,或對程序結構的一些微小變動等,還要對上述這些修改變動作些說明。
6、測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數字描述。
學習軟件工程的心得體會篇十六
在本學期的軟件工程課程的學習中,我們學習了十一章的內容。
第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎性的內容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。
第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向對象方法、形式化方法。
還引出了工具uml。
第三章軟件需求獲取與結構化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結構化分析方法,畫分層的數據流圖、e-r圖以及狀態(tài)圖式本節(jié)的重點。
第四章結構化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結構以及模塊結構的改進。
第五章編碼,這一章重點講解了編碼的風格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風格。
第六章軟件測試方法,本章講解了軟件測試相關的概念及重要性,軟件測試與開發(fā)各個階段的關系;還介紹了白盒測試技術以及黑河測試技術。
第七章統(tǒng)一建模語言uml概述,本章詳細介紹了uml的基本模式、事物、關系及建模時用到的各種圖進行了介紹。
第八章面向對象分析,這一章主要講解了面向對象分析的3種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。
第九章軟件體系結構與設計模式,本章對軟件體系結構的'基本概念、典型風格等進行了講解。
第十章面向對象設計,本章的重點是對面向對象分析時建立的對象模型進行調整和細化。
第十一章軟件維護,本章主要介紹軟件維護的任務、軟件維護活動以及軟件維護方法進行了介紹。
要學習軟件工程,學會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則:軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。
正確性指軟件產品達到預期功能的程度。
可用性指軟件基本結構、實現(xiàn)及文檔為用戶可用的程度。
開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。
這些目標的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。
軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。
它們覆蓋了需求、設計、實現(xiàn)、確認以及維護等活動。
需求活動包括問題分析和需求分析。
問題分析獲取需求定義,又稱軟件需求規(guī)約。
需求分析生成功能規(guī)約。
設計活動一般包括概要設計和詳細設計。
概要設計建立整個軟件系統(tǒng)結構,包括子系統(tǒng)、模塊以及相關層次的說明、每一模塊的接口定義。
詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。
實現(xiàn)活動把設計結果轉換為可執(zhí)行的程序代碼。
確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產品滿足用戶的要求。
維護活動包括使用過程中的擴充、修改與完善。
伴隨以上過程,還有管理過程、支持過程、培訓過程等。
軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學習了詳細設計的方法,其原則是過程描述是否易于理解、復審和維護,進而過程描述能夠自然地轉換成代碼,并保證詳細設計與代碼完全一致。
包括程序流程圖、n-s圖、pad圖、hipo圖
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。
它獨立于任何一種程序設計語言,比較直觀和清晰地描述過程的控制流程,易于學習掌握。
學習軟件工程的心得體會篇十七
對于一個軟件系統(tǒng)的開發(fā),第一步就是問題定義,了解所開發(fā)系統(tǒng)的行業(yè)背景,制定計劃。當我們計劃確定以后就要對項目系統(tǒng)本身進行可行性研究,主要從技術可行性、經濟可行性和操作可行性三個方面著手。就比如《物聯(lián)網物流倉庫管理系統(tǒng)》的行業(yè)背景說明文檔中非常詳細地分析了當下物聯(lián)網物流行業(yè)的整體業(yè)務說明、應用背景、未來發(fā)展趨勢以及相關應用案例等四個方面,項目團隊中系統(tǒng)分析員就可以根據這份文檔以及相關的調查資料對將要開發(fā)系統(tǒng)的進行定義等工作。
原來我們寫這類文檔的時候就是草草了事,不會做得這么詳細,而這次看到大型項目的行業(yè)背景說明也是這么詳細,也讓自己認識到不管是軟件開發(fā)的那個階段都要認真對待,這些瑣碎的文檔都是后期開發(fā)項目的支撐,只要它們做的透徹,后面的開發(fā)工作才能更順利的進行。
第二、項目需求說明方面
這部分項目需求說明就是軟件定義時期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據用戶的需要確定系統(tǒng)必須完成那些工作,并對目標系統(tǒng)提出完整、準確、清晰、具體的要求。在需求分析結束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說明,即為《物聯(lián)網物流倉儲管理系統(tǒng)》項目需求說明文檔。我們可以看出該文檔也是非常詳細,相比之下我們之前做項目時寫的需求規(guī)格說明書就非常不合格,不僅格式不正確內容也是少之又少。
在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內容,原來它不是很重要,寫文檔的時候也不知道怎么寫就借鑒下網上的內容,結果根本就沒有把自己項目的需求寫明白,以至于自己最后都有些糊涂,所以根據以前的經驗教訓我會對這部分更加重視。
第三、系統(tǒng)概要設計方面
這部分內容分說的是軟件設計時期的概要設計階段,該階段的主要目的就是實現(xiàn)系統(tǒng)的功能、設計軟件的結構、模塊組成以及模塊之間的關系。在概要設計階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對比多種可能的系統(tǒng)實現(xiàn)方案和軟件結構,從中選出最佳方案和最合理的結構。在這個階段還會具體畫出e-r圖、數據流圖等方面的設計。
比如《物聯(lián)網物流倉庫管理系統(tǒng)》的系統(tǒng)概要設計從項目概述、設計約束、功能單元與功能模塊設計、數據e-r圖設計、總體設計、界面設計等六個方面介紹,通過讀這個文檔,我覺得最重要的還是總體設計,分別從邏輯架構設計、物理架構設計、技術架構設計設計系統(tǒng)。在這個階段中模塊要做到高內聚低耦合,這樣開發(fā)出來的系統(tǒng)才會具有更高的獨立性。
在原來做項目時沒有編寫過這類文檔,在該階段只是畫了結構圖、層次圖以及相關的模塊劃分,對該類文檔尚未重視。通過張老師的講解和自己的學習,我相信在以后做項目的時候一定會注意到這類文檔的編寫。
第四、詳細設計與分析方面
詳細設計階段就是把概要設計階段的每個模塊進一步設計,確定每個模塊所需要的算法和數據結構。在這個階段還是需要我們設計出程序的詳細規(guī)格說明,而不是編寫程序。在詳細設計階段,系統(tǒng)設計人員可以通過使用程序流程圖、盒圖、pad圖等過程設計的工具和jackson圖等面向數據結構的設計工具進一步設計系統(tǒng)相關接口,主要包括界面設計接口、業(yè)務單設計接口、單元模塊設計接口等,這些對于以后的編碼工作都是極其重要的。
第五、編碼和測試方案方面
關于編碼,我認為編碼要想做的完美必備條件就是前面的軟件定義和軟件設計時期要按部就班的做,文檔一定要按要求書寫,不能偷懶也不能草草書寫。對于編碼也要有相應的文檔書寫規(guī)范,要使源程序代碼的邏輯簡明清晰、易讀易懂。這樣盡管我們不是設計系統(tǒng)的人員,當看到源程序代碼的時候也能容易讀懂代碼的意思。
其次就是測試的內容,從測試的文檔中我們可以得出,其實測試在軟件開發(fā)中同樣占據了重要的地位,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,最終把一個高質量的軟件系統(tǒng)交給用戶使用。它要求測試人員也要有很高的技術水平。

