首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
3.1 軟件工程基本概念
計算機軟件是包括程序、數據及相關文檔的完整集合。
軟件的特點包括:
(1)軟件是一種邏輯實體;
(2)軟件的生產與硬件不同,它沒有明顯的制作過程;
(3)軟件在運行、使用期間不存在磨損、老化問題;
(4)軟件的開發、運行對計算機系統具有依賴性,受計算機系統的限制,這導致了軟件移植的問題;
(5)軟件復雜性高,成本昂貴;
(6)軟件開發涉及諸多的社會因素。
軟件按功能分為應用軟件、系統軟件、支撐軟件(或工具軟件)。
軟件危機主要表現在成本、質量、生產率等問題。
軟件工程是應用于計算機軟件的定義、開發和維護的一整套方法、工具、文檔、實踐標準和工序。
軟件工程包括3個要素:方法、工具和過程。
軟件工程過程是把軟件轉化為輸出的一組彼此相關的資源和活動,包含4種基本活動:
(1)P——軟件規格說明;
(2)D——軟件開發;
(3)C——軟件確認;
(4)A——軟件演進。
軟件周期:軟件產品從提出、實現、使用維護到停止使用退役的過程。
軟件生命周期三個階段:軟件定義、軟件開發、運行維護,主要活動階段是:
(1)可行性研究與計劃制定;
(2)需求分析;
(3)軟件設計;
(4)軟件實現;
(5)軟件測試;
(6)運行和維護。
軟件工程的目標和與原則:
目標:在給定成本、進度的前提下,開發出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品。
基本目標:付出較低的開發成本;達到要求的軟件功能;取得較好的軟件性能;開發軟件易于移植;需要較低的費用;能按時完成開發,及時交付使用。
基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。
軟件工程的理論和技術性研究的內容主要包括:軟件開發技術和軟件工程管理。
軟件開發技術包括:軟件開發方法學、開發過程、開發工具和軟件工程環境。
軟件工程管理包括:軟件管理學、軟件工程經濟學、軟件心理學等內容。
軟件管理學包括人員組織、進度安排、質量保證、配置管理、項目計劃等。
軟件工程原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。
3.2 結構化分析方法
結構化方法的核心和基礎是結構化程序設計理論。
需求分析方法有(1)結構化需求分析方法;
(2)面向對象的分析的方法。
從需求分析建立的模型的特性來分:靜態分析和動態分析。
結構化分析方法的實質:著眼于數據流,自頂向下,逐層分解,建立系統的處理流程,以數據流圖和數據字典為主要工具,建立系統的邏輯模型。
結構化分析的常用工具
(1)數據流圖;
(2)數據字典;
(3)判定樹;
(4)判定表。
數據流圖:描述數據處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統功能建模。
數據字典:對所有與系統相關的數據元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統分析員對于輸入、輸出、存儲成分和中間計算結果有共同的理解。
判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結論,根據描述材料中的連接詞找出判定條件之間的從屬關系、并列關系、選擇關系,根據它們構造判定樹。
判定表:與判定樹相似,當數據流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發的,使用判定表描述比較適宜。
數據字典是結構化分析的核心。
軟件需求規格說明書的特點:
(1)正確性;
(2)無岐義性;
(3)完整性;
(4)可驗證性;
(5)一致性;
(6)可理解性;
(7)可追蹤性。
3.3 結構化設計方法
軟件設計的基本目標是用比較抽象概括的方式確定目標系統如何完成預定的任務,軟件設計是確定系統的物理模型。
軟件設計是開發階段最重要的步驟,是將需求準確地轉化為完整的軟件產品或系統的唯一途徑。
從技術觀點來看,軟件設計包括軟件結構設計、數據設計、接口設計、過程設計。
結構設計:定義軟件系統各主要部件之間的關系。
數據設計:將分析時創建的模型轉化為數據結構的定義。
接口設計:描述軟件內部、軟件和協作系統之間以及軟件與人之間如何通信。
過程設計:把系統結構部件轉換成軟件的過程描述。
從工程管理角度來看:概要設計和詳細設計。
軟件設計的一般過程:軟件設計是一個迭代的過程;先進行高層次的結構設計;后進行低層次的過程設計;穿插進行數據設計和接口設計。
衡量軟件模塊獨立性使用耦合性和內聚性兩個定性的度量標準。
在程序結構中各模塊的內聚性越強,則耦合性越弱。優秀軟件應高內聚,低耦合。
軟件概要設計的基本任務是:
(1)設計軟件系統結構; (2)數據結構及數據庫設計;
(3)編寫概要設計文檔; (4)概要設計文檔評審。
模塊用一個矩形表示,箭頭表示模塊間的調用關系。
在結構圖中還可以用帶注釋的箭頭表示模塊調用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數據。
結構圖的基本形式:基本形式、順序形式、重復形式、選擇形式。
結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協調模塊。
典型的數據流類型有兩種:變換型和事務型。
變換型系統結構圖由輸入、中心變換、輸出三部分組成。
事務型數據流的特點是:接受一項事務,根據事務處理的特點和性質,選擇分派一個適當的處理單元,然后給出結果。
詳細設計:是為軟件結構圖中的每一個模塊確定實現算法和局部數據結構,用某種選定的表達工具表示算法和數據結構的細節。
常見的過程設計工具有:圖形工具(程序流程圖)、表格工具(判定表)、語言工具(PDL)。
3.4 軟件測試
軟件測試定義:使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。
軟件測試的目的:發現錯誤而執行程序的過程。
軟件測試方法:靜態測試和動態測試。
靜態測試包括代碼檢查、靜態結構分析、代碼質量度量。不實際運行軟件,主要通過人工進行。
動態測試:是基本計算機的測試,主要包括白盒測試方法和黑盒測試方法。
白盒測試:在程序內部進行,主要用于完成軟件內部操作的驗證。主要方法有邏輯覆蓋、基本基路徑測試。
黑盒測試:主要診斷功能不對或遺漏、界面錯誤、數據結構或外部數據庫訪問錯誤、性能錯誤、初始化和終止條件錯,用于軟件確認。主要方法有等價類劃分法、邊界值分析法、錯誤推測法、因果圖等。
軟件測試過程一般按4個步驟進行:單元測試、集成測試、驗收測試(確認測試)和系統測試。
3.5 程序的調試
程序調試的任務是診斷和改正程序中的錯誤,主要在開發階段進行。
程序調試的基本步驟:
(1)錯誤定位;
(2)修改設計和代碼,以排除錯誤;
(3)進行回歸測試,防止引進新的錯誤。
軟件調試可分表靜態調試和動態調試。靜態調試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設計手段,而動態調試是輔助靜態調試。主要調試方法有:
(1)強行排錯法;
(2)回溯法;
(3)原因排除法。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |