欢迎来到天天文库
浏览记录
ID:38470354
大小:607.05 KB
页数:85页
时间:2019-06-13
《软件开发文档xcz详细设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章软件开发文档主要内容5.1可行性研究报告5.2软件需求文档5.3面向过程概要设计5.4面向过程详细设计5.4面向过程详细设计5.4.1详细设计阶段目标5.4.2详细设计文档的内容5.4.3详细设计文档的描述方法5.4.4面向过程的详细设计示例5.4面向过程详细设计5.4.1详细设计阶段目标5.4.2详细设计文档的内容5.4.3详细设计文档的描述方法5.4.4面向过程的详细设计示例5.4.1详细设计阶段目标根本目标是确定应该怎样具体地实现所要求的系统。详细设计的任务不是编写程序,而是要设计出程序的“蓝图”,便于以后根据这
2、个蓝图写出实际的程序代码。结构化程序设计结构化程序设计主要包括两方面:(1)在设计程序时,强调使用几种基本控制结构,通过组合嵌套,形成程序的控制结构。尽可能避免使用GOTO语句。(2)在程序设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开。结构化程序设计的主要原则使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。选用的控制结构只准许有一个入口和一个出口。程序语句组成容易识别的块,每块只有一个入口和一个出口。复杂结构应该用基本控制结构进行组合嵌套来实现。结构化程序设计的主要原则严格控制G
3、OTO语句,仅在下列情形才可使用:①用一个非结构化的程序设计语言去实现一个结构化的构造。②若不使用GOTO语句就会使程序功能模糊。③在某种可以改善而不是损害程序可读性的情况下。结构化程序设计的主要原则例打印A,B,C三数中最小者的程序程序1if(A
4、GOTO语句程序2if(A5、框架。质数发生器算法举例质数发生器算法举例:N=25,要求得到小于N的所有质数序列234567891011121314151617181920212223242523579111315171921232523571113171923252357111317192323571113171923进行到消去了5的倍数时,已没有要消去的数,消去停止,输出结果。因为如果设p=5,则2p,3p,4p分别先前的步骤中已经被消去,所以只能从pp开始,所以算法停止的条件为比如,可设计一种简单方案:1.用一维数组In[N-1]存放2~N的整数(6、小到大序);In[0]=22.从In[ip=k]开始的每一轮(i)消去时,将数组中该轮k的倍数数置0。后续消去时,若In[i=k]=0,则跳过消去该k的倍数,避免重复。main(){//程序框架建立2到100的数组A[],其中A[i]=i;-----------------------------------1建立2到10的素数表B[],其中存放2到10以内的素数;-----------2若A[i]=i是B[]中任一数的倍数,则剔除A[i];---------------------3输出A[]中所有没有被剔除的数;----7、-------------------------------4}自顶向下,逐步求精main(){/*建立2到100的数组A[],其中A[i]=i*/for(i=2;i<=100;i++)A[i]=i;/*建立2到10的素数表B[],其中存放2到10以内的素数*/B[1]=2;B[2]=3;B[3]=5;B[4]=7;/*若A[i]=i是B[]中任一数的倍数,则剔除A[i]*/for(j=1;j<=4;j++)检查A[]所有的数能否被B[j]整除并将能被整除的数从A[]中剔除;-----3.1/*输出A[]中所有没有被剔除的8、数*/for(i=2;i<=100;i++)若A[i]没有被剔除,则输出之---4.1}自顶向下,逐步求精对框架中的局部再做细化,得到整个程序。main(){/*建立2到100的数组A[],其中A[i]=i*/for(i=2;i<=100;i++)A[i]=i;/*建立2到10的素数表B[
5、框架。质数发生器算法举例质数发生器算法举例:N=25,要求得到小于N的所有质数序列234567891011121314151617181920212223242523579111315171921232523571113171923252357111317192323571113171923进行到消去了5的倍数时,已没有要消去的数,消去停止,输出结果。因为如果设p=5,则2p,3p,4p分别先前的步骤中已经被消去,所以只能从pp开始,所以算法停止的条件为比如,可设计一种简单方案:1.用一维数组In[N-1]存放2~N的整数(
6、小到大序);In[0]=22.从In[ip=k]开始的每一轮(i)消去时,将数组中该轮k的倍数数置0。后续消去时,若In[i=k]=0,则跳过消去该k的倍数,避免重复。main(){//程序框架建立2到100的数组A[],其中A[i]=i;-----------------------------------1建立2到10的素数表B[],其中存放2到10以内的素数;-----------2若A[i]=i是B[]中任一数的倍数,则剔除A[i];---------------------3输出A[]中所有没有被剔除的数;----
7、-------------------------------4}自顶向下,逐步求精main(){/*建立2到100的数组A[],其中A[i]=i*/for(i=2;i<=100;i++)A[i]=i;/*建立2到10的素数表B[],其中存放2到10以内的素数*/B[1]=2;B[2]=3;B[3]=5;B[4]=7;/*若A[i]=i是B[]中任一数的倍数,则剔除A[i]*/for(j=1;j<=4;j++)检查A[]所有的数能否被B[j]整除并将能被整除的数从A[]中剔除;-----3.1/*输出A[]中所有没有被剔除的
8、数*/for(i=2;i<=100;i++)若A[i]没有被剔除,则输出之---4.1}自顶向下,逐步求精对框架中的局部再做细化,得到整个程序。main(){/*建立2到100的数组A[],其中A[i]=i*/for(i=2;i<=100;i++)A[i]=i;/*建立2到10的素数表B[
此文档下载收益归作者所有