- 軟件工程學(xué)習心得體會 推薦度:
- 相關(guān)推薦
軟件工程學(xué)習心得體會
我們從一些事情上得到感悟后,有這樣的時機,要好好記錄下來,這樣有利于培養(yǎng)我們思考的習慣。怎樣寫好心得體會呢?下面是小編精心整理的軟件工程學(xué)習心得體會,供大家參考借鑒,希望可以幫助到有需要的朋友。
軟件工程學(xué)習心得體會1
作為一個計算機相關(guān)專業(yè)的學(xué)生,學(xué)習軟件工程概論課程是必不可少的環(huán)節(jié),這門課程為我們提供了對軟件工程學(xué)科的基礎(chǔ)認知和框架規(guī)劃,同時也為我們在未來的學(xué)習和工作中打下了堅實的基礎(chǔ)。在這門課程中,我認真學(xué)習、反思,從中獲得了不少收獲和體會。下面,我將從以下四個方面展開我的學(xué)習心得,并結(jié)合自身的經(jīng)歷,談?wù)勎业睦斫夂退伎肌?/p>
第二段:軟件工程學(xué)科的基本認識
學(xué)習軟件工程概論,我們首先需要了解軟件工程學(xué)科的基本認識。首先,軟件工程是一個系統(tǒng)性的學(xué)科,其目的是確保軟件的質(zhì)量和效率,最終達到客戶和開發(fā)者雙方的需求。其次,軟件工程的目標是建立高質(zhì)量、可靠、易維護的軟件系統(tǒng),在項目計劃、需求定義、軟件設(shè)計、測試等各個階段下工作,最終形成一個完整的軟件開發(fā)生命周期。同時,軟件工程學(xué)科也需要同時考慮工程學(xué)、計算機科學(xué)和管理科學(xué)等多個學(xué)科的知識結(jié)構(gòu),要順應(yīng)軟件市場、技術(shù)骨干和客戶需求,利用日新月異的技術(shù)、方法和工具不斷提高軟件工程的水平。
第三段:軟件工程的主要原則和方法
軟件工程的實踐和研究不僅需要基本認識和知識框架,還需要深入了解軟件工程的主要原則和方法。軟件工程的主要原則包括:分階段開發(fā)、模塊化設(shè)計、適應(yīng)性規(guī)劃、嚴格記錄和文檔、提前預(yù)防和檢測、先進的.技術(shù)和工具等。軟件工程的主要方法包括:結(jié)構(gòu)化的系統(tǒng)分析和設(shè)計、模型驅(qū)動的開發(fā)、敏捷的方法和迭代式的開發(fā)過程等。具體方法的選擇應(yīng)根據(jù)具體的需求和現(xiàn)實情況,要根據(jù)實際情況精選方法、工具和流程,不斷更新和完善軟件工程的理論體系。
第四段:軟件工程的社會價值
軟件工程不僅是一門學(xué)科,更代表了一種價值觀和責任感。它對于人類社會的發(fā)展和進步扮演著重要的角色。在當今信息技術(shù)迅速發(fā)展的時代,軟件工程已成為技術(shù)與社會相結(jié)合的橋梁和紐帶。軟件工程的社會價值包括:提高信息處理和科技發(fā)展水平、提高軟件開發(fā)和維護效率、創(chuàng)造高質(zhì)量和高性能的軟件、優(yōu)化各行各業(yè)的流程和管理、推動工業(yè)化和信息化協(xié)同發(fā)展、加強個人和團隊協(xié)作能力等。軟件工程的社會價值無處不在,是不可忽視的一部分。
第五段:結(jié)語
在這門軟件工程概論課程中,我了解了軟件工程學(xué)科的基本認識,深入學(xué)習了軟件工程的主要原則和方法,并且認識到了軟件工程的社會價值。通過學(xué)習軟件工程,我不僅拓展了自己的知識面,也意識到了自己在未來的專業(yè)發(fā)展中需要掌握的技能和素養(yǎng)。軟件工程是一門學(xué)科,也是一種責任感和價值觀念。我相信,在未來的實踐和研究中,我會不斷學(xué)習和探索,為軟件開發(fā)行業(yè)做出自己的貢獻。
軟件工程學(xué)習心得體會2
通過這半學(xué)期我對軟件工程的學(xué)習,老師在課堂上從軟件工程的基礎(chǔ)到用戶的需求分析,最后到黑盒白盒測試通過自身做過的一些案例,生動形象的講解了軟件工程這門本身枯燥乏味的課程,這不僅增強了學(xué)生學(xué)習的積極性,也通過讓我們自己去做一些需求分析,我們從中學(xué)到了許多知識。
老師不僅僅在課堂上對我們悉心的知道,在課外還讓我們多看一些有關(guān)軟件工程方面最前沿的理論,通過這段時間我讀了《軟件工程——實踐者的研究方法》、《件工程案例》這兩本書,通過自己的讀書學(xué)習,我有以下心得體會。
眾所周知軟件對于一個公司,一個企業(yè)乃至一個國家都是十分重要的,因此一個軟件的維護也十分重要,下面我就講一些關(guān)于軟件維護的知識。
維護階段是軟件生存期中時間最長的一個階段,也是花費的精力和費用最多的一個階段。由于操作系統(tǒng)軟件和基礎(chǔ)軟件版本升級或應(yīng)用管理系統(tǒng)軟件的不斷開發(fā)、完善,需要對軟件進行維護。但當運行環(huán)境改變或者系統(tǒng)功能、性能需求發(fā)生變化,使原軟件不能通過維護的手段滿足用戶需求時,則需要進行軟件更新。
1.軟件維護的類型:
軟件的開發(fā)過程對軟件的維護有較大的影響。若不采用軟件工程的方法開發(fā)軟件,則軟件只有程序而無文檔,維護工作非常困難,這是一種非結(jié)構(gòu)化的維護。若采用軟件工程的方法開發(fā)軟件,則各階段都有相應(yīng)的文檔,容易進行維護工這是一種結(jié)構(gòu)化的維護。非結(jié)構(gòu)化維護活動只能從閱讀、理解和分析源程序開始,這樣做難以弄清系統(tǒng)功能、軟件結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)等問題,常常造成誤解。同時由于沒有測試文檔,也不可能進行回歸測試很難保證程序的正確性。這種軟件維護方法僅在軟件工程時代之前采用。在進行結(jié)構(gòu)化維護活動時,需從評價需求說明開始,弄清楚軟件功能、性能上的改變;對設(shè)計說明文檔進行評價,并進行修改和復(fù)查;根據(jù)設(shè)計的修改,進行程序的變動;根據(jù)測試文檔中的測試用例進行回歸測試;最后,把修改后的軟件再次交付使用。這對于減少精力、減少花費和提高軟件維護效率有很大的作用。
2.軟件維護的困難:
軟件維護的困難主要是由于軟件需求分析和開發(fā)方法的缺陷造成的。軟件生存周期中的開發(fā)階段沒有嚴格而科學(xué)的管理和規(guī)劃,就會引起軟件運行時的`維護困難。這種困難表現(xiàn)在如下幾個方面。
(1)讀懂別人的程序是困難的。
。2)文檔的不一致性。這種不一致性表現(xiàn)在各種文檔之間的不一致以及文檔與程序之的不一致。
。3)軟件開發(fā)和軟件維護在人員和時間上存在差異。
(4)軟件維護不是一項吸引人的工作。
3. 軟件維護的費用:
軟件維護的費用在總費用中的比重是不斷增加的,它在 1970 年占 35%~40%,1980 年上升到 40%~60%,1990 年上升到 70%~80%。軟件維護費用不斷上升,這只是軟件維護有形的代價,另外還有無形的代價,即要占用更多的資源。由于大量軟件的維護活動要使用較多的硬件、軟件和軟件人員等資源,這樣一來,投入新的軟件開發(fā)的資源就因不足而受到影響。由于維護時的改動,在軟件中引入了潛在的故障,從而降低了軟件的質(zhì)量。
4.軟件維護的分類
軟件維護有改正性維護、適應(yīng)性維護、完善性維護和預(yù)防性維護 4 類。
(1)改正性維護。在軟件交付使用后,由于開發(fā)時測試的不徹底、不完全,必然會有一部分隱藏的錯誤被帶到運行階段來,這些隱藏下來的錯誤在某些特定的使用環(huán)境下就會暴露。為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、排除實施中的誤使用,應(yīng)當進行的診斷和改正錯誤的過程,就叫做改正性維護。例如,改正性維護可以是改正原來程序中未使開關(guān)(off/on)復(fù)原的錯誤;解決開發(fā)時未能測試各種可能情況帶來的問題;解決原來程序中遺漏處理文件中最后一個記錄的問題等。
(2)適應(yīng)性維護。隨著計算機的飛速發(fā)展,外部環(huán)境(新的硬、軟件配置)或數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入/輸出方式、數(shù)據(jù)存儲介質(zhì))可能發(fā)生變化,為了使軟件適應(yīng)這種變化,而去修改軟件的過程就叫做適應(yīng)性維護。例如,適應(yīng)性維護可以是為現(xiàn)有的某個應(yīng)用問題實現(xiàn)一個數(shù)據(jù)庫;對某個指定的事務(wù)編碼進行修改,增加字符個數(shù);調(diào)整兩個程序,使它們可以使用相同的記錄結(jié)構(gòu);修改程序,使其適用于另外一種終端。
。3)完善性維護。在軟件的使用過程中,用戶往往會對軟件提出新的功能與性能要求。為了滿足這些要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性,這種情況下進行的維護活動叫做完善性維護。例如,完善性維護可能是修改一個計算工資的程序,使其增加新的扣除項目;縮短系統(tǒng)的應(yīng)答時間,使其達到特定的要求;把現(xiàn)有程序的終端對話方式加以改造,使其具有方便用戶使用的界面;改進圖形輸出;增加聯(lián)機幫助(Help)功能;為軟件的運行增加監(jiān)控設(shè)施等。在維護階段的最初一兩年,改正性維護的工作量較大。隨著錯誤發(fā)現(xiàn)率急劇降低,并趨于穩(wěn)定,就進入了正常使用期。然而,由于改造的要求,適應(yīng)性維護和完善性維護的工作量逐步增加,在這種維護過程中又會引入新的錯誤,從而加重了維護的工作量。實踐表明,在幾種維護活動中,完善性維護所占的比重最大。即大部分維護工作是改變和加強軟件,而不是糾錯。所以,維護并不一定是救火式的緊急維修,而可以是有計劃、有預(yù)謀的一種再開發(fā)活動。事實證明,來自用戶要求而擴充、加強軟件功能、性能的維護活動約占整個維護工作的 50%。
。4)預(yù)防性維護。除了以上三類維護之外,還有一類維護活動,叫做預(yù)防性維護。這是為了提高軟件的可維護性、可靠性等,為以后進一步改進軟件打下良好基礎(chǔ)。通常,預(yù)防性維護定義為:“把今天的方法學(xué)用于昨天的系統(tǒng)以滿足明天的需要”。也就是說,采用先進的軟件工程方法對需要維護的軟件或軟件中的某一部分(重新)進行設(shè)計、編制和測試。
在整個軟件維護階段所花費的全部工作量中,預(yù)防性維護只占很小的比例,而完善性維護占了幾乎一半的工作量,軟件維護活動所花費的工作占整個生存期工作量的 70%以上。這是由于在漫長的軟件運行過程中需要不斷對軟件進行修改,以改正新發(fā)現(xiàn)的錯誤、適應(yīng)新的環(huán)境和用戶新的要求。這些修改需要花費很多精力和時間,而且有時修改不正確,還會引入新的錯誤。同時,軟件維護技術(shù)不像開發(fā)技術(shù)那樣成熟、規(guī)范化,消耗工作量自然就比較多。
5.軟件維護:
。1)數(shù)據(jù)維護
大多應(yīng)用軟件的數(shù)據(jù)隨著應(yīng)用規(guī)模的日益擴大和用戶環(huán)境的迅速發(fā)展,不但基礎(chǔ)信息,其他所有專題信息也需要經(jīng)常地進行維護和更新。應(yīng)根據(jù)系統(tǒng)的規(guī)模和實際需求,建立系統(tǒng)的數(shù)據(jù)維護更新機制,規(guī)定數(shù)據(jù)維護更新的周期,使系統(tǒng)的所有數(shù)據(jù)均相對地始終處于最新的狀態(tài)。數(shù)據(jù)對一個軟件的重要性,越來越被人們認識。但是,數(shù)據(jù)如果不經(jīng)常更新,則有可能失去應(yīng)用價值,這是每個軟件維護和運行所應(yīng)重視的問題。
。2)硬件維護
在軟件運行的過程中,應(yīng)建立硬件設(shè)備的日常維護制度,并根據(jù)設(shè)備的使用說明進行及時的維護,以保證設(shè)備完好和系統(tǒng)的正常運行。但當設(shè)備的處理能力達不到要求,或者設(shè)備本身已經(jīng)過時、淘汰,或者設(shè)備損壞,買不到零配件,或者修理不值得時,應(yīng)考慮硬件更新。系統(tǒng)硬件更新應(yīng)按關(guān)于硬件評價指標的規(guī)定要求重新進行選型。
。3)軟件維護的原因
要求進行軟件維護的原因多種多樣,歸結(jié)起來有 3 種類型。改正在特定的使用條件下暴露出來的一些潛在程序錯誤或設(shè)計缺陷。因在軟件使用過程中數(shù)據(jù)環(huán)境發(fā)生變化(例如,一個事務(wù)處理代碼發(fā)生改變)或處理環(huán)境發(fā)生變化(例如,安裝了新的硬件或操作系統(tǒng)),需要修改軟件以適應(yīng)這種變化。用戶和數(shù)據(jù)處理人員在使用時常提出改進現(xiàn)有功能、增加新的功能,以及改善總體性能的要求,為滿足這些要求,就需要修改軟件把這些要求納入到軟件之中。
6. 軟件維護的過程
一個維護申請?zhí)岢鲋螅?jīng)評審需要維護,則按下列過程實施維護。
(1)首先要確定進行維護的類型。在許多情況下,用戶可以把一個請求看作改正性維護,而軟件開發(fā)者可以把這個請求看作適應(yīng)性或完善性維護。此時,對不同觀點就需要協(xié)商解決。
。2)對改正性維護從評價錯誤的嚴重性開始。如果存在一個嚴重的錯誤,例如,一個系統(tǒng)的重要功能不能執(zhí)行,則有管理者組織有關(guān)人員立即開始分析問題。如果錯誤并不嚴重,則改正性維護與軟件其他任務(wù)一起進行,統(tǒng)一安排,按計劃進行維護工作。
(3)適應(yīng)性和完善性維護如同它是另一個開發(fā)工作一樣,建立每個請求的優(yōu)先權(quán),安排所需求的工作。
(4)實施維護任務(wù)。不管維護類型如何,大體上要開展相同的技術(shù)工作。這些工作包括修改軟件設(shè)計、必要的代碼修改、單元測試、集成測試、確認測試及復(fù)審。每種維護類型的側(cè)重點不一樣。
。5)“救火”式維護。并不完全適合上面所述的經(jīng)過仔細考慮的維護申請,而是對于出現(xiàn)突發(fā)性的重大故障的維護。
以上是我對軟件工程中軟件維護的初步認識,以后我會更加努力的學(xué)習軟件工程這門課程。
軟件工程學(xué)習心得體會3
學(xué)習了這門課程, 還有老師們的多元化教課,不但使我們從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合,老師主要是從六個方面來描述軟件工程,分別是信息和多媒體,JAVA編程技術(shù),數(shù)據(jù)庫系統(tǒng),布線系統(tǒng),管理信息系統(tǒng),網(wǎng)絡(luò)編程.有很多都是老師們多年的工作經(jīng)驗的總結(jié),下面是我聽課后自己的一點心得和自己對軟件開發(fā)一點感想,我知道還有好多的不懂,只有通過不斷的學(xué)習才能一一解開。
信息和多媒體
課中老師給出一些案例,其中主要展示了Authorware,Visual Basic軟件,讓我了解信息多媒體中,用Authorware開發(fā)出的一些管理系統(tǒng),并用在觸摸屏上,而在實際的生活中是很多見的,比如在什么展覽廳中,在開發(fā)這類軟件中特別要注意的地方是界面方面和功能方面要一目了然,要想像一下別人在用你系統(tǒng)的時候是用手指去觸摸操作而不是鼠標,特別在數(shù)據(jù)庫后臺的時候是整機的,所以在設(shè)計時一定要求完美,做成系統(tǒng)就不應(yīng)該有什么要改的,還有要有擴展性,可方便的與各種外部設(shè)備掛接,實現(xiàn)數(shù)據(jù)交換,所以在這方面開發(fā)的時候,一定要從用戶的角度來看,思維不能用傳統(tǒng)的開發(fā)思想,我認為做這類系統(tǒng)時候,并不是開發(fā)環(huán)境的難點,最重要的是思維的轉(zhuǎn)變,這樣才能做出用戶用得滿意的系統(tǒng)。
JAVA
這門語言的發(fā)展是相當迅速的,老師關(guān)鍵講了Jsp,目前流行的四種開發(fā)WEB頁語言,Jsp,Asp,Php,Asp.net,而Jsp是從JAVA語言中派生出來的,繼承了JAVA的優(yōu)良性,所以Jsp的強大之處就在這了,輕松的跨越操作系統(tǒng)的平臺,而且他不像Asp, 所有的解析全部由IIS 來完成, 量過大時,IIS就無能為力,,Jsp和Tomcat的組合是相當完美的,Tomcat的強大之處就在他在處理請求頁面的時候?qū)崿F(xiàn)了多線程分配,這樣就能保證訪問量不會過量占用內(nèi)存和CPU,在開發(fā)Jsp的時候,老師給我們一款式Jcreater,可以看到JAVA的開發(fā)工具界面都是非常友好,Jsp與Asp有許多相類的地方,相比較,Jsp有兩方面的優(yōu)點,首先,動態(tài)部分用JAVA編寫,而不是VB Script或其他Microsoft語言,不僅功能更強大而且易于使用.第二,Jsp應(yīng)用可以移植其它的操作系統(tǒng)和非Microsoft的web服務(wù)器上.再者Jsp的安全性和訪問速度也是在其它幾個web開發(fā)語言中出類撥萃,JAVA語言的純面向?qū)ο笞屛覀冊贘sp中得到真正的體現(xiàn),Jsp的后臺數(shù)據(jù)庫很隨意,不過Mysql是最佳選擇,其實在掌握了Asp的開發(fā)后,我認為Jsp的開發(fā)就是在于語言的不同,數(shù)據(jù)庫的開發(fā)思想都是相通,最重要是做些開發(fā),慢慢的就知道其中的一些技巧和經(jīng)驗。
數(shù)據(jù)庫系統(tǒng)
計算機中最重要就是數(shù)據(jù),現(xiàn)在數(shù)據(jù)庫中比較大型號的系統(tǒng)就是SQL SERVER,MY SQL,ORACLE,在windows下最常用的是SQL SERVER,從數(shù)據(jù)庫的設(shè)計到數(shù)據(jù)庫的實現(xiàn), DBMS的研制包括研制DBMS本身以及以DBMS為核心的一組相互聯(lián)系的軟件系統(tǒng)。研制的目標是擴大功能、提高性能和提高用戶的生產(chǎn)率, 數(shù)據(jù)庫設(shè)計的主要任務(wù)是在DBMS的支持下,按照應(yīng)用的要求,為某一部門或組織設(shè)計一個結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng),在我們使用的SQL SERVER中,其實是把數(shù)據(jù)庫原理都己封裝好,所以我們就只是新建Database,再建Table,我們只是需要調(diào)用就行,再用SQL語句來實現(xiàn),讀取,添加,刪除,修改,更新等功能,數(shù)據(jù)庫對于用戶來說就是這些基本的功能,數(shù)據(jù)庫理論主要集中于關(guān)系數(shù)據(jù)的規(guī)范化理論,關(guān)系數(shù)據(jù)理論,但隨著人工智能與數(shù)據(jù)庫理論的結(jié)合,新的數(shù)據(jù)庫理論如演繹數(shù)據(jù)庫系統(tǒng),知識庫系統(tǒng),隨著數(shù)據(jù)庫的發(fā)展,以后的各個領(lǐng)域都將有數(shù)據(jù)庫系統(tǒng)的存在,數(shù)據(jù)庫將和我們的生活緊密相連,新型數(shù)據(jù)庫理論的出現(xiàn)必將有新的數(shù)據(jù)庫系統(tǒng),而新的系統(tǒng)將趨于界面簡潔化,使用簡單化,功能強大化,可擴展性強,還有就是智能性強!
布線系統(tǒng)
課上老師從他做過幾個工程來講,其中自上而下的設(shè)計思路很是有用,就是從頂層開始,網(wǎng)絡(luò)服務(wù),NetwokrSystem,硬件系統(tǒng),OA_CA_BA,網(wǎng)絡(luò)系統(tǒng),綜合布線,樓層,設(shè)計是從上而下,而實施時是從下而上的,這樣就有一個比較開放的設(shè)計模式,在以后的大樓中,都會是樓宇自動化和智能大廈,而綜合布線系統(tǒng)則更是要考慮各方面的困素,如樓層的設(shè)計,你設(shè)計出來的布線系統(tǒng)一定要符合大樓的實際情況,這樣才能做到因地制宜,從根本上做好。
綜合布線系統(tǒng)可劃分成六個部分,其中三個子系統(tǒng):配線(水平)子系統(tǒng);干線(垂直)子系統(tǒng);建筑群子系統(tǒng);外加三個部分:工作區(qū)、設(shè)備間、管理獨立的需要設(shè)置終端設(shè)備的區(qū)域宜劃分為一個工作區(qū)。工作區(qū)應(yīng)由配線布線系統(tǒng)的信息插座延伸到工作站終端設(shè)備處的連接電纜及適配器組成。
工作區(qū)的每一個信息插座均應(yīng)支持電話機、數(shù)據(jù)終端、計算機、電視機及監(jiān)視器等終端的設(shè)置和安裝。
配線子系統(tǒng)應(yīng)由工作區(qū)的信息插座、信息插座至樓層配線設(shè)備(FD)的配線電纜或光纜、樓層配線設(shè)備和跳線等組成。
干線子系統(tǒng)應(yīng)由設(shè)備間的建筑物配線設(shè)備(BD)和跳線以及設(shè)備間至各樓層配線間的干線電纜組成, 干線子系統(tǒng)應(yīng)由設(shè)備間的建筑物配線設(shè)備(BD)和跳線以及設(shè)備間至各樓層配線間的干線電纜組成。
設(shè)備間是在每一幢大樓的適當?shù)攸c設(shè)置電信設(shè)備和計算機網(wǎng)絡(luò)設(shè)備,以及建筑物配線設(shè)備,進行網(wǎng)絡(luò)管理的`場所。對于綜合布線工程設(shè)計,設(shè)備間主要安裝建筑物配線設(shè)備(BD)。電話、計算機等各種主機設(shè)備及引入設(shè)備可合裝在一起。 設(shè)備間內(nèi)的所有總配線設(shè)備應(yīng)用色標區(qū)別各類用途的配線區(qū)上面都所都是書上的一些慨念性知識,在設(shè)計上劃分這些子系統(tǒng)時就是從這些慨念來區(qū)分,這樣就能在本質(zhì)上區(qū)別他們之間的不同,就像老師所說,跟著別人做一次工程,就什么都明白了,設(shè)計布線系統(tǒng)一定要從做實際出發(fā),做過幾次后,一些程管理信息系統(tǒng) 信息系統(tǒng)(Information System, IS):基于計算機技術(shù)、網(wǎng)絡(luò)互聯(lián)技術(shù)、現(xiàn)代通訊技術(shù)和各種軟件技術(shù),各種理論和方法于一體,提供信息服務(wù)的人機系統(tǒng).它的組成是信息源,信息處理器,信息用戶,信息存儲器,信息管理者和傳輸通道。
在信息系統(tǒng)中
信息管理者起著主導(dǎo)作用,做一個信息系統(tǒng)是要靠幾個人一起合作的,信息系統(tǒng)開發(fā)的階段可分為,規(guī)劃階段,分析階段,設(shè)計階段,實施階段,支持階段,其中最重要的就是第一階段,它是由系統(tǒng)分析員,也是總體的設(shè)計師設(shè)計師完成,而我們傳統(tǒng)的思想中的程序員寫的代碼應(yīng)該是很重要的,但是事實上并不是這樣,代碼的編寫是在實施階段,所以不要以為在做系統(tǒng)時,代碼是很重要的,可能我們在做系統(tǒng)時,從規(guī)劃到實施都是一個人來完成,所以并沒有意識到設(shè)計的重要性,只有一個好的設(shè)計才能從根本做一個好的系統(tǒng)!
網(wǎng)絡(luò)編程
在網(wǎng)絡(luò)編程中可以用到的語言有很多,VB,VC,C++,JAVA,Delphi,還有就是微軟VS.net,它是從框架的模式來總估設(shè)計,最新的Delphi20xx也是支持.net框架,框架的慨念我個認為是, .net框架的核心是通用語言運行,.net框架中的類為開發(fā)人員提供了統(tǒng)一的,面向?qū)ο蟮?層次化的,可擴展性的類庫集(API),現(xiàn)今,C++開發(fā)人員使用的是微軟基礎(chǔ)類庫,JAVA人員使用的是WINDOWS基礎(chǔ)類庫,而Visual Basic用戶使用的又是Visual Basic API集.就是說.net框架統(tǒng)一了微軟當前同的框架,這樣,開發(fā)人員不再而需要學(xué)習多種框架就能順利編程.還有就是通過創(chuàng)建一個公共的跨編程語言的API集,.net框架可實現(xiàn)跨語言繼承性,錯誤處理功能和調(diào)試,實際上,從Jscript到C++的所有編程語言都是相互的,開發(fā)人員可以自由選擇理想的編程語言.網(wǎng)絡(luò)編程在現(xiàn)在己成為一種流行的趨勢,互連網(wǎng)的迅猛發(fā)展讓網(wǎng)絡(luò)編程成為程序員發(fā)展的新空間,而以后什么語言最流行,可能就是JAVA,VS.net,Delphi這三種語言占大數(shù)了,記得比爾蓋次曾經(jīng)說過,我們的編程水平還是非常的低,在以后的時間將有很大的發(fā)展空間,很可能我們以后所用的系統(tǒng)也許就高語音識別,或人的觸覺來操作.而在我們身邊,QQ這個軟件可以說是中國人開發(fā)的最為成功的網(wǎng)絡(luò)軟件,不但是方便使用而且成為當前互連網(wǎng)上最可靠的點到點的網(wǎng)絡(luò)傳輸工具,還記得原來用的第一款QQ軟件,就只能單純發(fā)文字,當然也是互連網(wǎng)的發(fā)展給了QQ一個非常好機遇,網(wǎng)絡(luò)編程的發(fā)展讓我們在互連網(wǎng)通訊越來越方便,對我們學(xué)計算機的人也是機遇和挑戰(zhàn).并存。
以上就是學(xué)習這門課程的心得,軟件工程并不是教你怎么寫程序而是教你在理論上如何設(shè)計最為成功的軟件開發(fā),學(xué)完后也許認為什么都沒有學(xué)到,但是在做軟件開發(fā)上它能給你指導(dǎo),設(shè)計出可靠,可行,可實施的方案。
軟件工程學(xué)習心得體會4
一、需求分析和概要設(shè)計。
1)需求分析
按照軟件工程的軟件過程來說:
1需求分析產(chǎn)生了軟件功能規(guī)格說明書,需要確定用戶對軟件的需求,要作到明確、無歧義。不涉及具體實現(xiàn)方法。用戶能看得明白,開發(fā)人員也可據(jù)此進行下面的工作(概要設(shè)計)。
2.概要設(shè)計產(chǎn)生了軟件概要設(shè)計說明書,說明系統(tǒng)模塊劃分、選擇的技術(shù)路線等,整體說明軟件的實現(xiàn)思路。并且需要指出關(guān)鍵技術(shù)難點等。
在進行需求分析時,我們既是開發(fā)者又是用戶,本系統(tǒng)的業(yè)務(wù)流程與業(yè)務(wù)分類的定義比較難。我們的團隊進行了研討,還充分運用了身邊的各種資源,大量的查找了很多網(wǎng)絡(luò)上關(guān)于工資系統(tǒng)的資料。通過資料的進行討論、根據(jù)我們的課題進行分析,最后確定了用戶的需求為:
1.本系統(tǒng)在高校應(yīng)用后高校工資管理方面的教職工將減少至目前的50%左右;
2.本系統(tǒng)在高校應(yīng)用后將在高校各方面的成本將會有所降低;
3.本系統(tǒng)在高校應(yīng)用后將教職工的工資達到完全透明,計算更加精確教職工因糾紛事件減少到1%。 根據(jù)分析將系統(tǒng)的功能從一般教職工與系統(tǒng)管理者兩個角度將功能劃分為7個模塊,當然介于我們的知識有限,有的功能沒有實現(xiàn):員工工資與考勤直接掛鉤,但本系統(tǒng)無法與員工考勤系統(tǒng)掛鉤相連,由于涉及此系統(tǒng)時該高校并沒有員工考勤系統(tǒng),而且我們在最初進行商量的時候也沒有提出該要求。
2)概要設(shè)計
從概要階段開發(fā)正式進入軟件的實際開發(fā)階段,本階段完成系統(tǒng)的大致設(shè)計并明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與軟件結(jié)構(gòu)。在軟件設(shè)計階段主要是把一個軟件需求轉(zhuǎn)化為軟件表示的'過程,這種表示只是描繪出軟件的總的概貌。由概要設(shè)計說產(chǎn)生大的概要說明書的目的就是進一步細化軟件設(shè)計階段得出的軟件總體概貌,把它加工成在程序細節(jié)上非常接近于源程序的軟件表示。
在本階段主要涉及處理流程的設(shè)計、總體結(jié)構(gòu)和模塊外部設(shè)計、功能分配。在接口設(shè)計上有用戶接口、外部接口、內(nèi)部接口;數(shù)據(jù)結(jié)構(gòu)設(shè)計有邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計等等。在接口設(shè)計時參考了大量的資料。
最后就是編寫文檔——軟件需求說明書、概要分析說明書。
而文檔的作用在于:一是可以幫助整理思路。把要完成的目標,系統(tǒng)的結(jié)構(gòu),每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據(jù)可依,在需要回過頭來修改設(shè)計的時候,也有證可考。二是便于交流。三是可以作為以后維護時的參考資料。
三、軟件工程課程設(shè)計——心得體會
我們進行了為期一周的課程設(shè)計。通過這次課程設(shè)計,我拓寬了知識面,鍛煉了能力,綜合素質(zhì)得到較大提高。安排課程設(shè)計的基本目的,在于通過理論與實際的結(jié)合、人與人的溝通,進一步提高思想覺悟。尤其是觀察、分析和解決問題的實際工作能力,以便培養(yǎng)成為能夠主動適應(yīng)社會主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個學(xué)習體系的有機組成部分,課程設(shè)計雖然安排在一周進行,但并不具有絕對獨立的意義。它的一個重要功能,在于運用學(xué)習成果,檢驗學(xué)習成果。運用學(xué)習成果,把課堂上學(xué)到的系統(tǒng)化的理論知識,嘗試性地應(yīng)用于實際設(shè)計工作,并從理論的高度對設(shè)計工作的現(xiàn)代化提出一些有針對性的建議和設(shè)想。檢驗學(xué)習成果,看一看課堂學(xué)習與實際工作到底有多大距離,并通過綜合分析,找出學(xué)習中存在的不足,以便為完善學(xué)習計劃,改變學(xué)習內(nèi)容與方法提供實踐依據(jù)。對我們信息管理與信息系統(tǒng)專業(yè)的學(xué)生來說,實際能力的培養(yǎng)至關(guān)重要,而這種實際能力的培養(yǎng)單靠課堂教學(xué)是遠遠不夠的,必須從課堂走向?qū)嵺`。這也是一次預(yù)演和準備畢業(yè)設(shè)計工作。通過課程設(shè)計,讓我們找出自身狀況與實際需要的差距,并在以后的學(xué)習期間及時補充相關(guān)知識,為求職與正式工作做好充分的知識、能力準備,從而縮短從校園走向社會的心理轉(zhuǎn)型期。課程設(shè)計促進了我系人才培養(yǎng)計劃的完善和課程設(shè)置的調(diào)整。
在一個星期的課程設(shè)計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對軟件開發(fā)流程的了解,進一步激發(fā)了我們對專業(yè)知識的興趣,并能夠結(jié)合實際存在的問題在專業(yè)領(lǐng)域內(nèi)進行更深入的學(xué)習。
軟件工程課程雖已結(jié)束,但我對于軟件工程的學(xué)習才剛剛開始。我體會到項目管理的重要性,隨著軟件規(guī)模、復(fù)雜度的不斷增加,項目開發(fā)中更多的是協(xié)作、管理和控制。我學(xué)習到很多一般性的方法,例如:需求獲取、模塊化、計劃等等。同時,我也認識到使用計算機解決實際問題的復(fù)雜性,人們認識表達的過程不斷反復(fù)、逐步深化,軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進行形式化的過程方法。
軟件工程學(xué)習心得體會5
學(xué)習了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合。整一個學(xué)期下來,總的來說還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
整本書的內(nèi)容邏輯很清晰明了,由淺入深循序漸進,首先我就大概描述下我們所學(xué)的內(nèi)容,第一章是從整體分析軟件工程這門學(xué)科的發(fā)展和所處的社會環(huán)境,接著后面的幾章深入分析了軟件開放過程和模式、軟件項目管理、計算機工程、需求分析、結(jié)構(gòu)化分析建模以及基于UML面向?qū)ο蠓治鼋5。接著我就詳細介紹下我對這門課程知識點的理解概括:
軟件:軟件是能夠完成預(yù)定功能和性能的可執(zhí)行的計算機程序和使程序正常執(zhí)行所需要的數(shù)據(jù),加上描述程序的操作和使用的文檔。軟件的特征:①軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。②軟件是通過人們的智力活動,把知識與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品。③軟件成為產(chǎn)品后,其生產(chǎn)只是簡單的拷貝,不同于硬件制造。④維護過程比硬件復(fù)雜的多,甚至會引發(fā)新的錯誤。軟件危機:指的是軟件開發(fā)和維護過程中遇到的一系列嚴重問題。出現(xiàn)軟件危機的原因:①軟件維護費用急劇上升,直接威脅計算機應(yīng)用的擴大。②軟件生產(chǎn)技術(shù)進步緩慢。軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的工程學(xué)科。 軟件生存周期:一個軟件從定義到開發(fā)、使用和維護,直到最終被棄用,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生存周期。軟件的生存周期可分為八個階段:①問題定義;②可行性研究;③需求分析;④總體(概要)設(shè)計;⑤詳細設(shè)計;⑥編碼與單元測試;⑦綜合測試;⑧軟件維護;
瀑布模式:是傳統(tǒng)的軟件開發(fā)模式,其中的“瀑布”是對這個模式的形象表達,由山頂傾瀉下來的水,自頂向下、逐漸細化。其特點是:線性化過程;分為分析、設(shè)計、編碼、集成等幾個階段,并且各階段逐級推進,不允許跨越。里程碑管理;階段評審;文檔驅(qū)動;簡潔便于工程應(yīng)用的線性化過程步驟,并可以通過里程碑管理機制而使項目進程量化。其明顯的優(yōu)點就是沒個階段結(jié)束前都要對所完成的階段成果進行評審,這使得軟件的錯誤能夠在個階段內(nèi)盡早發(fā)現(xiàn)并盡早解決,總的來說瀑布模式具有良好的質(zhì)量保證機制,有很強的生命力。
原型進化模式:對軟件進行直接模擬或仿真,只需要分析需求框架后進行原型創(chuàng)建,再對原型系統(tǒng)進行逐步細化與完善,通過版本更新逐步滿足用戶對于軟件的多方面需要。
增量模式:開發(fā)過程有三個任務(wù)域,分別是設(shè)計結(jié)構(gòu)、開發(fā)構(gòu)件和集成系統(tǒng),它既有完善的工程管理機制,又能適應(yīng)用戶需求變更,有利于質(zhì)量的監(jiān)控,并且各局部基于構(gòu)件構(gòu)造,有利于逐步構(gòu)建與完善;由于先交付核心構(gòu)件可利于降低項目的技術(shù)風險。
螺旋模式:是一種可較好的規(guī)避開發(fā)風險過程的模式,項目是基于任務(wù)的螺旋式推進,每個螺旋由內(nèi)之外分別是需求分析、軟件設(shè)計、系統(tǒng)集成、驗證與交付。
軟件開發(fā)的整個過程:①需要項目團隊,組建優(yōu)秀的團隊可以開發(fā)出更搞質(zhì)量的軟件產(chǎn)品。任務(wù)開發(fā)團隊要求小而精,成員大多在8人以內(nèi),主要成員有項
目負責人、開發(fā)人員、資料管理員和軟件測試員。②項目計劃是為了使軟件開發(fā)各項工作有秩序地進行,包括任務(wù)分配和基于里程碑的進度安排,甘特圖和任務(wù)網(wǎng)絡(luò)圖是用來描述進度計劃的工具。項目計劃書可以作為軟件開發(fā)的工作指南。③項目成本估算,由于項目有來自各方面的成本包括工資開支、場地費、差旅費、設(shè)備費和資料費等,但是軟件主要是對人力成本的估算,常用的方法有程序代碼成本估算法等。④軟件風險管理包括很多不確定的風險因素,如計劃風險、管理風險、需求風險、技術(shù)風險、人員風險、產(chǎn)品風險、用戶風險和商業(yè)風險等等,而風險管理的主要任務(wù)是:風險識別、風險評估、和風險防范。⑤軟件文檔管理,軟件文檔是工程模式軟件開發(fā)的成果體現(xiàn),包括技術(shù)文檔、管理文檔和用戶文檔。 ⑥軟件配置管理與軟件質(zhì)量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質(zhì)量控制計劃。
計算機系統(tǒng)由硬件、軟件、數(shù)據(jù)資源、網(wǎng)絡(luò)資源、使用系統(tǒng)的人等諸多元素。有三種典型的計算機體系結(jié)構(gòu):①主機結(jié)構(gòu),主機集中了全部智能,并依靠終端接口與外部設(shè)備連接。②Client/Server結(jié)構(gòu),智能分布于服務(wù)器與客戶機,并依靠網(wǎng)絡(luò)連接成系統(tǒng),其中,服務(wù)器處于核心位置,提供被動核心服務(wù);客戶機處于邊緣位置,可主動訪問服務(wù)器,尋求服務(wù)支持。③Browser/server結(jié)構(gòu),可適應(yīng)互聯(lián)網(wǎng)遠程交互的特殊結(jié)構(gòu),基于Web服務(wù)器構(gòu)建。
需求分析:系統(tǒng)開發(fā)前期需求分析很重要,它是為了有效解決用戶問題的需要進行的一項工程活動,所需要考慮的需求問題是功能需求、數(shù)據(jù)需求、性能需求和接口需求,開發(fā)者承擔分析任務(wù),核心是用戶。其步驟有三個:①獲取客戶需求,客戶泛指某個人或機構(gòu)部門等,一般方法是調(diào)查,包括訪談、座談、問卷、跟班和收集資料,需求規(guī)約可表達用戶的軟件價值。②建立需求模型,它是用戶需求的圖解,一些常用的模型有:業(yè)務(wù)樹圖、用例圖、活動圖。分別用于結(jié)構(gòu)化需求建模、系統(tǒng)業(yè)務(wù)舉例和反映系統(tǒng)工作流程。③進行需求驗證,要驗證的主要內(nèi)容有:有效性驗證、一致性驗證、完整性驗證、現(xiàn)實性驗證和可檢驗性驗證。 結(jié)構(gòu)化分析建模:它是建立在需求規(guī)約基礎(chǔ)上的,對軟件問題進行全面解說,包括四個方面:①數(shù)據(jù)建模,它與數(shù)據(jù)庫設(shè)計密切相關(guān),ER圖涉及實體、關(guān)系、屬性等圖形元素,在業(yè)務(wù)層面建立數(shù)據(jù)庫概念模型,一般用于前期的建模構(gòu)想。②功能建模,是對系統(tǒng)數(shù)據(jù)加工的圖解,數(shù)據(jù)流程圖是常用的建模工具,涉及數(shù)據(jù)接口、數(shù)據(jù)處理、數(shù)據(jù)流、數(shù)據(jù)存儲等圖形元素,用于描述系統(tǒng)數(shù)據(jù)加工細節(jié)。③行為建模,行為模型用于說哦名軟件系統(tǒng)與環(huán)境的交互,狀態(tài)轉(zhuǎn)換圖常用的軟件行為建模工具涉及狀態(tài)、事件等圖形元素。⑤數(shù)據(jù)字典,是用于定義軟件的元素,使軟件元素獲得嚴肅的、詳密的、精確的規(guī)格說明。需求分析模型中的數(shù)據(jù)、功能、行為等諸多方面的元素,都有必要通過數(shù)據(jù)字典給予細節(jié)說明,以達到對系統(tǒng)較完整全面的規(guī)格定義。
基于UML對象面向?qū)ο蠓治鼋#篣ML是統(tǒng)一建模語言,有統(tǒng)一的語法、語義和語用規(guī)則,其建模過程的特點是:用例驅(qū)動、以構(gòu)架為中心和增量迭代,通過包實現(xiàn)對模型的有效的一體化管理。包括三部分:①用例建模,它面向用戶需求的,能夠反映系統(tǒng)的用戶價值,用例圖的基本元素有用例、參與者、交流;用例之間有泛化、延伸和包含關(guān)系。②活動建模,活動圖用于描述系統(tǒng)動態(tài)過程,主要圖形元素有:活動、轉(zhuǎn)換、起點、終點、判斷、并發(fā)、同步、泳道等。可描述高層業(yè)務(wù)級活動,涉及整個業(yè)務(wù)流程,針對每個用例活動建模,反映用例內(nèi)部活動細節(jié)。③類分析建模,這里就只考慮實體類,實體類所代表的數(shù)據(jù)相互之間通常有一定的關(guān)系,依靠這種關(guān)系可形成有組織的程序數(shù)據(jù)結(jié)構(gòu)。實體類之間的'
主要數(shù)據(jù)關(guān)系有:關(guān)聯(lián)、聚類、泛化。
接下來我就簡單說下我上這門課的簡單的心得體會,我們是大四的學(xué)生了,也只有這個學(xué)期有課了,剛開始課表安排出來的時候覺得挺意外的,只有前八周有課,當時我還是有點小感動的,大四事情很多,有要考研的和工作的,大家也都有各自的事情,如果有16周的課,那么每周課不是特別多,但是時間特別分散,也不能集中某段時間去做什么事情。但是相對于老師的壓力也有,課程壓縮了相當于每節(jié)課的教學(xué)任務(wù)大大增加了,在加上有些假期沖掉課,就感覺我們好像上課學(xué)不到什么東西,也只是一些關(guān)鍵的和考試掛鉤的才重點講,完全沒有擴展的時間和空間了。但是總的來說,學(xué)校開了這門課,我們上了這門課,總是學(xué)到了點東西的,不可能明明上了軟件工程這門課,卻像沒上一樣什么都不懂。在上課的時候我還是很認真地去聽老師所講述的內(nèi)容的,我覺得他的思想和我一向而來的培養(yǎng)計算機學(xué)生綜合素質(zhì)的理解還是在一定程度上不謀而合了,所謂的需求獲取,那就是一個談判,辯論,交流的過程,已經(jīng)不是單純的編編程序就能解決的問題了。從我所看到的聽到的來說,我最怕的就是計算機系的學(xué)生被別人說成是個帶著厚眼鏡的,只能夠在電腦前編編程序的,在交際場上不知道說什么而一個字都說不出來的人。我覺得這樣的人進入社會之后是沒有什么前途的,起碼他們?nèi)狈α伺c人溝通交流的能力。而這門課程在一定程度上給了我們這些學(xué)生一個機會來鍛煉自己在另一方面的能力,設(shè)想一下,一個又有技術(shù)又能夠與人交流合作的人所取得的成就自然要比一個單單只會編程序的人要大得多。其次,這門課程教給了我們在完成一個實際項目時的一般程序及過程,我認為這是一份非常具有實際意義的教學(xué)內(nèi)容。當我們在畢業(yè)之后,這是我們實際要運用的一項非常有用的技能,而且不僅僅局限于軟件工程的范疇,我們即使是從事與其它行業(yè),不也是要從需求獲取開始,一直有條有理地到最后成品的出爐嗎?應(yīng)該說這就是這門課的價值所在。無論是在上課,還是在學(xué)生會里面做學(xué)生工作,我都深深地感覺到,技術(shù)性的工作就好比變魔術(shù),其實原理是非常簡單的,甚至可以說簡單的可笑,但是當你就是做出這么一個簡單的東西出來之后,一些外行們有時候會用崇拜的眼光看著你,覺得你很厲害,很高深莫測。但是制作的過程他們卻不知道,也許知道之后他們只是會啞然失笑,原來這個東西的制作過程是如此的簡單。這個可以說就是技術(shù)的魅力了,而作為需求獲取及之后的一系列過程則是類似于魔術(shù)揭秘的過程,但是作為這個秘密我們并不需要一揭到底,至于揭的程度如何那就是我們那就是我們學(xué)出的程度如何了,我們要讓對方知道我們在做什么?以及如何去做?這些東西需要我們以一定的技巧敘述出來,所起到的作用就是能夠讓對方了解自己的進度,卻又能夠不讓對方來干涉自己的工作過程。因為我們是技術(shù)員,對方只是外行,即使對方知道了這個魔術(shù)的操作過程,也并不代表他們就能夠向變著魔術(shù)的我們來隨便修改這個魔術(shù)的變法,況且我們能夠用不同的過程來得出一個同樣的結(jié)果,這個過程的得出的主動權(quán)如何掌握在我們的手上,就看我們?nèi)绾我愿呙鞯姆绞絹斫议_這個魔術(shù)的謎底了。當然了,在純粹的理論上,我覺得開設(shè)這樣一門課程是很成功的。但是畢竟現(xiàn)實里有太多的不確定的因素。最重要的因素就是授課的老師和聽課的學(xué)生。這兩個可以說是這門課成與敗的決定性的因素。
作為我們學(xué)生來說,應(yīng)該負起比較主要的責任。在大學(xué)里有了太多的基礎(chǔ)課程,基礎(chǔ)課程大多都比較枯燥無味,也許在第一個學(xué)期里我們還能夠保持著新鮮感,但是在6學(xué)期之后,可以說再有新鮮感就是一件比較困難的事情了,我們都已經(jīng)開始變得遲鈍了。其次的,沒有認識到這門課程的價值。這門課的價值我已
經(jīng)在上面說過了,是不言而喻的。但是并不是每個同學(xué)畢業(yè)之后都回從事計算機行業(yè),也不是每個同學(xué)都知道這門課程的意義已經(jīng)不僅僅局限于計算機這個范疇;蛟S有些人覺得反正以后不是這個發(fā)展方向,也就不在乎這個課程吧。我個人覺得這門課確實是挺好的,如果認真學(xué)必能學(xué)到很多東西,動手實踐能力和從整個大體分析系統(tǒng)開發(fā)的邏輯性思維也會明顯增強,不管以后從事哪個方面的工作,這對以后來說都是一筆很大的隱性財富。說到我自己對這么課的學(xué)習,還是有點愧疚的,前面四周我每周每節(jié)課都去上的,并且上課也認真聽,一邊聽老師講課一邊自己看書本的介紹,但是后來我上這門課的次數(shù)就降低了,因為覺得時間很緊吧,而且老師上課的節(jié)奏我個人覺得有點慢,我都可以自己預(yù)習看到后面去了,但是這門課我還是每周至少上一節(jié)課的,雖然我早上7點多一點就出門,在自習室,但是有時候明明知道到了上課的時間,明明上課的地方離自習的地方不遠也不太想去。我記得有次上課時候老師生氣了,說來上課的人少,我仔細環(huán)顧了下四周發(fā)現(xiàn)確實人很少,稀稀疏疏的分散著,看起來確實不太舒服,讓我不得不反思了,這大學(xué)的教育到底怎么了,怎么到了大四大家都不來上課,雖然我不是每節(jié)課都來,但是我還是時不時來上課的,可能是比較浮躁吧,快畢業(yè)了,覺得上課學(xué)不到什么實際的東西,要么實際一點好好考研繼續(xù)深造,要么去培訓(xùn)增強實踐能力這樣才能較好的為找個滿意的工作做好鋪墊。
《軟件工程》課程既強調(diào)基本概念和基本知識的理解和掌握,又側(cè)重軟件項目的分析、設(shè)計、實現(xiàn)和維護的基本技能。比較注意“點”和“面”的結(jié)合。我還是蠻喜歡這門課的,通過對這門課的學(xué)習讓我意識到理論學(xué)習很重要,實踐更重要,實踐是檢驗真理的唯一標準,只有將理論與實際結(jié)合,才更能發(fā)揮我們所學(xué)的知識的作用,更能直接的創(chuàng)造效益,社會和國家做出貢獻。
軟件工程學(xué)習心得體會6
整本書的內(nèi)容邏輯很清晰明了,由淺入深循序漸進,首先我就大概描述下我們所學(xué)的內(nèi) 容,第一章是從整體分析軟件工程這門學(xué)科的發(fā)展和所處的社會環(huán)境,接著后面的幾章深入分析了軟件開放過程和模式、軟件項目管理、計算機工程、需求分析、結(jié)構(gòu)化分析建模以及基于UML面向?qū)ο蠓治鼋5取=又揖驮敿毥榻B下我對這門課程知識點的理解概括:
軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的工程學(xué)科。
軟件生存周期:一個軟件從定義到開發(fā)、使用和維護,直到最終被棄用,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生存周期。軟件的生存周期可分為八個階段:
①問題定義;
、诳尚行匝芯;
③需求分析;
④總體(概要)設(shè)計;
⑤詳細設(shè)計;
⑥編碼與單元測試;
、呔C合測試;
、嘬浖S護; 瀑布模式:原型進化模式:增量模式:螺旋模式:
軟件開發(fā)的整個過程:
、傩枰椖繄F隊,組建優(yōu)秀的團隊可以開發(fā)出更搞質(zhì)量的軟件產(chǎn)品。任務(wù)開發(fā)團隊要求小而精,成員大多在8人以內(nèi),主要成員有項目負責人、開發(fā)人員、資料管理員和軟件測試員。
、陧椖坑媱澥菫榱耸管浖_發(fā)各項工作有秩序地進行,包括任務(wù)分配和基于里程碑的進度安排,甘特圖和任務(wù)網(wǎng)絡(luò)圖是用來描述進度計劃的工具。項目計劃書可以作為軟件開發(fā)的工作指南。
、垌椖砍杀竟浪,由于項目有來自各方面的成本包括工資開支、場地費、差旅費、設(shè)備費和資料費等,但是軟件主要是對人力成本的估算,常用的`方法有程序代碼成本估算法等。
④軟件風險管理包括很多不確定的風險因素,如計劃風險、管理風險、需求風險、技術(shù)風險、人員風險、產(chǎn)品風險、用戶風險和商業(yè)風險等等,而風險管理的主要任務(wù)是:風險識別、風險評估、和風險防范。
⑤軟件文檔管理,軟件文檔是工程模式軟件開發(fā)的成果體現(xiàn),包括技術(shù)文檔、管理文檔和用戶文檔。 ⑥軟件配置管理與軟件質(zhì)量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質(zhì)量控制計劃。
《軟件工程》課程既強調(diào)基本概念和基本知識的理解和掌握,又側(cè)重軟件項目的分析、設(shè)計、實現(xiàn)和維護的基本技能。比較注意“點”和“面”的結(jié)合。我還是蠻喜歡這門課的,通過對這門課的學(xué)習讓我意識到理論學(xué)習很重要,實踐更重要,實踐是檢驗真理的唯一標準,只有將理論與實際結(jié)合,才更能發(fā)揮我們所學(xué)的知識的作用,更能直接的創(chuàng)造效益,社會和國家做出貢獻。
軟件工程學(xué)習心得體會7
未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的'團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習能力體現(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)該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設(shè)計,編碼,調(diào)試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。1?尚行苑治鼍褪顷P(guān)于當前項目能不能干的分析結(jié)果。
2。項目描述這是在決定立項以后,對當前項目的一份扼要說明。
3。需求分析就是對客戶要求的功能的定義。
4。軟件設(shè)計這就是對程序的每一個模塊的詳細設(shè)計的說明文檔。
5。開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
6。測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
【軟件工程學(xué)習心得體會】相關(guān)文章:
軟件工程學(xué)習心得體會11-26
軟件工程心得體會02-19
軟件工程實驗心得體會12-17
軟件工程心得體會(精選11篇)08-10
軟件工程實訓(xùn)心得體會03-22
軟件工程專業(yè)簡歷08-04
軟件工程個人總結(jié)09-10
軟件工程實習總結(jié)11-26
軟件工程實習報告01-13