深度需求分析

软件需求工程

指在工程设计过程中定义、记录和维护需求的过程。首先要需求工程范畴:
需求工程范畴

  • 需求开发工作要点
    通过需求获取、需求分析、编写规约和需求验证4个具体活动多次循环的形式进行需求开发。

login BDD Example

BDD是一种以沟通为核心的敏捷软件开发方法,通过开发者与产品既得利益者(或其代表)之间不断的沟通,用一种双方都能理解的语言来定义和明确features。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Feature: Login

I want to login on Keepfy

Background:
Given I go to '/login'
And the field 'email' is empty
And the field 'password' is empty

Scenario: Error on empty fields
When I click on 'enter'
Then field 'email' should be with error
And field 'password' should be with error

Scenario: Wrong password
When I type 'john.test@keepfy.com' in 'email'
And I type '123456' in 'password'
And I click on 'enter'
Then I should see 'E-mail or password is incorrect'

Scenario: Login successfully
Given I have users:
| name | email | password |
| Vitor Batista | vitor@keepfy.com | abcdef |
When I type 'vitor@keepfy.com' in 'email'
And I type 'abcdef' in 'password'
And I click on 'enter'
Then I shouldn't see 'Access your account'
to join this conversation on GitHub. Alre

BDD 描述

BDD

三个核心概念

Feature、Scenario、Steps是BDD的三个核心概念,体现了BDD的三个重要价值:

  • Living Document
  • Executable Specification by Example(SbE)
  • Automated Tests

Feature

Feature就像是文档一样,描述了功能特性、角色、以及 最重要的商业价值。

Scenario

场景就是上面提到的规范Specification。Cucumber提供了Scenario、Scenario Outline两种形式。

Steps

Steps就是实际编码。

敏捷中的BDD

CBM方法论

一种对企业进行建模和分析的技术。它是业务组件或“构建块”的逻辑表示或映射,可以在单个页面上进行描述。它可用于分析企业战略与组织能力和投资的一致性,识别冗余或重叠的业务能力,分析不同组件,确定优先级,以及映射到其他架构领域,即可帮助管理者评估整个企业的目标和战略,同时有效利用内、外部专业化的优势。。