软件工程18(结构化设计详细设计)

合集下载

结构化设计

结构化设计

⑷.按照设计改进原则细化和改进初始的SC图,获得最 终SC图。
⑸.给出模块接口描述。例如,进出模块的参数表,外
界输入输出以及从全程数据(区)得到的信息项等, 此外还要注明它的调用模块和被调用模块。
⑹.复审,如有错误,转⑵修改完善,否则进入详细 设计。
2 SD方法设计步骤
“事务”
区分事务中心和数据接 受通路
(2) 盒图(N—S图)
盒图是为了满足结构化需要,特别 是取消了程序流程图随意跳转规则后而 提出的。
软件工程
5种控制结构N—S图的符号
(2) 盒图(N—S图)
与程序流程图相比较,盒图具有如下明显的优点: l 在盒图中不能任意转移控制。 l 特定控制逻辑的作用范围明确,可以从盒图上一目了然。 l 很容易确定局部和全程数据的作用域。 l 很容易表现嵌套关系,也容易表示模块的层次结构。 l 所有的程序结构均用方框表示。因此程序的结构非常清晰。 l 程序只有一个入口、一个出口,完全能够满足单人口单出口的结 构化程序设计要求。 l 盒图形象直观,具有良好的可视性。循环的范围、条件语句的控 制范围等都是一目了然的。 l 盒图简单,易学易用。 主要缺点是: 当程序内嵌套的层数增多时,内层方框会越来越小,一方 面会增加画图难度,另一方面会影响图形的清晰度。
PDL的缺点:不如图形描述形象直观,很容易使人陷入 程序的具体细节中去,因此人们常常将PDL描述与具体的 图形描述结合起来使用。
软件工程
(5) 判定表
在进行软件设计时如遇到复杂的条件选择,有 必要使用一种描述机制来清晰地表示复杂的条件 组合与动作间的对应关系,判定表就是解决这一 问题的有力工具。
一张判定表由4部分组成。左上部列出所有条 件;左下部列出所有可能做的工作;右上部每一 列表示出各种条件的一种可能组合,填入“T” 表示条件成立,填入“F”表示条件不成立,空 白表示条件成立与否不影响。所以所有列表示条 件组合全部可能情况;右下部的每一列是和每一 种条件组合相对应的工作,填入“×”表示在该 列上部规定的条件下做该行左边列出的那项工作, 空白表示不做该项工作。

软件工程练习题&答案

软件工程练习题&答案

软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。

A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。

此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。

A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。

A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。

A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。

A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。

A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。

A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。

A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。

( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。

A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。

软件结构化设计之概要设计

软件结构化设计之概要设计

软件结构化设计之概要设计什么是概要设计?⼜叫总体设计。

即对全局问题的设计,也就是设计系统总的处理⽅案。

软件⼯程总体设计包括:计算机配置设计、系统模块结构设计、数据库和⽂件设计、代码设计以及系统可靠性与内部控制设计等内容。

软件功能分解属于下列软件开发中的总体设计阶段。

完成⼤型⼯程体系的总体⽅案和总体技术途径的设计过程。

在⼀般⼯程设计中总体设计则指按计划任务书的内容进⾏概略计算,附以必要的⽂字说明和图纸设计,⼜称初步设计。

对于⼯程系统⼯程总体设计是指前⼀种含义。

总体设计是⼯程项⽬开发过程中的⼀个重要阶段。

研制⼤型⼯程体系的基本问题是,怎样把⽐较笼统的初始研制要求逐步地变为成千上万个研制参加者的具体⼯作,以及怎样把这些⼯作最终综合成⼀个技术上先进、经济上合算、研制周期短、能协调运转的实际系统,并使这个系统成为它所从属的更⼤系统的有效组成部分。

1954年美国最早出现为导弹研制计划提供这种服务的系统⼯程公司──拉莫·沃尔德⾥奇公司。

50年代末中国开始研制⼈造卫星和运载⽕箭时,也建⽴了这样的机构,并称之为总体设计部。

总体设计部设计的是系统的总体,系统的总体⽅案和实现它的技术途径,并通过可⾏性研究和技术经济论证,确保项⽬在规划、设计、制造和运⾏各个阶段,总体性能最优。

这样可以避免因规划、研制和运⽤的缺陷造成⼈⼒、物⼒和财⼒的浪费。

软件⼯程的概要设计就是把系统的功能需求分配到⼀个特定的软件系统结构中。

基本⽬的就是回答“概括地说,系统应该如何实现”这个问题。

总体设计阶段的另⼀项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。

概要设计的主要任务是把需求分析得到的系统扩展⽤例图转换为软件结构和数据结构。

设计软件结构的具体任务是:将⼀个复杂系统按功能进⾏模块划分、建⽴模块的层次结构及调⽤关系、确定模块间的接⼝及⼈机界⾯等。

数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。

软件工程判断与选择题

软件工程判断与选择题

1.需求规格说明书的作用不应该包括()。

A、软件设计的依据B、用户与开发人员对软件要做什么的共同理解C、软件验收的依据D、软件可行性研究的依据2.结构化设计方法在软件开发中用于()。

A、概要设计B、详细设计C、程序设计D、测试用例设计3.软件结构使用的图形工具,一般采用()图。

A、DFDB、PADC、SCD、ER4.JSP方法是一种面向()的设计方法。

A、对象B、数据流C、控制结构D、数据结构5.程序设计语言的技术特性不应包括()。

A、数据结构的描述性B、抽象类型的描述性C、数据库的易操作性D、软件的可移植性6.软件测试中,白盒法是通过分析程序的()来设计测试用例的。

A、应用范围B、内部逻辑C、功能D、输入数据7.软件维护费用高的主要原因是()A、人员少B、人员多C、生产率低D、生产率高8.瀑布模型本质上是一种()模型。

A、线性顺序B、顺序迭代C、线性迭代D、及早见产品9.软件质量必须在()加以保证。

A、开发之前B、开发之后C、可行性研究过程中D、设计与实现过程中10.确认测试主要涉及的文档是()。

A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序1.需求分析中,开发人员要从用户那里解决的最重要的问题是( )。

A、要让软件做什么B、要给该软件提供哪些信息C、要求软件工作效率怎样D、要让该软件具有何种结构2.DFD中的每个加工至少有( )。

A、一个输入流或一个输出流B、一个输入流和一个输出流C、一个输入流D、一个输出流3.详细设计与概要设计衔接的图形工具是( )。

A、DFD图B、SC图C、PAD图D、程序流程图4.下列几种类型中,耦合性最弱的是( )。

A、内容型B、控制型C、公共型D、数据型5.确认测试中,作为测试依据的文档是( )。

A、需求规格说明书B、设计说明书C、源程序D、开发计划6.为了适应软硬件环境变化而修改软件的过程是( )。

A、校正性维护B、完善性维护C、适应性维护D、预防性维护7.瀑布模型是一种( )。

软件工程(第五版)--习题及答案

软件工程(第五版)--习题及答案

一、判断题1、(√)详细设计也称模块设计。

2、(×)在数据代码设计时,应尽量让一条代码代表多个信息。

3、(×)在数据代码设计时,应可能设计字母和数字混合代码。

4、(×)在输出界面设计时,要尽可能使用代码或缩写,以求简洁。

5、(×)详细设计评审应尽可能和概要设计评审一同进行。

二、选择题1、软件详细设计的主要任务是确定每个模块的(A )。

A 、算法和使用的数据结构、算法和使用的数据结构 B 、外部接口、外部接口 C 、功能、功能 D 、程序、程序2、借助于软件工具,可将(C )容易地转换为高级语言源程序。

)容易地转换为高级语言源程序。

A 、程序流程图、程序流程图 B 、N-S 图 C 、PAD 图 D 、判定表、判定表3、不属于详细设计工具的是(A )。

A 、DFD 图B 、PAD 图C 、PDlD 、N-S 图 4、程序的三种基本结构是(C )。

A 、过程、子过程和子程序、过程、子过程和子程序 B 、递归、堆栈和队列、递归、堆栈和队列 C 、顺序、选择和重复、顺序、选择和重复 D 、调用、返回和转移、调用、返回和转移 5、下面描述中,符合结构化程序设计风格的是(A )。

A 、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 、模块只有一个入口,可以有多个出口C 、注重提高程序的执行效率、注重提高程序的执行效率D 、不使用goto 语句 三、简答题1、软件的详细设计阶段完成的主要任务是什么? 答:(1)算法设计;(2)数据结构设计;(3)模块接口细节设计;(4)测试用例设计;(5)数据库物理设计;(6)数据代码设计;(7)其他设计;(8)编写详细设计说明书并进行评审。

