首先了解什么是软件工程方法论?
面向元数据的方法、面向过程的方法、面向对象的方法和形式化方法,并称软件工程中的四大方法,它们共同构成了软件工程方法论
软件工程方法论是指在软件开发的过程中必须遵循的普遍行为和规则,包含三要素:方法、工具和过程。
方法:
是⼀种使用定义好的技术集及符号表示组织软件开发的过程,是完成软件开发各个任务的技术方法,回答了“怎样做”这个问题,它的目标是在规定的时间和成本内,开发出符合用回顾需求的高质量的软件;
工具:
是为了运用方法而提供的自动或半自动的软件工程支撑环境;
过程:
在软件工程中,人们通过建立抽象的软件开发模型(也称软件过程模型或软件生命周期模型),把软件生命周期中的各个活动或步骤安排到一个框架中,将软件开发的全过程清晰且直观地表达出来。
软件工程方法论有什么用?
通过学习软件工程方法论,学习系统的,科学的理论框架,吸收前人的经验,可以提高我们软件开发的速度和质量。对于开发人员而言,方法论起到的引导作用必不可少,这会使得开发任务具体清晰,让开发者明确分工,有条不紊地进行开发工作。
简单说明三种软件过程模型基本思想及其特点
瀑布模型

瀑布模型的核心是将软件开发的各个过程以线性的、顺序的方式进行。首先,清晰地了解要解决问题的需求,然后顺序地开展策划、建模、构建和部署等工作,最终交付一个完整的软件产品,并开展后续的技术支持服务。
瀑布模型从诞生开始,对其有效性的讨论和质疑就没有停止。主要存在以下几个方面的问题:
实际项目很少完全遵循瀑布模型提出的顺序。
客户通常难以在一开始就完整、准确地描述需求,而瀑布模型需要客户先明确需求。
可执行地软件产品交付太晚,造成巨大风险。
迭代模型

也被称作迭代增量式开发或迭代进化式开发,是⼀种与传统的瀑布模型相反的软件开发过程,它弥补了传统开发方式中的⼀些弱点,具有更高的成功率和生产率。
迭代式开发每次只设计和实现这个产品的⼀部分, 逐步完成的方法叫迭代开发, 每次设计和实现⼀个阶段叫做⼀个迭代。
每⼀次迭代都包括了需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在⼀次迭代中完成系统的⼀部分功能或业务逻辑的开发⼯作。再通过客户的反馈来细化需求,并开始新⼀轮的迭代。
迭代式开发的优点:
1、降低风险
2、得到早期用户反馈
3、持续的测试和集成
4、使用变更
5、提高复用性
敏捷软件开发⼜称敏捷开发

是⼀种从1990年代开始逐渐引起广泛关注的⼀些新型软件开发方法,是⼀种应对快速变化的需求的⼀种软件开发能力。它们的具体名称、理念、过程、术语都不 尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织⽅法,也更注重软件开发中人的作⽤。
⼈和交互 重于过程和⼯具。
可以⼯作的软件 重于求全⽽完备的⽂档。
客户协作重于合同谈判。
随时应对变化重于循规蹈矩。
其中位于右边的内容虽然也有其价值,但是左边的内容最为重要。
⼈员彼此信任 ⼈少但是精⼲ 可以⾯对⾯的沟通