需求分析的任務

1 確定對系統的綜合要求
雖然功能需求是對軟件系統的一項基本需求,但卻并不是唯一的需求。通常對軟件系統有下述幾方面的綜合要求。


1.功能需求
這方面的需求指定系統必須提供的服務。通過需求分析應該劃分出系統必須完成的所有功能。

2.性能需求
性能需求指定系統必須滿足的定時約束或容量約束,通常包括速度(響應時間)、信息量速率、主存容量、磁盤容量、安全性等方面的需求。例如,“應力分析程序必須在一分鐘之內生成任何一個梁的應力報告。”就是一項性能需求。

3.可靠性和可用性需求
可靠性需求定量地指定系統的可靠性,例如,“機場雷達系統在一個月內不能出現2次以上故障。”
可用性與可靠性密切相關,它量化了用戶可以使用系統的程度。例如,“在任何時候主機或備份機上的機場雷達系統應該至少有一個是可用的,而且在一個月內在任何一臺計算機上該系統不可用的時間不能超過總時間的2%。”

4.出錯處理需求

? ? ? ?這類需求說明系統對環境錯誤應該怎樣響應。例如,如果它接收到從另一個系統發來的違反協議格式的消息,應該做什么?注意,上述這類錯誤并不是由該應用系統本身造成的。
? ? ? ?在某些情況下,“出錯處理”指的是當應用系統發現它自己犯下一個錯誤時所采取的行動。但是,應該有選擇地提出這類出錯處理需求。人們的目的是開發出正確的系統,而不是用無休止的出錯處理代碼掩蓋自己的錯誤。總之,對應用系統本身錯誤的檢測應該僅限于系統的關鍵部分,而且應該盡可能少。

5.接口需求
? ? ? ?接口需求描述應用系統與它的環境通信的格式。常見的接口需求有:用戶接口需求;硬件接口需求;軟件接口需求;通信接口需求。例如:
? ? ? ?“把商品從貨源地運送到目的地所需要的成本,應該一直顯示在“成本'正文框中。”
? ? ? ?“向運輸公司傳送*需運送的商品'信息的格式是exp<string>,其中<string>是從商品目錄中選取的字符串。”
? ? ? ?上述第一個例子是應用系統與用戶接口的一個需求,第二個例子指定了與其他應用系統通信的信息格式。兩者都是接口需求。

6.約束
? ? ? ?設計約束或實現約束描述在設計或實現應用系統時應遵守的限制條件。在需求分析階段提出這類需求,并不是要取代設計(或實現)過程,只是說明用戶或環境強加給項目的限制條件。常見的約束有:精度;工具和語言約束;設計約束;應該使用的標準;應該使用的硬件平臺。

7.逆向需求
? ? ? 逆向需求說明軟件截圖( A l t + A )該做什么。理論上有無限多個逆向需求,人們應該僅選取能澄清真實需求且可消除可能發生的誤解的那些逆向需求。例如,“應力分析程序無須分析橋梁倒塌數據。”

8.將來可能提出的要求

應該明確地列出那些雖然不屬于當前系統開發范疇,但是據分析將來很可能會提出來的要求。這樣做的目的是,在設計過程中對系統將來可能的擴充和修改預做準備,以便一旦確實需要時能比較容易地進行這種擴充和修改。

2 分析系統的數據要求
? ? ? ?任何一個軟件系統本質上都是信息處理系統,系統必須處理的信息和系統應該產生的信息在很大程度上決定了系統的面貌,對軟件設計有深遠影響,因此,必須分析系統的數據要求,這是軟件需求分析的一個重要任務。分析系統的數據要求通常采用建立數據模型的方法。
? ? ? ?復雜的數據由許多基本的數據元素組成,數據結構表示數據元素之間的邏輯關系。利用數據字典可以全面準確地定義數據,但是數據字典的缺點是不夠形象直觀。為了提高可理解性,常常利用圖形工具輔助描繪數據結構。常用的圖形工具有層次方框圖和Warnier圖。
? ? ? ?軟件系統經常使用各種長期保存的信息,這些信息通常以一定方式組織并存儲在數據庫或文件中,為減少數據冗余,避免出現插入異常或刪除異常,簡化修改數據的過程,通常需要把數據結構規范化。