编写详细设计说明书并进行评审。

2、数据输入界面设计的主要原则有哪些?答:在设计数据输入界面时应做到:尽量简化用户的工作、减少输入的出错率;减轻用户的记忆负担、尽可能减少输入量并实现自动输入;尽可能减少输入量并实现自动输入; 对共同的输入设置默认值;对共同的输入设置默认值; 使用代码或缩写;缩写; 自动填入已输入过的内容;列表式输入; 数据分组输入。

2022年春4月《软件工程》全国自考试题含解析

2022年春4月《软件工程》全国自考试题含解析

2022年春4月《软件工程》全国自考试题一、单项选择题1、RUP设计阶段的主要活动不包含______。

A.程序设计B.体系结构设计C.用况设计D.类设计2、RUP的分析类包括边界类、实体类和______。

A.子类B.控制类C.父类D.活动类3、软件结构化设计中,支持“自顶向下逐步求精”的详细设计,并且能够以一种结构化方式严格地控制从一个处理到另一个处理的转移,这个详细设计工具是______。

A.PAD图B.程序流程图C.DFD图D.N-S图4、面向对象方法源于面向对象______。

A.分析B.设计C.建模语言D.编程语言5、指一个模块内部各成分之间相互关联程度的度量是______。

A.耦合B.内聚C.扇入D.扇出6、下列可用于概念模型和软件模型的动态结构的是______。

A.类图B.对象图C.部署图D.用况图7、下列不属于需求规约的基本性质是______。

A.可重复的B.重要性和稳定性程度C.完整的D.一致的8、使用用况图可以实现业务建模和系统建模,而得到业务模型和系统模型之间具有的关系是______。

A.整体/部分B.一般/特殊C.功能/过程D.静态/动态9、软件生存周期是指______。

A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间10、黑盒测试技术又称为功能测试技术,包括事务处理流程技术、定义域测试技术和______。

A.路径测试技术B.用例测试技术C.状态测试技术D.结构测试技术11、下列不属于创建一个系统的类图步骤是______。

A.模型化待建系统中的概念,形成类图中基本元素B.模型化待建系统中的各种关系,形成该系统的初始关系C.模型化系统中的接口,不需给出该系统的最终类图D.模型化逻辑数据库模式12、有效性测试的目标是发现软件实现的功能与下列哪个选项不一致,正确的是______。

A.需求规格说明书B.概要设计说明书C.详细设计说明书D.测试计划13、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。

软件工程之详细设计

软件工程之详细设计

WHILE P DO
P1
IF A S1;
>O
THEN
A1
ELSE
A2
ENDIF;P2
WHILE C
P
UNTIL C
P
IF
B>0 THEN B1; WHILE C DO S2;S3
ENDWHaI.L顺E序; 结构
ELSE B2
b.当型循环结构
c.直到型循环结构
L1 P1
ENDIF; B3
C
P1
L2 X=
详细设计
详细设计(又称为过程设计或模块设 计),是编码的前导。其主要任务是确定每 一个模块所使用的算法、块内数据结构和接 口细节,用描述工具表达算法的过程,即对 模块的具体实现过程进行详细地描述。。
• 详细设计的具体任务 • (1)算法设计 • (2)数据结构设计 • (3)模块接口细节 • (4)测试用例设计 • (5)数据库物理设计 • (6)数据代码设计 • (7)其他设计 • (8)编写详细设计说明书并进行评审。
C3 … Cn
多分支结构
A exp
UNTIL循环
两种循环结构不同之处
exp A
当循环结构
A exp
直到循环结构
详细设计的工具
1.程序流程图 程序流程图又叫程序框图,它是历史最悠久、使用最广泛的一种算法表示工具。
程序流程图的主要符号
2.盒图(N-S图 Nassi Shneiderman)
A B C
用判定树表示计算行李费的算法
5.过程设计语言(PDL:Process Design Language)
也称程序描述语言,又称为伪码。它是一种用于描述模块算法 设计和处理细节的语言。

软件工程结构化分析与设计范文精简版

软件工程结构化分析与设计范文精简版

