软件工程常用的系统流程图符号
- 格式:doc
- 大小:78.50 KB
- 文档页数:3
流程图-n s图-p a d图-p d l-h i p o(总9页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--流程图、N-S图、PAD图、判定表、PDL、HIPO图程序流程图程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。
但流程图也存在一些严重的缺点。
例如流程图所使用的符号不够规范,常常使用一些习惯性用法。
特别是表示程序控制流程的箭头可以不受任何约束,随意转移控制。
这些现象显然是与软件工程化的要求相背离的。
为了消除这些缺点,应对流程图所使用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。
例如,为使用流程图描述结构化程序,必须限制流程图只能使用图所给出的五种基本控制结构。
图流程图的基本控制结构任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成。
作为上述五种控制结构相互组合和嵌套的实例,图示给出一个程序的流程图。
图中增加了一些虚线构成的框,目的是便于理解控制结构的嵌套关系。
显然,这个流程图所描述的程序是结构化的。
图流程图的基本控制结构N-S图Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。
为表示五种基本控制结构,在N-S图中规定了五种图形构件。
参看图。
为说明N-S图的使用,仍用图给出的实例,将它用如图所示的N-S图表示。
如前所述,任何一个N-S图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。
当问题很复杂时,N-S图可能很大。
图 N-S图的五种基本控制结构图 N-S图的实例PADPAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。
现在已为ISO认可。
PAD也设置了五种基本控制结构的图式,并允许递归使用。
图 PAD的基本控制结构做为PAD应用的实例,图给出了图程序的PAD表示。
1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下:➢计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。
➢计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。
➢计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。
➢分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。
试根据上面的系统功能描述:(1)画出该系统的分层数据流图。
(8分)(2)写出相应的数据字典(要求至少写出三项)。
(4分)(3)将数据流图转换为软件的结构图。
(8分)(1):1)2)第一层数据流图员工信息文件员工分数文件夹分房分数文件2.名称:员工信息别名:描述:员工的各种信息定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况位置:员工信息文件名称:分房计划文件别名:描述:准备分房的计划定义:员工号+住房请求位置:公司系统名称:分房分数文件别名:描述:计算出的每个员工分房分数的文件定义:员工号+分房分位置:公司系统2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。
(20分)【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
第一章一、名称解释1.软件工程是指导计算机软件开发和维护的工程科学。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
2.软件生命周期一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的整个时期被称为是软件生命周期二、填空题1.构成一个完整计算机系统的两部分是硬件与(软件)。
2.程序设计时代的生产方式是(个体手工劳动)。
3.软件工程涉及到若干个学科,它是一门(综合性交叉)学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能(相同)。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是(瀑布)模型。
6.喷泉模型是一种以用户需求为动力,以(对象)为驱动的模型。
7.结构化方法是一种面向数据流的开发方法。
由结构化分析、(结构化设计)、结构化程序设计构成。
8.软件工程研究的主要内容是软件开发管理和(软件开发技术)两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的(软件)。
10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种(开发方法),使用相应的工具来进行。
11 .瀑布模型本质上是一种(线性顺序)模型。
12.瀑布模型不适应需求可变的软件开发,只有到开发结束时才能见到(整个软件系统)。
13.增量模型在开发过程中以一系列增量方式开发系统,忽略某阶段的细节,从而尽早产生(工作软件)。
14.增量构造模型在分析和设计阶段按整体方式开发,按增量方式开发的是(编码和测试)阶段。
15.演化提交模型中,项目开发各阶段都是按(增量方式)开发的。
16.软件原型是软件的早期可运行版本,反映最终系统的(重要特性)。
17.用原型过程来代替需求分析,使需求说明完整、一致、准确,该原型是(探索型)原型。
18.用原型过程来代替全部开发阶段,这种快速原型是(演化型)原型。
软件工程中的图软件工程导论中一般把软件的开发分为八个阶段:1.问题定义2.可行性研究3.需求分析4.总体设计(概要设计)5.详细设计6.编码和单元测试7.综合测试8.软件维护下面我们就说说各个阶段中与图的难解难分。
1. 问题定义问题定义阶段主要是根据用户的需求来定义用户需要解决的问题,用户要实现哪些功能。
2. 可行性研究可行性研究阶段就是看是否有一种使其在最小的代价,尽可能短的时间内,利益最大化的情况下解决问题的方案。
这个阶段的分析主要涉及以下几个图形工具。
2.1 系统流程图系统流程图是描述系统物理模型的一种传统工具。
它是表达数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,它是物理数据流图而不是程序流程图。
系统流程图形象的呈现了软件的功能,即使不懂软件的人也可以轻松的看懂,可以说它是软件设计师与用户之间沟通、交流的有效工具。
2.2 数据流图数据流图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
如果说系统流程图能让用户更好的明白系统的功能,那么数据流图则让用户更加明白系统的工作原理。
数据流图的基本符号:数据流图的使用例子:2.3 数据字典数据字典就是数据的信息的集合,也可以说就是对上面提到的数据流图中的所有元素的定义的集合。
数据字典的主要作用就是在软件的分析与设计阶段方便我们查阅不甚了解的数据的描述信息。
3. 需求分析需求分析阶段主要确定系统必须做什么。
比如用户对系统的要求,确定目标系统所有的功能,确定系统运行的硬件和软件环境,系统性能要求,出错处理要求,接口需求,验证软件需求等等。
3.1 E-R图E-r图的主要作用就是把用户的数据要求用可视化的图形呈现出来。
3.2 状态转换图状态转换图说白了就是系统的行为建模,就是通过描述系统的状态以及引起状态变化的事件来表示系统的行为,将系统运行时详细的状态变化呈现给用户。
其他系统西安交通大学——软件工程概论所有答案原型特征分为几种类型?答案是:"原型特征有下列类别(1)、系统的界面形式,用原型来解决系统的人机交互界面的结构。
(2)、系统的总体结构,用原型来确定系统的体系结构。
(3)、数据库模式,用原型来确定系统的数据库结构。
"什么是探索型原型模型?答案是:这是一种把原型思想用于需求分析阶段的快速原型模型。
通过对原型的开发来明确用户的需求。
适用于一个开发目标模糊、用户与开发者均缺乏这种项目开发经验的软件项目。
一旦通过原型的开发运行,明确了用户的需求,可按瀑布模型的设计、编码、测试进行开发。
这种原型模型是在研究需求分析阶段的方法设计中产生的。
什么是实验型原型模型?答案是:这是一种把原型思想用于设计阶段的快速原型模型。
若对于一个大型软件系统的设计方案没有把握时,要考核设计方案是否正确、能否实现,可通过原型模型的开发运行来证实。
一旦通过原型模型的开发运行,证实设计方案是正确的、能实现的,可废弃这个原型,按照开发过程来开发。
什么是软件危机?软件危机表现在哪些方面?答案是:"在计算机软件的开发和维护过程中所遇到的一系列严重问题,长期找不到解决这些问题的办法,使问题逐渐积累起来,形成了尖锐的矛盾,从而导致了软件危机。
软件危机的表现有以下几个方面:(1)、对于软件开发的成本和进度的估计很不准确。
由于缺乏软件开发的经验和软件开发数据的积累,使得很难制定出合理有效的开发工作计划。
(2)、开发的软件产品不能完全满足用户要求,用户对已完成开发的软件系统不满意的现象常常发生。
(3)、开发的软件可靠性差。
(4)、软件的可维护性差。
(5)、软件通常没有适当的文档。
(6)、软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
"什么是软件生存周期?它有哪些活动?答案是:"软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
1、典型的详细设计工具有流程图、盒图、、类程序设计语言。
问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。
问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。
问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。
问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。
问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。
问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。
问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。
问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。
问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。
模块结构图可用和两种形式来表示。
问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。
问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。
问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。
问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。
第一章一、名称解释1.软件2.文档3.软件工程4.软件生存周期5.软件工程过程6.软件生存周期模型7.软件开发方法8.软件工具二、填空题1.构成一个完整计算机系统的两部分是硬件与________。
2.程序设计时代的生产方式是________。
3.软件工程涉及到几个学科,它是一门_____学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能________。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是________模型。
6.喷泉模型是一种以用户需求为动力,以_______为驱动的模型。
7.结构化方法是一种面向数据流的开发方法。
由结构化分析、_______、结构化程序设计构成。
8.软件工程研究的主要内容是软件开发管理和_______两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的________。
10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种________,使用相应的工具来进行。
三、选择题1.软件是一种( )产品。
A.物质B.逻辑C.有形D.消耗2.软件产品的开发主要是( )。
A.复制B.再生产C.拷贝D.研制3.个体手工劳动生产方式的时代是( )。
A.程序设计B.软件生产自动化C.程序系统D.软件工程4.与计算机科学的理论研究不同,软件工程是一门( )学科。
A.理论性B.原理性C.工程性D.心理性5.软件重用的单位是( )。
A.软件模块B.性能C.系统D.功能6.软件开发费用只占整个软件系统费用的( )。
A.1/2B.1/3C.1/4D.2/37.软件开发中大约要付出( )%的工作量进行测试和排错。
A.20B.30C.40D.508.准确地解决“软件系统必须做什么”是( )阶段的任务。
A.可行性研究B.需求分析C.详细设计D.编码9.软件生存周期中最长的是( )阶段。
A.需求分析B.概要设计C.测试D.维护四、简答题1.软件产品的特性是什么?2.软件生产有几个阶段?各有何特征?3.什么是软件危机?产生的原因是什么?4.软件工程的性质、目标和内容是什么?5.软件工程面临的问题是什么?6.软件工程过程有哪些过程?7.软件生存周期有哪几个阶段?8.软件生存周期模型有哪些主要模型?9.有哪些主要软件开发方法?参考答案二填空题1.软件 2.个体手工劳动3.综合性交叉 4.相同5.瀑布 6.对象7.结构化设计8.软件开发技术9.软件10.开发方法三、选择题1.B 2.D 3.A 4.C5.A 6.B 7.C 8.B 9.D第二章一、名称解释1.可行性研究2.技术可行性3.经济可行性4.社会可行性5.货币时间价值6.投资回收期7.纯收入8.系统流程图二、填空题1.可行性研究的目的是用最小的代价,在尽可能短的时间内,确定________。
中南大学现代远程教育课程考试(专科)复习题及参考答案软件工程一、单项选择题1、下列哪个阶段不是软件生存期三个阶段中的内容()。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为 ( )A、可用性B、可靠性C、正确性D、完整性3、需求分析阶段结束后,应交出的文档中不包括()。
A、数据流图B、数据字典C、简明的算法描述D、项目的经费预算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、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的()A、数据流B、数据元素C、数据结构D、数据约束14、软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于()A、修改源代码B、阅读设计文档C、阅读源代码D、修改设计文档15、以实体、联系和属性等基本概念为基础的实体联系图是基本实体联系图。
A卷1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,(需求分析阶段)出错,对软件的影响最大。
3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。
4、软件工程的出现主要是由于(软件危机的出现)。
5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。
7、UML是软件开发中的一个重要工具,它主要应用于基于对象的(面向对象)的方法.8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法).9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流)。
10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶段)。
11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。
主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。
螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本.喷泉模型描述了(面向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和(开发各阶段之间无“间隙”)的特征。
12、以下不属于白盒测试技术的是(等价类划分)。
13、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护).14、保证软件质量的手段有复审、复查、管理复审和测试等。
其中复审发生在软件生命周期的(每个阶段结束之前)。