首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
4.軟件需求說明
軟件需求規格說明書包括的主要內容如下。
(1)概述
(2)數據描述①數據流圖②數據字典③系統接口說明④內部接口說明
(3)功能描述①功能②處理說明③設計的限制
(4)性能描述①性能指標②測試種類③預期的軟件響應性能④其它
(5)參考文獻目錄
(6)附錄其中概述是從系統的角度描述軟件的目標和任務。軟件需求文檔的生成方法有以下兩種。
(1)計算機輔助生成:由于需求文檔的規模較大,并且需要經常查詢、維護,所以使用計算機輔助的軟件需求分析工具,來實現軟件需求文檔的自動生成,是非常有意義的。1977年最先推出了需求陳述語言RSL(RSL中的語句是計算機可以處理的)。同年美國密執安大學開發了PSL/PSA(問題陳述語言/問題陳述分析程序)系統。它是信息系統開發自動化支持環境1SDOS的一個組成部分。其中PSL是用來描述系統的形式語言,它可以對系統需求的一致性進行檢查,并可根據開發者的需要,隨時生成需求文檔。
(2)手工與半手工方式:這種方法難以保證文檔質量。半手工方式是利用正文編輯程序及其他實用程序輔助手工方式來生成文檔,這類方法難以保證文檔的正確性、一致性和完整性。
(四) 軟件設計
在明確了用戶的需求以后,下一步的任務就是對未來的軟件系統進行設計。軟件設計通常可分為概要設計和詳細設計。概要設計的任務是確定軟件系統的結構,進行模塊劃分,確定每個模塊的功能、接口以及模塊間的調用關系。詳細設計的任務是為每個模塊設計實現的細節。此外,在概要設計階段還應對全局數據結構進行設計,詳細設計階段還應對局部數據結構進行設計。有的設計方法不區分概要設計和詳細設計,統稱為軟件設計。人們在開發過程中,總結出許多軟件設計的概念和原則,這些概念和原則對提高軟件的設計質量有很大的幫助。
1.抽象
抽象是指忽視一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象是認識復雜問題的過程中人類使用的最有力的思維工具,它抽取出事物的本質特性而暫時不考慮它的細節。軟件工程中從軟件定義到軟件開發要經歷多個階段,在這個過程中每前進一步都可看作是對軟件解法的抽象層次的一次細化。抽象的最低層次就是實現該軟件的源程序代碼。在進行模塊化設計時可以有多個抽象層次,最高抽象層次的模塊用概括的方式敘述問題的解法,較低抽象層次的模塊是對較高的抽象層次模塊對問題解決描述的細化。過程抽象和數據抽象是常用的兩種主要抽象手段。過程抽象是指任何一個完成明確功能的操作都可被使用者當作單個的實體看待,盡管這個操作實際上可能由一系列更低級的操作來完成。過程抽象常常也稱為功能/子功能抽象。例如函數、子程序。數據抽象定義了數據類型和施加于該類型的操作,并限定了對象值的范圍,只能通過使用這些操作修改和觀察這些數據。例如抽象數據類型。
2.模塊化
模塊化是指將一個待開發的軟件分解成若干個小的簡單的部分———模塊,每個模塊可獨立地開發、測試,最后組裝成完整的程序。這是一種復雜問題的“分而治之”的原則,模塊化的目的是使程序的結構清晰,容易閱讀,容易理解,容易測試,容易修改。模塊是指執行某一特定任務(也可以是實現某一特定的抽象數據類型)的數據結構和程序代碼。一個模塊有它的外部特征和內部特征。外部特征包括模塊的接口(即它的輸入/輸出參數,引用的全局變量和它需調用的其他模塊)和模塊的功能,內部特征包括模塊的局部數據和實現該模塊的程序代碼。調用一個模塊只需知道它的外部特征,而不必了解其內部特征。
3.信息隱蔽
信息隱蔽是開發整體程序結構時使用的法則,即將每個程序的成分隱蔽或封裝在一個單一的設計模塊中,定義每一個模塊時盡可能少地顯露其內部的處理。在設計時首先列出一些可能發生變化的因素,在劃分模塊時將一個可能發生變化的因素隱蔽在某個模塊的內部,使其他模塊與這個因素無關。在這個因素發生變化時,我們只需修改含有這個因素的模塊,而與其他模塊無關。隱蔽的對象可以有:什么的決策,可能修改的決策,數據結構的內部連接以及對它所做的操作細節,內部特征碼,與計算機硬件有關的細節等。信息隱蔽原則對提高軟件的可修改性、可測試性和可移植性都有重要的作用。
4.模塊獨立
模塊獨立是指每個模塊完成一個相對獨立的特定子功能,并且與其他模塊之間的聯系簡單。衡量模塊獨立程序的度量標準有兩個:耦合和內聚。耦合是指模塊之間聯系的緊密程度。耦合度越高則模塊的獨立性越差。內聚是指模塊內部各元素之間聯系的緊密程度。例如一個完成多個功能的模塊的內聚度就比完成單一功能的模塊的內聚度低。內聚度越低模塊的獨立性越差。因此,模塊獨立就是希望每個模塊都是高內聚低耦合的。
(1)耦合
兩個模塊之間的耦合方式通常有如下7種,下面按它們的耦合度從低到高的次序依次作介紹。
① 非直接耦合:非直接耦合是指兩個模塊沒有直接的聯系,它們中的任一個都能不依賴于對方而獨立地工作。
② 數據耦合:數據耦合是指兩個模塊借助于參數表傳遞簡單數據。
③ 標記耦合(stamp coupling):當一個數據結構的一部分(如記錄的一部分)借助于模塊接口被傳遞時就發生標記耦合。
④ 控制耦合:控制耦合指兩個模塊間傳遞的信息中包含用于控制模塊內部邏輯的控制信息。
⑤ 外部耦合:當模塊與軟件以外的環境有關時就發生外部耦合。例如,輸入/輸出把一個模塊與特定的設備、格式、通信協議耦合在一起。
⑥ 公共耦合:多個模塊引用一全局數據區的模式稱為公共耦合。例如FORTRAN語言中的COMMON語句,C語言中的external數據類型,一個磁盤文件等都是全局數據區。
希望與更多計算機等級考試的網友交流,請進入計算機等級考試論壇
更多信息請訪問:考試吧計算機等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |