试述结构化分析与设计方法的主要思想和步骤
———课程名:软件工程导论 学号:6103115078 姓名:徐国强 班级:计科 153 班
结构化分析方法的主要思想和步骤:
结构化分析方法是一种利用自顶向下逐层分解、由粗到细、由复杂到简单技术的求解方
法。“分解”和“抽象”是结构化分析方法中解决复杂问题的两个基本手段。“分解”是指
对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,把大问题分解成若干小问题,
然后分别解决;而“抽象”则是抓住系统的主要问题而忽略次要问题,集中精力先解决主要
问题,暂时把细节问题略去。分解可以分层进行,即先考虑问题最本质的属性,以后再逐层
添加细节直至涉及到最详细的内容,这是用最本质的属性表示一个系统的方法。“自顶向下
逐层分解”是结构化方法按上述思想解决问题的一种策略。
例如,图 4.1 中 S 是一个复杂的系统,顶层是对整个系统的描述,中间层是从抽象到
具体的逐层过渡,底层具体地描述了系统的每一个细节。由于整个系统最初复杂难以理解,
我们将它分解成 1、2、3 三个子系统进行分别描述,也就是分而治之。如果其中某些子系
统还是很复杂,那么就要继续分解。按下图可以将复杂的子系统 2 分解为 2.1、2.2、2.3 等
三个更小的子系统,如果 2.1~2.3 中还有需要分解的子系统那么必须继续进行分解,直到子
系统足够简单易于理解才结束。
图 4.1 自顶向下逐层分解
结构化分析方法的过程如下:首先进行需求获取;然后进行分析建模,包括建立 DFD 图、
E-R 图、DD、PSPEC 等模型;编写软件需求规格说明书 SRS;最后进行需求验证。
结构化设计方法的主要思想和步骤:
结构化设计方法的主要思想是进行逐层分解和模块化,将系统设计成由多个相对独立、
功能单一的模块组成的结构。模块是目标系统的逻辑和物理基本单位,系统中一个模块完成
一个具体的功能。因为模块之间相互独立,所以每一模块就可以单独地被理解、编写、测试、
排错和修改,从而有效地防止错误在模块之间扩散蔓延,提高了系统的质量,包括系统的可
维护性和可靠性,大大简化了系统研制开发的工作。模块设计的要点是强调“高内聚、低耦
合”,也就是说每个模块完成特定的简单功能,模块间的联系较少。
结构化设计方法以结构化分析方法为基础,对数据流图进行变换映射得到结构图,从这
个结构出发逐步得到详细的程序设计模块,步骤如下:评审和细化数据流图,必要时进行修
改;判断数据流图的类型(变换型还是事务型);映射数据流图到结构图;逐层分解模块;对
模块进行优化;设计模块接口。
结构化设计方法的设计原则总结:使每个模块执行一个功能(坚持功能性内聚)、每个模
块用过程语句(或函数方式等)调用其他模块、模块间传送的参数作数据用、 模块间共用的
信息(如参数等)尽量少。
结构化分析与设计方法的优缺点:
(1)优点
·从系统整体出发,强调在整体优化的条件下“自上而下”地分析和设计,保证了系
统的整体性和目标的一致性;
·遵循用户至上原则;
·严格区分系统开发的阶段性;
·每一阶段的工作成果是下一阶段的依据,便于系统开发的管理和控制;
·文档规范化,按工程标准建立标准化的文档资料。
(2)缺点
·用户素质或系统分析员和管理者之间的沟通问题;
·开发周期长,难于适应环境变化;
·结构化程度较低的系统,在开发初期难以锁定功能要求。
面向对象方法的优缺点:
(1)优点
·分析、设计中的对象和软件中的对象的一致性;
·实现软件复用,简化程序设计;
·系统易于维护;
·缩短开发周期。
(2)缺点
·不易于大系统的开发