1. 結構化方法
結構化開發方法是自上而下的,逐步求精的,模塊化的。所以先設計系統的全部模塊,再逐步完善各個模塊的過程。
2. 什麼是結構化設計方法
結構化設計方法給出一組幫助設計人員在模塊層次上區分設計質量的原理與技術。它通常與結構化分析方法銜接起來使用,以數據流圖為基礎得到軟體的模塊結構。SD方法尤其適用於變換型結構和事務型結構的目標系統。在設計過程中,它從整個程序的結構出發,利用模塊結構圖表述程序模塊之間的關系。結構化設計的步驟如下:①評審和細化數據流圖;②確定數據流圖的類型;③把數據流圖映射到軟體模塊結構,設計出模塊結構的上層;④基於數據流圖逐步分解高層模塊,設計中下層模塊;⑤對模塊結構進行優化,得到更為合理的軟體結構;⑥描述模塊介面。 結構化設計方法的設計原則 使每個模塊執行一個功能(堅持功能性內聚) 每個模塊用過程語句(或函數方式等)調用其他模塊 模塊間傳送的參數作數據用 模塊間共用的信息(如參數等)盡量少
編輯本段一、軟體設計過程及原則
◆ 軟體需求:解決「做什麼」。 ◆ 軟體設計:解決「怎麼做」。 ◆ 軟體設計的任務:從軟體需求規格說明書出發,形成軟體的具體設計方案。(根據需求分析階段確定的功能確定模塊及每個模塊演算法和編寫具體的代碼) 1、軟體設計內容 (1)軟體設計定義 軟體設計是把軟體需求(定義階段)轉換為軟體的具體設計方案,即劃分模塊結構的過程,是軟體開發階段最重要的步驟。 (2)軟體設計劃分 劃分 名稱
按工程管理角度 概要設計
詳細設計
按技術觀點劃分 結構設計
數據設計
介面設計
過程設計
一般過程:是一個迭代過程,先進行高層次結構設計;再進行低層次過程設計;穿插數據設計和介面設計。 (3)軟體設計過程 2、軟體設計原則 為了開發出高質量低成本的軟體,在軟體開發過程中必須遵循下列軟體工程原則: (1)抽象(abstraction) 抽取事物最基本的特性和行為,忽略非基本的細節。採用分層次抽象的辦法可以控制軟體開發過程的復雜性,有利於軟體的可理解性和開發過程的管理。 (2)信息隱藏(informationhiding) 信息隱蔽:採用封裝技術,將程序模塊的實現細節(過程或數據)隱藏起來,對於不需要這些信息的其它模塊來說是不能訪問的,使模塊介面盡量簡單。 按照信息隱藏的原則,系統中的模塊應設計成「黑箱」,模塊外部只能使用模塊介面說明中給出的信息,如操作、數據類型等等。 (3)模塊化(molarity) 使程序有許多個邏輯上相對獨立的模塊組成。模塊(mole)是程序中邏輯上相對獨立的單元;模塊的大小要適中;高內聚、低耦合。 (4)一致性(consistency) 整個軟體系統(包括文檔和程序)的各個模塊均應使用一致的概念、符號和術語;程序內部介面應保持一致;軟體與硬體介面應保持一致;系統規格說明與系統行為應保持一致;實現一致性需要良好的軟體設計工具(如數據字典、資料庫、文檔自動生成與一致性檢查工具等等)、設計方法和編碼風格的支持。
編輯本段二、結構化設計方法
1、軟體設計的方法 開發階段設計軟體時所使用的方法。注意區別:結構化分析方法是定義階段需求分析過程中所使用的方法。 2、軟體設計的方法的種類 結構化設計方法、面向對象的設計方法。 3、結構化設計方法(SD-- Structured Design) 結構化設計方法是基於模塊化、自頂向下細化、結構化程序設計等程序設計技術基礎發展起來的。 基本思想:將軟體設計成由相對獨立且具有單一功能的模塊組成的結構,分為概要設計和詳細設計兩個階段。 ◆ 結構化設計過程的概要設計階段的描述工具是:結構圖(SC- Structure Chart )。 (1)概要設計也稱為結構設計或總體設計,主要任務是把系統的功能需求分配給軟體結構,形成軟體的模塊結構圖。 (2)概要設計的基本任務。設計軟體系統結構:劃分功能模塊,確定模塊間調用關系;數據結構及資料庫設計:實現需求定義和規格說明過程中提出的數據對象的邏輯表示;編寫概要設計文檔: 包括概要設計說明書、資料庫設計說明書,集成測試計劃等;概要設計文檔評審:對設計方案是否完整實現需求分析中規定的功能、性能的要求,設計方案的可行性等進行評審。 (3)結構化設計的目的與任務。結構化設計的目的:使程序的結構盡可能反映要解決的問題的結構。結構化設計的任務:把需求分析得到的數據流圖DFD等變換為系統結構圖(SC)。 4、概要設計工具——結構圖(SC: Structure Chart ) (1)作用 軟體結構概要設計階段的工具。反映系統的功能實現以及模塊與模塊之間的聯系與通信,即反映了系統的總體結構。 ◆ 注意:數據流DFD是軟體生命周期的定義階段中的需求分析方法中結構化分析方法的一種,此外還有數據字典(DD)、判定樹和判定表,而SC是開發階段中概要設計使用的方法。 (2)結構圖基本組成成分:模塊、數據和調用 (3)結構圖基本圖符 (4)結構圖的基本術語 ◆ 深度:模塊結構的層次數(控制的層數)。 ◆ 寬度:同一層模塊的最大模塊數。 ◆ 扇出:一個模塊直接調用的其他模塊數目。 ◆ 扇入:調用一個給定模塊的模塊個數。(被調用的次數) 好的軟體結構應該是頂層扇出比較多,中層扇出較少,底層扇入多。 5、概要設計任務的實現--數據流圖到結構圖的變換 在軟體工程的需求分析階段,信息流是一個關鍵考慮,通常用數據流圖描繪信息在系統中加工和流動的情況,面向數據流的設計方法把信息流映射成軟體結構,信息流的類型決定了映射的方法。典型的信息流類型:變換型和事務型。 (1)典型的信息流類型:變換型和事務型 ① 變換型 信息沿輸入通路進入系統,同時由外部形式變換成內部形式,進入系統的信息通過變換中心,經加工處理以後再沿輸出通路變換成外部形式離開軟體系統,當數據流具有這些特徵時,這種信息流就叫變換流。 ② 事務型 數據沿輸入通路到達一個處理T,這個處理根據輸入數據的類型在若干個動作序列中選出一個來執行,當數據流圖具有這些特徵時,這種信息流稱為變換流。 6、詳細設計及工具 (1)詳細設計的目的 為軟體結構圖(SC)中的每 一個模塊確定採用的演算法,模塊內數據結構,用某種選定的表達工具(如N-S圖等)給出清晰的描述。 (2)詳細設計的設計工具種類 ◆ 圖形工具:程序流程圖(PFD)、N-S圖,問題分析圖(PAD圖)。 ◆ 表格工具:類似於判定表。 ◆ 語言工具:過程設計語言(PDL)。 ①程序流程圖(PFD: Program Flow Diagram)) ◆ 流程圖:是用一些圖框表示各種操作,直觀形象,易於理解。 ◆ 特點:直觀、清晰、易於掌握。 ② 盒圖(N-S圖) 為避免流程圖在描述程序邏輯時的隨意性與靈活性,1973提出用方框代替傳統的程序流程圖,通常也把這種圖稱為N-S圖,有5種的控制結構。 ◆ 盒圖具有以下特點:過程的作用域明確;盒圖沒有箭頭,不能隨意轉移控制;容易表示嵌套關系和層次關系;強烈的結構化特徵。 ③問題分析圖(PAD:Problem Analysis Diagram) 是繼流程圖和方框圖之後,又一種描述詳細設計的工具,有5種結構。 ④ 過程設計語言(PDL) 過程設計語言(PDL)也稱結構化的英語或偽碼語言,它是一種混合語言,採用英語的詞彙和結構化程序設計語言的語法,它描述處理過程怎麼做,類似編程語言。
3. 什麼是結構化程序設計方法
c語言中"結構化程序設計方法」的基本思想和規則C語言是一種結構化語言。它層次清晰,便於按模塊化方式組織程序,易於調試和維護。C語言的表現能力和處理能力極強。它不僅具有豐富的運算符和數據類型,便於實現各類復雜的數據結構。它還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由於C語言實現了對硬體的編程操作,因此C語言集高級語言和低級語言的功能於一體。既可用於系統軟體的開發,也適合於應用軟體的開發。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。
C源程序的結構特點
1.一個C語言源程序可以由一個或多個源文件組成。
2.每個源文件可由一個或多個函數組成。
3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。
4.源程序中可以有預處理命令(include 命令僅為其中的一種),預處理命令通常應放在源文件或源程序的最前面。
5.每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。
6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
書寫程序時應遵循的規則
從書寫清晰,便於閱讀,理解,維護的角度出發,在書寫程序時 應遵循以下規則:
1.一個說明或一個語句佔一行。
2.用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。
3.低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。
4. 結構化分析方法的基本手段是什麼
結構化分析方法(Structured Method,結構化方法)是強調開發方法的結構合理性以及所開發軟體的結構合理性的軟體開發方法。
結構化分析方法給出一組幫助系統分析人員產生功能規約的原理與技術。它一般利用圖形表達用戶需求,使用的手段主要有數據流圖、數據字典、結構化語言、判定表以及判定樹等。
它的設計原則包括:
使每個模塊執行一個功能(堅持功能性內聚)
每個模塊用過程語句(或函數方式等)調用其他模塊
模塊間傳送的參數作數據用
模塊間共用的信息(如參數等)盡量少
基本實現手段如下:
一: 數據流圖
含義
數據流圖是SA方法中用於表示邏輯系統模型的一種工具,它從數據傳遞和加工的角度,以圖形的方式來刻畫數據流從輸入到輸出的變換過程。
(1)、元素
A、數據流。是由一組固定成分的數據組成,箭頭的方向表示數據的流向,箭頭的始點和終點分別代表數據流的源和目標。除了流向數據存儲或從數據存儲流出的數據不必命名外,每個數據流必須要有合適的名字,以反映數據流的含義。
B,外部實體。代表系統之外的實體,可以是人、物或其它系統軟體,他指出數據所需要的發源地或系統所產生的數據歸屬地。
C,對數據進行加工處理。加工是對數據進行處理的單元,它接受一定的數據輸入,對其進行處理,並產生輸出。
D、數據存儲。表示信息的靜態存儲,可以代表文件、文件的一部分、資料庫的元素等。
(2) 分層數據流圖
對於一個大型系統,如果在一張數據圖上畫出所有的數據和加工,則會使得數據流圖復雜而難以理解,為了控制復雜性,結構化分析法採用數據流圖分層技術。一套分層的數據流圖由頂層、底層和中間層組成。
(3)保持數據守恆
(4)加工細節隱蔽
二、數據字典
數據字典是關於數據的信息的集合,也就是對數據流圖中包含的所有元素定義的集合。數據字典是結構方法的核心。數據字典有以下幾個條目:數據項條目、數據流條目、文件條目和加工條目。
三、判定表
有些加工的邏輯用語形式不容易表達清楚,而用表的形式則一目瞭然。如果一個加工邏輯有多個條件、多個操作,並且在不同的條件組合下執行不同的操作,就可以使用判定表來描述。
四、判定樹
判定樹和判定表沒有本質的區別,可以用判定表表示的加工邏輯都可以用判定樹來表示。
五、結構化語言
採用一種介於自然語言和形式化語言之間的結構化語言來描述加工邏輯,既可以像自然語言那樣最方便,也可以像形式化語言一樣能夠精確描述事物,且被計算機易於處理。
六、E-R圖
E-R圖包含實體、關系和屬性等3種成分。這三個成分來理解現實問題,接近人們的思維方式。
注意事項:
一,命名。
二,畫數據流而不是控制流。
三,一般不畫物質流。
四,每個加工至少有一個數據流和一個輸出數據流。
五,編號
六,保持父圖和子圖的平衡
七,數據流圖的一致性
八,提高數據流圖的易懂性
5. 結構化程序設計方法有哪些
結構化程序設計方法是按照模塊劃分原則以提高程序可讀性和易維護性、可調性和可擴充性為目標的一種程序設計方法。在結構化的程序設計中,只允許三種基本的程序結構形式,它們是順序結構、分支結構、(包括多分支結構) 和循環結構,這三種基本結構的共同特點是只允許有一個流動入口和一個出口,僅有這三種基本結構組成的程序稱為結構化程序。結構化程序設計適用於程序規模較大的情況,對於規模較小程序也可採用非結構化程序設計方法。
它的主要觀點是採用自頂向下、逐步求精的程序設計方法;使用三種基本控制結構構造程序,任何程序都可由順序、選擇、循環三種基本控制結構構造。是以模塊化設計為中心,將待開發的軟體系統劃分為若干個相互獨立的模塊,這樣使完成每一個模塊的工作變單純而明確,為設計一些較大的軟體打下了良好的基礎。
基本要點
1.採用自頂向下,逐步求精的程序設計方法
在需求分析,概要設計中,都採用了自頂向下,逐層細化的方法。
2.使用三種基本控制結構構造程序
任何程序都可由順序、選擇、重復三種基本控制結構構造。
(1)用順序方式對過程分解,確定各部分的執行順序。
(2)用選擇方式對過程分解,確定某個部分的執行條件。
(3)用循環方式對過程分解,確定某個部分進行重復的開始和結束的條件。
(4)對處理過程仍然模糊的部分反復使用以上分解方法,最終可將所有細節確定下來。
3.主程序員組的組織形式
結構化程序設計方法
指開發程序的人員組織方式應採用由一個主程序員(負責全部技術活動)、一個後備程序員(協調、支持主程序員)和一個程序管理員(負責事務性工作,如收集、記錄數據,文檔資料管理等)三個為核心,再加上一些專家(如通信專家、資料庫專家)、其他技術人員組成小組。
6. 軟體工程的結構化方法是什麼
結構化分析方法(Structured Method)是強調開發方法的結構合理性以及所開發軟體的結構合理性的軟體開發方法。結構是指系統內各個組成要素之間的相互聯系、相互作用的框架。結構化開發方法提出了一組提高軟體結構合理性的准則,如分解與抽象、模塊獨立性、信息隱蔽等。針對軟體生存周期各個不同的階段,它有結構化分析(SA)、結構化設計(SD)和結構化程序設計(SP)等方法。
結構化分析方法給出一組幫助系統分析人員產生功能規約的原理與技術。它一般利用圖形表達用戶需求,使用的手段主要有數據流圖、數據字典、結構化語言、判定表以及判定樹等。
結構化分析的步驟如下:①分析當前的情況,做出反映當前物理模型的DFD;②推導出等價的邏輯模型的DFD;③設計新的邏輯系統,生成數據字典和基元描述;④建立人機介面,提出可供選擇的目標系統物理模型的DFD;⑤確定各種方案的成本和風險等級,據此對各種方案進行分析;⑥選擇一種方案;⑦建立完整的需求規約。
結構化設計方法給出一組幫助設計人員在模塊層次上區分設計質量的原理與技術。它通常與結構化分析方法銜接起來使用,以數據流圖為基礎得到軟體的模塊結構。SD方法尤其適用於變換型結構和事務型結構的目標系統。在設計過程中,它從整個程序的結構出發,利用模塊結構圖表述程序模塊之間的關系。結構化設計的步驟如下:①評審和細化數據流圖;②確定數據流圖的類型;③把數據流圖映射到軟體模塊結構,設計出模塊結構的上層;④基於數據流圖逐步分解高層模塊,設計中下層模塊;⑤對模塊結構進行優化,得到更為合理的軟體結構;⑥描述模塊介面。
7. 結構化方法是什麼意思
首先把「科學觀察方法」更具體地解釋一下吧:所謂科學觀察法,就是用科學的方法來觀察一些大自然的科學現象。運用這種觀察方法,要動手、動腦、動心思考,要依據觀察的事實來得出結論。不能加入任何自己的感情色彩,是什麼,就是什麼,不得誇大和縮小。
換句話說,就是此方法的目的是為了探索世界奧秘,尋找現象背後的真理,從而運用富有邏輯性、結構合理、條理清晰的方法來觀察。
那麼,現在解釋一下結構化方法吧:
結構化分析方法(Structured Method,結構化方法)是強調開發方法的結構合理性以及所開發軟體的結構合理性的軟體開發方法。結構是指系統內各個組成要素之間的相互聯系、相互作用的框架。結構化開發方法提出了一組提高軟體結構合理性的准則,如分解與抽象、模塊獨立性、信息隱蔽等。針對軟體生存周期各個不同的階段,它有結構化分析(SA)、結構化設計(SD)和結構化程序設計(SP)等方法。
結構化分析方法給出一組幫助系統分析人員產生功能規約的原理與技術。它一般利用圖形表達用戶需求,使用的手段主要有數據流圖、數據字典、結構化語言、判定表以及判定樹等。
結構化分析的步驟如下:①分析當前的情況,做出反映當前物理模型的DFD;②推導出等價的邏輯模型的DFD;③設計新的邏輯系統,生成數據字典和基元描述;④建立人機介面,提出可供選擇的目標系統物理模型的DFD;⑤確定各種方案的成本和風險等級,據此對各種方案進行分析;⑥選擇一種方案;⑦建立完整的需求規約。
結構化設計方法給出一組幫助設計人員在模塊層次上區分設計質量的原理與技術。它通常與結構化分析方法銜接起來使用,以數據流圖為基礎得到軟體的模塊結構。SD方法尤其適用於變換型結構和事務型結構的目標系統。在設計過程中,它從整個程序的結構出發,利用模塊結構圖表述程序模塊之間的關系。結構化設計的步驟如下:①評審和細化數據流圖;②確定數據流圖的類型;③把數據流圖映射到軟體模塊結構,設計出模塊結構的上層;④基於數據流圖逐步分解高層模塊,設計中下層模塊;⑤對模塊結構進行優化,得到更為合理的軟體結構;⑥描述模塊介面。
結構化設計方法的設計原則:
(1)使每個模塊執行一個功能(堅持功能性內聚)
(2)每個模塊用過程語句(或函數方式等)調用其他模塊
(3)模塊間傳送的參數作數據用
(4)模塊間共用的信息(如參數等)盡量少
8. 什麼是結構化方法結構化方法和原型化法相比較,優缺點有哪些
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法密切聯系,主要完成軟體系統的總體結構設計。 原型化方法是一種定義系統需求可採取的策略,實現時需經過若干步驟,一般其採用的最後步驟應是模型驗證