软件工程方法学

sjji

「方法」,谈的是 How,如:搜集资料、进行推论、解释与预测的工具或技巧。

「方法学」,指的是:研究「方法」的理论。也是研究过程的哲学。

所涉及的主要是(科学研究)方法的基本假设、逻辑与原则,谈的是 What、Why。

以论语中的「杀鸡焉用牛刀」为例:

「方法学」谈的是:
杀鸡应该用什么刀,
以及为何要用这种刀

「方法」谈的是:
如何使用牛刀

学习方法学,能够让我们知道该如何正确使用工具,避免产生杀鸡用了牛刀的窘境。

此外,学习方法学可以回来指导我们,较正确地选择以及使用各种「方法」。

比如,假设我们遇到的可能不是鸡 …

这时,「方法学」有助于提升我们选择正确的「方法」的机会。

软件工程方法学。

软件工程的方法有很多方面的意义。包括项目管理,分析,设计,程序的编写,测试和质量控制。

软件工程方法可以区别为重量级的方法和轻量级的方法。重量级的方法中产生大量的正式文档。

著名的重量级开发方法包括ISO 9000,CMM,和统一软件开发过程(RUP)。轻量级的开发过程没有对大量正式文档的要求。著名的轻量级开发方法包括极限编程(XP)和敏捷过程(Agile Processes)。

根据《新方法学》这篇文章的说法,重量级方法呈现的是一种「防御型」的姿态。在应用「重量级方法」的软件组织中,由于软件项目经理不参与或者很少参与程序设计,无法从细节上把握项目进度,因而会对项目产生「恐惧感」,不得不要求程序员不断撰写很多「软件开发文档」。而轻量级方法则呈现「进攻型」的姿态,这一点从 XP 方法特别强调的四个准则 — 「沟通、简单、反馈和勇气」上有所体现。目前有一些人认为,「重量级方法」适合于大型的软件团队(数十人以上)使用,而「轻量级方法」适合小型的软件团队(几人、十几人)使用。当然,关于重量级方法和轻量级方法的优劣存在很多争论,而各种方法也在不断进化中。

做个了解。部分内容来自 Wiki

题图:杀鸡焉用牛刀。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">