详细设计的工具
软件工程试题1
![软件工程试题1](https://img.taocdn.com/s3/m/7f91b92c59eef8c75ebfb326.png)
《软件工程》期末考试样题一、填空题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.软件生存周期是从软件开始开发到开发结束的整个时期。
软件工程讲义第六章
![软件工程讲义第六章](https://img.taocdn.com/s3/m/7f62e767581b6bd97f19eaf3.png)
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,即连续 出现超正常值中断。
高级计算机程序设计员复习题(含参考答案)
![高级计算机程序设计员复习题(含参考答案)](https://img.taocdn.com/s3/m/2e43732558eef8c75fbfc77da26925c52cc5910b.png)
高级计算机程序设计员复习题(含参考答案)一、单选题(共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、目前各部门广泛使用的人事档案管理、财务管理等软件,按计算机应用分类,应属于()。
软件系统详细-设计
![软件系统详细-设计](https://img.taocdn.com/s3/m/7250655edcccda38376baf1ffc4ffe473368fde0.png)
② 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 属性变量名,… 属性包括:整型、实型、双精度型、字符型、指针、数组及结构等类型。
《软件工程》
软件的系统设计—详细设计 陈巧丽
软件详细设计
![软件详细设计](https://img.taocdn.com/s3/m/023b04aa360cba1aa811dacf.png)
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) 很容易表现嵌套关系,也可以表示模块的
软件工程-详细设计
![软件工程-详细设计](https://img.taocdn.com/s3/m/38061f3da36925c52cc58bd63186bceb19e8edab.png)
具
(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图
内
• 判定表
容
• 判定树
详细设计的内容包括
![详细设计的内容包括](https://img.taocdn.com/s3/m/f9f424ecf80f76c66137ee06eff9aef8941e4811.png)
详细设计的内容包括详细设计,是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。
在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的软件系统产品。
(1)程序流程图。
程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的工具。
它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。
其优点是:结构清晰,易于理解,易于修改。
缺点是:只能描述执行过程而不能描述有关的数据。
(2)盒图。
盒图是一种强制使用结构化构造的图示工具,也称为方框图。
其具有以下特点:功能域明确、不可能任意转移控制、很容易确定局部和全局数据的作用域、很容易表示嵌套关系及模板的层次关系。
(3)PAD图。
PAD是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结构更清晰。
最大的优点是能够反映和描述自顶向下的历史和过程。
PAD提供了5种基本控制结构的图示,并允许递归使用。
PAD的特点有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。
(4)PDL。
PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。
语法是开放式的,其外层语法是确定的,而内层语法则不确定。
外层语法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。
内层语法描述具体操作,考虑到不同软件系统的实际操作种类繁多,内层语法因而不确定,它可以按系统的具体情况和不同的设计层次灵活选用,实际上任意英语语句都可用来描述所需的具体操作。
用它来描述详细设计,工作量比画图小,又比较容易转换为真正的代码。
PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
05详细设计
![05详细设计](https://img.taocdn.com/s3/m/91fcd438376baf1ffc4fad35.png)
结构化程序设计的发展历史
Байду номын сангаас
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正文进行 结构分割,使之变得易于理解。 为了区别关键字,规定关键字一律 大写,其它单词一律小写。或者规 定关键字加下划线,或者规定它们 为黑体字。
详细设计的方法与表达工具
![详细设计的方法与表达工具](https://img.taocdn.com/s3/m/e37d33d6aff8941ea76e58fafab069dc502247fb.png)
详细设计的方法与表达工具详细设计是软件开发中至关重要的一步,它是软件架构和程序设计的实现方法,是软件的实际编写工作的基础。
详细设计的过程需要软件工程师对软件架构和程序设计进行细化,具体到每个功能模块、每个数据结构、每个算法和每个界面的设计,从而确保程序实现的正确性和高效性。
在本文中,我们将详细介绍详细设计的方法和表达工具,包括设计方法的优化、常用的表达工具以及注意事项等内容。
设计方法的优化在进行详细设计之前,设计师需要根据系统的需求和功能,制定相应的设计方法。
本节将介绍一些常见的设计方法,并分析它们的优点和缺点,以供设计师在实际工作中参考。
1. 结构化设计结构化设计是一种基于模块化思想的设计方法。
在结构化设计中,软件系统被分成模块,并且模块之间的接口和数据传递都非常清晰。
结构化设计方法的主要优点是可以支持模块的独立性和可重用性,并且可以提高程序的可读性和可维护性。
然而,结构化设计也可能导致系统过于复杂,降低了性能和效率。
2. 面向对象设计面向对象设计是一种基于对象的设计方法。
在面向对象设计中,系统被视为由对象组成的集合,对象通过消息传递进行通信。
面向对象设计方法的主要优点是可以提高软件的可重用性、可读性和可维护性,并且可以提高程序的性能和效率。
然而,面向对象设计的缺点是过于灵活,需要特定的设计方法和工具才能有效实现。
3. 数据驱动设计数据驱动设计是一种基于数据驱动的设计方法。
在数据驱动设计中,系统的设计是基于数据的结构和数据处理流程的,而不是基于功能。
数据驱动设计方法的主要优点是可以支持复杂的数据关系和数据处理流程,并且可以提高程序的性能和效率。
然而,数据驱动设计需要特定的数据结构和数据处理算法,可能导致系统的复杂性和可读性降低。
常用的表达工具在进行详细设计的过程中,设计师需要使用一些表达工具来记录设计的过程,以便其他设计师或开发者能够理解设计的目的和实现方式。
下面我们将介绍一些常见的表达工具,包括UML、编程语言、伪代码和流程图等。
详细设计的工具
![详细设计的工具](https://img.taocdn.com/s3/m/23848e18866fb84ae55c8d05.png)
种不允许违背结构程序设计精神的图形工具的考虑,
Nassi和Shneiderman提出了盒图,又称为N-S图。
N-S图的基本逻辑结构表示方法: ①顺序结构
图中每个矩形框表示一个基本元素,两个或多 个矩形框顺序组成一个顺序结构
②条件结构,也称为if-then-else结构
当条件为真时执行 then 部分,条件为假时 执行else部分。
亿图软件,可以画出漂亮的流程图,如图
Diagram Designer 小巧,占用空间小, 运行速度快
谢谢
在画程序流程图时,要使用规定的符号,而不 允许出现任何其他符号。下表是ISO提出并已被中 国国家技术监督局批准采用的流程图标准符号, 大家在画程序流程图时,要尽量采用这些符号。
常用标准程序流程图符号 符号 说明
起止端点,表示转向外部环境或从外部环境转入的 端点符 处理过程 数据的输入及输出 准备或预处理 条件判断 流程线 -------虚线 注解或注释
详细设计的工具
总体概述
1. 在概要设计阶段完成了软件系统的总体设计, 规定了各个模块的功能及模块之间的联系之后,进一 步就要考虑实现各个模块规定的功能,也就是进行软 件的 详细设计 ,也称为 过程设计 , 而 描 述 程 序 处 理过程的工具就称为 详细设计的工具 。 2. 当前流行的表示程序逻辑结构的主要方式有三 种: 图形描述 、 语言描述 、 表格描述 。 无论哪种工具基本要求都是能提供对设计的无歧 义描述,从而在编码阶段能把对设计的描述直接翻译 成代码。
任何复杂的程序流程图都应由这 5 种 基本控制结构组合或嵌套而成。
1.顺序型:几个连续的加工步骤依次排列构
成,执行时按先后顺序依次执行。
第一个任务 第二个任务
软件工程详细设计
![软件工程详细设计](https://img.taocdn.com/s3/m/d29b21082379168884868762caaedd3383c4b505.png)
软件⼯程详细设计在完成前置的总体设计报告后,就应该开始着⼿于详细设计了,在这⼀步骤中,我们将需要去细化总体设计中提出的模块,详细的设计出每个模块的作⽤、算法,各个模块间的结构关系,通过需求分析中的结果,利⽤总体设计提出的⼤致框架设计出满⾜客户需求的软件系统产品。
⼀、为什么需要详细设计在总体设计完成后,应当对系统的整体有了⼤概的⼀个了解,但在没有对各个模块提出更为详细的要求的情况下,程序员难以对系统拥有准确的判断,从⽽导致系统运⾏效率低下,结构不清晰等等的问题,⽽在详细设置中,将会提出对每⼀个模块的性能要求、流程要求、⽤户界⾯要求等⼀系列详细的要求,这将会令编码者在编码实现的过程中思路更为清晰,减少编程过程中因合作产⽣的混乱,提⾼整个程序的开发效率。
⼆、程序的结构化设计“模块化设计是指在进⾏程序设计时将⼀个⼤程序按照功能划分为若⼲个⼩程序模块,每个⼩程序模块完成⼀个确定的功能,并在这些模块间建⽴必要的联系,通过模块的互相协作完成整个功能的程序设计⽅法。
”在我们刚开始学习c语⾔程序设计时,我们通常习惯将所有的代码按照⾃⼰的思路写在同⼀个.c⽂件当中,虽然程序可以实现相应的功能,并且作者只需要标注良好的注释,就能在回看代码时重新理解代码的含义。
但当程序需要分享或者⼯程量过于庞⼤需要多⼈协作完成⼀项程序时,这种⾯向过程编程的⽅式将是极其没有效率的,就如同在运动会上的接⼒赛跑,唯有当⼀个⼈完成了指定的任务和功能后,后⾯的成员才能开始其负责部分的代码,所以这种编程⽅法并不适⽤于⼤项⽬。
⽽程序的结构化设计很好的弥补了⾯向过程编程难以多⼈协作的问题,它将⼀个⼤程序拆分成⼀个⼀个⼩零件,每⼀个零件都有其⾃⾝的功能,并且零件便于程序测试,在每完成⼀个零件后可单独对其进⾏各种测试保证程序的运⾏正确⽆误,在完成所有的零件后,由⼀根主轴将所有的零件穿起来,利⽤零件的相互转换作为参数和返回值实现不同的程序功能。
同时模块化设计实现的程序也便于后期程序的维护,就如同⼀辆汽车,某个部件出现损坏或过时了,只需更换对应的部件即可,⽽模块化程序在出现错误时也只需对相应的部分进⾏修改更新,⽽在程序需要添加功能时,也只需要再制造所需要的零件进⾏组装即可。
软件工程期末复习选择题
![软件工程期末复习选择题](https://img.taocdn.com/s3/m/65be9fdc49649b6648d74742.png)
1. 只有高水平的软件工程能力才能生产出高质量的软件产品。
因此,须在软件开发环境或软件工具箱的支持下,运用先进的开发技术、工具和管理方法来提高(D)能力。
A. 组织软件B. 软件质量C. 设计软件D. 开发软件2. 软件测试的目的是(B)A. 评价软件的质量B. 发现软件的错误C. 找出软件的所有错误D. 证明软件是正确的3. 软件的可维护性、可使用性、(A)是衡量软件质量的几个主要特性。
A. 可靠性B. 可复用性C. 可理解性D. 可修改性4. 可行性研究的目的是(B)A. 开发项目B. 项目值得开发否C. 规划项目D. 维护项目5. 程序设计语言的技术特性不应包括(D)A. 数据结构的描述性B. 抽象类型的描述性C. 抽象类型的描述性D. 软件的可移植性6. 对于构造原型的建议,以下说法不正确的(D)A。
暂不考虑速度、空间等性能效率方面的要求B. 暂不考虑错误恢复和处理C. 可降低可靠性和软件质量标准D. 对于原型界面部分的设计,暂不考虑与最终系统的界面相容7. 以下说法错误的是(B)A. IEEE指美国电气与电子工程师学会B. GB指中华人民共和国国家军用标准C. DOD-STD指美国国防部标准D. MIL-S指美国军用标准8. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(B)A. 数据流图B. 状态图C. 系统结构图D. 时序图9. 为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件,通常分为两个阶段完成,即(B)和过程设计。
A. 程序设计B. 结构设计C. 系统设计D. 详细设计10. 结构化分析方法(SA)是一种面向(C)的需求分析方法。
A. 对象B. 数据结构C. 数据流D. 控制流11. 软件是不可见的复杂的逻辑实体,不同于任何其他制造业的产品。
使得软件质量难于把握的一个因素是(A)A. 软件需求B. 硬件需求C. 软件配置D. 硬件配置12. DFD中的每个加工至少有(A)A. 一个输入流和一个输出流B. 一个输入流或者一个输出流C. 一个输入流D. 一个输出流13. 软件测试的目的是(B)A. 试验性运行软件B. 发现软件错误C.证明软件正确D. 证明软件正确14. 为使得用户满意,有两个必要条件:①设计的规格说明符合用户的要求;②程序要按照设计规格说明所规定的情况正确执行。
软件工程第5章 详细设计
![软件工程第5章 详细设计](https://img.taocdn.com/s3/m/b5830efbf18583d04864599a.png)
详细设计的描述工具
(4) PDL( Program Design Language )
PDL与需求分析中采用的结构化语言统属于伪 码。伪码的结构分为内外两层,外语法应符合一般 程序设计语言常用的语法规则,而内层语法则用一 些简单的句子、短语(自然语言)。
18
详细设计的描述工具
PDL作为一种用于描述程序逻辑的语言,具有以下特点:
3
详细设计的描述方式
详细设计的描述方式分类:
1)图形描述:流程图、盒图、PAD图等 2)语言描述:PDL语言等 3)表格描述:判定表等
4
详细设计的描述工具
详细设计的描述工具:
下面介绍一些有代表性的详细设计工具: (1)程序流程图
程序流程图又称之为程序框图,它是软件开发者最熟悉的一种 算法表达工具。
ENDIF
21
详细设计的描述工具
3)多路选择结构
CASE OF <变量名>: WHEN <条件1> SELECT <语句或程序块> WHEN <条件2> SELECT <语句或程序块> …… WHEN <条件n> SELECT <语句或程序块>
DEFAULT: <语句或程序块> ENDCASE
22
A(m)>A(j)
j=j+1
T
m=j
F
A(m) ﹤-﹥A(i) i=i+1
PAD图的控制流程为自上而下、从左到右。
15
详细设计的描述工具
举例:
请使用PAD图描述下列程序的算法: 在数据A(0)~A(10)中求最大数。
16
详细设计的描述工具
各种详细设计工具的比较
![各种详细设计工具的比较](https://img.taocdn.com/s3/m/37f90153f524ccbff02184d3.png)
各种详细设计工具的比较
• 流程图和方块图的图形性质能给出控制流程的全貌,因而许多设计者都乐于使 用。判定表严谨的列表内容对某些应用是一种极好的工具。IPO图则在信息流 和程序过程之间提供了有效的联系。
• 可见,设计工具的选择更大程度上取决于人的因素,而不是取决于技术特性。 • 表5-1对详细设计中的图形工具、设计语言和表格工具各方面的性能作了比较。
各种详细设计工具的比较
• 对照上面提出的这些特性可以看到,PDL是最好的,它把上述特性综合到了一 起。PDL可以直接嵌入源程序清单,因而可以改善软件文件编制,并使得设计 的维护易于进行。利用任何文本编辑程序或者文字处理软件都可以对PDL进行 编辑;已经有了一些自动化的PDL处理器,而且自动代码生成也是很有希望的。
– 数据表示:描述局部数据和全程数据的能力是详细设计的重要因素,设计工具应当直接地 表示这些数据。
– 逻辑验证:设计逻辑的自动验证是软件测试期间要达到的首要目标。能够增强逻辑验证能 力的软件工具将提高测试的完备程度。
– 编程能力:在详细设计后面的软件工程步骤是编写程序。如果用软件工具表示的设计可以 很容易转换成源程序的话,那么,软件开发的工作量和可能出现的错误都将减少。
– 强行结构化:鉴于采用结构化程序设计概念设计方法具有明显的好处,一种只允许使用结 构化构造的设计工具将会促使人们养成良好的设计习惯。
各种详细设计工具的比较
– 自动处理:详细设计中有一些信息可以用计算机进行处理,使设计人员对软件的正确性与 质量有新的深入了解。自动处理器提供的“报告”可加深这种理解。
软件工程学教程
各种详细设计工具的比较
• 根据上面所介绍的一般特性,设计工具应有下列属性:
– 模块性:设计工具应能支持模块化软件的开发,例如,过程和块结构的直接描述并且能够 提供接口的手段。
软件工程(填空题)
![软件工程(填空题)](https://img.taocdn.com/s3/m/9b893279f111f18583d05a7b.png)
1、软件工程的基本原则包括__分解__、__独立_、一致性、确定性等。
2、软件生存周期一般定义为问题定义、(可行性分析)、(总体描述)、设计、( 编码)、测试、运行与维护阶段。
3、HIPO图是由一组IPO_和一张HC__图组成。
4、UML的定义包括__UML语义_ 和__UML表示法___两个部分5、软件测试的方法有__结构测试_和_功能测试____(又称黑盒法)6、成本估算方法主要有___ 、_ 和____三种类型7、详细设计的工具有图示工具、设计语言和表格工具8、为了使用流程图描述结构化程序,限制流程图有五种基本的控制结构,即顺序型、选择型_、while型循环_、until循环、多情况选择。
9、大型软件测试包括单元测试;集成测试、确认测试和系统测试10.详细设计的工具有三种类型分别为___、__和语言工具11软件工程是从( 软件开发技术 )和( 软件工程 )两个方面研究如何运用工程学的基本原理和方法来更好地开发和维护计算机软件的一门学科。
12.数据流图的基本符号包括(1)数据源点或终点(外部实体) (2)加工(数据处理) (3)数据存储(文件) (4)数据流。
把程序从一个硬件或软件环境转移到另一种配置环境称为软件的( 可移植性)12,Jackson图除了可以表达程序结构外,还可以表达(程序结构、),它首先要分析_(数据结构_),并用适当的工具来描述。
13.白盒法包括多种具体设计程序测试用例的方法,主要目的是提高测试的_(效率).14.设计测试方案中最困难的问题是__设计测试用的输入数据__,通常的做法是用设计基本的测试方案_(设计基本的测试方案),再用_(白盒法补充一些方案_)补充一些方案。
19、在软件开发过程中要产生大量的信息,要进行大量的修改软件配置管理能协调软件开发,并使混乱减到最低程度。
20、规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
计算机程序设计员试题及参考答案
![计算机程序设计员试题及参考答案](https://img.taocdn.com/s3/m/f2b2de7fdc36a32d7375a417866fb84ae45cc33a.png)
计算机程序设计员试题及参考答案一、单选题(共100题,每题1分,共100分)1.下列关于详细设计的工具,说法错误的是:( )。
A、详细设计的工具包括表格B、详细设计的工具包括语言C、详细设计的工具包括图形D、详细设计的工具包括数字正确答案:D2.( )是指对研究的系统要抓住重要方面,而忽略个别的、非本质的属性和差别,抽出共性的、本质的东西。
A、抽象B、对象C、类D、模块正确答案:A3.所有的( )必须与业务需求一致。
A、产品需求B、用户需求C、功能需求D、系统需求正确答案:B4.狭义地讲,测试是指:( )。
A、指软件产品生命周期内所有的检查、评审和确认活动B、对软件产品功能的检查和评价C、对软件产品质量的检验和评价D、对软件产品是否存在bug的检验正确答案:C5.下列哪一种说法是对SQL Server的描述是错误的()A、层次化数据库。
B、企业级数据库。
C、客户机/服务器数据库。
D、关系型数据库。
正确答案:A6.( )方法是一种面向数据流的设计方法,是当前应用较广泛的技术,是一种较为完善的系统设计方法。
A、结构化设计B、程式化设计C、面向对象设计D、模块化设计正确答案:A7.计算机程序设计员要严格按照工作程序及相关文档的规范开展工作,指的是( )。
A、严肃认真B、谦虚谨慎C、办事规范D、胸襟宽阔正确答案:C8.( )素以最慢的数据访问方法著称。
A、ADOB、DAOC、ODBCD、OLE DB正确答案:C9.( )的工具包括图形、表格和语言。
A、详细设计B、概要设计C、模块设计D、需求分析正确答案:A10.软件管理按时间可划分为( )和使用维护管理。
A、生产管理B、技术管理C、软件设计管理D、开发进度管理正确答案:A11.密码验证模块包含的两个子模块是:( )。
A、用户登录和密码修改B、身份认证和密码修改C、身份认证和密码认证D、用户登录和密码认证正确答案:B12.( )方法是针对新的程序设计情形而采用的,它克服了早期技术的诸多限制,依赖于Microsoft新的底层访问方法OLE-DB。
图形设计工具
![图形设计工具](https://img.taocdn.com/s3/m/ab04112dce2f0066f53322fe.png)
1.1 程序流程图
• 显然,第一种选择方案是一种理想的方法,但在不违反结构程序设计精神的前 提下,也可以采用第二种方案。实际上,某些详细设计工具并不提供非结构化 的构造,而另有一些工具则提供有限的几种从嵌套中离去的非结构化构造。但 由于在流程图方法中可以按特定的要求画“箭头”,因而有可能使设计人员不 理会结构程序设计的要求,而随便破坏结构化构造的功能域,这是需要注意的。
• 用方块图表示的结构化构造如图5-5所示。
第一个任务 下一个任务 再下一个任务
顺序构造
循环条件
do-whilel 循环体
repeatuntil
循环体
循环条件
重复构造
条件
F
T
else- then部分 部分
条件构造
条件
F
T
值 值 ...
case case ...
选择构造
图5-5 方块图表示的结构化构造
软件工程学教程
图形设计工具
• 详细设计中的图形设计工具有流程图、方块图、HIPO图和PAD图等,这些图 形工具提供了极好的图形样式,使得我们可以方便地描述过程的细节。
1.1 程序流程图
• 程序流程图又称为程序框图,是程序设计中应用最广泛的算法描述方法,流程 图独立于各种程序设计语言,且比较直观、清晰,易于学习掌握。然而,它也 是经常被误用的一种方法。目前使用中最大的不足之处,是不够规范,所用符 号不统一。特别是任意使用箭头会使程序的质量受到很大影响,为此必须对流 程图的符号及使用加以严格的限制,使之成为一个精确的、规范化的算法表达 工具。
1.1 程序流程图
• 图5-2所画的选择构造 (或者说Select-Case构造) 实际上是if-then-else构造的一种 扩充。通过接连地判断,测试一个参数,直到该条件为真,就执行Case部分的 处理路径。
详细设计方法和工具
![详细设计方法和工具](https://img.taocdn.com/s3/m/0a55bc1a66ec102de2bd960590c69ec3d5bbdb68.png)
详细设计方法和工具
详细设计方法和工具是软件开发过程中非常重要的一部分,它涉及到了软件系统的具体实现。
详细设计方法主要是指将系统的需求规格说明书进行详细的分解,设计出系统的具体模块、类等具体的软件设计方案,以达到实现软件系统的目的。
详细设计方法的主要内容包括了模块接口的定义、模块内部的数据结构设计、算法设计、界面设计等。
这些内容都需要具有清晰、准确、严谨的特点,并且需要满足系统需求规格说明书中的相关要求。
另外,详细设计工具是帮助软件设计人员实现具体方案的重要手段。
常用的详细设计工具包括UML(统一建模语言)、ER图(实体关系图)、BP图(业务流程图)等。
这些工具提供了丰富的符号和元素,可以帮助软件设计人员完成系统设计的过程,并且减少了实现过程中的错误。
总之,详细设计方法和工具是软件开发成功的关键之一,只有通过严谨的设计方案和高效的设计工具,才能够实现软件系统的高质量和高可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)又称为程 序框图,是历史最悠久、使用最广泛的描述过程设计 的工具。但流程图也存在一些严重的缺点,例如流程 图所使用的符号不够规范,常常使用一些习惯性用法。 特别是表示程序控制流程的箭头可以不受任何约束, 随意转移控制,所以它也是用得最混乱的一种方法。