详细设计的工具

合集下载

软件工程试题1

软件工程试题1

《软件工程》期末考试样题一、填空题1.软件开发模型有、、第四代技术模型、、构件组装模型、混合模型。

2.可行性研究一般可以从可行性、可行性、运行可行性、法律可行性和开发可行性等方面来研究。

3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为。

4.数据流图的基本符号包括、、、。

5.Jackson图除了可以表达程序结构外,还可以表达,它首先要分析,并用适当的工具来描述。

6.详细设计的工具有、表格工具和。

7.IPO图由、处理和三个框组成。

这个图的特点是能够直观的显示三者之间的关系。

8.面向对象技术是一整套关于如何看待和的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。

面向对象方法是一种运用、、、、聚集、消息传送、多态性等概念来构造系统的软件开发方法。

二、单项选择题1.下列()属于系统软件。

A.WINDOWS 2000B.WordC.FlashD.3D MAX2.下列哪个图是N -S 图的构件( )。

A . B.C. D.3.对于螺旋模型,下列( )不是利用笛卡尔坐标表达的活动。

A. 制定计划B. 实施工程C. 风险分析D. 程序编码三、多项选择题1.软件危机可以表现为( )。

A . 产品不符合用户的需要B . 软件产品的质量差C . 软件的可维护性差D . 软件的价格昂贵2.Jackson 图中一般可能包括( )。

A .表头B .表体C .表名D .字段名3.关于内容耦合的描述正确的是( )。

A 、内容耦合是最高程度的耦合B 、应该尽量使用内容耦合C 、高级语言一般设计成允许内容耦合的形式D 、如果一个模块有多个入口,可能发生内容耦合4.下列属于不标准的书写格式( )。

A 、书写时适当使用空格分隔B 、一行写入多条语句C 、嵌套结构不使用分层缩进的写法D 、程序中不加注释四、判断题(正确的在括号内打上“√”,错误的打上“×”)A B WHILE M A ABA B1.软件生存周期是从软件开始开发到开发结束的整个时期。

软件工程讲义第六章

软件工程讲义第六章
hour:=hour+1;
ENDWHILE; 2.1、2.2、2.4已能用程序语言表达,只需对2.3进一步精细化。 为了处理60个数据,又需一循环结构。
引入分钟值变量:minutes,每分钟要做的工作是: 累计:求每小时的平均值 检查违章情况 为了累计,引入变量sum: 在每小时处理前设初值为0。 每小时处理后求平均值。
3、自顶向下的程序验证。
2019年11月26日星期二
西南交通大学信息科学与技术学院
结构化程序设计的核心内容
二、使用三种基本控制结构来构造程序 1、任何程序都由顺序、选择和重复三种基本控制结构构造。 顺序实现了任何算法规约中的核心处理步骤; 条件允许根据逻辑情况选择处理方式; 重复提供了循环。 这些逻辑元素是结构化程序设计的基础。
BEGIN
1. 设置初值;
2. 处理24小时数据;
END
求精步骤1:设置初值。开始时一般不明确为哪些变量赋初值。
求精步骤2:计算结果是以小时为统计单位输出,它是重复执行24次的
循环结构。
局部数据结构设计:数据输入的方案选择:
1、处理前读入所有24小时数据,共1440个,需要大一个大的数组。
2、每次计算输入一个数据,这要保证对先前输入的数据不再使用。
ENDWHILE;
Mean:=sum/60.0; 一次违章出现是指连续5次污染值超过10.00。如果违章分布在两个相间的时 间段上,则把这次违章算在下一小时上。 首先测试当前值是否超过10.00,若是,还将进一步检查是否连续出现5次。 为了实现第二个测试,需要两个计数器: Voilation:计数本小时出现的违章次数。 Infraction:计数连续出现超过正常值的次数。 每次超正常值出现时,Infraction增1。为了保证Infraction表示连续出现超正 常值,必须保证在第一次出现超正常值时其初值为0。为了保证相继两个小时的 Infraction的值能连续被使用,在每小时处理前不能为Infraction置0值,只能在 第一小时处理前置0。另外,在发现一次未超正常值时,也应置它为0,即连续 出现超正常值中断。

高级计算机程序设计员复习题(含参考答案)

高级计算机程序设计员复习题(含参考答案)

高级计算机程序设计员复习题(含参考答案)一、单选题(共90题,每题1分,共90分)1、()的目的是搞清要解决的问题是什么。

