⑴ 學習《軟體工程》心得和體會
軟體工程學習心得
在本學期的軟體工程課程的學習中,我們學習了十一章的內容。第一章軟體與軟體工程的概念,這一章主要講解的是一些概念性和基礎性的內容,例如軟體的概念、特性,軟體危機的主要表現,軟體工程的概念以及軟體生存期、典型生存期模型等等。第二章軟體工程方法與工具,這一章主要對軟體工程方法進行介紹,包括三種方法:傳統方法、面向對象方法、形式化方法。還引出了工具UML。第三章軟體需求獲取與結構化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結構化分析方法,畫分層的數據流圖、E-R圖以及狀態圖式本節的重點。第四章結構化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結構以及模塊結構的改進。第五章編碼,這一章重點講解了編碼的風格及規范,還告訴我們編碼規范說帶來的好處,並告誡我們將來一點要形成好的編碼風格。第六章軟體測試方法,本章講解了軟體測試相關的概念及重要性,軟體測試與開發各個階段的關系;還介紹了白盒測試技術以及黑河測試技術。第七章統一建模語言UML概述,本章詳細介紹了UML的基本模式、事物、關系及建模時用到的各種圖進行了介紹。第八章面向對象分析,這一章主要講解了面向對象分析的3種模型,包括功能模型、靜態模型和動態模型。第九章軟體體系結構與設計模式,本章對軟體體系結構的基本概念、典型風格等進行了講解。第十章面向對象設計,本章的重點是對面向對象分析時建立的對象模型進行調整和細化。第十一章軟體維護,本章主要介紹軟體維護的任務、軟體維護活動以及軟體維護方法進行了介紹。
要學習軟體工程,學會如何系統的思考,以及養成良好的編碼習慣,想學好軟體工程,就必須知道軟體工程的目標、過程和原則:
軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
我們學習了詳細設計的方法,其原則是過程描述是否易於理解、復審和維護,進而過程描述能夠自然地轉換成代碼,並保證詳細設計與代碼完全一致。包括程序流程圖、N-S圖、PAD圖、HIPO圖
程序流程圖:程序流程圖又稱之為程序框圖,它是軟體開發者最熟悉的一種演算法表達工具。它獨立於任何一種程序設計語言,比較直觀和清晰地描述過程的控制流程,易於學習掌握。在流程圖中只能使用下述的五種基本控制結構:順序型;選擇型;while型循環;until型循環;多情況型選擇。
N-S圖:一種符合結構化程序設計原則的圖形描述工具,稱為盒圖,又稱為N-S圖。在N-S圖中,為了表示五種基本控制結構,規定了五種圖形構件。順序型;選擇型;WHILE重復型;UNTIL重復型;多分支選擇型。
PAD圖:它是用結構化程序設計思想表現程序邏輯結構的圖形工具。PAD也設置了五種基本控制結構的圖示,並允許遞歸使用。
HIPO圖:HIPO圖是由一組IPO圖加一張HC圖組成。它是美國IBM公司在軟體設計中使用的主要表達工具。
HC圖既是層次圖,用於表示軟體的分層結構。HC圖中的每一個模塊,均可用一張IPO圖來描述。IPO 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數據文件框,這種圖形的優點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯系。
還有測試方法:按照測試過程是否在實際應用環境中來分,有靜態分析與動態測試。測試方法有分析方法(包括靜態分析法與白盒法)與非分析方法(稱黑盒法)。
靜態分析技術:不執行被測軟體,可對需求分析說明書、軟體設計說明書、源程序做結構檢查、流程分析、符號執行來找出軟體錯誤。
動態測試技術:當把程序作為一個函數,輸入的全體稱為函數的定義域,輸出的全體稱為函數的值域,函數則描述了輸入的定義域與輸出值域的關系。
還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今後的學習中一定會慢慢的完善的。
軟體工程對於初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟體工程,不是僅僅把幾本專業書籍細致地看幾遍,然後上機練習幾次就可以成功,學習過程中要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什麼都學,肯定是什麼都學不透的,要集中精力打攻堅戰,學習軟體工程首先要明白自己的學習目標究竟是什麼,根據自己的實際工作出發,有針對性的在相應的學習方向上進行提高,制定出詳細的學習規劃。還要注意與其他科目的相輔相成,就像我們在學習面向對象分析的時候要結合大一學習的面向對象及其方法學這一專業科目進行研究拓展;在學習語言時,要看看與C語言的聯系,多思多想,把從各個科目學到的知識通匯貫通。
在軟體工程的學習中,我了解到了軟體並非是一些代碼這么簡單,在開發軟體的過程中,編寫代碼的工作量其實只佔不到所有工程量的30%,而後期的管理和維護更是佔了60%到80%之多。一個完整的項目規劃須包括,軟體的定義,可行性分析報告,項目開發計劃,軟體需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告,開發進度報告,項目開發總結報告,軟體維護手冊,軟體問題報告,軟體修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟體工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟體,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開發軟體這個浩大的工程的一個小小的過程。
而編碼的學習中,我更了解到形成自己獨特的規范的編碼風格是非常重要的事。因為這影響到了軟體後期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規范可言,那麼別人怎麼能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今後的學習中,一定要注意這方面的培養,在寫程序的過程中,要逐步的在規范的基礎上形成屬於自己的風格,即方便自己的修改,也方便日後他人的閱讀。
在學習中,我們還要注意比較三種方法的優缺點,例如:傳統方法雖然使軟體擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統方法要麼面向行為,要麼面向數據,缺乏兩者的有機結合。而面向對象方法的程序設計和問題求解更符合人們日常自然的思維習慣,適合大型、復雜及交互性比較強的系統。形式化方法則是一中基於形式化數學變換的軟體開發方法,它可將系統的規格說明轉換為可執行的程序。
在今後的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,並以此為基礎將其擴散開來,應用於今後的實踐。不斷鍛煉自己,向一名合格的程序設計師邁進。
⑵ 詳細的軟體工程開發流程是什麼從架構設計、詳細設計、編碼到測試,越詳細越好,謝謝啦~~·
需求分析、設計、編碼、測試、維護
需求分析
軟體需求分析就是回答做什麼的問題。它是一個對用戶的需求進行去粗取精、去偽存真、正確理解,然後把它用軟體工程開發語言(形式功能規約,即需求規格說明書)表達出來的過程。本階段的基本任務是和用戶一起確定要解決的問題,建立軟體的邏輯模型,編寫需求規格說明書文檔並最終得到用戶的認可。需求分析的主要方法有結構化分析方法、數據流程圖和數據字典等方法。本階段的工作是根據需求說明書的要求,設計建立相應的軟體系統的體系結構,並將整個系統分解成若干個子系統或模塊,定義子系統或模塊間的介面關系,對各子系統進行具體設計定義,編寫軟體概要設計和詳細設計說明書,資料庫或數據結構設計說明書,組裝測試計劃。
設計
軟體設計可以分為概要設計和詳細設計兩個階段。實際上軟體設計的主要任務就是將軟體分解成模塊是指能實現某個功能的數據和程序說明、可執行程序的程序單元。可以是一個函數、過程、子程序、一段帶有程序說明的獨立的程序和數據,也可以是可組合、可分解和可更換的功能單元。模塊,然後進行模塊設計。概要設計就是結構設計,其主要目標就是給出軟體的模塊結構,用軟體結構圖表示。詳細設計的首要任務就是設計模塊的程序流程、演算法和數據結構,次要任務就是設計資料庫,常用方法還是結構化程序設計方法。
編碼
軟體編碼是指把軟體設計轉換成計算機可以接受的程序,即寫成以某一程序設計語言表示的"源程序清單"。充分了解軟體開發語言、工具的特性和編程風格,有助於開發工具的選擇以及保證軟體產品的開發質量。 當前軟體開發中除在專用場合,已經很少使用二十世紀80年代的高級語言了,取而代之的是面向對象的開發語言。而且面向對象的開發語言和開發環境大都合為一體,大大提高了開發的速度。
測試
軟體測試的目的是以較小的代價發現盡可能多的錯誤。要實現這個目標的關鍵在於設計一套出色的測試用例(測試數據和預期的輸出結果組成了測試用例)。如何才能設計出一套出色的測試用例,關鍵在於理解測試方法。不同的測試方法有不同的測試用例設計方法。兩種常用的測試方法是白盒法測試對象是源程序,依據的是程序內部的的邏輯結構來發現軟體的編程錯誤、結構錯誤和數據錯誤。結構錯誤包括邏輯、數據流、初始化等錯誤。用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果。白盒法和黑盒法依據的是軟體的功能或軟體行為描述,發現軟體的介面、功能和結構錯誤。其中介面錯誤包括內部/外部介面、資源管理、集成化以及系統錯誤。黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入介面。黑盒法。
維護
維護是旨在已完成對軟體的研製(分析、設計、編碼和測試)工作並交付使用以後,對軟體產品所進行的一些軟體工程的活動。即根據軟體運行的情況,對軟體進行適當修改,以適應新的要求,以及糾正運行中發現的錯誤。編寫軟體問題報告、軟體修改報告。
⑶ 一個軟體研發要經過哪幾個步驟
個人認為研發一個成功的軟體需要在以下方面著手:
1. ERP軟體企業的軟體與ERP軟體企業的管理
一個管理軟體企業的管理理念將會或多或少地融入到其產品中去。因此一個管理軟體企業自身管理的好壞對整個產品的成功至關重要。
2. 對目標客戶現在和將來幾年內需求的真正認知
如果僅僅知道某個客戶有某個需求,但是並不知道某項功能有多少比例的目標客戶採用,在這種情況下決定將這一功能作到產品中,而不是為某些客戶提供二次開發來解決問題,是非常倉促的。因此,在研發一個ERP產品前首先要知道目標客戶現在需要什麼?在產品生命周期中還可能會有什麼需求?其次要清楚我們怎樣滿足用戶各種各樣的需求。這里衡量滿足刻戶客戶需求好壞的是用戶的滿意度、我們的凈利潤的高低。
3. ERP軟體企業應該是個學習型組織
這里所說的學習型組織不僅僅停留在積累競爭對手的產品知識、相關信息、客戶資源等方面,還需要從組織的開發過程管理等各項任務中進行不斷學習、總結、改進。以使企業管理不斷進步,使企業在產品研發工作中積累豐富的經驗,久而久之,形成一套適合本組織的產品研發方法。這有點象閉環控制系統,還有點象精益生產方式。這也是自我學習型組織的一個顯著特徵。學習型組織也犯錯誤,但不會長期重復犯同樣的錯誤。學習型組織會從以前的錯誤中找到解決問題的辦法。
4. 團隊的作用
構建一個良好的團隊對整個研發過程的成敗至關重要。在團隊中,要有主抓管理的核心成員,要有主抓技術的核心成員,並進行合理分工、協作。而且團隊可以有多個層次:核心團隊負責涉及全局問題的決策,次核心團隊對核心團隊負責,負責日常計劃、技術等各項問題的決策等。團隊的成員應該打破需求、設計、開發的界限,採用大模塊方式更加適合並行開發。
另外,團隊管理中,統一思想很重要。只有大家心往一處想、勁往一處使,才能如期達到目標。有計劃地定期溝通是解決這一問題的好辦法。
4. 如何組織並行開發
研發的並行方式是指需求工作、設計工作、代碼開發工作、測試工作的並行。但是這為整個研發過程的組織帶來了很大難度。並行開發的每個環節如果沒有有效的計劃管理、進度控制、質量管理,最終只能導致混亂、效率低下和大量的重復工作。因此,此時上道工序的質量好壞將對後續工序產生嚴重影響。這里,需要借鑒精益生產方式的方法,不讓上道工序的次品流到下一工序。這需要通過TQC和嚴格的質量把關來實現減少返工、縮短工期的目的。
6. 如何有效組織具體工作
大型軟體項目的研發最大的成本就是人員工資。因此如何充分發揮每個人的作用至關重要。這就需要制定一套周密的滾動研發計劃,並逐級層層細化到每個人,為每個人制定一個可行的近期、中期計劃。
7. 合理控制項目預算
項目預算一旦制定,就要起到良好的控製作用。多從提高效率上下工夫。
8. 使用管理軟體輔助管理
如Clearcase、Rose、Project、MSN等都是很好的管理工具。還可以自己根據需要開發一些工具軟體解決所面臨的具體問題。
⑷ 計算機軟體工程簡答題求做
軟體工程包括三個要素:方法、工具和過程。
軟體工程方法為軟體開發提供了「如何做」的技術。它包括了多方面的任務,如項目計劃與估算、軟體系統需求分析、數據結構、系統總體結構的設計、演算法過程的設計、編碼、測試以及維護等。
軟體工具為軟體工程方法提供了自動的或半自動的軟體支撐環境。目前,已經推出了許多軟體工具,這些軟體工具集成起來,建立起稱之為計算機輔助軟體工程(CASE)的軟體開發支撐系統。CASE將各種軟體工具、開發機器和一個存放開發過程信息的工程資料庫組合起來形成一個軟體工程環境。
軟體工程的過程則是將軟體工程的方法和工具綜合起來以達到合理、及時地進行計算機軟體開發的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質量和協調變化所需要的管理、及軟體開發各個階段完成的里程碑。
軟體工程是一種層次化的技術。任何工程方法(包括軟體工程)必須以有組織的質量保證為基礎。全面的質量管理和類似的理念刺激了不斷的過程改進,正是這種改進導致了更加成熟的軟體工程方法的不斷出現。支持軟體工程的根基就在於對質量的關注。
2. 1.P(Plan)軟體規格說明
2.D(Do)軟體開發
3.C(Check)軟體確認
4A(Action)軟體演進
3.軟體開發模型(Software Development Model)是指軟體開發全部過程、活動和任務的結構框架.
演化模型主要針對事先不能完整定義需求的軟體開發。用戶可以給出待開發系統的核心需求,並且當看到核心需求實現後,能夠有效地提出反饋,以支持系統的最終設計和實現。軟體開發人員根據用戶的需求,首先開發核心系統。當該核心系統投入運行後,用戶試用之,完成他們的工作,並提出精化系統、增強系統能力的需求。軟體開發人員根據用戶的反饋,實施開發的迭代過程。第一迭代過程均由需求、設計、編碼、測試、集成等階段組成,為整個系統增加一個可定義的、可管理的子集。 在開發模式上採取分批循環開發的辦法,每循環開發一部分的功能,它們成為這個產品的原型的新增功能。於是,設計就不斷地演化出新的系統。 實際上,這個模型可看作是重復執行的多個「瀑布模型」。 4. 結構化分析方法(Structured Method)是強調開發方法的結構合理性以及所開發軟體的結構合理性的軟體開發方法。結構是指系統內各個組成要素之間的相互聯系、相互作用的框架。結構化開發方法提出了一組提高軟體結構合理性的准則,如分解與抽象、模塊獨立性、信息隱蔽等。針對軟體生存周期各個不同的階段,它有結構化分析(SA)、結構化設計(SD)和結構化程序設計(SP)等方法。1.打開visio,在visio里選擇創建框圖
2.拉八個圓圈,並調整大小和形狀
3.選中單箭頭,輸入一定的箭頭(注意,拉過去的箭頭都是雙向的,要選中雙向箭頭/右擊/箭頭向右)
4雙擊箭頭中間就可以編輯想要的文字(要調整相應的文本格式)。
所得圖形如下圖第二圖示:
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、作為驗收的依據,即作為選取測試用例的依據。
需求說明書應該達到完整、一致、精確、無二義,既簡明易懂並易於修改和維護。
在需求階段、還應考慮設計的限制"成本、進度、可用的軟硬體資源";客戶驗收准則"客戶需求的細化";編寫"初步用戶手冊"及復查需求說明書。
⑹ 編碼(實現)階段得到的程序段應該是什麼程序
計劃對所要解決的問題進行總體定義,包括了解用戶的要求及現實環境,從技術、經濟和社會因素等3個方面研究並論證本軟體項目的可行性,編寫可行性研究報告,探討解決問題的方案,並對可供使用的資源(如計算機硬體、系統軟體、人力等)成本,可取得的效益和開發進度作出估計,制訂完成開發任務的實施計劃。分析軟體需求分析就是對開發什麼樣的軟體的一個系統的分析與設想。它是一個對用戶的需求進行去粗取精、去偽存真、正確理解,然後把它用軟體工程開發語言(形式功能規約,即需求規格說明書)表達出來的過程。本階段的基本任務是和用戶一起確定要解決的問題,建立軟體的邏輯模型,編寫需求規格說明書文檔並最終得到用戶的認可。需求分析的主要方法有結構化分析方法、數據流程圖和數據字典等方法。本階段的工作是根據需求說明書的要求,設計建立相應的軟體系統的體系結構,並將整個系統分解成若干個子系統或模塊,定義子系統或模塊間的介面關系,對各子系統進行具體設計定義,編寫軟體概要設計和詳細設計說明書,資料庫或數據結構設計說明書,組裝測試計劃。在任何軟體或系統開發的初始階段必須先完全掌握用戶需求,以期能將緊隨的系統開發過程中哪些功能應該落實、採取何種規格以及設定哪些限制優先加以定位。系統工程師最終將據此完成設計方案,在此基礎上對隨後的程序開發、系統功能和性能的描述及限製作出定義。設計軟體設計可以分為概要設計和詳細設計兩個階段。實際上軟體設計的主要任務就是將軟體分解成模塊是指能實現某個功能的數據和程序說明、可執行程序的程序單元。可以是一個函數、過程、子程序、一段帶有程序說明的獨立的程序和數據,也可以是可組合、可分解和可更換的功能單元。模塊,然後進行模塊設計。概要設計就是結構設計,其主要目標就是給出軟體的模塊結構,用軟體結構圖表示。詳細設計的首要任務就是設計模塊的程序流程、演算法和數據結構,次要任務就是設計資料庫,常用方法還是結構化程序設計方法。編碼軟體編碼是指把軟體設計轉換成計算機可以接受的程序,即寫成以某一程序設計語言表示的"源程序清單"。充分了解軟體開發語言、工具的特性和編程風格,有助於開發工具的選擇以及保證軟體產品的開發質量。當前軟體開發中除在專用場合,已經很少使用二十世紀80年代的高級語言了,取而代之的是面向對象的開發語言。而且面向對象的開發語言和開發環境大都合為一體,大大提高了開發的速度。軟體測試軟體測試的目的是以較小的代價發現盡可能多的錯誤。要實現這個目標的關鍵在於設計一套出色的測試用例(測試數據與功能和預期的輸出結果組成了測試用例)。如何才能設計出一套出色的測試用例,關鍵在於理解測試方法。不同的測試方法有不同的測試用例設計方法。兩種常用的測試方法是白盒法測試對象是源程序,依據的是程序內部的的邏輯結構來發現軟體的編程錯誤、結構錯誤和數據錯誤。結構錯誤包括邏輯、數據流、初始化等錯誤。用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果。白盒法和黑盒法依據的是軟體的功能或軟體行為描述,發現軟體的介面、功能和結構錯誤。其中介面錯誤包括內部/外部介面、資源管理、集成化以及系統錯誤。黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入介面。維護維護是指在已完成對軟體的研製(分析、設計、編碼和測試)工作並交付使用以後,對軟體產品所進行的一些軟體工程的活動。即根據軟體運行的情況,對軟體進行適當修改,以適應新的要求,以及糾正運行中發現的錯誤。編寫軟體問題報告、軟體修改報告。一個中等規模的軟體,如果研製階段需要一年至二年的時間,在它投入使用以後,其運行或工作時間可能持續五年至十年。那麼它的維護階段也是運行的這五年至十年期間。在這段時間,人們幾乎需要著手解決研製階段所遇到的各種問題,同時還要解決某些維護工作本身特有的問題。做好軟體維護工作,不僅能排除障礙,使軟體能正常工作,而且還可以使它擴展功能,提高性能,為用戶帶來明顯的經濟效益。然而遺憾的是,對軟體維護工作的重視往往遠不如對軟體研製工作的重視。而事實上,和軟體研製工作相比,軟體維護的工作量和成本都要大得多。
⑺ 軟體開發的一般流程是什麼_
軟體開發流程分為: 需求確認——概要設計——詳細設計——編碼——單元測試——集成測試——系統測試——維護
軟體開發是一項包括需求捕捉、需求分析、設計、實現和測試的系統工程。軟體一般是用某種程序設計語言來實現的。通常採用軟體開發工具可以進行開發。軟體分為系統軟體和應用軟體,並不只是包括可以在計算機上運行的程序,與這些程序相關的文件一般也被認為是軟體的一部分。
軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法、軟體的總體結構設計和模塊設計、編程和調試、程序聯調和測試以及編寫、提交程序。
軟體開發方面的工作。具體可分為以下方面:
1可視化編程掌握程序設計方法及可視化技術,精通一種可視化平台及其軟體開發技術。獲取Delphi程序員系列、Java初級或VB開發能手認證。 就業方向:企業、政府、社區、各類學校等可視化編程程序員。
2 WEB應用程序設計 具有美工基礎和網頁動畫設計能力,掌握互動式網頁程序的設計技術,能進行網站建設和維護。獲取Macromedia多媒體互動設計師或Delphi初級程序員或Delphi快速網路開發工程師認證。 就業方向:企業、政府、社區、各類學校等WEB應用程序員。
3軟體測試掌握軟體測試的基本原理、方法和組織管理,精通軟體測試工具。獲取ATA軟體測試工程師或Delphi初級程序員或Java初級程序員認證。 就業方向:企業、政府、社區、各類學校等軟體測試員。
4 資料庫管理 能應用關系範式進行資料庫設計,精通SQL語言,勝任資料庫伺服器管理與應用工作。獲取Oracle資料庫管理或SQL Server資料庫應用或Windows XP應用認證。 就業方向:企業、政府、社區、各類學校等部門的中、大型資料庫管理員。
5 圖形圖像製作 精通國際上流行的圖形/圖像製作工具(如CorelDraw、Photoshop、Pagemaker等)。獲取平面設計師相關的認證。 就業方向:廣告製作公司、建築設計公司、包裝裝璜設計公司、居室裝修公司、出版印刷公司。
⑻ 軟體工程中有無邏輯圖的概念對某種演算法的具體流程描述應該叫什麼
邏輯是總體思路 流程圖是具體操作步驟