『壹』 軟體工程新技術的相關資料 最好多點 ,, 謝謝 好的話可以加分
1 形式化方法
2 凈室軟體工程
3 基於構件的軟體工程
4 軟體復用與再工程
5 敏捷軟體過程
『貳』 淺談對軟體工程的基本概念,方法與過程的理解及如何運用1500字左右
件工程(SoftWare Engineering)的框架可概括為:目標、過程和原則.
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品.正確性指軟體產品達到預期功能的程度.可用性指軟體基本結構、實現及文檔為用戶可用的程度.開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度.這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束.
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟.軟體工程過程主要包括開發過程、運作過程、維護過程.它們覆蓋了需求、設計、實現、確認以及維護等活動.需求活動包括問題分析和需求分析.問題分析獲取需求定義,又稱軟體需求規約.需求分析生成功能規約.設計活動一般包括概要設計和詳細設計.概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義.詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述.實現活動把設計結果轉換為可執行的程序代碼.確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求.維護活動包括使用過程中的擴充、修改與完善.伴隨以上過程,還有管理過程、支持過程、培訓過程等.
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則.
『叄』 談談對軟體工程的認識
軟體工程(SoftWare Engineering)的框架可概括為:目標、過程和原則。
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
這個問題很復雜,恕在下自不量力說幾句。
軟體工程的目標是最小的成本、最高的質量、最短的開發時間開發軟體產品。眼下流行的各種軟體工程方法對這個目標的實現都差強人意。以RUP為代表的重量方法用來做計劃、准備的時間太多,真正用在開發的精力卻很少,以為只要企業保證軟體過程的實施,其他的事情都好辦,這種極端壓抑人性的方法不會取得很好效果。輕量方法要好一些,畢竟絕大部分注意力都在開發上,大家都很喜歡,可是僅依靠少數幾個人,對付不了大型項目。當然,大家都在改進各自的缺點,吸收對方的優點。
G.Booch說過,自動化不足是軟體開發過程中大量問題存在的重要原因,在下深以為然,並且認為是最小的成本、最高的質量、最短的開發時間之目標難以實現的根本原因。因此,將來的軟體工程必然要發展到以軟體自動化技術為核心的階段——4GL時代。
為什麼4GL時代還沒有來臨,這是因為軟體自動化太困難,眼下所取得的成果局限在某些很窄的領域內,達不到實際項目要求,而且這種技術太難理解,需要對理論的深入學習,一般的開發人員難以接受。軟體自動化技術沒有大發展的重要願意是目前描述動作語義的技術都很低級,因此即便用形式化方法作設計也是很費時間的,雖然可以提高一定的效率,但是還是遠遠不夠的。
為了解決這個問題,只有從利用以前的成果入手了,也就是復用構件,但不是用今天的構件技術。將來,實現了機器檢索的大型構件庫,這是計算機實現對構件的查找、轉配等自動化的構件庫,不是今天的手工構件庫。但這樣的構件庫為什麼沒有出現,還是老問題,我們還沒有一個很理想的描述動作語義的方法,計算機無法判定兩個構件或規約和構件之間是否等價,或者有等價的成分,當然也就無法進行自動檢索了。
雖然有很多困難,但我相信將來軟體工程的發展方向必將是高度自動化的構件式開發方法。
上面說的,完全是個人觀點,也許不足採信。
『肆』 軟體工程最近兩年有什麼新技術 方法 思想啊
1、軟體技術上推陳出新比較快,軟體語言,技術方法,技術框架,每天都是在進步、發展,就是的更新非常非常快速的。
2、但是軟體工程這塊的更新並沒有那麼快,軟體工程這塊比較新一點,其實也是老的概念,敏捷、結對、快速迭代、面向領域、面向驅動、面向業務,這塊屬於管理科學,很多東西其實也只是新瓶裝老酒。
3、希望對你有幫助
『伍』 對軟體工程應該怎樣理解
軟體工程(SoftWare Engineering)的框架可概括為:目標、過程和原則。
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
軟體工程是計算機軟體的一個分支學科,主要研究軟體開發全過程中的各種技術;
主要包括:
1、軟體開發的原則與策略,
2、軟體開發方法與軟體過程模型,
3、軟體標准與軟體質量的衡量;
4、軟體開發的組織與項目管理,......
軟體工程是計算機軟體的一個分支學科,主要研究軟體開發全過程中的各種技術;
主要包括:
1、軟體開發的原則與策略,
2、軟體開發方法與軟體過程模型,
3、軟體標准與軟體質量的衡量;
4、軟體開發的組織與項目管理,
5、軟體版權。
它一般應用於大型的軟體系統的開發。
其開發團隊包括:用戶、項目負責人、分析員、初高級程序員、資料員、操作員。
軟體工程是指利用工程的概念、原理、技術和方法來開發、維護軟體,把經過時間考驗而證明正確的管理技術和當前能夠得到的
最好的技術方法結合起來,指導計算機軟體的開發和維護的工程學科。
軟體工程強調使用生存周期方法學、結構分析和結構設計技術以及新興的面向對象分析和設計技術。
生存周期學(SDLC--系統開發生命周期)是指從軟體開發項目的提出到軟體產品完成使命而報廢的整個時期;
分為八個階段:
1、問題定義:問題是什麼? 完成規模和目標的報告。
2、可行性研究:有可行性么?是否值得去做? 完成系統的實際模型,數據流圖,成本/效益分析。
3、需求分析:系統必須做什麼? 系統邏輯模型,數據流圖,數據字典,演算法描述,需求說明書。
4、總體設計:如何解決此問題? 可行的解法,系統流程圖、成本/效益分析,推薦的系統結構,層次圖 /結構圖。
5、詳細設計:如何實現此系統? 編碼的規格說明。
6、編碼和單元測試:正確的程序模塊。 程序清單,單元測試方案和結果。
7、綜合測試:符合要求的軟體。 綜合測試方案和結果,完整一致的系統配置。
8、軟體維護:持久的滿足用戶。 完整准確的維護記錄,需求的軟體。
需求分析階段:客戶的業務活動進行分析,明確在用戶的業務環境中,軟體系統應該做什麼。客戶的要求一般包括"功能要求、性能要求、可靠性要求、安全保密要求、開發費用、開發周期及可使用的資源"。
用戶的業務需要經用戶與軟體人員討論後,理解用戶的要求,並將雙方共同的理解明確的寫成一份文檔---需求說明書。
需求說明書主要有三個作用:1、作為用戶和軟體人員之間的合同,為雙方相互了解提供基礎。2、反映問題的結構,可以作為軟體人員進行設計和編程的基礎。3、作為驗收的依據,即作為選取測試用例的依據。
需求說明書應該達到完整、一致、精確、無二義,既簡明易懂並易於修改和維護。
在需求階段、還應考慮設計的限制"成本、進度、可用的軟硬體資源";客戶驗收准則"客戶需求的細化";編寫"初步用戶手冊"及復查需求說明書。
『陸』 軟體工程有哪些最新技術
軟體工程在過去幾十年的發展歷程中,也形成了一些鮮明的新思想。例如,IBM 提出了軟體開發思想的4項要點——迭代開發、以系統架構為中心、持續的質量保證以及管理變更和資產,其中只有「持續的質量保證」和傳統工業工程是十分吻合的,而其它3項具有軟體特性所擁有的思想。軟體的變更比較頻繁,自然對其管理的高要求,進一步促進迭代開發的合理性。 客戶和業務用戶始終希望軟體能夠按時交付高質量的產品,又認可軟體的靈活性,希望軟體能夠具有隨需應變的能力,及時進行必要的修改來滿足業務的新需求。同時,軟體又是一種知識型產品,需要創造性,並依賴每個開發人員的創造力和積極性。所有這些引導人們新的思考,引導人們不斷認識軟體工程而建立獨特的軟體工程思想。 迭代開發,以時間換空間,消除市場風險。 敏捷開發或輕量級過程,以不變應萬變。 永遠的Beta,不斷推陳出新,永無止境。 持續集成、持續構建、全程測試。 知識管理,將軟體工程納入知識管理的范疇。 面向對象是一種方法,也是一種思想。 軟體即服務(SaaS),面向服務架構(SOA)的開發思想。 用例驅動開發,用戶為本思想在軟體中的體現。 同時,軟體工程可以向傳統工業工程學習,吸收傳統工業工程上百年實踐積累下來的經驗、沉澱下來的思想。 以顧客為中心的全面質量管理。 過程決定結果。 有效的持續改進過程。 預防為主,檢驗為輔。 驗證和確認缺一不可,質量保證和測試融為一體。 以架構設計為中心,體現設計為重的思想。 生產標准化、產品標准化和技能標准化。 軟體工廠思想造就了組件、構件技術,包括自動化測試。 圍繞項目管理開展工作,包括風險預防、里程碑控制和關鍵路徑法等。
『柒』 談談你對軟體開發技術的理解
過去幾十年,軟體技術經歷了一系列重要的變化和發展,構成軟體的軟體實體的粒度不斷增大,軟體基本模型越來越符合人類的思維模式;軟體運行平台的能力不斷增強,越來越多地屏蔽掉計算機底層的復雜性;軟體支撐平台的能力不斷增強,越來越多地屏蔽了軟體開發過程的復雜性;軟體技術的應用范圍不斷擴大,越來越廣地滲透到人類生活的各個方面。網路技術的發展日新月異,基於新一代網路技術的各種應用的融合是大勢所趨。網路新技術與軟體新技術的相互促進必將為人類創造一個更為燦爛多彩的IT世界。
在上面寫了一些對軟體工程軟體開發技術方向的認識,因為自己學習軟體才只是兩年,所以理解實在有限。更多的東西還要在以後慢慢理解思考,值得一提的是當學習的兩年之後,回過頭來再看軟體工程,親切多了,同時這也讓我更加清晰我要學的是什麼,將來要做的是什麼,這次對軟體工程的重溫讓我受益匪淺。一直以來,把軟體工程理解為是一種數學建模,用給定的資源(人,資金等)用最短的時間滿足用戶的需求,完成項目,並使後續維護的成本最小。明顯這是個最優化的模型,還有模型的求解要應該我們來做。
『捌』 談一談對軟體工程專業的認識
對軟體工程的一點看法--希望能夠拋磚引玉
在這里看到很多網友的高論,很有啟發。而且目前市面上也涌現出一批面向不同方面的軟體過程的書籍,可是在這里,我一直沒找到真正對實踐有指導意義的,可操作的應用方法,所以現在這兒拋塊磚,望各位高手指正。
我個人的理解,軟體工程就是按照工程學的管理方式,有組織、有計劃的,在一定的質量基礎、時間限度和成本范圍內,實現功能明確的軟體系統。而且,軟體工程在企業范圍內運行,一定需要企業資源的支持,要與企業的經營、決策、管理體系聯系在一起,才能夠被踏踏實實的落實下來。
軟體業作為一個服務業,要想得到發展,首先必須形成一個對軟體服務有迫切需要的市場。其次,這個市場中的消費者必須具備足夠的購買力。軟體的消費群體簡單一點,可以分為個體消費和企業消費。中國的企業群體,數量龐大,但是質量不高。上規模的企業極少,因此,中國的企業對大型軟體的消費肯定是有限的,軟體的個人消費,至少目前在中國,還是不成氣候。因此,國內目前能夠形成比較大規模的獨立市場的,肯定是小規模的軟體系統。
此外,質量的好與壞也不能絕對而論。比如說,你花500元,買雙皮鞋,只穿了一個月就壞了,肯定是劣質產品。可是如果你只花了5元買這雙鞋,還是穿了一個月就壞了,他就是個優質產品了。軟體也是一樣。
還有一個,就是軟體生命周期問題。在國外,很多中、大型企業里,軟體系統已經作為企業的命脈在運行,這些企業當然需要長期、穩定的軟體服務、開發體系作為保障,因此相對來說,對於軟體的功能需求就比較明確,而國內的中小企業在運營方面本來就把靈活多變作為生存武器,當然不可能有比較長期的經營計劃,更不可能運用軟體系統進行全面企業管理。這就導致對軟體系統需求的短期行為,因此,他們更加希望一次性購買功能有限的軟體系統,而不是長期連續的軟體服務。
如果上面的分析有代表性的話,那就是說我們現在必須對開發這類軟體形成一套非常有效的工程方法:
1。規模小。
2。成本低
3。質量要求不高。
4。售後服務有限。
5。生命期短。
我想,對於這類系統,RUP未必是一套好的方法。另外,我還想談談對軟體人員素質的看法。
從我個人的經歷來說,我覺得我們對於軟體工程師的培養方法有問題。理論上說,軟體只要設計了一個好的結構,解決了所有的技術難點,剩下的代碼高中生就能做。實際上我們的很多名牌大學的計算機專業畢業生都不能很好的Coding。尤其是現在有了VB、PB、JAVA之後,大家似乎認為計算機的體系結構都不用關心了。我曾經經手的幾個軟體項目中,很多工程師對於用C語言開發Win32多線程、事件驅動、死鎖、內存分配等問題根本束手無策。我不相信這些問題可以靠很好的文檔解決。實際上,能夠用OO的工具工作,根本不代表能夠進行OO的系統分析與設計。
話又說回來,在中國,有10年以上軟體開發背景的人,又有幾個?而且他們在過去10年裡的經驗,更多的是小項目的Coding,而不是大項目的管理與系統分析。而一個好的系統分析師,需要的是實踐、實踐、再實踐。假如說我們的商業環境中根本沒有大型的軟體項目,怎麼可能有優異的系統分析師呢?
所以,我想,目前我們的問題,是工程師的技術水平、知識面與管理意識、管理方法同樣重要,在這樣的前提下,我們是不是要探索一下真正適合我們的軟體工程方法呢?