3 導出系統的邏輯模型
? ? ? ?綜合上述兩項分析的結果可以導出系統的詳細的邏輯模型,通常用數據流圖、實體-聯系圖、狀態轉換圖、數據字典和主要的處理算法描述這個邏輯模型。

4 修正系統開發計劃
? ? ? ?根據在分析過程中獲得的對系統的更深入更具體的了解,可以比較準確地估計系統的成本和進度,修正以前制定的開發計劃。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15334.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15334.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15334.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MacBook 怎么玩Windows游戲 蘋果筆記本怎么玩游戲?mac上如何玩windows游戲

傳統上,Mac 不被認為是好的游戲機。然而,蘋果已經開始在 Mac 上的游戲上投入更多精力,特別是自從轉向蘋果芯片以來。這使得 Mac 游戲的本機移植數量和模擬 Windows 游戲的能力都得到了顯著提高。 方法一:Boot Camp 1、Boot Camp是…

SpirngMVC框架學習筆記(一):SpringMVC基本介紹

1 SpringMVC 特點&概述 SpringMVC 從易用性,效率上 比曾經流行的 Struts2 更好 SpringMVC 是 WEB 層框架,接管了 Web 層組件, 比如控制器, 視圖, 視圖解析, 返回給用戶的數據格式, 同時支持 MVC 的開發模式/開發架構SpringMVC 通過注解,…

Java數據結構和算法(B樹)

前言 B樹又叫平衡的多路搜索樹;平衡的意思是又滿足平衡二叉樹的一些性質,左樹大于右樹; 多路意思是,可以多個結點,不再是像二叉樹只有兩個結點; 實現原理 B樹是一種自平衡的搜索樹,通常用于實…

MySQL和MongoDB數據庫的區別

MySQL和MongoDB數據庫的區別 隨著大數據和云計算技術的興起,數據庫的選擇成為開發者和架構師必須面對的重要決策。MySQL和MongoDB作為關系型數據庫和非關系型數據庫的代表,在各自領域都有著廣泛的應用。本文將從多方面詳細比較MySQL和MongoDB&#xff0…

MATLAB:插值函數之interp與griddata

MATLAB 提供了多種插值函數來處理不同維度的數據。其中,interp1、interp2 和 griddata 是常用的插值函數,分別用于一維、二維和多維(不規則)數據的插值。 之前有對interp1進行過詳細介紹,如需詳細了解,請查…

會聲會影調速怎么用 會聲會影如何調整音頻速度

會聲會影是一款功能強大的視頻編輯軟件,可以幫助我們輕松的實現剪輯。 會聲會影的操作簡單易懂,界面簡潔明快。適合家庭使用, 我們使用會聲會影可以在家就能將視頻剪輯成好萊塢大片。但是在使用的過程中,仍然會遇到一些操作上的問…

洛谷 P3803 【模板】多項式乘法(FFT)