软件工程结构化分析与设计软件工程结构化分析与设计简介软件工程结构化分析与设计是软件工程领域中重要的一环,它涉及到软件系统的分析和设计阶段。

在软件工程领域,结构化分析与设计是指通过建立准确的抽象层次,将软件系统划分为各个模块,并规定各个模块之间的关系和功能,以实现系统的需求。

什么是结构化分析与设计结构化分析与设计是一种系统性的方法,它利用模块化和层次化的原则,对软件系统进行分析、设计和实现。

结构化分析关注的是系统需求,它通过分解需求,将系统划分为不同的模块,并定义它们之间的关系。

结构化设计则负责将分析得到的模块进行详细设计,并确定模块的功能和接口。

结构化分析与设计的目标是提高软件系统的可理解性、可维护性和可扩展性。

结构化分析与设计的流程结构化分析与设计通常包含以下几个步骤:1. 确定系统需求:定义软件系统的功能和性能要求。

2. 确定模块划分:将系统划分为不同的模块,并定义它们之间的功能和接口。

3. 定义模块内部逻辑:对每个模块进行详细设计,包括设计数据结构和算法等。

4. 确定模块间的通信方式:确定模块之间的数据交换和通信方式。

5. 验证和评估设计:对设计进行评估和验证,确保满足系统需求。

6. 实施和编码:根据设计编写代码,完成软件系统的实施。

7. 和调试:对软件系统进行和调试,确保其功能和性能的正确性。

结构化分析与设计的优势结构化分析与设计具有以下优势:1. 提高可理解性:通过模块化的设计原则,使系统的结构和功能更易于理解和掌握。

2. 提高可维护性:分解模块可以使系统的维护更加简单和方便,减少对其他模块的影响。

3. 提高可扩展性:模块化的设计可以使系统更易于扩展和修改,方便适应需求变化。

4. 提高开发效率:结构化分析与设计明确了各个模块的功能和接口,可以并行开发,提高开发效率。

5. 降低系统复杂性:通过模块化的设计,将大型系统划分为多个小模块,降低了系统的复杂性。

