軟件工程學(xué)習(xí)心得體會(huì)
來源:易賢網(wǎng) 閱讀:2657 次 日期:2016-02-19 14:55:30
溫馨提示:易賢網(wǎng)小編為您整理了“軟件工程學(xué)習(xí)心得體會(huì)”,方便廣大網(wǎng)友查閱!

軟件工程學(xué)習(xí)心得體會(huì)一:學(xué)習(xí)軟件工程的心得體會(huì)

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

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

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

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

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

增量模式:開發(fā)過程有三個(gè)任務(wù)域,分別是設(shè)計(jì)結(jié)構(gòu)、開發(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ī)避開發(fā)風(fēng)險(xiǎn)過程的模式,項(xiàng)目是基于任務(wù)的螺旋式推進(jìn),每個(gè)螺旋由內(nèi)之外分別是需求分析、軟件設(shè)計(jì)、系統(tǒng)集成、驗(yàn)證與交付。

軟件開發(fā)的整個(gè)過程:①需要項(xiàng)目團(tuán)隊(duì),組建優(yōu)秀的團(tuán)隊(duì)可以開發(fā)出更搞質(zhì)量的軟件產(chǎn)品。任務(wù)開發(fā)團(tuán)隊(duì)要求小而精,成員大多在8人以內(nèi),主要成員有項(xiàng)目負(fù)責(zé)人、開發(fā)人員、資料管理員和軟件測(cè)試員。②項(xiàng)目計(jì)劃是為了使軟件開發(fā)各項(xiàng)工作有秩序地進(jìn)行,包括任務(wù)分配和基于里程碑的進(jìn)度安排,甘特圖和任務(wù)網(wǎng)絡(luò)圖是用來描述進(jìn)度計(jì)劃的工具。項(xiàng)目計(jì)劃書可以作為軟件開發(fā)的工作指南。③項(xiàng)目成本估算,由于項(xiàng)目有來自各方面的成本包括工資開支、場(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)防范。⑤軟件文檔管理,軟件文檔是工程模式軟件開發(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ù)器,尋求服務(wù)支持。③Browser/server結(jié)構(gòu),可適應(yīng)互聯(lián)網(wǎng)遠(yuǎn)程交互的特殊結(jié)構(gòu),基于Web服務(wù)器構(gòu)建。

需求分析:系統(tǒng)開發(fā)前期需求分析很重要,它是為了有效解決用戶問題的需要進(jìn)行的一項(xiàng)工程活動(dòng),所需要考慮的需求問題是功能需求、數(shù)據(jù)需求、性能需求和接口需求,開發(fā)者承擔(dān)分析任務(wù),核心是用戶。其步驟有三個(gè):①獲取客戶需求,客戶泛指某個(gè)人或機(jī)構(gòu)部門等,一般方法是調(diào)查,包括訪談、座談、問卷、跟班和收集資料,需求規(guī)約可表達(dá)用戶的軟件價(jià)值。②建立需求模型,它是用戶需求的圖解,一些常用的模型有:業(yè)務(wù)樹圖、用例圖、活動(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ì)軟件問題進(jìn)行全面解說,包括四個(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é)。③行為建模,行為模型用于說哦名軟件系統(tǒng)與環(huán)境的交互,狀態(tài)轉(zhuǎn)換圖常用的軟件行為建模工具涉及狀態(tài)、事件等圖形元素。⑤數(shù)據(jù)字典,是用于定義軟件的元素,使軟件元素獲得嚴(yán)肅的、詳密的、精確的規(guī)格說明。需求分析模型中的數(shù)據(jù)、功能、行為等諸多方面的元素,都有必要通過數(shù)據(jù)字典給予細(xì)節(jié)說明,以達(dá)到對(duì)系統(tǒng)較完整全面的規(guī)格定義。

基于UML對(duì)象面向?qū)ο蠓治鼋#篣ML是統(tǒng)一建模語(yǔ)言,有統(tǒng)一的語(yǔ)法、語(yǔ)義和語(yǔ)用規(guī)則,其建模過程的特點(diǎn)是:用例驅(qū)動(dòng)、以構(gòu)架為中心和增量迭代,通過包實(shí)現(xiàn)對(duì)模型的有效的一體化管理。包括三部分:①用例建模,它面向用戶需求的,能夠反映系統(tǒng)的用戶價(jià)值,用例圖的基本元素有用例、參與者、交流;用例之間有泛化、延伸和包含關(guān)系。②活動(dòng)建模,活動(dòng)圖用于描述系統(tǒng)動(dòng)態(tài)過程,主要圖形元素有:活動(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)、聚類、泛化。

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

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

