Java 的开发过程-电脑编程

        软件不可见性问题

  新软件应用程序概念化的难点因项目的不同而不同。虽然某些项目的需求很直观 ― 或许就像把一项新技术应用于一个著名的领域 ― 但其它项目需求可能更复杂。当我们不断的将软件技术用于未知领域,为软件系统创建需求的行为成为一种概念上的革新。这种革新不只是一种个体的复杂的脑力劳动,其难处还在于与更大的开发团体进行交流。

  Frederick Brooks 把那些难以概念化和描述的新软件应用程序的属性称为 软件不可见性。虽然其它如硬件之类的领域存在物质表现形式,但软件领域没有。我们可以看得见或者评测出软件应用程序的效果,不过其系统表现形式本质上却是思维的。这就是我们创建并依赖于软件模型的许多原因之一。模型赋予软件物理维度使我们得以更好的了解和表达它的方向。

  任何软件建模工作的中心是需求收集。实现需求收集过程的选择依赖于开发项目更大的环境。 这个环境可以在需求收集过程自身中找到,也可以在另一个受到好评的模型中找到。在某些情况下,这个环境甚至可以在可交付使用的过程中找到。通过对我们探讨的不同需求可能性的地方进行考察,我们总能够辨别出系统的需求环境驻留在什么地方。需求环境是我们与软件不可见性对抗的领域。

  恰当工作过程的选择

  为实现所选择的需求收集过程极大的影响着软件开发项目的成功。因为需求收集是开发周期的基础,一个无效或选择欠妥的需求分析过程极大的增加了项目失败的可能性。这种可能性导致我们死守着已知的过程,通常与一个单独的、受偏爱的软件开发方法有关。

  这里将探讨的需求收集过程抽象自三个一流的软件开发方法:“Rational 统一过程”( Rational Unified Process(RUP)),“功能驱动开发”(Feature-Driven Development(FDD))和“极端编程”( Extreme Programming(XP))。每种方法都提供大量极好的工具以协助需求收集工作。为符合子整体开发方法,我们将更多的着眼于必要的部分 ― 与每种方法相关的需求收集过程 ― 而不是整个方法自身。 除此之外,我们还会看看是否能够组织起一个更动态更可变的需求收集过程。

  四种最常见的需求收集过程是传统的软件收集规范(software requirements specification,SRS)、用例(use cases)、功能特性(features)和用户情景(user stories)。在随后的几个小节,我们将考虑每个过程,请特别注意需求环境 ― 就是说,每个过程提供的用于将价值最大化的恰当情况和每个过程给开发项目带来的独特动力。

  软件需求规范

  软件需求规范(SRS)是最古老的需求收集过程之一。其非正式的名称是“应该陈述”(shall statements),传统的 SRS 有多种形态,而且,今天众多领域的承包工程仍然需要用到它。SRS 许多年来一直是处于支配地位的需求收集方法。

  SRS 背后的思想是创建一个解决方案空间 ― 也就是这样一个空间,其中开发小组已经设定了目标,但是,实现这些目标的行动的秩序和本质可以非常自由。因此,SRS 通常不试图指定单个解决方案,而是指定一系列可行的解决方案。然后,开发小组有足够的灵活性对解决正被创建系统问题的有效方法进行革新。

  灵活性对于 SRS 来说,是缺点,也是优点。如果一个软件开发小组精通他们为之创建系统的这个领域,这个小组就可以轻松使用 SRS 最大限度的对这个领域进行革新。但是,在开发小组在他们不熟悉的领域进行日常工作的时代,传统的 SRS 作为需求收集过程可能有所欠缺。典型用户试图处理给定领域中的正常情况时,他们采取的步骤很可能是小组成员不了解的。因此,小组成员确定并创建的系统对于用户社区来说,可能不是最优的。

  传统的 SRS 最适用于已被充分了解的领域和非常了解自己所处工作领域的开发小组 ― 或者领域之外的专业知识能够很轻松就理解的开发环境。SRS 允许几乎不需任何技术就可以调整解决方案空间以管理系统中的更改。

  用例

  与传统 SRS 支持的解决方案空间方法相比,用例描述了用户与系统交互时执行的动作序列。从某种意义上说,用例基于路线或目的。它传达一系列用户在使用系统以解决问题时必须启动的动作。例如,在一个 “录像带出租”用例中,我们对用户与录像带出租系统交互时会出现的情况进行了描述。

  用例反应我们试图使用软件系统以达到目的时可能出现的所有事件。因为大部分软件系统支持多个目的,大部分用例模型由多个用例组成。例如,“支付逾期费”(Pay Late Fee)用例描述了录像带出租系统的用户遇到要支付逾期费这种情况时会发生的事。

  用例中信息正确的水平是成功建立应用程序的必要条件。它根据环境不同而不同。如果领域的专家参与开发过程,用例就可以只勾画系统的路线。如果领域专家不参与项目,用例就有必要提供更多信息。用例是交流需求的最佳过程。但是,就像传统的 SRS,用例更适合已被很好了解的领域。用例可以经受一定程度的更改,但其它过程更能适应更改。

 


文章: Java 的开发过程


分享到:

相关文章阅读:

  • 女神是宅男们的最爱,是宅男yy的对象,那么你知道2017中国宅男女神排行榜中哪些性感的女人上榜了吗?今天小编就和大家一起来盘点下最新
    电脑编程最记录:3064
  • 这些年来“盗墓”题材十分的火爆,很多人都对盗墓中的冒险故事深感兴趣。其中盗墓者必备的工具就有洛阳铲,而这个洛阳铲可谓是十分的
    电脑编程最记录:3022
  • 在我们的印象中,神仙里最厉害的男神仙是玉皇大帝,而最厉害的女神仙则是王母娘娘了。那么玉皇大帝和王母娘娘是什么关系呢,肯定都以为
    电脑编程最记录:3019
  • 人类史上已经经历过两次世界大战了,根据目前的国际形势,很多人在思考着第三次世界大战是否会爆发。曾有人写过关于世界第三次世界大
    电脑编程最记录:3016
  • 大桥未久作为步兵界的领军人物,很多老司机都是非常喜欢她的作品的。而其中有个大桥未久爬玻璃,这又是什么呢。所谓的大桥未久爬玻璃
    电脑编程最记录:2196
  • 在 古代春宫图 中描绘着很多古代人性生活姿势图,即使是现代人也没有古代人会玩,还给各种姿势起了人模人样的名字。看了古代人性生活
    电脑编程最记录:2143
  • 电脑编程排行(TOP10)