導航:首頁 > 研究方法 > 軟體架構與需求分析方法

軟體架構與需求分析方法

發布時間:2022-12-08 08:42:52

A. 軟體工程 需求分析有哪三種方法

軟體工程中包含需求、設計、編碼和測試四個階段,其中需求工程是軟體工程第一個也是很重要的一個階段,需求分析是要決定「做什麼,不做什麼」。 在一個軟體項目中,軟體需求包括三個不同的層次-業務需求、用戶需求和功能需求-也包括非功能需求:業務需說明了提供給客戶和產品開發商的新系統的最初利益,反映了組織機構或客戶對系統、產品高層次的目標要求。 軟體開發,能否獲得成功,最重要的是需求分析的工作。因此,軟體需求分析能力和水平,對軟體項目至關重要。 一般的分析方法和步驟如下: ⑴首先調查組織機構情況 包括了解該組織的部門組成情況,各部門的職能等,為分析信息流程作準備。 ⑵然後調查各部門的業務活動情況 包括了解各個部門輸入和使用什麼數據,如何加工處理這些數據,輸出什麼信息,輸出到什麼部門,輸出結果的格式是什麼。 ⑶協助用戶明確對新系統的各種要求 包括信息要求、處理要求、完全性與完整性要求。 ⑷確定新系統的邊界 確定哪些功能由計算機完成或將來准備讓計算機完成,哪些活動由人工完成。由計算機完成的功能就是新系統應該實現的功能。 常用的調查方法有: ⑴跟班作業 通過親身參加業務工作來了解業務活動的情況。這種方法可以比較准確地理解用戶的需求,但比較耗費時間。 ⑵開調查會 通過與用戶座談來了解業務活動情況及用戶需求。座談時,參加者之間可以相互啟發。 ⑶請專人介紹。 ⑷詢問 對某些調查中的問題,可以找專人詢問。 ⑸設計調查表請用戶填寫 如果調查表設計得合理,這種方法是很有效,也很易於為用戶接受的。 ⑹查閱記錄 即查閱與原系統有關的數據記錄,包括原始單據、賬簿、報表等。 通過調查了解了用戶需求後,還需要進一步分析和表達用戶的需求。分析和表達用戶需求的方法主要包括自頂向下和自底向上兩類方法。

B. 需求分析方法主要包括哪些

結構化的分析方法是傳統的分析法,它的好處是在需求階段可以不需要精確地定義系統,只需要根據業務框架確定系統的功能范圍,以及每個功能的處理邏輯和業務規則,功能需求規格書等。因為不需要精確描述,因此描述系統的方式比較靈活多樣,可以採用圖表、示例圖、文字等等方式來描述系統。在系統開發以前,一般還可以採用更為直觀的原型系統方式和最終用戶進行交流和確認,因此對業務需求的要求會低一些,業務需求階段的周期相對容易控制;通過業務全景圖,最終用戶也能了解系統的功能;通過功能活動圖和業務規則的描述,也可以相對精確地描述業務系統;因為沒有嚴格的標記語言,可以採用適當的篇幅描述適當的系統。當然,這種方法的缺點也是明顯的,分析人員和業務人員之間可能缺乏共同語言,機器不能識別業務需求書,在設計階段還需要繼續和用戶確認一部分功能。

面向對象的分析方法的最大好處是在需求階段,就能夠非常精確地描述一個系統,採用程序語言的方式和最終用戶交流(最終用戶必須要熟悉這種語言),能夠在項目一開始就發現很多問題,避免在開發的過程中出現需求的反復,而且在系統設計和開發階段不需要最終用戶參與。在實施上,一般可以採用場景、業務功能等方式來描述,比較適合於業務流程環節多的系統,或者軟體產品的開發。但是,我們也要看到,在現實中,絕大多數的應用系統都很難在需求階段就可以被精確地抽象化定義,所以這種方法的缺點和困難也是顯而易見的:首先,用戶要非常清楚地知道最終的業務系統應該是什麼樣,或者採用一種抽象的方式能夠確定最終的應用系統;其次,因為最終用戶不需要參與設計和開發階段的工作,所以雙方確定業務需求的過程也會比較長;同時,因為是精確描述,因此描述系統的語言是非常邏輯化的,一般通過某種方式可以使機器識別業務需求,採用這種方式寫的業務需求是非常格式化的,一方面描述一個系統需要的信息非常多,可能使需求說明的篇幅非常長,不便於理解和閱讀;另外由於通過抽象的方式來推演最終系統的運行方式,對業務人員的要求非常高。

