软件基础复习题.doc

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

1、简述软件的概念。指计算机程序和与之相关的文档资料的总和。 2、软件危机:计算机软件开发和维护过程中出现的一系列严重问题称为软件危机。 产生原因:成本和进度的估计准确度不够。开发过程不规范,总结性文档不能及时完成。软件自身的可靠性和可维护性。用户对已成软件的满意度。 3、简述软件生存期的八个阶段划分。 生存周期:问题定义:问题是什么可行性研究:问题能否解决? 需求分析:为解决问题,目标系统应有那些功能? 总体设计:如何解决这个问题? 详细设计:具体怎样实现? 编码和单元测试:正确的程序模块。 集成测试:符合要求的软件。 软件维护:会出现的问题和用户增加的要求。 4、SA方法:定义:按照功能分解的原则,根据软件内部数据传递变换的关系自顶向下逐层分解,直到找到 满足功能要求的所有可实现的软件为止。 SA方法的描述方式: 数据流图: 描述系统由哪些部分组成,各部分之间有何联系。数据流图是描述数据处理过程的有利工具,它从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的流动变换过程。 数据词典: 给出系统中每一个数据的具体描述。数据词典用来描述DFD中出现的所有命名元素,包括数据流、加工等都作为一个词条加以定义,使每一个元素都有确切解释。 小说明:详细描述系统中每一个加工所完成的操作。 补充材料:对系统补充说明的文档资料。 5、详细设计的图形描述方式:程序流程图、盒图、问题分析图 6、软件测试是根据软件开发各阶段的规格说明和程序的内部结构,而精心设计一批测试用例,并利用这些数据运行程序、发现错误的过程。 测试原则:①测试用例的组成包含输入数据和预期输出两部分。②测试用例的输入数据应包括合理输入和不合理输入。③设计测试用例时要注意数据的群集现象。④对每一个测试结果都要做全面检查。⑤严格执行测试计划,杜绝随意性。⑥管理好测试用例、出错统计和分析报告,作为维护报告的重要内容。⑦测试时尽量避免自测现象。 7、常用测试方法:动态测试、静态测试、正确性证明 8、简述实现类的三种方案: 方案一 ——“复制型”复用按照需要的特性,找到一个已经存在的类并建立实例,直接使用该类的数据和代码。方案二 ——进化型”复用在一个或多个既存类的基础上,选择一些特征并加上自定义的属性来实现新类实例。方案三 ——“废弃型”开发完全按照软件工程的要求和步骤,重新开发一个新的类。 9、进程是一个程序在给定条件下,对一组数据的一次动态执行过程,而程序是一个静态指令序列。 10、线程的调度方式:1、时间片方式2、优先级方式3、短作业方式 11、死锁是系统和线程所处的一种状态,是指多个线程因竞争资源而造成的一种僵局,如果没有外力的作用,这些线程将永远不能再向前推进。 12、P 操作的原语描述 记为P(S),其中S是信号量,它的值表示系统中临界资源的数目。 线程请求临界资源 ,资源数量减一 ;如果S的值大于等于零,则线程继续运行,否则阻塞线程,将其插入到信号量的等待队列中。 Procedure wait ( s ) begin s = s - 1 ; if s 0 then block ( s , L ) ; end V 操作 记为V(S),其中S是信号量,它的值表示系统中临界资源的数目。 线程释放临界资源 ,资源数量加一 ;如果S的值大于零,则线程继续运行,否则从信号量的等待队列中移出第一个线程,使其变为就绪状态并插入到就绪队列,然后返回原线程执行。 Procedure signal ( s ) begin s = s + 1 ; if s=0 then wakeup ( s , L ) ; end 13、线性结构:有且仅有一个开始结点和一个终端结点除首尾结点外,所有结点都只有一个直接前驱和一个直接后继。 14、算法是对特定问题求解步骤的一种描述,它是指令的有限序列。 输入性——一个算法具有零个或多个输入量,这些初始量取自特定问题的对象集合输出性——每个算法至少产生一个输出,可能与输入有特定关系。 有穷性——一个算法必须在执行有穷步后结束,且每一步都在有穷时间内完成。 确定性——算法中每一条指令都必须有确切的含义,读者理解时不会产生二义性。 可行性——算法中描述的操作,都是通过已经实现的基本运算的有限次执行而实现的 15、在一个长度为n的线性表中,如果向第i个元素之前插入一个新结点,需要向后移动( )个结点。 16、在一个长度为n的线性表中,如果删除第i个元素,需要向前移动( )个结点。 17、栈的操作原则是FILO。 18、三维数组 A[c1..d1][c2..d2][c3..d3]共包含多少个元素。 19、对于一个栈,如果

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档