軟件工程學(xué)習(xí)心得體會(huì)二:軟件工程學(xué)習(xí)心得(3520字)

通過這半學(xué)期我對(duì)軟件工程的學(xué)習(xí),老師在課堂上從軟件工程的基礎(chǔ)到用戶的需求分析,最后到黑盒白盒測(cè)試通過自身做過的一些案例,生動(dòng)形象的講解了軟件工程這門本身枯燥乏味的課程,這不僅增強(qiáng)了學(xué)生學(xué)習(xí)的積極性,也通過讓我們自己去做一些需求分析,我們從中學(xué)到了許多知識(shí)。

老師不僅僅在課堂上對(duì)我們悉心的知道,在課外還讓我們多看一些有關(guān)軟件工程方面最前沿的理論,通過這段時(shí)間我讀了《軟件工程——實(shí)踐者的研究方法》、《件工程案例》這兩本書,通過自己的讀書學(xué)習(xí),我有以下心得體會(huì)。

眾所周知軟件對(duì)于一個(gè)公司,一個(gè)企業(yè)乃至一個(gè)國(guó)家都是十分重要的,因此一個(gè)軟件的維護(hù)也十分重要,下面我就講一些關(guān)于軟件維護(hù)的知識(shí)。

維護(hù)階段是軟件生存期中時(shí)間最長(zhǎng)的一個(gè)階段,也是花費(fèi)的精力和費(fèi)用最多的一個(gè)階段。由于操作系統(tǒng)軟件和基礎(chǔ)軟件版本升級(jí)或應(yīng)用管理系統(tǒng)軟件的不斷開發(fā)、完善,需要對(duì)軟件進(jìn)行維護(hù)。但當(dāng)運(yùn)行環(huán)境改變或者系統(tǒng)功能、性能需求發(fā)生變化,使原軟件不能通過維護(hù)的手段滿足用戶需求時(shí),則需要進(jìn)行軟件更新。

1.軟件維護(hù)的類型:

軟件的開發(fā)過程對(duì)軟件的維護(hù)有較大的影響。若不采用軟件工程的方法開發(fā)軟件,則軟件只有程序而無文檔,維護(hù)工作非常困難,這是一種非結(jié)構(gòu)化的維護(hù)。若采用軟件工程的方法開發(fā)軟件,則各階段都有相應(yīng)的文檔,容易進(jìn)行維護(hù)工這是一種結(jié)構(gòu)化的維護(hù)。非結(jié)構(gòu)化維護(hù)活動(dòng)只能從閱讀、理解和分析源程序開始,這樣做難以弄清系統(tǒng)功能、軟件結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)等問題,常常造成誤解。同時(shí)由于沒有測(cè)試文檔,也不可能進(jìn)行回歸測(cè)試很難保證程序的正確性。這種軟件維護(hù)方法僅在軟件工程時(shí)代之前采用。在進(jìn)行結(jié)構(gòu)化維護(hù)活動(dòng)時(shí),需從評(píng)價(jià)需求說明開始,弄清楚軟件功能、性能上的改變;對(duì)設(shè)計(jì)說明文檔進(jìn)行評(píng)價(jià),并進(jìn)行修改和復(fù)查;根據(jù)設(shè)計(jì)的修改,進(jìn)行程序的變動(dòng);根據(jù)測(cè)試文檔中的測(cè)試用例進(jìn)行回歸測(cè)試;最后,把修改后的軟件再次交付使用。這對(duì)于減少精力、減少花費(fèi)和提高軟件維護(hù)效率有很大的作用。

2.軟件維護(hù)的困難:

軟件維護(hù)的困難主要是由于軟件需求分析和開發(fā)方法的缺陷造成的。軟件生存周期中的開發(fā)階段沒有嚴(yán)格而科學(xué)的管理和規(guī)劃,就會(huì)引起軟件運(yùn)行時(shí)的維護(hù)困難。這種困難表現(xiàn)在如下幾個(gè)方面。

(1)讀懂別人的程序是困難的。

(2)文檔的不一致性。這種不一致性表現(xiàn)在各種文檔之間的不一致以及文檔與程序之的不一致。

(3)軟件開發(fā)和軟件維護(hù)在人員和時(shí)間上存在差異。

(4)軟件維護(hù)不是一項(xiàng)吸引人的工作。