C. 如何進行軟體架構設計

軟體架構設計的幾個步驟 1、分析需求和理解業務模型(或領域建模),並選定關鍵Use case。 軟體的需求,可以分為從用戶視角和開發人員視角來看,從用戶的角度看,又可以分為功能性和非功能性需求,我們必須從不同的視角和級別去全面的認識需求並分析需求,理解業務模型。實踐表明,常常被我們忽視的非功能性需求常常會導致整個項目失敗。 理解業務需求最好的方式莫過於進行領域建模,領域建模與需求分析往往是交替穿叉進行的,領域建模主要有以下三個方面的作用: ◆探索復雜問題,弄清領域知識。Martin Fowler曾經說過,他採用面向對象方法最大的好處就是它有助於解決更為復雜的問題。領域建模本身作為輔助思維的工具,幫助我們將注意力始終保持在最為重要的業務概念及其關繫上,使我們能夠不斷深入地,系統的對需求進行分析和認識。領域建模往往是一個從模糊到清晰,從零散到系統的過程。 ◆決定功能范圍,影響可擴展性。任何模型都是對現實世界某種程序的抽象,這種抽象就會忽略某一些東西,例如忽略對象的屬性和對象間的關系,而這些忽略往往都是帶有一定的目的性的,這種忽略就決定了功能的范圍。模型揭示了各種功能背後的結構,如果說定義功能相當於「拍照片」的話,那麼領域建模就相當於「做透視」,更加關注問題領域的內在結構,相當於對問題領域進行了一定的抽象,良好的領域模型不僅能很好的支持現有的功能,而且還可以在一定程度上支持未來可能出現的新需求,體現良好的可擴展性。 ◆提供交流基礎,促進有效溝通。領域建模通常會使用UML圖作為呈現的方式,這樣為我們的溝通提供了方便。當然,有時候文字在描述某些特定領域的問題時可能更適合,可以靈活運用。 在我們公司的實際軟體開發流程中,往往領域建模缺少這一環節,這可能是在以後的工作中需要進一步提高之處。 雖然我們總是期望架構設計師能全面掌握需求,但由於時間和精力的限制,擺在我們面前的現實就是架構設計師沒有時間對所有需求進行深入分析,所以我們的策略就是「把好鋼用在刀刃上」,即把大部分時間和精力花在對決定架構最重要的關鍵需求上。在選擇關鍵需求時要注意:高優先順序的需求往往是從用戶的角度來看的,可能並不是真正的關鍵需求。在《RUP實踐者指南》一書中向我們講述了如何確定關鍵功能需求?A.作為應用程序的核心或實現了系統的主要介面的功能,B.必須被實現的功能,即如果這些功能不被實現,則開發出來的軟體就失去了價值,C.覆蓋了系統架構的一些方面,但沒有被其他重要的Use case覆蓋到的功能。 2、分別從各個視角來考慮軟體架構的方方面面。 軟體的架構設計必須考慮到各方面,根據前期工作確立的領域模型,關鍵需求,系統約束等進行設計,必須從系統用戶,開發人員,系統管理員,部署管理員,數據管理員等人員的角度去分析並解決問題。比如說,如果我們的運行架構採用Cluster方式時,就必須小心Cache和Session等的使用;如果我們的業務邏輯要求我們要操作多個資料庫時,就要考慮採用支持二階段事務提交的方式。 只有將這些方方面面的問題都考慮到了,這樣的架構設計才是完整的。至於每一個視圖中,我們應該設計到什麼細節這一問題,實際上與整個項目的過程定義有關。例如,如果我們有專門安排資料庫概要設計的活動,那我們在架構設計的過程中就可以只需要關注更高層次的資料庫特性及資料庫之間的關系,而每一張表的數據字典可以在後續的相關活動中進行設計,但如果沒有這樣的活動,那我們就要細化到每一張表的每一個欄位,以及表之間的關系。 3、解決技術面的重點問題和難題 在軟體架構設計的過程中,我們往往會需要攻克一些技術面的重點問題和難題,這完全是一項極其需要扎實的理論知識和豐富的實踐經驗支撐的工作。例如,我們如何提高整個系統的性能?如何能很好的導出極其復雜的「中國式報表」(一般比西方國家產出的報表要復雜很多,而且很多開源的BI類的框架並不能完全解決問題)? 當遇到確實是很困難的問題,可以去網路一下或Google一下,也可以去請教公司的資深技術人員或專家,或者召開小范圍的技術專題討論會議,採用腦力激盪的方法試著找找答案,這樣才能提高工作的效率。 4、召開架構設計評審會議進行同行評審。 架構設計評審是極其重要的一環,我曾將其形容為「七種武器」中的離別鉤,就是因為在會議上,同行們可能會提很多問題或意見,而且很多意見很尖銳,所以一定要虛心接受,並做好記錄,正所謂「良葯苦口利於病,忠言逆耳利於行」。 在評審會議之前,我們要完成很多准備工作,最好是能准備一份簡明扼要的電子簡報,把最重要的問題列出來,這樣在進行評審會議時,就不會漫無目的,在會議前就將這些資料發給與會人員,請他們抽空先了解一下,在會議進行時,要學會控制會議的進度,提高會議的效率。 5、針對關鍵Use case在設計的架構上實現功能來驗證架構。 對於架構設計的驗證也是一項十分重要的工作,其驗證技術有很多種,在我們公司通常會採用Sample的形式,即XP中所說的迭代0,RUP中所說的切片。這樣做的好處是既可以從實際的產品角度出發來有效的驗證架構是否滿足要求,又可以比拋棄型原型驗證技術節省成本。 這個Sample絕不是我們在解決架構設計中的問題時拿來做實驗的一些代碼的拼湊,而是完整的實現某一關鍵Use case的符合架構設計和一系列規范的可交付的代碼及相關文檔。同時,這個Sample可以作為你在給大家講解或培訓架構時的教材,也可以作為開發人員使用此架構進行開發的藍本,甚至是只需要復制粘貼,加上簡單的修改即可。 6、交付給客戶Review。 這一環節,在很多公司可能並不存在,因為他們的軟體架構並不一定需要客戶Review,但像我們這種做服務的公司,最重要的就是客尊,落實到軟體架構設計這一活動,就是讓客戶理解並接受你的架構設計方案,同時,客戶也會起到幫你驗證架構的作用。通常,我們的架構得到客戶的認可後,便可進入大規模的開發。 在交付給客戶Review時,通常

