从供选择的答案中,选出填入下面叙述中?内的最确切解答,把相应的编号写在答卷的对应栏内。
试题一。在软件开发过程中常用图作为描述工具。如dfd就是面向a 分析方法的描述工具。
在一套分层dfd中,如某一张图中有n个加工(process),则这张图允许有b张子图。在一张dfd中,任意两个加工之间c。在画分层dfd时,应注意保持d之间的平衡。
dfd中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为 e两类。
供选择的答案。
a:①数据结构 ②数据流 ③对象 ④构件(component)
b:①0 ②1 ③1~n ④ 0~n
c:①有且仅有一条数据流。
②至少有一条数据流。
③可以有0或多条名字互不相同的数据流。
④以有0或多条数据流,但允许其中有若干条名字相同的数据流。
d:①父图与子图
②同一父图的所有子图。
③不同父图的所有子图。
④一子图的所有直接父图。
e:①控制流和变换流。
② 变换流和事物流。
③事物流和事件流。
④事件流和控制流。
[答案]a:② b:④ c:③ d:① e:②
[分析]1、数据流图 dfd—data flow diagram 在软件开发的需求分析阶段被认为是面向数据流进行分析的有效工具。
2、dfd表达数据流及其加工简明直观,易于掌握,例如:
以圆圈表示数据要做的加工(或称处理),应予以命名。
以箭头表示数据流的传递,应予以命名,并有传递的起点和终点,具有方向。
以方框表示数据的初始起点和最后终点,应予以命名。
双底线表示数据存储区,也应命名,记在双底线上。
3、对于复杂的数据处理问题,往往要做的加工很多,可以分为多个层次,采用结构化分析方法,可理解为从顶层开始,逐层细化。根据需要顶层dfd中的某个加工可能展开出一个新的dfd子图。
如果顶层有n个加工,便可展出0个(即均无需展开)至n个(即n个加工均需展开)子图。如有必要可再展出一层dfd。
4、在同一个dfd的任意两个加工之间,不存在数据传递关系,即它们之间有0个数据流;也可以存在不止一个数据的传递,即有多条名字互不相同的数据流。
5、在多层dfd的两个相邻层图之间,上一层图称为父图(见图1),下一图层称为子图(见图2)。由于子图是由父图导出的,因此,它们应能很好的匹配(也称平衡)。图1图2
6、dfd在实际应用中通常有两种形式,即1) 变换型dfd(见图3)。
图32) 事务型dfd(见图4)
图4试题二。
软件的易维护性是指理解、改正、改进软件的难易程度。通常影响软件易维护性的因素有易理解性、易修改性和 a 。在软件的开发工程中往往采取各种措施来提高软件的易维护性。
如采用b有助于提高软件的易理解性;c有助于提高软件的易修改性。
在软件质量特性中,d是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性;e是指防止对程序及数据的非授权访问的能力。
供选择的答案。
a:①易使用性 ② 易恢复性 ③ 易替换性 ④ 易测试性。
b:①增强健壮性 ②信息隐蔽原则 ③良好的编程风格 ④高效的算法。
c:①高效的算法 ②信息隐蔽原则 ③增强健壮性 ④ 身份认证。
d:①正确性 ② 正确性 ③可靠性 ④易使用性。
e:①安全性 ② 适应性 ③灵活性 ④容错性。
[答案]a :④b:③ c:② d:③ e:①
[分析]1、软件易维护性也称可维护性是软件的一个重要质量特性。
2、 国际标准iso9126(即国家标准gb 16260)“软件产品评价质量特性及其使用指南”中提出了36个质量特性,其中之一就是可维护性。
3、 该标准对可维护性规定了四个子特性,即易分析性、易更改性、稳定性及易测试性。
4、 易分析性包含易理解性的含义,如一个软件产品,其程序采用了良好的编程风格,必定是易理解的。
5、 信息隐蔽是软件模块化设计的一个重要原则,它的含义是设计模块时把有关本模块的内部信息(如数据和程序细节)隐藏于模块内部,无需为其他模块所涉及。这样做在修改设计时就不会牵连到模块的细部,自然就提高了易修改性。
6、 可靠性是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。显然这种能力越强,可靠性越好。
7、 安全性是软件功能性的一个子特性,其含义是,与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性。
程序员考试大纲程序员考试大纲
程序员测试大纲。一 测试说明。1 测试要求 1 掌握数制及其转换 数据的机内表示 算术和逻辑运算,以及相关的使用数学基础知识 2 理解计算机的组成以及各主要部件的性能指标 3 掌握操作系统 程序设计语言的基础知识 4 熟练掌握计算机常用软件的基本操作 5 熟练掌握基本数据结构和常用算法 6 熟练掌握...
高级程序员级考试大纲
一 考试说明。1.考试要求 1 熟练掌握面向对象编程技术,用c c 语言熟练编制程序 2 了解casl汇编语言的程序编制 3 掌握软件设计的方法和技术 4 掌握数据结构 程序语言 操作系统 数据库和软件工程的基础知识 5 了解多 和网络的基础知识 6 掌握计算机体系结构和主要部件的基础知识 7 正确...
初级程序员与高级程序员的区别
初级程序员与高级程序员的区别一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的。比如,在初级程序员阶段时,他会觉得vb也能做出应用来,且看起来也不错。但到了中级程序员时,他可能就不会选择vb了,可能会用mfc,这时,也能做出效果不错的程序。到高级程序员时,他绝对不是首先选择以上工...