A、问题定义阶段B、需求分析C、软件定义阶段D、可行性研究正确答案:A2、计算机工作原理是建立在()基础上的,逻辑代数是逻辑运算的理论依据。

A、逻辑运算B、集合运算C、数据运算D、物理运算正确答案:A3、()存储一个对话框模板,模板制定了对话框的特征,包括其大小、位置、风格以及对话框中各种控件等。

A、对话框类B、对话框函数C、对话框模板资源D、单模对话框正确答案:C4、下列说法正确的是:()。

A、原型法的指导思想是:自上而下、逐步分解B、结构化分析方法的指导思想是:自上而下、逐步分解C、面向对象分析方法的指导思想是:自上而下、逐步分解D、模块化分析方法的指导思想是:自上而下、逐步分解正确答案:B5、其他模型图的构造和发展依赖于()中所描述的内容。

A、用例图B、状态图C、活动图D、时序图正确答案:A6、已知事务T1和T2是没有加锁的并发操作,T1对某一数据进行写操作,T2对同一数据进行读操作,则可能引发的问题是()。

A、幽灵问题B、丢失修改C、读”脏”数据D、不可重复读正确答案:C7、()适合于检查程序输入条件的各种组合情况。

A、边界值分析法B、错误推测法C、因果图方法D、等价类划分法正确答案:C8、办事公道是指从业人员在进行职业活动时要做到()A、有求必应,服务热情B、奉献社会,助人为乐C、追求真理,坚持原则D、公私分开,实事求是正确答案:C9、命令()用来完成事务,并使事务对数据库所作的修改成为永久的。

A、SaveB、CommitC、UpdateD、Rollback正确答案:B10、用VC实现Ftp查询的程序编写中,如果连接成功,使用()得到服务器的缺省目录。

A、GetCurrentDirectory()B、GetFtpDirectory ()C、GetCurrentHost()D、GetFtpHost()正确答案:A11、目前各部门广泛使用的人事档案管理、财务管理等软件,按计算机应用分类,应属于()。

软件系统详细-设计

软件系统详细-设计
END FOR
② WHILE结构 WHILE 条件
循环体S ENDWHILE
③ UNTIL结构 REPEAT
循环体S UNTIL 条件 输入/输出语句
① 输入语句: GET(输入变量表)
② 输出语句:
PUT(输出变量表) 模块调用语句
CALL 模块名(参数)
5 判定表:当算法中包含多重嵌套的条件选择时使 用。表示复杂的条件组合与相应的动作适宜。
从输入文件中各读一条记录 处理居民记录 end 关闭全部文件 停止 产生新文件 end
从上面的例子中可以看出,对于一个输入、输出数据结构之间对应关系清 晰的小规模数据处理问题来说,采用Jackson方法可以很方便地得到系统的 处理过程描述。但当输入、输出数据出现错误或输入、输出数据间没有对 应关系(称为结构冲突)时,上面所介绍的映射规则就无法处理了。
详细设计说明书可以看作是在系统结构设计说明书所确定的系统总体结构的基础
上,对其中各个模块实现过程的进一步描述和细化。通常,详细设计说明书中应主 要包括以下几方面的内容:
(1) 引言:用于说明编写本说明书的目的、背景,定义所用到的术语和缩略语, 以及列出文档中所引用的参考资料等。
(2) 总体设计:用于给出软件系统的体系结构图。
(6)PDL描述与程序结构相似,故PDL语言便于将详细设计的结果转换为源程序。 PDL的缺点是不如图形描述形象直观,因此常常将PDL描述与一种图形描述结合起
来使用。
PDL语言的主要定义语句及基本控制结构的表达如下所示: 定义语句
(1) 数据定义: DECLARE 属性变量名,… 属性包括:整型、实型、双精度型、字符型、指针、数组及结构等类型。
《软件工程》
软件的系统设计—详细设计 陈巧丽

软件详细设计