D. 軟體需求分析4個步驟

一、需求分析理論

軟體需求涉及功能性問題非常廣,我們用抽象化理論分析,可以劃分各個功能域,用不同的數字代替,軟體——S,功能域——A1、A2……An

S={A1、A2、……An}

但是功能域B又存在若干問題P1、P2……Pm組成,並且每個功能對應於子系統中的一個軟構件,可以表示為-B={P1、P2、……Pm}

功能G有若干個行為F1、F2、……Fj,每個行為對應於軟體構件中的實現方法

G={F1、F2……Fj}

一個軟體包含了所有功能的集合,同時包含了實現所以功能的所有方法和演算法描述。需求分析是依據用戶動機,經過需求問題識別,進行分析、消除分馳和綜合,編寫用戶故事,評審;形成用戶需求與設計同步,設計滿足用戶需求目標。

需求開發方法貫穿這個產品生命周期,利用不同的開發方法論進行挖掘需求,幫助用戶找到問題,梳理問題,判斷產品實現功能的正確性、一致性和完整性,促使用戶在軟體設計啟動之前進行周密的、全面的思考軟體產品功能,用商業化行為解決需求與現實中存在的矛盾,解決用戶需求與商業化產品功能融合,解決規范和個性化需求。
二、軟體需求開發的目標

