A. 求軟體工程商品庫存管理系統概要設計說明書
不如自己找來的實在些 我也在找了 唉 GOGLE的學術類的多點
B. 軟體工程中《軟體需求規格說明書》和《詳細設計說明書》區別。
需求規格說明書在前,詳細設計說明書在後.
需求規格說明書要界定用戶的最終需求,建立軟體的功能框架.
詳細設計說明書在概要設計的基礎上要深化設計,介面\內容都要具體化.
C. 對所學軟體工程課程各部分內容的目的、作用、主要內容等進行總結,
1、軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及程序設計語言、資料庫、軟體開發工具、系統平台、標准、設計模式等方面。
在現代社會中,軟體應用於多個方面。典型的軟體有電子郵件、嵌入式系統、人機界面、辦公套件、操作系統、編譯器、資料庫、游戲等。同時,各個行業幾乎都有計算機軟體的應用,如工業、農業、銀行、航空、政府部門等。這些應用促進了經濟和社會的發展,也提高了工作效率和生活效率 。
2、
開發流程
▪ 需求分析
▪ 概要設計
▪ 詳細設計
▪ 編碼
▪ 測試
▪ 軟體交付
▪ 驗收
▪ 維護
3、軟體架構(software
architecture)是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。 軟體架構是一個系統的草圖。軟體架構描述的對象是直接構成系
統的抽象組件。各個組件之間的連接則明確和相對細致地描述組件之間的通訊。在實現階段,這些抽象組件被細化為實際的組件,比如具體某個類或者對象。在面向
對象領域中,組件之間的連接通常用介面_(計算機科學)來實現。
軟體體系結構是構建計算機軟體實踐的基礎。與建築師設定建築項目的設計原則和目標,作為繪圖員畫圖的基礎一樣,一個軟體架構師或者系統架構師陳述軟體構架以作為滿足不同客戶需求的實際系統設計方案的基礎。
軟體構架是一個容易理解的概念,多數工程師(尤其是經驗不多的工程師)會從直覺上來認識它,但要給出精確的定義很困難。特別是,很難明確地區分設計和構架:構架屬於設計的一方面,它集中於某些具體的特徵。
在「軟體構架簡介」中,David Garlan 和 Mary Shaw
認為軟體構架是有關如下問題的設計層次:「在計算的演算法和數據結構之外,設計並確定系統整體結構成為了新的問題。結構問題包括總體組織結構和全局控制結
構;通信、同步和數據訪問的協議;設計元素的功能分配;物理分布;設計元素的組成;定標與性能;備選設計的選擇。
但構架不僅是結構;IEEE Working Group
on Architecture 把其定義為「系統在其環境中的最高層概念」。構架還包括「符合」系統完整性、經濟約束條件、審美需求和樣式。它並不僅注
重對內部的考慮,而且還在系統的用戶環境和開發環境中對系統進行整體考慮,即同時注重對外部的考慮。
在Rational Unified Process 中,軟體系統的構架(在某一給定點)是指系統重要構件的組織或結構,這些重要構件通過介面與不斷減小的構件與介面所組成的構件進行交互。
從和目的、主題、材料和結構的聯繫上來說,軟體架構可以和建築物的架構相比擬。一個軟體架構師需要有廣泛的軟體理論知識和相應的經驗來事實和管
理軟體產品的高級設計。軟體架構師定義和設計軟體的模塊化,模塊之間的交互,用戶界面風格,對外介面方法,創新的設計特性,以及高層事物的對象操作、邏輯
和流程。
一般而言,軟體系統的架構(Architecture)有兩個要素:
它是一個軟體系統從整體到部分的最高層次的劃分。
一個系統通常是由元件組成的,而這些元件如何形成、相互之間如何發生作用,則是關於這個系統本身結構的重要信息。
詳細地說,就是要包括架構元件(Architecture Component)、聯結器(Connector)、任務流(Task-flow)。
所謂架構元素,也就是組成系統的核心"磚瓦",而聯結器則描述這些元件之間通訊的路徑、通訊的機制、通訊的預期結果,任務流則描述系統如何使用這些元件和
聯結器完成某一項需求。
建造一個系統所作出的最高層次的、以後難以更改的,商業的和技術的決定。
建造一個系統之前會有很多的重要決定需要事先作出,而一旦系統開始進行詳細設計甚至建造,這些決定就很難更改甚至無法更改。顯然,這樣的決定必定是有關系統設計成敗的最重要決定,必須經過非常慎重的研究和考察。
4、自己寫了
D. 什麼是軟體設計,其目的是什麼
軟體設計出現的較早。由於早期程序變得越來越大,那麼模塊化程序,讓不同的開發人員相互配合就形成了一個主題。多個程序員之間要遵從一定的規范進行編程,然後相互調用,最終使用各個模塊進行組合。這種最早的形式也伴隨著新的面向過程語言的出現。
軟體設計的原始目的是非常簡單的,就是我們要去理解一個完成的功能(軟體的雛形),然後把不同的功能分化成細節的模塊,然後使用一個團隊進行協同開發。在這個設計活動中又找出了諸多的開發方法論(如面向過程,面向對象及現在的面向切片等等),同時也發現了諸多開發的模型(如瀑布模型,原型模型,極限編程及敏捷開發等等)。進而形成一個涉及到管理、設計等方面的細化工作,形成統一的軟體工程學。同時對於軟體設計也相當細化和規范(如演算法、時空代價——佔用空間及佔用運算時間的代價)。所以現在基本上軟體設計就是根據系統分師所指派的橫塊內進行細分(更小的模塊),不同的方法論下,不同的開發模型下將功能塊分為更細致的小模塊(如面向對象的類,結構等)完成更細致的功能。
基本上來說,軟體設計與程序設計被混為一談,狹義的軟體設計指就是程序設計,重點在於演算法上的設計;廣義上的軟體設計其實就是對系統進行的設計,要考慮到將來軟體的部署及要部署的硬體(包括軟體方面與硬體方面)。也就是說,程序員不管是在演算法設計上還是程序設計上都是稱自己軟體設計,而系統分師也在設計整個系統也稱為軟體設計。這是由於習慣的問題而出現的兩種理解——系統設計師與分析師設計的是整個軟體系統,涉及內容巨大,從部署到軟體性能功能移植性等各個方面的考慮,其目的就是構造一個當前適用並具有一定前瞻性、擴展性的軟體系統來支撐整個或大部分公司運行的系統。他們再把系統細分為子系統以對應公司或系統中某個相對獨立的系統功能。軟體設計師把自身分派到的子系統任務再進行細分,實現不同的層與模塊的調用(子系統可以理解為可以相互配合的一個完整的某個方面的功能),其目的就是將理解系統進而設計為可以開發的或進行開發准備的工作;而高程與程序員則對模塊功能進行分析,然後進入到開發,開發出相應的功能模塊。他們所謂的軟體設計設計模塊內調用層次(如分層開發等),設計演算法與程序以達到指定的功能要求或非功能要求。
所以軟體設計在不同的范圍內有不同的理解,出現這種混淆的原因也是由於軟體規模的差別——讓你構造一個系統時考慮的內容與構造一個工具軟體所考慮的內容顯然是不同的。而有些需求是一個公司的整個系統或子系統,而有些只是讓你開發一個工具或一個簡單的網站而已。所以各層次對於軟體設計的理解也不盡相同。
基於上來說軟體設計從大角度出發,其目的就是把理解變為可編程的文檔。或者可以認為包括在需求分析之內的。也正是因為如此,雖然我們把軟體設計掛在嘴上,但軟體工程的流程中其實並不包括名詞的嚴格定義。
軟體工程中,我們按需求分析階段、設計階段、開發編程階段與部署維護四個大的階段。需求分析階段包含可行性分析,需求採集,需求分析(包含功能需求與非功能需求)幾個過程,設計階段包含概要設計、詳細設計幾個過程,而編碼開發階段就編碼、測試(包含單元測試,集成測試等),而部署方麵包含部署、驗證、維護、遷移等各個過程,事實上對於軟體設計的這個不太好的定義規避掉了。所以軟體設計方面的廣義已逐漸被軟體程所取代。
E. 軟體工程的意義和作用
軟體工程是計算機專業的一門重要的專業基礎課,它對於培養學生的軟體素質,提高學生的軟體開發能力與軟體項目管理能力具有重要的意義.
1995年,Standish Group針對系統開發成功的研究表明,所有的開發項目中有32%的項目在它們結束之前被中止.此外多於一半的軟體項目花費的成本相當於原來預算的2倍.
軟體工程
只有42%的軟體項目完成時達到了預期的范圍和功能,事實上,許多系統只完成了部分預期的需求.
因此,軟體的開發是一個很困難的活動,要求很仔細的計劃和執行.
軟體工程就是在這樣的背景下,由許多計算機科學家經過多方面的探索和總結而成形的.目前發展十分迅速 近二十年來計算機軟體已經成為現代科學研究和解決工程問題的基礎,以及管理部門,生產部門,和服務行業中的關鍵因素,滲透到了各個領域,成為當今世界不可缺少的一部分.
展望二十一世紀,軟體仍將成為驅動任何事情從基礎教育到遺傳工程取得新進展的動力.
學習研究工程化的軟體開發方法,使開發過程更加規范.
軟體工程(SoftWare Engineering)的框架可概括為:目標、過程和原則。
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
F. 詳細說明軟體工程到底是干什麼的
什麼是軟體工程
軟體工程(SoftWare
Engineering)的框架可概括為:目標、過程和原則。
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。