软件详细设计
A
A
i < 11 假
输出t 结束
9
程序流程图的主要缺点如下: 1.程序流程图从本质上来说不是逐步求精的好 工具,它容易使程序员过早地考虑程序的控制 流程,而不去考虑程序的全局结构。 2.程序流程图中用箭头代表控制流,程序员可 以不顾结构程序设计的精神,随意转移控制, 而使程序结构过于混乱。 3.程序流程图在表示数据结构方面存在不足。
19
20
5.3.5 判定表与判定树 判定表可以清晰地描述复杂的条件组合。 其优点在于使别人很容易看清楚各种条件组
合以及由此产生的各种动作,甚至简单到不需要 加以任何说明。
21
例题(画判定表)
有一个基本加工的加工逻辑为:输入 两个字符,当第1个字符是A或B,且第2个 字符是数字时,修改文件;若第1个字符不 是A也不是B时,输出错误信息M1;若第个 字符不是数字时,输出错误信息M2。
具给出详细的过程性描述; 2.确定系统每一个模块使用的数据结构; 3.确定系统模块的接口细节,包括系统的外部接口和用
户界面、与系统内部其它模块的接口以及各种数据 (输入、输出和局部数据)的全部细节; 4.为系统每一个模块设计测试用例。 以上这些内容所组成的文档就是系统详细设计说明书, 这些文档设计完成以后,经过审核合格交付给下一阶 段,作为编码的依据。
并用Jackson图描绘这些数据结构。 2.找出输入数据结构和输出数据结构中的对应
10
5.3.2 盒图(N-S图) 特点: (1) 功能域(即,一个特定控制结构的作用域)
明确,用图形表示,非常清晰。 (2) 必须遵守结构化程序设计的要求,不能任
意转移控制。 (3) 很容易确定局部和全程数据的作用域。 (4) 很容易表现嵌套关系,也可以表示模块的

软件工程-详细设计

软件工程-详细设计


(3)程序流程图不便于表示数据结构。
前一页
程 序 流 程 图
前一页
盒图(N-S图)

Nassi和Shneiderman提出盒图

(1)功能域(一个特定控制结构的作用
设 域)明确,可以从盒图上一眼就看出来。

(2)不能够随意转移控制。
的 (3)很容易确定局部和全局数据的作用 域。

(4)很容易表现嵌套关系,也可以表示
序 择一个。
设 3.重复结构
计 方
重复结构的数据,根据使用时的条件由一个数 据元素出现零次或多次构成。

前一页
JACKSON图
J
JACKSON图
A
C
K
S O
Jackson图的优点:便于表示层 次结构,而且是对结构进行自顶向下分 解的有力工具;形象直观可读性好;
N
既能表示数据结构也能表示程序结构


使用最广泛、也是用得最混乱的一种描述软件设计 的方法。总的趋势是正在逐步被淘汰 。

(1)程序流程图在本质上并不是逐步求精的好

工具,它诱使程序员过早地考虑程序的控制流程, 而不去考虑程序的全局结构。

(2)程序流程图中用箭头代表控制流,因此程

序员不受任何约束,可以完全不顾结构化程序设计 的原则,随意转移控制。
描述程序处理过程的工具称为 详细设计的工具,分为图形、表格 和语言三类。都要求能提供对设计 的无歧义(无二义性)的描述。
前一页
详细设计的工具
• 程序流程图
主 要
• 盒图(N-S图) • PAD图

• 判定表

• 判定树

详细设计的内容包括

详细设计的内容包括

详细设计的内容包括详细设计,是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。

在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的软件系统产品。

(1)程序流程图。

程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的工具。

它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。

其优点是:结构清晰,易于理解,易于修改。

缺点是:只能描述执行过程而不能描述有关的数据。

(2)盒图。

盒图是一种强制使用结构化构造的图示工具,也称为方框图。

其具有以下特点:功能域明确、不可能任意转移控制、很容易确定局部和全局数据的作用域、很容易表示嵌套关系及模板的层次关系。

(3)PAD图。

PAD是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结构更清晰。

最大的优点是能够反映和描述自顶向下的历史和过程。

PAD提供了5种基本控制结构的图示,并允许递归使用。

PAD的特点有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。

(4)PDL。

PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。

语法是开放式的,其外层语法是确定的,而内层语法则不确定。

外层语法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。

内层语法描述具体操作,考虑到不同软件系统的实际操作种类繁多,内层语法因而不确定,它可以按系统的具体情况和不同的设计层次灵活选用,实际上任意英语语句都可用来描述所需的具体操作。

用它来描述详细设计,工作量比画图小,又比较容易转换为真正的代码。

PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,而且可以自动由PDL生成程序代码。

05详细设计

05详细设计

结构化程序设计的发展历史
Байду номын сангаас



