文档介绍:北京理工大学软件工程实践
汤铭端
中国航天科工集团公司706所
第二讲
结构化方法
内容和目的
了解结构化方法的产生和有关概念
掌握结构化方法的基本原则
了解结构化分析、设计、编程方法的基本内容
了解软件开发的一般原则
软件开发方法
软件开发方法是软件开发过程所遵循的方法和步骤,其目的在于有效地得到一些工作产品,既程序和文档,并且满足质量要求
程序设计方法是软件开发方法的组成部分
此外还有分析方法和设计方法
评价软件开发方法的四大特征
技术特征:支持各种技术概念的方法特色,如层次性、抽象性、并行性、安全性、正确性等
使用特征:用于具体开发时的特色,如易理解性、易移植性、易复用性、工具的支持、任务范围、使用的广度、活动过渡的可行性、产品的易修改性、对正确性的支持等
管理特征:增强对软件开发活动管理的能力方面的特色,如易管理性、支持或阻碍团队工作的程度、中间阶段的确定、工作产品、配置管理、阶段结束准则、费用估计等
经济特征:给软件组织产生的在质量和生产力方面的可见效益,如分析活动的局部效益、全生存周期效益、获得该开发方法的代价、使用它的代价、管理的代价等
选用软件开发方法的考虑因素
1 对该开发方法是否已具有经验,或者已有受过培训的人员
2 开发项目的进度、人员组成情况
3 为开发项目提供的资源如何
4 计划、组织、管理的可行性
5 开发项目的领域知识准备情况
航天的考虑
结构化方法较全面、最成熟、最基础、使用最广泛、有成功经验
结构化方法适合航天软件研制工作
结构化方法是基础性方法
结构化方法包括就形成了配套的软件结构化分析方法、结构化设计方法和结构化编程方法,其核心和基础是结构化程序设计理论
为什么要讲这些所谓的“方法”?
“我只要满足需求就可以了,我自己开发使用什么方法你管不着。”
“这些方法根本没有什么用处,我们那里高手很多,我们不屑于使用这些方法。”
“结构化”起源:对GOTO的认识
1968年Dijkstra在ACM通讯中发表了“GOTO语句是有害的”文章,认为:GOTO语句是有害的,是造成程序混乱的祸根,程序的质量与GOTO语句的数量成反比,应该在所有高级程序设计语言中取消GOTO语句
激起了强烈的反响和长期广泛的论战
论据
1966年,Boehm和Jacopini证明了程序设计语言只要上旬、选择和重复三种形式的控制结构就足以表达出各种其他形式的结构
1970年McKeeman称其XPL编译程序仅用一个GOTO语句