1.层次图(即软件结构图)和层次方框图(即Jakson图)有何区别?
相同:形式类似。
不同:
1,层次图描绘软件的层次结构.层层次方框图描绘的是数据结构。
2,层次图的方框表示模块或子模块。层次方框图的方框表示数据结构整体或其子集。
3,层次图的连线表示调用关系,层次方框图表示组成关系。
层次图主要用来描绘软件的层次结构,矩形框代表一个模块,矩形框之间的连线表示模块之间的调用关系,常与IPO图一起形成HIPO图。层次方框图主要描述系统的组成关系,一般自用域需求分析。
2.照“降低块间联系,提高块内联系”的设计总则对模块进行修改,具体从哪些方面进行改进?
答:1) 尽可能建立功能模块;2) 消除重复功能;3)模块的作用范围与控制范围,即当作用范围为控制范围的子集时,才能获得较低的块间联系;4)模块的大小适当;5)模块的扇入扇出数不宜太多。
3.软件设计的准则是什么?
(1)、软件结构的准则:顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数。
(2)、模块化准则:将系统划分成若干模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,以满足所要求的整个系统的功能。
(3)、软件独立性准则:开发具有功能专一,模块之间无过多相互作用的模块。
4.IDEF0方法有什么特点?
IDEF0方法的特点是:
(1)采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束条件及实现机制,清楚地反映了系统的功能。
(2)采用严格的自顶向下、逐层分解的方式建立系统功能模型。顶层确定系统范围,采用抽象原则,然后有控制的逐步展开有关活动的细节,符合SA方法的分析策略。同时,IDEF0规定每张图至少有3个、最多有6个方框,上界6保证采用层次性描述复杂问题的可理解性,下界3保证分解有意义。
5.在需求分析和设计阶段建立原型的好处有哪些?
在需求分析和设计阶段建立原型的好处有:
(1)增进开发人员和用户对系统需求的一致理解,明确软件需求,尤其是功能含糊的需求。
(2)原型提供了一种有力的学习手段,能够使用户尽早接触系统。
(3)原型可以用来识别或化解风险。
(4)原型有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。
6.简述需求分析工作可以分成哪四个方面?软件需求分析有哪三个基本原则?
需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。
7.如何画分层数据流图
总的原则是:至顶而下,逐层分解(画分层数据流图):比较复杂的系统不能画在一张纸上 逐层分解的画法可以控制每一层的复杂度。顶层:将整个系统作为一个加工,描述系统边界(输入与输出。)中间层:表示某个加工分解为一组子加工,其中的子加工还需进一步分解。底层:由不再进行分解的基本加工组成.
8.可行性研究报告的主要内容有哪些?
一个可行性研究报告的主要内容如下:
(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。
(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。
(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。
(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。
(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。
(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。
(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。
(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。
9.软件设计的基本原理包括哪些内容?
⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。
⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。
⑶信息隐蔽:将模块实现自身功能的细节与数据”隐蔽”起来。模块间仅交换为完成系统功能所必须的信息。
⑷模块独立性:每个模块只完成系统要求的独立的子功能。
10.单元测试有哪些内容?
单元测试主要针对模块的以下五个基本特征进行测试:
(1)模块接口
(2)局部数据结构
(3)重要的执行路径
(4)错误处理
(5)边界条件