① 簡述結構化分析方法的基本手段和基本策略
使用的手段主要有數據流圖、數據字典、結構化語言、判定表以及判定樹等。
② 結構化法屬於
結構化方法又被稱作結構化分析方法。結構化方法是一種傳統的軟體開發方法,它是由結構化分析、結構化設計和結構化程序設計三部分有機組合而成的。結構化方法通常與結構化分析方法銜接起來使用,以數據流圖為基礎得到軟體的模塊結構,尤其適用於變換型結構和事務型結構的目標系統。
③ 如何理解結構化分析SA的基本思想
其基本思想是將系統開發看成工程項目,有計劃、有步驟地進行工作,是一種應用很廣的開發方法,適應於分析大型信息系統。結構化分析方法採用「自頂向下,逐層分解」的開發策略。按照這種策略,再復雜的系統也可以有條不紊地進行,只要將復雜的系統適當分層,每層的復雜程序即可降低,這就是結構化分析研究的特點。
④ 結構化分析方法
結構化分析方法(Structured Method,結構化方法)是一種軟體開發方法,一般利用圖形表達用戶需求,強調開發方法的結構合理性以及所開發軟體的結構合理性。
主要用於分析需求,形成需求規約結構化分析方法是以自頂向下,逐步求精為基點,以一系列經過實踐的考驗被認為是正確的原理和技術為支撐,以數據流圖,數據字典,結構化語言,判定表,判定樹等圖形表達為主要手段,強調開發方法的結構合理性和系統的結構合理性的軟體分析方法。
其基本思想主要是把一個復雜問題的求解過程分階段進行,而且這種分解是自頂向下,逐層分解,使得每個階段處理的問題都控制在人們容易理解和處理的范圍內。而它的基本要點是自頂向下、逐步求精、模塊化設計、結構化編碼。
⑤ 「結構化分析方法」和「面向對象方法」有什麼區別
1.結構化方法遵循的基本原則
結構化方法的基本思想就是將待解決的問題看作一個系統從而用系統科學的思想方法來分析和解決問題結構化方法遵循以下基本原則
(1)抽象原則
抽象原則是一切系統科學方法都必須遵循的基本原則它注重把握系統的本質內容而忽略與系統當前目標無關的內容它是一種基本的認知過程和思維方式
(2)分解原則
分解原則是結構化方法中最基本的原則它是一種先總體後局部的思想原則在構造信息系統模型時它採用自頂向下分層解決的方法
(3)模塊化原則
模塊化是結構化方法最基本的分解原則的具體應用它主要出現在結構化設計階段中其目標是將系統分解成具有特定功能的若干模塊從而完成系統指定的各項功能
2.面向對象模型遵循的基本原則
面向對象模型遵循的基本原則有:抽象、封裝、模塊化以及層次原則等
(1)抽象
抽象是處理現實世界復雜性的最基本方式在OO方法中它強調一個對象和其他對象相區別的本質特性對於一個給定的域確定合理的抽象集是面向對象建模的關鍵問題之一
(2)封裝
封裝是對抽象元素的劃分過程抽象由結構和行為組成封裝用來分離抽象的原始介面和它的執行
封裝也稱為信息隱藏Information Hiding它將一個對象的外部特徵和內部的執行細節分割開來並將後者對其他對象隱藏起來
(3)模塊化
模塊化是已經被分為一系列聚集的和耦合的模塊的系統特性對於一個給定的問題確定正確的模塊集幾乎與確定正確的抽象集一樣困難通常每個模塊應該足夠簡單以便能夠被完整地理解
(4)層次
抽象集通常形成一個層次,層次是對抽象的歸類和排序。在復雜的現實世界中有兩種非常重要的層次一個是類型層次另一個是結構性層次 。確定抽象的層次是基於對象的繼承,它有助於在對象的繼承中發現抽象間的關系,搞清問題的所在理解問題的本質
3.結構化方法的核心問題
模型問題是結構化方法的核心問題建立模型簡稱建模是為了更好地理解我們要模擬的現實世界建模通常是從系統的需求分析開始在結構化方法中就是使用SA方法構建系統的環境模型然後使用SD方法確定系統的行為和功能模型最後使用SP方法進行系統的設計並確定用戶的現實模型
4..面向對象方法的核心問題
面向對象方法與結構化方法一樣其核心問題也是模型問題面向對象模型主要由OOA模型OOD模型組成其中OOA主要屬於學科抽象形態方面的內容OOD主要屬於學科設計形態方面的內容
5.結構化系統分析方法的特點
(1)面向用戶,用戶自始至終參與系統的分析工作;
(2)強調調查工作的重要性;
(3)對管理業務中的各種數據進行分解;
(4)採用了層次分解的系統思想;
(5)用圖形工具來分析和構建新方案。
¨結構化分析的圖表工具主要由數據流程圖、數據字典和數據處理說明組成。
6.面向對象系統分析方法的特點
(1) 強調系統開發的整體性和全局性
(2) 側重於數據轉換的過程而不是數據本身
(3) 系統的開發周期長
(4) 封裝性
對象的概念突破了傳統數據與操作分離的模式。對象作為獨立存在的實體,將自由數據和操作封閉在一起,使自身的狀態、行為局部化。
(5) 繼承性
繼承是面向對象特有的,亦是最有力的機制。通過類繼承可以彌補由封裝對象而帶來的諸如數據或操作冗餘的問題,通過繼承支持重用,實現軟體資源共享、演化以及增強擴充。
(6) 多態性
同一消息發送至不同類或對象可引起不同的操作,使軟體開發設計更便利,編碼更靈活。
(7) 易維護性
面向對象的抽象封裝使對象信息隱藏在局部。當對象進行修改,或對象自身產生錯誤的時候,由此帶來的影響僅僅局限在對象內部而不會波及其他對象乃至整個系統環境,這極大方便了軟體設計、構造和運行過程中的檢錯、修改。
⑥ 結構化分析方法的基本手段是什麼
結構化分析方法(Structured Method,結構化方法)是強調開發方法的結構合理性以及所開發軟體的結構合理性的軟體開發方法。
結構化分析方法給出一組幫助系統分析人員產生功能規約的原理與技術。它一般利用圖形表達用戶需求,使用的手段主要有數據流圖、數據字典、結構化語言、判定表以及判定樹等。
它的設計原則包括:
使每個模塊執行一個功能(堅持功能性內聚)
每個模塊用過程語句(或函數方式等)調用其他模塊
模塊間傳送的參數作數據用
模塊間共用的信息(如參數等)盡量少
基本實現手段如下:
一: 數據流圖
含義
數據流圖是SA方法中用於表示邏輯系統模型的一種工具,它從數據傳遞和加工的角度,以圖形的方式來刻畫數據流從輸入到輸出的變換過程。
(1)、元素
A、數據流。是由一組固定成分的數據組成,箭頭的方向表示數據的流向,箭頭的始點和終點分別代表數據流的源和目標。除了流向數據存儲或從數據存儲流出的數據不必命名外,每個數據流必須要有合適的名字,以反映數據流的含義。
B,外部實體。代表系統之外的實體,可以是人、物或其它系統軟體,他指出數據所需要的發源地或系統所產生的數據歸屬地。
C,對數據進行加工處理。加工是對數據進行處理的單元,它接受一定的數據輸入,對其進行處理,並產生輸出。
D、數據存儲。表示信息的靜態存儲,可以代表文件、文件的一部分、資料庫的元素等。
(2) 分層數據流圖
對於一個大型系統,如果在一張數據圖上畫出所有的數據和加工,則會使得數據流圖復雜而難以理解,為了控制復雜性,結構化分析法採用數據流圖分層技術。一套分層的數據流圖由頂層、底層和中間層組成。
(3)保持數據守恆
(4)加工細節隱蔽
二、數據字典
數據字典是關於數據的信息的集合,也就是對數據流圖中包含的所有元素定義的集合。數據字典是結構方法的核心。數據字典有以下幾個條目:數據項條目、數據流條目、文件條目和加工條目。
三、判定表
有些加工的邏輯用語形式不容易表達清楚,而用表的形式則一目瞭然。如果一個加工邏輯有多個條件、多個操作,並且在不同的條件組合下執行不同的操作,就可以使用判定表來描述。
四、判定樹
判定樹和判定表沒有本質的區別,可以用判定表表示的加工邏輯都可以用判定樹來表示。
五、結構化語言
採用一種介於自然語言和形式化語言之間的結構化語言來描述加工邏輯,既可以像自然語言那樣最方便,也可以像形式化語言一樣能夠精確描述事物,且被計算機易於處理。
六、E-R圖
E-R圖包含實體、關系和屬性等3種成分。這三個成分來理解現實問題,接近人們的思維方式。
注意事項:
一,命名。
二,畫數據流而不是控制流。
三,一般不畫物質流。
四,每個加工至少有一個數據流和一個輸出數據流。
五,編號
六,保持父圖和子圖的平衡
七,數據流圖的一致性
八,提高數據流圖的易懂性
⑦ 結構化分析方法是面向什麼進行需求分析的方法
結構化開發方法如下:
早期的程序開發,如C語言,都是用結構化開發方法。
結構化開發又叫做面向過程開發,具體原理是將一個軟體分為多個過程(函數)進行開發,用結構體(struct)管理數據。這種開發方式使得代碼的可讀性變得很低,並且代碼難以移植。
現在較常用的開發方法為面向對象開發(Object-Oriented),分為分析(Analysis)、設計(Design)、編程(Programming)三部分。
面向對象開發最大的成功之處在於添加了「對象」的概念。試想一下:如果我要編寫一個游戲,在這游戲中,游戲的角色是一個對象,敵人是一個對象,這樣我們就可以通過對每個對象進行管理從而減輕開發負擔。
面向對象有三個要素:屬性、事件、方法。以一個人舉例說明,一個人的身高、體重、姓名、國籍等都是他的「屬性」,一個人可以走路、可以吃飯、可以寫字,這些都是他的「方法」,一個人被熱水燙到就會大叫起來,諸如這種反射都可以稱作「事件」。
面向對象還具有三個特性:封裝、繼承、多態。還是以一個人舉例,一件事只有我記著,我不說出去,只有我知道,這就是「封裝」。我父親是搞文藝的,我生來就有藝術細胞,
這就是「繼承」。我有很多兄弟,當人們提到我的姓氏的時候就是在叫我們家的人,這就是「多態」。
比較兩種開發方式,面向對象開發更加接近於現實生活,可以使人的思路更加明確,而面向結構開發則更注重思維邏輯,具有一定難度。所以面向對象開發是當前最好的開發方式。
面向對象開發是基於結構化開發的,還保留著結構化開發中的「函數」、「結構體」等元素。
⑧ 結構化分析方法是一種面向()的需求分析方法
結構化分析方法是一種面向 (數據流) 的需求分析方法。
原題目:結構化分析方法是一種面向______的需求分析方法。
A.對象
B.數據結構
C.控制流
D.數據流
結構化系統分析方法:是運用系統工程原理於大型軟體開發的產物,就是採用「自頂向下,由外到內,逐層分解」的思想對復雜的系統進行分解化簡,從而有效地控制了系統分析每一步的難度,並運用數據流圖、加工說明和數據字典作為表達工具的一種系統分析技術。
⑨ 結構化分析
「 軟體開發方法 」的含義:軟體開發過程所遵循的辦法和步驟。
軟體開發活動的目的:有效地得到一個運行的系統及其支持文檔(程序 + 文檔),並且滿足有關的質量要求(功能需求 + 非功能需求)。
「 軟體開發方法學 」的含義: 規則、方法和工具的集成 ,即支持開發也支持以後的演化過程(交付運行後,系統還會變化;或者為了改錯,或為了功能的遞增)。
結構化方法是一種特定的軟體開發方法學/一種系統化的軟體開發方法,包括:
就 軟體需求分析 而言,結構化分析指的是:系統化地使用 問題域 術語,給出該 問題的模型 (即「系統必須做什麼?」的一個估算)。
一個抽象層是由一組確定的術語定義的,為支持需求分析中有關要使用的那些信息的表達,結構化分析方法給出了以下五個術語/符號:
數據流圖是一種描述 數據變換 的圖形工具,它包含的元素可以是數據流、數據存儲、加工、數據源和數據潭等。
數據字典用於定義 數據流 和 數據存儲 的結構,並給出構成所給出的數據流和數據存儲的各數據項的基本數據類型。
數據字典還引入了一些 邏輯操作符 來定義 數據結構 。
示例:
描述加工「做什麼」,即 加工邏輯 ,也包括其它一些與加工有關的信息,如執行條件、優先順序、執行頻率、出錯處理等。
💡 描述一個加工,一般遵循如下模版:
「結構化自然語言」適用於加工的輸入數據和輸出數據之間的邏輯關系比較 簡單 的加工描述。
示例:
「判定表」適用於加工的輸入數據和輸出數據之間的邏輯關系比較 復雜 的加工描述。
判定表:
示例:
「判定樹」適用於加工的輸入數據和輸出數據之間的邏輯關系比較 復雜 的加工描述。
示例:
💡 頂層數據流圖——0層數據流圖——1層數據流圖——...
「設計」的定義:一種軟體開發活動,定義實現需求規約所需的軟體結構。
設計目標:依據需求規約,在一個抽象層上建立系統軟體模型,包括軟體體系結構(數據和程序結構),以及詳細的處理演算法,產生設計規約說明書。
即: 回答如何解決問題——給出軟體解決方案 。
結構化設計分為:
在總體設計層:
第一階段:初始設計。在對給定的數據流圖進行復審和精化的基礎上,將其轉化為初始的模塊結構圖。 根據穿越系統邊界的數據流初步確定系統與外部的介面 。
第二階段:精化設計。依據模塊「高內聚低耦合」的原則,精化初始的模塊結構圖,並 設計其中的全局數據結構和每一模塊的介面 。
第三階段:設計復審階段,(設計人員與綜合評審團隊)對前兩個階段得到的高層軟體結構進行復審,必要時還可能需要對軟體結構做一些精化工作。
基於 模塊化 原理—— 高內聚、低耦合 ;
模塊化的概念和基本原則(略)。
耦合:不同模塊之間相互依賴程度的度量。
內聚:一個模塊之內各成分之間相互依賴程度的度量。
啟發式規則:根據設計准則,從 長期的軟體開發實踐中,總結出來的規則 。
介面設計的分類:
系統的介面設計(包括用戶界面設計及與其他系統的介面設計)是由穿過系統邊界的數據流定義的。
在最終的系統中,數據流將成為用戶界面中的表單、報表或與其他系統進行交互的文件或通信。
用戶界面應具有的特性:可使用性、靈活性、可靠性。
「數據設計」:在設計階段必須對要存儲的數據及其格式進行設計。
文件設計的主要工作: 根據使用要求、處理方式、存儲的信息量、數據的活動性以及所提供的設備條件等確定文件類型 ,選擇文件媒體,決定文件組織方法,設計文件記錄格式,並估算文件的容量。
以下幾種情況適合選擇 文件存儲 :
詳細設計的任務:定義每一模塊。
詳細設計中主要引入了三種動作控制結構(順序、選擇、循環)的術語/符號。
結構化程序設計的概念:設計具有如下結構的程序:
優點:
PDL 不僅可以作為設計工具,而且可作為注釋工具,直接插在源程序中間,以保持文檔和程序的一致性,提高了文檔的質量。
缺點:
優點:
對控制流程的描繪很直觀,便於初學者掌握。
缺點:
優點:
優點:支持自頂向下逐步求精的結構化詳細設計,並且嚴格限制了控制從一個處理到另一個處理的轉移。
當演算法中 包含多重嵌套 的條件選擇時,用程序流程圖、盒圖、PAD圖、PDL都不易清楚描述,這時可以 選擇判斷表來表達復雜的條件組合與應做的動作之間的對應關系 。
判定樹是判定表的變種,也能清晰地表達復雜的條件組合與應做的動作之間的對應關系,形式簡單,但簡潔性不如判定表,數據元素的同一個值往往需要重復寫多次,而且越接近樹的葉斷重復次數越多。
一切系統都是由信息流構成的(其中包含一些必要的數據變換),每一個信息流都有自己的起點數據源,有自己的歸宿數據潭,有驅動信息流動的加工,因此所謂信息處理主要表現為 信息的流動 。
結構化方法是一種系統化的軟體系統建模方法,從測試的角度看,結構化方法是一種特定的建立驗證和確認所需標尺的方法學,包括 結構化分析 和 結構化設計 。
結構化方法的抽象層,包括:
緊緊圍繞 自頂向下 、 過程抽象 、 數據抽象 和 模塊化 等基本原理/原則,給出了: 完備的符號 、 可操作的過程 和 易於理解的表示工具 。並提供了:控制信息組織復雜性的機制,例如逐層分解,數據打包等,以支持將問題空間的一個問題映射為解空間的一個解。
⑩ 什麼是結構化方法結構化方法和原型化法相比較,優缺點有哪些
1、結構化系統開發方法基本思想在系統建立之前信息就能被充分理解。它要求嚴格劃分開發階段,用規范的方法與圖表工具有步驟地來 完成各階段的工作,每個階段都以規范的文檔資料作為其成果,最終得到滿足用戶需要的系統。 優點(1)邏輯設計與物理設計分開 (2)開發過程中形成一套規范化的文檔,便於後期的修改和維護缺點(1)開發周期長 (2)系統難以適應環境的變化 (3)開發過程復雜繁瑣適用范圍該方法適用於一些組織相對穩定、業務處理過程規范、需求明確且在一定時期內不會發生大的變化的大 型復雜系統的開發。 2、原型法基本思想開發人員對用戶提出的問題進行總結,就系統的主要需求取得一致意見後,開發一個原型(原型是由開 發人員與用戶合作,共同確定系統的基本要求和主要功能,並在較短時間內開發的一個實驗性的、簡單 易用的小型系統。原型應該是可以運行的,可以修改的。)並運行之,然後反復對原型進行修改,使之 逐步完善,直到用戶對系統完全滿意為止。 優點(1)需求表示清楚,用戶滿意度較高 (2)降低開始風險和開發成本缺點(1)原型法不適用於開發大型的信息系統 (2)系統難於維護 (3)如果用戶合作不好,盲目糾錯,會拖延開發進程適用范圍(1)用戶需求不清,管理及業務不穩定,需求經常變化 (2)規模小,不太復雜 (3)開發信息系統的最終用戶界面 結構化開發方法(Structured Developing Method)是現有的軟體開發方法中最成熟,應用最廣泛的方法,主要特點是快速、自然和方便。結構化開發方法由結構化分析方法(SA法)、結構化設計方法(SD法)及結構化程序設計方法(SP法)構成的。 結構化設計方法(SD法 Structured Design)是結構化開發方法的核心,與SA法,SD法密切聯系,主要完成軟體系統的總體結構設計。 原型化方法是一種定義系統需求可採取的策略,實現時需經過若干步驟,一般其採用的最後步驟應是模型驗證