3. 軟件維護(hù)的費(fèi)用:

軟件維護(hù)的費(fèi)用在總費(fèi)用中的比重是不斷增加的,它在 1970 年占 35%~40%,1980 年上升到 40%~60%,1990 年上升到 70%~80%。軟件維護(hù)費(fèi)用不斷上升,這只是軟件維護(hù)有形的代價(jià),另外還有無形的代價(jià),即要占用更多的資源。由于大量軟件的維護(hù)活動(dòng)要使用較多的硬件、軟件和軟件人員等資源,這樣一來,投入新的軟件開發(fā)的資源就因不足而受到影響。由于維護(hù)時(shí)的改動(dòng),在軟件中引入了潛在的故障,從而降低了軟件的質(zhì)量。

4.軟件維護(hù)的分類

軟件維護(hù)有改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù) 4 類。

(1)改正性維護(hù)。在軟件交付使用后,由于開發(fā)時(shí)測(cè)試的不徹底、不完全,必然會(huì)有一部分隱藏的錯(cuò)誤被帶到運(yùn)行階段來,這些隱藏下來的錯(cuò)誤在某些特定的使用環(huán)境下就會(huì)暴露。為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性能上的缺陷、排除實(shí)施中的誤使用,應(yīng)當(dāng)進(jìn)行的診斷和改正錯(cuò)誤的過程,就叫做改正性維護(hù)。例如,改正性維護(hù)可以是改正原來程序中未使開關(guān)(off/on)復(fù)原的錯(cuò)誤;解決開發(fā)時(shí)未能測(cè)試各種可能情況帶來的問題;解決原來程序中遺漏處理文件中最后一個(gè)記錄的問題等。

(2)適應(yīng)性維護(hù)。隨著計(jì)算機(jī)的飛速發(fā)展,外部環(huán)境(新的硬、軟件配臵)或數(shù)據(jù)環(huán)境(數(shù)據(jù)庫(kù)、數(shù)據(jù)格式、數(shù)據(jù)輸入/輸出方式、數(shù)據(jù)存儲(chǔ)介質(zhì))可能發(fā)生變化,為了使軟件適應(yīng)這種變化,而去修改軟件的過程就叫做適應(yīng)性維護(hù)。例如,適應(yīng)性維護(hù)可以是為現(xiàn)有的某個(gè)應(yīng)用問題實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫(kù);對(duì)某個(gè)指定的事務(wù)編碼進(jìn)行修改,增加字符個(gè)數(shù);調(diào)整兩個(gè)程序,

使它們可以使用相同的記錄結(jié)構(gòu);修改程序,使其適用于另外一種終端。

(3)完善性維護(hù)。在軟件的使用過程中,用戶往往會(huì)對(duì)軟件提出新的功能與性能要求。為了滿足這些要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性,這種情況下進(jìn)行的維護(hù)活動(dòng)叫做完善性維護(hù)。例如,完善性維護(hù)可能是修改一個(gè)計(jì)算工資的程序,使其增加新的扣除項(xiàng)目;縮短系統(tǒng)的應(yīng)答時(shí)間,使其達(dá)到特定的要求;把現(xiàn)有程序的終端對(duì)話方式加以改造,使其具有方便用戶使用的界面;改進(jìn)圖形輸出;增加聯(lián)機(jī)幫助(Help)功能;為軟件的運(yùn)行增加監(jiān)控設(shè)施等。在維護(hù)階段的最初一兩年,改正性維護(hù)的工作量較大。隨著錯(cuò)誤發(fā)現(xiàn)率急劇降低,并趨于穩(wěn)定,就進(jìn)入了正常使用期。然而,由于改造的要求,適應(yīng)性維護(hù)和完善性維護(hù)的工作量逐步增加,在這種維護(hù)過程中又會(huì)引入新的錯(cuò)誤,從而加重了維護(hù)的工作量。實(shí)踐表明,在幾種維護(hù)活動(dòng)中,完善性維護(hù)所占的比重最大。即大部分維護(hù)工作是改變和加強(qiáng)軟件,而不是糾錯(cuò)。所以,維護(hù)并不一定是救火式的緊急維修,而可以是有計(jì)劃、有預(yù)謀的一種再開發(fā)活動(dòng)。事實(shí)證明,來自用戶要求而擴(kuò)充、加強(qiáng)軟件功能、性能的維護(hù)活動(dòng)約占整個(gè)維護(hù)工作的 50%。

