详细设计的工具
- 格式:ppt
- 大小:14.85 MB
- 文档页数:30
《软件工程》期末考试样题一、填空题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.软件生存周期是从软件开始开发到开发结束的整个时期。
高级计算机程序设计员复习题(含参考答案)一、单选题(共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、目前各部门广泛使用的人事档案管理、财务管理等软件,按计算机应用分类,应属于()。
详细设计的内容包括详细设计,是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。
在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的软件系统产品。
(1)程序流程图。
程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的工具。
它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。
其优点是:结构清晰,易于理解,易于修改。
缺点是:只能描述执行过程而不能描述有关的数据。
(2)盒图。
盒图是一种强制使用结构化构造的图示工具,也称为方框图。
其具有以下特点:功能域明确、不可能任意转移控制、很容易确定局部和全局数据的作用域、很容易表示嵌套关系及模板的层次关系。
(3)PAD图。
PAD是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结构更清晰。
最大的优点是能够反映和描述自顶向下的历史和过程。
PAD提供了5种基本控制结构的图示,并允许递归使用。
PAD的特点有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。
(4)PDL。
PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。
语法是开放式的,其外层语法是确定的,而内层语法则不确定。
外层语法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。
内层语法描述具体操作,考虑到不同软件系统的实际操作种类繁多,内层语法因而不确定,它可以按系统的具体情况和不同的设计层次灵活选用,实际上任意英语语句都可用来描述所需的具体操作。
用它来描述详细设计,工作量比画图小,又比较容易转换为真正的代码。
PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
详细设计的方法与表达工具详细设计是软件开发中至关重要的一步,它是软件架构和程序设计的实现方法,是软件的实际编写工作的基础。
详细设计的过程需要软件工程师对软件架构和程序设计进行细化,具体到每个功能模块、每个数据结构、每个算法和每个界面的设计,从而确保程序实现的正确性和高效性。
在本文中,我们将详细介绍详细设计的方法和表达工具,包括设计方法的优化、常用的表达工具以及注意事项等内容。
设计方法的优化在进行详细设计之前,设计师需要根据系统的需求和功能,制定相应的设计方法。
本节将介绍一些常见的设计方法,并分析它们的优点和缺点,以供设计师在实际工作中参考。
1. 结构化设计结构化设计是一种基于模块化思想的设计方法。
在结构化设计中,软件系统被分成模块,并且模块之间的接口和数据传递都非常清晰。
结构化设计方法的主要优点是可以支持模块的独立性和可重用性,并且可以提高程序的可读性和可维护性。
然而,结构化设计也可能导致系统过于复杂,降低了性能和效率。
2. 面向对象设计面向对象设计是一种基于对象的设计方法。
在面向对象设计中,系统被视为由对象组成的集合,对象通过消息传递进行通信。
面向对象设计方法的主要优点是可以提高软件的可重用性、可读性和可维护性,并且可以提高程序的性能和效率。
然而,面向对象设计的缺点是过于灵活,需要特定的设计方法和工具才能有效实现。
3. 数据驱动设计数据驱动设计是一种基于数据驱动的设计方法。
在数据驱动设计中,系统的设计是基于数据的结构和数据处理流程的,而不是基于功能。
数据驱动设计方法的主要优点是可以支持复杂的数据关系和数据处理流程,并且可以提高程序的性能和效率。
然而,数据驱动设计需要特定的数据结构和数据处理算法,可能导致系统的复杂性和可读性降低。
常用的表达工具在进行详细设计的过程中,设计师需要使用一些表达工具来记录设计的过程,以便其他设计师或开发者能够理解设计的目的和实现方式。
下面我们将介绍一些常见的表达工具,包括UML、编程语言、伪代码和流程图等。
软件⼯程详细设计在完成前置的总体设计报告后,就应该开始着⼿于详细设计了,在这⼀步骤中,我们将需要去细化总体设计中提出的模块,详细的设计出每个模块的作⽤、算法,各个模块间的结构关系,通过需求分析中的结果,利⽤总体设计提出的⼤致框架设计出满⾜客户需求的软件系统产品。
⼀、为什么需要详细设计在总体设计完成后,应当对系统的整体有了⼤概的⼀个了解,但在没有对各个模块提出更为详细的要求的情况下,程序员难以对系统拥有准确的判断,从⽽导致系统运⾏效率低下,结构不清晰等等的问题,⽽在详细设置中,将会提出对每⼀个模块的性能要求、流程要求、⽤户界⾯要求等⼀系列详细的要求,这将会令编码者在编码实现的过程中思路更为清晰,减少编程过程中因合作产⽣的混乱,提⾼整个程序的开发效率。
⼆、程序的结构化设计“模块化设计是指在进⾏程序设计时将⼀个⼤程序按照功能划分为若⼲个⼩程序模块,每个⼩程序模块完成⼀个确定的功能,并在这些模块间建⽴必要的联系,通过模块的互相协作完成整个功能的程序设计⽅法。
”在我们刚开始学习c语⾔程序设计时,我们通常习惯将所有的代码按照⾃⼰的思路写在同⼀个.c⽂件当中,虽然程序可以实现相应的功能,并且作者只需要标注良好的注释,就能在回看代码时重新理解代码的含义。
但当程序需要分享或者⼯程量过于庞⼤需要多⼈协作完成⼀项程序时,这种⾯向过程编程的⽅式将是极其没有效率的,就如同在运动会上的接⼒赛跑,唯有当⼀个⼈完成了指定的任务和功能后,后⾯的成员才能开始其负责部分的代码,所以这种编程⽅法并不适⽤于⼤项⽬。
⽽程序的结构化设计很好的弥补了⾯向过程编程难以多⼈协作的问题,它将⼀个⼤程序拆分成⼀个⼀个⼩零件,每⼀个零件都有其⾃⾝的功能,并且零件便于程序测试,在每完成⼀个零件后可单独对其进⾏各种测试保证程序的运⾏正确⽆误,在完成所有的零件后,由⼀根主轴将所有的零件穿起来,利⽤零件的相互转换作为参数和返回值实现不同的程序功能。
同时模块化设计实现的程序也便于后期程序的维护,就如同⼀辆汽车,某个部件出现损坏或过时了,只需更换对应的部件即可,⽽模块化程序在出现错误时也只需对相应的部分进⾏修改更新,⽽在程序需要添加功能时,也只需要再制造所需要的零件进⾏组装即可。
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. 为使得用户满意,有两个必要条件:①设计的规格说明符合用户的要求;②程序要按照设计规格说明所规定的情况正确执行。
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、规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
计算机程序设计员试题及参考答案一、单选题(共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。
详细设计方法和工具
详细设计方法和工具是软件开发过程中非常重要的一部分,它涉及到了软件系统的具体实现。
详细设计方法主要是指将系统的需求规格说明书进行详细的分解,设计出系统的具体模块、类等具体的软件设计方案,以达到实现软件系统的目的。
详细设计方法的主要内容包括了模块接口的定义、模块内部的数据结构设计、算法设计、界面设计等。
这些内容都需要具有清晰、准确、严谨的特点,并且需要满足系统需求规格说明书中的相关要求。
另外,详细设计工具是帮助软件设计人员实现具体方案的重要手段。
常用的详细设计工具包括UML(统一建模语言)、ER图(实体关系图)、BP图(业务流程图)等。
这些工具提供了丰富的符号和元素,可以帮助软件设计人员完成系统设计的过程,并且减少了实现过程中的错误。
总之,详细设计方法和工具是软件开发成功的关键之一,只有通过严谨的设计方案和高效的设计工具,才能够实现软件系统的高质量和高可靠性。