下面是范文網(wǎng)小編收集的軟件工程專業(yè)講座心得體會(huì)4篇(對(duì)于軟件工程的心得體會(huì)),供大家品鑒。
軟件工程專業(yè)講座心得體會(huì)1
一、需求分析和概要設(shè)計(jì)。
1)需求分析
按照軟件工程的軟件過(guò)程來(lái)說(shuō):
1需求分析產(chǎn)生了軟件功能規(guī)格說(shuō)明書(shū),需要確定用戶對(duì)軟件的需求,要作到明確、無(wú)歧義。不涉及具體實(shí)現(xiàn)方法。用戶能看得明白,開(kāi)發(fā)人員也可據(jù)此進(jìn)行下面的工作(概要設(shè)計(jì))。
2.概要設(shè)計(jì)產(chǎn)生了軟件概要設(shè)計(jì)說(shuō)明書(shū),說(shuō)明系統(tǒng)模塊劃分、選擇的技術(shù)路線等,整體說(shuō)明軟件的實(shí)現(xiàn)思路。并且需要指出關(guān)鍵技術(shù)難點(diǎn)等。
在進(jìn)行需求分析時(shí),我們既是開(kāi)發(fā)者又是用戶,本系統(tǒng)的業(yè)務(wù)流程與業(yè)務(wù)分類的定義比較難。我們的團(tuán)隊(duì)進(jìn)行了研討,還充分運(yùn)用了身邊的各種資源,大量的查找了很多網(wǎng)絡(luò)上關(guān)于工資系統(tǒng)的資料。通過(guò)資料的進(jìn)行討論、根據(jù)我們的課題進(jìn)行分析,最后確定了用戶的需求為:
1.本系統(tǒng)在高校應(yīng)用后高校工資管理方面的教職工將減少至目前的50%左右;
2.本系統(tǒng)在高校應(yīng)用后將在高校各方面的成本將會(huì)有所降低;
3.本系統(tǒng)在高校應(yīng)用后將教職工的工資達(dá)到完全透明,計(jì)算更加精確教職工因糾紛事件減少到1%。 根據(jù)分析將系統(tǒng)的功能從一般教職工與系統(tǒng)管理者兩個(gè)角度將功能劃分為7個(gè)模塊,當(dāng)然介于我們的知識(shí)有限,有的功能沒(méi)有實(shí)現(xiàn):?jiǎn)T工工資與考勤直接掛鉤,但本系統(tǒng)無(wú)法與員工考勤系統(tǒng)掛鉤相連,由于涉及此系統(tǒng)時(shí)該高校并沒(méi)有員工考勤系統(tǒng),而且我們?cè)谧畛踹M(jìn)行商量的時(shí)候也沒(méi)有提出該要求。
2)概要設(shè)計(jì)
從概要階段開(kāi)發(fā)正式進(jìn)入軟件的實(shí)際開(kāi)發(fā)階段,本階段完成系統(tǒng)的大致設(shè)計(jì)并明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與軟件結(jié)構(gòu)。在軟件設(shè)計(jì)階段主要是把一個(gè)軟件需求轉(zhuǎn)化為軟件表示的過(guò)程,這種表示只是描繪出軟件的總的概貌。由概要設(shè)計(jì)說(shuō)產(chǎn)生大的概要說(shuō)明書(shū)的目的就是進(jìn)一步細(xì)化軟件設(shè)計(jì)階段得出的軟件總體概貌,把它加工成在程序細(xì)節(jié)上非常接近于源程序的軟件表示。
在本階段主要涉及處理流程的設(shè)計(jì)、總體結(jié)構(gòu)和模塊外部設(shè)計(jì)、功能分配。在接口設(shè)計(jì)上有用戶接口、外部接口、內(nèi)部接口;數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)有邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)等等。在接口設(shè)計(jì)時(shí)參考了大量的資料。
最后就是編寫(xiě)文檔――軟件需求說(shuō)明書(shū)、概要分析說(shuō)明書(shū)。
而文檔的作用在于:一是可以幫助整理思路。把要完成的目標(biāo),系統(tǒng)的結(jié)構(gòu),每一個(gè)模塊的功能等整理一下,然后分門別類地寫(xiě)下來(lái),這樣在開(kāi)發(fā)的過(guò)程中,就有據(jù)可依,在需要回過(guò)頭來(lái)修改設(shè)計(jì)的時(shí)候,也有證可考。二是便于交流。三是可以作為以后維護(hù)時(shí)的參考資料。
三、軟件工程課程設(shè)計(jì)――心得體會(huì)
我們進(jìn)行了為期一周的課程設(shè)計(jì)。通過(guò)這次課程設(shè)計(jì),我拓寬了知識(shí)面,鍛煉了能力,綜合素質(zhì)得到較大提高。安排課程設(shè)計(jì)的基本目的,在于通過(guò)理論與實(shí)際的結(jié)合、人與人的溝通,進(jìn)一步提高思想覺(jué)悟。尤其是觀察、分析和解決問(wèn)題的實(shí)際工作能力,以便培養(yǎng)成為能夠主動(dòng)適應(yīng)社會(huì)主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個(gè)學(xué)習(xí)體系的有機(jī)組成部分,課程設(shè)計(jì)雖然安排在一周進(jìn)行,但并不具有絕對(duì)獨(dú)立的意義。它的一個(gè)重要功能,在于運(yùn)用學(xué)習(xí)成果,檢驗(yàn)學(xué)習(xí)成果。運(yùn)用學(xué)習(xí)成果,把課堂上學(xué)到的系統(tǒng)化的理論知識(shí),嘗試性地應(yīng)用于實(shí)際設(shè)計(jì)工作,并從理論的高度對(duì)設(shè)計(jì)工作的現(xiàn)代化提出一些有針對(duì)性的建議和設(shè)想。檢驗(yàn)學(xué)習(xí)成果,看一看課堂學(xué)習(xí)與實(shí)際工作到底有多大距離,并通過(guò)綜合分析,找出學(xué)習(xí)中存在的不足,以便為完善學(xué)習(xí)計(jì)劃,改變學(xué)習(xí)內(nèi)容與方法提供實(shí)踐依據(jù)。對(duì)我們信息管理與信息系統(tǒng)專業(yè)的學(xué)生來(lái)說(shuō),實(shí)際能力的培養(yǎng)至關(guān)重要,而這種實(shí)際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`。這也是一次預(yù)演和準(zhǔn)備畢業(yè)設(shè)計(jì)工作。通過(guò)課程設(shè)計(jì),讓我們找出自身狀況與實(shí)際需要的差距,并在以后的學(xué)習(xí)期間及時(shí)補(bǔ)充相關(guān)知識(shí),為求職與正式工作做好充分的知識(shí)、能力準(zhǔn)備,從而縮短從校園走向社會(huì)的心理轉(zhuǎn)型期。課程設(shè)計(jì)促進(jìn)了我系人才培養(yǎng)計(jì)劃的完善和課程設(shè)置的調(diào)整。
在一個(gè)星期的課程設(shè)計(jì)之后,我們普遍感到不僅實(shí)際動(dòng)手能力有所提高,更重要的是通過(guò)對(duì)軟件開(kāi)發(fā)流程的了解,進(jìn)一步激發(fā)了我們對(duì)專業(yè)知識(shí)的興趣,并能夠結(jié)合實(shí)際存在的問(wèn)題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。
軟件工程課程雖已結(jié)束,但我對(duì)于軟件工程的學(xué)習(xí)才剛剛開(kāi)始。我體會(huì)到項(xiàng)目管理的重要性,隨著軟件規(guī)模、復(fù)雜度的不斷增加,項(xiàng)目開(kāi)發(fā)中更多的是協(xié)作、管理和控制。我學(xué)習(xí)到很多一般性的方法,例如:需求獲取、模塊化、計(jì)劃等等。同時(shí),我也認(rèn)識(shí)到使用計(jì)算機(jī)解決實(shí)際問(wèn)題的復(fù)雜性,人們認(rèn)識(shí)表達(dá)的過(guò)程不斷反復(fù)、逐步深化,軟件工程方法要提供給程序員們一種更加有效的對(duì)客觀世界問(wèn)題域進(jìn)行形式化的過(guò)程方法。
軟件工程專業(yè)講座心得體會(huì)2
在本學(xué)期的軟件工程課程的學(xué)習(xí)中,我們學(xué)習(xí)了十一章的內(nèi)容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎(chǔ)性的內(nèi)容,例如軟件的概念、特性,軟件危機(jī)的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對(duì)軟件工程方法進(jìn)行介紹,包括三種方法:傳統(tǒng)方法、面向?qū)ο蠓椒ā⑿问交椒?。還引出了工具UML。第三章軟件需求獲取與結(jié)構(gòu)化分析方法,本章詳細(xì)介紹了需求獲取與需求分析階段的任務(wù)以及結(jié)構(gòu)化分析方法,畫(huà)分層的數(shù)據(jù)流圖、E―R圖以及狀態(tài)圖式本節(jié)的重點(diǎn)。第四章結(jié)構(gòu)化分析方法,這一章重點(diǎn)講解了使用變換型映射方法和事務(wù)型映射方法生成初始的模塊結(jié)構(gòu)以及模塊結(jié)構(gòu)的改進(jìn)。第五章編碼,這一章重點(diǎn)講解了編碼的風(fēng)格及規(guī)范,還告訴我們編碼規(guī)范說(shuō)帶來(lái)的好處,并告誡我們將來(lái)一點(diǎn)要形成好的編碼風(fēng)格。第六章軟件測(cè)試方法,本章講解了軟件測(cè)試相關(guān)的概念及重要性,軟件測(cè)試與開(kāi)發(fā)各個(gè)階段的關(guān)系;還介紹了白盒測(cè)試技術(shù)以及黑河測(cè)試技術(shù)。第七章統(tǒng)一建模語(yǔ)言UML概述,本章詳細(xì)介紹了UML的基本模式、事物、關(guān)系及建模時(shí)用到的各種圖進(jìn)行了介紹。第八章面向?qū)ο蠓治?,這一章主要講解了面向?qū)ο蠓治龅?種模型,包括功能模型、靜態(tài)模型和動(dòng)態(tài)模型。第九章軟件體系結(jié)構(gòu)與設(shè)計(jì)模式,本章對(duì)軟件體系結(jié)構(gòu)的基本概念、典型風(fēng)格等進(jìn)行了講解。第十章面向?qū)ο笤O(shè)計(jì),本章的重點(diǎn)是對(duì)面向?qū)ο蠓治鰰r(shí)建立的對(duì)象模型進(jìn)行調(diào)整和細(xì)化。第十一章軟件維護(hù),本章主要介紹軟件維護(hù)的任務(wù)、軟件維護(hù)活動(dòng)以及軟件維護(hù)方法進(jìn)行了介紹。
要學(xué)習(xí)軟件工程,學(xué)會(huì)如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過(guò)程和原則:軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開(kāi)銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。開(kāi)銷合宜是指軟件開(kāi)發(fā)、運(yùn)行的整個(gè)開(kāi)銷滿足用戶要求的程度。這些目標(biāo)的實(shí)現(xiàn)不論在理論上還是在實(shí)踐中均存在很多待解決的問(wèn)題,它們形成了對(duì)過(guò)程、過(guò)程模型及工程方法選取的約束。
軟件工程過(guò)程:生產(chǎn)一個(gè)最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過(guò)程主要包括開(kāi)發(fā)過(guò)程、運(yùn)作過(guò)程、維護(hù)過(guò)程。它們覆蓋了需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動(dòng)。需求活動(dòng)包括問(wèn)題分析和需求分析。問(wèn)題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計(jì)活動(dòng)一般包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)建立整個(gè)軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說(shuō)明、每一模塊的接口定義。詳細(xì)設(shè)計(jì)產(chǎn)生程序員可用的模塊說(shuō)明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說(shuō)明及加工描述。實(shí)現(xiàn)活動(dòng)把設(shè)計(jì)結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動(dòng)貫穿于整個(gè)開(kāi)發(fā)過(guò)程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動(dòng)包括使用過(guò)程中的擴(kuò)充、修改與完善。伴隨以上過(guò)程,還有管理過(guò)程、支持過(guò)程、培訓(xùn)過(guò)程等。
軟件工程的原則是指圍繞工程設(shè)計(jì)、工程支持以及工程管理在軟件開(kāi)發(fā)過(guò)程中必須遵循的原則。
我們學(xué)習(xí)了詳細(xì)設(shè)計(jì)的方法,其原則是過(guò)程描述是否易于理解、復(fù)審和維護(hù),進(jìn)而過(guò)程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計(jì)與代碼完全一致。包括程序流程圖、N―S圖、PAD圖、HIPO圖。
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開(kāi)發(fā)者最熟悉的一種算法表達(dá)工具。它獨(dú)立于任何一種程序設(shè)計(jì)語(yǔ)言,比較直觀和清晰地描述過(guò)程的控制流程,易于學(xué)習(xí)掌握。在流程圖中只能使用下述的五種基本控制結(jié)構(gòu):順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。
N―S圖:一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具,稱為盒圖,又稱為N―S圖。在N―S圖中,為了表示五種基本控制結(jié)構(gòu),規(guī)定了五種圖形構(gòu)件。順序型;選擇型;WHILE重復(fù)型;UNTIL重復(fù)型;多分支選擇型。
PAD圖:它是用結(jié)構(gòu)化程序設(shè)計(jì)思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。PAD也設(shè)置了五種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。
HIPO圖:HIPO圖是由一組IPO圖加一張HC圖組成。它是美國(guó)IBM公司在軟件設(shè)計(jì)中使用的主要表達(dá)工具。
HC圖既是層次圖,用于表示軟件的分層結(jié)構(gòu)。HC圖中的每一個(gè)模塊,均可用一張IPO圖來(lái)描述。IPO圖由輸入、處理和輸出三個(gè)框組成,需要時(shí)還可以增加一個(gè)數(shù)據(jù)文件框,這種圖形的優(yōu)點(diǎn),是能夠直觀地顯示輸入―處理―輸出三者之間的聯(lián)系。
還有測(cè)試方法:按照測(cè)試過(guò)程是否在實(shí)際應(yīng)用環(huán)境中來(lái)分,有靜態(tài)分析與動(dòng)態(tài)測(cè)試。測(cè)試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。
靜態(tài)分析技術(shù):不執(zhí)行被測(cè)軟件,可對(duì)需求分析說(shuō)明書(shū)、軟件設(shè)計(jì)說(shuō)明書(shū)、源程序做結(jié)構(gòu)檢查、流程分析、符號(hào)執(zhí)行來(lái)找出軟件錯(cuò)誤。
動(dòng)態(tài)測(cè)試技術(shù):當(dāng)把程序作為一個(gè)函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。
還學(xué)習(xí)了其他很多工具、語(yǔ)言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會(huì)慢慢的完善的。
軟件工程對(duì)于初學(xué)者來(lái)說(shuō),知識(shí)基礎(chǔ)較薄弱,對(duì)一些應(yīng)用操作、概念、工具方法等理解起來(lái)較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書(shū)籍細(xì)致地看幾遍,然后上機(jī)練習(xí)幾次就可以成功,學(xué)習(xí)過(guò)程中要注意多看多練要注意結(jié)合實(shí)際,更要多思考,面對(duì)錯(cuò)誤不要一范就問(wèn),要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅(jiān)戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)究竟是什么,根據(jù)自己的實(shí)際工作出發(fā),有針對(duì)性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)行提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們?cè)趯W(xué)習(xí)面向?qū)ο蠓治龅臅r(shí)候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進(jìn)行研究拓展;在學(xué)習(xí)語(yǔ)言時(shí),要看看與C語(yǔ)言的聯(lián)系,多思多想,把從各個(gè)科目學(xué)到的知識(shí)通匯貫通。
在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡(jiǎn)單,在開(kāi)發(fā)軟件的過(guò)程中,編寫(xiě)代碼的工作量其實(shí)只占不到所有工程量的30%,而后期的管理和維護(hù)更是占了60%到80%之多。一個(gè)完整的項(xiàng)目規(guī)劃須包括,軟件的定義,可行性分析報(bào)告,項(xiàng)目開(kāi)發(fā)計(jì)劃,軟件需求說(shuō)明書(shū),概要設(shè)計(jì)說(shuō)明書(shū),詳細(xì)設(shè)計(jì)說(shuō)明書(shū),用戶操作手冊(cè),測(cè)試計(jì)劃,測(cè)試分析報(bào)告,開(kāi)發(fā)進(jìn)度報(bào)告,項(xiàng)目開(kāi)發(fā)總結(jié)報(bào)告,軟件維護(hù)手冊(cè),軟件問(wèn)題報(bào)告,軟件修改報(bào)告,等多個(gè)文檔,每個(gè)文檔都要上級(jí)驗(yàn)收審查,而文檔數(shù)量眾多,要做好這點(diǎn)真的不是很容易,而恰恰寫(xiě)好文檔正能保證完成軟件工程其中一個(gè)目的的關(guān)鍵,既研究如何用最小的開(kāi)銷做出生存期較長(zhǎng)的軟件,再加上各個(gè)階段都要進(jìn)行周密的策劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復(fù)才能達(dá)成,所以代碼只是開(kāi)發(fā)軟件這個(gè)浩大的工程的一個(gè)小小的過(guò)程。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨(dú)特的規(guī)范的編碼風(fēng)格是非常重要的事。因?yàn)檫@影響到了軟件后期繁重的維護(hù),大家都要閱讀你的程序,如果你寫(xiě)的程序毫無(wú)規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護(hù)又從何談起呢?所以,我們?cè)诮窈蟮膶W(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫(xiě)程序的過(guò)程中,要逐步的在規(guī)范的基礎(chǔ)上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習(xí)中,我們還要注意比較三種方法的優(yōu)缺點(diǎn),例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無(wú)序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機(jī)結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計(jì)和問(wèn)題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學(xué)變換的軟件開(kāi)發(fā)方法,它可將系統(tǒng)的規(guī)格說(shuō)明轉(zhuǎn)換為可執(zhí)行的程序。
在今后的學(xué)習(xí)中要注意多讀書(shū)、多思考、多練習(xí)、多討論,不斷熟悉書(shū)本的基礎(chǔ),并以此為基礎(chǔ)將其擴(kuò)散開(kāi)來(lái),應(yīng)用于今后的實(shí)踐。不斷鍛煉自己,向一名合格的程序設(shè)計(jì)師邁進(jìn)。
軟件工程專業(yè)講座心得體會(huì)3
時(shí)間飛逝,不知不覺(jué)間《軟件工程》的學(xué)習(xí)已經(jīng)過(guò)了大半了。在這將近半學(xué)期的學(xué)習(xí)中,雖然我不能說(shuō)我將《軟件工程》學(xué)習(xí)的有多么的好,但是通過(guò)學(xué)習(xí),我還是受益良多。
在以前,我一直對(duì)軟件存在一些偏見(jiàn)或則是誤解,認(rèn)為軟件就是程序,軟件的開(kāi)發(fā)就是編寫(xiě)程序,只要編完了程序,一切也就ok了,而且我還片面的認(rèn)為只要我掌握了時(shí)下最新的語(yǔ)言和工具,那么我就能寫(xiě)程序了。一個(gè)人,只要會(huì)編程,就能寫(xiě)軟件,就是程序員;一個(gè)公司,只要招聘一些程序員,就能開(kāi)發(fā)好的軟件產(chǎn)品。只要有幾個(gè)有經(jīng)驗(yàn)的程序員,再找些兼職的大學(xué)生,就能組成一個(gè)軟件公司。
但是通過(guò)了《軟件工程》這門課的學(xué)習(xí),使我認(rèn)識(shí)到了我以前的錯(cuò)誤。軟件其實(shí)不僅僅是程序,軟件開(kāi)發(fā)其實(shí)也不僅僅是編寫(xiě)程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對(duì)軟件和軟件的開(kāi)發(fā)過(guò)程,有充分的認(rèn)識(shí),才能更好的開(kāi)發(fā)出,過(guò)程受控、質(zhì)量受控的軟件產(chǎn)品。
而且在以前,我一直以為軟件的開(kāi)發(fā)其實(shí)是一件很輕松快樂(lè)的事情,只要一天坐在電腦旁敲敲鍵盤(pán),那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑。編程其實(shí)是一種樂(lè)趣和苦惱共存的一項(xiàng)創(chuàng)造性活動(dòng)。因?yàn)榫幊滩粌H能夠滿足我們內(nèi)心深處進(jìn)行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感。
而且通過(guò)學(xué)習(xí)《軟件工程》,我還學(xué)到了很多其他的東西。比如通過(guò)學(xué)習(xí)《軟件工程》,特別是老師每次用實(shí)際的軟件現(xiàn)場(chǎng)的講解,為我提供了一個(gè)盡早接觸世界工作和真實(shí)項(xiàng)目的機(jī)會(huì)。讓我知道如何在以最小的成本中,訓(xùn)練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等。而且通過(guò)學(xué)習(xí)《軟件工程》,還讓我認(rèn)識(shí)和培養(yǎng)了我的團(tuán)隊(duì)協(xié)作能力,特別是對(duì)于我們這些在校的學(xué)生來(lái)說(shuō),這種學(xué)習(xí)更是能讓我在以后工作中少走很多的彎路。
所以,通過(guò)《軟件工程》的學(xué)習(xí),我是真的學(xué)習(xí)到了很多有用的東西,讓我明白了很多的道理。在此我對(duì)老師的辛勤教育表示感謝,因?yàn)槭悄阕屛覍W(xué)習(xí)到了這些,是我獲益良多。
軟件工程專業(yè)講座心得體會(huì)4
經(jīng)過(guò)這學(xué)期軟件工程實(shí)驗(yàn)的學(xué)習(xí),深深感到用戶需求對(duì)軟件的重要性。成功的軟件產(chǎn)品是建立在成功的需求基礎(chǔ)之上的,而高質(zhì)量的需求來(lái)源于用戶與開(kāi)發(fā)人員之間有效的溝通與合作。當(dāng)用戶有一個(gè)問(wèn)題可以用計(jì)算機(jī)系統(tǒng)來(lái)解決,而開(kāi)發(fā)人員開(kāi)始幫助用戶解決這個(gè)問(wèn)題,溝通就開(kāi)始了。
需求獲取可能是最困難、最關(guān)鍵、最易出錯(cuò)及最需要溝通交流的活動(dòng)。對(duì)需求的獲取往往有錯(cuò)誤的認(rèn)識(shí):用戶知道需求是什么,我們所要做的就是和他們交談從他們那里得到需求,只要問(wèn)用戶系統(tǒng)的目標(biāo)特征,什么是要完成的,什么樣的系統(tǒng)能適合商業(yè)需要就可以了,但是實(shí)際上需求獲取并不是想象的這樣簡(jiǎn)單,這條溝通之路布滿了荊棘。首先需求獲取要定義問(wèn)題范圍,系統(tǒng)的邊界往往是很難明確的,用戶不了解技術(shù)實(shí)現(xiàn)的細(xì)節(jié),這樣造成了系統(tǒng)目標(biāo)的混淆。
其次是對(duì)問(wèn)題的理解,用戶對(duì)計(jì)算機(jī)系統(tǒng)的能力和限制缺乏了解,任何一個(gè)系統(tǒng)都會(huì)有很多的用戶或者不同類型的用戶,每個(gè)用戶只知道自己需要的系統(tǒng),而不知道系統(tǒng)的整體情況,他們不知道系統(tǒng)作為一個(gè)整體怎么樣工作效率更好,也不太清楚那些工作可以交給軟件完成,他們不清楚需求是什么,或者說(shuō)如何以一種精確的方式來(lái)描述需求,他們需要開(kāi)發(fā)人員的協(xié)助和指導(dǎo),但是用戶與開(kāi)發(fā)人員之間的交流很容易出現(xiàn)障礙,忽略了那些被認(rèn)為是"很明顯"的信息。最后是需求的確認(rèn),因?yàn)樾枨蟮牟环€(wěn)定性往往隨著時(shí)間的推移產(chǎn)生變動(dòng),使之難以確認(rèn)。為了克服以上的問(wèn)題,必須有組織的執(zhí)行需求的獲取活動(dòng)。
需求獲取活動(dòng)要完成的任務(wù)或者步驟的過(guò)程如下:
1、編寫(xiě)項(xiàng)目視圖和范圍文檔
系統(tǒng)的需求包括四個(gè)不同的層次:業(yè)務(wù)需求、用戶需求和功能需求、非功能性需求。業(yè)務(wù)需求說(shuō)明了提供給用戶新系統(tǒng)的最初利益,反映了組織機(jī)構(gòu)或用戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,它們?cè)陧?xiàng)目視圖與范圍文檔中予以說(shuō)明。用戶需求文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù),這在使用實(shí)例文檔或方案腳本說(shuō)明中予以說(shuō)明。功能需求定義了開(kāi)發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。
非功能性需求是用戶對(duì)系統(tǒng)良好運(yùn)作提出的期望,包括了易用性、反應(yīng)速度、容錯(cuò)性、健壯性等等質(zhì)量屬性。需求獲取就是根據(jù)系統(tǒng)業(yè)務(wù)需求去獲得系統(tǒng)用戶需求,然后通過(guò)需求分析得到系統(tǒng)的功能需求和非功能需求。項(xiàng)目視圖和范圍文檔就是從高層次上描述系統(tǒng)的業(yè)務(wù)需求,應(yīng)該包括高層的產(chǎn)品業(yè)務(wù)目標(biāo),評(píng)估問(wèn)題解決方案的商業(yè)和技術(shù)可行性,所有的使用實(shí)例和功能需求都必須遵從的標(biāo)準(zhǔn)。而范圍文檔定義了項(xiàng)目產(chǎn)品所包括的所有工作及產(chǎn)生產(chǎn)品所用的過(guò)程。項(xiàng)目相關(guān)人員對(duì)項(xiàng)目的目標(biāo)和范圍能達(dá)成共識(shí),整個(gè)項(xiàng)目組都應(yīng)該把注意力集中在項(xiàng)目目標(biāo)和范圍上。
2、用戶群分類
系統(tǒng)用戶在很多方面存在著差異,例如:使用系統(tǒng)的頻度和程度、應(yīng)用領(lǐng)域和計(jì)算機(jī)系統(tǒng)知識(shí)、所使用的系統(tǒng)特性、所進(jìn)行的業(yè)務(wù)過(guò)程、訪問(wèn)權(quán)限、地理上的布局以及個(gè)人的素質(zhì)和喜好等等。根據(jù)這些差異,你可以把這些不同的用戶分成不同的用戶類。與ULM中Usecase的Actor概念一樣,用戶類不一定都指人,也可以包括其他應(yīng)用系統(tǒng)、接口或者硬件,這樣做使得與系統(tǒng)邊界外的接口也成為系統(tǒng)需求。將用戶群分類并歸納各自特點(diǎn),并詳細(xì)描述出它們的個(gè)性特點(diǎn)及任務(wù)狀況,將有助于需求的獲取和系統(tǒng)設(shè)計(jì)。
3、建立核心隊(duì)
通常用戶和開(kāi)發(fā)人員不自覺(jué)的都有一種"我們和他們"的想法,產(chǎn)生一種對(duì)立關(guān)系,把彼此放在對(duì)立面,每一方都定義自己的"邊界",只想自己的利益而忽略對(duì)方的想法。他們通過(guò)文檔、記錄和對(duì)話來(lái)溝通,而不是作為一個(gè)合作的整體去識(shí)別和確定需求完成任務(wù)。實(shí)踐證明這樣的方法是不正確的,不會(huì)給雙方帶來(lái)一點(diǎn)益處,良好的溝通關(guān)系沒(méi)有建立導(dǎo)致了誤解和忽略重要的信息。只有當(dāng)雙方參與者都明白要成功自己需要什么,同時(shí)也知道要成功對(duì)方需要什么時(shí),才能建立起一種合作關(guān)系。
為了建立合作關(guān)系通常采取一種組隊(duì)的方式來(lái)獲取需求,建立一個(gè)由用戶代表和開(kāi)發(fā)人員組成的聯(lián)合小組作為需求獲取的核心隊(duì)伍。聯(lián)合小組將負(fù)責(zé)識(shí)別需求、分析解決方案和協(xié)商分歧,小組成員可以采用會(huì)議、電子郵件、綜合辦公系統(tǒng)等方式進(jìn)行交流,但交流時(shí)應(yīng)注意以下原則:小組會(huì)議應(yīng)該由中立方來(lái)組織和主持,用戶和開(kāi)發(fā)人員都要參加;交流預(yù)先要確定準(zhǔn)備和參與的規(guī)則;議題要明確并覆蓋所有關(guān)鍵點(diǎn),但信息來(lái)源應(yīng)該自由;交流目標(biāo)要明確,并告知所有的成員。
4、確定使用實(shí)例
從用戶代表處收集他們將使用系統(tǒng)完成所需任務(wù)的描述,討論用戶與系統(tǒng)間的交互方式和對(duì)話要求,這就是使用實(shí)例,一個(gè)單一的使用實(shí)例可能包括完成某項(xiàng)任務(wù)的許多邏輯相關(guān)任務(wù)和交互順序。使用實(shí)例方法給需求獲取帶來(lái)的好處來(lái)自于該方法是用以任務(wù)為中心和以用戶為中心的觀點(diǎn),比起使用以功能為中心和以開(kāi)發(fā)者為中心的方法,使用實(shí)例方法可以使用戶更清楚地理解和認(rèn)識(shí)到新系統(tǒng)允許他們做什么和怎么做。描寫(xiě)使用實(shí)例的時(shí)候要注意使用簡(jiǎn)潔直白的表述,盡量使用主動(dòng)語(yǔ)態(tài),用"系統(tǒng)"或者"用戶"作為主語(yǔ),比如"用戶提交用戶密碼,系統(tǒng)驗(yàn)證用戶密碼是否正確",還有一點(diǎn)在描述中不要設(shè)計(jì)界面細(xì)節(jié),比如"用戶從下拉框中選擇產(chǎn)品類型"。使用實(shí)例為以后寫(xiě)用例場(chǎng)景描述中的基本路徑和擴(kuò)展路徑提供了素材。
5、分析用戶工作流程
分析用戶工作流程觀察用戶執(zhí)行業(yè)務(wù)任務(wù)的過(guò)程,通過(guò)分析使用實(shí)例得到系統(tǒng)的用例圖。編制用例圖文檔將有助于明確系統(tǒng)的使用實(shí)例和功能需求,統(tǒng)一建模語(yǔ)言的使用有助于與用戶進(jìn)一步交流。每個(gè)用例的描述應(yīng)包括:編號(hào),為每個(gè)用例分配一個(gè)唯一的編號(hào),為需求的追溯提供了方便;參與者,與這個(gè)用例交互的 actor;前置條件,開(kāi)始用例前所必須具備的系統(tǒng)狀態(tài);后置條件,用例完成后系統(tǒng)達(dá)到的狀態(tài);基本路徑,用例完成的關(guān)鍵路徑,也是用戶期望的路徑;擴(kuò)展點(diǎn),基本路徑的分枝,表示意外情況;字段說(shuō)明,路徑中名稱的進(jìn)一步分解說(shuō)明,對(duì)以后類屬性的定義和數(shù)據(jù)庫(kù)字段設(shè)計(jì)起作用;設(shè)計(jì)約束,實(shí)現(xiàn)用例的非功能約束。
6、檢查問(wèn)題報(bào)告
通過(guò)檢查當(dāng)前已經(jīng)運(yùn)行系統(tǒng)的問(wèn)題報(bào)告來(lái)進(jìn)一步完善需求客戶的問(wèn)題報(bào)告及補(bǔ)充需求為新系統(tǒng)或新版本提供了大量豐富的改進(jìn)及增加特性的想法,負(fù)責(zé)提供用戶支持及幫助的人能為收集需求過(guò)程提供極有價(jià)值的信息。
7、需求重用
如果客戶要求的功能與已有的系統(tǒng)很相似,則可查看需求是否有足夠的靈活性以允許重用一些已有的軟件組件。業(yè)務(wù)建模和領(lǐng)域建模式需求重用的最好方法,像分析模式和設(shè)計(jì)模式一樣,需求也有自己的模式。
總結(jié):經(jīng)過(guò)一學(xué)期的軟工實(shí)驗(yàn),深刻感到其重要性的同時(shí)也學(xué)到了不少的東西 ,將對(duì)我在今后的軟件開(kāi)發(fā)過(guò)程中起極大的作用。
軟件工程專業(yè)講座心得體會(huì)4篇(對(duì)于軟件工程的心得體會(huì))相關(guān)文章: