九九热这里直有精品,1区二区三区在线播放,玖玖爱在线观看资源,国产aⅴ综合网,午夜福利男女,日本亚洲欧美三级,日韩无码黄色导航,内射少妇13区,中文字幕高清网

您身邊的軟件定制專業(yè)公司--10年開發(fā)經(jīng)驗為您護航

18678812288
0531-88887250

怎么編寫好的“軟件需求說明書”

文章作者:濟南軟件開發(fā) 時間:2016年12月21日

你的工程應該有個好的起點。一個小組要帶領客戶進入需求啟發(fā)階段而且你要寫軟件需求說明書。這份說明有些大,但客戶會很重視,所以說明必須得到贊同。 
  許多軟件需求說明書寫得非常糟糕。任何產(chǎn)品的質(zhì)量需要其原始材料的質(zhì)量保證,糟糕的軟件需求說明書不可能產(chǎn)出優(yōu)秀的軟件。不幸的是,幾乎沒有開發(fā)人員受過與需求的抽象、分析、文檔、質(zhì)檢有關的教育。而且,沒有非常多的好需求可以借鑒學習,部分原因是很少有工程可以找到一個好的借鑒,其他原因是公司不愿意將其產(chǎn)品說明書放在公共區(qū)域。 
  不要期望能夠編寫出一份能體現(xiàn)需求應具備的所有特性的SRS。無論你怎么細化、分析、評論和優(yōu)化需求,都不可能達到完美。但是,如果你牢記這些特性,你就會編寫出更好的需求,生產(chǎn)出更好的產(chǎn)品。 
  正確:每個需求必須精確描述要交付的功能。正確性依據(jù)于需求的來源,如真實的客戶或高級別的系統(tǒng)需求說明書。一個軟件需求與其對應的系統(tǒng)需求說明書相抵觸是不正確的。 
  只有用戶的代表能夠決定用戶需求的正確性,這就是為什么在檢查需求時,要包括他們或他們的代理的關鍵所在。 
  可行性:在已知的能力、有限的系統(tǒng)及其環(huán)境中每個需求必須是可實現(xiàn)的。為了避免需求的不可行性,在需求分析階段應該有一個開發(fā)人員參與,在抽象階段應該有市場人員參與。這個開發(fā)人員應能檢查在技術上什么能做什么不能做,哪些需要需要額外的付出或者和其他的權衡。 
必要性:每個需求應載明什么是客戶確實需要的,什么要順應于外部的需求,接口或標準。每個需求源于你認可、具有權說明需求的原始資料,這是考慮必需的另外情形。跟蹤每個需求回溯到出處,如用例,系統(tǒng)需求,規(guī)章,或來自其他用戶的意見。如果你不能標識出處,可能需求只是個鍍金的例子,沒有真正的必須。 
優(yōu)先權:為了表明在一個詳細的產(chǎn)品版本中應包含哪些要點,需要為每個需求,特征,或用例分配實現(xiàn)的優(yōu)先權??蛻艋蚱浯矶紤袕娏业呢熑谓?yōu)先權。如果所有的需求都被視為同等重要,那么由于在開發(fā)中,預算削減,計劃超時或組員的離開導致新的需求時, 項目經(jīng)理將不能起到作用。優(yōu)先權的作用是提供給客戶的價值,實現(xiàn)的相關費用,實現(xiàn)相關聯(lián)的有關技術風險。 
用3種級別的優(yōu)先權:高優(yōu)先權表明需求必須體現(xiàn)在下一個產(chǎn)品版本中,中優(yōu)先權表明需求是必須的,但是如果需要可以推遲到晚一些的產(chǎn)品版本中,低優(yōu)先權表明有它很好,但我們必須認識到如果沒有充足的時間或資源,它可以被放棄掉。 
明確:需求敘述的讀者應只能從其得到唯一的解釋說明,同樣,一個需求的多個讀者也應達成共識。自然語言極易導致含糊。要避免使用一些對于SRS作者很清楚但對于讀者不清楚的主觀詞匯,如:用戶友好性,容易,簡單,快速,有效,幾個,藝術級,改善的,最大,最小等等。每寫一個需要都應簡潔,簡單,直觀的采用用戶熟知的語言,不要采用計算機術語。檢查需求模糊的有效方式包括需求說明書的正規(guī)檢查,根據(jù)需求寫測試,建立用戶的假想來說明產(chǎn)品某個特定部分預期的特性。 
可證實:看你是否能夠做出測試計劃或其他驗證方式,如檢查和實證,來決定在產(chǎn)品中每個需求是否正確的實現(xiàn)。如果需求是不可驗證的,決定需求是不是正確的實現(xiàn)就成了判斷的事。需求之間不一致,不可行,不明確也能導致不可證實。任何需求如果說產(chǎn)品將要支持什么也是不可證實的。 
一個完整的SRS不僅是包括長長的功能性需求列表,還包括外部接口描述和一些諸如質(zhì)量屬性,期望性能的非功能性需求。下面描述了高質(zhì)量的SRS的一些特性。 
完整:不應該遺漏要求和必需的信息。完整性也是一個需求應具備的。發(fā)現(xiàn)缺少的信息很難,因為根本不存在。在SRS中將需求以分層目錄方式組織,將幫助評審人員理解功能性描述的結構,使他們很容易指出遺失的東西。 
在需求抽象時,相對于系統(tǒng)功能,你過多的注意用戶的業(yè)務,將導致在需求的全局觀和引進不是真正必需的需求上顯得不足。在需求抽象上,應用用例方法會發(fā)揮很好的作用。能夠從不同角度察看需求的圖形分析模型也可以檢查出不完整性。 
如果你知道已缺少一些信息,使用TBD標準標志可以突出這些缺陷,當你在構建產(chǎn)品的相關部分時,就可以從一個給定的需求集中解決所有的缺陷。 
一致性:一致性需求就是不要于其他的軟件需求或高級別的系統(tǒng)需求發(fā)生沖突。需求中的不一致必須在開發(fā)開始前得到解決。只有經(jīng)過調(diào)研才能確定哪些是正確的。修改需求時一定要謹慎,如果只審定修改的部分,沒有審定于修改相關的部分,就可能導致不一致性。 
可修改性:當每個需求的要求修改了或維護其歷史更改時,你必須能夠?qū)彾⊿RS。也就是說每個需求必須相對于其他需求有其單獨的標示和分開的說明,便于清晰的查閱。通過良好的組織可以使需求易于修改,如:將相關的需求分組,建立目錄表,索引,以及前后參考。 
可追蹤:你應能將一個軟件與其原始材料相對應,如高級系統(tǒng)需求,用例,用戶的提議等。也能夠?qū)④浖枨笈c設計元素,源代碼,用于構造實現(xiàn)和驗證需求的測試相對應??勺粉櫟男枨髴摼哂歇毩耸?,細密和結構化的編寫,不應過大,不應是敘述性的文字和公告式的列表。 
這些有關需求質(zhì)量的特性的描述在理論上都是非常好的,但一個好的需求到底是個什么樣子的呢?為了體現(xiàn)得更切合實際,我們做個小練習。下面有幾個從實際的工程選出的需求,依據(jù)上面的質(zhì)量標準,評估每個需求,看看有什么問題,然后用更好的方式重寫。我將對每個例子都提出自己的分析和改進的建議。也歡迎你提出不同的見解。我所占優(yōu)的只是我知道每個需求的出處。因為你我都不是真正的客戶,我們只能猜測每個需求的意圖。 
編寫優(yōu)秀的需求是沒有公式化的方法的。這需要大量的經(jīng)驗,要從你在過去的文檔中發(fā)現(xiàn)的問題學習。請在組織軟件需求文檔時,嚴格遵從這些方針。 
句子和段落要短。采用主動語氣。使用正確的語法,拼寫,標點。使用術語,要保持一致性,并在術語表或數(shù)據(jù)字典中定義它們。
要看需求是否被有效的定義,可以以開發(fā)人員的觀點看看。你是否需要SRS的編寫者的額外解釋幫助開發(fā)人員很好的理解需求,以便于設計和實現(xiàn)?如果是的話,在繼續(xù)工作前,需求還需要細化。 
需求編寫者還要努力正確地把握細化程度。要避免包含多個需求的長的敘述段落。有幫助的提示是編寫獨立的可測試的需求。如果你認為一小部分測試可以驗證一個需求的正確,那么它已經(jīng)正確的細化了。如果你預想到多種不同類的測試,幾個需求可能已擠到了一起,需要拆分開。
密切關注多個需求合成了單個需求。一個需求中的連接詞“和”/“或”建議幾個需求合并。不要在一個需求中使用“和”/“或”。 
通篇文檔細節(jié)上要保持一致。我曾看見過多個需求說明書前后不一致。如:“對于紅色合法的顏色代碼應是R”及“對于綠色合法的顏色代碼應是G”就有可以以分散的需求分離開,而“產(chǎn)品應能對來自語音編輯指示做出反應”應作為一個子系統(tǒng),不應作為單個的功能性需求。 
避免在SRS中過多的申述需求。在多處包含相同的需求可以使文檔更易于閱讀,但也會給文檔的維護增加困難。文檔的多份文本要在同一時間內(nèi)全部更新,避免不一致性。 
如果你遵從了這些方針,你能夠盡早地經(jīng)常正式或非正式的審查需求,這些需求對于產(chǎn)品的構造,系統(tǒng)測試以及最后的客戶滿意,都會成為好的奠基石。

想要了解更多詳情歡迎來電咨詢18678812288
登陸網(wǎng)址:m.h6244.cn。
聯(lián)系人:王經(jīng)理。

辉县市| 广南县| 佛坪县| 明溪县| 乐业县| 万宁市| 绥中县| 罗山县| 射洪县| 庄河市| 大理市| 深水埗区| 云浮市| 万全县| 揭东县| 筠连县| 田阳县| 崇阳县| 马山县| 德昌县| 招远市| 凤凰县| 石狮市| 布尔津县| 普兰县| 临朐县| 湘西| 大英县| 山阴县| 靖边县| 图们市| 昭苏县| 义马市| 康马县| 五台县| 外汇| 常山县| 手机| 独山县| 浦城县| 临漳县|