软件工程期末复习集.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程期末复习集

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

文档评论(0)

zhanghc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档