软件开发方法主要有哪些呢?
1.结构化开发方法,它的特点是按照功能分解的原则;自顶向下,逐步求精;知道实现软件功能位置,简单、实用。它是以功能分解为基础,而用户的功能是经常改变的,必然导致系统的框架结构不稳定。可以从它的数据流程图到软件结构图之间的过渡有明显的断层,导致设计回溯到需求是有困难的。
2.面向对象的软件开发方法,是把软件基本的结构形式分为三排序就是顺序、选择和重复。三种数据结构可以进行组合,形成复杂的结构体系。这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。该方法也可与其它方法结合,用于模块的详细设计。
3.问题分析法,这一方法的具体步骤是:从输入、输出数据结构导出基本处理框;分析这些处理框之间的先后关系;按先后关系逐步综合处理框,直到画出整个系统的PAD图。这一方法本质上是综合的自底向上的方法,但在逐步综合之前已进行了有目的的分解,这个目的就是充分考虑系统的输入、输出数据结构。
4. 形式化方法形式化方法最早可追溯到20世纪50年代后期对程序设计语言编译技术的研究,研究高潮始于20世纪60年代后期。针对当时的“软件危机”,人们提出种种解决方法,归纳起来有两类:一是采用工程方法来组织、管理软件的开发过程;二是深入探讨程序和程序开发过程的规律,建立严密的理论,以其指导软件开发实践。前者导致“软件工程”的出现和发展,后者则推动了形式化方法的深入研究。经过多年的研究和应用,如今人们在形式化方法这一领域取得了大量重要的成果,从早期最简单的一阶谓词演算方法到现在的应用于不同领域、不同阶段的基于逻辑、状态机、网络、进程代数、代数等众多形式化方法,形式化方法的发展趋势逐渐融入软件开发过程的各个阶段。此外 ,软件开发方法 还有问题分析法、可视化开发方法 等。
我觉得软件工程方法论更多的是给予开发人员一个可行的、系统性的整体结构的理论框架。软件工程方法论包含3个要素:方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。