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