【模板】多項式乘法(FFT) 題目背景 這是一道多項式乘法模板題。 注意:本題并不屬于中國計算機學會劃定的提高組知識點考察范圍。 題目描述 給定一個 n n n 次多項式 F ( x ) F(x) F(x),和一個 m m m 次多項式 G ( x ) G(…

C語言--指針數組和數組指針的區別

指針數組 就是一個數組,由指針構成的數組,每一個元素都是指針,每個指針可以指向不同的內存地址,這些地址可以是數組、變量。 int var1 10; int var2 20; int var3 30;int *ptrArray[3]; // 定義一個指針數組,包含…

2024年上半年軟件系統架構師論文【回憶版】

文章目錄 考試時間考試地點案例分析1、微服務架構的優點和缺點2、質量屬性的6個元素3、分布式鎖 Redis的缺點4、MongoDB 存儲矢量圖的優勢 論文回憶版論文一、論單元測試的設計與應用論文二、論大數據模型的設計與應用論文三、論模型驅動的架構設計及應用論文四、論云原生運維的…

Mybatis-Plus-Join

1. 簡介 官網 https://mybatisplusjoin.com/ 2. 基本用法 步驟&#xff1a; 添加依賴 <!--mybatis-plus-join--> <dependency><groupId>com.github.yulichang</groupId><artifactId>mybatis-plus-join-boot-starter</artifactId><ve…

探索LangGraph:如何創建一個既智能又可控的航空客服AI

這種設計既保持了用戶控制權&#xff0c;又確保了對話流程的順暢。但隨著工具數量的增加&#xff0c;單一的圖結構可能會變得過于復雜。我們將在下一節中解決這個問題。 第三部分的圖將類似于下面的示意圖&#xff1a; 狀態定義 首先&#xff0c;定義圖的狀態。我們的狀態和L…

homography原理和圖像相似度計算

1. homography 講homography原理 講homography應用 2. 圖像相似度計算 20230621-計算兩幅圖像的相似度 20221205-有史以來最全的圖像相似度算法 20231112-圖像相似度對比方法

C++:List的使用和模擬實現

???學習的道路很枯燥&#xff0c;希望我們能并肩走下來! 文章目錄 目錄 文章目錄 前言 一 list的介紹及使用 1.1 list的介紹 1.2 list的使用 1.2.1 list的構造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers …

golang+redis的延時隊列

網址 https://github.com/cfanbo/delay-queue-redis 代碼結構很簡單&#xff0c;簡單代表著自由度很高&#xff0c;使用過程中出現問題也很好修改。 我很喜歡這樣的代碼&#xff0c;至少我看的懂&#xff0c;該有的都有。 //package main // //import ( // "context&q…

leetcode209_長度最小的子數組

要求某個連續的區間內的元素值總和>S . 思路&#xff1a;滑動窗口&#xff1a;本質上是一種雙指針法。 &#xff08;1&#xff09;初始化left right 0&#xff1b; &#xff08;2&#xff09;left不動&#xff0c;right移動&#xff0c;擴大窗口&#xff0c;直至符合要…

selinux的安全策略可以影響ntp的方式

SELinux 是一個靈活而強大的模塊化安全策略框架&#xff0c;它允許管理員定義和執行非常具體的訪問控制策略。這些策略可以限制程序和進程對系統資源的訪問&#xff0c;包括文件、網絡端口、進程間通信等。 對于NTP&#xff0c;SELinux 策略可以影響以下幾個方面&#xff1a; …

網絡空間安全數學基礎·整除與同余

主要內容&#xff1a; 整除的基本概念&#xff08;掌握&#xff09; 素數&#xff08;掌握&#xff09; 同余的概念&#xff08;掌握&#xff09; 1.1整除 定義&#xff1a;設a&#xff0c;b是任意兩個整數&#xff0c;其中b≠0&#xff0c;如果存在一個整數q&#xff0c;使 …

12306技術內幕

公司內部做的一次技術分享 文章目錄 12306的成就12306系統特點12306系統難點解決思路產品角度技術角度余票庫存的表如何設計&#xff1f; 搶票軟件推薦巨人的肩膀 對于未公開的技術部分&#xff0c;只能結合已公開的信息&#xff0c;去做大膽的猜想。 本文提到的一些解決方案&…

SpringBoot + Mybatis-Plus中樂觀鎖實現

悲觀鎖 悲觀鎖是一種悲觀思想&#xff0c;它認為數據很可能會被別人所修改 所以總會對數據進行上鎖&#xff0c;讀操作和寫操作都會上鎖&#xff0c;性能較低&#xff0c;使用較少&#xff01; 樂觀鎖 樂觀鎖是一種樂觀思想&#xff0c;它認為數據并不一定會被別人所修改 所以…