1965年,E.W.Dijkstra在IFIP(国际信息处理联合会)会议上提 出“可以从高级语言中取消GOTO语言”、“程序的质量与程序中所 包含的GOTO语句的数量成反比”。但是当时并未引起很大反响。 1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能实现 任何单入口单出口的程序,这个结论奠定了结构程序设计的理论基 础。这三种基本的控制结构是“顺序”、“选择”、“循环”。 1968年Dijkstra在ACM通讯上发表了短文“GOTO statement considered harmful”再次建议从一切高级语言中取消GOTO语句, 只使用三种基本控制结构写程序。经过讨论人们认识到,不是简单 地去掉GOTO语句的问题,而是要创立一种新的程序设计思想、方法 和风格,以显著地提高软件生产率和降低软件维护代价。 1971年IBM公司在纽约时报信息库管理系统的设计中成功地使用了 结构程序设计技术(以及主程序员组),随后在美国宇航局空间实 验室飞行模拟系统的设计中,结构程序设计技术(也采用了主程序 员组的形式)再次获得圆满成功。
1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能 实现任何单入口单出口的程序,这个结论奠定了结构程序设计 的理论基础。这三种基本的控制结构是“顺序”、“选择”、 “循环”。
A B B
exp T A A exp F 或
F exp T A
a.顺序
b.if-then-else 选择
c.do-while 循环
PDL的特点
提供全部结构化控制结构、数据说
明和模块特征。能对PDL正文进行 结构分割,使之变得易于理解。 为了区别关键字,规定关键字一律 大写,其它单词一律小写。或者规 定关键字加下划线,或者规定它们 为黑体字。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
:先执行一次循环体,再对结束循环控制条件进
行判定,成立时退出循环,否则重复执行循环体 。
循环体
F 循环条件
T
5.多情况选择型(case结构):列举多
个加工情况,根据控制变量的取值,选择执行其 一。
T
选择条件1
Case部分1
T
选择条件2
Case部分2

T
选择条件n
Case部分n
总结!!
入口
A
B T P1 F
盒图没有箭头,因此不允许随意转移控制。坚 持使用盒图作为详细设计的工具,可以使程序员逐 步养成用结构化的方式思考问题和解决问题的习惯。
3.PAD图
PAD图是问题分析图(problem analysis diagram)的英文缩写,自1973年由日本日立公司发明 以后,已得到一定程度的推广。它用二维树形结构的 图来表示程序的控制流,将这种图翻译成程序代码比 较容易。下图给出了PAD图的基本符号。
为了消除这些缺点,应对流程图所使用的符号做 出严格的定义,不允许人们随心所欲地画出各种不规 范的流程图,故只能使用以下给出的5种基本控制结 构。
在画程序流程图时,要使用规定的符号,而不 允许出现任何其他符号。下表是ISO提出并已被中 国国家技术监督局批准采用的流程图标准符号, 大家在画程序流程图时,要尽量采用这些符号。
P1
P1
C
P2
P2
(a) 顺序(先执行p1后执行p2) (b) 选择(If C then p1 else p2)
P1
L1
L2 X=
P2
Ln
Pn
(c) Case 型多分支
WHILE C
P
(d)While 型 循环(while C do p)
UNTIL C
P
(e)Until 型 循环(repeat p until C)
PAD图
A
B
F UNTIL P4 I
UNTIL P5
P3
P1
G
H
=1 WHILE P2 C
=2 D
J
=3 E
PAD图的主要优点如下:
①使用表示结构化控制结构的PAD图符号 所设计出来的程序必然是结构化程序。
②PAD图所描绘的程序结构十分清晰。图 中最左面的竖线是程序的主线,即第一层结 构。随着程序层次的增加,PAD图逐渐向右 延伸,每增加一个层次,图形向右扩展一条 竖线。PAD图中竖线的总条数就是程序的层 次数。
详细设计的工具
总体概述
1.在概要设计阶段完成了软件系统的总体设计, 规定了各个模块的功能及模块之间的联系之后,进一 步就要考虑实现各个模块规定的功能,也就是进行软 件的 详细设计 ,也称为 过程设计 , 而 描 述 程 序 处 理过程的工具就称为 详细设计的工具 。
2.当前流行的表示程序逻辑结构的主要方式有三
第一个任务
第二个任务
2.选择型(if-then-else):依照逻辑
判断式的取值决定选择两个加工中的一个来执行 。
分支条件
F
T
Else部分
Then部分
3.先判定后循环型(do-while循环):
先对循环控制条件进行判定,成立时,重复执行选 定的加工,否则退出循环。
循环条件 F T 循环体
4. 先循环后判定型(repeat循环)
X=1
P2
T
C
F T P3 F
X=2
D