(4)預(yù)防性維護(hù)。除了以上三類維護(hù)之外,還有一類維護(hù)活動(dòng),叫做預(yù)防性維護(hù)。這是為了提高軟件的可維護(hù)性、可靠性等,為以后進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)。通常,預(yù)防性維護(hù)定義為:“把今天的方法學(xué)用于昨天的系統(tǒng)以滿足明天的需要”。也就是說,采用先進(jìn)的軟件工程方法對(duì)需要維護(hù)的軟件或軟件中的某一部分(重新)進(jìn)行設(shè)計(jì)、編制和測(cè)試。

在整個(gè)軟件維護(hù)階段所花費(fèi)的全部工作量中,預(yù)防性維護(hù)只占很小的比例,而完善性維護(hù)占了幾乎一半的工作量,軟件維護(hù)活動(dòng)所花費(fèi)的工作占整個(gè)生存期工作量的 70%以上。這是由于在漫長(zhǎng)的軟件運(yùn)行過程中需要不斷對(duì)軟件進(jìn)行修改,以改正新發(fā)現(xiàn)的錯(cuò)誤、適應(yīng)新的環(huán)境和用戶新的要求。這些修改需要花費(fèi)很多精力和時(shí)間,而且有時(shí)修改不正確,還會(huì)引入新的錯(cuò)誤。同時(shí),軟件維護(hù)技術(shù)不像開發(fā)技術(shù)那樣成熟、規(guī)范化,消耗工作量自然就比較多。

5.軟件維護(hù):

(1)數(shù)據(jù)維護(hù)

大多應(yīng)用軟件的數(shù)據(jù)隨著應(yīng)用規(guī)模的日益擴(kuò)大和用戶環(huán)境的迅速發(fā)展,不但基礎(chǔ)信息,其他所有專題信息也需要經(jīng)常地進(jìn)行維護(hù)和更新。應(yīng)根據(jù)系統(tǒng)的規(guī)模和實(shí)際需求,建立系統(tǒng)的數(shù)據(jù)維護(hù)更新機(jī)制,規(guī)定數(shù)據(jù)維護(hù)更新的周期,使系統(tǒng)的所有數(shù)據(jù)均相對(duì)地始終處于最新的狀態(tài)。數(shù)據(jù)對(duì)一個(gè)軟件的重要性,越來越被人們認(rèn)識(shí)。但是,數(shù)據(jù)如果不經(jīng)常更新,則有可能失去應(yīng)用價(jià)值,這是每個(gè)軟件維護(hù)和運(yùn)行所應(yīng)重視的問題。

(2)硬件維護(hù)

在軟件運(yùn)行的過程中,應(yīng)建立硬件設(shè)備的日常維護(hù)制度,并根據(jù)設(shè)備的使用說明進(jìn)行及時(shí)的維護(hù),以保證設(shè)備完好和系統(tǒng)的正常運(yùn)行。但當(dāng)設(shè)備的處理能力達(dá)不到要求,或者設(shè)備本身已經(jīng)過時(shí)、淘汰,或者設(shè)備損壞,買不到零配件,或者修理不值得時(shí),應(yīng)考慮硬件更新。系統(tǒng)硬件更新應(yīng)按關(guān)于硬件評(píng)價(jià)指標(biāo)的規(guī)定要求重新進(jìn)行選型。

(3)軟件維護(hù)的原因

要求進(jìn)行軟件維護(hù)的原因多種多樣,歸結(jié)起來有 3 種類型。改正在特定的使用條件下暴露出來的一些潛在程序錯(cuò)誤或設(shè)計(jì)缺陷。因在軟件使用過程中數(shù)據(jù)環(huán)境發(fā)生變化(例如,一個(gè)事務(wù)處理代碼發(fā)生改變)或處理環(huán)境發(fā)生變化(例如,安裝了新的硬件或操作系統(tǒng)),需要修改軟件以適應(yīng)這種變化。用戶和數(shù)據(jù)處理人員在使用時(shí)常提出改進(jìn)現(xiàn)有功能、增加新的功能,以及改善總體性能的要求,為滿足這些要求,就需要修改軟件把這些要求納入到軟件之中。

6. 軟件維護(hù)的過程

一個(gè)維護(hù)申請(qǐng)?zhí)岢鲋?,?jīng)評(píng)審需要維護(hù),則按下列過程實(shí)施維護(hù)。

