1.如何画分层数据流图
总的原则是:至顶而下,逐层分解(画分层数据流图):比较复杂的系统不能画在一张纸上 逐层分解的画法可以控制每一层的复杂度。顶层:将整个系统作为一个加工,描述系统边界(输入与输出。)中间层:表示某个加工分解为一组子加工,其中的子加工还需进一步分解。底层:由不再进行分解的
2.简述需求分析工作可以分成哪四个方面?软件需求分析有哪三个基本原则?
需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。
基本加工组
3.在需求分析和设计阶段建立原型的好处有哪些?
在需求分析和设计阶段建立原型的好处有:
(1)增进开发人员和用户对系统需求的一致理解,明确软件需求,尤其是功能含糊的需求。
(2)原型提供了一种有力的学习手段,能够使用户尽早接触系统。
(3)原型可以用来识别或化解风险。
(4)原型有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。
4.IDEF0方法有什么特点?
IDEF0方法的特点是:
(1)采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束条件及实现机制,清楚地反映了系统的功能。
(2)采用严格的自顶向下、逐层分解的方式建立系统功能模型。顶层确定系统范围,采用抽象原则,然后有控制的逐步展开有关活动的细节,符合SA方法的分析策略。同时,IDEF0规定每张图至少有3个、最多有6个方框,上界6保证采用层次性描述复杂问题的可理解性,下界3保证分解有意义。
5.软件设计的准则是什么?
(1)、软件结构的准则:顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数。
(2)、模块化准则:将系统划分成若干模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,以满足所要求的整个系统的功能。
(3)、软件独立性准则:开发具有功能专一,模块之间无过多相互作用的模块。
6.模块内联系与模块间联系有哪些种类?
模块间的联系分类法:按耦合度
如:内容耦合:一个模块直接引用另一模块的内部信息
模块内的联
7.衡量模块独立性的两个定性标准是什么?这两个标准的定义分别是什么?在我们的软件设计中,关于模块独立性我们追求的目标是什么?
衡量模块独立性的两个定性标准是内聚和耦合。耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度。在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合。
系方法:按
8.层次图(即软件结构图)和层次方框图(即Jakson图)有何区别?
相同:形式类似。
不同:
1,层次图描绘软件的层次结构.层层次方框图描绘的是数据结构。
2,层次图的方框表示模块或子模块。层次方框图的方框表示数据结构整体或其子集。
3,层次图的连线表示调用关系,层次方框图表示组成关系。
层次图主要用来描绘软件的层次结构,矩形框代表一个模块,矩形框之间的连线表示模块之间的调用关系,常与IPO图一起形成HIPO图。层次方框图主要描述系统的组成关系,一般自用域需求分析。
9.等价分类法相关概念。
(1)等价分类法的基本思想是什么?
根据程序的输入特性,将程序的定义域划分为有限个等价区段 ---"等价类",从等价类中选择出的用例具有"代表性",即测试某个等价类的代表值就等价于对这一类其它值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,也即是该等价类中的其它值也会查出同样的错误。
(2)等价类划分方法中,划分好等价类后设计测试用例的步骤是什么?
- 为每个等价类编号;2) 使一个测试用例尽可能覆盖多个有效等价类;
3)特别要注意:一个测试用例只能覆盖一个无效等价类;
10.一般,驱动模块比桩模块容易设计,为什么?
因为驱动模块是模拟主程序或者调用模块的功能,处于被测试模块的上层,所以驱动模块只需要模拟向被测模块传递数据,接收、打印从被测模块返回的数据的功能,较容易实现。而桩模块用于模拟那些由被测模块所调用的下属模块的功能,由于下属模块往往不只一个,也不只一层,由于模块接口的复杂性,桩模块很难模拟各下层模块之间的调用关系,同时为了模拟下层模块的不同功能,需要编写多个桩模块,而这些桩模块所模拟的功能是否正确,也很难进行验证。因此,驱动模块的设计显然比桩模块容易。