軟件工程學習心得體會(精選17篇)
在平日里,心中難免會有一些新的想法,就十分有必須要寫一篇心得體會,這樣就可以通過不斷總結,豐富我們的思想。是不是無從下筆、沒有頭緒?以下是小編收集整理的軟件工程學習心得體會,僅供參考,希望能夠幫助到大家。
軟件工程學習心得體會 篇1
學習了這門課程,還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其范疇已經(jīng)遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
整本書的內容邏輯很清晰明了,由淺入深循序漸進,首先我就大概描述下我們所學的內容,第一章是從整體分析軟件工程這門學科的發(fā)展和所處的社會環(huán)境,接著后面的幾章深入分析了軟件開放過程和模式、軟件項目管理、計算機工程、需求分析、結構化分析建模以及基于UML面向對象分析建模等。接著我就詳細介紹下我對這門課程知識點的理解概括:
軟件:軟件是能夠完成預定功能和性能的可執(zhí)行的計算機程序和使程序正常執(zhí)行所需要的數(shù)據(jù),加上描述程序的操作和使用的文檔。軟件的特征:①軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。②軟件是通過人們的智力活動,把知識與技術轉化成信息的一種產品。③軟件成為產品后,其生產只是簡單的拷貝,不同于硬件制造。④維護過程比硬件復雜的多,甚至會引發(fā)新的錯誤。軟件危機:指的是軟件開發(fā)和維護過程中遇到的一系列嚴重問題。出現(xiàn)軟件危機的原因:①軟件維護費用急劇上升,直接威脅計算機應用的擴大。②軟件生產技術進步緩慢。軟件工程是指導計算機軟件開發(fā)和維護的工程學科。軟件生存周期:一個軟件從定義到開發(fā)、使用和維護,直到最終被棄用,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生存周期。軟件的生存周期可分為八個階段:①問題定義;②可行性研究;③需求分析;④總體(概要)設計;⑤詳細設計;⑥編碼與單元測試;⑦綜合測試;⑧軟件維護;
瀑布模式:是傳統(tǒng)的軟件開發(fā)模式,其中的“瀑布”是對這個模式的形象表達,由山頂傾瀉下來的水,自頂向下、逐漸細化。其特點是:線性化過程;分為分析、設計、編碼、集成等幾個階段,并且各階段逐級推進,不允許跨越。里程碑管理;階段評審;文檔驅動;簡潔便于工程應用的線性化過程步驟,并可以通過里程碑管理機制而使項目進程量化。其明顯的優(yōu)點就是沒個階段結束前都要對所完成的階段成果進行評審,這使得軟件的錯誤能夠在個階段內盡早發(fā)現(xiàn)并盡早解決,總的來說瀑布模式具有良好的質量保證機制,有很強的生命力。
原型進化模式:對軟件進行直接模擬或仿真,只需要分析需求框架后進行原型創(chuàng)建,再對原型系統(tǒng)進行逐步細化與完善,通過版本更新逐步滿足用戶對于軟件的多方面需要。
增量模式:開發(fā)過程有三個任務域,分別是設計結構、開發(fā)構件和集成系統(tǒng),它既有完善的工程管理機制,又能適應用戶需求變更,有利于質量的監(jiān)控,并且各局部基于構件構造,有利于逐步構建與完善;由于先交付核心構件可利于降低項目的技術風險。
螺旋模式:是一種可較好的規(guī)避開發(fā)風險過程的模式,項目是基于任務的螺旋式推進,每個螺旋由內之外分別是需求分析、軟件設計、系統(tǒng)集成、驗證與交付。
軟件開發(fā)的整個過程:①需要項目團隊,組建優(yōu)秀的團隊可以開發(fā)出更搞質量的軟件產品。任務開發(fā)團隊要求小而精,成員大多在8人以內,主要成員有項目負責人、開發(fā)人員、資料管理員和軟件測試員。②項目計劃是為了使軟件開發(fā)各項工作有秩序地進行,包括任務分配和基于里程碑的進度安排,甘特圖和任務網(wǎng)絡圖是用來描述進度計劃的工具。項目計劃書可以作為軟件開發(fā)的工作指南。③項目成本估算,由于項目有來自各方面的成本包括工資開支、場地費、差旅費、設備費和資料費等,但是軟件主要是對人力成本的估算,常用的方法有程序代碼成本估算法等。④軟件風險管理包括很多不確定的風險因素,如計劃風險、管理風險、需求風險、技術風險、人員風險、產品風險、用戶風險和商業(yè)風險等等,而風險管理的主要任務是:風險識別、風險評估、和風險防范。⑤軟件文檔管理,軟件文檔是工程模式軟件開發(fā)的成果體現(xiàn),包括技術文檔、管理文檔和用戶文檔。 ⑥軟件配置管理與軟件質量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質量控制計劃。
計算機系統(tǒng)由硬件、軟件、數(shù)據(jù)資源、網(wǎng)絡資源、使用系統(tǒng)的人等諸多元素。有三種典型的計算機體系結構:①主機結構,主機集中了全部智能,并依靠終端接口與外部設備連接。②Client/Server結構,智能分布于服務器與客戶機,并依靠網(wǎng)絡連接成系統(tǒng),其中,服務器處于核心位置,提供被動核心服務;客戶機處于邊緣位置,可主動訪問服務器,尋求服務支持。③Browser/server結構,可適應互聯(lián)網(wǎng)遠程交互的特殊結構,基于Web服務器構建。
需求分析:系統(tǒng)開發(fā)前期需求分析很重要,它是為了有效解決用戶問題的需要進行的一項工程活動,所需要考慮的需求問題是功能需求、數(shù)據(jù)需求、性能需求和接口需求,開發(fā)者承擔分析任務,核心是用戶。其步驟有三個:①獲取客戶需求,客戶泛指某個人或機構部門等,一般方法是調查,包括訪談、座談、問卷、跟班和收集資料,需求規(guī)約可表達用戶的軟件價值。②建立需求模型,它是用戶需求的圖解,一些常用的模型有:業(yè)務樹圖、用例圖、活動圖。分別用于結構化需求建模、系統(tǒng)業(yè)務舉例和反映系統(tǒng)工作流程。③進行需求驗證,要驗證的`主要內容有:有效性驗證、一致性驗證、完整性驗證、現(xiàn)實性驗證和可檢驗性驗證。結構化分析建模:它是建立在需求規(guī)約基礎上的,對軟件問題進行全面解說,包括四個方面:①數(shù)據(jù)建模,它與數(shù)據(jù)庫設計密切相關,ER圖涉及實體、關系、屬性等圖形元素,在業(yè)務層面建立數(shù)據(jù)庫概念模型,一般用于前期的建模構想。②功能建模,是對系統(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)轉換圖常用的軟件行為建模工具涉及狀態(tài)、事件等圖形元素。⑤數(shù)據(jù)字典,是用于定義軟件的元素,使軟件元素獲得嚴肅的、詳密的、精確的規(guī)格說明。需求分析模型中的數(shù)據(jù)、功能、行為等諸多方面的元素,都有必要通過數(shù)據(jù)字典給予細節(jié)說明,以達到對系統(tǒng)較完整全面的規(guī)格定義。
基于UML對象面向對象分析建模:UML是統(tǒng)一建模語言,有統(tǒng)一的語法、語義和語用規(guī)則,其建模過程的特點是:用例驅動、以構架為中心和增量迭代,通過包實現(xiàn)對模型的有效的一體化管理。包括三部分:①用例建模,它面向用戶需求的,能夠反映系統(tǒng)的用戶價值,用例圖的基本元素有用例、參與者、交流;用例之間有泛化、延伸和包含關系。②活動建模,活動圖用于描述系統(tǒng)動態(tài)過程,主要圖形元素有:活動、轉換、起點、終點、判斷、并發(fā)、同步、泳道等?擅枋龈邔訕I(yè)務級活動,涉及整個業(yè)務流程,針對每個用例活動建模,反映用例內部活動細節(jié)。③類分析建模,這里就只考慮實體類,實體類所代表的數(shù)據(jù)相互之間通常有一定的關系,依靠這種關系可形成有組織的程序數(shù)據(jù)結構。實體類之間的主要數(shù)據(jù)關系有:關聯(lián)、聚類、泛化。
接下來我就簡單說下我上這門課的簡單的心得體會,我們是大四的學生了,也只有這個學期有課了,剛開始課表安排出來的時候覺得挺意外的,只有前八周有課,當時我還是有點小感動的,大四事情很多,有要考研的和工作的,大家也都有各自的事情,如果有16周的課,那么每周課不是特別多,但是時間特別分散,也不能集中某段時間去做什么事情。但是相對于老師的壓力也有,課程壓縮了相當于每節(jié)課的教學任務大大增加了,在加上有些假期沖掉課,就感覺我們好像上課學不到什么東西,也只是一些關鍵的和考試掛鉤的才重點講,完全沒有擴展的時間和空間了。但是總的來說,學校開了這門課,我們上了這門課,總是學到了點東西的,不可能明明上了軟件工程這門課,卻像沒上一樣什么都不懂。在上課的時候我還是很認真地去聽老師所講述的內容的,我覺得他的思想和我一向而來的培養(yǎng)計算機學生綜合素質的理解還是在一定程度上不謀而合了,所謂的需求獲取,那就是一個談判,辯論,交流的過程,已經(jīng)不是單純的編編程序就能解決的問題了。從我所看到的聽到的來說,我最怕的就是計算機系的學生被別人說成是個帶著厚眼鏡的,只能夠在電腦前編編程序的,在交際場上不知道說什么而一個字都說不出來的人。我覺得這樣的人進入社會之后是沒有什么前途的,起碼他們缺乏了與人溝通交流的能力。而這門課程在一定程度上給了我們這些學生一個機會來鍛煉自己在另一方面的能力,設想一下,一個又有技術又能夠與人交流合作的人所取得的成就自然要比一個單單只會編程序的人要大得多。其次,這門課程教給了我們在完成一個實際項目時的一般程序及過程,我認為這是一份非常具有實際意義的教學內容。當我們在畢業(yè)之后,這是我們實際要運用的一項非常有用的技能,而且不僅僅局限于軟件工程的范疇,我們即使是從事與其它行業(yè),不也是要從需求獲取開始,一直有條有理地到最后成品的出爐嗎?應該說這就是這門課的價值所在。無論是在上課,還是在學生會里面做學生工作,我都深深地感覺到,技術性的工作就好比變魔術,其實原理是非常簡單的,甚至可以說簡單的可笑,但是當你就是做出這么一個簡單的東西出來之后,一些外行們有時候會用崇拜的眼光看著你,覺得你很厲害,很高深莫測。但是制作的過程他們卻不知道,也許知道之后他們只是會啞然失笑,原來這個東西的制作過程是如此的簡單。這個可以說就是技術的魅力了,而作為需求獲取及之后的一系列過程則是類似于魔術揭秘的過程,但是作為這個秘密我們并不需要一揭到底,至于揭的程度如何那就是我們那就是我們學出的程度如何了,我們要讓對方知道我們在做什么?以及如何去做?這些東西需要我們以一定的技巧敘述出來,所起到的作用就是能夠讓對方了解自己的進度,卻又能夠不讓對方來干涉自己的工作過程。因為我們是技術員,對方只是外行,即使對方知道了這個魔術的操作過程,也并不代表他們就能夠向變著魔術的我們來隨便修改這個魔術的變法,況且我們能夠用不同的過程來得出一個同樣的結果,這個過程的得出的主動權如何掌握在我們的手上,就看我們如何以高明的方式來揭開這個魔術的謎底了。當然了,在純粹的理論上,我覺得開設這樣一門課程是很成功的。但是畢竟現(xiàn)實里有太多的不確定的因素。最重要的因素就是授課的老師和聽課的學生。這兩個可以說是這門課成與敗的決定性的因素。
作為我們學生來說,應該負起比較主要的責任。在大學里有了太多的基礎課程,基礎課程大多都比較枯燥無味,也許在第一個學期里我們還能夠保持著新鮮感,但是在6學期之后,可以說再有新鮮感就是一件比較困難的事情了,我們都已經(jīng)開始變得遲鈍了。其次的,沒有認識到這門課程的價值。這門課的價值我已經(jīng)在上面說過了,是不言而喻的。但是并不是每個同學畢業(yè)之后都回從事計算機行業(yè),也不是每個同學都知道這門課程的意義已經(jīng)不僅僅局限于計算機這個范疇。或許有些人覺得反正以后不是這個發(fā)展方向,也就不在乎這個課程吧。我個人覺得這門課確實是挺好的,如果認真學必能學到很多東西,動手實踐能力和從整個大體分析系統(tǒng)開發(fā)的邏輯性思維也會明顯增強,不管以后從事哪個方面的工作,這對以后來說都是一筆很大的隱性財富。說到我自己對這么課的學習,還是有點愧疚的,前面四周我每周每節(jié)課都去上的,并且上課也認真聽,一邊聽老師講課一邊自己看書本的介紹,但是后來我上這門課的次數(shù)就降低了,因為覺得時間很緊吧,而且老師上課的節(jié)奏我個人覺得有點慢,我都可以自己預習看到后面去了,但是這門課我還是每周至少上一節(jié)課的,雖然我早上7點多一點就出門,在自習室,但是有時候明明知道到了上課的時間,明明上課的地方離自習的地方不遠也不太想去。我記得有次上課時候老師生氣了,說來上課的人少,我仔細環(huán)顧了下四周發(fā)現(xiàn)確實人很少,稀稀疏疏的分散著,看起來確實不太舒服,讓我不得不反思了,這大學的教育到底怎么了,怎么到了大四大家都不來上課,雖然我不是每節(jié)課都來,但是我還是時不時來上課的,可能是比較浮躁吧,快畢業(yè)了,覺得上課學不到什么實際的東西,要么實際一點好好考研繼續(xù)深造,要么去培訓增強實踐能力這樣才能較好的為找個滿意的工作做好鋪墊。
《軟件工程》課程既強調基本概念和基本知識的理解和掌握,又側重軟件項目的分析、設計、實現(xiàn)和維護的基本技能。比較注意“點”和“面”的結合。我還是蠻喜歡這門課的,通過對這門課的學習讓我意識到理論學習很重要,實踐更重要,實踐是檢驗真理的唯一標準,只有將理論與實際結合,才更能發(fā)揮我們所學的知識的作用,更能直接的創(chuàng)造效益,社會和國家做出貢獻。
軟件工程學習心得體會 篇2
一、需求分析和概要設計。
1)需求分析
按照軟件工程的軟件過程來說:
1需求分析產生了軟件功能規(guī)格說明書,需要確定用戶對軟件的需求,要作到明確、無歧義。不涉及具體實現(xiàn)方法。用戶能看得明白,開發(fā)人員也可據(jù)此進行下面的工作(概要設計)。
2.概要設計產生了軟件概要設計說明書,說明系統(tǒng)模塊劃分、選擇的技術路線等,整體說明軟件的實現(xiàn)思路。并且需要指出關鍵技術難點等。
在進行需求分析時,我們既是開發(fā)者又是用戶,本系統(tǒng)的業(yè)務流程與業(yè)務分類的定義比較難。我們的團隊進行了研討,還充分運用了身邊的各種資源,大量的查找了很多網(wǎng)絡上關于工資系統(tǒng)的資料。通過資料的進行討論、根據(jù)我們的課題進行分析,最后確定了用戶的需求為:
1.本系統(tǒng)在高校應用后高校工資管理方面的教職工將減少至目前的50%左右;
2.本系統(tǒng)在高校應用后將在高校各方面的成本將會有所降低;
3.本系統(tǒng)在高校應用后將教職工的工資達到完全透明,計算更加精確教職工因糾紛事件減少到1%。 根據(jù)分析將系統(tǒng)的功能從一般教職工與系統(tǒng)管理者兩個角度將功能劃分為7個模塊,當然介于我們的知識有限,有的功能沒有實現(xiàn):員工工資與考勤直接掛鉤,但本系統(tǒng)無法與員工考勤系統(tǒng)掛鉤相連,由于涉及此系統(tǒng)時該高校并沒有員工考勤系統(tǒng),而且我們在最初進行商量的時候也沒有提出該要求。
2)概要設計
從概要階段開發(fā)正式進入軟件的實際開發(fā)階段,本階段完成系統(tǒng)的大致設計并明確系統(tǒng)的數(shù)據(jù)結構與軟件結構。在軟件設計階段主要是把一個軟件需求轉化為軟件表示的過程,這種表示只是描繪出軟件的總的概貌。由概要設計說產生大的概要說明書的目的就是進一步細化軟件設計階段得出的軟件總體概貌,把它加工成在程序細節(jié)上非常接近于源程序的軟件表示。
在本階段主要涉及處理流程的設計、總體結構和模塊外部設計、功能分配。在接口設計上有用戶接口、外部接口、內部接口;數(shù)據(jù)結構設計有邏輯結構設計、物理結構設計等等。在接口設計時參考了大量的資料。
最后就是編寫文檔——軟件需求說明書、概要分析說明書。
而文檔的作用在于:一是可以幫助整理思路。把要完成的目標,系統(tǒng)的結構,每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據(jù)可依,在需要回過頭來修改設計的時候,也有證可考。二是便于交流。三是可以作為以后維護時的參考資料。
二、軟件工程課程設計——心得體會
我們進行了為期一周的課程設計。通過這次課程設計,我拓寬了知識面,鍛煉了能力,綜合素質得到較大提高。安排課程設計的基本目的,在于通過理論與實際的結合、人與人的溝通,進一步提高思想覺悟。尤其是觀察、分析和解決問題的實際工作能力,以便培養(yǎng)成為能夠主動適應社會主義現(xiàn)代化建設需要的高素質的復合型人才。作為整個學習體系的有機組成部分,課程設計雖然安排在一周進行,但并不具有絕對獨立的意義。它的一個重要功能,在于運用學習成果,檢驗學習成果。運用學習成果,把課堂上學到的系統(tǒng)化的理論知識,嘗試性地應用于實際設計工作,并從理論的高度對設計工作的現(xiàn)代化提出一些有針對性的建議和設想。檢驗學習成果,看一看課堂學習與實際工作到底有多大距離,并通過綜合分析,找出學習中存在的不足,以便為完善學習計劃,改變學習內容與方法提供實踐依據(jù)。對我們信息管理與信息系統(tǒng)專業(yè)的學生來說,實際能力的培養(yǎng)至關重要,而這種實際能力的培養(yǎng)單靠課堂教學是遠遠不夠的,必須從課堂走向實踐。這也是一次預演和準備畢業(yè)設計工作。通過課程設計,讓我們找出自身狀況與實際需要的差距,并在以后的學習期間及時補充相關知識,為求職與正式工作做好充分的`知識、能力準備,從而縮短從校園走向社會的心理轉型期。課程設計促進了我系人才培養(yǎng)計劃的完善和課程設置的調整。
在一個星期的課程設計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對軟件開發(fā)流程的了解,進一步激發(fā)了我們對專業(yè)知識的興趣,并能夠結合實際存在的問題在專業(yè)領域內進行更深入的學習。
軟件工程課程雖已結束,但我對于軟件工程的學習才剛剛開始。我體會到項目管理的重要性,隨著軟件規(guī)模、復雜度的不斷增加,項目開發(fā)中更多的是協(xié)作、管理和控制。我學習到很多一般性的方法,例如:需求獲取、模塊化、計劃等等。同時,我也認識到使用計算機解決實際問題的復雜性,人們認識表達的過程不斷反復、逐步深化,軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進行形式化的過程方法。
軟件工程學習心得體會 篇3
在本學期的軟件工程課程的學習中,我們學習了十一章的內容。第一章軟件與軟件工程的概念,這一章主要講解的是一些概念性和基礎性的內容,例如軟件的概念、特性,軟件危機的主要表現(xiàn),軟件工程的概念以及軟件生存期、典型生存期模型等等。第二章軟件工程方法與工具,這一章主要對軟件工程方法進行介紹,包括三種方法:傳統(tǒng)方法、面向對象方法、形式化方法。還引出了工具UML。第三章軟件需求獲取與結構化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結構化分析方法,畫分層的數(shù)據(jù)流圖、E—R圖以及狀態(tài)圖式本節(jié)的重點。第四章結構化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結構以及模塊結構的改進。第五章編碼,這一章重點講解了編碼的風格及規(guī)范,還告訴我們編碼規(guī)范說帶來的好處,并告誡我們將來一點要形成好的編碼風格。第六章軟件測試方法,本章講解了軟件測試相關的概念及重要性,軟件測試與開發(fā)各個階段的關系;還介紹了白盒測試技術以及黑河測試技術。第七章統(tǒng)一建模語言UML概述,本章詳細介紹了UML的基本模式、事物、關系及建模時用到的各種圖進行了介紹。第八章面向對象分析,這一章主要講解了面向對象分析的3種模型,包括功能模型、靜態(tài)模型和動態(tài)模型。第九章軟件體系結構與設計模式,本章對軟件體系結構的基本概念、典型風格等進行了講解。第十章面向對象設計,本章的重點是對面向對象分析時建立的對象模型進行調整和細化。第十一章軟件維護,本章主要介紹軟件維護的任務、軟件維護活動以及軟件維護方法進行了介紹。
要學習軟件工程,學會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習慣,想學好軟件工程,就必須知道軟件工程的目標、過程和原則:軟件工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟件產品達到預期功能的程度?捎眯灾杠浖窘Y構、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標的實現(xiàn)不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產一個最終能滿足需求且達到工程目標的軟件產品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護過程。它們覆蓋了需求、設計、實現(xiàn)、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟件系統(tǒng)結構,包括子系統(tǒng)、模塊以及相關層次的說明、每一模塊的接口定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結構說明及加工描述。實現(xiàn)活動把設計結果轉換為可執(zhí)行的程序代碼。確認活動貫穿于整個開發(fā)過程,實現(xiàn)完成后的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
軟件工程的原則是指圍繞工程設計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
我們學習了詳細設計的方法,其原則是過程描述是否易于理解、復審和維護,進而過程描述能夠自然地轉換成代碼,并保證詳細設計與代碼完全一致。包括程序流程圖、N—S圖、PAD圖、HIPO圖
程序流程圖:程序流程圖又稱之為程序框圖,它是軟件開發(fā)者最熟悉的一種算法表達工具。它獨立于任何一種程序設計語言,比較直觀和清晰地描述過程的控制流程,易于學習掌握。在流程圖中只能使用下述的五種基本控制結構:順序型;選擇型;while型循環(huán);until型循環(huán);多情況型選擇。
N—S圖:一種符合結構化程序設計原則的圖形描述工具,稱為盒圖,又稱為N—S圖。在N—S圖中,為了表示五種基本控制結構,規(guī)定了五種圖形構件。順序型;選擇型;WHILE重復型;UNTIL重復型;多分支選擇型。
PAD圖:它是用結構化程序設計思想表現(xiàn)程序邏輯結構的圖形工具。PAD也設置了五種基本控制結構的圖示,并允許遞歸使用。
HIPO圖:HIPO圖是由一組IPO圖加一張HC圖組成。它是美國IBM公司在軟件設計中使用的主要表達工具。
HC圖既是層次圖,用于表示軟件的'分層結構。HC圖中的每一個模塊,均可用一張IPO圖來描述。IPO圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯(lián)系。
還有測試方法:按照測試過程是否在實際應用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。
靜態(tài)分析技術:不執(zhí)行被測軟件,可對需求分析說明書、軟件設計說明書、源程序做結構檢查、流程分析、符號執(zhí)行來找出軟件錯誤。
動態(tài)測試技術:當把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關系。
還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今后的學習中一定會慢慢的完善的。
軟件工程對于初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟件工程,不是僅僅把幾本專業(yè)書籍細致地看幾遍,然后上機練習幾次就可以成功,學習過程中要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學,肯定是什么都學不透的,要集中精力打攻堅戰(zhàn),學習軟件工程首先要明白自己的學習目標究竟是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應的學習方向上進行提高,制定出詳細的學習規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學習面向對象分析的時候要結合大一學習的面向對象及其方法學這一專業(yè)科目進行研究拓展;在學習語言時,要看看與C語言的聯(lián)系,多思多想,把從各個科目學到的知識通匯貫通。
在軟件工程的學習中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護更是占了60%到80%之多。一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告,開發(fā)進度報告,項目開發(fā)總結報告,軟件維護手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據(jù)具體情況不斷的反復才能達成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學習中,我更了解到形成自己獨特的規(guī)范的編碼風格是非常重要的事。因為這影響到了軟件后期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規(guī)范可言,那么別人怎么能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今后的學習中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在規(guī)范的基礎上形成屬于自己的風格,即方便自己的修改,也方便日后他人的閱讀。
在學習中,我們還要注意比較三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結合。而面向對象方法的程序設計和問題求解更符合人們日常自然的思維習慣,適合大型、復雜及交互性比較強的系統(tǒng)。形式化方法則是一中基于形式化數(shù)學變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉換為可執(zhí)行的程序。
在今后的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,并以此為基礎將其擴散開來,應用于今后的實踐。不斷鍛煉自己,向一名合格的程序設計師邁進。
軟件工程學習心得體會 篇4
未接觸軟件工程之前一直都很想學這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學了一個學期的軟件工程課,終于知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復雜化導致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調,組員積極配合,才能合作愉快。學習能力體現(xiàn)在能盡快接受新的知識,順應變化,學為所用。
上《軟件工程導論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已?jīng)給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產,提高其勞動生產效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構思一種或多種實現(xiàn)方法,并從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。在我看來,除了第一步外,其余的步驟應該是一個循環(huán)的過程。在編碼的.過程中,你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。1。可行性分析就是關于當前項目能不能干的分析結果。
2。項目描述這是在決定立項以后,對當前項目的一份扼要說明。
3。需求分析就是對客戶要求的功能的定義。
4。軟件設計這就是對程序的每一個模塊的詳細設計的說明文檔。
5。開發(fā)日志我一直都認為這是文檔中最有趣的部分。開發(fā)日志相當于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或對代碼的一些微小的修改,或對程序結構的一些微小變動等,還要對上述這些修改變動作些說明。
6。測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
軟件工程學習心得體會 篇5
一、軟件工程教學探討
軟件工程是計算機科學與技術及相關專業(yè)教學計劃中一門重要的專業(yè)必修課,是指導計算機軟件開發(fā)與維護的一門綜合性課程,是一門實踐性很強的課程,各高校的計算機專業(yè)均開設這門課程。通過本課程的學習,使學生了解和掌握軟件工程開發(fā)的技術和方法,具備作為軟件工程師所需的專業(yè)能力,為從事計算機軟件開發(fā)和維護提供方法上的指導。同時,軟件工程的研究除計算機軟件本身外,還涉及眾多其他的領域,如管理科學等。隨著計算機應用日益普及和深化,正在運行使用著的計算機軟件的數(shù)量以驚人的速度急劇膨脹,而且現(xiàn)代軟件的規(guī)模往往十分龐大,所以指導計算機軟件開發(fā)和維護的工程學科—軟件工程,日益顯示其重要地位。那么在講授此課程的時候就必須選用合適的教學方法和教學手段。
我將從以下幾個方面來探討一下軟件工程的教學特點:
1、在軟件工程教學中采用案例教學法
在軟件工程的學習中,學習者一般不好理解軟件工程的實踐性,不能將所學的知識真正應用到軟件開發(fā)過程中去。如何將理論與實際聯(lián)系起來呢?我們認為在軟件工程中采用案例教學發(fā)將會彌補這一缺憾。
案例教學法以對案例的分析解決為主線,通過對案例中的問題進行分析,激發(fā)學生的求知欲,調動學生的積極性,使學生自覺主動的學習案例,掌握原理和方法,實行科學的教育思想觀念的一種教學方式。它是一種互動式的教學方法,可以實現(xiàn)啟發(fā)式教學,能夠極大的促進學生的學習興趣,實現(xiàn)真正的教學相長。它更是實現(xiàn)理論聯(lián)系實際的現(xiàn)實可實施的途徑。案例教學法在軟件工程教學中的應用將在更大程度上激發(fā)學生學習的學習興趣和參與的.積極性。同時,利于學生掌握理論知識,并運用知識解決軟件開發(fā)中的實際問題,最終提高教學質量,達到學校教育培養(yǎng)的目標。
我們根據(jù)講解軟件工程課的具體體會和開發(fā)軟件的實際經(jīng)驗,下載相關案例,并詳細介紹軟件系統(tǒng)的開發(fā)過程,互動的方式講述用軟件工程的方法是如何進行分析和設計的,同時在系統(tǒng)開發(fā)的每個過程中提出大量的問題供學生思考。案例選擇可以學生檔案管理系統(tǒng)。我們將采用傳統(tǒng)的生命周期方法學,從問題定義、可行性研究、需求分析、總體設計到詳細設計做比較詳細的研究。
另外,學生通過網(wǎng)絡查找相關的案例系統(tǒng),逐步學會了畫系統(tǒng)功能模塊圖,數(shù)據(jù)流圖等,學會了撰寫可行性分析報告,需求分析報告以及軟件測試報告等,將會在軟件文章撰寫上取得很好的效果。
除了采用案例教學,有時候我們應該適當采用分組教學法和討論式教學法,將全班同學分成幾個小組,以小組為單位查閱資料,討論學習。
2、在軟件工程課程中采用多媒體教學
由于計算機課程自身的特點,傳統(tǒng)的教學方式不能很好地滿足教學的需要,先進的教學手段是一種藝術,能使教學雙方充分發(fā)揮自己的創(chuàng)意,形成最佳的教學效果,教師使用多媒體可使教學生動、形象、增強學生的感性認識,激發(fā)學生的學習積極性,提高教學效率和教學質量,所以講授《軟件工程》課程時,應使用多媒體手段進行教學,制作教學課件的過程中要充分考慮教師、學生、教材和媒體的相互關系,嚴格按照大綱要求,將學生應掌握的知識內容通過多媒體技術展示出來,達到了優(yōu)化教學過程的目的,并為今后教學中現(xiàn)代化教學手段的運用打下基礎。應緊密結合大綱、教學計劃以及教材已制作大部分章節(jié)相應的教學課件,并在教學中投入使用,里面有圖片,文字,還有動畫演示,將會取得良好的教學效果。
二、對精品課建設的認識
1、深入認識精品課建設的目的
精品課程建設的目的是為了建設一批具有一流教師隊伍、一流教學內容、一流教學方法、一流教材、一流教學管理等特點的示范性課程。實施精品課程建設,鼓勵教授、名師上講臺講課,以促進教學梯隊建設;強化信息技術手段,特別是網(wǎng)絡技術和多媒體技術手段,把課程內容、教案等搬到網(wǎng)上,促進優(yōu)質教育資源共享,力求建立內容新穎、方法和手段先進、教學和科研相結合的高質量、高水平、具有示范作用的精品課程,切實推進教育創(chuàng)新,深化教學改革,全面提高教育教學質量。
2、精品課建設應注意的問題
(1)課程教學團隊建設是精品課程建設的關鍵
在此次培訓中,劉強教授強調了團隊建設的重要性。建設相對穩(wěn)定的課程教學團隊,打造學習型、創(chuàng)新型課程教學團隊是精品課程建設的關鍵因素。通過課程教學團隊的建設,重視師資培養(yǎng)力度,讓一線教師和負責精品課程建設的教學管理人員更多的參加各種有關精品課程建設的培訓,加大經(jīng)費投入,出臺各種激勵政策,最大限度地調動廣大教師建設精品課程的積極性。
(2)教學方法和教學內容改革是精品課程建設的根本
在此次培訓中,劉強教授、駱斌教授和丁二玉教授都強調了教學方法和教學內容改革重要性。在教學中,要注意采用案例式、啟發(fā)式、討論式、以問題為基礎式等教學方法,充分調動學生的學習積極性、主動性和創(chuàng)造性,重視學生自學能力和創(chuàng)造能力的培養(yǎng);課程教學內容要與時俱進,體現(xiàn)科學性、先進性、趣味性,要和教學改革與課程體系改革相結合,要反映本學科領域的最新科技成果;注重將科研引進課程建設,大力改革實踐教學的形式和內容,根據(jù)課程教學需要,開發(fā)和組織綜合性、開放性、創(chuàng)新性實驗教學。
3、明確評審流程是精品課程申報成功的有效方法
在精品課程評審過程中,一定要知道評審流程。首先要分析擬申報課程在省高校和全國的位置,國家、省是否有此門課程、有幾門,明確申報此課程的優(yōu)勢;其次是材料的美化,參照指標體系,逐項細化,精選材料支撐每一項指標內涵,尤其是特色部分;三是錄像一定要突出教師與學生的互動環(huán)節(jié),包括網(wǎng)頁上的教師與學生的互動。
當然,精品課程建設是一項很艱巨的建設任務。以上僅是我參加此次培訓的一些個人感受和體會,希望和大家一起交流學習,共同做好精品課程建設工作。
軟件工程學習心得體會 篇6
時間飛逝,不知不覺間《軟件工程》的學習已經(jīng)過了大半了。在這將近半學期的學習中,雖然我不能說我將《軟件工程》學習的有多么的好,但是通過學習,我還是受益良多。
在以前,我一直對軟件存在一些偏見或則是誤解,認為軟件就是程序,軟件的開發(fā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發(fā)好的軟件產品。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學生,就能組成一個軟件公司。
但是通過了《軟件工程》這門課的學習,使我認識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,有充分的認識,才能更好的開發(fā)出,過程受控、質量受控的軟件產品。
而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的'膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內心深處進行創(chuàng)造的渴望,而且還能愉悅我們內在的情感。
而且通過學習《軟件工程》,我還學到了很多其他的東西。比如通過學習《軟件工程》,特別是老師每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓練自己的基本工程素質和能力,如何激發(fā)自己的積極性等。而且通過學習《軟件工程》,還讓我認識和培養(yǎng)了我的團隊協(xié)作能力,特別是對于我們這些在校的學生來說,這種學習更是能讓我在以后工作中少走很多的彎路。
所以,通過《軟件工程》的學習,我是真的學習到了很多有用的東西,讓我明白了很多的道理。在此我對老師的辛勤教育表示感謝,因為是你讓我學習到了這些,是我獲益良多。
軟件工程學習心得體會 篇7
軟件工程是一門實踐性很強、交叉性很強的學科,它提供給我們的不僅是一種方法論,更是一種世界觀。
在沒有接觸軟件工程這門課時,我一直認為軟件就是程序。能編出解決問題的程序就ok了,從沒有想過,在寫一個程序之前還要構思幾份文檔(可行性分析、需求分析、概要設計)。不過對于那些大型軟件如植物僵尸大戰(zhàn)(至少對于我來說是比較大型的了)怎么去實現(xiàn)它,想得我一頭霧水。絢麗的界面、40種植物、一大堆不同類型的僵尸,怎樣編代碼去實現(xiàn)它呢?
第一次上軟件工程的課,裴老師問“軟件是什么?” 我的第一想法是:這個問題太過愚昧了!誰不知道軟件就是程序呀? “軟件是由計算機程序、數(shù)據(jù)及文檔組成!甭牭竭@句話,我心里先是一驚,慌忙翻了下書“軟件是程序和所有使程序正確運行所需的相關文檔和配置信息!焙杖挥橙胛已酆。突然間我發(fā)現(xiàn),就算是植物僵尸大戰(zhàn)這樣復雜的游戲,如果設計者實現(xiàn)分模塊把每一部分如何實現(xiàn)用文檔描敘出來,那這個軟件實現(xiàn)起來不是很容易嗎?
第一次課后我明白了軟件工程是致力于專業(yè)化軟件開發(fā)的理論、方法和工具的研究。雖然我從初中開始信息奧賽,高中繼續(xù)這個愛好,但在大學二年級下學期才接觸在軟件開發(fā)中這么有引導意義的學科,不覺有種相見恨晚的感覺。自然它的'方法學三要素:方法、工具、過程,我牢記于心。
短短的四周,裴老師的課給我留下了深刻的印象,印象尤深的是:做軟件我們首先考慮的是團隊的實力。
如果別人給你50萬讓你們團隊開發(fā)一個軟件,如果他要求你們團隊給這個軟件永久維護,那么你要去跟他協(xié)商付100萬。很多軟件公司倒閉就是因為維護上的問題。至此我才明白維護軟件是軟件生存周期中時間最長的一個階段,它是最花費精力與錢財?shù)囊粋階段。
如果將來你們碰到了我,你跟我說你是se那么我會很高興,如果你告訴我你是軟件工程師,我只會“嗯嗯”兩下。
其實在我接觸軟件后,渴望的是當一名軟件工程師,F(xiàn)在才知道學軟件工程專業(yè)后,去當一名軟件工程師是最低層的也是最沒“技術”含量的。要做就做系統(tǒng)構架師,當然這需要我們的不懈努力才能達到。系統(tǒng)構架師的職責是設計一個公司的基礎構架,并提供關于怎樣建立和維護系統(tǒng)的指導方針;腥话l(fā)現(xiàn)學軟件不僅是學軟件,相關的管理能力也是需要具備的。
當然理論知識是用來指導實踐的,親身體驗才能領悟軟件工程的妙用。課設我們選擇了圖書館管理系統(tǒng),主要是這個系統(tǒng)我們接觸比較多,對于它的流程還是比較清楚的。雖然如此我們還是花了很大的時間去完成它。記得當時我們定下這個題目是晚上,在討論用什么語言實現(xiàn)時,大家各自說出自己比較善于的語言。然后均衡了下,定下用java做開發(fā)語言。在實現(xiàn)過程中,突然發(fā)現(xiàn)java環(huán)境連接數(shù)據(jù)庫和tomcat超級麻煩且數(shù)據(jù)庫老是連接不上。趁時間還早我們三再次討論,決定用c#做開發(fā)語言,主要是c#相對于c++與java來說簡易寫。同時我們定下不管以后遇到什么困難都要堅持下去的準則。在課設期間我們沒少跑圖書館,查閱各種資料,對比各本書上實現(xiàn)圖書館管理系統(tǒng)的代碼。終于在4月11日把所有課設的所有事情弄好了。當然這只是個概述。
我印象尤深記憶深厚的是最初實現(xiàn)文檔那塊。剛開始,軟件工程這門課還沒學多少,基本的設計理念就很模糊。文檔到底該怎么寫,很糾結。于是我從網(wǎng)上狂下相關文檔。通過粘貼與復制終于一份內容亂七八糟的需求分析文檔出來了,當然這只是用來借鑒的。后來孟陽分享了十三份關于文檔這方面的模板。我們照著那個樣子在結合團隊項目的相關實例開始了文檔的寫作。我們的文檔總是一個人先寫好,再拿給另一個人改,最后由第三個人評審。大家都覺的可以了,才過關。測試報告雖然是我一個人完成了,但也經(jīng)歷了不少時間,當然這時間是按小時算的。首先把大體寫出了,然后修改,再增加信息。大量的截圖以及思考怎樣用例超費腦子,兩天的通宵,徹底把我搞垮了,不過在文檔出爐后,心里異常開心。
軟件工程課程雖已結束,但我對于軟件工程的學習才剛剛開始,裴老師的課讓我受益匪淺。我體會到項目管理的重要性,隨著軟件規(guī)模、復雜度的不斷增加,項目開發(fā)中更多的是協(xié)作、管理和控制。我學習到很多一般性的方法,例如:需求獲娶模塊化、分治、估算、計劃等等。同時,我也認識到使用計算機解決實際問題的復雜性,在圖靈機模型和馮·諾依曼體系的計算機框架下,人們認識表達的過程(不斷反復、逐步深化)和計算機的實現(xiàn)過程(順序執(zhí)行)相差甚遠,軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進行形式化的過程方法。
向se進軍!至少這是現(xiàn)在的目標。
謝謝裴老師!您的課通俗易懂,舉的例子貼近生活,讓我們易于接受。
軟件工程學習心得體會 篇8
一、 軟件生命周期各階段任務目的和主要方法
在分階段總結之前,首先要明確以下三個問題:
1、什么是軟件生存周期?
軟件生存周期是指從軟件定義、開發(fā)、使用、維護到淘汰的全過程。 主要包括:
。1)問題定義;
。2)可行性研究;
。3)需求分析;
(4)概要設計;
。5)詳細設計;
。6)編碼;
(7)測試;
。8)軟件維護 。
2、軟件生存周期為什么劃分成階段?
(1) 任何一個階段的具體任務不僅獨立,而且簡單,便于不同人員分工協(xié)作,從而降低整個軟件開發(fā)工作的困難程度。
(2) 可以降低每個階段任務的復雜程度,簡化不同階段的聯(lián)系,有利于工程的組織管理,也便于采用良好的技術方法。
(3) 使軟件開發(fā)的全過程以一種有條不紊的方式進行,保證軟件的質量,特別是提高了軟件的可維護性。
3、應該怎樣來劃分階段?
(1)每一個階段的任務盡可能獨立;
(2)同一階段內的任務性質盡可能相同;
(3)每一個階段任務的開始和結束有嚴格的標準。
下面分別對各階段進行討論:
1、問題定義
目的是將用戶提出的要求具體化、定量化,任務是確定研制系統(tǒng)的范圍,明確研制的邊界。
方法步驟:
(1)通過調查研究,了解系統(tǒng)要求;
(2)需求方與開發(fā)方討論確定系統(tǒng)的功能、性能、可靠性、安全保密性等方面的要求,以及費用、進度等方面的要求。
2、可行性研究
可行性研究說明該軟件開發(fā)項目的實現(xiàn)在技術上、經(jīng)濟上和社會條件上的可行性,評述為合理地達到開發(fā)目的可能選擇的各種方案,目標是用最小的代價在盡可能短的時間內確定問題是否能夠解決。
可行性研究的方法是首先需要進一步分析和澄清問題定義;然后分析員導出系統(tǒng)的邏輯模型;最后對未來的行動方針提出建議。
在導出邏輯模型的過程中,具體要根據(jù)以下四個方面分析可行性:
(1)經(jīng)濟可行性:進行成本效益分析,評估項目的開發(fā)成本,估算開發(fā)成本是否會超過項目預期的全部利潤.分析系統(tǒng)開發(fā)對其它產品或利潤的影響。
(2)技術可行性:根據(jù)客戶提出的系統(tǒng)功能,性能及實現(xiàn)系統(tǒng)的各項約束條件,從技術的角度研究實現(xiàn)系統(tǒng)的可行性。
(3)法律可行性:研究在系統(tǒng)開發(fā)過程中可能涉及的各種合同,侵權,責任以及各種于法律相抵觸的問題。
(4)開發(fā)方案的選擇性:提出并評價實現(xiàn)系統(tǒng)的各種看法方案.從中選出一種用于軟件項目開發(fā)。
3、需求分析
需求分析是為了有效解決用戶的需要而進行的一項工程活動,要考慮的問題是功能需求、數(shù)據(jù)需求、性能需求和接口需求,開發(fā)者承擔分析任務,核心是用戶。
軟件項目的失敗大半源于需求分析沒有做好,軟件開發(fā)人員首先應該明確用戶的意圖和要求,正確獲取用戶的需求,然后形成一個軟件需求規(guī)格說明,它是軟件開發(fā)的重要基礎。
需求分析的方法:
(1)需求獲。韩@取客戶需求,客戶泛指某個人或機構部門等,一般方法是調查,包括訪談座談、問卷、跟班和收集資料,需求規(guī)約可表達用戶的軟件價值。
(2)需求分析與規(guī)格說明:建立需求模型,它是用戶需求的圖解,一些常用的模型有:業(yè)務樹圖、用例圖、活動圖。分別用于結構化需求建模、系統(tǒng)業(yè)務舉例和反映系統(tǒng)工作流程。
(3)需求驗證:要驗證的主要內容有:有效性驗證、一致性驗證、完整性驗證、現(xiàn)實性驗證和可檢驗性驗證。
需求建模的方法:
(1)關聯(lián)模型
(2)面向對象模型
(3)原型方法
4、系統(tǒng)設計
此階段主要根據(jù)需求分析的結果,對整個軟件系統(tǒng)進行設計,如系統(tǒng)框架設計,數(shù)據(jù)庫設計等,一般分為概要設計和詳細設計,好的軟件設計將為軟件程序編寫打下良好的基礎。
概要設計是對需求規(guī)格說明書中提供的軟件系統(tǒng)邏輯模型進行進一步的分解,從而建立軟件系統(tǒng)的總體結構和各個子系統(tǒng)間及各個模塊間的關系,定義各子系統(tǒng)接口界面和各模塊的功能描述,并根據(jù)設計結果產生概
要設計文檔。 概要設計在早期有模塊化方法、功能分解方法;在
60年代后期提出了面向數(shù)據(jù)流和面向數(shù)據(jù)結構的設計方法;近年來又提出面向對象的設計方法等。
詳細設計過程根據(jù)概要設計形成的結果對各個模塊的內部實現(xiàn)進行規(guī)劃設計,并根據(jù)設計結果產生詳細設計文檔。 詳細設計主要方法是通過采用結構化和面向對象的方法從視圖、控制、模型三層模型上細化概要設計的各個模塊,并完成偽代碼為編碼階段做準備。
5、編碼和測試
編碼是將軟件設計的結果轉換成計算機可執(zhí)行的程序代碼。 主要方法是依據(jù)詳細設計文檔實現(xiàn)設計中的算法、功能、接口、數(shù)據(jù)結構,采用結構化和面向對象化的方法編寫代碼。
編碼過程中要制定統(tǒng)一,符合標準的編寫規(guī)范,以保證程序的可讀性,易維護性,提高程序的運行效率。
軟件設計完成后要經(jīng)過嚴密的`測試,以發(fā)現(xiàn)軟件在整個設計過程中存在的問題并加以糾正。整個測試過程分單元測試、組裝測試以及系統(tǒng)測試三個階段進行。
測試的方法主要有白盒測試和黑盒測試兩種。在測試過程中需要建立詳細的測試計劃并嚴格按照測試計劃進行測試,以減少測試的隨意性。
6、軟件維護
軟件維護是軟件生命周期中持續(xù)時間最長的階段。在軟件開發(fā)完成并投入使用后,由于多方面的原因,軟件不能繼續(xù)適應用戶的要求。要延續(xù)軟件的使用壽命,就必須對軟件進行維護。
軟件的維護包括糾錯性維護和改進性維護兩個方面。
二、 課程主要收獲
《軟件工程》課程強調概念和知識的理解和掌握,側重軟件項目的分析、設計、實現(xiàn)和維護的基本技能。比較注意“點”和“面”的結合,是一門理論性和實踐性都較強的學科。作為一名已經(jīng)在IT領域工作十年之后又重返校園的大齡學生,雖然已經(jīng)不是第一次學習這門課程了,去年也剛在單位取得了信息系統(tǒng)項目管理高級工程師資格,從另一個側面對軟件開發(fā)過程有了更深層次的理解。不過溫故而知新,這次仍然選修這門課,我還是得到了一些新的啟示。最大的收獲就是在我看來,軟件工程與其說是一門課程,不如說是一門思想,是一個如何去分析和處理問題的過程,應該說其范疇已經(jīng)遠遠不止局限于該門課程,它已經(jīng)成為了一個綜合的能夠解決問題的思想集合。
此外,通過對軟件開發(fā)過程的重學習,并結合之前在軟件開發(fā)管理工作中的經(jīng)驗,我對自己在軟件開發(fā)主要階段管理工作中的不足有了更進一步的認識,總結了相應的管理要點,具體闡述如下:
1、 概要設計
主要任務:系統(tǒng)應該怎樣做或概括地說,系統(tǒng)應該如何實現(xiàn) 。 本階段特點:將用戶的具體要求轉為抽象的計算機軟件設計 。 管理要點:
通過分析對比,從多種可能的實現(xiàn)方案和軟件結構中選出最佳方案及最合理的,即:
1 設想供選擇的方案→推薦最佳方案→選取合理的方案
2 功能分解→ 軟件設計結構 → 數(shù)據(jù)庫設計
3 確定測試要求并確定測試計劃
作為項目管理者必須從概要設計開始就應該從全局角度開始把握整個系統(tǒng)的進展,并必須從此階段開始,時刻從全局觀的問題來發(fā)現(xiàn)問題,解決問題。
2、詳細設計
主要任務:系統(tǒng)應該怎樣具體地做,或概括地說,系統(tǒng)應該如何具體地去實現(xiàn)所有的要求 。
本階段特點:將抽象的計算機軟件設計轉為形象的,具體的,面向用戶的計算機界面設計 。
管理要點:
本階段尚未涉及具體編寫程序,而是要設計出程序的“藍圖”,所以詳細設計的結果基本上決定了最終的程序代碼的質量。
1 邏輯是否正確
2 性能是否滿足要求
3 是否容易閱讀和理解
軟件工程學習心得體會 篇9
早在我選擇民政職業(yè)技術學院就讀軟件開發(fā)與項目管理這門專業(yè)的時候,我一直認為軟件開發(fā)無非是努力的敲代碼,從敲代碼的過程中去體會各行代碼的意思和用處,在沒學軟件工程時我一直都是努力的敲代碼去學習軟件開發(fā)這門專業(yè)。在大一的時候我敲代碼的激情很好,但是到大二的時候就出現(xiàn)問題了,我根本就不喜歡敲代碼了,看見代碼就頭疼。所以感覺厭惡這門專業(yè),對學習也不感興趣了。而且,還有一件更頭疼的事是在寫一個簡單的程序時竟然老是出錯,難一點的,復雜一點的程序竟然無從下手。但是去看程序的參考答案時都看得懂,又感覺很容易。學了軟件工程以后,我就感覺我以前的學習方法是錯誤的。以前我只注重于代碼,而不注重理論知識以及編程的思路,程序的架構。以至于在些程序時沒有寫程序的思路,不能形成程序的架構。只想到看腦袋里是否有與此類似的代碼。越想程序越亂,最后腦袋里一片空白。不知道程序從哪個方面下手了。
軟件工程這門課程是做軟件開發(fā)的人必學的課程,通過學這門課程,程序員就會注重軟件開發(fā)的理論知識,以及做項目開發(fā)的思路。學了這門課程后你寫程序就不會去盲目的去套用代碼,而是理清此程序的架構以及思路。程序該從什么時候開始,什么時候結束。在中間需要添加什么樣的功能,以完善該軟件。其實學軟件工程并不難,而且很容易。軟件工程與日常生活聯(lián)系起來的話,就是在一天中你該先做什么,后做什么。理解了先做什么,后做什么了以后寫程序就不是那么難了,再復雜的程序也可以分成幾大塊。你理清程序的思路后就可以一步步的解決其中的難題,最終實現(xiàn)軟件的`功能。如果沒學軟件工程不知道理清程序的思路的話,做一個大的項目開發(fā),那么多的代碼,沒有一個很好的結構,最終只會導致程序混亂,錯誤百出,知道代碼再多也會素手無策的。
總而言之,作為一個程序員學習軟件工程這門課程是至關必要的,如果沒學習軟件工程,你就不會做項目開發(fā),也不可能開發(fā)出一個完善的軟件出來。
軟件工程學習心得體會 篇10
曾經(jīng)看過一本書叫《道法自然》,內容略記得一二,但我最欣賞的是它的書名。軟件設計沒什么太神秘有東西,只要用心體會,其實一切都很自然。軟件的設計之“道”,也不在于設計有多么的華麗、精巧,而在于其樸實、自然,最終達到“以無招勝有招”,進入一個全新的境界。
一、軟件設計理論的層次
以我的拙見,軟件設計領域中的各種概念,可以分為以下幾個層次來進行理解:
1、軟件設計的目的:重用性、擴展性。
這是最高的層次,是應對軟件危機的需要。
2、設計原則:低耦合、高聚合。
各種軟件設計的原則,如依賴倒置原則、單一職則原則、面向接口等,以及各種設計模式,其根本的目的其實只是為了降低耦合這么簡單。因為只有低耦合才能更好的適應變化,更好的重用和擴展。
3、實現(xiàn)方法:運用設計模式封裝變化、降低耦合。
設計模式只是用來“封裝變化、降低耦合”的工具而已。它是面向對象設計時代的產物,其本質就是充分運用面向對象的三個特性,即:封裝、繼承和多態(tài),進行靈活的組合運用。
二、關于耦合
1、耦合的粒度
耦合無論如何也是不可避免的。當我們實現(xiàn)接口、繼承父類的時候,就會不可避免的產生耦合。耦合是有不同粒度的,我們解耦到什么粒度為止,我認為應以模塊的重用粒度為準。盡量解除重用模塊或對象之間的.耦合。而重用模塊之內的耦合,應屬于聚合的范疇,所以不要盲目的去解耦,否則就陷入了誤區(qū)。
2、解耦的原理
怎樣才能解耦呢,或者說為什么各種設計模式能達到解耦的目的呢?我覺得有以下幾個思路:
。1)將具體的東西抽象處理
。2)將分散的東西集中處理
而面向對象中的接口、繼承正為我們提供了這樣的一種機制。通過訪問接口或基類或抽象類,而不是具體的實現(xiàn)類,從而與具體的實現(xiàn)類達到了解耦的目的。我們還可以設計一些控制類,像潤滑劑一樣,協(xié)調各實現(xiàn)類之間的訪問,也可以達到耦的目的。
事實上,各種設計模式的基本思想也就是這樣。創(chuàng)建型模式是為了解除創(chuàng)建對象時產生的耦合,實際上是解除對類稱名的依賴,而結構型和行為型是為了解除對象屬性或方法的直接調用。不管什么設計模式,都是將對具體實現(xiàn)類的訪問提升為對接口、基類或用于協(xié)調的控制類的訪問。
三、關于接口
這一節(jié)更具體,談一談接口,因為使用接口是軟件設計的重要手段,但已經(jīng)不屬于“道”了~
1、接口與繼承
接口描述的是對象某一個方面行為特征。使用接口與使用繼承關系各有優(yōu)缺點,使用子類繼承可以繼承父類的功能,體現(xiàn)了重用的精神。而接品更加靈活,因為它解除了子類與父類之間的高度耦合,它體現(xiàn)在靈活擴展的精神。
2、接口與純虛類
理論上接口可以由純虛基類實現(xiàn)類似的功能,那為什么還我們不去掉接口的概念,而直接使用虛類呢?
接口存在的理由就是它更加靈活,關系簡單,易于理解。比如一個類可以實現(xiàn)十幾個甚至幾十個接口,但一般開發(fā)工具只支持單繼承(由于多繼承太容易導致混亂和沖突),如果要繼承十幾層,系統(tǒng)結構想必會無法理解了,我以為這是接口存在的最重要的原因。
如果接口和虛類繼承結合使用,可以產生強大的威力,這也是許多設計模式的“殺手锏”。
以上算是總結一下自己的心得?隙ㄓ胁簧倨嬷,請各位指教。
軟件工程學習心得體會 篇11
經(jīng)過這學期軟件工程實驗的學習,深深感到用戶需求對軟件的重要性。成功的軟件產品是建立在成功的需求基礎之上的,而高質量的需求來源于用戶與開發(fā)人員之間有效的溝通與合作。當用戶有一個問題可以用計算機系統(tǒng)來解決,而開發(fā)人員開始幫助用戶解決這個問題,溝通就開始了。
需求獲取可能是最困難、最關鍵、最易出錯及最需要溝通交流的活動。對需求的獲取往往有錯誤的認識:用戶知道需求是什么,我們所要做的就是和他們交談從他們那里得到需求,只要問用戶系統(tǒng)的目標特征,什么是要完成的,什么樣的系統(tǒng)能適合商業(yè)需要就可以了,但是實際上需求獲取并不是想象的這樣簡單,這條溝通之路布滿了荊棘。首先需求獲取要定義問題范圍,系統(tǒng)的邊界往往是很難明確的,用戶不了解技術實現(xiàn)的細節(jié),這樣造成了系統(tǒng)目標的混淆。
其次是對問題的理解,用戶對計算機系統(tǒng)的能力和限制缺乏了解,任何一個系統(tǒng)都會有很多的用戶或者不同類型的用戶,每個用戶只知道自己需要的系統(tǒng),而不知道系統(tǒng)的整體情況,他們不知道系統(tǒng)作為一個整體怎么樣工作效率更好,也不太清楚那些工作可以交給軟件完成,他們不清楚需求是什么,或者說如何以一種精確的方式來描述需求,他們需要開發(fā)人員的協(xié)助和指導,但是用戶與開發(fā)人員之間的交流很容易出現(xiàn)障礙,忽略了那些被認為是"很明顯"的信息。最后是需求的確認,因為需求的不穩(wěn)定性往往隨著時間的推移產生變動,使之難以確認。為了克服以上的問題,必須有組織的執(zhí)行需求的獲取活動。
需求獲取活動要完成的任務或者步驟的過程如下:
1、編寫項目視圖和范圍文檔
系統(tǒng)的需求包括四個不同的層次:業(yè)務需求、用戶需求和功能需求、非功能性需求。業(yè)務需求說明了提供給用戶新系統(tǒng)的最初利益,反映了組織機構或用戶對系統(tǒng)、產品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。用戶需求文檔描述了用戶使用產品必須要完成的任務,這在使用實例文檔或方案腳本說明中予以說明。功能需求定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務,從而滿足了業(yè)務需求。
非功能性需求是用戶對系統(tǒng)良好運作提出的期望,包括了易用性、反應速度、容錯性、健壯性等等質量屬性。需求獲取就是根據(jù)系統(tǒng)業(yè)務需求去獲得系統(tǒng)用戶需求,然后通過需求分析得到系統(tǒng)的功能需求和非功能需求。項目視圖和范圍文檔就是從高層次上描述系統(tǒng)的業(yè)務需求,應該包括高層的產品業(yè)務目標,評估問題解決方案的商業(yè)和技術可行性,所有的使用實例和功能需求都必須遵從的標準。而范圍文檔定義了項目產品所包括的所有工作及產生產品所用的過程。項目相關人員對項目的目標和范圍能達成共識,整個項目組都應該把注意力集中在項目目標和范圍上。
2、用戶群分類
系統(tǒng)用戶在很多方面存在著差異,例如:使用系統(tǒng)的頻度和程度、應用領域和計算機系統(tǒng)知識、所使用的系統(tǒng)特性、所進行的業(yè)務過程、訪問權限、地理上的布局以及個人的素質和喜好等等。根據(jù)這些差異,你可以把這些不同的用戶分成不同的用戶類。與ULM中Usecase的Actor概念一樣,用戶類不一定都指人,也可以包括其他應用系統(tǒng)、接口或者硬件,這樣做使得與系統(tǒng)邊界外的接口也成為系統(tǒng)需求。將用戶群分類并歸納各自特點,并詳細描述出它們的個性特點及任務狀況,將有助于需求的獲取和系統(tǒng)設計。
3、建立核心隊
通常用戶和開發(fā)人員不自覺的都有一種"我們和他們"的想法,產生一種對立關系,把彼此放在對立面,每一方都定義自己的"邊界",只想自己的利益而忽略對方的想法。他們通過文檔、記錄和對話來溝通,而不是作為一個合作的整體去識別和確定需求完成任務。實踐證明這樣的方法是不正確的,不會給雙方帶來一點益處,良好的溝通關系沒有建立導致了誤解和忽略重要的信息。只有當雙方參與者都明白要成功自己需要什么,同時也知道要成功對方需要什么時,才能建立起一種合作關系。
為了建立合作關系通常采取一種組隊的方式來獲取需求,建立一個由用戶代表和開發(fā)人員組成的聯(lián)合小組作為需求獲取的核心隊伍。聯(lián)合小組將負責識別需求、分析解決方案和協(xié)商分歧,小組成員可以采用會議、電子郵件、綜合辦公系統(tǒng)等方式進行交流,但交流時應注意以下原則:小組會議應該由中立方來組織和主持,用戶和開發(fā)人員都要參加;交流預先要確定準備和參與的規(guī)則;議題要明確并覆蓋所有關鍵點,但信息來源應該自由;交流目標要明確,并告知所有的成員。
4、確定使用實例
從用戶代表處收集他們將使用系統(tǒng)完成所需任務的描述,討論用戶與系統(tǒng)間的交互方式和對話要求,這就是使用實例,一個單一的使用實例可能包括完成某項任務的許多邏輯相關任務和交互順序。使用實例方法給需求獲取帶來的好處來自于該方法是用以任務為中心和以用戶為中心的觀點,比起使用以功能為中心和以開發(fā)者為中心的方法,使用實例方法可以使用戶更清楚地理解和認識到新系統(tǒng)允許他們做什么和怎么做。描寫使用實例的時候要注意使用簡潔直白的表述,盡量使用主動語態(tài),用"系統(tǒng)"或者"用戶"作為主語,比如"用戶提交用戶密碼,系統(tǒng)驗證用戶密碼是否正確",還有一點在描述中不要設計界面細節(jié),比如"用戶從下拉框中選擇產品類型"。使用實例為以后寫用例場景描述中的基本路徑和擴展路徑提供了素材。
5、分析用戶工作流程
分析用戶工作流程觀察用戶執(zhí)行業(yè)務任務的`過程,通過分析使用實例得到系統(tǒng)的用例圖。編制用例圖文檔將有助于明確系統(tǒng)的使用實例和功能需求,統(tǒng)一建模語言的使用有助于與用戶進一步交流。每個用例的描述應包括:編號,為每個用例分配一個唯一的編號,為需求的追溯提供了方便;參與者,與這個用例交互的 actor;前置條件,開始用例前所必須具備的系統(tǒng)狀態(tài);后置條件,用例完成后系統(tǒng)達到的狀態(tài);基本路徑,用例完成的關鍵路徑,也是用戶期望的路徑;擴展點,基本路徑的分枝,表示意外情況;字段說明,路徑中名稱的進一步分解說明,對以后類屬性的定義和數(shù)據(jù)庫字段設計起作用;設計約束,實現(xiàn)用例的非功能約束。
6、檢查問題報告
通過檢查當前已經(jīng)運行系統(tǒng)的問題報告來進一步完善需求客戶的問題報告及補充需求為新系統(tǒng)或新版本提供了大量豐富的改進及增加特性的想法,負責提供用戶支持及幫助的人能為收集需求過程提供極有價值的信息。
7、需求重用
如果客戶要求的功能與已有的系統(tǒng)很相似,則可查看需求是否有足夠的靈活性以允許重用一些已有的軟件組件。業(yè)務建模和領域建模式需求重用的最好方法,像分析模式和設計模式一樣,需求也有自己的模式。
總結:經(jīng)過一學期的軟工實驗,深刻感到其重要性的同時也學到了不少的東西 ,將對我在今后的軟件開發(fā)過程中起極大的作用。
軟件工程學習心得體會 篇12
在這次軟件工程課程中,我學到了很多東西,第一次深刻的體會到了什么叫做用工程化的思想來編寫軟件,以前自己也寫過一些小型軟件,沒有做過大型的項目,直到這次課堂我擔任組長并組織組員共同完成“個人圖書管理系統(tǒng)”這個項目,第一次和別人合作,才發(fā)現(xiàn)運用工程化的思想來做是如此的有必要。
從這里,我才真正的意識到實施一個軟件工程并不是說簡單的會編碼就能夠解決問題的,我們更多的精力不是放在編碼上,編碼只是一個很小的模塊,只占到那么小的一個部分。這個事實在很大程度上顛覆了我以前的思想,在我以前的認識中,似乎整個軟件就是編碼,除此無它,還好有老師的指導,不然真的會出現(xiàn)老師所說的',撞得頭破血流之后才想起來用軟件工程的思想來完成這個工作。
剛真正開始工作之前,我們費了很多的時間來完成一些前端工作,如需求分析和可行性分析,這塊工作在別人看來可能是相對無關緊要,甚至是多于的,其實,換做在以前,我也會這么認為。可是,我現(xiàn)在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,太重要了,要想你的軟件有用有市場,能被別人接受和認可,在進行過程中不會出現(xiàn)崩潰性的問題,這些工作缺一不可。
還有就是接下來的一些設計模塊,此模塊與軟件編碼涉及比較緊密,主要是解決一些參數(shù)傳遞和接口通訊的問題,此模塊對我的觸動遠沒有上兩個模塊對我的影響大,因此再次也不做過多的介紹。
在整個活動的完成過程中,作為組長,我收獲很多,我發(fā)現(xiàn),要是組里有個人不怎么想做事情時,他對于整個組織的影響是毀滅性的,正所謂“一顆老鼠屎,能壞一倉谷”,以后我的組織里要是出現(xiàn)這樣的人,我絕不會給他繼續(xù)留下來的機會,我會在第一時間將他清除出去。還有就是,作為組長,你要做的最重要的事情,不是發(fā)揮自己的聰明才智,而是創(chuàng)造出一個平臺,讓別人去發(fā)揮,你所要做得,出了保證這個平臺的完整性和公平性外,還有就是協(xié)調好各組員之間的關系。
這就是我的實習感想。
軟件工程學習心得體會 篇13
我們是20XX年3月7號進入宏天實訓公司參加軟件開發(fā)實訓的,在此次實訓中,除了讓我明白工作中需要能力,素質,知識之外,更重要的是學會了如何去完成一個任務,懂得了享受工作。當遇到問題,冷靜,想辦法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學習的東西。
經(jīng)過之前的在校學習,對程序設計有了一定的認識與理解。在校期間,一直都是學習理論知識,沒有機會去參與項目的開發(fā)。所以說實話,在實訓之前,軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經(jīng)過這次實訓,讓我明白了一個完整項目的開發(fā),必須由團隊來分工合作,并在每個階段中進行必要的總結與論證。
一個完整項目的開發(fā)它所要經(jīng)歷的階段包括:遠景范圍規(guī)劃和用例說明、項目結構和風險評估、業(yè)務功能說明書、詳細設計說明書、代碼實現(xiàn)、測試和安裝包等等。一個項目的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠景規(guī)劃,對以后的開發(fā)進度會有很大的影響,甚至會出現(xiàn)在預定時間內不能完成項目或者完成的項目跟原來預想的不一樣。一份好的項目結構、業(yè)務功能和詳細設計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關鍵,也就是說,前期作業(yè)都是為代碼的'實現(xiàn)所做的準備。
我深刻的認識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼基礎,必須要有事先對文檔進行可靠性報告,功能說明書,詳細設計說明書等的編寫和一些風險評估的編寫的能力。
軟件工程學習心得體會 篇14
學習了這門課程, 還有老師們的多元化教課,不但使我們從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結合,老師主要是從六個方面來描述軟件工程,分別是信息和多媒體,JAVA編程技術,數(shù)據(jù)庫系統(tǒng),布線系統(tǒng),管理信息系統(tǒng),網(wǎng)絡編程.有很多都是老師們多年的工作經(jīng)驗的總結,下面是我聽課后自己的一點心得和自己對軟件開發(fā)一點感想,我知道還有好多的不懂,只有通過不斷的學習才能一一解開。
信息和多媒體
課中老師給出一些案例,其中主要展示了Authorware,Visual Basic軟件,讓我了解信息多媒體中,用Authorware開發(fā)出的一些管理系統(tǒng),并用在觸摸屏上,而在實際的生活中是很多見的,比如在什么展覽廳中,在開發(fā)這類軟件中特別要注意的地方是界面方面和功能方面要一目了然,要想像一下別人在用你系統(tǒng)的時候是用手指去觸摸操作而不是鼠標,特別在數(shù)據(jù)庫后臺的時候是整機的,所以在設計時一定要求完美,做成系統(tǒng)就不應該有什么要改的,還有要有擴展性,可方便的與各種外部設備掛接,實現(xiàn)數(shù)據(jù)交換,所以在這方面開發(fā)的時候,一定要從用戶的角度來看,思維不能用傳統(tǒng)的開發(fā)思想,我認為做這類系統(tǒng)時候,并不是開發(fā)環(huán)境的難點,最重要的是思維的轉變,這樣才能做出用戶用得滿意的系統(tǒng)。
JAVA
這門語言的發(fā)展是相當迅速的,老師關鍵講了Jsp,目前流行的四種開發(fā)WEB頁語言,Jsp,Asp,Php,Asp.net,而Jsp是從JAVA語言中派生出來的,繼承了JAVA的優(yōu)良性,所以Jsp的強大之處就在這了,輕松的跨越操作系統(tǒng)的平臺,而且他不像Asp, 所有的解析全部由IIS 來完成, 量過大時,IIS就無能為力,,Jsp和Tomcat的組合是相當完美的,Tomcat的強大之處就在他在處理請求頁面的時候實現(xiàn)了多線程分配,這樣就能保證訪問量不會過量占用內存和CPU,在開發(fā)Jsp的時候,老師給我們一款式Jcreater,可以看到JAVA的開發(fā)工具界面都是非常友好,Jsp與Asp有許多相類的地方,相比較,Jsp有兩方面的優(yōu)點,首先,動態(tài)部分用JAVA編寫,而不是VB Script或其他Microsoft語言,不僅功能更強大而且易于使用.第二,Jsp應用可以移植其它的操作系統(tǒng)和非Microsoft的web服務器上.再者Jsp的安全性和訪問速度也是在其它幾個web開發(fā)語言中出類撥萃,JAVA語言的純面向對象讓我們在Jsp中得到真正的體現(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ù)據(jù)庫的實現(xiàn), DBMS的研制包括研制DBMS本身以及以DBMS為核心的一組相互聯(lián)系的軟件系統(tǒng)。研制的目標是擴大功能、提高性能和提高用戶的生產率, 數(shù)據(jù)庫設計的主要任務是在DBMS的支持下,按照應用的要求,為某一部門或組織設計一個結構合理、使用方便、效率較高的數(shù)據(jù)庫及其應用系統(tǒng),在我們使用的SQL SERVER中,其實是把數(shù)據(jù)庫原理都己封裝好,所以我們就只是新建Database,再建Table,我們只是需要調用就行,再用SQL語句來實現(xiàn),讀取,添加,刪除,修改,更新等功能,數(shù)據(jù)庫對于用戶來說就是這些基本的功能,數(shù)據(jù)庫理論主要集中于關系數(shù)據(jù)的規(guī)范化理論,關系數(shù)據(jù)理論,但隨著人工智能與數(shù)據(jù)庫理論的結合,新的數(shù)據(jù)庫理論如演繹數(shù)據(jù)庫系統(tǒng),知識庫系統(tǒng),隨著數(shù)據(jù)庫的發(fā)展,以后的各個領域都將有數(shù)據(jù)庫系統(tǒng)的存在,數(shù)據(jù)庫將和我們的生活緊密相連,新型數(shù)據(jù)庫理論的出現(xiàn)必將有新的數(shù)據(jù)庫系統(tǒng),而新的系統(tǒng)將趨于界面簡潔化,使用簡單化,功能強大化,可擴展性強,還有就是智能性強!
布線系統(tǒng)
課上老師從他做過幾個工程來講,其中自上而下的設計思路很是有用,就是從頂層開始,網(wǎng)絡服務,NetwokrSystem,硬件系統(tǒng),OA_CA_BA,網(wǎng)絡系統(tǒng),綜合布線,樓層,設計是從上而下,而實施時是從下而上的,這樣就有一個比較開放的設計模式,在以后的大樓中,都會是樓宇自動化和智能大廈,而綜合布線系統(tǒng)則更是要考慮各方面的困素,如樓層的設計,你設計出來的布線系統(tǒng)一定要符合大樓的實際情況,這樣才能做到因地制宜,從根本上做好。
綜合布線系統(tǒng)可劃分成六個部分,其中三個子系統(tǒng):配線(水平)子系統(tǒng);干線(垂直)子系統(tǒng);建筑群子系統(tǒng);外加三個部分:工作區(qū)、設備間、管理獨立的需要設置終端設備的區(qū)域宜劃分為一個工作區(qū)。工作區(qū)應由配線布線系統(tǒng)的信息插座延伸到工作站終端設備處的連接電纜及適配器組成。
工作區(qū)的每一個信息插座均應支持電話機、數(shù)據(jù)終端、計算機、電視機及監(jiān)視器等終端的設置和安裝。
配線子系統(tǒng)應由工作區(qū)的信息插座、信息插座至樓層配線設備(FD)的配線電纜或光纜、樓層配線設備和跳線等組成。
干線子系統(tǒng)應由設備間的建筑物配線設備(BD)和跳線以及設備間至各樓層配線間的干線電纜組成, 干線子系統(tǒng)應由設備間的建筑物配線設備(BD)和跳線以及設備間至各樓層配線間的干線電纜組成。
設備間是在每一幢大樓的適當?shù)攸c設置電信設備和計算機網(wǎng)絡設備,以及建筑物配線設備,進行網(wǎng)絡管理的'場所。對于綜合布線工程設計,設備間主要安裝建筑物配線設備(BD)。電話、計算機等各種主機設備及引入設備可合裝在一起。 設備間內的所有總配線設備應用色標區(qū)別各類用途的配線區(qū)上面都所都是書上的一些慨念性知識,在設計上劃分這些子系統(tǒng)時就是從這些慨念來區(qū)分,這樣就能在本質上區(qū)別他們之間的不同,就像老師所說,跟著別人做一次工程,就什么都明白了,設計布線系統(tǒng)一定要從做實際出發(fā),做過幾次后,一些程管理信息系統(tǒng) 信息系統(tǒng)(Information System, IS):基于計算機技術、網(wǎng)絡互聯(lián)技術、現(xiàn)代通訊技術和各種軟件技術,各種理論和方法于一體,提供信息服務的人機系統(tǒng).它的組成是信息源,信息處理器,信息用戶,信息存儲器,信息管理者和傳輸通道。
在信息系統(tǒng)中
信息管理者起著主導作用,做一個信息系統(tǒng)是要靠幾個人一起合作的,信息系統(tǒng)開發(fā)的階段可分為,規(guī)劃階段,分析階段,設計階段,實施階段,支持階段,其中最重要的就是第一階段,它是由系統(tǒng)分析員,也是總體的設計師設計師完成,而我們傳統(tǒng)的思想中的程序員寫的代碼應該是很重要的,但是事實上并不是這樣,代碼的編寫是在實施階段,所以不要以為在做系統(tǒng)時,代碼是很重要的,可能我們在做系統(tǒng)時,從規(guī)劃到實施都是一個人來完成,所以并沒有意識到設計的重要性,只有一個好的設計才能從根本做一個好的系統(tǒng)!
網(wǎng)絡編程
在網(wǎng)絡編程中可以用到的語言有很多,VB,VC,C++,JAVA,Delphi,還有就是微軟VS.net,它是從框架的模式來總估設計,最新的Delphi2005也是支持.net框架,框架的慨念我個認為是, .net框架的核心是通用語言運行,.net框架中的類為開發(fā)人員提供了統(tǒng)一的,面向對象的,層次化的,可擴展性的類庫集(API),現(xiàn)今,C++開發(fā)人員使用的是微軟基礎類庫,JAVA人員使用的是WINDOWS基礎類庫,而Visual Basic用戶使用的又是Visual Basic API集.就是說.net框架統(tǒng)一了微軟當前同的框架,這樣,開發(fā)人員不再而需要學習多種框架就能順利編程.還有就是通過創(chuàng)建一個公共的跨編程語言的API集,.net框架可實現(xiàn)跨語言繼承性,錯誤處理功能和調試,實際上,從Jscript到C++的所有編程語言都是相互的,開發(fā)人員可以自由選擇理想的編程語言.網(wǎng)絡編程在現(xiàn)在己成為一種流行的趨勢,互連網(wǎng)的迅猛發(fā)展讓網(wǎng)絡編程成為程序員發(fā)展的新空間,而以后什么語言最流行,可能就是JAVA,VS.net,Delphi這三種語言占大數(shù)了,記得比爾蓋次曾經(jīng)說過,我們的編程水平還是非常的低,在以后的時間將有很大的發(fā)展空間,很可能我們以后所用的系統(tǒng)也許就高語音識別,或人的觸覺來操作.而在我們身邊,QQ這個軟件可以說是中國人開發(fā)的最為成功的網(wǎng)絡軟件,不但是方便使用而且成為當前互連網(wǎng)上最可靠的點到點的網(wǎng)絡傳輸工具,還記得原來用的第一款QQ軟件,就只能單純發(fā)文字,當然也是互連網(wǎng)的發(fā)展給了QQ一個非常好機遇,網(wǎng)絡編程的發(fā)展讓我們在互連網(wǎng)通訊越來越方便,對我們學計算機的人也是機遇和挑戰(zhàn).并存。
以上就是學習這門課程的心得,軟件工程并不是教你怎么寫程序而是教你在理論上如何設計最為成功的軟件開發(fā),學完后也許認為什么都沒有學到,但是在做軟件開發(fā)上它能給你指導,設計出可靠,可行,可實施的方案。
軟件工程學習心得體會 篇15
數(shù)學與信息工程學院 項目名稱: 實驗室設備管理系統(tǒng) 專業(yè)班級:11計教1班 學號:1129020025 姓名:蔣一瑭 承擔角色:美工,問題處理 組號:08 同組組長:鄧磊 同組其他成員:王宇翔 馬富偉 江濤 指導教師:鐘美 完成起止日期:20**.6.12
1. 美化軟件和對在設計過程中所遇到的問題進行處理
2. 在設計是會出現(xiàn)兩種錯誤,一種是系統(tǒng)部分自定義錯誤和數(shù)據(jù)庫錯誤。系統(tǒng)部分自定義錯誤在權限方面,管理員出現(xiàn)錯誤,而輸入方面用戶帳號和密碼出錯,查找方面找不到符合要求的記錄。對于數(shù)據(jù)庫,代碼出錯。
對于系統(tǒng)部分 自定義錯誤,需要添加/修改操作只能給幾十對輸入數(shù)據(jù)進行驗真。分析錯誤的類新。并給出相應的錯誤提示語句。對于數(shù)據(jù)庫錯誤,可以在可能出錯的地方中輸入相應的出錯語句,并將程序重置,最后返回輸入階段。
此外,還有未解決的問題:未添加設備選購數(shù)量屬性,輸入賬戶密碼后,退出登錄后,賬戶密碼自動填充。至于美工方面,就添了一張圖片,一切從簡,只留必須要留下的。
3. 軟件工程課程設計課程設想心得,這也激起了我爾后勤奮進修的樂趣,我想這將對我以后的進修發(fā)作主動的影響。其次,此次課程設想讓我充實熟悉到團隊協(xié)作的主要性,只要合作協(xié)作才干保證整個項目標有條不絮。經(jīng)過此次設想,我懂得了進修的主要性,體會到實際學問與實際相連系的主要意義,學會了堅持、耐心和勤奮,這將為自己爾后的進修和任務做出了最好的表率。我感受作為一名軟件工程專業(yè)的
先生,此次課程設想是很故意義的。更主要的是若何把自己日常平凡所學的工具利用到理想中。固然自己關于這門課懂的并不多,良多根本的'工具都還沒有很好的放縱,感受很難,也沒有很有效的法子經(jīng)過自身去了解,
可是靠著這一個多禮拜的“進修”,在小組同窗的輔佐和解說下,漸漸對這門課逐漸發(fā)作了些許的樂趣,自己起頭自動進修并逐漸從根本漸漸起頭弄懂它。
所以我以為此次的課程設想意義很深,和其他4位同窗的配合進修、配合、勤奮的進程也很歡快,別的還要感謝感動教員的耐心教育。
軟件工程學習心得體會 篇16
學期就快要結束了,到了最后一周居然還有軟件工程課程設計,還要考試真的有點忙啊,不管怎樣還是好好干吧,把對工程的理論研究、學習成果用于實踐也是一種檢驗學習成果和提升工程能力的有效手段嘛。
工作內容安排
軟件工程課程設計的第一天拿到題目,聽取老師對于課程設計的要求、要完成的工作、預期要達到的效果和注意事項。然后分組、討論和確定選題。這真正的課程設計才算開始了,經(jīng)過組長,組員的反復研究、論證后一致決定選擇: 實習題目4:開發(fā)一個基于Web的BBS系統(tǒng),包含一般BBS所具有的功能,如用戶注冊、用戶信息管理、發(fā)貼功能、貼子管理、主題詞查詢、用戶信息修改和查詢等。
這個題目對于現(xiàn)代化的網(wǎng)絡交流來說發(fā)展的成熟而且符合當代互聯(lián)網(wǎng)大眾的網(wǎng)絡需求,符合現(xiàn)代網(wǎng)絡對信息分享討論的愛好,我們一致預測在今后很長的一段時間內也將會是非常流行的一種交流介質。
確定選題后我們開始軟件開發(fā)的第一步,需求分析,詳細設計等內容,分塊分工完成模塊,我分到的主要部分就是分析論壇里面的帖子內容,用戶的愛好,然后解決用戶的索引需求,把用戶的索引需求智能的、友好的呈現(xiàn)給用戶,把這部分的代碼編寫,測試,把用戶界面做好就是我接下來幾天的工作內容。 俗話說:磨刀不誤砍柴工,要想把我的這部分內容做好,做得完美,我的好好的分析一下,對全組對整個系統(tǒng)的需求分析的基礎上又認真分析了本部分的內容和本部分要實現(xiàn)的功能,對本部分實現(xiàn)的主要思想理清,認真設計界面,還有對隊員們的模塊能有效的結合起來,讓他們的模塊也能有效的供我使用,做好我的接口也方便其他模塊與此的銜接。
問題與解決
在本次課程設計中遇到了好多前所未有的問題,第一次接觸HTML網(wǎng)頁開發(fā),第一次邂逅JSP web應用程序開發(fā),第一次有了原來開發(fā)應用程序是需要數(shù)據(jù)庫的,對于這些都是第一次接觸,需要了解HTML的基本語法,需要學習JSP web應用程序web app的開發(fā)方法,需要實踐配置數(shù)據(jù)庫TOMCAT、 SQL sever,居然有這么多的東西需要從頭來,對于這些方面我就像一張嶄新的白紙,怎么能在短短的四五天時間內將這張白紙繪成一幅栩栩如生的畫卷呢,這是我們面對的亟待解決的'問題。
為了解決這一系列的問題,我們沒有找借口,我們沒有懶惰,我們更沒有放棄,而是迎難而上,到圖書館“大采購”求資料,找到想要的,真想把圖書館搬到課程設計實驗室。接下來就是根據(jù)我們的需求分析,概要設計,詳細設計等內容分模塊編寫網(wǎng)頁源代碼,修復bug,測試代碼,連接數(shù)據(jù)庫這樣我們的全新的基于web的BBS論壇就成功上線了。
但是,事實上不是這樣的,而是時間過得很快,我們的原計劃日程上的內容越欠越多,由于對HTML、JSP不熟悉代碼沒寫好,測試無從談起,數(shù)據(jù)庫連接遇到了一堆錯誤代碼比如SQL 01000、08001錯誤,這些每一樣東西解決起來都是有難度的,百度一下還是不知道這么做,只知道了時間過得比想象的要快多了,得到的體會就是“百度一下,你的時間就沒了”,F(xiàn)在我們遇到的最大的問題就是時間真的太不給力了,如果有來世我一定好好學習各方面知識,哎!好像扯遠了。時間真的很快,周六就要考試了,已上三年大學的我們都知道考試比神馬都要重要,我們就開始了學習和實踐結合的生產方式,據(jù)說這是最有效、最給力的,希望如此!
收獲與體會
課程設計總會是要結束的,不管做得怎么樣總歸是要給老師看看我們的成果的,都做了這么多天了,成果雖然不是很理想,但是收獲還是有的。這期間學到了HTML網(wǎng)頁的編寫方法,一些HTML的基本語法,也能編寫出一個簡單的網(wǎng)頁,對于互聯(lián)網(wǎng)應用程序的開發(fā)還要了解和解決網(wǎng)絡帶寬的限制,服務器響應的時間比,知道了這么安裝和配置TOMCAT服務器,在期間學習了UML用例圖的繪制,軟件工程開發(fā)的一些基本工具的使用,軟件開發(fā)文檔編寫的方法和實踐,人機交互應用程序開發(fā)時人機界面的設計,人機對話的實現(xiàn),人性化的界面設等是需要認真努力做得,要充分考慮用戶的感受和體驗。覺得“百度一下,你就知道”也不過如此,還是知識裝在大腦里比神馬都要重要,比任何來的知識都要詳細和易懂。打字速度也有了一定的提升。
努力與改進方向
經(jīng)過本期的軟件工程課程設計,發(fā)現(xiàn)了學習和實踐中的不足;ヂ(lián)網(wǎng)的基礎知識知道的太少了,相反需要了解和掌握的還很多,在下學期要開設一門計算機網(wǎng)絡課程,現(xiàn)在生活已經(jīng)不能離開互聯(lián)網(wǎng)了,不管以后是否從事這方面的工作,這部分都是需要認真學習的,網(wǎng)絡應用程序的開發(fā)需要認真理解與提升。軟件工程中需求分析的不充分,軟件開發(fā)方法的體會這些都是需要以后改進和學習的,軟件開發(fā)中的各種文檔編寫能力還需要提升,在以后學習和實踐中認真總結和完善,參考他人的軟件工程項目,體會優(yōu)秀軟件工程的思想。在做任何事情的時候都要有覺得是站在巨人的肩上,而不是重復的生產車輪的思想來坐事情,要對前人的經(jīng)驗教訓加以總結,學習、參考和引用別人的先進研究成果,重視團隊的協(xié)作,虛心的學習精神。
這期間得到了老師的悉心指導,得到了隊員的理解,得到了同學們的熱心幫助,謝謝你們!
軟件工程學習心得體會 篇17
軟件工程及未來發(fā)展趨勢心得體會 軟件工程是一門研究用工程方法構建和維護有效的、實用的和高質量的軟件的學科。它的成果是為軟件設計和開發(fā)人員提供思想方法和工具。
隨著信息化時代的到來,軟件的價值和作用越來越得到重視和發(fā)展。操作系統(tǒng)從管硬件資源到為高層的軟件提供共性的支撐再到后來的人機交互;
商業(yè)形態(tài)從最開始的硬件輔助到代碼核心競爭力到后來的服務階段。30多年來,隨著軟件工程的研究和實踐取得了跨越性的進步,IT和制造業(yè)以及各種行業(yè)的結合,進入軟件定義時代的階段。同時獲得了一些具有里程碑意義的進展,盡管目前離徹底解決“軟件危機”還有一些差距,但軟件工程的方法對軟件產業(yè)的發(fā)展還是起到了很大的推動作用。軟件產業(yè)也邁入了高質量發(fā)展的階段,并且有一定的成績。
2020年中國軟件產業(yè)年會的召開以“軟件定義的時代-數(shù)字、融合與生態(tài)”為主題,中國工程院院士孫家廣在主旨演講中表示,“軟件是信息技術之魂,經(jīng)濟轉型之擎、網(wǎng)絡安全之盾、數(shù)字社會之基、大國博弈之焦、高質量發(fā)展的抓手,軟件賦能、賦值、賦智作用日益明顯!彼硎荆浖_源是我國成為軟件強國的根本舉措和保障。中國工程院院士廖湘科也在報告中提出,工業(yè)軟件要向建設信息技術和先進制造技術深度融合、控制管理整個生產模式的基礎軟件平臺發(fā)展。在真實世界感知的數(shù)據(jù)進入到虛擬世界,進行關聯(lián)和跨域關聯(lián)的分析,在進行智能處理之后,再反饋到真實世界。運行平臺基于云端的硬件結構,在未來設計軟件的過程中,我們要考慮的是不再針對一臺服務器設計軟件,在設計的時候需要考慮云端,在這樣的前提下去設計軟件?偟膩碚f,整個軟件體系就是一個生態(tài)鏈,市場通過軟件平臺來控制,所有的技術和商業(yè)模式的競爭都堆積在IT軟件平臺,各個行業(yè)的IT從業(yè)人員可以協(xié)同,硬件追求越來越快,軟件追求規(guī)模。生態(tài)鏈需要協(xié)同創(chuàng)新,學科交叉。軟件是靈魂的載體,它具體應用在知識領域在生活智能方面的應用。東軟集團股份有限公司董事長兼CEO 劉積仁作題為“軟件的賦能時代”,表明,企業(yè)也是軟件的載體。軟件在今后具有無限的發(fā)展空間,我們應該為從事這個行業(yè)而感到幸運。軟件在今后的發(fā)展中不僅僅表現(xiàn)的是license IP的價值,軟件可以承載一個嶄新的.創(chuàng)業(yè)的公司創(chuàng)造資本市場的奇跡。核心就是軟件表達的方式從我們單純賣解決方案、賣服務,軟件從我們過去依賴于軟件工程師,最后我們要成為在新經(jīng)濟的發(fā)展、新消費發(fā)展的一個新的平臺。
信息革命的核心體現(xiàn)在,集成電路是細胞,通訊網(wǎng)絡是動脈,計算機工具是大腦,信息資源是血漿,應用需求是心臟,安全是免疫系統(tǒng),軟件是靈魂。軟件產業(yè)是第一大產業(yè),面向對象是軟件技術的基本指導思想,它的發(fā)展過程從最初的個人技巧,到結構化,再到最終的面向對象,覆蓋范圍也發(fā)展到運行技術、工具技術、到過程技術。軟件理論方法技術應用于X應用場景。應用場景的構建主要是體現(xiàn)在,可感知+可編程+可計算+可調控等方面。軟件很大程度上改變了我們的生產生活方式,在現(xiàn)在社會中,對于軟件的開發(fā),我們不在只是單純的系統(tǒng)開發(fā),文檔手冊,還要考慮到所處的環(huán)境以及大數(shù)據(jù),智能算法等多方面的綜合考量。
軟件同時也在驅動著世界經(jīng)濟的變革。在世界經(jīng)濟全球化發(fā)展的趨勢下,軟件行業(yè)也在向全球化發(fā)展,在今天,軟件的開發(fā)也不再是一個國家或者一個行業(yè)自身的發(fā)展而是整個社會的發(fā)展趨勢。當前軟件行業(yè)無論國內還是國際上整體處于手工作坊式階段,以項目組或產品組為單位組織開發(fā)人員,圍繞一個項目或者一個產品的某一迭代版本進行收工作業(yè)。其服務模式始終停留在并行開發(fā)多個無關的小型項目。對于這樣的情況,單單只是依靠某個國家自身的實力是很難實現(xiàn)軟件技術全面提升的。微觀層面來看,光學相機被數(shù)碼相機取代,移動磁盤、光盤基本上被U盤取代。智能手機的出現(xiàn)也帶來了IT產業(yè)格局的重塑。IT產業(yè)巨變的核心動力是用戶群體的快速增加以及IT擴散的范圍迅速。繼智能手機、平板電腦被軟件重新定義后,其他IT產品也在不斷被軟件重新定義,增加一個操作系統(tǒng)之后,物理功能被無限的簡化,功能被無限的拓展,不斷地豐富。整個經(jīng)濟社會加快在網(wǎng)絡空間的映射,形成現(xiàn)實與網(wǎng)絡交融的數(shù)字世界。信息物理系統(tǒng)(cps)實現(xiàn)大型工程系統(tǒng)的實時感知、動態(tài)控制和信息服務。
數(shù)據(jù)表征、智能處理、軟件定義,三元融合將打造一個全新的世界。大數(shù)據(jù)在消費IT領域的作用更加明顯,只要用pc上網(wǎng)或者手機瀏覽信息,性別、年齡、愛好、蹤跡等等便被大數(shù)據(jù)刻畫,從而根據(jù)現(xiàn)有信息推斷出你可能要做的事?偟膩碚f,大數(shù)據(jù)不僅是傳統(tǒng)產業(yè)升級的助推器,同時也是新興產業(yè)的催化劑。軟件的定位已經(jīng)從服務軟件發(fā)展到定義硬件,也許在不久的將來,軟件不僅僅是改變世界,而是重新定義我們已知的世界,正如大數(shù)據(jù)的出現(xiàn),或許不久的將來,產品經(jīng)銷商會比我們更了解自己的需求。
隨著軟件市場的競爭壓力越來越大,我們所面臨的IT環(huán)境更為復雜化,為了應對來自各方面的挑戰(zhàn)問題,我們需要更多的創(chuàng)新能力和業(yè)務靈活性。提高模塊化思想,從根本上解決所面臨的問題。
【軟件工程學習心得體會】相關文章:
軟件工程實踐學習心得體會07-16
軟件工程學習心得體會(精選12篇)10-24
軟件工程學習心得體會(精選10篇)03-23
軟件工程學習方法11-11
軟件工程學習心得體會(通用10篇)08-15
軟件工程心得體會04-24
軟件工程實習心得體會03-22
軟件工程心得體會精品06-04
軟件工程實訓心得體會03-25
軟件工程實驗心得體會范文10-08