以下是我整理的结构化分析的知识点
- 数据流图:是结构化分析方法的重要模型,用于描述系统的功能输入、输出和数据存储等。在绘制数据流图中,每条数据流的起点或者是终点必须是加工,即至少有一端是加工。在分层数据流图中,必须保持父图和子图平衡。每个加工必须既有输入数据流又有输出数据流。必须保持数据守恒。
- 模块的作用:范围定义为受该模块内一个判定影响的模块集合,模块的控制范围为模块本身以及所有直接或间接从属于该模块的模块集合。
- DFD:是面向数据流建模的重要工具,DFD则是系统建模成输入一处理一输出的模型,即流入软件的数据对象,经由处理转换最后以结果数据对象的形式流出软件。
- DFD注意以下原则:①命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
②画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
⑤编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
⑥父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
⑦局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
⑧提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。 - 分层数据流图:是结构化分析方法的重要组成部分。对数据流图的每个基本加工,需要有一个加工规格说明,但不需要描述实现加工的具体流程。
- 结构化开发方法过程:由结构化分析、结构化设计、结构化程序设计构成,是一种面向数据流的开发方法。
- 结构化方法总的指导思想:自顶向下、逐层分解,基本原则是功能的分解与抽象。也别适合数据领域,但不适合解决大规模、特别复杂的项目。
- 在结构化分析中,加工是数据流的一个重要要素,可以用多种方式描述,如流程图、NS盒图、其中决策树和决策表适用于表示加工中涉及多个逻辑的情况。
- 仓库风格:是一个软件体系结构,其中包含一个数据库和其他若干构件,数据库仓位于体系结构中心,其他构建可进行增删改查。数据库系统、超文本系统和黑板系统都属于仓库风格。缺点就是测试困难低效,缺少并行机制。
- 接口的主要任务:描述软件与外部环境之间的交互关系,软件内部之间的调用关系。主要依据是数据流图。
编程题
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));
}
}