(1)首先要確定進(jìn)行維護(hù)的類型。在許多情況下,用戶可以把一個(gè)請(qǐng)求看作改正性維護(hù),而軟件開發(fā)者可以把這個(gè)請(qǐng)求看作適應(yīng)性或完善性維護(hù)。此時(shí),對(duì)不同觀點(diǎn)就需要協(xié)商解決。

(2)對(duì)改正性維護(hù)從評(píng)價(jià)錯(cuò)誤的嚴(yán)重性開始。如果存在一個(gè)嚴(yán)重的錯(cuò)誤,例如,一個(gè)系統(tǒng)的重要功能不能執(zhí)行,則有管理者組織有關(guān)人員立即開始分析問題。如果錯(cuò)誤并不嚴(yán)重,

則改正性維護(hù)與軟件其他任務(wù)一起進(jìn)行,統(tǒng)一安排,按計(jì)劃進(jìn)行維護(hù)工作。

(3)適應(yīng)性和完善性維護(hù)如同它是另一個(gè)開發(fā)工作一樣,建立每個(gè)請(qǐng)求的優(yōu)先權(quán),安排所需求的工作。

(4)實(shí)施維護(hù)任務(wù)。不管維護(hù)類型如何,大體上要開展相同的技術(shù)工作。這些工作包括修改軟件設(shè)計(jì)、必要的代碼修改、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試及復(fù)審。每種維護(hù)類型的側(cè)重點(diǎn)不一樣。

(5)“救火”式維護(hù)。并不完全適合上面所述的經(jīng)過仔細(xì)考慮的維護(hù)申請(qǐng),而是對(duì)于出現(xiàn)突發(fā)性的重大故障的維護(hù)。

以上是我對(duì)軟件工程中軟件維護(hù)的初步認(rèn)識(shí),以后我會(huì)更加努力的學(xué)習(xí)軟件工程這門課程。

軟件工程學(xué)習(xí)心得體會(huì)三:學(xué)習(xí)軟件工程的心得體會(huì)(933字)

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

軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。

軟件生存周期:一個(gè)軟件從定義到開發(fā)、使用和維護(hù),直到最終被棄用,要經(jīng)歷一個(gè)漫長(zhǎng)的時(shí)期,通常把軟件經(jīng)歷的這個(gè)漫長(zhǎng)的時(shí)期稱為生存周期。軟件的生存周期可分為八個(gè)階段:①問題定義;②可行性研究;③需求分析;④總體(概要)設(shè)計(jì);⑤詳細(xì)設(shè)計(jì);⑥編碼與單元測(cè)試;⑦綜合測(cè)試;⑧軟件維護(hù); 瀑布模式:原型進(jìn)化模式:增量模式:螺旋模式:

軟件開發(fā)的整個(gè)過程:①需要項(xiàng)目團(tuán)隊(duì),組建優(yōu)秀的團(tuán)隊(duì)可以開發(fā)出更搞質(zhì)量的軟件產(chǎn)品。任務(wù)開發(fā)團(tuán)隊(duì)要求小而精,成員大多在8人以內(nèi),主要成員有項(xiàng)目負(fù)責(zé)人、開發(fā)人員、資料管理員和軟件測(cè)試員。②項(xiàng)目計(jì)劃是為了使軟件開發(fā)各項(xiàng)工作有秩序地進(jìn)行,包括任務(wù)分配和基于里程碑的進(jìn)度安排,甘特圖和任務(wù)網(wǎng)絡(luò)圖是用來描述進(jìn)度計(jì)劃的工具。項(xiàng)目計(jì)劃書可以作為軟件開發(fā)的工作指南。③項(xiàng)目成本估算,由于項(xiàng)目有來自各方面的成本包括工資開支、場(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)防范。⑤軟件文檔管理,軟件文檔是工程模式軟件開發(fā)的成果體現(xiàn),包括技術(shù)文檔、管理文檔和用戶文檔。 ⑥軟件配置管理與軟件質(zhì)量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質(zhì)量控制計(jì)劃。

《軟件工程》課程既強(qiáng)調(diào)基本概念和基本知識(shí)的理解和掌握,又側(cè)重軟件項(xiàng)目的分析、設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)的基本技能。比較注意“點(diǎn)”和“面”的結(jié)合。我還是蠻喜歡這門課的,通過對(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)。

更多信息請(qǐng)查看工作總結(jié)
易賢網(wǎng)手機(jī)網(wǎng)站地址:軟件工程學(xué)習(xí)心得體會(huì)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)