欢迎来到天天文库
浏览记录
ID:6382771
大小:262.50 KB
页数:15页
时间:2018-01-12
《软件工程期末复习集》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、详细设计详细设计就是要在总体设计阶段成果的基础上,考虑如何实现定义的软件系统,直到对系统中的每个模块给出足够详细的过程描述。结构化程序设计技术是进行详细设计的逻辑基础。它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。结构化程序设计的三种基本控制结构是顺序、选择、循环。详细设计的工具有程序流程图、盒图、PAD图、判定表、判定树和PDL语言等。程序复杂性度量程序复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期的长短和软件内部潜伏错误的多少等。1)代码行度量法度量程序的复杂性,最简单的方法就是统计程序的源代码
2、行数。该方法的基本考虑是统计一个程序模块的源代码行数目,并以源代码行数作为程序复杂性的度量。Lipow及其他研究者得出一个结论:对于少于100个语句的小程序,源代码行数与出错率是线性相关的。随着程序的增大,出错率以非线性方式增长。2)McCabe度量法McCabe度量法是一种基于程序控制流的复杂性度量方法。McCabe定义的程序复杂性度量值又称环路复杂性,它是基于程序图中环路的个数。如果把程序流程图中每个处理符号都退化成一个结点,原来联结不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫做程序图。计算有向图G的环路复杂性的
3、公式:V(G)mn2其中,V(G)是有向图G中的环路个数,m是图G中有向弧个数,n是图G中结点个数。详细设计说明书1.引言2.总体设计。软件结构3.程序描述。逐个模块描述其功能、性能、输入、输出、算法等例题软件详细设计工具可分为3类,即图形工具、设计语言和表格工具。图形工具中,(A)简单而应用广泛。(B)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套。(C)可以纵横延伸,图形的空间效果好。(D)是一种设计和描述程序的语言,它是一种面向(E)的语言。供选答案:A-C:①NS图②流程图③HIPO图④PAD图D:①C②PDL③PRO
4、LOG④PascalE:①人②机器③数据结构④对象答案:A.②B.①C.④D.②E.①1[2001年统考]下面是两个程序流程图,试分别用N-S图和PAD图表示之,并计算它们的McCabe复杂性度量。STARTSTARTFAPTBAENDFBPTFFENDQQTT答案:WhileP设置Q的值为“真”AQBFTUntilQ↓ABUntil(notP)PAD图略McCabe复杂性度量都为3。(7-6+2)下图是使用BASIC语言编写的一个打印A、B、C三数中最小者的程序流程图。其中出现了6个GOTO语句,1个向前,5个向后,程序可读性很差。F
5、TA=BandB6、以“理解”的形式—用某种程序设计语言书写的程序。按照软件工程的方法论,程序的质量基本上由设计的质量决定。但是,编码使用的语言,特别是写程序的风格和途径也对程序质量有相当大的影响。程序设计语言的分类、选择大量实践表明,高级程序设计语言较汇编语言有很多优点。程序设计风格包括四个方面:源程序文档化、数据说明、语句结构和输入/输出方法例题从下列叙述中选出5条符合程序设计风格指导原则的叙述。①嵌套的重数应加以限制②尽量多使用临时变量③不滥用语言特色④不用可以省略的括号⑤使用有意义的变量名⑥应尽可能把程序编得短些⑦把常见的局部优化工作留给编译程序去7、做⑧注解越少越好⑨程序的格式应有助于读者理解程序⑩应尽可能多用GOTO语句答案:①、③、⑤、⑦、⑨是正确的从下列关于模块化程序设计的叙述中选出5条正确的叙述。3①程序设计比较方便,但比较难以维护②便于由多个人分工编制大型程序③软件的功能便于扩充④程序易于理解,也便于排错⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数⑥模块之间的接口叫做数据文件⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块⑧模块间的单向调用关系叫做模块的层次结构⑨模块越小,模块化的优点越明显。一般来说,模块的大小都在10行8、以下答案:②、③、④、⑦、⑧是正确的测试软件测试的目的就是软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤。软件测试在软件生命周期中横跨两个阶段:编码和测试。Gr
6、以“理解”的形式—用某种程序设计语言书写的程序。按照软件工程的方法论,程序的质量基本上由设计的质量决定。但是,编码使用的语言,特别是写程序的风格和途径也对程序质量有相当大的影响。程序设计语言的分类、选择大量实践表明,高级程序设计语言较汇编语言有很多优点。程序设计风格包括四个方面:源程序文档化、数据说明、语句结构和输入/输出方法例题从下列叙述中选出5条符合程序设计风格指导原则的叙述。①嵌套的重数应加以限制②尽量多使用临时变量③不滥用语言特色④不用可以省略的括号⑤使用有意义的变量名⑥应尽可能把程序编得短些⑦把常见的局部优化工作留给编译程序去
7、做⑧注解越少越好⑨程序的格式应有助于读者理解程序⑩应尽可能多用GOTO语句答案:①、③、⑤、⑦、⑨是正确的从下列关于模块化程序设计的叙述中选出5条正确的叙述。3①程序设计比较方便,但比较难以维护②便于由多个人分工编制大型程序③软件的功能便于扩充④程序易于理解,也便于排错⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数⑥模块之间的接口叫做数据文件⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块⑧模块间的单向调用关系叫做模块的层次结构⑨模块越小,模块化的优点越明显。一般来说,模块的大小都在10行
8、以下答案:②、③、④、⑦、⑧是正确的测试软件测试的目的就是软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤。软件测试在软件生命周期中横跨两个阶段:编码和测试。Gr
此文档下载收益归作者所有