Ⅰ 寫軟體工程項目需求分析的具體步驟與詳細說明。
項目企劃書
一、 系統主題
a) 引言
b) 背景/選題動機/目的
c) 市場調查過程和結論
結論:校園社團沒有深層次的進入廣大學生中,需要一個社團的展示平台
二、 需求分析
a) 概要
b) 使用場景
校園社團
c) 應用領域/實用性分析
d) 未來發展方向
三、 團隊組成和分工
項目組成員:
分工:
四、 系統功能概述
五、 系統設計概述
a) 實現系統所採用的技術方案和技術亮點
b) 系統構架
c) 功能模塊描述
六、 系統環境
體系結構
開發平台
開發工具
開發語言
Client運行環境
Server運行環境
Web服務
資料庫
七、 項目時間進度表
項目重要里程碑 預計完成日期
完成項目企劃書 2012/5/30
項目框架設計 2012/6/
項目功能實現
後期修改、完善
Ⅱ 軟體工程的需求分析必須寫的有什麼
項目背景
系統功能結構圖
用戶特性
功能需求,可以包括流程圖、原型圖、功能點需求分析
Ⅲ 軟體工程里,如何描述需求分析會議
1. 確定與會人員.
2. 確定需求業務背景.
3. 確定會議主題.
4.討論過程中, 做好會議記錄.
5. 整理需求文檔, 越細致越好.
Ⅳ 軟體工程里的一個需求文檔具體怎麼寫啊
老師一般會給範文的啊~當年我們老師就給了;照著範文的格式寫。
Ⅳ 軟體工程裡面需求描述是什麼內容
哈哈剛好我這里有一份,我直接發你郵箱吧!
Ⅵ 軟體需求說明怎麼寫
近來學校的一些科研項目又在申報了,一些學弟開始Q我一些軟體工程上書面的問題。大概的總結了下,寫到這里。本文涉及到的是需求分析部分的書寫,主要是根據國家標准文檔中的要求來的。
在互聯網公司或者一些敏捷開發的公司里,其實大家都是秉承著重開發,重討論,而輕文檔的態度。這個輕文檔並不是指沒有文檔或者幾乎不做文檔,而是在嚴格的文檔流程中解脫出來,只把最最實際的部分寫出來。這個特徵是有互聯網本身迭代周期短,版本發布快等特點決定的。而在實際的兼職項目的時候,同學們就要注意了,最重要的應該就是在簽合同的時候一定要附上最清楚的一份需求分析,雖然這份需求說明可能不是按照某些標准文檔而來的,描述清楚每個功能達到的效果,而這個效果一定要讓客戶點頭確認,而不能出現「應該是」、「可能是」、「也許是」這樣的模糊回答。否則在項目後期就會比較難過了。在學校申請的項目和大型公司項目開發中,是重視文檔流程的,一部一部來。所以還是看情況來對待文檔的深度和標准。
一、目錄:目錄要用word的「引用」—>」目錄」,自動生成目錄,一般都是要三級目錄。通常這部分基本都不需要改結構,直接更新頁碼即可。
二、內容部分。國家標准軟體需求說明書G856T-88下載
1引言
1.1編寫目的
說明編寫這份軟體需求說明書的目的,指出預期的讀者。
(這部分說明需求分析報告的概況,例如:本X需求分析報告是為S系統而編寫的。+S系統的兩句話概述。+本X報告旨在使U1(需求者)明確S系統的要求和細節,給U2(開發人員)了解需求實現的難度和困難,最終提供給U3(審核人、管理者)討論和審核,達到溝通效果)
1.2背景
說明:
a.待開發的軟體系統的名稱;
b.本項目的任務提出者、開發者、用戶及實現該軟體的計算中心或計算機網路;
c.該軟體系統同其他系統或其他機構的基本的相互來往關系。
(這部分可以將a,b,c分為2部分,例子如下:
1.2.1項目概況
本需求分析報告所預期開發的軟體系統是:S。S是(不是則無)SS系統的某一個功能子模塊,S和S1、S2等系統之間的聯系,以及概述其他系統的狀態等等。
1.2.2任務分配
a.任務提出者:xxx
b.軟體開發者:xx
c.產品使用者:xx
d.文檔編寫者:xx
e.預期產品使用者:xx
)
1.3定義
列出本文件中用到的專門術語的定義和外文首字母組詞的原片語。
(這部分很簡單,就是描述專業詞彙,比如
1. XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標准通用標記語言)。
2. Word2,解釋。。。
)
1.4參考資料
列出用得著的參考資料,如:
a.本項目的經核準的計劃任務書或合同、上級機關的批文;
b.屬於本項目的其他已發表的文件;
c.本文件中各處引用的文件、資料、包括所要用到的軟體開發標准。列出這些文件資料的標題、文件編號、發表日期和出版單位,說明能夠得到這些文件資料的來源。
2任務概述
2.1目標
敘述該項軟體開發的意圖、應用目標、作用范圍以及其他應向讀者說明的有關該軟體開發的背景材料。解釋被開發軟體與其他有關軟體之間的關系。如果本軟體產品是一項獨立的軟體,而且全部內容自含,則說明這一點。如果所定義的產品是一個更大的系統的一個組成部分,則應說明本產品與該系統中其他各組成部分之間的關系,為此可使用一張方框圖來說明該系統的組成和本產品同其他各部分的聯系和介面。|
(
本模塊開發主要是為SS的整體服務,完成SS工作中的XX部分以及相關的工作。其涉及的范圍就是,從下達A、B命令後,到給出C結果的過程。具體描述:B1,來完成B11功能;B2,來完成B22功能;等等。本部分是(否)耦合在分詞工具包其他部分中的,主要為嵌入方式和先後方式相互交互。
圖
圖1.該系統的組成同其他各部分的聯系和介面
)
2.2用戶的特點
列出本軟體的最終用戶的特點,充分說明操作人員、維護人員的教育水平和技術專長,以及本軟體的預期使甩頻度。這些是軟體設計工作的重要約束
(例如:二次開發和系統調用人員:具有很高的專業知識水平,理解XX的運行機制。可以對開放代碼進行閱讀和分析,以完成其系統獨特的需求,提供給這部分用戶開放API手冊和Debug版本的源代碼即可;預期這部分用戶會占本系統總用戶量的多大部分。
xx使用者:具有一定的計算機操作能力和知識,了解xx領域的相關概念和用途。提供給這部分用戶操作手冊即可。預期這部分使用者主要是來簡單的xx操作。
維護人員:具有較高的計算機專業水平,可以對常見的系統Bug進行追蹤和分析,具有一定的測試能力。這部分用戶主要是採用了本系統之後的後期工作維護者。
等等
)
2.3假定和約束
列出進行本軟體開發工作的假定和約束,例如經費限制、開發期限等。
(這部分重要是對你有的技術力量、資金狀況、人力資源等情況的假設,以使得你可以在什麼樣的情況和時間范圍內完成工作。工期約束,經費約束,人員約束,地理約束,設備約束等幾個方面列舉說明。)
3需求規定
3.1對功能的規定
用列表的方式(例如IPO表即輸入、處理、輸出表的形式),逐項定量和定性地敘述對軟體所提出的功能要求,說明輸入什麼量、經怎樣的處理、得到什麼輸出,說明軟體應支持的終端數和應支持的並行操作的用戶數。
(例如:
INPUT輸入
PROCESS處理
OUTPUT輸出
LOAD負載量
A
預處理,做怎樣的動作,
AA
CC
B
BBBB
Bb
v
C
CCCC
cc
v
表一、xx模塊IPO表
對IPO表的簡單文字描述。
)
3.2對性能的規定
3.2.1精度
說明對該軟體的輸入、輸出數據精度的要求,可能包括傳輸過程中的精度。
(例如:
Xx目標處理:1Byt–10M,包括左右邊界值。
yy精度范圍:….
ZZ的精度:由於xx的特殊性,本系統均採用xx型來進行字元統計運算,概率部分以及其他比率部分精度精確到0.0x%。
)
3.2.2時間特性要求
說明對於該軟體的時間特性要求,如對:
a.響應時間;
b.更新處理時間;
c.數據的轉換和傳送時間;
d.解題時間;等的要求。
(這部分只要一一列舉就可以:
由於xxx過程中,需要大量xxxx操作或怎樣,故xx解題時間占總時間的最大部分。其次就是xx轉換和存儲的開銷。其具體時間特性要求,如下:
a.xx響應時間:xxms左右;
b.yy更新處理時間:yy;
c.zz數據的轉換和傳送時間:zz;
d.vv解題時間:vv。
等等
)
3.2.3靈活性
說明對該軟體的靈活性的要求,即當需求發生某些變化時,該軟體對這些變化的適應能力,如:
a.操作方式上的變化;
b.運行環境的變化;
c.同其他軟體的介面的變化;
d.精度和有效時限的變化;
e.計劃的變化或改進。
對於為了提供這些靈活性而進行的專門設計的部分應該加以標明。
(這部分按列舉來即可,由於本模塊第一目的是用於xxx,其次則是xxxx。故本模塊的靈活性在於實際應用者的不同。當需求發生某些變化時,該軟體對這些變化的適應能力。具體情況如下:
f.操作方式上的變化:採用集成運行制和獨立運行制兩種模式,集成運行制是把本模塊嵌入到分詞工具包的主框架中,提供給用戶具有一定UI的可操作軟體;獨立運行制是可以獨立運行於後台,並提供給各種程序調用的模式的工作方式,以增強其生命力。
g.運行環境的變化:主採用Windows平台的編譯版本運行和調試,在時間允許的情況下,同步開發支持SUSE Linux的伺服器版本。;
h.同其他軟體的介面的變化:在盡量保證介面不出現變動的情況下,允許介面的重載和再定義。但介面的命名規則是統一的;
i.精度和有效時限的變化:精度在必須調整的條件下,可以上下浮動10個百分點;有效時限則依據現實的測試情況允許稍大范圍的變化。
j.計劃的變化或改進:工作時間安排會存在必然的浮動,這部分要協同分詞工具包課題設計組其他成員一同來進行商定,前期的計劃可以稍微有些變動,後期的安排盡量按照計劃執行。
等等
)
3.3輸人輸出要求
解釋各輸入輸出數據類型,並逐項說明其媒體、格式、數值范圍、精度等。對軟體的數據輸出及必須標明的控制輸出量進行解釋並舉例,包括對硬拷貝報告(正常結果輸出、狀態輸出及異常輸出)以及圖形或顯示報告的描述。
(這部分可以把輸入輸出分為3.3.1輸入要求和3.3.2輸出要求,如下給出一個單元的例子。
XXX輸出
數據名稱:XXX輸出數據
實際含義:用於XX,表示XXXX
數據類型:Character(字元串)
數據格式:XX
數據約束:由於xxx,,大小在xx以內
)
3.4數據管理能力要求
說明需要管理的文卷和記錄的個數、表和文卷的大小規模,要按可預見的增長對數據及其分量的存儲要求作出估算。
(
根據實際系統要求列舉即可
Name名稱
Number數量
Size大小
Increase增長
詞典xx
xx
xxxx
並行執行,其大小依據實際xx大文本而增長
)
3.5故障處理要求
列出可能的軟體、硬體故障以及對各項性能而言所產生的後果和對故障處理的要求。
(包括軟體壓力,內存不足,硬體損壞等,這部分可以根據網路到其常見故障。)
3.6其他專門要求
如用戶單位對安全保密的要求,對使用方便的要求,對可維護性、可補充性、易讀性、可靠性、運行環境可轉換性的特殊要求等。
(例如安全保密性:密鑰更換等;預期擴展:擴展兼容等;OS更換:Slackware轉SUSE等
)
4運行環境規定
4.1設備
列出運行該軟體所需要的硬設備。說明其中的新型設備及其專門功能,包括:
a.處理器型號及內存容量;
b.外存容量、聯機或離線、媒體及其存儲格式,設備的型號及數量;
c.輸入及輸出設備的型號和數量,聯機或離線;
d.數據通信設備的型號和數量;
e.功能鍵及其他專用硬體
(列舉說明即可)
4.2支持軟體
列出支持軟體,包括要用到的操作系統、編譯(或匯編)程序、測試支持軟體等。
(操作系統和版本:xxxx
支撐環境和版本:xxxx
備用IDE環境和版本:xxxx
與該軟體有關的軟體組件:xxxx
後續可能擴展環境:xxxx
)
4.3介面
說明該軟體同其他軟體之間的介面、數據通信協議等。
(例如:
a.用戶和主程序調用介面(圖中介面1)。這個介面採用封裝API形式和函數調用形式,分別以外部調用和內部調用的方式為不同用戶提供使用本機械分詞工具的入口。例如以xxxx方式調用DLL文件,以xxxx方式調用函數。如下圖2所示。
圖2.軟體介面調用圖
b.xx介面(圖中介面2)。這里是一個xxx的介面調用過程。xxxx
)
4.4控制
說明控制該軟體的運行的方法和控制信號,並說明這些控制信號的來源。
(例如:
下面通過圖表的形式,將本模塊以及涉及到本模塊的軟體模塊的運行方法、控制信號,以及這些控制信號的來源,其中箭頭所指方向對應的模塊的控制信號來自箭頭另一方向的模塊,具體情況如下:
圖3 .控制流程圖
圖3的具體說明情況如下表所示:
Name模塊名稱
Method運行方式
Signal控制信號
Forward控制去向
主程序模塊
運行框架
用戶調用或運行
1.調用xx模塊
2.調用xx方法
3.調用標准輸出模塊
xxx模塊
xxx
xxx調用
Xxx模塊
)
附錄:軟體設計文檔國家標准(GB8567–88)軟體設計文檔國家標准(GB8567–88)GB8567——88
操作手冊(GB8567——88).doc 資料庫設計說明書(GB8567——88).doc
測試分析報告(GB8567——88).doc 數據要求說明書(GB856T——88).doc
測試計劃(GB8567——88).doc 圖1.doc
概要設計說明書(GB8567——88).doc 文件給制實施規定的實例(GB8567-88).doc
開發進度月報(GB8567——88).doc 詳細設計說明書(GB8567——88).doc
可行性研究報告(GB8567——88).doc 項目開發計劃(GB856T——88).doc
模塊開發卷宗(GB8567——88).doc 項目開發總結報告(GB8567——88).doc
軟體需求說明書(GB856T——88).doc 用戶手冊(GB8567——88).doc
Ⅶ 軟體工程 進行需求分析有多種描述工具
需求分析有功能需求,性能需求,界面需求等。還需要根據不同的軟體工程需求背景,需求對象進行不同的需求分析。至於需求描述工具不知道你說的是什麼。
Ⅷ 軟體工程的需求分析該怎麼寫
非專業人士。答錯勿怪。
1 簡要介紹該項目相關的應用現狀及存在的問題
2 指出最需要解決的問題,以及解決方法。嗯,還有哪些人群最需要解決這些問題
3 闡述解決後能帶來的效益 希望能幫助你!!
Ⅸ 軟體工程的軟體需求
軟體需求包括 3 個不同的層次――業務需求、用戶需求和功能需求。
除此之外,每個系統還有各種非功能需求。
業務需求(Business requirement)表示組織或客戶高層次的目標。業務需求通常來自項目投資人、購買產品的客戶、實際用戶的管理者、市場營銷部門或產品策劃部門。業務需求描述了組織為什麼要開發一個系統,即組織希望達到的目標。使用前景和范圍( vision and scope )文檔來記錄業務需求,這份文檔有時也被稱作項目輪廓圖或市場需求( project charter 或 market requirement )文檔。
用戶需求(user requirement)描述的是用戶的目標,或用戶要求系統必須能完成的任務。用例、場景描述和事件――響應表都是表達用戶需求的有效途徑。也就是說用戶需求描述了用戶能使用系統來做些什麼。
功能需求(functional requirement)規定開發人員必須在產品中實現的軟體功能,用戶利用這些功能來完成任務,滿足業務需求。功能需求有時也被稱作行為需求( behavioral requirement ),因為習慣上總是用「應該」對其進行描述:「系統應該發送電子郵件來通知用戶已接受其預定」。功能需求描述是開發人員需要實現什麼。
系統需求(system requirement)用於描述包含多個子系統的產品(即系統)的頂級需求。系統可以只包含軟體系統,也可以既包含軟體又包含硬體子系統。人也可以是系統的一部分,因此某些系統功能可能要由人來承擔。
業務規則包括企業方針、政府條例、工業標准、會計准則和計算方法等。業務規劃本身並非軟體需求,因為它們不屬於任何特定軟體系統的范圍。然而,業務規則常常會限制誰能夠執行某些特定用例,或者規定系統為符合相關規則必須實現某些特定功能。有時,功能中特定的質量屬性(通過功能實現)也源於業務規則。所以,對某些功能需求進行追溯時,會發現其來源正是一條特定的業務規則。
功能需求記錄在軟體需求規格說明( SRS )中。 SRS 完整地描述了軟體系統的預期特性。 SRS 我們一般把它當作文檔,其實, SRS 還可以是包含需求信息的資料庫或電子表格;或者是存儲在商業需求管理工具中的信息;而對於小型項目,甚至可能是一疊索引卡片。開發、測試、質量保證、項目管理和其他相關的項目功能都要用到 SRS 。
除了功能需求外, SRS 中還包含非功能需求,包括性能指標和對質量屬性的描述。
質量屬性(quality attribute)對產品的功能描述作了補充,它從不同方面描述了產品的各種特性。這些特性包括可用性、可移植性、完整性、效率和健壯性,它們對用戶或開發人員都很重要。其他的非功能需求包括系統與外部世界的外部界面,以及對設計與實現的約束。
約束(constraint)限制了開發人員設計和構建系統時的選擇范圍。
Ⅹ 在軟體工程中什麼是需求分析
一。 確定對系統的綜合要求
1. 功能需求
這方面的需求指定系統必須提供的服務。通過需求分析應該劃分出系統必須完成的所有功能。
2. 性能需求
性能需求指定系統必須滿足的定時約束或容量約束,通常包括速度(響應時間)、信息量速率、主存容量、磁碟容量、安全性等方面的需求。
3. 可靠性和可用性需求
可靠性需求定量地指定系統的可靠性。
可用性與可靠性密切相關,它量化了用戶可以使用系統的程度。
4. 出錯處理需求
這類需求說明系統對環境錯誤應該怎樣響應。例如,如果它接收到從另一個系統發來的違反協議格式的消息,應該做什麼?注意,上述這類錯誤並不是由該應用系統本身造成的。
5. 介面需求
介面需求描述應用系統與它的環境通信的格式。常見的介面需求有:用戶介面需求;硬體介面需求;軟體介面需求;通信介面需求。
6. 約束
設計約束或實現約束描述在設計或實現應用系統時應遵守的限制條件。在需求分析階段提出這類需求,並不是要取代設計(或實現)過程,只是說明用戶或環境強加給項目的限制條件。常見的約束有:精度;工具和語言約束;設計約束;應該使用的標准;應該使用的硬體平台。
7. 逆向需求
逆向需求說明軟體系統不應該做什麼。理論上有無限多個逆向需求,我們應該僅選取能澄清真實需求且可消除可能發生的誤解的那些逆向需求。
8. 將來可能提出的要求
應該明確地列出那些雖然不屬於當前系統開發范疇,但是據分析將來很可能會提出來的要求。
注意:舉例讓學生理解:這樣做的目的是,在設計過程中對系統將來可能的擴充和修改預做准備,以便一旦確實需要時能比較容易地進行這種擴充和修改。
二 。分析系統的數據要求
任何一個軟體系統本質上都是信息處理系統,系統必須處理的信息和系統應該產生的信息在很大程度上決定了系統的面貌,對軟體設計有深遠影響,因此,必須分析系統的數據要求,這是軟體需求分析的一個重要任務。
分析系統的數據要求通常採用建立數據模型的方法(舉例)。
三。 導出系統的邏輯模型
綜合上述兩項分析的結果可以導出系統的詳細的邏輯模型,通常用數據流圖、實體-聯系圖、狀態轉換圖、數據字典和主要的處理演算法描述這個邏輯模型。
四。 修正系統開發計劃
根據在分析過程中獲得的對系統的更深入更具體的了解,可以比較准確地估計系統的成本和進度,修正以前制定的開發計劃。