心得體會是在工作學(xué)習(xí)等方面的實踐經(jīng)驗的總結(jié)和總結(jié),它可以幫助我們更好地反思和認(rèn)識自己。每當(dāng)我們經(jīng)歷一段時間的工作或?qū)W習(xí)后,都應(yīng)該對自己的收獲和不足進行總結(jié),這樣才能不斷提高自己的能力和水平。總結(jié)是一種重要的學(xué)習(xí)方法,通過總結(jié)可以深化對知識的理解和應(yīng)用,提高知識的綜合運用能力??偨Y(jié)是一種思維方式,通過總結(jié)可以更好地理清事物的內(nèi)在聯(lián)系和邏輯關(guān)系,從而形成自己獨特的見解和認(rèn)識。總結(jié)是一種推動學(xué)習(xí)進步的動力,通過總結(jié)可以發(fā)現(xiàn)自己的不足,并找到可以改進的方向和方法。總結(jié)是一種反思和總結(jié),通過總結(jié)可以更好地認(rèn)識自己,發(fā)現(xiàn)自己的優(yōu)點和不足,從而更好地改進自己。可以結(jié)合具體的案例和實例來充實心得體會的內(nèi)容,增加說服力和可信度。小編為大家精選了一些優(yōu)秀的心得體會樣例,一起來看看別人是如何總結(jié)和歸納自己的經(jīng)驗的。
學(xué)習(xí)軟件工程的心得體會篇一
軟件工程心得體會未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。
上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經(jīng)給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1.可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。
2.項目描述這是在決定立項以后,對當(dāng)前項目的一份扼要說明。
3.需求分析就是對客戶要求的功能的定義。
4.軟件設(shè)計這就是對程序的每一個模塊的詳細(xì)設(shè)計的說明文檔。
5.開發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
學(xué)習(xí)軟件工程的心得體會篇二
軟件工程概論是一門引導(dǎo)人們正確開展軟件開發(fā)的學(xué)科,它包括軟件開發(fā)的常用流程、方法和工具等。我們是計算機專業(yè)的學(xué)生,而且都了解軟件開發(fā)的基礎(chǔ),但是能夠真正了解軟件工程概論的學(xué)生是相對比較少的。因此,這門課程將會是我們學(xué)習(xí)過的最重要的課程之一。
次段:軟件工程概論的重要內(nèi)容
軟件工程概論具有如下幾個重要的內(nèi)容:軟件生命周期模型、軟件需求分析、軟件設(shè)計、軟件開發(fā)流程和軟件測試。其中軟件生命周期模型是最重要的內(nèi)容之一,它為開發(fā)過程提供了全方位的指導(dǎo),確保開發(fā)人員始終按照正確的流程進行開發(fā)。這些內(nèi)容將會幫助我們了解整個開發(fā)過程,如何規(guī)劃項目并嚴(yán)格遵循項目的開發(fā)流程。
第三段:軟件工程概論帶給我們的啟示
軟件工程概論是一個非常實用的課程,它為我們提供了很多關(guān)于如何正確開發(fā)軟件的知識和指導(dǎo)。同時也帶給我們很多啟示。首先,軟件開發(fā)不是孤立的,它是一個整體的系統(tǒng),任何一部分出現(xiàn)問題都會影響到整個系統(tǒng)。其次,軟件開發(fā)過程是非常復(fù)雜的,需要較高的技能和知識。因此人力成本將會是非常高的,同時對開發(fā)人員的素質(zhì)和能力也有很高的要求。
第四段:如何應(yīng)用軟件工程概論在實際工作中
首先需要掌握全面的軟件工程概論知識,以此來指導(dǎo)整個開發(fā)過程。其次需要確定一個比較好的軟件生命周期模型,以確保開發(fā)過程的順利進行,并嚴(yán)格按照開發(fā)流程來開發(fā)。同時需要掌握一些常用的軟件開發(fā)和管理工具,以提高開發(fā)效率和質(zhì)量。
尾段:總結(jié)
通過學(xué)習(xí)軟件工程概論,我們深入了解了軟件開發(fā)過程的核心內(nèi)容和方法。這些知識將會對我們未來的職業(yè)生涯以及軟件開發(fā)工作有很大的指導(dǎo)意義。因此我們需要把所學(xué)的知識和方法運用到實際的工作當(dāng)中去。同時,我們也要繼續(xù)學(xué)習(xí)和積累,以應(yīng)對日新月異的技術(shù)發(fā)展。
學(xué)習(xí)軟件工程的心得體會篇三
初學(xué)軟件工程第一周的時候以為只是純粹的理論課毫無用處,其實不然。深入了解之后發(fā)現(xiàn)它對程序的設(shè)計,錯誤的檢測以及軟件測試,編寫方面有不可磨滅的便捷好處。開發(fā)一個軟件時,對原定的系統(tǒng)模型和目標(biāo)的現(xiàn)實以及系統(tǒng)完成后所帶來的效益的預(yù)判斷,可以明確開發(fā)與否,否則就是浪費人力,物力以及時間。
以下是所學(xué)過程中的知識點:
(1)軟件危機:軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。
所以若要解決軟件危機,既要有技術(shù)措施(方法和工具),又要有必要的組織和管理措施,軟件工程正是從管理和技術(shù)兩方面研究如何更好得開發(fā)和維護計算機軟件的一門新興學(xué)科。
軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。采用工程的概念、原理、技術(shù)、和方法來開發(fā)與維護軟件。
軟件工程方法學(xué)包含3個要素:方法、工具和過程。
(2)軟件生命周期:軟件定義、軟件開發(fā)和運行維護
軟件開發(fā)階段:問題定義,可行性研究,需求分析,總體設(shè)計,詳細(xì)設(shè)計,編碼和單元測試,綜合測試,軟件維護。
軟件維護主要任務(wù):是使軟件持久的滿足用戶的需要。
軟件過程目的:為獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,規(guī)定了完成各項任務(wù)的工作步驟。
其中:可行性分析:技術(shù)可行性,經(jīng)濟可行性,操作可行性
(3)判定表和判定樹能夠清晰地表達出各種動作之間的對應(yīng)關(guān)系
第一個軟件生命周期,瀑布型生命周期
程序設(shè)計:低耦合高內(nèi)聚
(4)學(xué)會畫程序流圖,sc圖,er圖,dfd圖,順序圖以及協(xié)作圖。學(xué)會讀圖,可以獨立完成相關(guān)計算題。
學(xué)習(xí)軟件工程的心得體會篇四
摘要:針對浙江省服務(wù)外包軟件業(yè)的發(fā)展與高校在軟件工程專業(yè)特色培養(yǎng)之間的矛盾,分析浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院在以“服務(wù)外包”為特色的軟件工程專業(yè)建設(shè)方面的優(yōu)勢,提出以強化“服務(wù)外包”特色,培養(yǎng)復(fù)合型、實用型軟件工程高級技術(shù)人才為目標(biāo)的優(yōu)勢專業(yè)建設(shè)總體規(guī)劃和主要建設(shè)方案。
關(guān)鍵詞:優(yōu)勢專業(yè);服務(wù)外包;軟件工程;建設(shè)方案
高校畢業(yè)生專業(yè)結(jié)構(gòu)失衡,與社會對計算機應(yīng)用需求及最新科技發(fā)展脫軌,是目前在計算機類專業(yè)人才培養(yǎng)中遇到的主要問題之一。近年來,隨著浙江省和長三角地區(qū)信息產(chǎn)業(yè)的蓬勃發(fā)展,高素質(zhì)軟件人才,特別是軟件服務(wù)外包產(chǎn)業(yè)的人才缺口正在不斷加大。針對這一現(xiàn)象,浙江工業(yè)大學(xué)經(jīng)過認(rèn)真的市場調(diào)研、認(rèn)證和規(guī)劃后提出要以培養(yǎng)軟件“服務(wù)外包”人才為突破口,強化建設(shè)具有“產(chǎn)學(xué)研用結(jié)合辦學(xué),分層分類精細(xì)培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎(chǔ)、強個性、善創(chuàng)新”的應(yīng)用創(chuàng)新型軟件工程人才,這對緩解實際需求矛盾,提高人才培養(yǎng)質(zhì)量,優(yōu)化專業(yè)結(jié)構(gòu)具有十分重要的意義。
1服務(wù)外包專業(yè)建設(shè)
1.1服務(wù)外包產(chǎn)業(yè)在浙江省的發(fā)展?fàn)顩r
作為現(xiàn)代服務(wù)業(yè)的一個重要組成部分,服務(wù)外包產(chǎn)業(yè)具有以下特點:信息技術(shù)含量高、附加值大、國際化水平高、環(huán)境污染少、能耗低、人力資源密集。浙江省的服務(wù)外包產(chǎn)業(yè)目前正處于剛起步的重要階段。浙江省服務(wù)外包合同的執(zhí)行總額約為110億美元,其中杭州市作為浙江省“中國服務(wù)外包示范城市”,其20離岸服務(wù)外包合同的執(zhí)行總額達到了15.5億美元,在全國21個示范城市中位居第四。服務(wù)外包區(qū)域發(fā)展逐漸形成以杭州市為中心,寧波、嘉興、金華、紹興、臺州、湖州等共同發(fā)展的新格局。年浙江省服務(wù)外包企業(yè)達到1480家,其中新增企業(yè)670家,增幅位居全國前列,同時,服務(wù)外包從業(yè)人員也達到了18萬人。
《浙江省服務(wù)外包產(chǎn)業(yè)“十二五”發(fā)展規(guī)劃》明確指出:浙江省要建設(shè)成為全國服務(wù)外包產(chǎn)業(yè)發(fā)展的先進省份,并打造出“浙江服務(wù)”的整體品牌。該規(guī)劃確定了“至全省服務(wù)外包合同執(zhí)行總額突破200億美元”的經(jīng)濟目標(biāo),且至20浙江省服務(wù)外包從業(yè)的人數(shù)預(yù)計達到30萬人,同時年均新增的直接就業(yè)人數(shù)將會突破3萬人。
服務(wù)外包產(chǎn)業(yè)是人才驅(qū)動型產(chǎn)業(yè)。計算機類專業(yè)作為高校開設(shè)普及率較高的專業(yè),在服務(wù)外包軟件人才的培養(yǎng)上還存在巨大的缺口。隨著產(chǎn)業(yè)的發(fā)展,服務(wù)外包實用型人才要具有復(fù)合型、跨行業(yè)、外語溝通能力強的特點,其人才數(shù)量遠遠不能滿足需求。為保持該產(chǎn)業(yè)的持續(xù)發(fā)展,加快轉(zhuǎn)變經(jīng)濟發(fā)展方式,促進經(jīng)濟轉(zhuǎn)型升級,國家有關(guān)部門先后制定了一系列推動高校計算機學(xué)院培養(yǎng)服務(wù)外包人才的政策,從而進一步提升高校畢業(yè)生的綜合能力、就業(yè)率和就業(yè)質(zhì)量。
1.2培養(yǎng)服務(wù)外包行業(yè)人才的優(yōu)勢
為適應(yīng)軟件服務(wù)外包產(chǎn)業(yè)的發(fā)展需求,浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)已申請建立以“服務(wù)外包”為特色的浙江省高等學(xué)校優(yōu)勢專業(yè),且在服務(wù)外包行業(yè)人才培養(yǎng)上有以下優(yōu)勢。
1)已建立創(chuàng)新型人才培養(yǎng)模式。
計算機科學(xué)與技術(shù)學(xué)院正在積極地以國家級人才培養(yǎng)模式創(chuàng)新實驗區(qū)(技術(shù)與藝術(shù)相結(jié)合的數(shù)字媒體跨學(xué)科人才培養(yǎng)模式創(chuàng)新實驗區(qū))的建設(shè)為契機,探索實踐產(chǎn)學(xué)“雙螺旋”驅(qū)動的高質(zhì)量軟件人才培養(yǎng),以工程實踐與創(chuàng)新能力為核心,從而形成特色鮮明的軟件工程創(chuàng)新型人才培養(yǎng)模式。
2)具有高水平專、兼職教師隊伍。
浙江工業(yè)大學(xué)軟件工程專業(yè)已經(jīng)建成了一支由專任教師、企業(yè)兼職教師、軟件領(lǐng)域知名教育與學(xué)術(shù)專家組成的120多人的教師隊伍。
3)共建了教學(xué)改革與實踐教學(xué)聯(lián)合體。
浙江省教育廳和杭州市高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)共建軟件學(xué)院,并共同成立了浙江工業(yè)大學(xué)軟件學(xué)院校企合作委員會。該委員會擁有理事單位近70家,會員單位包括眾多國內(nèi)外知名it企業(yè)。在此基礎(chǔ)上,校企共建了教學(xué)改革聯(lián)合體,共同確定了人才培養(yǎng)目標(biāo)、課程體系、課程教學(xué)內(nèi)容。學(xué)校專職教師與企業(yè)教師共同承擔(dān)課程教學(xué)。學(xué)生的實習(xí)和畢業(yè)設(shè)計等實踐環(huán)節(jié)全部進入企業(yè)進行。
4)已建成軟件工程專業(yè)核心精品課程。
根據(jù)軟件工程課程體系框架,學(xué)校已建成1門國家級精品課程、4門省級精品課程及5門校級精品課程,其中核心學(xué)科基礎(chǔ)課程(如c++程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理及運用、計算機網(wǎng)絡(luò)基礎(chǔ)等)已全部建成省級精品課程。
5)專業(yè)人才培養(yǎng)質(zhì)量和社會認(rèn)可度高。
浙江工業(yè)大學(xué)軟件工程專業(yè)已培養(yǎng)了6屆畢業(yè)生,共1590人,其中有600人進入服務(wù)外包企業(yè)就職。專業(yè)教學(xué)效果良好,獲得用人單位的極大認(rèn)可。還有一批學(xué)生獲得了國際國內(nèi)多項高水平的獎項。例如,acm隊在世界總決賽上獲前20名,acm隊獲得亞洲預(yù)選賽3金1銀的成績,并再次人選全球總決賽。在第三屆中國大學(xué)生服務(wù)外包創(chuàng)新創(chuàng)業(yè)大賽中,計算機科學(xué)與技術(shù)學(xué)院選派的兩支隊伍均突破重重選拔,晉級決賽答辯環(huán)節(jié),分別獲得了二等獎和三等獎的不菲戰(zhàn)績。
2專業(yè)特色規(guī)劃和建設(shè)思路
經(jīng)過多次論證,浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)將總體規(guī)劃設(shè)定為:經(jīng)過特色專業(yè)的建設(shè),以先進的教育思想和理念為指導(dǎo),以培養(yǎng)軟件“服務(wù)外包”人才為突破口,強化“產(chǎn)學(xué)研用結(jié)合辦學(xué),分層分類精細(xì)培養(yǎng)”的專業(yè)特色,在人才培養(yǎng)模式創(chuàng)新、教學(xué)團隊建設(shè)、課程與資源建設(shè)、教學(xué)方法改革、實踐教學(xué)與平臺建設(shè)、教學(xué)管理以及國際合作等方面取得標(biāo)志性的教學(xué)成果,將浙江工業(yè)大學(xué)軟件工程專業(yè)打造成實訓(xùn)基地完備、師資力量雄厚、教學(xué)質(zhì)量一流、課程體系先進、專業(yè)特色鮮明、行業(yè)和社會評價優(yōu)良的特色專業(yè),建設(shè)成省內(nèi)一流、國內(nèi)知名的復(fù)合型、實用型軟件工程高級技術(shù)人才的培養(yǎng)基地和國內(nèi)外具有一定影響的計算機軟件產(chǎn)學(xué)研基地。
2.1“產(chǎn)學(xué)研用”結(jié)合辦學(xué)校企聯(lián)合將教學(xué)改革與實踐教學(xué)相聯(lián)合,共同確定人才培養(yǎng)目標(biāo)、課程體系、課程教學(xué)內(nèi)容,學(xué)校專職教師與企業(yè)教師共同承擔(dān)課程教學(xué);同時將學(xué)生的實習(xí)和畢業(yè)設(shè)計等實踐環(huán)節(jié)全方位嵌入企業(yè)項目,通過任務(wù)驅(qū)動、案例驅(qū)動、項目驅(qū)動,讓學(xué)生融入教師科研和企業(yè)工程項目,做到做中學(xué),學(xué)致用,形成產(chǎn)學(xué)研用結(jié)合辦學(xué)的特色。
2.2分層分類精細(xì)培養(yǎng)
學(xué)校以培養(yǎng)軟件“服務(wù)外包”人才為突破口,在人才培養(yǎng)模式改革、研究型教學(xué)方法改革、課程建設(shè)和實踐平臺建設(shè)中,堅持以軟件研發(fā)實踐和創(chuàng)新能力的培養(yǎng)為核心,強化個性,分層分類精細(xì)培養(yǎng)復(fù)合型、實用型軟件工程高級技術(shù)人才。
3優(yōu)勢專業(yè)建設(shè)總體方案
3.1完善人才培養(yǎng)方案
學(xué)院根據(jù)“夯實基礎(chǔ)、拓寬口徑、強化個性、善于創(chuàng)新”的指導(dǎo)思想,采用多層次、多方向、寬口徑的課程教學(xué)體系,進一步完善專業(yè)教育學(xué)分制和產(chǎn)學(xué)研一體化聯(lián)合培養(yǎng)方案;采用“嵌入式人才培養(yǎng)模式”,對學(xué)生進行“定制式”培養(yǎng),包括軟件服務(wù)外包知名企業(yè)實施聯(lián)合培養(yǎng)和服務(wù)外包培訓(xùn)班等形式;完善專業(yè)主修方向及多個輔修方向相結(jié)合的機制,引進國外優(yōu)秀師資和系列雙語教學(xué)課程,制定對日服務(wù)外包和對歐美服務(wù)外包兩種計劃,提供相當(dāng)數(shù)量的選修課程。
3.2構(gòu)建特色專業(yè)的課程體系
學(xué)院加強學(xué)科基礎(chǔ)教學(xué),與服務(wù)外包企業(yè)聯(lián)合構(gòu)建“服務(wù)外包聯(lián)盟”,共同確立多層次的課程體系;提供新型、實用的學(xué)科方向課和新技術(shù)講座;搭建軟件服務(wù)外包實訓(xùn)基地、創(chuàng)業(yè)孵化中心;開設(shè)各類大型實驗、軟件工程綜合實習(xí)等實踐環(huán)節(jié)強化實踐訓(xùn)練。實行的新課程體系由軟件工程領(lǐng)域的核心課程、引進國際先進的課程、校企合作聯(lián)合開發(fā)的面向服務(wù)外包課程組成。圖1所示為軟件工程專業(yè)課程體系。
我們要著重加強實踐教學(xué)在課程體系中的比重,增加實用性課程和實踐環(huán)節(jié)的比重,增加項目實踐的時間,擴展服務(wù)外包案例分析教學(xué)內(nèi)容,同時著力強化“分段制、融入型”實習(xí),明確產(chǎn)學(xué)研在教學(xué)上的合作機制,提升設(shè)計性、綜合性實驗課程比例,提高畢業(yè)設(shè)計水平。
3.3改革課程教學(xué)內(nèi)容,加強新教材建設(shè)
學(xué)院對現(xiàn)有的課程內(nèi)容進行改革,并根據(jù)歷年來學(xué)生對教材的反饋情況以及教師教材的使用情況,精心選擇優(yōu)秀教材。教材由同課程的多名教師討論決定,并由課程團隊責(zé)任教師進行把關(guān),要保證教材內(nèi)容時刻跟隨相關(guān)產(chǎn)業(yè)和領(lǐng)域的發(fā)展。學(xué)院還組織教師積累經(jīng)驗,結(jié)合軟件服務(wù)外包編寫教材。教材內(nèi)容要反映產(chǎn)業(yè)和領(lǐng)域發(fā)生的.變化。此外,學(xué)院還引進相應(yīng)的國外原版教材,通過雙語教學(xué)提高學(xué)生對最新軟件開發(fā)理論和技術(shù)的了解,提高外語應(yīng)用能力,培養(yǎng)能在國際化環(huán)境中工作的高層次軟件專業(yè)人才。
3.4改革教師培養(yǎng)和使用機制,加強教師隊伍建設(shè)
學(xué)校秉承建設(shè)專、兼職教師隊伍相結(jié)合的方針及特色,完善學(xué)科帶頭人、專業(yè)負(fù)責(zé)人制度,以培養(yǎng)骨干教師和中青年學(xué)科帶頭人為重點,通過引進、培養(yǎng)、補充等多種方式,建設(shè)精干高效、富有活力、素質(zhì)良好、結(jié)構(gòu)優(yōu)化的高素質(zhì)專職教師隊伍。另外,學(xué)校還加強面向服務(wù)外包方向的師資培訓(xùn),增強校內(nèi)教師指導(dǎo)專業(yè)技術(shù)能力,重點培育教學(xué)骨干、教學(xué)帶頭人、教學(xué)名師、教學(xué)團隊。
學(xué)校從國內(nèi)外知名服務(wù)外包軟件企業(yè)的高層主管和技術(shù)骨干、國內(nèi)外相關(guān)學(xué)科中聘任兼職教師,聘請外國知名專家、學(xué)者授課或講座,保證專業(yè)建設(shè)始終與社會需求接軌,提升專業(yè)培養(yǎng)質(zhì)量。
3.5完善實踐教學(xué)及實習(xí)基地建設(shè)
在學(xué)校的傳統(tǒng)教學(xué)實驗室的基礎(chǔ)上,我們通過校企合作和校企共建教學(xué)改革與建設(shè)聯(lián)合體,形成“服務(wù)外包聯(lián)盟”,建立服務(wù)外包企業(yè)實驗基地、校內(nèi)實習(xí)基地和軟件園的開放式實踐基地,開展創(chuàng)業(yè)創(chuàng)新預(yù)孵化基地、大學(xué)生服務(wù)外包創(chuàng)業(yè)預(yù)孵化基地的建設(shè),做好實驗室建設(shè)規(guī)劃和“服務(wù)外包校內(nèi)實訓(xùn)中心”建設(shè)工作,形成專業(yè)良好的實踐教學(xué)條件。
此外,學(xué)院還會完善分層分類的專業(yè)實驗教學(xué)體系的建設(shè)。圖2所示為分層分類多元化的實驗教學(xué)方法。由此看出,該教學(xué)體系著重專業(yè)實驗教學(xué)中復(fù)合型、實用型人才的工程實踐能力培養(yǎng),依據(jù)學(xué)科基礎(chǔ)技能、專業(yè)基本技能、專業(yè)綜合技能和工程實踐能力劃分層次,采用課內(nèi)實驗、綜合實踐、課程設(shè)計、開放項目、科研創(chuàng)新項目、科研勤工、學(xué)科專業(yè)競賽等課內(nèi)外結(jié)合形式,劃分實驗班、一體化專業(yè)、服務(wù)外包專業(yè)模塊班等不同學(xué)生對象,依托實驗教學(xué)體系實施分層分類精細(xì)化培養(yǎng),采取任務(wù)驅(qū)動、問題驅(qū)動、案例驅(qū)動和項目驅(qū)動4種基本方法,適應(yīng)不同實驗課程的需要,實施多元化的實驗教學(xué)方法。
3.6加強學(xué)競賽平臺的建設(shè),完善學(xué)生科技創(chuàng)新體系
學(xué)院舉辦課程競賽,開展自主實驗,積極組織、鼓勵學(xué)生參加各種校內(nèi)外科技競賽,通過加強競賽網(wǎng)站建設(shè)和賽事承辦,進一步加深校企合作模式,加大宣傳力度,讓更多的高校和企業(yè)參與競賽的各項活動,突出產(chǎn)學(xué)研用相結(jié)合培養(yǎng)軟件工程人才的特色,進一步完善學(xué)生科技創(chuàng)新體系,促進學(xué)生參與創(chuàng)新創(chuàng)業(yè),獲得更多更好的成績。
學(xué)院借助浙江工業(yè)大學(xué)在后acm競賽中3年獲得進入全球總賽的契機,加強了acm競賽的平臺建設(shè),完善了教練團隊和集訓(xùn)制度,鼓勵學(xué)生通過競賽和國際聯(lián)系,通過人選全球總決賽和全球名校的學(xué)生平等競爭,取得佳績,彰顯浙江工業(yè)大學(xué)專業(yè)建設(shè)人才培養(yǎng)成效。
3.7教學(xué)管理與運行機制的研究與建設(shè)
學(xué)院針對服務(wù)外包專業(yè)建設(shè),建立和完善相應(yīng)教學(xué)管理組織、教學(xué)質(zhì)量保證體系,通過完備的規(guī)章制度和教學(xué)規(guī)范,以及對規(guī)章制度執(zhí)行情況的例行監(jiān)督和反饋機制,有效管理教學(xué),提高教學(xué)質(zhì)量。
(1)建設(shè)由政府職能部門、行業(yè)管理部門、有代表性的企業(yè)和學(xué)校主管部門組成的專業(yè)建設(shè)顧問組,成立軟件服務(wù)外包專業(yè)建設(shè)咨詢委員會,指導(dǎo)專業(yè)建設(shè)的定位與方向。
(2)建設(shè)以杭州骨干軟件企業(yè)為主組成的校企合作委員會,共建服務(wù)外包實踐基地,完成學(xué)生實習(xí)和畢業(yè)設(shè)計的教學(xué)工作。
(3)建設(shè)由國際國內(nèi)知名軟件技術(shù)教育專家、軟件設(shè)計與開發(fā)專家組成的教學(xué)指導(dǎo)與教師培養(yǎng)委員會,聯(lián)合服務(wù)外包企業(yè),指導(dǎo)課程體系、課程內(nèi)容的建設(shè)和教師隊伍的建設(shè)。
4)進行服務(wù)外包教學(xué)管理、教學(xué)工作規(guī)范、實習(xí)環(huán)節(jié)質(zhì)量評定方法和監(jiān)督反饋機制的建設(shè)。
4結(jié)語
針對計算機人才培養(yǎng)質(zhì)量與社會需求和最新科技發(fā)展脫軌問題,筆者詳細(xì)分析了服務(wù)外包產(chǎn)業(yè)在浙江省的發(fā)展?fàn)顩r及浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院在服務(wù)外包行業(yè)人才培養(yǎng)中的優(yōu)勢,提出了以培養(yǎng)軟件“服務(wù)外包”人才為突破口,強化建設(shè)具有“產(chǎn)學(xué)研用結(jié)合辦學(xué),分層分類精細(xì)培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎(chǔ)、強個性、善創(chuàng)新”的應(yīng)用創(chuàng)新型軟件工程人才的方案。通過今后幾年的不斷努力實踐,我們希望能取得軟件工程專業(yè)建設(shè)的成效,滿足社會對軟件人才的需求,并為其他高校軟件工程人才的培養(yǎng)和專業(yè)建設(shè)起到示范和帶動作用。
學(xué)習(xí)軟件工程的心得體會篇五
作為一個計算機相關(guān)專業(yè)的學(xué)生,學(xué)習(xí)軟件工程概論課程是必不可少的環(huán)節(jié),這門課程為我們提供了對軟件工程學(xué)科的基礎(chǔ)認(rèn)知和框架規(guī)劃,同時也為我們在未來的學(xué)習(xí)和工作中打下了堅實的基礎(chǔ)。在這門課程中,我認(rèn)真學(xué)習(xí)、反思,從中獲得了不少收獲和體會。下面,我將從以下四個方面展開我的學(xué)習(xí)心得,并結(jié)合自身的經(jīng)歷,談?wù)勎业睦斫夂退伎肌?BR> 第二段:軟件工程學(xué)科的基本認(rèn)識
學(xué)習(xí)軟件工程概論,我們首先需要了解軟件工程學(xué)科的基本認(rèn)識。首先,軟件工程是一個系統(tǒng)性的學(xué)科,其目的是確保軟件的質(zhì)量和效率,最終達到客戶和開發(fā)者雙方的需求。其次,軟件工程的目標(biāo)是建立高質(zhì)量、可靠、易維護的軟件系統(tǒng),在項目計劃、需求定義、軟件設(shè)計、測試等各個階段下工作,最終形成一個完整的軟件開發(fā)生命周期。同時,軟件工程學(xué)科也需要同時考慮工程學(xué)、計算機科學(xué)和管理科學(xué)等多個學(xué)科的知識結(jié)構(gòu),要順應(yīng)軟件市場、技術(shù)骨干和客戶需求,利用日新月異的技術(shù)、方法和工具不斷提高軟件工程的水平。
第三段:軟件工程的主要原則和方法
軟件工程的實踐和研究不僅需要基本認(rèn)識和知識框架,還需要深入了解軟件工程的主要原則和方法。軟件工程的主要原則包括:分階段開發(fā)、模塊化設(shè)計、適應(yīng)性規(guī)劃、嚴(yán)格記錄和文檔、提前預(yù)防和檢測、先進的技術(shù)和工具等。軟件工程的主要方法包括:結(jié)構(gòu)化的系統(tǒng)分析和設(shè)計、模型驅(qū)動的開發(fā)、敏捷的方法和迭代式的開發(fā)過程等。具體方法的選擇應(yīng)根據(jù)具體的需求和現(xiàn)實情況,要根據(jù)實際情況精選方法、工具和流程,不斷更新和完善軟件工程的理論體系。
第四段:軟件工程的社會價值
軟件工程不僅是一門學(xué)科,更代表了一種價值觀和責(zé)任感。它對于人類社會的發(fā)展和進步扮演著重要的角色。在當(dāng)今信息技術(shù)迅速發(fā)展的時代,軟件工程已成為技術(shù)與社會相結(jié)合的橋梁和紐帶。軟件工程的社會價值包括:提高信息處理和科技發(fā)展水平、提高軟件開發(fā)和維護效率、創(chuàng)造高質(zhì)量和高性能的軟件、優(yōu)化各行各業(yè)的流程和管理、推動工業(yè)化和信息化協(xié)同發(fā)展、加強個人和團隊協(xié)作能力等。軟件工程的社會價值無處不在,是不可忽視的一部分。
第五段:結(jié)語
在這門軟件工程概論課程中,我了解了軟件工程學(xué)科的基本認(rèn)識,深入學(xué)習(xí)了軟件工程的主要原則和方法,并且認(rèn)識到了軟件工程的社會價值。通過學(xué)習(xí)軟件工程,我不僅拓展了自己的知識面,也意識到了自己在未來的專業(yè)發(fā)展中需要掌握的技能和素養(yǎng)。軟件工程是一門學(xué)科,也是一種責(zé)任感和價值觀念。我相信,在未來的實踐和研究中,我會不斷學(xué)習(xí)和探索,為軟件開發(fā)行業(yè)做出自己的貢獻。
學(xué)習(xí)軟件工程的心得體會篇六
我們是20__年3月7號進入宏天實訓(xùn)公司參加軟件開發(fā)實訓(xùn)的,在此次實訓(xùn)中,除了讓我明白工作中需要能力,素質(zhì),知識之外,更重要的是學(xué)會了如何去完成一個任務(wù),懂得了享受工作。當(dāng)遇到問題,冷靜,想辦法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應(yīng)該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學(xué)到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學(xué)會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學(xué)習(xí)的東西。
經(jīng)過之前的在校學(xué)習(xí),對程序設(shè)計有了一定的認(rèn)識與理解。在校期間,一直都是學(xué)習(xí)理論知識,沒有機會去參與項目的開發(fā)。所以說實話,在實訓(xùn)之前,軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經(jīng)過這次實訓(xùn),讓我明白了一個完整項目的開發(fā),必須由團隊來分工合作,并在每個階段中進行必要的總結(jié)與論證。
一個完整項目的開發(fā)它所要經(jīng)歷的階段包括:遠景范圍規(guī)劃和用例說明、項目結(jié)構(gòu)和風(fēng)險評估、業(yè)務(wù)功能說明書、詳細(xì)設(shè)計說明書、代碼實現(xiàn)、測試和安裝包等等。一個項目的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠景規(guī)劃,對以后的開發(fā)進度會有很大的影響,甚至?xí)霈F(xiàn)在預(yù)定時間內(nèi)不能完成項目或者完成的項目跟原來預(yù)想的不一樣。一份好的項目結(jié)構(gòu)、業(yè)務(wù)功能和詳細(xì)設(shè)計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認(rèn)識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關(guān)鍵,也就是說,前期作業(yè)都是為代碼的實現(xiàn)所做的準(zhǔn)備。
我深刻的認(rèn)識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼基礎(chǔ),必須要有事先對文檔進行可靠性報告,功能說明書,詳細(xì)設(shè)計說明書等的編寫和一些風(fēng)險評估的編寫的能力。
除了圖書館,最能讓我感覺到身在大學(xué)的就是實訓(xùn)機房,在匆匆過去的兩個月內(nèi),我往返于實訓(xùn)機房與宿舍之間,使我享受了一個充實的學(xué)習(xí)時期,讓我感受到了大學(xué)的魅力,對自己充滿信心,對大學(xué)充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。
實訓(xùn)中要求有扎實的理論基本知識,操作起來才順心應(yīng)手,我這時才明白什么是“書到用時方恨少”。這就激發(fā)了學(xué)習(xí)的欲望。
“學(xué)以致用”,就是要把學(xué)來的知識能運用到實際操作當(dāng)中,用實踐來檢驗知識的正確性。我想,這是實訓(xùn)的最根本目的。
“紙上得來終覺淺,絕知此事要躬行!”,在短暫的實訓(xùn)過程中,讓我深深感受到自己在實際運用中專業(yè)知識的匱乏。以前總以為自己學(xué)的還不錯,一旦應(yīng)用到實際就大不一樣了,這時才真正領(lǐng)悟“學(xué)無止境”的含義。
經(jīng)過為期兩個月的電子政務(wù)服務(wù)平臺系統(tǒng)開發(fā)的實訓(xùn),我對visual軟件開發(fā)平臺有了更深一步的了解,對微軟基礎(chǔ)類庫的認(rèn)識與使用也有了大大的提高。以及如何使用sqlserver數(shù)據(jù)庫進行連接操作方面有了本質(zhì)的提高。
短短的實訓(xùn)結(jié)束了,為我將來的就業(yè)打下了良好的基礎(chǔ),也提高了我的軟件開發(fā)的水平,今后我將會更加努力的學(xué)習(xí),不斷提高自身素質(zhì),開拓創(chuàng)新,與時俱進,做一個優(yōu)秀的軟件開發(fā)工程師。
學(xué)習(xí)軟件工程的心得體會篇七
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法。還引出了工具uml。第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(shù)據(jù)流圖、e—r圖以及狀態(tài)圖式本節(jié)的重點。第四章結(jié)構(gòu)化分析方法,這一章重點講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進。第五章編碼,這一章重點講解了編碼的風(fēng)格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風(fēng)格。第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。第七章統(tǒng)一建模語言uml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時用到的各種圖進行了介紹。第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的基本概念、典型風(fēng)格等進行了講解。第十章面向?qū)ο笤O(shè)計,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細(xì)化。第十一章軟件維護,本章主要介紹軟件維護的任務(wù)、軟件維護活動以及軟件維護方法進行了介紹。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。
軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學(xué)習(xí)了詳細(xì)設(shè)計的方法,其原則是過程描述是否易于理解、復(fù)審和維護,進而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計與代碼完全一致。包括程序流程圖、n—s圖、pad圖、hipo圖。
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。它獨立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。在流程圖中只能使用下述的五種基本控制結(jié)構(gòu):順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。
n—s圖:一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形描述工具,稱為盒圖,又稱為n—s圖。在n—s圖中,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件。順序型;選擇型;while重復(fù)型;until重復(fù)型;多分支選擇型。
pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。
hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達工具。
hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯(lián)系。
還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。
靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。
動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。
還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。
在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結(jié)報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨特的規(guī)范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。
在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進。
學(xué)習(xí)軟件工程的心得體會篇八
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。
第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。
第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法?BR> 還引出了工具uml。
第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(shù)據(jù)流圖、e-r圖以及狀態(tài)圖式本節(jié)的重點。
第四章結(jié)構(gòu)化分析方法,這一章重點講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進。
第五章編碼,這一章重點講解了編碼的風(fēng)格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風(fēng)格。
第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。
第七章統(tǒng)一建模語言uml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時用到的各種圖進行了介紹。
第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。
第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的'基本概念、典型風(fēng)格等進行了講解。
第十章面向?qū)ο笤O(shè)計,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細(xì)化。
第十一章軟件維護,本章主要介紹軟件維護的任務(wù)、軟件維護活動以及軟件維護方法進行了介紹。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。
正確性指軟件產(chǎn)品達到預(yù)期功能的程度。
可用性指軟件基本結(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。
開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。
這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。
軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。
它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護等活動。
需求活動包括問題分析和需求分析。
問題分析獲取需求定義,又稱軟件需求規(guī)約。
需求分析生成功能規(guī)約。
設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。
概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。
詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。
實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。
確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。
維護活動包括使用過程中的擴充、修改與完善。
伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。
軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學(xué)習(xí)了詳細(xì)設(shè)計的方法,其原則是過程描述是否易于理解、復(fù)審和維護,進而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計與代碼完全一致。
包括程序流程圖、n-s圖、pad圖、hipo圖
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。
它獨立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。
學(xué)習(xí)軟件工程的心得體會篇九
時間過的很快,轉(zhuǎn)眼間已經(jīng)實習(xí)將近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、淺談測試
一直以來,我都認(rèn)為測試是脫離了軟件工程范圍的工作,不以為屑。但在實際情況中,測試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責(zé)任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經(jīng)驗總結(jié)和想象力。而要做到高級測試工程師,則一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面具體運作的前提。但占主導(dǎo)地位的,還是大型系統(tǒng)的集成測試經(jīng)驗。實際項目中,編碼時間一般只占30%左右,真正耗費時間的是it階段的找bug與對應(yīng)bug,此階段基本評定了coder的編碼質(zhì)量。
2、程序員的困惑
有些人,以為教學(xué)視頻和代碼看多,自己就懂的多,實際做起來,卻不知從何下手,
有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此基礎(chǔ)上去做具體記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數(shù)據(jù)庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學(xué)會調(diào)試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調(diào)試追蹤
如果你能在短短的時間內(nèi)就看到問題點在那,放下斷點去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運行期間的具體值,那是最好途徑。eclipse是個很爽的ide,這點做的很好。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫查詢語句去下手,設(shè)置斷點,一步一步stepover,讓sql字段(存取最終sql語句的字符串)運行到有值,inspect進去看,如果還看不出來,就點擊它,copy后在sql客戶端去實際運行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調(diào)用的錯誤或者action邏輯的傳值問題。
頁面錯誤的調(diào)試,基本方法是用右鍵點擊實際網(wǎng)頁查看源代碼,copy到editplus,就能看到具體錯誤發(fā)生在那幾行。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調(diào)用的字段有可能為空的情況出現(xiàn)的,可以加if(xxx=null)語句加保護。追蹤的方法基本就是用alert語句,放在有可能出錯的地方。
4、一些習(xí)慣
遇到問題先自己思考,無從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠遠比書多的多。
解決了一個問題后,要去究根問底去找到問題產(chǎn)生的起因,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經(jīng)看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。
任務(wù)完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),只要你肯去嘗試,他們就會對你另言相看,把三天的任務(wù)一天加班搞定,效率和忠誠都有了,路也比較好走了。
[]
學(xué)習(xí)軟件工程的心得體會篇十
對于一個軟件系統(tǒng)的開發(fā),第一步就是問題定義,了解所開發(fā)系統(tǒng)的行業(yè)背景,制定計劃。當(dāng)我們計劃確定以后就要對項目系統(tǒng)本身進行可行性研究,主要從技術(shù)可行性、經(jīng)濟可行性和操作可行性三個方面著手。就比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的行業(yè)背景說明文檔中非常詳細(xì)地分析了當(dāng)下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務(wù)說明、應(yīng)用背景、未來發(fā)展趨勢以及相關(guān)應(yīng)用案例等四個方面,項目團隊中系統(tǒng)分析員就可以根據(jù)這份文檔以及相關(guān)的調(diào)查資料對將要開發(fā)系統(tǒng)的進行定義等工作。
原來我們寫這類文檔的時候就是草草了事,不會做得這么詳細(xì),而這次看到大型項目的行業(yè)背景說明也是這么詳細(xì),也讓自己認(rèn)識到不管是軟件開發(fā)的那個階段都要認(rèn)真對待,這些瑣碎的文檔都是后期開發(fā)項目的支撐,只要它們做的透徹,后面的開發(fā)工作才能更順利的進行。
第二、項目需求說明方面
這部分項目需求說明就是軟件定義時期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據(jù)用戶的需要確定系統(tǒng)必須完成那些工作,并對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。在需求分析結(jié)束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說明,即為《物聯(lián)網(wǎng)物流倉儲管理系統(tǒng)》項目需求說明文檔。我們可以看出該文檔也是非常詳細(xì),相比之下我們之前做項目時寫的需求規(guī)格說明書就非常不合格,不僅格式不正確內(nèi)容也是少之又少。
在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內(nèi)容,原來它不是很重要,寫文檔的時候也不知道怎么寫就借鑒下網(wǎng)上的內(nèi)容,結(jié)果根本就沒有把自己項目的需求寫明白,以至于自己最后都有些糊涂,所以根據(jù)以前的經(jīng)驗教訓(xùn)我會對這部分更加重視。
第三、系統(tǒng)概要設(shè)計方面
這部分內(nèi)容分說的是軟件設(shè)計時期的概要設(shè)計階段,該階段的主要目的就是實現(xiàn)系統(tǒng)的功能、設(shè)計軟件的結(jié)構(gòu)、模塊組成以及模塊之間的關(guān)系。在概要設(shè)計階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對比多種可能的系統(tǒng)實現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的結(jié)構(gòu)。在這個階段還會具體畫出e-r圖、數(shù)據(jù)流圖等方面的設(shè)計。
比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的系統(tǒng)概要設(shè)計從項目概述、設(shè)計約束、功能單元與功能模塊設(shè)計、數(shù)據(jù)e-r圖設(shè)計、總體設(shè)計、界面設(shè)計等六個方面介紹,通過讀這個文檔,我覺得最重要的還是總體設(shè)計,分別從邏輯架構(gòu)設(shè)計、物理架構(gòu)設(shè)計、技術(shù)架構(gòu)設(shè)計設(shè)計系統(tǒng)。在這個階段中模塊要做到高內(nèi)聚低耦合,這樣開發(fā)出來的系統(tǒng)才會具有更高的獨立性。
在原來做項目時沒有編寫過這類文檔,在該階段只是畫了結(jié)構(gòu)圖、層次圖以及相關(guān)的模塊劃分,對該類文檔尚未重視。通過張老師的講解和自己的學(xué)習(xí),我相信在以后做項目的時候一定會注意到這類文檔的編寫。
第四、詳細(xì)設(shè)計與分析方面
詳細(xì)設(shè)計階段就是把概要設(shè)計階段的每個模塊進一步設(shè)計,確定每個模塊所需要的算法和數(shù)據(jù)結(jié)構(gòu)。在這個階段還是需要我們設(shè)計出程序的詳細(xì)規(guī)格說明,而不是編寫程序。在詳細(xì)設(shè)計階段,系統(tǒng)設(shè)計人員可以通過使用程序流程圖、盒圖、pad圖等過程設(shè)計的工具和jackson圖等面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計工具進一步設(shè)計系統(tǒng)相關(guān)接口,主要包括界面設(shè)計接口、業(yè)務(wù)單設(shè)計接口、單元模塊設(shè)計接口等,這些對于以后的編碼工作都是極其重要的。
第五、編碼和測試方案方面
關(guān)于編碼,我認(rèn)為編碼要想做的完美必備條件就是前面的軟件定義和軟件設(shè)計時期要按部就班的做,文檔一定要按要求書寫,不能偷懶也不能草草書寫。對于編碼也要有相應(yīng)的文檔書寫規(guī)范,要使源程序代碼的邏輯簡明清晰、易讀易懂。這樣盡管我們不是設(shè)計系統(tǒng)的人員,當(dāng)看到源程序代碼的時候也能容易讀懂代碼的意思。
其次就是測試的內(nèi)容,從測試的文檔中我們可以得出,其實測試在軟件開發(fā)中同樣占據(jù)了重要的地位,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶使用。它要求測試人員也要有很高的技術(shù)水平。
學(xué)習(xí)軟件工程的心得體會篇十一
軟件工程心得體會未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。
上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠??上面已?jīng)給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的'過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1、可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。
2、項目描述這是在決定立項以后,對當(dāng)前項目的一份扼要說明。
3、需求分析就是對客戶要求的功能的定義。
4、軟件設(shè)計這就是對程序的每一個模塊的詳細(xì)設(shè)計的說明文檔。
5、開發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
6、測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
學(xué)習(xí)軟件工程的心得體會篇十二
軟件工程(softwareengineering,簡稱為se)是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標(biāo)準(zhǔn),設(shè)計模式等方面。在現(xiàn)代社會中,軟件應(yīng)用于多個方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時,各個行業(yè)幾乎都有計算機軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應(yīng)用促進了經(jīng)濟和社會的發(fā)展,使得人們的工作更加高效,同時提高了生活質(zhì)量。
二、軟件工程的目標(biāo)
在給定成本、進度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產(chǎn)品。
三、軟件工程的原則
是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。軟件工程的原則有以下四項基本原則:1)選取適宜開發(fā)范型;2)采用合適的設(shè)計方法;3)提供高質(zhì)量的工程支持;4)重視開發(fā)過程的管理。
四、軟件工程的由來
據(jù)說上個世紀(jì)60年代的程序員都是天才,寫程式就像寫日記一樣,吃過晚飯沒事干隨手就可以寫幾個出來玩,第二天還可以拿去賣錢。所以那時候程序員在大家眼中,跟那些搞美術(shù),音樂的是一類的,被稱為“藝術(shù)家”。
但事過境遷,就像任何人都不會嫌錢多一樣,永遠都不會有人嫌cpu快的。于是,隨之而來的就是硬件的迅猛發(fā)展和越來越變態(tài)的軟件。記得以前常去同學(xué)家拷游戲,通常幾張軟盤就可以搞定,而現(xiàn)在的游戲,兩三張cd-rom都算少的了。像如此龐大復(fù)雜的怪物,就算你是如何的天才,一個人肯定是搞不定的,否則,等你把程式寫出來,人家intel連奔騰n都開發(fā)出來了。既要開發(fā)大型的軟件還要追求速度(這樣才能賺錢),于是很自然地,合作的概念被提了出來。
在開始合作的初期,由于大家都習(xí)慣了當(dāng)很有個性的“藝術(shù)家”,結(jié)果可想而知,一個是畢加索派的,而另一個是意大利印象派的,再加上一個畫潑墨山水畫的,要是像這樣湊出來的東西都能不出問題的話,那么bill早就轉(zhuǎn)行了。所以,那時侯的大型軟件,據(jù)說“藍屏”比windows98還多。
馬克思告訴我們,萬物都是從量變到質(zhì)變的。隨著問題的不斷涌現(xiàn),一些master們開始嘗試去總結(jié)經(jīng)驗,并歸納了一些規(guī)范去指導(dǎo)軟件的分析,設(shè)計,實現(xiàn),測試,維護,人員交流協(xié)作,項目預(yù)算及時限控制等方方面面,這就是軟件工程的前身。
軟件工程到現(xiàn)在已發(fā)展了30多年,可以說是相當(dāng)成熟的了?,F(xiàn)在開發(fā)軟件,據(jù)說都是一大幫人排排坐,按著一整套的規(guī)章制度來干活。于是,軟件開發(fā)成了“工程”,程序員也就淪為“工人”了。
五、軟件工程的核心
軟件工程,說白了,就是這樣一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。簡單來說,就是對于總體的組織和對于局部的實現(xiàn)。
六、軟件開發(fā)過程
開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。既然軟件開發(fā)是一個具有不可預(yù)知性和變化性的`動態(tài)的過程,那么,對其每一個步驟的組織,即周期模型,就必須包容它的這種性質(zhì)。
具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。文檔的作用在于以下3個方面:一是可以幫助整理思路。把要完成的目標(biāo),系統(tǒng)的結(jié)構(gòu),每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據(jù)可依,在需要回過頭來修改設(shè)計的時候,也有證可考。二是便于交流。想象一下開會時的情形。一大幫子人爭先恐后,激烈辯論,然后會終人散,思想靈感也就隨之散了,結(jié)果是開了半天會,什么也沒討論出來。這就是后來會議記錄被發(fā)明出來的原因。在腦子里的東西一多,就會散而且亂,用語言表達的時候,很容易會丟三落四,別人也很難把握住你的思想。但經(jīng)過整理寫在紙上以后,則會清晰得多,無論是別人還是自己,看起來都可以一目了然。三是可以作為以后維護時的參考資料。有一句名言:“筆和紙永遠都比大腦可靠”,意思就是說,放在大腦里的東西說不準(zhǔn)哪天就忘了,但寫在紙上的東西,只要不發(fā)生什么意外,一般是丟不了的。當(dāng)過了一段時間,你需要再回過頭來修改你的程序的時候,你就會發(fā)現(xiàn),你以前寫下的文檔實在太有價值了。別指望你的源代碼,對于復(fù)雜一點的程序來說,單純的源代碼幾乎會扼殺掉你所有的時間。
可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。主要考慮的方面包括:是否能把這個項目開發(fā)出來;假如可以的話,預(yù)計需要多少時間,能否滿足客人的時間要求;需要多少人力和資金的投入;最重要的是,這個項目能否賺錢,能賺多少。還要對可能存在的風(fēng)險進行評估。
七、軟件工程學(xué)習(xí)感悟
時間飛逝,不知不覺間《軟件工程》的學(xué)習(xí)完了。在這將近半學(xué)期的學(xué)習(xí)中,雖然我不能說我將《軟件工程》學(xué)習(xí)的有多么的好,但是通過學(xué)習(xí),我還是受益良多。
在以前,我一直對軟件存在一些偏見或則是誤解,認(rèn)為軟件就是程序,軟件的開發(fā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認(rèn)為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發(fā)好的軟件產(chǎn)品。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學(xué)生,就能組成一個軟件公司。
但是通過了《軟件工程》這門課的學(xué)習(xí),使我認(rèn)識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,有充分的認(rèn)識,才能更好的開發(fā)出,過程受控、質(zhì)量受控的軟件產(chǎn)品。
而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內(nèi)心深處進行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感。
而且通過學(xué)習(xí)《軟件工程》,我還學(xué)到了很多其他的東西。比如通過學(xué)習(xí)《軟件工程》,特別是教員的課程講解和每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓(xùn)練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等。而且通過學(xué)習(xí)《軟件工程》,還讓我認(rèn)識和培養(yǎng)了我的團隊協(xié)作能力,特別是對于我們這些在校的學(xué)生來說,這種學(xué)習(xí)更是能讓我在以后工作中少走很多的彎路。
所以,通過《軟件工程》的學(xué)習(xí),我是真的學(xué)習(xí)到了很多有用的東西,讓我明白了很多的道理。在此我對教員的辛勤教育表示感謝,因為是你讓我學(xué)習(xí)到了這些,是我獲益良多。
學(xué)習(xí)軟件工程的心得體會篇十三
軟件工程師作為現(xiàn)代社會中越來越重要的職業(yè)之一,隨著信息技術(shù)的不斷發(fā)展,其職責(zé)也越來越廣泛和重要。作為一名軟件工程師,我在這個行業(yè)里摸爬滾打多年,深感自己的成長離不開各種經(jīng)驗和心得的積累。在接下來的文字中,我將從個人視角談?wù)勛约涸谲浖_發(fā)過程中的心得體會。
第二段:選擇質(zhì)量
在軟件開發(fā)的過程中,我最關(guān)注的是軟件的質(zhì)量。因為軟件需要長期運行,不僅要滿足用戶需求,還要兼顧安全性和可維護性等方面,這需要我們在開發(fā)過程中嚴(yán)格控制每一個環(huán)節(jié),做好每一個細(xì)節(jié)。因此,我在項目開發(fā)前會認(rèn)真分析需求和可能的風(fēng)險,對技術(shù)框架和工具的選擇非常謹(jǐn)慎。我也會定期進行代碼復(fù)審和單元測試等工作,確保代碼質(zhì)量達標(biāo)。當(dāng)然,在不斷優(yōu)化的過程中,我也意識到代碼質(zhì)量的提高不僅僅在于個人級別,而更應(yīng)該顧及團隊整體水平,因此深感技術(shù)學(xué)習(xí)和交流的重要性。只有不斷積累、分享,才能讓團隊的發(fā)展更加健康和持久。
第三段:溝通協(xié)作
作為一名軟件工程師,我們的工作不僅僅是編寫代碼,更包括與產(chǎn)品經(jīng)理、UI設(shè)計師、測試工程師等各個角色之間的溝通協(xié)作。這就需要我們具備更多的軟技能。比如,要善于傾聽和引導(dǎo),以便更好地理解產(chǎn)品需求和用戶痛點;要有清晰的表達能力,能夠清楚地向其他角色描述自己的想法和意圖;在開發(fā)過程中,也要非常注重團隊合作,及時溝通和協(xié)調(diào)出現(xiàn)的問題。整個軟件開發(fā)過程需要涵蓋從需求分析、規(guī)劃和設(shè)計,再到編碼、測試和上線等各個環(huán)節(jié),期間需要負(fù)責(zé)人與團隊的全面協(xié)作才能保證項目的順利完成。
第四段:學(xué)習(xí)成長
軟件開發(fā)是一個知識密集型的工作,要時刻緊跟技術(shù)的發(fā)展趨勢才能在激烈的競爭中取得優(yōu)勢。因此,我認(rèn)為軟件工程師需要具備持續(xù)學(xué)習(xí)的能力和自我提升的意識。我會在業(yè)余時間去了解新的技術(shù),參加相關(guān)的技術(shù)社群和活動,不斷學(xué)習(xí)和嘗試新東西,以此來增強自己的核心競爭力和解決實際問題的能力。同樣,我也會時刻關(guān)注團隊的成長和發(fā)展,希望能為團隊帶來更多的經(jīng)驗和技術(shù)積累。
第五段:總結(jié)回顧
在軟件開發(fā)的過程中,我覺得最重要的是要保持持之以恒的熱情和精神狀態(tài)。無論是在技術(shù)領(lǐng)域還是在團隊管理中,不停地學(xué)習(xí)和成長,分享并培育團隊的創(chuàng)新精神和專業(yè)精神,才能不斷提高自己和團隊的能力和素質(zhì),做出更好的產(chǎn)品。取得成功需要獨立思考和勇于探索,但更需要承認(rèn)團隊的重要性,在各方面展現(xiàn)出自己領(lǐng)導(dǎo)團隊的能力和擔(dān)當(dāng)。在今后的工作和生活中,我也將持續(xù)關(guān)注自己的成長需求,堅定地走好自己的職業(yè)道路。
學(xué)習(xí)軟件工程的心得體會篇十四
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法。還引出了工具uml。第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(shù)據(jù)流圖、e-r圖以及狀態(tài)圖式本節(jié)的重點。第四章結(jié)構(gòu)化分析方法,這一章重點講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進。第五章編碼,這一章重點講解了編碼的風(fēng)格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風(fēng)格。第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。第七章統(tǒng)一建模語言uml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時用到的各種圖進行了介紹。第八章面向?qū)ο蠓治觯@一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的基本概念、典型風(fēng)格等進行了講解。第十章面向?qū)ο笤O(shè)計,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細(xì)化。第十一章軟件維護,本章主要介紹軟件維護的任務(wù)、軟件維護活動以及軟件維護方法進行了介紹。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。
軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。它獨立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。在流程圖中只能使用下述的五種基本控制結(jié)構(gòu):順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。
n-s圖:一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形描述工具,稱為盒圖,又稱為n-s圖。在n-s圖中,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件。順序型;選擇型;while重復(fù)型;until重復(fù)型;多分支選擇型。
pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。
hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達工具。
hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯(lián)系。
還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。
靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析
說明書
、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。
動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。
還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。
在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結(jié)報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨特的規(guī)范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。
在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進。
共
2
頁,當(dāng)前第
2
頁
1
2
學(xué)習(xí)軟件工程的心得體會篇十五
學(xué)習(xí)了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合。整一個學(xué)期下來,總的來說還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則: 軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預(yù)期功能的程度。
可用性指軟件基本結(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。 軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達工具。hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。
在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結(jié)報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨特的規(guī)范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序讀不懂程序,維護又從何談起呢所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進。
學(xué)習(xí)軟件工程的心得體會篇一
軟件工程心得體會未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。
上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經(jīng)給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1.可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。
2.項目描述這是在決定立項以后,對當(dāng)前項目的一份扼要說明。
3.需求分析就是對客戶要求的功能的定義。
4.軟件設(shè)計這就是對程序的每一個模塊的詳細(xì)設(shè)計的說明文檔。
5.開發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
學(xué)習(xí)軟件工程的心得體會篇二
軟件工程概論是一門引導(dǎo)人們正確開展軟件開發(fā)的學(xué)科,它包括軟件開發(fā)的常用流程、方法和工具等。我們是計算機專業(yè)的學(xué)生,而且都了解軟件開發(fā)的基礎(chǔ),但是能夠真正了解軟件工程概論的學(xué)生是相對比較少的。因此,這門課程將會是我們學(xué)習(xí)過的最重要的課程之一。
次段:軟件工程概論的重要內(nèi)容
軟件工程概論具有如下幾個重要的內(nèi)容:軟件生命周期模型、軟件需求分析、軟件設(shè)計、軟件開發(fā)流程和軟件測試。其中軟件生命周期模型是最重要的內(nèi)容之一,它為開發(fā)過程提供了全方位的指導(dǎo),確保開發(fā)人員始終按照正確的流程進行開發(fā)。這些內(nèi)容將會幫助我們了解整個開發(fā)過程,如何規(guī)劃項目并嚴(yán)格遵循項目的開發(fā)流程。
第三段:軟件工程概論帶給我們的啟示
軟件工程概論是一個非常實用的課程,它為我們提供了很多關(guān)于如何正確開發(fā)軟件的知識和指導(dǎo)。同時也帶給我們很多啟示。首先,軟件開發(fā)不是孤立的,它是一個整體的系統(tǒng),任何一部分出現(xiàn)問題都會影響到整個系統(tǒng)。其次,軟件開發(fā)過程是非常復(fù)雜的,需要較高的技能和知識。因此人力成本將會是非常高的,同時對開發(fā)人員的素質(zhì)和能力也有很高的要求。
第四段:如何應(yīng)用軟件工程概論在實際工作中
首先需要掌握全面的軟件工程概論知識,以此來指導(dǎo)整個開發(fā)過程。其次需要確定一個比較好的軟件生命周期模型,以確保開發(fā)過程的順利進行,并嚴(yán)格按照開發(fā)流程來開發(fā)。同時需要掌握一些常用的軟件開發(fā)和管理工具,以提高開發(fā)效率和質(zhì)量。
尾段:總結(jié)
通過學(xué)習(xí)軟件工程概論,我們深入了解了軟件開發(fā)過程的核心內(nèi)容和方法。這些知識將會對我們未來的職業(yè)生涯以及軟件開發(fā)工作有很大的指導(dǎo)意義。因此我們需要把所學(xué)的知識和方法運用到實際的工作當(dāng)中去。同時,我們也要繼續(xù)學(xué)習(xí)和積累,以應(yīng)對日新月異的技術(shù)發(fā)展。
學(xué)習(xí)軟件工程的心得體會篇三
初學(xué)軟件工程第一周的時候以為只是純粹的理論課毫無用處,其實不然。深入了解之后發(fā)現(xiàn)它對程序的設(shè)計,錯誤的檢測以及軟件測試,編寫方面有不可磨滅的便捷好處。開發(fā)一個軟件時,對原定的系統(tǒng)模型和目標(biāo)的現(xiàn)實以及系統(tǒng)完成后所帶來的效益的預(yù)判斷,可以明確開發(fā)與否,否則就是浪費人力,物力以及時間。
以下是所學(xué)過程中的知識點:
(1)軟件危機:軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。
所以若要解決軟件危機,既要有技術(shù)措施(方法和工具),又要有必要的組織和管理措施,軟件工程正是從管理和技術(shù)兩方面研究如何更好得開發(fā)和維護計算機軟件的一門新興學(xué)科。
軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。采用工程的概念、原理、技術(shù)、和方法來開發(fā)與維護軟件。
軟件工程方法學(xué)包含3個要素:方法、工具和過程。
(2)軟件生命周期:軟件定義、軟件開發(fā)和運行維護
軟件開發(fā)階段:問題定義,可行性研究,需求分析,總體設(shè)計,詳細(xì)設(shè)計,編碼和單元測試,綜合測試,軟件維護。
軟件維護主要任務(wù):是使軟件持久的滿足用戶的需要。
軟件過程目的:為獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,規(guī)定了完成各項任務(wù)的工作步驟。
其中:可行性分析:技術(shù)可行性,經(jīng)濟可行性,操作可行性
(3)判定表和判定樹能夠清晰地表達出各種動作之間的對應(yīng)關(guān)系
第一個軟件生命周期,瀑布型生命周期
程序設(shè)計:低耦合高內(nèi)聚
(4)學(xué)會畫程序流圖,sc圖,er圖,dfd圖,順序圖以及協(xié)作圖。學(xué)會讀圖,可以獨立完成相關(guān)計算題。
學(xué)習(xí)軟件工程的心得體會篇四
摘要:針對浙江省服務(wù)外包軟件業(yè)的發(fā)展與高校在軟件工程專業(yè)特色培養(yǎng)之間的矛盾,分析浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院在以“服務(wù)外包”為特色的軟件工程專業(yè)建設(shè)方面的優(yōu)勢,提出以強化“服務(wù)外包”特色,培養(yǎng)復(fù)合型、實用型軟件工程高級技術(shù)人才為目標(biāo)的優(yōu)勢專業(yè)建設(shè)總體規(guī)劃和主要建設(shè)方案。
關(guān)鍵詞:優(yōu)勢專業(yè);服務(wù)外包;軟件工程;建設(shè)方案
高校畢業(yè)生專業(yè)結(jié)構(gòu)失衡,與社會對計算機應(yīng)用需求及最新科技發(fā)展脫軌,是目前在計算機類專業(yè)人才培養(yǎng)中遇到的主要問題之一。近年來,隨著浙江省和長三角地區(qū)信息產(chǎn)業(yè)的蓬勃發(fā)展,高素質(zhì)軟件人才,特別是軟件服務(wù)外包產(chǎn)業(yè)的人才缺口正在不斷加大。針對這一現(xiàn)象,浙江工業(yè)大學(xué)經(jīng)過認(rèn)真的市場調(diào)研、認(rèn)證和規(guī)劃后提出要以培養(yǎng)軟件“服務(wù)外包”人才為突破口,強化建設(shè)具有“產(chǎn)學(xué)研用結(jié)合辦學(xué),分層分類精細(xì)培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎(chǔ)、強個性、善創(chuàng)新”的應(yīng)用創(chuàng)新型軟件工程人才,這對緩解實際需求矛盾,提高人才培養(yǎng)質(zhì)量,優(yōu)化專業(yè)結(jié)構(gòu)具有十分重要的意義。
1服務(wù)外包專業(yè)建設(shè)
1.1服務(wù)外包產(chǎn)業(yè)在浙江省的發(fā)展?fàn)顩r
作為現(xiàn)代服務(wù)業(yè)的一個重要組成部分,服務(wù)外包產(chǎn)業(yè)具有以下特點:信息技術(shù)含量高、附加值大、國際化水平高、環(huán)境污染少、能耗低、人力資源密集。浙江省的服務(wù)外包產(chǎn)業(yè)目前正處于剛起步的重要階段。浙江省服務(wù)外包合同的執(zhí)行總額約為110億美元,其中杭州市作為浙江省“中國服務(wù)外包示范城市”,其20離岸服務(wù)外包合同的執(zhí)行總額達到了15.5億美元,在全國21個示范城市中位居第四。服務(wù)外包區(qū)域發(fā)展逐漸形成以杭州市為中心,寧波、嘉興、金華、紹興、臺州、湖州等共同發(fā)展的新格局。年浙江省服務(wù)外包企業(yè)達到1480家,其中新增企業(yè)670家,增幅位居全國前列,同時,服務(wù)外包從業(yè)人員也達到了18萬人。
《浙江省服務(wù)外包產(chǎn)業(yè)“十二五”發(fā)展規(guī)劃》明確指出:浙江省要建設(shè)成為全國服務(wù)外包產(chǎn)業(yè)發(fā)展的先進省份,并打造出“浙江服務(wù)”的整體品牌。該規(guī)劃確定了“至全省服務(wù)外包合同執(zhí)行總額突破200億美元”的經(jīng)濟目標(biāo),且至20浙江省服務(wù)外包從業(yè)的人數(shù)預(yù)計達到30萬人,同時年均新增的直接就業(yè)人數(shù)將會突破3萬人。
服務(wù)外包產(chǎn)業(yè)是人才驅(qū)動型產(chǎn)業(yè)。計算機類專業(yè)作為高校開設(shè)普及率較高的專業(yè),在服務(wù)外包軟件人才的培養(yǎng)上還存在巨大的缺口。隨著產(chǎn)業(yè)的發(fā)展,服務(wù)外包實用型人才要具有復(fù)合型、跨行業(yè)、外語溝通能力強的特點,其人才數(shù)量遠遠不能滿足需求。為保持該產(chǎn)業(yè)的持續(xù)發(fā)展,加快轉(zhuǎn)變經(jīng)濟發(fā)展方式,促進經(jīng)濟轉(zhuǎn)型升級,國家有關(guān)部門先后制定了一系列推動高校計算機學(xué)院培養(yǎng)服務(wù)外包人才的政策,從而進一步提升高校畢業(yè)生的綜合能力、就業(yè)率和就業(yè)質(zhì)量。
1.2培養(yǎng)服務(wù)外包行業(yè)人才的優(yōu)勢
為適應(yīng)軟件服務(wù)外包產(chǎn)業(yè)的發(fā)展需求,浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)已申請建立以“服務(wù)外包”為特色的浙江省高等學(xué)校優(yōu)勢專業(yè),且在服務(wù)外包行業(yè)人才培養(yǎng)上有以下優(yōu)勢。
1)已建立創(chuàng)新型人才培養(yǎng)模式。
計算機科學(xué)與技術(shù)學(xué)院正在積極地以國家級人才培養(yǎng)模式創(chuàng)新實驗區(qū)(技術(shù)與藝術(shù)相結(jié)合的數(shù)字媒體跨學(xué)科人才培養(yǎng)模式創(chuàng)新實驗區(qū))的建設(shè)為契機,探索實踐產(chǎn)學(xué)“雙螺旋”驅(qū)動的高質(zhì)量軟件人才培養(yǎng),以工程實踐與創(chuàng)新能力為核心,從而形成特色鮮明的軟件工程創(chuàng)新型人才培養(yǎng)模式。
2)具有高水平專、兼職教師隊伍。
浙江工業(yè)大學(xué)軟件工程專業(yè)已經(jīng)建成了一支由專任教師、企業(yè)兼職教師、軟件領(lǐng)域知名教育與學(xué)術(shù)專家組成的120多人的教師隊伍。
3)共建了教學(xué)改革與實踐教學(xué)聯(lián)合體。
浙江省教育廳和杭州市高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)共建軟件學(xué)院,并共同成立了浙江工業(yè)大學(xué)軟件學(xué)院校企合作委員會。該委員會擁有理事單位近70家,會員單位包括眾多國內(nèi)外知名it企業(yè)。在此基礎(chǔ)上,校企共建了教學(xué)改革聯(lián)合體,共同確定了人才培養(yǎng)目標(biāo)、課程體系、課程教學(xué)內(nèi)容。學(xué)校專職教師與企業(yè)教師共同承擔(dān)課程教學(xué)。學(xué)生的實習(xí)和畢業(yè)設(shè)計等實踐環(huán)節(jié)全部進入企業(yè)進行。
4)已建成軟件工程專業(yè)核心精品課程。
根據(jù)軟件工程課程體系框架,學(xué)校已建成1門國家級精品課程、4門省級精品課程及5門校級精品課程,其中核心學(xué)科基礎(chǔ)課程(如c++程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理及運用、計算機網(wǎng)絡(luò)基礎(chǔ)等)已全部建成省級精品課程。
5)專業(yè)人才培養(yǎng)質(zhì)量和社會認(rèn)可度高。
浙江工業(yè)大學(xué)軟件工程專業(yè)已培養(yǎng)了6屆畢業(yè)生,共1590人,其中有600人進入服務(wù)外包企業(yè)就職。專業(yè)教學(xué)效果良好,獲得用人單位的極大認(rèn)可。還有一批學(xué)生獲得了國際國內(nèi)多項高水平的獎項。例如,acm隊在世界總決賽上獲前20名,acm隊獲得亞洲預(yù)選賽3金1銀的成績,并再次人選全球總決賽。在第三屆中國大學(xué)生服務(wù)外包創(chuàng)新創(chuàng)業(yè)大賽中,計算機科學(xué)與技術(shù)學(xué)院選派的兩支隊伍均突破重重選拔,晉級決賽答辯環(huán)節(jié),分別獲得了二等獎和三等獎的不菲戰(zhàn)績。
2專業(yè)特色規(guī)劃和建設(shè)思路
經(jīng)過多次論證,浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院軟件工程專業(yè)將總體規(guī)劃設(shè)定為:經(jīng)過特色專業(yè)的建設(shè),以先進的教育思想和理念為指導(dǎo),以培養(yǎng)軟件“服務(wù)外包”人才為突破口,強化“產(chǎn)學(xué)研用結(jié)合辦學(xué),分層分類精細(xì)培養(yǎng)”的專業(yè)特色,在人才培養(yǎng)模式創(chuàng)新、教學(xué)團隊建設(shè)、課程與資源建設(shè)、教學(xué)方法改革、實踐教學(xué)與平臺建設(shè)、教學(xué)管理以及國際合作等方面取得標(biāo)志性的教學(xué)成果,將浙江工業(yè)大學(xué)軟件工程專業(yè)打造成實訓(xùn)基地完備、師資力量雄厚、教學(xué)質(zhì)量一流、課程體系先進、專業(yè)特色鮮明、行業(yè)和社會評價優(yōu)良的特色專業(yè),建設(shè)成省內(nèi)一流、國內(nèi)知名的復(fù)合型、實用型軟件工程高級技術(shù)人才的培養(yǎng)基地和國內(nèi)外具有一定影響的計算機軟件產(chǎn)學(xué)研基地。
2.1“產(chǎn)學(xué)研用”結(jié)合辦學(xué)校企聯(lián)合將教學(xué)改革與實踐教學(xué)相聯(lián)合,共同確定人才培養(yǎng)目標(biāo)、課程體系、課程教學(xué)內(nèi)容,學(xué)校專職教師與企業(yè)教師共同承擔(dān)課程教學(xué);同時將學(xué)生的實習(xí)和畢業(yè)設(shè)計等實踐環(huán)節(jié)全方位嵌入企業(yè)項目,通過任務(wù)驅(qū)動、案例驅(qū)動、項目驅(qū)動,讓學(xué)生融入教師科研和企業(yè)工程項目,做到做中學(xué),學(xué)致用,形成產(chǎn)學(xué)研用結(jié)合辦學(xué)的特色。
2.2分層分類精細(xì)培養(yǎng)
學(xué)校以培養(yǎng)軟件“服務(wù)外包”人才為突破口,在人才培養(yǎng)模式改革、研究型教學(xué)方法改革、課程建設(shè)和實踐平臺建設(shè)中,堅持以軟件研發(fā)實踐和創(chuàng)新能力的培養(yǎng)為核心,強化個性,分層分類精細(xì)培養(yǎng)復(fù)合型、實用型軟件工程高級技術(shù)人才。
3優(yōu)勢專業(yè)建設(shè)總體方案
3.1完善人才培養(yǎng)方案
學(xué)院根據(jù)“夯實基礎(chǔ)、拓寬口徑、強化個性、善于創(chuàng)新”的指導(dǎo)思想,采用多層次、多方向、寬口徑的課程教學(xué)體系,進一步完善專業(yè)教育學(xué)分制和產(chǎn)學(xué)研一體化聯(lián)合培養(yǎng)方案;采用“嵌入式人才培養(yǎng)模式”,對學(xué)生進行“定制式”培養(yǎng),包括軟件服務(wù)外包知名企業(yè)實施聯(lián)合培養(yǎng)和服務(wù)外包培訓(xùn)班等形式;完善專業(yè)主修方向及多個輔修方向相結(jié)合的機制,引進國外優(yōu)秀師資和系列雙語教學(xué)課程,制定對日服務(wù)外包和對歐美服務(wù)外包兩種計劃,提供相當(dāng)數(shù)量的選修課程。
3.2構(gòu)建特色專業(yè)的課程體系
學(xué)院加強學(xué)科基礎(chǔ)教學(xué),與服務(wù)外包企業(yè)聯(lián)合構(gòu)建“服務(wù)外包聯(lián)盟”,共同確立多層次的課程體系;提供新型、實用的學(xué)科方向課和新技術(shù)講座;搭建軟件服務(wù)外包實訓(xùn)基地、創(chuàng)業(yè)孵化中心;開設(shè)各類大型實驗、軟件工程綜合實習(xí)等實踐環(huán)節(jié)強化實踐訓(xùn)練。實行的新課程體系由軟件工程領(lǐng)域的核心課程、引進國際先進的課程、校企合作聯(lián)合開發(fā)的面向服務(wù)外包課程組成。圖1所示為軟件工程專業(yè)課程體系。
我們要著重加強實踐教學(xué)在課程體系中的比重,增加實用性課程和實踐環(huán)節(jié)的比重,增加項目實踐的時間,擴展服務(wù)外包案例分析教學(xué)內(nèi)容,同時著力強化“分段制、融入型”實習(xí),明確產(chǎn)學(xué)研在教學(xué)上的合作機制,提升設(shè)計性、綜合性實驗課程比例,提高畢業(yè)設(shè)計水平。
3.3改革課程教學(xué)內(nèi)容,加強新教材建設(shè)
學(xué)院對現(xiàn)有的課程內(nèi)容進行改革,并根據(jù)歷年來學(xué)生對教材的反饋情況以及教師教材的使用情況,精心選擇優(yōu)秀教材。教材由同課程的多名教師討論決定,并由課程團隊責(zé)任教師進行把關(guān),要保證教材內(nèi)容時刻跟隨相關(guān)產(chǎn)業(yè)和領(lǐng)域的發(fā)展。學(xué)院還組織教師積累經(jīng)驗,結(jié)合軟件服務(wù)外包編寫教材。教材內(nèi)容要反映產(chǎn)業(yè)和領(lǐng)域發(fā)生的.變化。此外,學(xué)院還引進相應(yīng)的國外原版教材,通過雙語教學(xué)提高學(xué)生對最新軟件開發(fā)理論和技術(shù)的了解,提高外語應(yīng)用能力,培養(yǎng)能在國際化環(huán)境中工作的高層次軟件專業(yè)人才。
3.4改革教師培養(yǎng)和使用機制,加強教師隊伍建設(shè)
學(xué)校秉承建設(shè)專、兼職教師隊伍相結(jié)合的方針及特色,完善學(xué)科帶頭人、專業(yè)負(fù)責(zé)人制度,以培養(yǎng)骨干教師和中青年學(xué)科帶頭人為重點,通過引進、培養(yǎng)、補充等多種方式,建設(shè)精干高效、富有活力、素質(zhì)良好、結(jié)構(gòu)優(yōu)化的高素質(zhì)專職教師隊伍。另外,學(xué)校還加強面向服務(wù)外包方向的師資培訓(xùn),增強校內(nèi)教師指導(dǎo)專業(yè)技術(shù)能力,重點培育教學(xué)骨干、教學(xué)帶頭人、教學(xué)名師、教學(xué)團隊。
學(xué)校從國內(nèi)外知名服務(wù)外包軟件企業(yè)的高層主管和技術(shù)骨干、國內(nèi)外相關(guān)學(xué)科中聘任兼職教師,聘請外國知名專家、學(xué)者授課或講座,保證專業(yè)建設(shè)始終與社會需求接軌,提升專業(yè)培養(yǎng)質(zhì)量。
3.5完善實踐教學(xué)及實習(xí)基地建設(shè)
在學(xué)校的傳統(tǒng)教學(xué)實驗室的基礎(chǔ)上,我們通過校企合作和校企共建教學(xué)改革與建設(shè)聯(lián)合體,形成“服務(wù)外包聯(lián)盟”,建立服務(wù)外包企業(yè)實驗基地、校內(nèi)實習(xí)基地和軟件園的開放式實踐基地,開展創(chuàng)業(yè)創(chuàng)新預(yù)孵化基地、大學(xué)生服務(wù)外包創(chuàng)業(yè)預(yù)孵化基地的建設(shè),做好實驗室建設(shè)規(guī)劃和“服務(wù)外包校內(nèi)實訓(xùn)中心”建設(shè)工作,形成專業(yè)良好的實踐教學(xué)條件。
此外,學(xué)院還會完善分層分類的專業(yè)實驗教學(xué)體系的建設(shè)。圖2所示為分層分類多元化的實驗教學(xué)方法。由此看出,該教學(xué)體系著重專業(yè)實驗教學(xué)中復(fù)合型、實用型人才的工程實踐能力培養(yǎng),依據(jù)學(xué)科基礎(chǔ)技能、專業(yè)基本技能、專業(yè)綜合技能和工程實踐能力劃分層次,采用課內(nèi)實驗、綜合實踐、課程設(shè)計、開放項目、科研創(chuàng)新項目、科研勤工、學(xué)科專業(yè)競賽等課內(nèi)外結(jié)合形式,劃分實驗班、一體化專業(yè)、服務(wù)外包專業(yè)模塊班等不同學(xué)生對象,依托實驗教學(xué)體系實施分層分類精細(xì)化培養(yǎng),采取任務(wù)驅(qū)動、問題驅(qū)動、案例驅(qū)動和項目驅(qū)動4種基本方法,適應(yīng)不同實驗課程的需要,實施多元化的實驗教學(xué)方法。
3.6加強學(xué)競賽平臺的建設(shè),完善學(xué)生科技創(chuàng)新體系
學(xué)院舉辦課程競賽,開展自主實驗,積極組織、鼓勵學(xué)生參加各種校內(nèi)外科技競賽,通過加強競賽網(wǎng)站建設(shè)和賽事承辦,進一步加深校企合作模式,加大宣傳力度,讓更多的高校和企業(yè)參與競賽的各項活動,突出產(chǎn)學(xué)研用相結(jié)合培養(yǎng)軟件工程人才的特色,進一步完善學(xué)生科技創(chuàng)新體系,促進學(xué)生參與創(chuàng)新創(chuàng)業(yè),獲得更多更好的成績。
學(xué)院借助浙江工業(yè)大學(xué)在后acm競賽中3年獲得進入全球總賽的契機,加強了acm競賽的平臺建設(shè),完善了教練團隊和集訓(xùn)制度,鼓勵學(xué)生通過競賽和國際聯(lián)系,通過人選全球總決賽和全球名校的學(xué)生平等競爭,取得佳績,彰顯浙江工業(yè)大學(xué)專業(yè)建設(shè)人才培養(yǎng)成效。
3.7教學(xué)管理與運行機制的研究與建設(shè)
學(xué)院針對服務(wù)外包專業(yè)建設(shè),建立和完善相應(yīng)教學(xué)管理組織、教學(xué)質(zhì)量保證體系,通過完備的規(guī)章制度和教學(xué)規(guī)范,以及對規(guī)章制度執(zhí)行情況的例行監(jiān)督和反饋機制,有效管理教學(xué),提高教學(xué)質(zhì)量。
(1)建設(shè)由政府職能部門、行業(yè)管理部門、有代表性的企業(yè)和學(xué)校主管部門組成的專業(yè)建設(shè)顧問組,成立軟件服務(wù)外包專業(yè)建設(shè)咨詢委員會,指導(dǎo)專業(yè)建設(shè)的定位與方向。
(2)建設(shè)以杭州骨干軟件企業(yè)為主組成的校企合作委員會,共建服務(wù)外包實踐基地,完成學(xué)生實習(xí)和畢業(yè)設(shè)計的教學(xué)工作。
(3)建設(shè)由國際國內(nèi)知名軟件技術(shù)教育專家、軟件設(shè)計與開發(fā)專家組成的教學(xué)指導(dǎo)與教師培養(yǎng)委員會,聯(lián)合服務(wù)外包企業(yè),指導(dǎo)課程體系、課程內(nèi)容的建設(shè)和教師隊伍的建設(shè)。
4)進行服務(wù)外包教學(xué)管理、教學(xué)工作規(guī)范、實習(xí)環(huán)節(jié)質(zhì)量評定方法和監(jiān)督反饋機制的建設(shè)。
4結(jié)語
針對計算機人才培養(yǎng)質(zhì)量與社會需求和最新科技發(fā)展脫軌問題,筆者詳細(xì)分析了服務(wù)外包產(chǎn)業(yè)在浙江省的發(fā)展?fàn)顩r及浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院在服務(wù)外包行業(yè)人才培養(yǎng)中的優(yōu)勢,提出了以培養(yǎng)軟件“服務(wù)外包”人才為突破口,強化建設(shè)具有“產(chǎn)學(xué)研用結(jié)合辦學(xué),分層分類精細(xì)培養(yǎng)”特色的軟件專業(yè),培養(yǎng)具有“寬口徑、厚基礎(chǔ)、強個性、善創(chuàng)新”的應(yīng)用創(chuàng)新型軟件工程人才的方案。通過今后幾年的不斷努力實踐,我們希望能取得軟件工程專業(yè)建設(shè)的成效,滿足社會對軟件人才的需求,并為其他高校軟件工程人才的培養(yǎng)和專業(yè)建設(shè)起到示范和帶動作用。
學(xué)習(xí)軟件工程的心得體會篇五
作為一個計算機相關(guān)專業(yè)的學(xué)生,學(xué)習(xí)軟件工程概論課程是必不可少的環(huán)節(jié),這門課程為我們提供了對軟件工程學(xué)科的基礎(chǔ)認(rèn)知和框架規(guī)劃,同時也為我們在未來的學(xué)習(xí)和工作中打下了堅實的基礎(chǔ)。在這門課程中,我認(rèn)真學(xué)習(xí)、反思,從中獲得了不少收獲和體會。下面,我將從以下四個方面展開我的學(xué)習(xí)心得,并結(jié)合自身的經(jīng)歷,談?wù)勎业睦斫夂退伎肌?BR> 第二段:軟件工程學(xué)科的基本認(rèn)識
學(xué)習(xí)軟件工程概論,我們首先需要了解軟件工程學(xué)科的基本認(rèn)識。首先,軟件工程是一個系統(tǒng)性的學(xué)科,其目的是確保軟件的質(zhì)量和效率,最終達到客戶和開發(fā)者雙方的需求。其次,軟件工程的目標(biāo)是建立高質(zhì)量、可靠、易維護的軟件系統(tǒng),在項目計劃、需求定義、軟件設(shè)計、測試等各個階段下工作,最終形成一個完整的軟件開發(fā)生命周期。同時,軟件工程學(xué)科也需要同時考慮工程學(xué)、計算機科學(xué)和管理科學(xué)等多個學(xué)科的知識結(jié)構(gòu),要順應(yīng)軟件市場、技術(shù)骨干和客戶需求,利用日新月異的技術(shù)、方法和工具不斷提高軟件工程的水平。
第三段:軟件工程的主要原則和方法
軟件工程的實踐和研究不僅需要基本認(rèn)識和知識框架,還需要深入了解軟件工程的主要原則和方法。軟件工程的主要原則包括:分階段開發(fā)、模塊化設(shè)計、適應(yīng)性規(guī)劃、嚴(yán)格記錄和文檔、提前預(yù)防和檢測、先進的技術(shù)和工具等。軟件工程的主要方法包括:結(jié)構(gòu)化的系統(tǒng)分析和設(shè)計、模型驅(qū)動的開發(fā)、敏捷的方法和迭代式的開發(fā)過程等。具體方法的選擇應(yīng)根據(jù)具體的需求和現(xiàn)實情況,要根據(jù)實際情況精選方法、工具和流程,不斷更新和完善軟件工程的理論體系。
第四段:軟件工程的社會價值
軟件工程不僅是一門學(xué)科,更代表了一種價值觀和責(zé)任感。它對于人類社會的發(fā)展和進步扮演著重要的角色。在當(dāng)今信息技術(shù)迅速發(fā)展的時代,軟件工程已成為技術(shù)與社會相結(jié)合的橋梁和紐帶。軟件工程的社會價值包括:提高信息處理和科技發(fā)展水平、提高軟件開發(fā)和維護效率、創(chuàng)造高質(zhì)量和高性能的軟件、優(yōu)化各行各業(yè)的流程和管理、推動工業(yè)化和信息化協(xié)同發(fā)展、加強個人和團隊協(xié)作能力等。軟件工程的社會價值無處不在,是不可忽視的一部分。
第五段:結(jié)語
在這門軟件工程概論課程中,我了解了軟件工程學(xué)科的基本認(rèn)識,深入學(xué)習(xí)了軟件工程的主要原則和方法,并且認(rèn)識到了軟件工程的社會價值。通過學(xué)習(xí)軟件工程,我不僅拓展了自己的知識面,也意識到了自己在未來的專業(yè)發(fā)展中需要掌握的技能和素養(yǎng)。軟件工程是一門學(xué)科,也是一種責(zé)任感和價值觀念。我相信,在未來的實踐和研究中,我會不斷學(xué)習(xí)和探索,為軟件開發(fā)行業(yè)做出自己的貢獻。
學(xué)習(xí)軟件工程的心得體會篇六
我們是20__年3月7號進入宏天實訓(xùn)公司參加軟件開發(fā)實訓(xùn)的,在此次實訓(xùn)中,除了讓我明白工作中需要能力,素質(zhì),知識之外,更重要的是學(xué)會了如何去完成一個任務(wù),懂得了享受工作。當(dāng)遇到問題,冷靜,想辦法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應(yīng)該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學(xué)到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學(xué)會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學(xué)習(xí)的東西。
經(jīng)過之前的在校學(xué)習(xí),對程序設(shè)計有了一定的認(rèn)識與理解。在校期間,一直都是學(xué)習(xí)理論知識,沒有機會去參與項目的開發(fā)。所以說實話,在實訓(xùn)之前,軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經(jīng)過這次實訓(xùn),讓我明白了一個完整項目的開發(fā),必須由團隊來分工合作,并在每個階段中進行必要的總結(jié)與論證。
一個完整項目的開發(fā)它所要經(jīng)歷的階段包括:遠景范圍規(guī)劃和用例說明、項目結(jié)構(gòu)和風(fēng)險評估、業(yè)務(wù)功能說明書、詳細(xì)設(shè)計說明書、代碼實現(xiàn)、測試和安裝包等等。一個項目的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠景規(guī)劃,對以后的開發(fā)進度會有很大的影響,甚至?xí)霈F(xiàn)在預(yù)定時間內(nèi)不能完成項目或者完成的項目跟原來預(yù)想的不一樣。一份好的項目結(jié)構(gòu)、業(yè)務(wù)功能和詳細(xì)設(shè)計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認(rèn)識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關(guān)鍵,也就是說,前期作業(yè)都是為代碼的實現(xiàn)所做的準(zhǔn)備。
我深刻的認(rèn)識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼基礎(chǔ),必須要有事先對文檔進行可靠性報告,功能說明書,詳細(xì)設(shè)計說明書等的編寫和一些風(fēng)險評估的編寫的能力。
除了圖書館,最能讓我感覺到身在大學(xué)的就是實訓(xùn)機房,在匆匆過去的兩個月內(nèi),我往返于實訓(xùn)機房與宿舍之間,使我享受了一個充實的學(xué)習(xí)時期,讓我感受到了大學(xué)的魅力,對自己充滿信心,對大學(xué)充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。
實訓(xùn)中要求有扎實的理論基本知識,操作起來才順心應(yīng)手,我這時才明白什么是“書到用時方恨少”。這就激發(fā)了學(xué)習(xí)的欲望。
“學(xué)以致用”,就是要把學(xué)來的知識能運用到實際操作當(dāng)中,用實踐來檢驗知識的正確性。我想,這是實訓(xùn)的最根本目的。
“紙上得來終覺淺,絕知此事要躬行!”,在短暫的實訓(xùn)過程中,讓我深深感受到自己在實際運用中專業(yè)知識的匱乏。以前總以為自己學(xué)的還不錯,一旦應(yīng)用到實際就大不一樣了,這時才真正領(lǐng)悟“學(xué)無止境”的含義。
經(jīng)過為期兩個月的電子政務(wù)服務(wù)平臺系統(tǒng)開發(fā)的實訓(xùn),我對visual軟件開發(fā)平臺有了更深一步的了解,對微軟基礎(chǔ)類庫的認(rèn)識與使用也有了大大的提高。以及如何使用sqlserver數(shù)據(jù)庫進行連接操作方面有了本質(zhì)的提高。
短短的實訓(xùn)結(jié)束了,為我將來的就業(yè)打下了良好的基礎(chǔ),也提高了我的軟件開發(fā)的水平,今后我將會更加努力的學(xué)習(xí),不斷提高自身素質(zhì),開拓創(chuàng)新,與時俱進,做一個優(yōu)秀的軟件開發(fā)工程師。
學(xué)習(xí)軟件工程的心得體會篇七
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法。還引出了工具uml。第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(shù)據(jù)流圖、e—r圖以及狀態(tài)圖式本節(jié)的重點。第四章結(jié)構(gòu)化分析方法,這一章重點講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進。第五章編碼,這一章重點講解了編碼的風(fēng)格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風(fēng)格。第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。第七章統(tǒng)一建模語言uml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時用到的各種圖進行了介紹。第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的基本概念、典型風(fēng)格等進行了講解。第十章面向?qū)ο笤O(shè)計,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細(xì)化。第十一章軟件維護,本章主要介紹軟件維護的任務(wù)、軟件維護活動以及軟件維護方法進行了介紹。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。
軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學(xué)習(xí)了詳細(xì)設(shè)計的方法,其原則是過程描述是否易于理解、復(fù)審和維護,進而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計與代碼完全一致。包括程序流程圖、n—s圖、pad圖、hipo圖。
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。它獨立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。在流程圖中只能使用下述的五種基本控制結(jié)構(gòu):順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。
n—s圖:一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形描述工具,稱為盒圖,又稱為n—s圖。在n—s圖中,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件。順序型;選擇型;while重復(fù)型;until重復(fù)型;多分支選擇型。
pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。
hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達工具。
hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯(lián)系。
還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。
靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。
動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。
還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。
在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結(jié)報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨特的規(guī)范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。
在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進。
學(xué)習(xí)軟件工程的心得體會篇八
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。
第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。
第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法?BR> 還引出了工具uml。
第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(shù)據(jù)流圖、e-r圖以及狀態(tài)圖式本節(jié)的重點。
第四章結(jié)構(gòu)化分析方法,這一章重點講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進。
第五章編碼,這一章重點講解了編碼的風(fēng)格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風(fēng)格。
第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。
第七章統(tǒng)一建模語言uml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時用到的各種圖進行了介紹。
第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。
第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的'基本概念、典型風(fēng)格等進行了講解。
第十章面向?qū)ο笤O(shè)計,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細(xì)化。
第十一章軟件維護,本章主要介紹軟件維護的任務(wù)、軟件維護活動以及軟件維護方法進行了介紹。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。
正確性指軟件產(chǎn)品達到預(yù)期功能的程度。
可用性指軟件基本結(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。
開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。
這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。
軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。
它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護等活動。
需求活動包括問題分析和需求分析。
問題分析獲取需求定義,又稱軟件需求規(guī)約。
需求分析生成功能規(guī)約。
設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。
概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。
詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。
實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。
確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。
維護活動包括使用過程中的擴充、修改與完善。
伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。
軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學(xué)習(xí)了詳細(xì)設(shè)計的方法,其原則是過程描述是否易于理解、復(fù)審和維護,進而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計與代碼完全一致。
包括程序流程圖、n-s圖、pad圖、hipo圖
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。
它獨立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。
學(xué)習(xí)軟件工程的心得體會篇九
時間過的很快,轉(zhuǎn)眼間已經(jīng)實習(xí)將近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、淺談測試
一直以來,我都認(rèn)為測試是脫離了軟件工程范圍的工作,不以為屑。但在實際情況中,測試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責(zé)任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經(jīng)驗總結(jié)和想象力。而要做到高級測試工程師,則一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面具體運作的前提。但占主導(dǎo)地位的,還是大型系統(tǒng)的集成測試經(jīng)驗。實際項目中,編碼時間一般只占30%左右,真正耗費時間的是it階段的找bug與對應(yīng)bug,此階段基本評定了coder的編碼質(zhì)量。
2、程序員的困惑
有些人,以為教學(xué)視頻和代碼看多,自己就懂的多,實際做起來,卻不知從何下手,
有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此基礎(chǔ)上去做具體記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數(shù)據(jù)庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學(xué)會調(diào)試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調(diào)試追蹤
如果你能在短短的時間內(nèi)就看到問題點在那,放下斷點去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運行期間的具體值,那是最好途徑。eclipse是個很爽的ide,這點做的很好。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫查詢語句去下手,設(shè)置斷點,一步一步stepover,讓sql字段(存取最終sql語句的字符串)運行到有值,inspect進去看,如果還看不出來,就點擊它,copy后在sql客戶端去實際運行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調(diào)用的錯誤或者action邏輯的傳值問題。
頁面錯誤的調(diào)試,基本方法是用右鍵點擊實際網(wǎng)頁查看源代碼,copy到editplus,就能看到具體錯誤發(fā)生在那幾行。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調(diào)用的字段有可能為空的情況出現(xiàn)的,可以加if(xxx=null)語句加保護。追蹤的方法基本就是用alert語句,放在有可能出錯的地方。
4、一些習(xí)慣
遇到問題先自己思考,無從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠遠比書多的多。
解決了一個問題后,要去究根問底去找到問題產(chǎn)生的起因,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經(jīng)看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。
任務(wù)完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),只要你肯去嘗試,他們就會對你另言相看,把三天的任務(wù)一天加班搞定,效率和忠誠都有了,路也比較好走了。
[]
學(xué)習(xí)軟件工程的心得體會篇十
對于一個軟件系統(tǒng)的開發(fā),第一步就是問題定義,了解所開發(fā)系統(tǒng)的行業(yè)背景,制定計劃。當(dāng)我們計劃確定以后就要對項目系統(tǒng)本身進行可行性研究,主要從技術(shù)可行性、經(jīng)濟可行性和操作可行性三個方面著手。就比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的行業(yè)背景說明文檔中非常詳細(xì)地分析了當(dāng)下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務(wù)說明、應(yīng)用背景、未來發(fā)展趨勢以及相關(guān)應(yīng)用案例等四個方面,項目團隊中系統(tǒng)分析員就可以根據(jù)這份文檔以及相關(guān)的調(diào)查資料對將要開發(fā)系統(tǒng)的進行定義等工作。
原來我們寫這類文檔的時候就是草草了事,不會做得這么詳細(xì),而這次看到大型項目的行業(yè)背景說明也是這么詳細(xì),也讓自己認(rèn)識到不管是軟件開發(fā)的那個階段都要認(rèn)真對待,這些瑣碎的文檔都是后期開發(fā)項目的支撐,只要它們做的透徹,后面的開發(fā)工作才能更順利的進行。
第二、項目需求說明方面
這部分項目需求說明就是軟件定義時期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據(jù)用戶的需要確定系統(tǒng)必須完成那些工作,并對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。在需求分析結(jié)束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說明,即為《物聯(lián)網(wǎng)物流倉儲管理系統(tǒng)》項目需求說明文檔。我們可以看出該文檔也是非常詳細(xì),相比之下我們之前做項目時寫的需求規(guī)格說明書就非常不合格,不僅格式不正確內(nèi)容也是少之又少。
在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內(nèi)容,原來它不是很重要,寫文檔的時候也不知道怎么寫就借鑒下網(wǎng)上的內(nèi)容,結(jié)果根本就沒有把自己項目的需求寫明白,以至于自己最后都有些糊涂,所以根據(jù)以前的經(jīng)驗教訓(xùn)我會對這部分更加重視。
第三、系統(tǒng)概要設(shè)計方面
這部分內(nèi)容分說的是軟件設(shè)計時期的概要設(shè)計階段,該階段的主要目的就是實現(xiàn)系統(tǒng)的功能、設(shè)計軟件的結(jié)構(gòu)、模塊組成以及模塊之間的關(guān)系。在概要設(shè)計階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對比多種可能的系統(tǒng)實現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的結(jié)構(gòu)。在這個階段還會具體畫出e-r圖、數(shù)據(jù)流圖等方面的設(shè)計。
比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的系統(tǒng)概要設(shè)計從項目概述、設(shè)計約束、功能單元與功能模塊設(shè)計、數(shù)據(jù)e-r圖設(shè)計、總體設(shè)計、界面設(shè)計等六個方面介紹,通過讀這個文檔,我覺得最重要的還是總體設(shè)計,分別從邏輯架構(gòu)設(shè)計、物理架構(gòu)設(shè)計、技術(shù)架構(gòu)設(shè)計設(shè)計系統(tǒng)。在這個階段中模塊要做到高內(nèi)聚低耦合,這樣開發(fā)出來的系統(tǒng)才會具有更高的獨立性。
在原來做項目時沒有編寫過這類文檔,在該階段只是畫了結(jié)構(gòu)圖、層次圖以及相關(guān)的模塊劃分,對該類文檔尚未重視。通過張老師的講解和自己的學(xué)習(xí),我相信在以后做項目的時候一定會注意到這類文檔的編寫。
第四、詳細(xì)設(shè)計與分析方面
詳細(xì)設(shè)計階段就是把概要設(shè)計階段的每個模塊進一步設(shè)計,確定每個模塊所需要的算法和數(shù)據(jù)結(jié)構(gòu)。在這個階段還是需要我們設(shè)計出程序的詳細(xì)規(guī)格說明,而不是編寫程序。在詳細(xì)設(shè)計階段,系統(tǒng)設(shè)計人員可以通過使用程序流程圖、盒圖、pad圖等過程設(shè)計的工具和jackson圖等面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計工具進一步設(shè)計系統(tǒng)相關(guān)接口,主要包括界面設(shè)計接口、業(yè)務(wù)單設(shè)計接口、單元模塊設(shè)計接口等,這些對于以后的編碼工作都是極其重要的。
第五、編碼和測試方案方面
關(guān)于編碼,我認(rèn)為編碼要想做的完美必備條件就是前面的軟件定義和軟件設(shè)計時期要按部就班的做,文檔一定要按要求書寫,不能偷懶也不能草草書寫。對于編碼也要有相應(yīng)的文檔書寫規(guī)范,要使源程序代碼的邏輯簡明清晰、易讀易懂。這樣盡管我們不是設(shè)計系統(tǒng)的人員,當(dāng)看到源程序代碼的時候也能容易讀懂代碼的意思。
其次就是測試的內(nèi)容,從測試的文檔中我們可以得出,其實測試在軟件開發(fā)中同樣占據(jù)了重要的地位,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶使用。它要求測試人員也要有很高的技術(shù)水平。
學(xué)習(xí)軟件工程的心得體會篇十一
軟件工程心得體會未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。
上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠??上面已?jīng)給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認(rèn)為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的'過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。
1、可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。
2、項目描述這是在決定立項以后,對當(dāng)前項目的一份扼要說明。
3、需求分析就是對客戶要求的功能的定義。
4、軟件設(shè)計這就是對程序的每一個模塊的詳細(xì)設(shè)計的說明文檔。
5、開發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
6、測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
學(xué)習(xí)軟件工程的心得體會篇十二
軟件工程(softwareengineering,簡稱為se)是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標(biāo)準(zhǔn),設(shè)計模式等方面。在現(xiàn)代社會中,軟件應(yīng)用于多個方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時,各個行業(yè)幾乎都有計算機軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應(yīng)用促進了經(jīng)濟和社會的發(fā)展,使得人們的工作更加高效,同時提高了生活質(zhì)量。
二、軟件工程的目標(biāo)
在給定成本、進度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產(chǎn)品。
三、軟件工程的原則
是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。軟件工程的原則有以下四項基本原則:1)選取適宜開發(fā)范型;2)采用合適的設(shè)計方法;3)提供高質(zhì)量的工程支持;4)重視開發(fā)過程的管理。
四、軟件工程的由來
據(jù)說上個世紀(jì)60年代的程序員都是天才,寫程式就像寫日記一樣,吃過晚飯沒事干隨手就可以寫幾個出來玩,第二天還可以拿去賣錢。所以那時候程序員在大家眼中,跟那些搞美術(shù),音樂的是一類的,被稱為“藝術(shù)家”。
但事過境遷,就像任何人都不會嫌錢多一樣,永遠都不會有人嫌cpu快的。于是,隨之而來的就是硬件的迅猛發(fā)展和越來越變態(tài)的軟件。記得以前常去同學(xué)家拷游戲,通常幾張軟盤就可以搞定,而現(xiàn)在的游戲,兩三張cd-rom都算少的了。像如此龐大復(fù)雜的怪物,就算你是如何的天才,一個人肯定是搞不定的,否則,等你把程式寫出來,人家intel連奔騰n都開發(fā)出來了。既要開發(fā)大型的軟件還要追求速度(這樣才能賺錢),于是很自然地,合作的概念被提了出來。
在開始合作的初期,由于大家都習(xí)慣了當(dāng)很有個性的“藝術(shù)家”,結(jié)果可想而知,一個是畢加索派的,而另一個是意大利印象派的,再加上一個畫潑墨山水畫的,要是像這樣湊出來的東西都能不出問題的話,那么bill早就轉(zhuǎn)行了。所以,那時侯的大型軟件,據(jù)說“藍屏”比windows98還多。
馬克思告訴我們,萬物都是從量變到質(zhì)變的。隨著問題的不斷涌現(xiàn),一些master們開始嘗試去總結(jié)經(jīng)驗,并歸納了一些規(guī)范去指導(dǎo)軟件的分析,設(shè)計,實現(xiàn),測試,維護,人員交流協(xié)作,項目預(yù)算及時限控制等方方面面,這就是軟件工程的前身。
軟件工程到現(xiàn)在已發(fā)展了30多年,可以說是相當(dāng)成熟的了?,F(xiàn)在開發(fā)軟件,據(jù)說都是一大幫人排排坐,按著一整套的規(guī)章制度來干活。于是,軟件開發(fā)成了“工程”,程序員也就淪為“工人”了。
五、軟件工程的核心
軟件工程,說白了,就是這樣一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。簡單來說,就是對于總體的組織和對于局部的實現(xiàn)。
六、軟件開發(fā)過程
開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和debug。除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。既然軟件開發(fā)是一個具有不可預(yù)知性和變化性的`動態(tài)的過程,那么,對其每一個步驟的組織,即周期模型,就必須包容它的這種性質(zhì)。
具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。文檔的作用在于以下3個方面:一是可以幫助整理思路。把要完成的目標(biāo),系統(tǒng)的結(jié)構(gòu),每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據(jù)可依,在需要回過頭來修改設(shè)計的時候,也有證可考。二是便于交流。想象一下開會時的情形。一大幫子人爭先恐后,激烈辯論,然后會終人散,思想靈感也就隨之散了,結(jié)果是開了半天會,什么也沒討論出來。這就是后來會議記錄被發(fā)明出來的原因。在腦子里的東西一多,就會散而且亂,用語言表達的時候,很容易會丟三落四,別人也很難把握住你的思想。但經(jīng)過整理寫在紙上以后,則會清晰得多,無論是別人還是自己,看起來都可以一目了然。三是可以作為以后維護時的參考資料。有一句名言:“筆和紙永遠都比大腦可靠”,意思就是說,放在大腦里的東西說不準(zhǔn)哪天就忘了,但寫在紙上的東西,只要不發(fā)生什么意外,一般是丟不了的。當(dāng)過了一段時間,你需要再回過頭來修改你的程序的時候,你就會發(fā)現(xiàn),你以前寫下的文檔實在太有價值了。別指望你的源代碼,對于復(fù)雜一點的程序來說,單純的源代碼幾乎會扼殺掉你所有的時間。
可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。主要考慮的方面包括:是否能把這個項目開發(fā)出來;假如可以的話,預(yù)計需要多少時間,能否滿足客人的時間要求;需要多少人力和資金的投入;最重要的是,這個項目能否賺錢,能賺多少。還要對可能存在的風(fēng)險進行評估。
七、軟件工程學(xué)習(xí)感悟
時間飛逝,不知不覺間《軟件工程》的學(xué)習(xí)完了。在這將近半學(xué)期的學(xué)習(xí)中,雖然我不能說我將《軟件工程》學(xué)習(xí)的有多么的好,但是通過學(xué)習(xí),我還是受益良多。
在以前,我一直對軟件存在一些偏見或則是誤解,認(rèn)為軟件就是程序,軟件的開發(fā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認(rèn)為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發(fā)好的軟件產(chǎn)品。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學(xué)生,就能組成一個軟件公司。
但是通過了《軟件工程》這門課的學(xué)習(xí),使我認(rèn)識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,有充分的認(rèn)識,才能更好的開發(fā)出,過程受控、質(zhì)量受控的軟件產(chǎn)品。
而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內(nèi)心深處進行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感。
而且通過學(xué)習(xí)《軟件工程》,我還學(xué)到了很多其他的東西。比如通過學(xué)習(xí)《軟件工程》,特別是教員的課程講解和每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓(xùn)練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等。而且通過學(xué)習(xí)《軟件工程》,還讓我認(rèn)識和培養(yǎng)了我的團隊協(xié)作能力,特別是對于我們這些在校的學(xué)生來說,這種學(xué)習(xí)更是能讓我在以后工作中少走很多的彎路。
所以,通過《軟件工程》的學(xué)習(xí),我是真的學(xué)習(xí)到了很多有用的東西,讓我明白了很多的道理。在此我對教員的辛勤教育表示感謝,因為是你讓我學(xué)習(xí)到了這些,是我獲益良多。
學(xué)習(xí)軟件工程的心得體會篇十三
軟件工程師作為現(xiàn)代社會中越來越重要的職業(yè)之一,隨著信息技術(shù)的不斷發(fā)展,其職責(zé)也越來越廣泛和重要。作為一名軟件工程師,我在這個行業(yè)里摸爬滾打多年,深感自己的成長離不開各種經(jīng)驗和心得的積累。在接下來的文字中,我將從個人視角談?wù)勛约涸谲浖_發(fā)過程中的心得體會。
第二段:選擇質(zhì)量
在軟件開發(fā)的過程中,我最關(guān)注的是軟件的質(zhì)量。因為軟件需要長期運行,不僅要滿足用戶需求,還要兼顧安全性和可維護性等方面,這需要我們在開發(fā)過程中嚴(yán)格控制每一個環(huán)節(jié),做好每一個細(xì)節(jié)。因此,我在項目開發(fā)前會認(rèn)真分析需求和可能的風(fēng)險,對技術(shù)框架和工具的選擇非常謹(jǐn)慎。我也會定期進行代碼復(fù)審和單元測試等工作,確保代碼質(zhì)量達標(biāo)。當(dāng)然,在不斷優(yōu)化的過程中,我也意識到代碼質(zhì)量的提高不僅僅在于個人級別,而更應(yīng)該顧及團隊整體水平,因此深感技術(shù)學(xué)習(xí)和交流的重要性。只有不斷積累、分享,才能讓團隊的發(fā)展更加健康和持久。
第三段:溝通協(xié)作
作為一名軟件工程師,我們的工作不僅僅是編寫代碼,更包括與產(chǎn)品經(jīng)理、UI設(shè)計師、測試工程師等各個角色之間的溝通協(xié)作。這就需要我們具備更多的軟技能。比如,要善于傾聽和引導(dǎo),以便更好地理解產(chǎn)品需求和用戶痛點;要有清晰的表達能力,能夠清楚地向其他角色描述自己的想法和意圖;在開發(fā)過程中,也要非常注重團隊合作,及時溝通和協(xié)調(diào)出現(xiàn)的問題。整個軟件開發(fā)過程需要涵蓋從需求分析、規(guī)劃和設(shè)計,再到編碼、測試和上線等各個環(huán)節(jié),期間需要負(fù)責(zé)人與團隊的全面協(xié)作才能保證項目的順利完成。
第四段:學(xué)習(xí)成長
軟件開發(fā)是一個知識密集型的工作,要時刻緊跟技術(shù)的發(fā)展趨勢才能在激烈的競爭中取得優(yōu)勢。因此,我認(rèn)為軟件工程師需要具備持續(xù)學(xué)習(xí)的能力和自我提升的意識。我會在業(yè)余時間去了解新的技術(shù),參加相關(guān)的技術(shù)社群和活動,不斷學(xué)習(xí)和嘗試新東西,以此來增強自己的核心競爭力和解決實際問題的能力。同樣,我也會時刻關(guān)注團隊的成長和發(fā)展,希望能為團隊帶來更多的經(jīng)驗和技術(shù)積累。
第五段:總結(jié)回顧
在軟件開發(fā)的過程中,我覺得最重要的是要保持持之以恒的熱情和精神狀態(tài)。無論是在技術(shù)領(lǐng)域還是在團隊管理中,不停地學(xué)習(xí)和成長,分享并培育團隊的創(chuàng)新精神和專業(yè)精神,才能不斷提高自己和團隊的能力和素質(zhì),做出更好的產(chǎn)品。取得成功需要獨立思考和勇于探索,但更需要承認(rèn)團隊的重要性,在各方面展現(xiàn)出自己領(lǐng)導(dǎo)團隊的能力和擔(dān)當(dāng)。在今后的工作和生活中,我也將持續(xù)關(guān)注自己的成長需求,堅定地走好自己的職業(yè)道路。
學(xué)習(xí)軟件工程的心得體會篇十四
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒?、形式化方法。還引出了工具uml。第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫分層的數(shù)據(jù)流圖、e-r圖以及狀態(tài)圖式本節(jié)的重點。第四章結(jié)構(gòu)化分析方法,這一章重點講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進。第五章編碼,這一章重點講解了編碼的風(fēng)格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風(fēng)格。第六章軟件測試方法,本章講解了軟件測試相關(guān)的概念及重要性,軟件測試與開發(fā)各個階段的關(guān)系;還介紹了白盒測試技術(shù)以及黑河測試技術(shù)。第七章統(tǒng)一建模語言uml概述,本章詳細(xì)介紹了uml的基本模式、事物、關(guān)系及建模時用到的各種圖進行了介紹。第八章面向?qū)ο蠓治觯@一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。第九章軟件體系結(jié)構(gòu)與設(shè)計模式,本章對軟件體系結(jié)構(gòu)的基本概念、典型風(fēng)格等進行了講解。第十章面向?qū)ο笤O(shè)計,本章的重點是對面向?qū)ο蠓治鰰r建立的對象模型進行調(diào)整和細(xì)化。第十一章軟件維護,本章主要介紹軟件維護的任務(wù)、軟件維護活動以及軟件維護方法進行了介紹。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。
軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。它獨立于任何一種程序設(shè)計語言,比較直觀和清晰地描述過程的控制流程,易于學(xué)習(xí)掌握。在流程圖中只能使用下述的五種基本控制結(jié)構(gòu):順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。
n-s圖:一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形描述工具,稱為盒圖,又稱為n-s圖。在n-s圖中,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件。順序型;選擇型;while重復(fù)型;until重復(fù)型;多分支選擇型。
pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。
hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達工具。
hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯(lián)系。
還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。
靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析
說明書
、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。
動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。
還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。
在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結(jié)報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨特的規(guī)范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。
在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進。
共
2
頁,當(dāng)前第
2
頁
1
2
學(xué)習(xí)軟件工程的心得體會篇十五
學(xué)習(xí)了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合。整一個學(xué)期下來,總的來說還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則: 軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達到預(yù)期功能的程度。
可用性指軟件基本結(jié)構(gòu)、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且達到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。 軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
pad圖:它是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。pad也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達工具。hc圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號執(zhí)行來找出軟件錯誤。動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進行研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫通。
在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結(jié)報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨特的規(guī)范的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序讀不懂程序,維護又從何談起呢所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的基礎(chǔ),并以此為基礎(chǔ)將其擴散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進。