I
X=3
E
H
P4
T
P5
J 出口 由基本结构嵌套构成的流程图
程序流程图的主要缺点如下:
①程序流程图中用箭头代表控制流,程
序员可以不受任何约束,因而不顾结构
化程序设计的理念,随意转移控制。
②程序流程图不适宜表示数据结构。
2.N-S流程图(盒图)
产生原因:因为流程图允许使用箭头随意转移流 程,稍有疏忽就不能保证流程是结构化的,而且这种 流程图占用篇幅较大,工作量也很大,同时流程图对 于基本逻辑结构没有相应的符号。例如:循环结构仍 采用条件结构符号,在程序流程图中不易区分到底是 哪种结构,所以再将流程图转化成用某一种高级语言 书写的结构化编写时,是有一定难度的。出于要有一 种不允许违背结构程序设计精神的图形工具的考虑, Nassi和Shneiderman提出了盒图,又称为N-S图。
visio:微软的产品,功能强大,可以画流
程图,还有很多,包括数据库,机械等方面。
word软件也可以画流程图,我们可以轻松 的画出规范的流程图。
亿图软件,可以画出漂亮的流程图,如图
Diagram Designer 小巧,占用空间小, 运行速度快
谢谢
③用PAD途表现程序逻辑,易读、易懂、 易记。PAD图是二维树形结构的图形,程序 从图中最左竖线上端的结点开始执行,自上 而下,从左向右顺序执行,遍历所有结点。
④容易将PAD图转换成高级语言源程序, 这种转换可用软件工具自动完成,从而可省 去人工编码的工作,有利于提高软件可靠性 和软件生产率。
在程序开发过程中经常需要画流程图,有利 于程序的编写,介绍几款流行的流程图软件
常用标准程序流程图符号
符号
说明
起止端点,表示转向外部环境或从外部环境转入的 端点符
处理过程
数据的输入及输出
准备或预处理
条件判断 流程线
--------
虚线 注解或注释
任何复杂的程序流程图都应由这5种 基本控制结构组合或嵌套而成。
1.顺序型:几个连续的加工步骤依次排列构
成,执行时按先后顺序依次执行。
N-S图的基本逻辑结构表示方法: ①顺序结构
图中每个矩形框表示一个基本元素,两个或多 个矩形框顺序组成一个顺序结构
②条件结构,也称为if-then-else结构
当条件为真时执行then部分,条件为假时 执行else部分。
③当型(while型)循环结构
当P为真时,执行A;然后再判断条件P的真 假;如为真,再执行A,直到P为假时终止。
类比
④直到型(until型)循环结构
先执行A,再判断P的真假,如为假,则返 回再执行A,如为真,则不再执行循环。
类比
⑤选择结构
N-S图
A
B
T
P1
x
=1 =2 =3 T
DO-WHILE
P2
G
C DE H
F
f
P3
F
I
P4
DO-UNTIL
DO-UNTIL P5
J
N-S图的最大特点是它没有带箭头的流程线 ,同时以基本逻辑结构作为图形的基本符号,所以它 描述的算法必然是结构化的。用N-S图表示算法,思 路清晰,具有良好的结构,容易设计,也容易阅读, 可以十分放心地进行结构化程序设计,能有效地提高 详细设计的质量和效率。
种: 图形描述 、语言描述 、表格描述 。
无论哪种工具基本要求都是能提供对设计的无歧 义描述,从而在编码阶段能把对设计的描述直接翻译 成代码。
详 细
图形 描述
设 计 语言 的 描述
工 具 表格
描述
程序流程图 N-S流程图
PAD图 过程设计语言
判定表
判定树
1.程序流程图 三最!!
程序流程图(Program Flow Chart)又称为程 序框图,是历史最悠久、使用最广泛的描述过程设计 的工具。但流程图也存在一些严重的缺点,例如流程 图所使用的符号不够规范,常常使用一些习惯性用法。 特别是表示程序控制流程的箭头可以不受任何约束, 随意转移控制,所以它也是用得最混乱的一种方法。
相关文档
最新文档