軟件工程心得體會(huì)
當(dāng)我們積累了新的體會(huì)時(shí),可以尋思將其寫進(jìn)心得體會(huì)中,這樣能夠培養(yǎng)人思考的習(xí)慣。一起來(lái)學(xué)習(xí)心得體會(huì)是如何寫的吧,以下是小編幫大家整理的軟件工程心得體會(huì),歡迎大家分享。
軟件工程心得體會(huì)1
時(shí)間過(guò)的很快,轉(zhuǎn)眼間已經(jīng)實(shí)習(xí)將近5個(gè)月,其中有2個(gè)月是屬于完全被流放的。最先在內(nèi)部系統(tǒng)組參與內(nèi)部管理系統(tǒng)開(kāi)發(fā)(struts+mysql+spring+hibernate),之后是去做網(wǎng)絡(luò)交換機(jī)軟件的腳本測(cè)試。現(xiàn)在又回歸內(nèi)部系統(tǒng),雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測(cè)試經(jīng)驗(yàn)。
至少自己做的東西,是真正交付到了客戶手上,到也稍微有些成就感。
1、淺談測(cè)試
一直以來(lái),我都認(rèn)為測(cè)試是脫離了軟件工程范圍的工作,不以為屑。但在實(shí)際情況中,測(cè)試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責(zé)任在你,而不在于編碼人員。一般的測(cè)試人員不懂編碼,他們靠的是日以累計(jì)的經(jīng)驗(yàn)總結(jié)和想象力。而要做到高級(jí)測(cè)試工程師,則一定要懂編碼,因?yàn)檫@是你完全掌握整個(gè)系統(tǒng)的方方面面具體運(yùn)作的前提。但占主導(dǎo)地位的',還是大型系統(tǒng)的集成測(cè)試經(jīng)驗(yàn)。實(shí)際項(xiàng)目中,編碼時(shí)間一般只占30%左右,真正耗費(fèi)時(shí)間的是IT階段的找 bug與對(duì)應(yīng)bug,此階段基本評(píng)定了coder的編碼質(zhì)量。
2、程序員的困惑
有些人,以為教學(xué)視頻和代碼看多,自己就懂的多,實(shí)際做起來(lái),卻不知從何下手,
問(wèn)題在那?如何定位?如何解決?通通跟一樣能力有關(guān),debug追蹤能力,也稱調(diào)試。在項(xiàng)目組工作不愁源碼資源,但問(wèn)題是蛋糕擺在面前,你如何去消化?
有位同事告訴我:代碼看幾遍都沒(méi)用,要去抄,例如一個(gè)查詢模塊,在此基礎(chǔ)上去做具體記錄的歷史記錄查詢模塊,你可能會(huì)覺(jué)得很簡(jiǎn)單,但實(shí)際情況卻往往報(bào)一堆異常,配置問(wèn)題涉及到方方面面,以及數(shù)據(jù)庫(kù)字段,傳值問(wèn)題等等,一大堆對(duì)于新人來(lái)說(shuō)很郁悶的問(wèn)題。但不用怕,只要學(xué)會(huì)調(diào)試,一個(gè)個(gè)問(wèn)題去追蹤,一個(gè)個(gè)去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調(diào)試追蹤
如果你能在短短的時(shí)間內(nèi)就看到問(wèn)題點(diǎn)在那,放下斷點(diǎn)去追蹤,出去找工作,絕對(duì)沒(méi)問(wèn)題。出現(xiàn)問(wèn)題的時(shí)候,不要光看代碼,要用實(shí)際行動(dòng)去追蹤運(yùn)行期間的具體值,那是最好途徑。eclipse是個(gè)很爽的ide,這點(diǎn)做的很好。例如頁(yè)面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫(kù)查詢語(yǔ)句去下手,設(shè)置斷點(diǎn),一步一步step over,讓sql字段(存取最終sql語(yǔ)句的字符串)運(yùn)行到有值,inspect進(jìn)去看,如果還看不出來(lái),就點(diǎn)擊它,copy后在sql客戶端去實(shí)際運(yùn)行,看看實(shí)際查詢出來(lái)的表是什么,如果是對(duì)的,有可能就是頁(yè)面調(diào)用的錯(cuò)誤或者action邏輯的傳值問(wèn)題。
頁(yè)面錯(cuò)誤的調(diào)試,基本方法是用右鍵點(diǎn)擊實(shí)際網(wǎng)頁(yè)查看源代碼,copy到editplus,就能看到具體錯(cuò)誤發(fā)生在那幾行。通常有幾種常見(jiàn)的錯(cuò)誤,例如:缺少對(duì)象這種很多時(shí)候是有些被你調(diào)用的字段有可能為空的情況出現(xiàn)的,可以加if(xxx=null)語(yǔ)句加保護(hù)。追蹤的方法基本就是用alert語(yǔ)句,放在有可能出錯(cuò)的地方。
4、一些習(xí)慣
遇到問(wèn)題先自己思考,無(wú)從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會(huì)了,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠(yuǎn)遠(yuǎn)比書(shū)多的多。
解決了一個(gè)問(wèn)題后,要去究根問(wèn)底去找到問(wèn)題產(chǎn)生的起因,以防你下次遇到類似的問(wèn)題再浪費(fèi)同樣的時(shí)間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經(jīng)看過(guò)一個(gè)高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來(lái)很流暢,方便自己也方便別人。
任務(wù)完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),只要你肯去嘗試,他們就會(huì)對(duì)你另言相看,把三天的任務(wù)一天加班搞定,效率和忠誠(chéng)都有了,路也比較好走了。
軟件工程心得體會(huì)2
我們是20xx年3月7號(hào)進(jìn)入宏天實(shí)訓(xùn)公司參加軟件開(kāi)發(fā)實(shí)訓(xùn)的,在此次實(shí)訓(xùn)中,除了讓我明白工作中需要能力,素質(zhì),知識(shí)之外,更重要的是學(xué)會(huì)了如何去完成一個(gè)任務(wù),懂得了享受工作。當(dāng)遇到問(wèn)題,冷靜,想辦法一點(diǎn)一點(diǎn)的排除障礙,到最后獲取成功,一種自信心就由然而生,這應(yīng)該就是工作的樂(lè)趣。有時(shí)候不懂的就需要問(wèn)別人了,虛心請(qǐng)教,從別人的身上真的能學(xué)到自己沒(méi)有的東西,每一次的挫折都會(huì)使我更接近成功。還有學(xué)會(huì)了在工作中與人的合作與交流,同樂(lè)同累,合作互助,這是團(tuán)體的精神,也是必須學(xué)習(xí)的東西。
經(jīng)過(guò)之前的在校學(xué)習(xí),對(duì)程序設(shè)計(jì)有了一定的認(rèn)識(shí)與理解。在校期間,一直都是學(xué)習(xí)理論知識(shí),沒(méi)有機(jī)會(huì)去參與項(xiàng)目的開(kāi)發(fā)。所以說(shuō)實(shí)話,在實(shí)訓(xùn)之前,軟件項(xiàng)目開(kāi)發(fā)對(duì)我來(lái)說(shuō)是比較抽象的,一個(gè)完整的項(xiàng)目要怎么分工以及完成該項(xiàng)目所要的步驟也不是很明確。而經(jīng)過(guò)這次實(shí)訓(xùn),讓我明白了一個(gè)完整項(xiàng)目的開(kāi)發(fā),必須由團(tuán)隊(duì)來(lái)分工合作,并在每個(gè)階段中進(jìn)行必要的總結(jié)與論證。
一個(gè)完整項(xiàng)目的開(kāi)發(fā)它所要經(jīng)歷的階段包括:遠(yuǎn)景范圍規(guī)劃和用例說(shuō)明、項(xiàng)目結(jié)構(gòu)和風(fēng)險(xiǎn)評(píng)估、業(yè)務(wù)功能說(shuō)明書(shū)、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)、代碼實(shí)現(xiàn)、測(cè)試和安裝包等等。一個(gè)項(xiàng)目的開(kāi)發(fā)所需要的財(cái)力、人力都是很多的,如果沒(méi)有一個(gè)好的遠(yuǎn)景規(guī)劃,對(duì)以后的開(kāi)發(fā)進(jìn)度會(huì)有很大的影響,甚至?xí)霈F(xiàn)在預(yù)定時(shí)間內(nèi)不能完成項(xiàng)目或者完成的項(xiàng)目跟原來(lái)預(yù)想的不一樣。一份好的項(xiàng)目結(jié)構(gòu)、業(yè)務(wù)功能和詳細(xì)設(shè)計(jì)說(shuō)明書(shū)對(duì)一個(gè)項(xiàng)目的開(kāi)發(fā)有明確的.指引作用,它可以使開(kāi)發(fā)人員對(duì)這個(gè)項(xiàng)目所要實(shí)現(xiàn)的功能在總體上有比較明確的認(rèn)識(shí),還能減少在開(kāi)發(fā)過(guò)程中出現(xiàn)不必要的麻煩。代碼的實(shí)現(xiàn)是一個(gè)項(xiàng)目開(kāi)發(fā)成功與否的關(guān)鍵,也就是說(shuō),前期作業(yè)都是為代碼的實(shí)現(xiàn)所做的準(zhǔn)備。
我深刻的認(rèn)識(shí)到要成為一名優(yōu)秀的軟件開(kāi)發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實(shí)的編寫代碼基礎(chǔ),必須要有事先對(duì)文檔進(jìn)行可靠性報(bào)告,功能說(shuō)明書(shū),詳細(xì)設(shè)計(jì)說(shuō)明書(shū)等的編寫和一些風(fēng)險(xiǎn)評(píng)估的編寫的能力。
軟件工程心得體會(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ā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認(rèn)為只要我掌握了時(shí)下最新的語(yǔ)言和工具,那么我就能寫程序了。一個(gè)人,只要會(huì)編程,就能寫軟件,就是程序員;一個(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àn),處理的是邏輯和信息。唯有對(duì)軟件和軟件的開(kāi)發(fā)過(guò)程,有充分的認(rèn)識(shí),才能更好的開(kāi)發(fā)出,過(guò)程受控、質(zhì)量受控的軟件產(chǎn)品。
而且在以前,我一直以為軟件的開(kāi)發(fā)其實(shí)是一件很輕松快樂(lè)的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(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í)到了這些,是我獲益良多。
軟件工程心得體會(huì)4
在本學(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)化分析方法,畫分層的數(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ò)程中,編寫代碼的工作量其實(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)真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個(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ù),大家都要閱讀你的程序,如果你寫的程序毫無(wú)規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護(hù)又從何談起呢?所以,我們?cè)诮窈蟮膶W(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過(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)。
軟件工程心得體會(huì)5
軟件工程是一門實(shí)踐性很強(qiáng)、交叉性很強(qiáng)的學(xué)科,它提供給我們的不僅是一種方法論,更是一種世界觀。
在沒(méi)有接觸軟件工程這門課時(shí),我一直認(rèn)為軟件就是程序。能編出解決問(wèn)題的程序就ok了,從沒(méi)有想過(guò),在寫一個(gè)程序之前還要構(gòu)思幾份文檔(可行性分析、需求分析、概要設(shè)計(jì))。不過(guò)對(duì)于那些大型軟件如植物僵尸大戰(zhàn)(至少對(duì)于我來(lái)說(shuō)是比較大型的了)怎么去實(shí)現(xiàn)它,想得我一頭霧水。絢麗的界面、40種植物、一大堆不同類型的僵尸,怎樣編代碼去實(shí)現(xiàn)它呢?
第一次上軟件工程的課,裴老師問(wèn)“軟件是什么?” 我的第一想法是:這個(gè)問(wèn)題太過(guò)愚昧了!誰(shuí)不知道軟件就是程序呀? “軟件是由計(jì)算機(jī)程序、數(shù)據(jù)及文檔組成!甭(tīng)到這句話,我心里先是一驚,慌忙翻了下書(shū)“軟件是程序和所有使程序正確運(yùn)行所需的相關(guān)文檔和配置信息。”赫然映入我眼簾。突然間我發(fā)現(xiàn),就算是植物僵尸大戰(zhàn)這樣復(fù)雜的游戲,如果設(shè)計(jì)者實(shí)現(xiàn)分模塊把每一部分如何實(shí)現(xiàn)用文檔描敘出來(lái),那這個(gè)軟件實(shí)現(xiàn)起來(lái)不是很容易嗎?
第一次課后我明白了軟件工程是致力于專業(yè)化軟件開(kāi)發(fā)的理論、方法和工具的研究。雖然我從初中開(kāi)始信息奧賽,高中繼續(xù)這個(gè)愛(ài)好,但在大學(xué)二年級(jí)下學(xué)期才接觸在軟件開(kāi)發(fā)中這么有引導(dǎo)意義的學(xué)科,不覺(jué)有種相見(jiàn)恨晚的感覺(jué)。自然它的方法學(xué)三要素:方法、工具、過(guò)程,我牢記于心。
短短的四周,裴老師的課給我留下了深刻的印象,印象尤深的是:
做軟件我們首先考慮的是團(tuán)隊(duì)的實(shí)力。
如果別人給你50萬(wàn)讓你們團(tuán)隊(duì)開(kāi)發(fā)一個(gè)軟件,如果他要求你們團(tuán)隊(duì)給這個(gè)軟件永久維護(hù),那么你要去跟他協(xié)商付100萬(wàn)。很多軟件公司倒閉就是因?yàn)榫S護(hù)上的問(wèn)題。至此我才明白維護(hù)軟件是軟件生存周期中時(shí)間最長(zhǎng)的一個(gè)階段,它是最花費(fèi)精力與錢財(cái)?shù)囊粋(gè)階段。
如果將來(lái)你們碰到了我,你跟我說(shuō)你是se那么我會(huì)很高興,如果你告訴我你是軟件工程師,我只會(huì)“嗯嗯”兩下。
其實(shí)在我接觸軟件后,渴望的是當(dāng)一名軟件工程師,F(xiàn)在才知道學(xué)軟件工程專業(yè)后,去當(dāng)一名軟件工程師是最低層的也是最沒(méi)“技術(shù)”含量的。要做就做系統(tǒng)構(gòu)架師,當(dāng)然這需要我們的不懈努力才能達(dá)到。系統(tǒng)構(gòu)架師的職責(zé)是設(shè)計(jì)一個(gè)公司的基礎(chǔ)構(gòu)架,并提供關(guān)于怎樣建立和維護(hù)系統(tǒng)的指導(dǎo)方針。恍然發(fā)現(xiàn)學(xué)軟件不僅是學(xué)軟件,相關(guān)的管理能力也是需要具備的。
當(dāng)然理論知識(shí)是用來(lái)指導(dǎo)實(shí)踐的,親身體驗(yàn)才能領(lǐng)悟軟件工程的妙用。課設(shè)我們選擇了圖書(shū)館管理系統(tǒng),主要是這個(gè)系統(tǒng)我們接觸比較多,對(duì)于它的.流程還是比較清楚的。雖然如此我們還是花了很大的時(shí)間去完成它。記得當(dāng)時(shí)我們定下這個(gè)題目是晚上,在討論用什么語(yǔ)言實(shí)現(xiàn)時(shí),大家各自說(shuō)出自己比較善于的語(yǔ)言。然后均衡了下,定下用java做開(kāi)發(fā)語(yǔ)言。在實(shí)現(xiàn)過(guò)程中,突然發(fā)現(xiàn)java環(huán)境連接數(shù)據(jù)庫(kù)和tomcat超級(jí)麻煩且數(shù)據(jù)庫(kù)老是連接不上。趁時(shí)間還早我們?nèi)俅斡懻摚瑳Q定用c#做開(kāi)發(fā)語(yǔ)言,主要是c#相對(duì)于c++與java來(lái)說(shuō)簡(jiǎn)易寫。同時(shí)我們定下不管以后遇到什么困難都要堅(jiān)持下去的準(zhǔn)則。在課設(shè)期間我們沒(méi)少跑圖書(shū)館,查閱各種資料,對(duì)比各本書(shū)上實(shí)現(xiàn)圖書(shū)館管理系統(tǒng)的代碼。終于在4月11日把所有課設(shè)的所有事情弄好了。當(dāng)然這只是個(gè)概述。
我印象尤深記憶深厚的是最初實(shí)現(xiàn)文檔那塊。剛開(kāi)始,軟件工程這門課還沒(méi)學(xué)多少,基本的設(shè)計(jì)理念就很模糊。文檔到底該怎么寫,很糾結(jié)。于是我從網(wǎng)上狂下相關(guān)文檔。通過(guò)粘貼與復(fù)制終于一份內(nèi)容亂七八糟的需求分析文檔出來(lái)了,當(dāng)然這只是用來(lái)借鑒的。后來(lái)孟陽(yáng)分享了十三份關(guān)于文檔這方面的模板。我們照著那個(gè)樣子在結(jié)合團(tuán)隊(duì)項(xiàng)目的相關(guān)實(shí)例開(kāi)始了文檔的寫作。我們的文檔總是一個(gè)人先寫好,再拿給另一個(gè)人改,最后由第三個(gè)人評(píng)審。大家都覺(jué)的可以了,才過(guò)關(guān)。測(cè)試報(bào)告雖然是我一個(gè)人完成了,但也經(jīng)歷了不少時(shí)間,當(dāng)然這時(shí)間是按小時(shí)算的。首先把大體寫出了,然后修改,再增加信息。大量的截圖以及思考怎樣用例超費(fèi)腦子,兩天的通宵,徹底把我搞垮了,不過(guò)在文檔出爐后,心里異常開(kāi)心。
軟件工程課程雖已結(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ù)雜性,在圖靈機(jī)模型和馮·諾依曼體系的計(jì)算機(jī)框架下,人們認(rèn)識(shí)表達(dá)的過(guò)程(不斷反復(fù)、逐步深化)和計(jì)算機(jī)的實(shí)現(xiàn)過(guò)程(順序執(zhí)行)相差甚遠(yuǎn),軟件工程方法要提供給程序員們一種更加有效的對(duì)客觀世界問(wèn)題域進(jìn)行形式化的過(guò)程方法。
向se進(jìn)軍!至少這是現(xiàn)在的目標(biāo)。
謝謝裴老師!您的課通俗易懂,舉的例子貼近生活,讓我們易于接受。
軟件工程心得體會(huì)6
軟件工程及未來(lái)發(fā)展趨勢(shì)心得體會(huì) 軟件工程是一門研究用工程方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它的成果是為軟件設(shè)計(jì)和開(kāi)發(fā)人員提供思想方法和工具。
隨著信息化時(shí)代的到來(lái),軟件的價(jià)值和作用越來(lái)越得到重視和發(fā)展。操作系統(tǒng)從管硬件資源到為高層的軟件提供共性的支撐再到后來(lái)的人機(jī)交互;
商業(yè)形態(tài)從最開(kāi)始的硬件輔助到代碼核心競(jìng)爭(zhēng)力到后來(lái)的服務(wù)階段。30多年來(lái),隨著軟件工程的研究和實(shí)踐取得了跨越性的進(jìn)步,IT和制造業(yè)以及各種行業(yè)的結(jié)合,進(jìn)入軟件定義時(shí)代的階段。同時(shí)獲得了一些具有里程碑意義的進(jìn)展,盡管目前離徹底解決“軟件危機(jī)”還有一些差距,但軟件工程的方法對(duì)軟件產(chǎn)業(yè)的發(fā)展還是起到了很大的推動(dòng)作用。軟件產(chǎn)業(yè)也邁入了高質(zhì)量發(fā)展的階段,并且有一定的成績(jī)。
20xx年中國(guó)軟件產(chǎn)業(yè)年會(huì)的召開(kāi)以“軟件定義的時(shí)代-數(shù)字、融合與生態(tài)”為主題,中國(guó)工程院院士孫家廣在主旨演講中表示,“軟件是信息技術(shù)之魂,經(jīng)濟(jì)轉(zhuǎn)型之擎、網(wǎng)絡(luò)安全之盾、數(shù)字社會(huì)之基、大國(guó)博弈之焦、高質(zhì)量發(fā)展的抓手,軟件賦能、賦值、賦智作用日益明顯。”他表示,軟件開(kāi)源是我國(guó)成為軟件強(qiáng)國(guó)的根本舉措和保障。中國(guó)工程院院士廖湘科也在報(bào)告中提出,工業(yè)軟件要向建設(shè)信息技術(shù)和先進(jìn)制造技術(shù)深度融合、控制管理整個(gè)生產(chǎn)模式的基礎(chǔ)軟件平臺(tái)發(fā)展。在真實(shí)世界感知的數(shù)據(jù)進(jìn)入到虛擬世界,進(jìn)行關(guān)聯(lián)和跨域關(guān)聯(lián)的分析,在進(jìn)行智能處理之后,再反饋到真實(shí)世界。運(yùn)行平臺(tái)基于云端的硬件結(jié)構(gòu),在未來(lái)設(shè)計(jì)軟件的過(guò)程中,我們要考慮的是不再針對(duì)一臺(tái)服務(wù)器設(shè)計(jì)軟件,在設(shè)計(jì)的時(shí)候需要考慮云端,在這樣的前提下去設(shè)計(jì)軟件?偟膩(lái)說(shuō),整個(gè)軟件體系就是一個(gè)生態(tài)鏈,市場(chǎng)通過(guò)軟件平臺(tái)來(lái)控制,所有的技術(shù)和商業(yè)模式的競(jìng)爭(zhēng)都堆積在IT軟件平臺(tái),各個(gè)行業(yè)的IT從業(yè)人員可以協(xié)同,硬件追求越來(lái)越快,軟件追求規(guī)模。生態(tài)鏈需要協(xié)同創(chuàng)新,學(xué)科交叉。軟件是靈魂的載體,它具體應(yīng)用在知識(shí)領(lǐng)域在生活智能方面的應(yīng)用。東軟集團(tuán)股份有限公司董事長(zhǎng)兼CEO 劉積仁作題為“軟件的'賦能時(shí)代”,表明,企業(yè)也是軟件的載體。軟件在今后具有無(wú)限的發(fā)展空間,我們應(yīng)該為從事這個(gè)行業(yè)而感到幸運(yùn)。軟件在今后的發(fā)展中不僅僅表現(xiàn)的是license IP的價(jià)值,軟件可以承載一個(gè)嶄新的創(chuàng)業(yè)的公司創(chuàng)造資本市場(chǎng)的奇跡。核心就是軟件表達(dá)的方式從我們單純賣解決方案、賣服務(wù),軟件從我們過(guò)去依賴于軟件工程師,最后我們要成為在新經(jīng)濟(jì)的發(fā)展、新消費(fèi)發(fā)展的一個(gè)新的平臺(tái)。
信息革命的核心體現(xiàn)在,集成電路是細(xì)胞,通訊網(wǎng)絡(luò)是動(dòng)脈,計(jì)算機(jī)工具是大腦,信息資源是血漿,應(yīng)用需求是心臟,安全是免疫系統(tǒng),軟件是靈魂。軟件產(chǎn)業(yè)是第一大產(chǎn)業(yè),面向?qū)ο笫擒浖夹g(shù)的基本指導(dǎo)思想,它的發(fā)展過(guò)程從最初的個(gè)人技巧,到結(jié)構(gòu)化,再到最終的面向?qū)ο,覆蓋范圍也發(fā)展到運(yùn)行技術(shù)、工具技術(shù)、到過(guò)程技術(shù)。軟件理論方法技術(shù)應(yīng)用于X應(yīng)用場(chǎng)景。應(yīng)用場(chǎng)景的構(gòu)建主要是體現(xiàn)在,可感知+可編程+可計(jì)算+可調(diào)控等方面。軟件很大程度上改變了我們的生產(chǎn)生活方式,在現(xiàn)在社會(huì)中,對(duì)于軟件的開(kāi)發(fā),我們不在只是單純的系統(tǒng)開(kāi)發(fā),文檔手冊(cè),還要考慮到所處的環(huán)境以及大數(shù)據(jù),智能算法等多方面的綜合考量。
軟件同時(shí)也在驅(qū)動(dòng)著世界經(jīng)濟(jì)的變革。在世界經(jīng)濟(jì)全球化發(fā)展的趨勢(shì)下,軟件行業(yè)也在向全球化發(fā)展,在今天,軟件的開(kāi)發(fā)也不再是一個(gè)國(guó)家或者一個(gè)行業(yè)自身的發(fā)展而是整個(gè)社會(huì)的發(fā)展趨勢(shì)。當(dāng)前軟件行業(yè)無(wú)論國(guó)內(nèi)還是國(guó)際上整體處于手工作坊式階段,以項(xiàng)目組或產(chǎn)品組為單位組織開(kāi)發(fā)人員,圍繞一個(gè)項(xiàng)目或者一個(gè)產(chǎn)品的某一迭代版本進(jìn)行收工作業(yè)。其服務(wù)模式始終停留在并行開(kāi)發(fā)多個(gè)無(wú)關(guān)的小型項(xiàng)目。對(duì)于這樣的情況,單單只是依靠某個(gè)國(guó)家自身的實(shí)力是很難實(shí)現(xiàn)軟件技術(shù)全面提升的。微觀層面來(lái)看,光學(xué)相機(jī)被數(shù)碼相機(jī)取代,移動(dòng)磁盤、光盤基本上被U盤取代。智能手機(jī)的出現(xiàn)也帶來(lái)了IT產(chǎn)業(yè)格局的重塑。IT產(chǎn)業(yè)巨變的核心動(dòng)力是用戶群體的快速增加以及IT擴(kuò)散的范圍迅速。繼智能手機(jī)、平板電腦被軟件重新定義后,其他IT產(chǎn)品也在不斷被軟件重新定義,增加一個(gè)操作系統(tǒng)之后,物理功能被無(wú)限的簡(jiǎn)化,功能被無(wú)限的拓展,不斷地豐富。整個(gè)經(jīng)濟(jì)社會(huì)加快在網(wǎng)絡(luò)空間的映射,形成現(xiàn)實(shí)與網(wǎng)絡(luò)交融的數(shù)字世界。信息物理系統(tǒng)(cps)實(shí)現(xiàn)大型工程系統(tǒng)的實(shí)時(shí)感知、動(dòng)態(tài)控制和信息服務(wù)。
數(shù)據(jù)表征、智能處理、軟件定義,三元融合將打造一個(gè)全新的世界。大數(shù)據(jù)在消費(fèi)IT領(lǐng)域的作用更加明顯,只要用pc上網(wǎng)或者手機(jī)瀏覽信息,性別、年齡、愛(ài)好、蹤跡等等便被大數(shù)據(jù)刻畫,從而根據(jù)現(xiàn)有信息推斷出你可能要做的事?偟膩(lái)說(shuō),大數(shù)據(jù)不僅是傳統(tǒng)產(chǎn)業(yè)升級(jí)的助推器,同時(shí)也是新興產(chǎn)業(yè)的催化劑。軟件的定位已經(jīng)從服務(wù)軟件發(fā)展到定義硬件,也許在不久的將來(lái),軟件不僅僅是改變世界,而是重新定義我們已知的世界,正如大數(shù)據(jù)的出現(xiàn),或許不久的將來(lái),產(chǎn)品經(jīng)銷商會(huì)比我們更了解自己的需求。
隨著軟件市場(chǎng)的競(jìng)爭(zhēng)壓力越來(lái)越大,我們所面臨的IT環(huán)境更為復(fù)雜化,為了應(yīng)對(duì)來(lái)自各方面的挑戰(zhàn)問(wèn)題,我們需要更多的創(chuàng)新能力和業(yè)務(wù)靈活性。提高模塊化思想,從根本上解決所面臨的問(wèn)題。
軟件工程心得體會(huì)7
學(xué)期就快要結(jié)束了,到了最后一周居然還有軟件工程課程設(shè)計(jì),還要考試真的有點(diǎn)忙啊,不管怎樣還是好好干吧,把對(duì)工程的理論研究、學(xué)習(xí)成果用于實(shí)踐也是一種檢驗(yàn)學(xué)習(xí)成果和提升工程能力的有效手段嘛。
工作內(nèi)容安排
軟件工程課程設(shè)計(jì)的第一天拿到題目,聽(tīng)取老師對(duì)于課程設(shè)計(jì)的要求、要完成的工作、預(yù)期要達(dá)到的效果和注意事項(xiàng)。然后分組、討論和確定選題。這真正的課程設(shè)計(jì)才算開(kāi)始了,經(jīng)過(guò)組長(zhǎng),組員的反復(fù)研究、論證后一致決定選擇: 實(shí)習(xí)題目4:開(kāi)發(fā)一個(gè)基于Web的BBS系統(tǒng),包含一般BBS所具有的功能,如用戶注冊(cè)、用戶信息管理、發(fā)貼功能、貼子管理、主題詞查詢、用戶信息修改和查詢等。
這個(gè)題目對(duì)于現(xiàn)代化的網(wǎng)絡(luò)交流來(lái)說(shuō)發(fā)展的成熟而且符合當(dāng)代互聯(lián)網(wǎng)大眾的網(wǎng)絡(luò)需求,符合現(xiàn)代網(wǎng)絡(luò)對(duì)信息分享討論的愛(ài)好,我們一致預(yù)測(cè)在今后很長(zhǎng)的一段時(shí)間內(nèi)也將會(huì)是非常流行的一種交流介質(zhì)。
確定選題后我們開(kāi)始軟件開(kāi)發(fā)的第一步,需求分析,詳細(xì)設(shè)計(jì)等內(nèi)容,分塊分工完成模塊,我分到的主要部分就是分析論壇里面的帖子內(nèi)容,用戶的愛(ài)好,然后解決用戶的索引需求,把用戶的索引需求智能的、友好的呈現(xiàn)給用戶,把這部分的代碼編寫,測(cè)試,把用戶界面做好就是我接下來(lái)幾天的工作內(nèi)容。 俗話說(shuō):磨刀不誤砍柴工,要想把我的這部分內(nèi)容做好,做得完美,我的好好的分析一下,對(duì)全組對(duì)整個(gè)系統(tǒng)的需求分析的基礎(chǔ)上又認(rèn)真分析了本部分的內(nèi)容和本部分要實(shí)現(xiàn)的功能,對(duì)本部分實(shí)現(xiàn)的主要思想理清,認(rèn)真設(shè)計(jì)界面,還有對(duì)隊(duì)員們的模塊能有效的結(jié)合起來(lái),讓他們的模塊也能有效的供我使用,做好我的接口也方便其他模塊與此的銜接。
問(wèn)題與解決
在本次課程設(shè)計(jì)中遇到了好多前所未有的問(wèn)題,第一次接觸HTML網(wǎng)頁(yè)開(kāi)發(fā),第一次邂逅JSP web應(yīng)用程序開(kāi)發(fā),第一次有了原來(lái)開(kāi)發(fā)應(yīng)用程序是需要數(shù)據(jù)庫(kù)的,對(duì)于這些都是第一次接觸,需要了解HTML的基本語(yǔ)法,需要學(xué)習(xí)JSP web應(yīng)用程序web app的開(kāi)發(fā)方法,需要實(shí)踐配置數(shù)據(jù)庫(kù)TOMCAT、 SQL sever,居然有這么多的東西需要從頭來(lái),對(duì)于這些方面我就像一張嶄新的白紙,怎么能在短短的四五天時(shí)間內(nèi)將這張白紙繪成一幅栩栩如生的畫卷呢,這是我們面對(duì)的亟待解決的問(wèn)題。
為了解決這一系列的問(wèn)題,我們沒(méi)有找借口,我們沒(méi)有懶惰,我們更沒(méi)有放棄,而是迎難而上,到圖書(shū)館“大采購(gòu)”求資料,找到想要的,真想把圖書(shū)館搬到課程設(shè)計(jì)實(shí)驗(yàn)室。接下來(lái)就是根據(jù)我們的需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì)等內(nèi)容分模塊編寫網(wǎng)頁(yè)源代碼,修復(fù)bug,測(cè)試代碼,連接數(shù)據(jù)庫(kù)這樣我們的全新的基于web的BBS論壇就成功上線了。
但是,事實(shí)上不是這樣的,而是時(shí)間過(guò)得很快,我們的原計(jì)劃日程上的內(nèi)容越欠越多,由于對(duì)HTML、JSP不熟悉代碼沒(méi)寫好,測(cè)試無(wú)從談起,數(shù)據(jù)庫(kù)連接遇到了一堆錯(cuò)誤代碼比如SQL 01000、08001錯(cuò)誤,這些每一樣?xùn)|西解決起來(lái)都是有難度的,百度一下還是不知道這么做,只知道了時(shí)間過(guò)得比想象的要快多了,得到的體會(huì)就是“百度一下,你的時(shí)間就沒(méi)了”,F(xiàn)在我們遇到的最大的問(wèn)題就是時(shí)間真的太不給力了,如果有來(lái)世我一定好好學(xué)習(xí)各方面知識(shí),哎!好像扯遠(yuǎn)了。時(shí)間真的很快,周六就要考試了,已上三年大學(xué)的我們都知道考試比神馬都要重要,我們就開(kāi)始了學(xué)習(xí)和實(shí)踐結(jié)合的生產(chǎn)方式,據(jù)說(shuō)這是最有效、最給力的,希望如此!
收獲與體會(huì)
課程設(shè)計(jì)總會(huì)是要結(jié)束的,不管做得怎么樣總歸是要給老師看看我們的成果的,都做了這么多天了,成果雖然不是很理想,但是收獲還是有的。這期間學(xué)到了HTML網(wǎng)頁(yè)的編寫方法,一些HTML的基本語(yǔ)法,也能編寫出一個(gè)簡(jiǎn)單的網(wǎng)頁(yè),對(duì)于互聯(lián)網(wǎng)應(yīng)用程序的開(kāi)發(fā)還要了解和解決網(wǎng)絡(luò)帶寬的限制,服務(wù)器響應(yīng)的時(shí)間比,知道了這么安裝和配置TOMCAT服務(wù)器,在期間學(xué)習(xí)了UML用例圖的繪制,軟件工程開(kāi)發(fā)的一些基本工具的使用,軟件開(kāi)發(fā)文檔編寫的方法和實(shí)踐,人機(jī)交互應(yīng)用程序開(kāi)發(fā)時(shí)人機(jī)界面的設(shè)計(jì),人機(jī)對(duì)話的實(shí)現(xiàn),人性化的界面設(shè)等是需要認(rèn)真努力做得,要充分考慮用戶的感受和體驗(yàn)。覺(jué)得“百度一下,你就知道”也不過(guò)如此,還是知識(shí)裝在大腦里比神馬都要重要,比任何來(lái)的知識(shí)都要詳細(xì)和易懂。打字速度也有了一定的提升。
努力與改進(jìn)方向
經(jīng)過(guò)本期的軟件工程課程設(shè)計(jì),發(fā)現(xiàn)了學(xué)習(xí)和實(shí)踐中的'不足;ヂ(lián)網(wǎng)的基礎(chǔ)知識(shí)知道的太少了,相反需要了解和掌握的還很多,在下學(xué)期要開(kāi)設(shè)一門計(jì)算機(jī)網(wǎng)絡(luò)課程,現(xiàn)在生活已經(jīng)不能離開(kāi)互聯(lián)網(wǎng)了,不管以后是否從事這方面的工作,這部分都是需要認(rèn)真學(xué)習(xí)的,網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)需要認(rèn)真理解與提升。軟件工程中需求分析的不充分,軟件開(kāi)發(fā)方法的體會(huì)這些都是需要以后改進(jìn)和學(xué)習(xí)的,軟件開(kāi)發(fā)中的各種文檔編寫能力還需要提升,在以后學(xué)習(xí)和實(shí)踐中認(rèn)真總結(jié)和完善,參考他人的軟件工程項(xiàng)目,體會(huì)優(yōu)秀軟件工程的思想。在做任何事情的時(shí)候都要有覺(jué)得是站在巨人的肩上,而不是重復(fù)的生產(chǎn)車輪的思想來(lái)坐事情,要對(duì)前人的經(jīng)驗(yàn)教訓(xùn)加以總結(jié),學(xué)習(xí)、參考和引用別人的先進(jìn)研究成果,重視團(tuán)隊(duì)的協(xié)作,虛心的學(xué)習(xí)精神。
這期間得到了老師的悉心指導(dǎo),得到了隊(duì)員的理解,得到了同學(xué)們的熱心幫助,謝謝你們!
軟件工程心得體會(huì)8
早在我選擇民政職業(yè)技術(shù)學(xué)院就讀軟件開(kāi)發(fā)與項(xiàng)目管理這門專業(yè)的時(shí)候,我一直認(rèn)為軟件開(kāi)發(fā)無(wú)非是努力的敲代碼,從敲代碼的過(guò)程中去體會(huì)各行代碼的意思和用處,在沒(méi)學(xué)軟件工程時(shí)我一直都是努力的敲代碼去學(xué)習(xí)軟件開(kāi)發(fā)這門專業(yè)。在大一的時(shí)候我敲代碼的激情很好,但是到大二的時(shí)候就出現(xiàn)問(wèn)題了,我根本就不喜歡敲代碼了,看見(jiàn)代碼就頭疼。所以感覺(jué)厭惡這門專業(yè),對(duì)學(xué)習(xí)也不感興趣了。而且,還有一件更頭疼的事是在寫一個(gè)簡(jiǎn)單的程序時(shí)竟然老是出錯(cuò),難一點(diǎn)的,復(fù)雜一點(diǎn)的程序竟然無(wú)從下手。但是去看程序的參考答案時(shí)都看得懂,又感覺(jué)很容易。學(xué)了軟件工程以后,我就感覺(jué)我以前的學(xué)習(xí)方法是錯(cuò)誤的。以前我只注重于代碼,而不注重理論知識(shí)以及編程的思路,程序的架構(gòu)。以至于在些程序時(shí)沒(méi)有寫程序的思路,不能形成程序的架構(gòu)。只想到看腦袋里是否有與此類似的代碼。越想程序越亂,最后腦袋里一片空白。不知道程序從哪個(gè)方面下手了。
軟件工程這門課程是做軟件開(kāi)發(fā)的人必學(xué)的課程,通過(guò)學(xué)這門課程,程序員就會(huì)注重軟件開(kāi)發(fā)的理論知識(shí),以及做項(xiàng)目開(kāi)發(fā)的思路。學(xué)了這門課程后你寫程序就不會(huì)去盲目的去套用代碼,而是理清此程序的架構(gòu)以及思路。程序該從什么時(shí)候開(kāi)始,什么時(shí)候結(jié)束。在中間需要添加什么樣的功能,以完善該軟件。其實(shí)學(xué)軟件工程并不難,而且很容易。軟件工程與日常生活聯(lián)系起來(lái)的'話,就是在一天中你該先做什么,后做什么。理解了先做什么,后做什么了以后寫程序就不是那么難了,再?gòu)?fù)雜的程序也可以分成幾大塊。你理清程序的思路后就可以一步步的解決其中的難題,最終實(shí)現(xiàn)軟件的功能。如果沒(méi)學(xué)軟件工程不知道理清程序的思路的話,做一個(gè)大的項(xiàng)目開(kāi)發(fā),那么多的代碼,沒(méi)有一個(gè)很好的結(jié)構(gòu),最終只會(huì)導(dǎo)致程序混亂,錯(cuò)誤百出,知道代碼再多也會(huì)素手無(wú)策的。
總而言之,作為一個(gè)程序員學(xué)習(xí)軟件工程這門課程是至關(guān)必要的,如果沒(méi)學(xué)習(xí)軟件工程,你就不會(huì)做項(xiàng)目開(kāi)發(fā),也不可能開(kāi)發(fā)出一個(gè)完善的軟件出來(lái)。
軟件工程心得體會(huì)9
學(xué)習(xí)了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實(shí)例,讓理論和實(shí)踐得到了很好的結(jié)合。整一個(gè)學(xué)期下來(lái),總的來(lái)說(shuō)還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實(shí)在我看來(lái),軟件工程與其說(shuō)是一門課程,不如說(shuō)是一門思想。是一個(gè)如何去分析和處理問(wèn)題的過(guò)程,應(yīng)該說(shuō)其范疇已經(jīng)遠(yuǎn)遠(yuǎn)不止局限于該門課程,成為了一個(gè)綜合的一個(gè)能夠解決問(wèn)題的思想集合。
整本書(shū)的內(nèi)容邏輯很清晰明了,由淺入深循序漸進(jìn),首先我就大概描述下我們所學(xué)的內(nèi)容,第一章是從整體分析軟件工程這門學(xué)科的發(fā)展和所處的社會(huì)環(huán)境,接著后面的幾章深入分析了軟件開(kāi)放過(guò)程和模式、軟件項(xiàng)目管理、計(jì)算機(jī)工程、需求分析、結(jié)構(gòu)化分析建模以及基于UML面向?qū)ο蠓治鼋5。接著我就詳?xì)介紹下我對(duì)這門課程知識(shí)點(diǎn)的理解概括:
軟件:軟件是能夠完成預(yù)定功能和性能的可執(zhí)行的計(jì)算機(jī)程序和使程序正常執(zhí)行所需要的數(shù)據(jù),加上描述程序的操作和使用的文檔。軟件的特征:①軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因而它具有抽象性。②軟件是通過(guò)人們的智力活動(dòng),把知識(shí)與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品。③軟件成為產(chǎn)品后,其生產(chǎn)只是簡(jiǎn)單的拷貝,不同于硬件制造。④維護(hù)過(guò)程比硬件復(fù)雜的多,甚至?xí)l(fā)新的錯(cuò)誤。軟件危機(jī):指的是軟件開(kāi)發(fā)和維護(hù)過(guò)程中遇到的一系列嚴(yán)重問(wèn)題。出現(xiàn)軟件危機(jī)的原因:①軟件維護(hù)費(fèi)用急劇上升,直接威脅計(jì)算機(jī)應(yīng)用的擴(kuò)大。②軟件生產(chǎn)技術(shù)進(jìn)步緩慢。軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。 軟件生存周期:一個(gè)軟件從定義到開(kāi)發(fā)、使用和維護(hù),直到最終被棄用,要經(jīng)歷一個(gè)漫長(zhǎng)的時(shí)期,通常把軟件經(jīng)歷的這個(gè)漫長(zhǎng)的時(shí)期稱為生存周期。軟件的生存周期可分為八個(gè)階段:①問(wèn)題定義;②可行性研究;③需求分析;④總體(概要)設(shè)計(jì);⑤詳細(xì)設(shè)計(jì);⑥編碼與單元測(cè)試;⑦綜合測(cè)試;⑧軟件維護(hù);
瀑布模式:是傳統(tǒng)的軟件開(kāi)發(fā)模式,其中的“瀑布”是對(duì)這個(gè)模式的形象表達(dá),由山頂傾瀉下來(lái)的水,自頂向下、逐漸細(xì)化。其特點(diǎn)是:線性化過(guò)程;分為分析、設(shè)計(jì)、編碼、集成等幾個(gè)階段,并且各階段逐級(jí)推進(jìn),不允許跨越。里程碑管理;階段評(píng)審;文檔驅(qū)動(dòng);簡(jiǎn)潔便于工程應(yīng)用的線性化過(guò)程步驟,并可以通過(guò)里程碑管理機(jī)制而使項(xiàng)目進(jìn)程量化。其明顯的優(yōu)點(diǎn)就是沒(méi)個(gè)階段結(jié)束前都要對(duì)所完成的階段成果進(jìn)行評(píng)審,這使得軟件的錯(cuò)誤能夠在個(gè)階段內(nèi)盡早發(fā)現(xiàn)并盡早解決,總的來(lái)說(shuō)瀑布模式具有良好的質(zhì)量保證機(jī)制,有很強(qiáng)的生命力。
原型進(jìn)化模式:對(duì)軟件進(jìn)行直接模擬或仿真,只需要分析需求框架后進(jìn)行原型創(chuàng)建,再對(duì)原型系統(tǒng)進(jìn)行逐步細(xì)化與完善,通過(guò)版本更新逐步滿足用戶對(duì)于軟件的多方面需要。
增量模式:開(kāi)發(fā)過(guò)程有三個(gè)任務(wù)域,分別是設(shè)計(jì)結(jié)構(gòu)、開(kāi)發(fā)構(gòu)件和集成系統(tǒng),它既有完善的工程管理機(jī)制,又能適應(yīng)用戶需求變更,有利于質(zhì)量的監(jiān)控,并且各局部基于構(gòu)件構(gòu)造,有利于逐步構(gòu)建與完善;由于先交付核心構(gòu)件可利于降低項(xiàng)目的技術(shù)風(fēng)險(xiǎn)。
螺旋模式:是一種可較好的規(guī)避開(kāi)發(fā)風(fēng)險(xiǎn)過(guò)程的模式,項(xiàng)目是基于任務(wù)的螺旋式推進(jìn),每個(gè)螺旋由內(nèi)之外分別是需求分析、軟件設(shè)計(jì)、系統(tǒng)集成、驗(yàn)證與交付。
軟件開(kāi)發(fā)的整個(gè)過(guò)程:①需要項(xiàng)目團(tuán)隊(duì),組建優(yōu)秀的團(tuán)隊(duì)可以開(kāi)發(fā)出更搞質(zhì)量的軟件產(chǎn)品。任務(wù)開(kāi)發(fā)團(tuán)隊(duì)要求小而精,成員大多在8人以內(nèi),主要成員有項(xiàng)
目負(fù)責(zé)人、開(kāi)發(fā)人員、資料管理員和軟件測(cè)試員。②項(xiàng)目計(jì)劃是為了使軟件開(kāi)發(fā)各項(xiàng)工作有秩序地進(jìn)行,包括任務(wù)分配和基于里程碑的進(jìn)度安排,甘特圖和任務(wù)網(wǎng)絡(luò)圖是用來(lái)描述進(jìn)度計(jì)劃的工具。項(xiàng)目計(jì)劃書(shū)可以作為軟件開(kāi)發(fā)的工作指南。③項(xiàng)目成本估算,由于項(xiàng)目有來(lái)自各方面的成本包括工資開(kāi)支、場(chǎng)地費(fèi)、差旅費(fèi)、設(shè)備費(fèi)和資料費(fèi)等,但是軟件主要是對(duì)人力成本的估算,常用的方法有程序代碼成本估算法等。④軟件風(fēng)險(xiǎn)管理包括很多不確定的風(fēng)險(xiǎn)因素,如計(jì)劃風(fēng)險(xiǎn)、管理風(fēng)險(xiǎn)、需求風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、人員風(fēng)險(xiǎn)、產(chǎn)品風(fēng)險(xiǎn)、用戶風(fēng)險(xiǎn)和商業(yè)風(fēng)險(xiǎn)等等,而風(fēng)險(xiǎn)管理的主要任務(wù)是:風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)評(píng)估、和風(fēng)險(xiǎn)防范。⑤軟件文檔管理,軟件文檔是工程模式軟件開(kāi)發(fā)的成果體現(xiàn),包括技術(shù)文檔、管理文檔和用戶文檔。 ⑥軟件配置管理與軟件質(zhì)量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質(zhì)量控制計(jì)劃。
計(jì)算機(jī)系統(tǒng)由硬件、軟件、數(shù)據(jù)資源、網(wǎng)絡(luò)資源、使用系統(tǒng)的人等諸多元素。有三種典型的計(jì)算機(jī)體系結(jié)構(gòu):①主機(jī)結(jié)構(gòu),主機(jī)集中了全部智能,并依靠終端接口與外部設(shè)備連接。②Client/Server結(jié)構(gòu),智能分布于服務(wù)器與客戶機(jī),并依靠網(wǎng)絡(luò)連接成系統(tǒng),其中,服務(wù)器處于核心位置,提供被動(dòng)核心服務(wù);客戶機(jī)處于邊緣位置,可主動(dòng)訪問(wèn)服務(wù)器,尋求服務(wù)支持。③Browser/server結(jié)構(gòu),可適應(yīng)互聯(lián)網(wǎng)遠(yuǎn)程交互的特殊結(jié)構(gòu),基于Web服務(wù)器構(gòu)建。
需求分析:系統(tǒng)開(kāi)發(fā)前期需求分析很重要,它是為了有效解決用戶問(wèn)題的需要進(jìn)行的一項(xiàng)工程活動(dòng),所需要考慮的需求問(wèn)題是功能需求、數(shù)據(jù)需求、性能需求和接口需求,開(kāi)發(fā)者承擔(dān)分析任務(wù),核心是用戶。其步驟有三個(gè):①獲取客戶需求,客戶泛指某個(gè)人或機(jī)構(gòu)部門等,一般方法是調(diào)查,包括訪談、座談、問(wèn)卷、跟班和收集資料,需求規(guī)約可表達(dá)用戶的軟件價(jià)值。②建立需求模型,它是用戶需求的圖解,一些常用的模型有:業(yè)務(wù)樹(shù)圖、用例圖、活動(dòng)圖。分別用于結(jié)構(gòu)化需求建模、系統(tǒng)業(yè)務(wù)舉例和反映系統(tǒng)工作流程。③進(jìn)行需求驗(yàn)證,要驗(yàn)證的主要內(nèi)容有:有效性驗(yàn)證、一致性驗(yàn)證、完整性驗(yàn)證、現(xiàn)實(shí)性驗(yàn)證和可檢驗(yàn)性驗(yàn)證。 結(jié)構(gòu)化分析建模:它是建立在需求規(guī)約基礎(chǔ)上的,對(duì)軟件問(wèn)題進(jìn)行全面解說(shuō),包括四個(gè)方面:①數(shù)據(jù)建模,它與數(shù)據(jù)庫(kù)設(shè)計(jì)密切相關(guān),ER圖涉及實(shí)體、關(guān)系、屬性等圖形元素,在業(yè)務(wù)層面建立數(shù)據(jù)庫(kù)概念模型,一般用于前期的建模構(gòu)想。②功能建模,是對(duì)系統(tǒng)數(shù)據(jù)加工的圖解,數(shù)據(jù)流程圖是常用的建模工具,涉及數(shù)據(jù)接口、數(shù)據(jù)處理、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)等圖形元素,用于描述系統(tǒng)數(shù)據(jù)加工細(xì)節(jié)。③行為建模,行為模型用于說(shuō)哦名軟件系統(tǒng)與環(huán)境的交互,狀態(tài)轉(zhuǎn)換圖常用的軟件行為建模工具涉及狀態(tài)、事件等圖形元素。⑤數(shù)據(jù)字典,是用于定義軟件的元素,使軟件元素獲得嚴(yán)肅的、詳密的、精確的規(guī)格說(shuō)明。需求分析模型中的數(shù)據(jù)、功能、行為等諸多方面的元素,都有必要通過(guò)數(shù)據(jù)字典給予細(xì)節(jié)說(shuō)明,以達(dá)到對(duì)系統(tǒng)較完整全面的規(guī)格定義。
基于UML對(duì)象面向?qū)ο蠓治鼋#篣ML是統(tǒng)一建模語(yǔ)言,有統(tǒng)一的語(yǔ)法、語(yǔ)義和語(yǔ)用規(guī)則,其建模過(guò)程的特點(diǎn)是:用例驅(qū)動(dòng)、以構(gòu)架為中心和增量迭代,通過(guò)包實(shí)現(xiàn)對(duì)模型的有效的一體化管理。包括三部分:①用例建模,它面向用戶需求的,能夠反映系統(tǒng)的用戶價(jià)值,用例圖的基本元素有用例、參與者、交流;用例之間有泛化、延伸和包含關(guān)系。②活動(dòng)建模,活動(dòng)圖用于描述系統(tǒng)動(dòng)態(tài)過(guò)程,主要圖形元素有:活動(dòng)、轉(zhuǎn)換、起點(diǎn)、終點(diǎn)、判斷、并發(fā)、同步、泳道等?擅枋龈邔訕I(yè)務(wù)級(jí)活動(dòng),涉及整個(gè)業(yè)務(wù)流程,針對(duì)每個(gè)用例活動(dòng)建模,反映用例內(nèi)部活動(dòng)細(xì)節(jié)。③類分析建模,這里就只考慮實(shí)體類,實(shí)體類所代表的數(shù)據(jù)相互之間通常有一定的關(guān)系,依靠這種關(guān)系可形成有組織的程序數(shù)據(jù)結(jié)構(gòu)。實(shí)體類之間的`
主要數(shù)據(jù)關(guān)系有:關(guān)聯(lián)、聚類、泛化。
接下來(lái)我就簡(jiǎn)單說(shuō)下我上這門課的簡(jiǎn)單的心得體會(huì),我們是大四的學(xué)生了,也只有這個(gè)學(xué)期有課了,剛開(kāi)始課表安排出來(lái)的時(shí)候覺(jué)得挺意外的,只有前八周有課,當(dāng)時(shí)我還是有點(diǎn)小感動(dòng)的,大四事情很多,有要考研的和工作的,大家也都有各自的事情,如果有16周的課,那么每周課不是特別多,但是時(shí)間特別分散,也不能集中某段時(shí)間去做什么事情。但是相對(duì)于老師的壓力也有,課程壓縮了相當(dāng)于每節(jié)課的教學(xué)任務(wù)大大增加了,在加上有些假期沖掉課,就感覺(jué)我們好像上課學(xué)不到什么東西,也只是一些關(guān)鍵的和考試掛鉤的才重點(diǎn)講,完全沒(méi)有擴(kuò)展的時(shí)間和空間了。但是總的來(lái)說(shuō),學(xué)校開(kāi)了這門課,我們上了這門課,總是學(xué)到了點(diǎn)東西的,不可能明明上了軟件工程這門課,卻像沒(méi)上一樣什么都不懂。在上課的時(shí)候我還是很認(rèn)真地去聽(tīng)老師所講述的內(nèi)容的,我覺(jué)得他的思想和我一向而來(lái)的培養(yǎng)計(jì)算機(jī)學(xué)生綜合素質(zhì)的理解還是在一定程度上不謀而合了,所謂的需求獲取,那就是一個(gè)談判,辯論,交流的過(guò)程,已經(jīng)不是單純的編編程序就能解決的問(wèn)題了。從我所看到的聽(tīng)到的來(lái)說(shuō),我最怕的就是計(jì)算機(jī)系的學(xué)生被別人說(shuō)成是個(gè)帶著厚眼鏡的,只能夠在電腦前編編程序的,在交際場(chǎng)上不知道說(shuō)什么而一個(gè)字都說(shuō)不出來(lái)的人。我覺(jué)得這樣的人進(jìn)入社會(huì)之后是沒(méi)有什么前途的,起碼他們?nèi)狈α伺c人溝通交流的能力。而這門課程在一定程度上給了我們這些學(xué)生一個(gè)機(jī)會(huì)來(lái)鍛煉自己在另一方面的能力,設(shè)想一下,一個(gè)又有技術(shù)又能夠與人交流合作的人所取得的成就自然要比一個(gè)單單只會(huì)編程序的人要大得多。其次,這門課程教給了我們?cè)谕瓿梢粋(gè)實(shí)際項(xiàng)目時(shí)的一般程序及過(guò)程,我認(rèn)為這是一份非常具有實(shí)際意義的教學(xué)內(nèi)容。當(dāng)我們?cè)诋厴I(yè)之后,這是我們實(shí)際要運(yùn)用的一項(xiàng)非常有用的技能,而且不僅僅局限于軟件工程的范疇,我們即使是從事與其它行業(yè),不也是要從需求獲取開(kāi)始,一直有條有理地到最后成品的出爐嗎?應(yīng)該說(shuō)這就是這門課的價(jià)值所在。無(wú)論是在上課,還是在學(xué)生會(huì)里面做學(xué)生工作,我都深深地感覺(jué)到,技術(shù)性的工作就好比變魔術(shù),其實(shí)原理是非常簡(jiǎn)單的,甚至可以說(shuō)簡(jiǎn)單的可笑,但是當(dāng)你就是做出這么一個(gè)簡(jiǎn)單的東西出來(lái)之后,一些外行們有時(shí)候會(huì)用崇拜的眼光看著你,覺(jué)得你很厲害,很高深莫測(cè)。但是制作的過(guò)程他們卻不知道,也許知道之后他們只是會(huì)啞然失笑,原來(lái)這個(gè)東西的制作過(guò)程是如此的簡(jiǎn)單。這個(gè)可以說(shuō)就是技術(shù)的魅力了,而作為需求獲取及之后的一系列過(guò)程則是類似于魔術(shù)揭秘的過(guò)程,但是作為這個(gè)秘密我們并不需要一揭到底,至于揭的程度如何那就是我們那就是我們學(xué)出的程度如何了,我們要讓對(duì)方知道我們?cè)谧鍪裁?以及如何去做?這些東西需要我們以一定的技巧敘述出來(lái),所起到的作用就是能夠讓對(duì)方了解自己的進(jìn)度,卻又能夠不讓對(duì)方來(lái)干涉自己的工作過(guò)程。因?yàn)槲覀兪羌夹g(shù)員,對(duì)方只是外行,即使對(duì)方知道了這個(gè)魔術(shù)的操作過(guò)程,也并不代表他們就能夠向變著魔術(shù)的我們來(lái)隨便修改這個(gè)魔術(shù)的變法,況且我們能夠用不同的過(guò)程來(lái)得出一個(gè)同樣的結(jié)果,這個(gè)過(guò)程的得出的主動(dòng)權(quán)如何掌握在我們的手上,就看我們?nèi)绾我愿呙鞯姆绞絹?lái)揭開(kāi)這個(gè)魔術(shù)的謎底了。當(dāng)然了,在純粹的理論上,我覺(jué)得開(kāi)設(shè)這樣一門課程是很成功的。但是畢竟現(xiàn)實(shí)里有太多的不確定的因素。最重要的因素就是授課的老師和聽(tīng)課的學(xué)生。這兩個(gè)可以說(shuō)是這門課成與敗的決定性的因素。
作為我們學(xué)生來(lái)說(shuō),應(yīng)該負(fù)起比較主要的責(zé)任。在大學(xué)里有了太多的基礎(chǔ)課程,基礎(chǔ)課程大多都比較枯燥無(wú)味,也許在第一個(gè)學(xué)期里我們還能夠保持著新鮮感,但是在6學(xué)期之后,可以說(shuō)再有新鮮感就是一件比較困難的事情了,我們都已經(jīng)開(kāi)始變得遲鈍了。其次的,沒(méi)有認(rèn)識(shí)到這門課程的價(jià)值。這門課的價(jià)值我已
經(jīng)在上面說(shuō)過(guò)了,是不言而喻的。但是并不是每個(gè)同學(xué)畢業(yè)之后都回從事計(jì)算機(jī)行業(yè),也不是每個(gè)同學(xué)都知道這門課程的意義已經(jīng)不僅僅局限于計(jì)算機(jī)這個(gè)范疇;蛟S有些人覺(jué)得反正以后不是這個(gè)發(fā)展方向,也就不在乎這個(gè)課程吧。我個(gè)人覺(jué)得這門課確實(shí)是挺好的,如果認(rèn)真學(xué)必能學(xué)到很多東西,動(dòng)手實(shí)踐能力和從整個(gè)大體分析系統(tǒng)開(kāi)發(fā)的邏輯性思維也會(huì)明顯增強(qiáng),不管以后從事哪個(gè)方面的工作,這對(duì)以后來(lái)說(shuō)都是一筆很大的隱性財(cái)富。說(shuō)到我自己對(duì)這么課的學(xué)習(xí),還是有點(diǎn)愧疚的,前面四周我每周每節(jié)課都去上的,并且上課也認(rèn)真聽(tīng),一邊聽(tīng)老師講課一邊自己看書(shū)本的介紹,但是后來(lái)我上這門課的次數(shù)就降低了,因?yàn)橛X(jué)得時(shí)間很緊吧,而且老師上課的節(jié)奏我個(gè)人覺(jué)得有點(diǎn)慢,我都可以自己預(yù)習(xí)看到后面去了,但是這門課我還是每周至少上一節(jié)課的,雖然我早上7點(diǎn)多一點(diǎn)就出門,在自習(xí)室,但是有時(shí)候明明知道到了上課的時(shí)間,明明上課的地方離自習(xí)的地方不遠(yuǎn)也不太想去。我記得有次上課時(shí)候老師生氣了,說(shuō)來(lái)上課的人少,我仔細(xì)環(huán)顧了下四周發(fā)現(xiàn)確實(shí)人很少,稀稀疏疏的分散著,看起來(lái)確實(shí)不太舒服,讓我不得不反思了,這大學(xué)的教育到底怎么了,怎么到了大四大家都不來(lái)上課,雖然我不是每節(jié)課都來(lái),但是我還是時(shí)不時(shí)來(lái)上課的,可能是比較浮躁吧,快畢業(yè)了,覺(jué)得上課學(xué)不到什么實(shí)際的東西,要么實(shí)際一點(diǎn)好好考研繼續(xù)深造,要么去培訓(xùn)增強(qiáng)實(shí)踐能力這樣才能較好的為找個(gè)滿意的工作做好鋪墊。
《軟件工程》課程既強(qiáng)調(diào)基本概念和基本知識(shí)的理解和掌握,又側(cè)重軟件項(xiàng)目的分析、設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)的基本技能。比較注意“點(diǎn)”和“面”的結(jié)合。我還是蠻喜歡這門課的,通過(guò)對(duì)這門課的學(xué)習(xí)讓我意識(shí)到理論學(xué)習(xí)很重要,實(shí)踐更重要,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),只有將理論與實(shí)際結(jié)合,才更能發(fā)揮我們所學(xué)的知識(shí)的作用,更能直接的創(chuàng)造效益,社會(huì)和國(guó)家做出貢獻(xiàn)。
軟件工程心得體會(huì)10
經(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à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)允許他們做什么和怎么做。描寫使用實(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í)例為以后寫用例場(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ò)程中起極大的作用。
軟件工程心得體會(huì)11
軟件工程心得體會(huì)未接觸軟件工程之前一直都很想學(xué)這門課程,因?yàn)橛X(jué)得這門課很牛,是那些有工程師稱號(hào)的高手才擺弄的東西。學(xué)了一個(gè)學(xué)期的軟件工程課,終于知道了個(gè)軟件工程的大概。學(xué)的時(shí)候總覺(jué)得很抽象,理解起來(lái)好像不難,但總是摸不著頭腦一種很茫然的感覺(jué)。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個(gè)收獲是,知道了二者的不同之處。以前做過(guò)的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個(gè)軟件的說(shuō)明,看來(lái)已經(jīng)很接近作坊了。不過(guò)大的項(xiàng)目沒(méi)有接觸過(guò),用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機(jī)的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過(guò)倪老師的講解,理解了軟件工程,就是一套用于軟件的團(tuán)隊(duì)開(kāi)發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對(duì)于軟件開(kāi)發(fā)的5個(gè)重要組成部分:需求分析,設(shè)計(jì),編碼,調(diào)試,維護(hù),如何組織這5個(gè)部分的工作,以及如何完成每一個(gè)工作。吾生也有涯,而知也無(wú)涯,學(xué)習(xí)永無(wú)止境。起初,對(duì)軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過(guò)程中,知道了團(tuán)隊(duì)合作十分重要,爭(zhēng)議固然存在,但通過(guò)討論、協(xié)商,群策群力,在不斷磨合中能夠達(dá)成一致與默契。團(tuán)隊(duì)成員中能力各有高下,互相尊重,各取所長(zhǎng),不宜妄自菲薄。組長(zhǎng)多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識(shí),順應(yīng)變化,學(xué)為所用。
上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已?jīng)給出了一些原因。專業(yè)點(diǎn)講,軟件工程最終是為了實(shí)現(xiàn)“軟件制造業(yè)”的社會(huì)化,工業(yè)化大生產(chǎn),提高其勞動(dòng)生產(chǎn)效率。只有如此,軟件業(yè)才能實(shí)現(xiàn)社會(huì)化,工業(yè)化大生產(chǎn),才能“做大做強(qiáng)”。沒(méi)有管理的設(shè)計(jì)是失敗和混亂的設(shè)計(jì),沒(méi)有設(shè)計(jì)指導(dǎo)的編程是無(wú)序的忙碌的。根據(jù)開(kāi)發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運(yùn)用軟件工程化的思想,需要靈活,畢竟我們開(kāi)發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(jiàn)(我是這么認(rèn)為的`)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實(shí)開(kāi)發(fā)軟件,就像是解決一個(gè)邏輯問(wèn)題。想想自己平時(shí)是怎樣寫程序的。首先是要有一個(gè)想法,即我寫的這個(gè)程序是要干什么的;然后就是對(duì)要實(shí)現(xiàn)的核心功能大概構(gòu)思一種或多種實(shí)現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來(lái)就是將涉及的各種主要或次要功能分成各個(gè)模塊;最后就是分模塊來(lái)編碼和DEBUG。在我看來(lái),除了第一步外,其余的步驟應(yīng)該是一個(gè)循環(huán)的過(guò)程。在編碼的過(guò)程中,你總是需要不斷地回過(guò)頭來(lái)修改原先的模塊設(shè)計(jì),甚至最初選定的實(shí)現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進(jìn)行分析,設(shè)計(jì),編碼,調(diào)試,維護(hù)這幾部分的工作的時(shí)候,最核心的就是文檔的編寫。
1、可行性分析就是關(guān)于當(dāng)前項(xiàng)目能不能干的分析結(jié)果。
2、項(xiàng)目描述這是在決定立項(xiàng)以后,對(duì)當(dāng)前項(xiàng)目的一份扼要說(shuō)明。
3、需求分析就是對(duì)客戶要求的功能的定義。
4、軟件設(shè)計(jì)這就是對(duì)程序的每一個(gè)模塊的詳細(xì)設(shè)計(jì)的說(shuō)明文檔。
5、開(kāi)發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開(kāi)發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時(shí)突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動(dòng)等,還要對(duì)上述這些修改變動(dòng)作些說(shuō)明。
6、測(cè)試分析用于指出程序存在或潛在的缺陷和錯(cuò)誤,以及程序性能的數(shù)字描述。
軟件工程心得體會(huì)12
一、需求分析和概要設(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í)參考了大量的資料。
最后就是編寫文檔——軟件需求說(shuō)明書(shū)、概要分析說(shuō)明書(shū)。
而文檔的作用在于:一是可以幫助整理思路。把要完成的目標(biāo),系統(tǒng)的結(jié)構(gòu),每一個(gè)模塊的功能等整理一下,然后分門別類地寫下來(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ò)程方法。
軟件工程心得體會(huì)13
在這次軟件工程課程中,我學(xué)到了很多東西,第一次深刻的體會(huì)到了什么叫做用工程化的思想來(lái)編寫軟件,以前自己也寫過(guò)一些小型軟件,沒(méi)有做過(guò)大型的項(xiàng)目,直到這次課堂我擔(dān)任組長(zhǎng)并組織組員共同完成“個(gè)人圖書(shū)管理系統(tǒng)”這個(gè)項(xiàng)目,第一次和別人合作,才發(fā)現(xiàn)運(yùn)用工程化的思想來(lái)做是如此的有必要。
從這里,我才真正的意識(shí)到實(shí)施一個(gè)軟件工程并不是說(shuō)簡(jiǎn)單的會(huì)編碼就能夠解決問(wèn)題的,我們更多的精力不是放在編碼上,編碼只是一個(gè)很小的模塊,只占到那么小的一個(gè)部分。這個(gè)事實(shí)在很大程度上顛覆了我以前的思想,在我以前的認(rèn)識(shí)中,似乎整個(gè)軟件就是編碼,除此無(wú)它,還好有老師的指導(dǎo),不然真的會(huì)出現(xiàn)老師所說(shuō)的,撞得頭破血流之后才想起來(lái)用軟件工程的思想來(lái)完成這個(gè)工作。
剛真正開(kāi)始工作之前,我們費(fèi)了很多的時(shí)間來(lái)完成一些前端工作,如需求分析和可行性分析,這塊工作在別人看來(lái)可能是相對(duì)無(wú)關(guān)緊要,甚至是多于的,其實(shí),換做在以前,我也會(huì)這么認(rèn)為?墒,我現(xiàn)在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,太重要了,要想你的軟件有用有市場(chǎng),能被別人接受和認(rèn)可,在進(jìn)行過(guò)程中不會(huì)出現(xiàn)崩潰性的問(wèn)題,這些工作缺一不可。
還有就是接下來(lái)的一些設(shè)計(jì)模塊,此模塊與軟件編碼涉及比較緊密,主要是解決一些參數(shù)傳遞和接口通訊的問(wèn)題,此模塊對(duì)我的觸動(dòng)遠(yuǎn)沒(méi)有上兩個(gè)模塊對(duì)我的影響大,因此再次也不做過(guò)多的介紹。
在整個(gè)活動(dòng)的完成過(guò)程中,作為組長(zhǎng),我收獲很多,我發(fā)現(xiàn),要是組里有個(gè)人不怎么想做事情時(shí),他對(duì)于整個(gè)組織的影響是毀滅性的`,正所謂“一顆老鼠屎,能壞一倉(cāng)谷”,以后我的組織里要是出現(xiàn)這樣的人,我絕不會(huì)給他繼續(xù)留下來(lái)的機(jī)會(huì),我會(huì)在第一時(shí)間將他清除出去。還有就是,作為組長(zhǎng),你要做的最重要的事情,不是發(fā)揮自己的聰明才智,而是創(chuàng)造出一個(gè)平臺(tái),讓別人去發(fā)揮,你所要做得,出了保證這個(gè)平臺(tái)的完整性和公平性外,還有就是協(xié)調(diào)好各組員之間的關(guān)系。
這就是我的實(shí)習(xí)感想。
軟件工程心得體會(huì)14
數(shù)學(xué)與信息工程學(xué)院 項(xiàng)目名稱: 實(shí)驗(yàn)室設(shè)備管理系統(tǒng) 專業(yè)班級(jí):11計(jì)教1班 學(xué)號(hào):1129020025 姓名:蔣一瑭 承擔(dān)角色:美工,問(wèn)題處理 組號(hào):08 同組組長(zhǎng):鄧?yán)?同組其他成員:王宇翔 馬富偉 江濤 指導(dǎo)教師:鐘美 完成起止日期:20xx.6.12
1. 美化軟件和對(duì)在設(shè)計(jì)過(guò)程中所遇到的問(wèn)題進(jìn)行處理 2. 在設(shè)計(jì)是會(huì)出現(xiàn)兩種錯(cuò)誤,一種是系統(tǒng)部分自定義錯(cuò)誤和數(shù)據(jù)庫(kù)錯(cuò)誤。系統(tǒng)部分自定義錯(cuò)誤在權(quán)限方面,管理員出現(xiàn)錯(cuò)誤,而輸入方面用戶帳號(hào)和密碼出錯(cuò),查找方面找不到符合要求的記錄。對(duì)于數(shù)據(jù)庫(kù),代碼出錯(cuò)。
對(duì)于系統(tǒng)部分 自定義錯(cuò)誤,需要添加/修改操作只能給幾十對(duì)輸入數(shù)據(jù)進(jìn)行驗(yàn)真。分析錯(cuò)誤的類新。并給出相應(yīng)的錯(cuò)誤提示語(yǔ)句。
對(duì)于數(shù)據(jù)庫(kù)錯(cuò)誤,可以在可能出錯(cuò)的地方中輸入相應(yīng)的出錯(cuò)語(yǔ)句,并將程序重置,最后返回輸入階段。
此外,還有未解決的問(wèn)題:未添加設(shè)備選購(gòu)數(shù)量屬性,輸入賬戶密碼后,退出登錄后,賬戶密碼自動(dòng)填充。
至于美工方面,就添了一張圖片,一切從簡(jiǎn),只留必須要留下的。
3. 軟件工程課程設(shè)計(jì)課程設(shè)想心得體會(huì),這也激起了我爾后勤奮進(jìn)修的樂(lè)趣,我想這將對(duì)我以后的進(jìn)修發(fā)作主動(dòng)的影響。其次,此次課程設(shè)想讓我充實(shí)熟悉到團(tuán)隊(duì)協(xié)作的主要性,只要合作協(xié)作才干保證整個(gè)項(xiàng)目標(biāo)有條不絮。經(jīng)過(guò)此次設(shè)想,我懂得了進(jìn)修的主要性,體會(huì)到實(shí)際學(xué)問(wèn)與實(shí)際相連系的主要意義,學(xué)會(huì)了堅(jiān)持、耐心和勤奮,這將為自己爾后的進(jìn)修和任務(wù)做出了最好的表率。我感受作為一名軟件工程專業(yè)的
先生,此次課程設(shè)想是很故意義的。更主要的是若何把自己日常平凡所學(xué)的工具利用到理想中。固然自己關(guān)于這門課懂的并不多,良多根本的工具都還沒(méi)有很好的`放縱,感受很難,也沒(méi)有很有效的法子經(jīng)過(guò)自身去了解,
可是靠著這一個(gè)多禮拜的“進(jìn)修”,在小組同窗的輔佐和解說(shuō)下,漸漸對(duì)這門課逐漸發(fā)作了些許的樂(lè)趣,自己起頭自動(dòng)進(jìn)修并逐漸從根本漸漸起頭弄懂它。
所以我以為此次的課程設(shè)想意義很深,和其他4位同窗的配合進(jìn)修、配合、勤奮的進(jìn)程也很歡快,別的還要感謝感動(dòng)教員的耐心教育。
軟件工程心得體會(huì)15
曾經(jīng)看過(guò)一本書(shū)叫《道法自然》,內(nèi)容略記得一二,但我最欣賞的是它的書(shū)名。軟件設(shè)計(jì)沒(méi)什么太神秘有東西,只要用心體會(huì),其實(shí)一切都很自然。軟件的設(shè)計(jì)之“道”,也不在于設(shè)計(jì)有多么的華麗、精巧,而在于其樸實(shí)、自然,最終達(dá)到“以無(wú)招勝有招”,進(jìn)入一個(gè)全新的境界。
一、軟件設(shè)計(jì)理論的層次
以我的拙見(jiàn),軟件設(shè)計(jì)領(lǐng)域中的各種概念,可以分為以下幾個(gè)層次來(lái)進(jìn)行理解:
1、軟件設(shè)計(jì)的目的:重用性、擴(kuò)展性。
這是最高的層次,是應(yīng)對(duì)軟件危機(jī)的需要。
2、設(shè)計(jì)原則:低耦合、高聚合。
各種軟件設(shè)計(jì)的原則,如依賴倒置原則、單一職則原則、面向接口等,以及各種設(shè)計(jì)模式,其根本的目的其實(shí)只是為了降低耦合這么簡(jiǎn)單。因?yàn)橹挥械婉詈喜拍芨玫倪m應(yīng)變化,更好的重用和擴(kuò)展。
3、實(shí)現(xiàn)方法:運(yùn)用設(shè)計(jì)模式封裝變化、降低耦合。
設(shè)計(jì)模式只是用來(lái)“封裝變化、降低耦合”的工具而已。它是面向?qū)ο笤O(shè)計(jì)時(shí)代的產(chǎn)物,其本質(zhì)就是充分運(yùn)用面向?qū)ο蟮娜齻(gè)特性,即:封裝、繼承和多態(tài),進(jìn)行靈活的組合運(yùn)用。
二、關(guān)于耦合
1、耦合的粒度
耦合無(wú)論如何也是不可避免的。當(dāng)我們實(shí)現(xiàn)接口、繼承父類的時(shí)候,就會(huì)不可避免的產(chǎn)生耦合。耦合是有不同粒度的',我們解耦到什么粒度為止,我認(rèn)為應(yīng)以模塊的重用粒度為準(zhǔn)。盡量解除重用模塊或?qū)ο笾g的耦合。而重用模塊之內(nèi)的耦合,應(yīng)屬于聚合的范疇,所以不要盲目的去解耦,否則就陷入了誤區(qū)。
2、解耦的原理
怎樣才能解耦呢,或者說(shuō)為什么各種設(shè)計(jì)模式能達(dá)到解耦的目的呢?我覺(jué)得有以下幾個(gè)思路:
。1)將具體的東西抽象處理
。2)將分散的東西集中處理
而面向?qū)ο笾械慕涌、繼承正為我們提供了這樣的一種機(jī)制。通過(guò)訪問(wèn)接口或基類或抽象類,而不是具體的實(shí)現(xiàn)類,從而與具體的實(shí)現(xiàn)類達(dá)到了解耦的目的。我們還可以設(shè)計(jì)一些控制類,像潤(rùn)滑劑一樣,協(xié)調(diào)各實(shí)現(xiàn)類之間的訪問(wèn),也可以達(dá)到耦的目的。
事實(shí)上,各種設(shè)計(jì)模式的基本思想也就是這樣。創(chuàng)建型模式是為了解除創(chuàng)建對(duì)象時(shí)產(chǎn)生的耦合,實(shí)際上是解除對(duì)類稱名的依賴,而結(jié)構(gòu)型和行為型是為了解除對(duì)象屬性或方法的直接調(diào)用。不管什么設(shè)計(jì)模式,都是將對(duì)具體實(shí)現(xiàn)類的訪問(wèn)提升為對(duì)接口、基類或用于協(xié)調(diào)的控制類的訪問(wèn)。
三、關(guān)于接口
這一節(jié)更具體,談一談接口,因?yàn)槭褂媒涌谑擒浖O(shè)計(jì)的重要手段,但已經(jīng)不屬于“道”了~
1、接口與繼承
接口描述的是對(duì)象某一個(gè)方面行為特征。使用接口與使用繼承關(guān)系各有優(yōu)缺點(diǎn),使用子類繼承可以繼承父類的功能,體現(xiàn)了重用的精神。而接品更加靈活,因?yàn)樗獬俗宇惻c父類之間的高度耦合,它體現(xiàn)在靈活擴(kuò)展的精神。
2、接口與純虛類
理論上接口可以由純虛基類實(shí)現(xiàn)類似的功能,那為什么還我們不去掉接口的概念,而直接使用虛類呢?
接口存在的理由就是它更加靈活,關(guān)系簡(jiǎn)單,易于理解。比如一個(gè)類可以實(shí)現(xiàn)十幾個(gè)甚至幾十個(gè)接口,但一般開(kāi)發(fā)工具只支持單繼承(由于多繼承太容易導(dǎo)致混亂和沖突),如果要繼承十幾層,系統(tǒng)結(jié)構(gòu)想必會(huì)無(wú)法理解了,我以為這是接口存在的最重要的原因。
如果接口和虛類繼承結(jié)合使用,可以產(chǎn)生強(qiáng)大的威力,這也是許多設(shè)計(jì)模式的“殺手锏”。
以上算是總結(jié)一下自己的心得?隙ㄓ胁簧倨嬷,請(qǐng)各位指教。
【軟件工程心得體會(huì)】相關(guān)文章:
軟件工程實(shí)驗(yàn)心得體會(huì)12-17
軟件工程實(shí)訓(xùn)心得體會(huì)07-26
軟件工程實(shí)訓(xùn)心得體會(huì)(通用)10-24
軟件工程實(shí)訓(xùn)心得體會(huì)7篇11-03
軟件工程心得03-28
軟件工程實(shí)訓(xùn)心得體會(huì)(通用10篇)06-14