1、對實現的軟體做一個全面的描述,幫助用戶找到問題矛盾解決用戶場景痛點,幫助用戶在進行產品規劃時做到周密,全面產品定位需求

2、了解和描述軟體實現所需的全部信息,為產品設計、確認和驗證提供一個基準

3、為軟體產品管理人員進行軟體產品成本評估和編輯軟體開發計劃書提供保障

需求開發-軟體功能需求、軟硬介面、非功能性需求、設計約束、反向需求、閱讀支持信息。

軟體需求分析盡量提供軟體實現功能需求的全部信息,使軟體設計人員和測試人員不在需要和需求方進行接觸,保證需求分析的一致性和完整性。

三、軟體功能需求

描述軟體功能實現注意——

1、功能需求的完整性和一致性

2、功能描述的無異議和可追蹤

3、功能描述清洗和功能可測試

四、軟硬介面

1、人機介面

2、硬體介面

3、軟體介面

4、通訊介面
五、非功能性需求

1、運行環境

2、時間需求

3、處理容限、精度、異常處理機制等

4、可靠性要求、可維護性、安全性

E. 軟體需求分析有哪些方法

軟體需求分析免費下載

鏈接:https://pan..com/s/1qNBwqvbRS5ziBSIeanLQAQ

提取碼:qoyw

需求分析也稱為軟體需求分析、系統需求分析或需求分析工程等,是開發人員經過深入細致的調研和分析,准確理解用戶和項目的功能、性能、可靠性等具體要求,將用戶非形式的需求表述轉化為完整的需求定義,從而確定系統必須做什麼的過程。

F. 需求分析有哪三種方法2,什麼是面向數據結構方法

它首先用結構化分析(SA)對軟體進行需求分析,然後用結構化設計(SD)方法進行總體設計,最後是結構化編程(SP)。它給出了兩類典型的軟體結構(變換型和事務型)使軟體開發的成功率大大提高。

三種基本的結構形式就是順序、選擇和重復。三種數據結構可以進行組合,形成復雜的結構體系。這一方法從目標系統的輸入、輸出數據結構入手,導出程序框架結構,再補充其它細節,就可得到完整的程序結構圖。這一方法對輸入、輸出數據結構明確的中小型系統特別有效,如商業應用中的文件表格處理。該方法也可與其它方法結合,用於模塊的詳細設計。

閱讀全文

與軟體架構與需求分析方法相關的資料

熱點內容
中式棉襖製作方法圖片 瀏覽:63
五菱p1171故障碼解決方法 瀏覽:858
男士修護膏使用方法 瀏覽:546
電腦圖標修改方法 瀏覽:607
濕氣怎麼用科學的方法解釋 瀏覽:537
910除以26的簡便計算方法 瀏覽:805
吹東契奇最簡單的方法 瀏覽:704
對腎臟有好處的食用方法 瀏覽:98
電腦四線程內存設置方法 瀏覽:512
數字電路通常用哪三種方法分析 瀏覽:13
實訓課程的教學方法是什麼 瀏覽:525
苯甲醇乙醚鑒別方法 瀏覽:82
蘋果手機微信視頻聲音小解決方法 瀏覽:700
控制箱的連接方法 瀏覽:75
用什麼簡單的方法可以去痘 瀏覽:789
快速去除甲醛的小方法你知道幾個 瀏覽:803
自行車架尺寸測量方法 瀏覽:124
石磨子的製作方法視頻 瀏覽:152
行善修心的正確方法 瀏覽:403
土豆燉雞湯的正確方法和步驟 瀏覽:276