『壹』 軟體工程 原型模型
原型法適用於用戶沒有確定其需求的明確內容的時候。他先是根據已給的和分析的需求,建立一個原始模型,這是一個可以修改的模型(在聲明周期法中,需求分析一般不再多修改)。在軟體開發的各個階段都把有關信息相互反饋,直至模型的修改,使模型趨於完善。在各個過程中,用戶的參與和決策加強了,最終的結果更適合用戶的要求。這種原型技術有分為三類:拋棄式、演化式和遞增式。原型法成敗的關鍵及效率的高低關鍵在於模型的建立和建模的速度。 原型法的優點是:可以解決在產品開發早期需求不確定的問題(不確定性、二義性、不完整性、含糊性等),可以明確並完善需求、探索設計選擇方案、發展為最終產品。 原型法的缺點也是顯而易見的,需要在正式的代碼開發之前進行必要的原型開發,在某種程度上增加了工作量,尤其採用拋棄型原型,更是如此。
正確的有 1 2 3 5 6 7 9 10
『貳』 軟體工程面向對象分析與建模,類圖中的實體類到底是什麼請給出自己語言的解釋,不要定義
類是對象的模板,把很多個屬性封裝起來
『叄』 軟體工程三種演化模型的相同點和不同點
瀑布模型,演化模型(如增量模型、原型模型、螺旋模型)、噴泉模型、基於構件的開發模型和形式方法模型等。
瀑布模型(waterfall model)是1970年有W.Royce提出的,它給出了軟體生存周期活動的固定順序,上一階段的活動完成後向下一階段過渡,最終得到所開發的軟體產品。瀑布模型如下圖所示,有時也稱為軟體生存周期模型。
瀑布模型中,上一階段的活動完成並經過評審後才能開始下一階段的活動,其特徵是:
(1)接受上一階段的結果作為本階段活動的輸入。
(2)依據上一階段活動的結果實施本階段應完成的活動。
(3)對本階段的活動進行評審。
(4)將本階段活動的結果作為輸出,傳遞給下一階段。
瀑布模型是最早出現的也是應用最廣泛的過程模型,對確保軟體開發的順利進行、提高軟體項目的質量和開發效率起到重要作用。
在大量的實踐過程中,瀑布模型也逐漸暴露出它的不足。首先,客戶常常難以清楚地描述所有的要求,而且在開發過程中,用戶的需求也常常會有所變化,使得不少軟體的需求存在著不確定性;在某個活動中發現的錯誤常常是由前一階段活動的錯誤引起的,為了改正這一錯誤必須回到前一階段,這就導致了瀑布的倒流,也就是說,實際的軟體開發很少能按瀑布模型的順序沒有迴流地順流而下。其次,瀑布模型使得客戶在測試完成以後才能看到真正可運行的軟體,此時,如果發現不滿足客戶需求的問題(由於需求不確定性),那麼修改軟體的代價是巨大的。
不是任何軟體都可採用瀑布模型的,瀑布模型適合於結構化方法,也就是面向過程的軟體開發方法。軟體項目或產品選擇瀑布模型必須滿足下列條件:在開發時間內需求沒有或很少變化;分析設計人員應對應用領域很熟悉;低風險項目(對目標、環境很熟悉);用戶使用環境很穩定;用戶除提出需求以外,很少參與開發工作。
演化模型
演化模型主要針對事先不能完整定義需求的軟體開發,其開發過程一般是首先開發核心系統,當核心系統投入運行後,軟體開發人員根據用戶的反饋,實施開發的迭代過程,每一迭代過程均由需求、設計、編碼、測試、集成等階段組成,直到軟體開發結束。演化模型在一定程度上減少了軟體開發活動的盲目性。
螺旋模型:
它是在瀑布模型和演化模型的基礎上,加入兩者所忽略的風險分析所建立的一種軟體開發模型。沿螺旋模型順時針方向,依次表達了四個方面的活動,制定計劃、風險分析、實施工程、客戶評估。
噴泉模型
它體現了軟體創建所固有的迭代和無間隙特徵,噴泉模型主要用於支持面向對象開發過程。
增量模型內容:
在設計了軟體系統整體體系結構之後,首先完整的開發系統的一個初始子集,繼之,根據這一子集,建造一個更加精細的版本,如此不斷的進行系統的增量開發。
瀑布模型、演化模型、螺旋模型之間的聯系:相同點是這三個模型都分為多個階段,而瀑布模型一次完成軟體,演化模型分為多次完成,每次迭代完成軟體的一個部分,螺旋模型也分為多次完成,每次完成軟體的一個新原型,並考慮風險分析。
演化模型和增量模型之間的區別
演化模型首先開發核心系統,每次迭代為系統增加一個子集,整個系統是增量開發和增量提交,增量模型首先完整的開發系統的一個初始子集,然後不斷的建造更精細的版本。
『肆』 軟體工程中的DFD圖和UML建模有什麼區別,重點舉例說明用面向對象的方法在軟體工程
UML是面向對象的分析設計方法,DFD是面向數據流的設計方法。當然UML功能強,表述容易清晰,對將來採用面向對象的實現會省很多力氣。
UML是面向對象分析方法的表達工具,涉及的圖包括用例圖,活動圖,類圖,時序圖,協作圖,狀態圖等等;可以涵蓋從需求分析到設計,編碼整個開發過程用到的模型。
DFD是面向過程分析方法的表達工具,功能大概等價於用例圖,活動圖,加上E-R模型,可以涵蓋面向過程分析(業務建模,概念建模)中所用到的模型。
『伍』 軟體工程XP模型簡介
軟體工程(Software Engineering,簡稱為SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及到程序設計語言,資料庫,軟體開發工具,系統平台,標准,設計模式等方面。
在現代社會中,軟體應用於多個方面。典型的軟體比如有電子郵件,嵌入式系統,人機界面,辦公套件,操作系統,編譯器,資料庫,游戲等。同時,各個行業幾乎都有計算機軟體的應用,比如工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,使得人們的工作更加高效,同時提高了生活質量。
軟體工程師是對應用軟體創造軟體的人們的統稱,軟體工程師按照所處的領域不同可以分為系統分析員,軟體設計師,系統架構師,程序員,測試員等等。人們也常常用程序員來泛指各種軟體工程師。
軟體工程(SoftWare Engineering)的框架可概括為:目標、過程和原則。
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
一、軟體工程概述
概念:應需而生
軟體工程是一類工程。工程是將理論和知識應用於實踐的科學。就軟體工程而言,它借鑒了傳統工程的原則和方法,以求高效地開發高質量軟體。其中應用了計算機科學、數學和管理科學。計算機科學和數學用於構造模型與演算法,工程科學用於制定規范、設計范型、評估成本及確定權衡,管理科學用於計劃、資源、質量和成本的管理。
軟體工程這一概念,主要是針對20世紀60年代「軟體危機」而提出的。它首次出現在1968年NATO(北大西洋公約組織)會議上。自這一概念提出以來,圍繞軟體項目,開展了有關開發模型、方法以及支持工具的研究。其主要成果有:提出了瀑布模型,開發了一些結構化程序設計語言(例如PASCAL語言,Ada語言)、結構化方法等。並且圍繞項目管理提出了費用估算、文檔復審等方法和工具。綜觀60年代末至80年代初,其主要特徵是,前期著重研究系統實現技術,後期開始強調開發管理和軟體質量。
70年代初,自「軟體工廠」這一概念提出以來,主要圍繞軟體過程以及軟體復用,開展了有關軟體生產技術和軟體生產管理的研究與實踐。其主要成果有:提出了應用廣泛的面向對象語言以及相關的面向對象方法,大力開展了計算機輔助軟體工程的研究與實踐。尤其是近幾年來,針對軟體復用及軟體生產,軟體構件技術以及軟體質量控制技術、質量保證技術得到了廣泛的應用。目前各個軟體企業都十分重視資質認證,並想通過這些工作進行企業管理和技術的提升。軟體工程所涉及的要素可概括如下:
根據這一框架,可以看出:軟體工程涉及了軟體工程的目標、軟體工程原則和軟體工程活動。
目標:我的眼裡只有「產品」
軟體工程的主要目標是:生產具有正確性、可用性以及開銷合宜的產品。正確性意指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜性是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多問題有待解決,它們形成了對過程、過程模型及工程方法選取的約束。
軟體工程活動是「生產一個最終滿足需求且達到工程目標的軟體產品所需要的步驟」。主要包括需求、設計、實現、確認以及支持等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體體系結構,包括子系統、模塊以及相關層次的說明、每一模塊介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。支持活動包括修改和完善。伴隨以上活動,還有管理過程、支持過程、培訓過程等。
框架:四項基本原則是基石
軟體工程圍繞工程設計、工程支持以及工程管理,提出了以下四項基本原則:
第一,選取適宜開發范型。該原則與系統設計有關。在系統設計中,軟體需求、硬體需求以及其他因素之間是相互制約、相互影響的,經常需要權衡。因此,必須認識需求定義的易變性,採用適宜的開發范型予以控制,以保證軟體產品滿足用戶的要求。
第二,採用合適的設計方法。在軟體設計中,通常要考慮軟體的模塊化、抽象與信息隱蔽、局部化、一致性以及適應性等特徵。合適的設計方法有助於這些特徵的實現,以達到軟體工程的目標。
第三,提供高質量的工程支持。「工欲善其事,必先利其器」。在軟體工程中,軟體工具與環境對軟體過程的支持頗為重要。軟體工程項目的質量與開銷直接取決於對軟體工程所提供的支撐質量和效用。
第四,重視開發過程的管理。軟體工程的管理,直接影響可用資源的有效利用,生產滿足目標的軟體產品,提高軟體組織的生產能力等問題。因此,僅當軟體過程得以有效管理時,才能實現有效的軟體工程。
這一軟體工程框架告訴我們,軟體工程的目標是可用性、正確性和合算性;實施一個軟體工程要選取適宜的開發范型,要採用合適的設計方法,要提供高質量的工程支撐,要實行開發過程的有效管理;軟體工程活動主要包括需求、設計、實現、確認和支持等活動,每一活動可根據特定的軟體工程,採用合適的開發范型、設計方法、支持過程以及過程管理。根據軟體工程這一框架,軟體工程學科的研究內容主要包括:軟體開發范型、軟體開發方法、軟體過程、軟體工具、軟體開發環境、計算機輔助軟體工程(CASE) 及軟體經濟學等。
作用:高效開發高質量軟體
自從軟體工程概念提出以來,經過30多年的研究與實踐,雖然「軟體危機」沒得到徹底解決,但在軟體開發方法和技術方面已經有了很大的進步。尤其應該指出的是,自80年代中期,美國工業界和政府部門開始認識到,在軟體開發中,最關鍵的問題是軟體開發組織不能很好地定義和管理其軟體過程,從而使一些好的開發方法和技術都起不到所期望的作用。也就是說,在沒有很好定義和管理軟體過程的軟體開發中,開發組織不可能在好的軟體方法和工具中獲益。
根據調查,中國的現狀幾乎和美國10多年前的情況一樣,軟體開發過程沒有明確規定,文檔不完整,也不規范,軟體項目的成功往往歸功於軟體開發組的一些傑出個人或小組的努力。這種依賴於個別人員上的成功並不能為全組織的軟體生產率和質量的提高奠定有效的基礎,只有通過建立全組織的過程改善,採用嚴格的軟體工程方法和管理,並且堅持不懈地付諸實踐,才能取得全組織的軟體過程能力的不斷提高。
這一事實告訴我們,只有堅持軟體工程的四條基本原則,既重視軟體技術的應用,又重視軟體工程的支持和管理,並在實踐中貫徹實施,才能高效地開發出高質量的軟體。
『陸』 金融數學建模 軟體工程建模
金融數學的建模是一門新興學科,是「金融高技術 」的重要 組成部分。研究金融數學有著重要的意義。 金融數學總的研究目標是利用我國數學界某些方面的優勢,圍繞金融市場的均衡與有價證券定價的數學理論進行深入剖析,建立適合我國國情的數學模型,編寫一定的計算機軟體,對理論研究結果進行模擬計算,對實際數據進行計量經濟分析研究,為實際金融部門提供較深入的技術分析咨詢。
金融數學主要的研究內容和擬重點解決的問題包括:
(1)有價證券和證券組合的定價理論
發展有價證券(尤其是期貨、期權等衍生工具)的定價理論。所用的數學方法主要是提出合適的隨機微分方程或隨機差分方程模型,形成相應的倒向方程。建立相應的非線性Feynman一Kac公式,由此導出非常一般的推廣的Black一Scho1es定價公式。所得到的倒向方程將是高維非線性帶約束的奇異方程。
研究具有不同期限和收益率的證券組合的定價問題。需要建立定價與優化相結合的數學模型,在數學工具的研究方面,可能需要隨機規劃、模糊規劃和優化演算法研究。
在市場是不完全的條件下,引進與偏好有關的定價理論。
(2)不完全市場經濟均衡理論(GEI)
擬在以下幾個方面進行研究:
1.無窮維空間、無窮水平空間、及無限狀態
2.隨機經濟、無套利均衡、經濟結構參數變異、非線資產結構
3.資產證券的創新(Innovation)與設計(Design)
4.具有摩擦(Friction)的經濟
5.企業行為與生產、破產與壞債
6.證券市場博奕。
軟體工程(1)、BarryBoehm:運用現代科學技術知識來設計並構造計算機程序及為開發、運行和維護這些程序所必需的相關文件資料。
(2)、IEEE在軟體工程術語匯編中的定義:軟體工程是:1.將系統化的、嚴格約束的、可量化的方法應用於軟體的開發、運行和維護,即將工程化應用於軟體;2.在1中所述方法的研究
(3)、FritzBauer在NATO會議上給出的定義:建立並使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟體的一系列方法。
目前比較認可的一種定義認為:軟體工程是研究和應用如何以系統性的、規范化的、可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。
(4)、《計算機科學技術網路全書》中的定義:軟體工程是應用計算機科學、數學及管理科學等原理,開發軟體的工程。軟體工程借鑒傳統工程的原則、方法,以提高質量、降低成本。其中,計算機科學、數學用於構建模型與演算法,工程科學用於制定規范、設計范型(paradigm)、評估成本及確定權衡,管理科學用於計劃、資源、質量、成本等管理。
Booch是面向對象方法最早的倡導者之一,他提出了面向對象軟體工程的概念。1991年,他將以前面向Ada的工作擴展到整個面向對象設計領域。Booch 1993比較適合於系統的設計和構造。
均可用標准建模語言UML
『柒』 總結歸納主要的軟體工程模型,並任意選定其中的一種過程模式,介紹其特點及你對該模型的理解。
主要的軟體過程模型有:瀑布模型,演化模型(如增量模型、原型模型、螺旋模型)、噴泉模型、基於構件的開發模型和形式方法模型等。
瀑布模型(waterfall model)是1970年有W.Royce提出的,它給出了軟體生存周期活動的固定順序,上一階段的活動完成後向下一階段過渡,最終得到所開發的軟體產品。瀑布模型如下圖所示,有時也稱為軟體生存周期模型。
瀑布模型中,上一階段的活動完成並經過評審後才能開始下一階段的活動,其特徵是:
(1)接受上一階段的結果作為本階段活動的輸入。
(2)依據上一階段活動的結果實施本階段應完成的活動。
(3)對本階段的活動進行評審。
(4)將本階段活動的結果作為輸出,傳遞給下一階段。
瀑布模型是最早出現的也是應用最廣泛的過程模型,對確保軟體開發的順利進行、提高軟體項目的質量和開發效率起到重要作用。
在大量的實踐過程中,瀑布模型也逐漸暴露出它的不足。首先,客戶常常難以清楚地描述所有的要求,而且在開發過程中,用戶的需求也常常會有所變化,使得不少軟體的需求存在著不確定性;在某個活動中發現的錯誤常常是由前一階段活動的錯誤引起的,為了改正這一錯誤必須回到前一階段,這就導致了瀑布的倒流,也就是說,實際的軟體開發很少能按瀑布模型的順序沒有迴流地順流而下。其次,瀑布模型使得客戶在測試完成以後才能看到真正可運行的軟體,此時,如果發現不滿足客戶需求的問題(由於需求不確定性),那麼修改軟體的代價是巨大的。
不是任何軟體都可採用瀑布模型的,瀑布模型適合於結構化方法,也就是面向過程的軟體開發方法。軟體項目或產品選擇瀑布模型必須滿足下列條件:在開發時間內需求沒有或很少變化;分析設計人員應對應用領域很熟悉;低風險項目(對目標、環境很熟悉);用戶使用環境很穩定;用戶除提出需求以外,很少參與開發工作。
『捌』 軟體工程 用來描述系統的是什麼模型
件工程中能「標識系統要解決的的問題」的模型是概念模型 概念模式也稱為模式或邏輯模式,概念模式是資料庫中全體數據的整體邏輯結構和特徵的描述,概念模式通常還包含有訪問控制、保密定義和完整性檢查等方面的內容,以及概念/物理之間的映射。
『玖』 軟體建模的四大流派是什麼
軟體工程的建模和數學建模不是一個感念,樓上先生對數學建模的解釋很好,我就不多說了.
軟體工程的建模是要把一個現實應用問題表述成一個軟體問題,核心有兩點,就是明確這個應用的數據是什麼?對這些數據如何進行處理(也叫操作).
建模的過程在軟體工程中叫做「需求分析」。
建模的結果要形成兩個技術文檔,需求分析說明書和需求規格說明書。
建模的模型化方法有多種,針對具體的應用問題可以採取不同的方法,常用的有數據流圖、統一建模UML方法等。現在普遍採用的是UML方法。
建模的軟體工具有VISIO等。Visio是和微軟的開發平台Visual Studio .Net一起發布的大概是其中第七塊盤,網上搜索Visio可以找到D版軟體下來玩玩,支持多種建模方法,還有案例。
建模的目的是要得到軟體系統設計的基本要素:數據流圖、數據字典;或者,用例、類圖、狀態圖等,並且為下一步的系統設計奠定基礎。