结构化分析与设计的工具和技术在软件工程中,有许多工具和技术可以用于结构化分析与设计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.6.5 伪代码
(2) 内语法使用自然语言来描述处理特性,为 开发者提供方便,提高可读性。
(3) 有数据说明机制,包括简单的(如标量和 数组)与复杂的(如链表和层次结构)的数 据结构。
(4) 有子程序定义与调用机制,用以表达各种 方式的接口说明。
4.6.6 自顶向下、逐步细化的设计过程
主要包括两个方面: ➢ 一是将复杂问题的解法分解和细化成由若
在同一层的结点上做细化工作,相互之间没有 关系,因此它们之间的细化工作相互独立。在 任何一步发生错误,一般只影响它下层的结点 ,同一层的其他结点不受影响。
4.6.6 自顶向下、逐步细化的设计过程
自顶向下、逐步求精的方法的优点 (4) 程序清晰和模块化,使得在修改和重新设计一个软
件时,可复用的代码量最大。 (5) 程序的逻辑结构清晰,有利于程序正确性证明。 (6) 每一步工作仅在上层结点的基础上做不多的设计扩
4.6.6 自顶向下、逐步细化的设计过程
上述框架中每一个加工语句都可进一步细化成一个循环语句 main () {
/*建立2到100的数组A[ ],其中A[i]=i*/ - - 1 for (i = 2;i <= 100;i++)A[i] = i; /* 建立2到10的素数表B[ ],存放2到10以内的素数*/ - 2 B[1] =2; B[2] = 3; B[3] = 5; B[4] = 7; /*若A[i]=i是B[ ]中任一数的倍数,则剔除A[i]*/ - - 3 for (j = 1; j <= 4; j++)
4.6.5 伪代码
➢ 伪码的语法规则分为“外语法”和“内语 法”。
➢ 外语法应当符合一般程序设计语言常用语 句的语法规则;
➢ 内语法可以用英语中一些简单的句子、短 语和通用的数学符号来描述程序应执行的 功能。
4.6.5 伪代码
• 伪代码的基本控制结构 ➢ 简单陈述句结构:避免复合语句。 ➢ 判定结构:IF_THEN_ELSE或CASE_OF结
展,便于检查。 (7) 有利于设计的分工和组织工作。
4.7 软件设计规格说明
• 国家标准GB/T 8567—2006《计算机软件文档 编制规范》中有关软件总体设计的文档是《系 统/子系统设计(结构设计)说明(SSDD)》 , 描述了系统或子系统的系统级或子系统级设 计与体系结构设计。
小结
• 本次课主要讲述详细设计工具的表示。重点掌 握PAD图和伪代码的应用。
• PAD图的实例
4.6.4 PAD图
• PAD的扩充控制结构
4.6.4 PAD图
• PAD的优点 ➢ 使用PAD符号所设计出来的程序必然是结
构化程序。 ➢ PAD图描绘程序结构清晰,图中竖线的总
条数就是程序的层次数。 ➢ 用PAD图表现程序逻辑易读、易懂、易记

4.6.4 PAD图
• PAD的优点 ➢ 容易将PAD图自动转换为高级语言源程序。 ➢ PAD图既可以表示程序逻辑,也可用于描绘
干个模块组成的层次结构; ➢ 二是将每个模块的功能逐步分解细化为一
系列的处理。
4.6.6 自顶向下、逐步细化的设计过程
• 自顶向下、逐步细化方法举例 ➢ 用筛选法求100以内的素数。
所 谓 的 筛 选 法 , 就 是 从 2 到 100 中 去 掉 2,3,5,7的倍数,剩下的就是100以பைடு நூலகம்的素 数。
的普遍规律。可提高软件开发的成功率和生产率 。 (2) 用先全局后局部,先整体后细节,先抽象后具体 的逐步求精的过程开发出来的程序具有清晰的层 次结构,因此程序容易阅读和理解。
4.6.6 自顶向下、逐步细化的设计过程
自顶向下、逐步求精的方法的优点 (3) 程序自顶向下、逐步细化,分解成树形结构。
软件工程
主讲:陈利平
计算机与信息科学学院 2015
概述:
• 一、主要内容 • 讲述详细设计的几种工具的表示。
• 二、目的与要求 • 了解结构化设计的表示工具,理解PAD图 和伪代码的应用。
• 三、重点与难点 • PAD图和伪代码的应用。
思考:
• 提问: • 1)什么是PAD图? • 2)什么是伪代码?
检查A[ ]所有的数能否被B[j]整除并将能被整除的数从A[]中剔除;
/*输出A[ ]中所有没有被剔除的数*/ - - - - - - - 4 for (i = 2; i <= 100; i++)
若A[i]没有被剔除,则输出之
}
4.6.6 自顶向下、逐步细化的设计过程
自顶向下、逐步求精的方法的优点 (1) 自顶向下、逐步求精方法符合人们解决复杂问题
构。 ➢ 重复结构:WHILE_DO或REPEAT_UNTIL
结构。
4.6.5 伪代码
• 伪代码实例:“检查订货单”例子
4.6.5 伪代码
• 伪代码的特点 (1) 有固定的关键字外语法,提供全部结构
化控制结构、数据说明和模块特征。外 语法的关键字是有限的词汇集,它们能 对伪代码正文进行结构分割,使之变得 易于理解。
4.6.4 PAD图
➢ PAD(problem analysis diagram)是日本日 立公司提出,由程序流程图演化来的,用 结构化程序设计思想表现程序逻辑结构的 图形工具。
➢ PAD也设置了5种基本控制结构的图式, 并允许递归使用。
4.6.4 PAD图
• PAD图的基本控制结构
4.6.4 PAD图
下课了。。。
休息一会儿。。。
4.6.6 自顶向下、逐步细化的设计过程
首先按程序功能写出一个框架
main () { 建立2到100的数组A[ ],其中A[i]=i;- -- - 1 建立2到10的素数表B[ ],存放素数;- - - - 2 若A[i]=i是B[ ]中任一数的倍数,则剔除; - 3 输出A[ ]中所有没有被剔除的数; - -- - - - 4 }
数据结构。 ➢ PAD图的符号支持自顶向下、逐步求精方法
的使用。
4.6.5 伪代码
➢ 伪代码是一种介于自然语言和形式化语 言之间的半形式化语言,是一种用于描 述功能模块的算法设计和加工细节的语 言 , 也 称 为 程 序 设 计 语 言 ( Program Design Language,PDL)。
相关文档
最新文档