工程部學習心得體會
通過工程部學習,使用者和資料處理人員在使用時常提出改進現有功能、增加新的功能,以及改善總體效能的要求,為滿足這些要求,就需要修改軟體把這些要求納入到軟體之中,在此分享心得體會。下面是小編為大家收集整理的,歡迎大家閱讀。
篇1
學習了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟體工程,還有從不同的例項,讓理論和實踐得到了很好的結合。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟體工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其範疇已經遠遠不止侷限於該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
整本書的內容邏輯很清晰明瞭,由淺入深循序漸進,首先我就大概描述下我們所學的內容,第一章是從整體分析軟體工程這門學科的發展和所處的社會環境,接著後面的幾章深入分析了軟體開放過程和模式、軟體專案管理、計算機工程、需求分析、結構化分析建模以及基於UML面向物件分析建模等。接著我就詳細介紹下我對這門課程知識點的理解概括:
軟體:軟體是能夠完成預定功能和效能的可執行的計算機程式和使程式正常執行所需要的資料,加上描述程式的操作和使用的文件。軟體的特徵:①軟體是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。②軟體是通過人們的智力活動,把知識與技術轉化成資訊的一種產品。③軟體成為產品後,其生產只是簡單的拷貝,不同於硬體製造。④維護過程比硬體複雜的多,甚至會引發新的錯誤。軟體危機:指的是軟體開發和維護過程中遇到的一系列嚴重問題。出現軟體危機的原因:①軟體維護費用急劇上升,直接威脅計算機應用的擴大。②軟體生產技術進步緩慢。軟體工程是指導計算機軟體開發和維護的工程學科。 軟體生存週期:一個軟體從定義到開發、使用和維護,直到最終被棄用,要經歷一個漫長的時期,通常把軟體經歷的這個漫長的時期稱為生存週期。軟體的生存週期可分為八個階段:①問題定義;②可行性研究;③需求分析;④總體***概要***設計;⑤詳細設計;⑥編碼與單元測試;⑦綜合測試;⑧軟體維護;
瀑布模式:是傳統的軟體開發模式,其中的“瀑布”是對這個模式的形象表達,由山頂傾瀉下來的水,自頂向下、逐漸細化。其特點是:線性化過程;分為分析、設計、編碼、整合等幾個階段,並且各階段逐級推進,不允許跨越。里程碑管理;階段評審;文件驅動;簡潔便於工程應用的線性化過程步驟,並可以通過里程碑管理機制而使專案程序量化。其明顯的優點就是沒個階段結束前都要對所完成的階段成果進行評審,這使得軟體的錯誤能夠在個階段內儘早發現並儘早解決,總的來說瀑布模式具有良好的質量保證機制,有很強的生命力。
原型進化模式:對軟體進行直接模擬或模擬,只需要分析需求框架後進行原型建立,再對原型系統進行逐步細化與完善,通過版本更新逐步滿足使用者對於軟體的多方面需要。
增量模式:開發過程有三個任務域,分別是設計結構、開發構件和整合系統,它既有完善的工程管理機制,又能適應使用者需求變更,有利於質量的監控,並且各區域性基於構件構造,有利於逐步構建與完善;由於先交付核心構件可利於降低專案的技術風險。
螺旋模式:是一種可較好的規避開發風險過程的模式,專案是基於任務的螺旋式推進,每個螺旋由內之外分別是需求分析、軟體設計、系統整合、驗證與交付。
軟體開發的整個過程:①需要專案團隊,組建優秀的團隊可以開發出更搞質量的軟體產品。任務開發團隊要求小而精,成員大多在8人以內,主要成員有專案負責人、開發人員、資料管理員和軟體測試員。②專案計劃是為了使軟體開發各項工作有秩序地進行,包括任務分配和基於里程碑的進度安排,甘特圖和任務網路圖是用來描述進度計劃的工具。專案計劃書可以作為軟體開發的工作指南。③專案成本估算,由於專案有來自各方面的成本包括工資開支、場地費、差旅費、裝置費和資料費等,但是軟體主要是對人力成本的估算,常用的方法有程式程式碼成本估演算法等。④軟體風險管理包括很多不確定的風險因素,如計劃風險、管理風險、需求風險、技術風險、人員風險、產品風險、使用者風險和商業風險等等,而風險管理的主要任務是:風險識別、風險評估、和風險防範。⑤軟體文件管理,軟體文件是工程模式軟體開發的成果體現,包括技術文件、管理文件和使用者文件。 ⑥軟體配置管理與軟體質量管理,包括配置規劃、軟體變更控制、軟體版本控制和質量控制計劃。
計算機系統由硬體、軟體、資料資源、網路資源、使用系統的人等諸多元素。有三種典型的計算機體系結構:①主機結構,主機集中了全部智慧,並依靠終端介面與外部裝置連線。②Client/Server結構,智慧分佈於伺服器與客戶機,並依靠網路連線成系統,其中,伺服器處於核心位置,提供被動核心服務;客戶機處於邊緣位置,可主動訪問伺服器,尋求服務支援。③Browser/server結構,可適應網際網路遠端互動的特殊結構,基於Web伺服器構建。
篇2
通過公司組織學習“識大體,顧大局,擔責任,講奉獻,愛崗敬業”教育實踐活動,首先,我對公司三年多的開局,起步與發展有了更加深刻的認識,其次,對公司的五年發展計劃有了更加的深刻的瞭解,尤其這次學習使我的思想認識得到進一步提高,工作作風得到進一步強化,使我們集體的凝聚力、戰鬥力和執行力明顯提高,合作意識、奮鬥精神明顯加強。
作為一名技術人員,我將工作定位為協助好專案經理的工作和不斷的自我學習充實,在參與建設的工程中,在完成工程的施工測量放線的同時,還協助技術負責人編制施工方案、技術交底,並負責工程技術資料的指導與編制,和施工員一起進行現場質量檢查,以及協助安全員落實、督促、檢查施工現場安全工作。在工程施工過程中,我一直以積極的心態認真地對待自己的工作,在從事的各項工作中,都能盡職盡責,以求圓滿的完成工作任務。“不要急於出成績,埋下頭來幹工作”,是我的工作格言,提醒自己不要好高騖遠,而要腳踏實地,多幹實事,在實踐中檢驗自己的知識並獲得施工現場的經驗累積。
施工現場工作更使我深深明白,在學校學習的東西和自己翻看規範、規程死記硬背的知識遠不如實際經歷過的記得牢固,而且好多學問更是書本里學不來的,完全是憑自己的經驗。在這半年來的時間裡,我一直在多看,多學,碰到施工現場的做法與書
本里不一樣的地方及時的向別人虛心請教,儘管有時候得不到理論上的解釋,但是卻是很好的經驗。
識大體、顧大局的過程是一個改造自我的過程,從而不斷完善人格品德。一個人,在工作、生活中難免有這樣那樣的不足和錯誤,如果經常自省,檢討自己的言行,就能及早發現自己的過失,不至於鑄成大錯。因此,要想有所作為、有所成就,不斷提高自己的道德修養,就必須經常地進行自省自勵。一方面,要經常檢查剖析。找準自己的問題,防止小錯不查、釀成大患。另一方面,要做到有錯必改。要想進步,就要敢於正視自己的問題,及時採取措施加以改正,不能遮醜護短、諱疾忌醫,不能寬容自己、遷就自己。否則,問題就會越來越多,有的還會越來越大。一屋不掃何以掃天下,自身的問題都發現不了,怎麼能識大體顧大局呢?
從講責任的角度講就是要明確自身工作職責,認真履行崗位責任,忠於職守,勤奮敬業,盡職盡責,努力工作;在工作中要轉變一些不正確的觀念,珍惜當前的工作,時時、處處都要有注意細節問題,工程施工中,安全是最不容忽視的主要環節,根據半年多的工地實際經驗簡單談談安全方面。最重要的就是樹立安全意識,首先在專案部管理人員心中必須有強烈的安全意識和責任感,只有專案部管理人員從心底認識到安全的重要性,才能用心做好這項工作。如果專案部管理人員抱著僥倖的心理去做這項工作,那在工程安全施工方面是致命的隱患。所以專案部管理人
員必須將安全工作從心底認識並付諸實施。我相信,只要有責任意識,就沒有做不好的工作。
講奉獻就是要立足崗位樂於奉獻,始終保持愛崗敬業、求真務實、勇挑重擔、勇於創新、自覺奉獻,全身心投入到工作中,努力做到“工作快樂、快樂工作”,發揚奉獻精神,就是要吃苦在前,享受在後,先公後私,始終把公司的發展和企業榮譽放在首位。人活在世上總需要有點精神,這奉獻精神也是在工作和學習中培養和塑造的,同時也是工作中所必需的。只要我們從現在做起,從自己做起,從小事做起,不斤斤計較個人得失,始終保持一顆平常心,把奉獻精神融入到工作之中,成為自覺行動。有了這種奉獻精神,哪怕是最難最煩的工作,照樣能出色地完成 通過本次學習,深化自我意識,在今後的工作中,我將以百倍的熱情迎接新的挑戰,在學習中進步和成熟起來,不斷地鞭策自己並充實能量,提高自身素質與業務水平,以適應時代和企業的發展,與公司共同進步、共同成長。為煜基集團的發展貢獻自己的力量。
篇3
通過這半學期我對軟體工程的學習,老師在課堂上從軟體工程的基礎到使用者的需求分析,最後到黑盒白盒測試通過自身做過的一些案例,生動形象的講解了軟體工程這門本身枯燥乏味的課程,這不僅增強了學生學習的積極性,也通過讓我們自己去做一些需求分析,我們從中學到了許多知識。
老師不僅僅在課堂上對我們悉心的知道,在課外還讓我們多看一些有關軟體工程方面最前沿的理論,通過這段時間我讀了《軟體工程——實踐者的研究方法》、《件工程案例》這兩本書,通過自己的讀書學習,我有以下心得體會。
眾所周知軟體對於一個公司,一個企業乃至一個國家都是十分重要的,因此一個軟體的維護也十分重要,下面我就講一些關於軟體維護的知識。
維護階段是軟體生存期中時間最長的一個階段,也是花費的精力和費用最多的一個階段。由於作業系統軟體和基礎軟體版本升級或應用管理系統軟體的不斷開發、完善,需要對軟體進行維護。但當執行環境改變或者系統功能、效能需求發生變化,使原軟體不能通過維護的手段滿足使用者需求時,則需要進行軟體更新。
1.軟體維護的型別:
軟體的開發過程對軟體的維護有較大的影響。若不採用軟體工程的方法開發軟體,則軟體只有程式而無文件,維護工作非常困難,這是一種非結構化的維護。若採用軟體工程的方法開發軟體,則各階段都有相應的文件,容易進行維護工這是一種結構化的維護。非結構化維護活動只能從閱讀、理解和分析源程式開始,這樣做難以弄清系統功能、軟體結構、資料結構等問題,常常造成誤解。同時由於沒有測試文件,也不可能進行迴歸測試很難保證程式的正確性。這種軟體維護方法僅在軟體工程時代之前採用。在進行結構化維護活動時,需從評價需求說明開始,弄清楚軟體功能、效能上的改變;對設計說明文件進行評價,並進行修改和複查;根據設計的修改,進行程式的變動;根據測試文件中的測試用例進行迴歸測試;最後,把修改後的軟體再次交付使用。這對於減少精力、減少花費和提高軟體維護效率有很大的作用。
2.軟體維護的困難:
軟體維護的困難主要是由於軟體需求分析和開發方法的缺陷造成的。軟體生存週期中的開發階段沒有嚴格而科學的管理和規劃,就會引起軟體執行時的維護困難。這種困難表現在如下幾個方面。
***1***讀懂別人的程式是困難的。
***2***文件的不一致性。這種不一致性表現在各種文件之間的不一致以及文件與程式之的不一致。
***3***軟體開發和軟體維護在人員和時間上存在差異。
***4***軟體維護不是一項吸引人的工作。
3. 軟體維護的費用:
軟體維護的費用在總費用中的比重是不斷增加的,它在 1970 年佔 35%~40%,1980 年上升到 40%~60%,1990 年上升到 70%~80%。軟體維護費用不斷上升,這只是軟體維護有形的代價,另外還有無形的代價,即要佔用更多的資源。由於大量軟體的維護活動要使用較多的硬體、軟體和軟體人員等資源,這樣一來,投入新的軟體開發的資源就因不足而受到影響。由於維護時的改動,在軟體中引入了潛在的故障,從而降低了軟體的質量。
4.軟體維護的分類
軟體維護有改正性維護、適應性維護、完善性維護和預防性維護 4 類。
***1***改正性維護。在軟體交付使用後,由於開發時測試的不徹底、不完全,必然會有一部分隱藏的錯誤被帶到執行階段來,這些隱藏下來的錯誤在某些特定的使用環境下就會暴露。為了識別和糾正軟體錯誤、改正軟體效能上的缺陷、排除實施中的誤使用,應當進行的診斷和改正錯誤的過程,就叫做改正性維護。例如,改正性維護可以是改正原來程式中未使開關***off/on***復原的錯誤;解決開發時未能測試各種可能情況帶來的問題;解決原來程式中遺漏處理檔案中最後一個記錄的問題等。
***2***適應性維護。隨著計算機的飛速發展,外部環境***新的硬、軟體配臵***或資料環境***資料庫、資料格式、資料輸入/輸出方式、資料儲存介質***可能發生變化,為了使軟體適應這種變化,而去修改軟體的過程就叫做適應性維護。例如,適應性維護可以是為現有的某個應用問題實現一個數據庫;對某個指定的事務編碼進行修改,增加字元個數;調整兩個程式,
使它們可以使用相同的記錄結構;修改程式,使其適用於另外一種終端。
***3***完善性維護。在軟體的使用過程中,使用者往往會對軟體提出新的功能與效能要求。為了滿足這些要求,需要修改或再開發軟體,以擴充軟體功能、增強軟體效能、改進加工效率、提高軟體的可維護性,這種情況下進行的維護活動叫做完善性維護。例如,完善性維護可能是修改一個計算工資的程式,使其增加新的扣除專案;縮短系統的應答時間,使其達到特定的要求;把現有程式的終端對話方式加以改造,使其具有方便使用者使用的介面;改進圖形輸出;增加聯機幫助***Help***功能;為軟體的執行增加監控設施等。在維護階段的最初一兩年,改正性維護的工作量較大。隨著錯誤發現率急劇降低,並趨於穩定,就進入了正常使用期。然而,由於改造的要求,適應性維護和完善性維護的工作量逐步增加,在這種維護過程中又會引入新的錯誤,從而加重了維護的工作量。實踐表明,在幾種維護活動中,完善性維護所佔的比重最大。即大部分維護工作是改變和加強軟體,而不是糾錯。所以,維護並不一定是救火式的緊急維修,而可以是有計劃、有預謀的一種再開發活動。事實證明,來自使用者要求而擴充、加強軟體功能、效能的維護活動約佔整個維護工作的 50%。
***4***預防性維護。除了以上三類維護之外,還有一類維護活動,叫做預防性維護。這是為了提高軟體的可維護性、可靠性等,為以後進一步改進軟體打下良好基礎。通常,預防性維護定義為:“把今天的方法學用於昨天的系統以滿足明天的需要”。也就是說,採用先進的軟體工程方法對需要維護的軟體或軟體中的某一部分***重新***進行設計、編制和測試。
在整個軟體維護階段所花費的全部工作量中,預防性維護只佔很小的比例,而完善性維護佔了幾乎一半的工作量,軟體維護活動所花費的工作佔整個生存期工作量的 70%以上。這是由於在漫長的軟體執行過程中需要不斷對軟體進行修改,以改正新發現的錯誤、適應新的環境和使用者新的要求。這些修改需要花費很多精力和時間,而且有時修改不正確,還會引入新的錯誤。同時,軟體維護技術不像開發技術那樣成熟、規範化,消耗工作量自然就比較多。
5.軟體維護:
***1***資料維護
大多應用軟體的資料隨著應用規模的日益擴大和使用者環境的迅速發展,不但基礎資訊,其他所有專題資訊也需要經常地進行維護和更新。應根據系統的規模和實際需求,建立系統的資料維護更新機制,規定資料維護更新的週期,使系統的所有資料均相對地始終處於最新的狀態。資料對一個軟體的重要性,越來越被人們認識。但是,資料如果不經常更新,則有可能失去應用價值,這是每個軟體維護和執行所應重視的問題。
***2***硬體維護
在軟體執行的過程中,應建立硬體裝置的日常維護制度,並根據裝置的使用說明進行及時的維護,以保證裝置完好和系統的正常執行。但當裝置的處理能力達不到要求,或者裝置本身已經過時、淘汰,或者裝置損壞,買不到零配件,或者修理不值得時,應考慮硬體更新。系統硬體更新應按關於硬體評價指標的規定要求重新進行選型。
***3***軟體維護的原因
要求進行軟體維護的原因多種多樣,歸結起來有 3 種類型。改正在特定的使用條件下暴露出來的一些潛在程式錯誤或設計缺陷。因在軟體使用過程中資料環境發生變化***例如,一個事務處理程式碼發生改變***或處理環境發生變化***例如,安裝了新的硬體或作業系統***,需要修改軟體以適應這種變化。使用者和資料處理人員在使用時常提出改進現有功能、增加新的功能,以及改善總體效能的要求,為滿足這些要求,就需要修改軟體把這些要求納入到軟體之中。
6. 軟體維護的過程
一個維護申請提出之後,經評審需要維護,則按下列過程實施維護。
***1***首先要確定進行維護的型別。在許多情況下,使用者可以把一個請求看作改正性維護,而軟體開發者可以把這個請求看作適應性或完善性維護。此時,對不同觀點就需要協商解決。
***2***對改正性維護從評價錯誤的嚴重性開始。如果存在一個嚴重的錯誤,例如,一個系統的重要功能不能執行,則有管理者組織有關人員立即開始分析問題。如果錯誤並不嚴重,
則改正性維護與軟體其他任務一起進行,統一安排,按計劃進行維護工作。
***3***適應性和完善性維護如同它是另一個開發工作一樣,建立每個請求的優先權,安排所需求的工作。
***4***實施維護任務。不管維護型別如何,大體上要開展相同的技術工作。這些工作包括修改軟體設計、必要的程式碼修改、單元測試、整合測試、確認測試及複審。每種維護型別的側重點不一樣。
***5***“救火”式維護。並不完全適合上面所述的經過仔細考慮的維護申請,而是對於出現突發性的重大故障的維護。
以上是我對軟體工程中軟體維護的初步認識,以後我會更加努力的學習軟體工程這門課程。