答“系统必须做什么”这个问题。需求分析的任务:(1)确定对系统的综合要求(2)分析系统的数据要求(3)导出系统的逻辑模型(4)修正系统开发计划
2、与用户沟通获取需求的方法是什么?(1)访谈(2)面向数据流自顶向下求精(3)简易的应用规格说明技术(4)快速建立软件原型
3、情景分析技术的用处体现在哪两方面?(1)它能在某种程度上演示目标系统的行为,从而便于用户理解,而且还可能进一步揭示出一些分析员目前还不知道的需求。(2)由于情景分析较易为用户所理解,使用这种技术能保证用户在需求分析过程中始终扮演一个积极主动的角色。
4、在哪些方面验证软件需求的正确性4个方面:一致性、完整性、现实性、有效性。
5、什么是数据流图,其中有哪4种元素?(给定需求描述,画数据流图,大题。)数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。4种元素:(1)正方形(或立方体)表示数据的源点或终点(2)圆角矩形(或圆形)代表变换数据的处理(3)开口矩形(或两条平行横线)代表数据存储(4)箭头表示数据流。
f第五章
1、什么是总体设计总体设计的基本目的就是回答“概括地说,系统应该如何实现”这个问题,因此总体设计又称为概要设计或初步设计。
2、在软件设计过程中,需要遵循哪些基本原理?(1)模块化(2)抽象(3)逐步求精(4)信息隐藏和局部化(5)模块独立
3、解释模块化,模块化的好处模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。好处:采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试,因而有助于提高软件的可靠性。因为变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由许多的程序员分工编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的模块。
4、启发规则有哪些?共7个:(1)改进软件结构提高模块独立性(2)模块规模应该适中(3)深度、宽度、扇出和扇入都应适当(4)模块的作用域应该在控制域之内(5)力争降低模块接口的复r