1. 程式人生 > >結構化分析+程式設計

結構化分析+程式設計

以下是我整理的結構化分析的知識點

  1. 資料流圖:是結構化分析方法的重要模型,用於描述系統的功能輸入、輸出和資料儲存等。在繪製資料流圖中,每條資料流的起點或者是終點必須是加工,即至少有一端是加工。在分層資料流圖中,必須保持父圖和子圖平衡。每個加工必須既有輸入資料流又有輸出資料流。必須保持資料守恆。
  2. 模組的作用:範圍定義為受該模組內一個判定影響的模組集合,模組的控制範圍為模組本身以及所有直接或間接從屬於該模組的模組集合。
  3. DFD:是面向資料流建模的重要工具,DFD則是系統建模成輸入一處理一輸出的模型,即流入軟體的資料物件,經由處理轉換最後以結果資料物件的形式流出軟體。
  4. DFD注意以下原則:①命名。不論資料流、資料儲存還是加工,合適的命名使人們易於理解其含義。
    ②畫資料流而不是控制流。資料流反映系統“做什麼”,不反映“如何做”,因此箭頭上的資料流名稱只能是名詞或名詞短語,整個圖中不反映加工的執行順序。
    ③一般不畫物質流。資料流反映能用計算機處理的資料,並不是實物,因此對目標系統的資料流圖一般不要畫物質流。
    ④每個加工至少有一個輸入資料流和一個輸出資料流,反映出此加工資料的來源與加工的結果。
    ⑤編號。如果一張資料流圖中的某個加工分解成另一張資料流圖時,則上層圖為父圖,直接下層圖為子圖。子圖及其所有的加工都應編號。
    ⑥父圖與子圖的平衡。子圖的輸入輸出資料流同父圖相應加工的輸入輸出資料流必須一致,此即父圖與子圖的平衡。
    ⑦區域性資料儲存。當某層資料流圖中的資料儲存不是父圖中相應加工的外部介面,而只是本圖中某些加工之間的資料介面,則稱這些資料儲存為區域性資料儲存。
    ⑧提高資料流圖的易懂性。注意合理分解,要把一個加工分解成幾個功能相對獨立的子加工,這樣可以減少加工之間輸入、輸出資料流的數目,增加資料流圖的可理解性。
  5. 分層資料流圖:是結構化分析方法的重要組成部分。對資料流圖的每個基本加工,需要有一個加工規格說明,但不需要描述實現加工的具體流程。
  6. 結構化開發方法過程:由結構化分析、結構化設計、結構化程式設計構成,是一種面向資料流的開發方法。
  7. 結構化方法總的指導思想:自頂向下、逐層分解,基本原則是功能的分解與抽象。也別適合資料領域,但不適合解決大規模、特別複雜的專案。
  8. 在結構化分析中,加工是資料流的一個重要要素,可以用多種方式描述,如流程圖、NS盒圖、其中決策樹和決策表適用於表示加工中涉及多個邏輯的情況。
  9. 倉庫風格:是一個軟體體系結構,其中包含一個數據庫和其他若干構件,資料庫倉位於體系結構中心,其他構建可進行增刪改查。資料庫系統、超文本系統和黑板系統都屬於倉庫風格。缺點就是測試困難低效,缺少並行機制。
  10. 介面的主要任務:描述軟體與外部環境之間的互動關係,軟體內部之間的呼叫關係。主要依據是資料流圖。

程式設計題

在這裡插入圖片描述

import java.util.Scanner;


public class Demo6_3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	Scanner sc= new Scanner(System.in)	;
	System.out.print("Enter ten numbers:");
	double arr[]=new double[10];
	for(int i=0;i<arr.length;i++){
		arr[i]=sc.nextDouble();
	}
	System.out.println(deviation(arr));
	}

	public static double mean(double[] arr){
		int sum=0;
		for(int m=0;m<arr.length;m++){
			sum+=arr[m];
		}
		return sum/arr.length;
		}

	
	public static double deviation(double[] arr) {
		// TODO Auto-generated method stub
		double avr=mean(arr);
		System.out.println("The mean is:"+avr);
		double sum=0;
		for(int j=0;j<arr.length;j++){
			sum+=Math.pow((arr[j]-avr),2);
		}
		return Math.sqrt(sum/(arr.length-1));
	}
}