Revisión | 0c4783c02466d9cce02c86ee44097a35706be6c0 (tree) |
---|---|
Tiempo | 2020-02-08 06:26:57 |
Autor | Albert Mietus < albert AT mietus DOT nl > |
Commiter | Albert Mietus < albert AT mietus DOT nl > |
asis BUSY
@@ -1,10 +1,20 @@ | ||
1 | -Generate a big tree | |
1 | +.. Copyright (C) ALbert Mietus & Sogeti.HT; 2020 | |
2 | + | |
3 | +All needs [BigTree] | |
2 | 4 | =================== |
3 | 5 | |
4 | -We can also show the relations between all product (cq releases) and it *needs*. | |
6 | +We can also show the relations between all product (cq releases) and it *needs* in one big tree [#forrest]_. | |
5 | 7 | |
6 | 8 | .. _all_graph: |
7 | 9 | |
8 | 10 | .. needflow:: |
9 | 11 | |
10 | -.. thats it. | |
12 | +This | |
13 | + | |
14 | +.. rubric:: Footnotes & Links | |
15 | + | |
16 | +.. [#forrest] In general, and strictly speaking, this graph can be a “forrest”: a collection of trees. Mostly, people | |
17 | + like to use the term “tree” anyhow. | |
18 | + |BR| | |
19 | + However as this chapter is about requirements and quality, and I’m trying to convince you to be | |
20 | + strict, this footnote seems non-trivial ... |
@@ -1,11 +1,44 @@ | ||
1 | -Requirements Traceability, for demo1 | |
2 | -==================================== | |
1 | +Requirements Traceability [Demo 1] | |
2 | +********************************** | |
3 | 3 | |
4 | -Given all (kind of) specifications that are defined for :need:`CALC1`, we can generate a overview of *needs*. There are | |
5 | -several ways to show that information; we use 2 | |
4 | +With the defined ‘needs’, their relations can be shown automatically, or some tables with relevant ones can be | |
5 | +listed. Below you will find two examples, for :need:`CALC1`. | |
6 | + | |
7 | +.. _demo1_graph: | |
8 | + | |
9 | +A graphical view (“tree”) | |
10 | +========================= | |
11 | + | |
12 | +This view shows the relationship between all kinds of specifications. It is fully automatically generated and will be | |
13 | +updated when the specifications change. | |
14 | + | |
15 | +.. needflow:: | |
16 | + :tags: demo1;general | |
17 | + | |
18 | + | |
19 | +Lessons learned | |
20 | +--------------- | |
21 | + | |
22 | +#. This graph clearly shows there are **no tests** for :need:`CALC_DIV`. This is easily overseen as there are four | |
23 | + requirements *and* four tests defined. | |
24 | +#. When the requirement :need:`CALC_ADD` changes, two tests might need an update. | |
25 | +#. Likewise, for the other requirements, it is directly visual where the relations are. | |
26 | + | |
27 | +.. attention:: | |
28 | + | |
29 | + .. _forgotten_test: | |
30 | + | |
31 | + The “forgotten test” is intentional in this first demo. It will be fixed in the :ref:`next chapter<test_hotfix>`, | |
32 | + and you will see it in the other graphs. | |
33 | + | |
34 | + Therefore I had to use some “trick” in needs; see :ref:`the notes about the forgotten test<about_forgotten_test>` for | |
35 | + more info. | |
36 | + | |
6 | 37 | |
7 | 38 | The Requirements Matrix (table) |
8 | --------------------------------- | |
39 | +=============================== | |
40 | + | |
41 | +Some people prefer to see the same information in a table; again this one is automatically generated. | |
9 | 42 | |
10 | 43 | .. needtable:: |
11 | 44 | :tags: demo1;general |
@@ -13,48 +46,38 @@ | ||
13 | 46 | :columns: id;type;title;incoming;outgoing |
14 | 47 | :sort: type |
15 | 48 | |
16 | -.. note:: | |
49 | +.. hint:: | |
17 | 50 | |
18 | 51 | For now, ignore the *links* to CALC2 and CALC2_1000ND. Those will be in explained in :ref:`demo2` |
19 | 52 | |
20 | -A graphical view (“tree”) | |
21 | -------------------------- | |
22 | -Some people prefer to see the same information in a graphical way: | |
23 | - | |
24 | -.. _demo1_graph: | |
53 | +Lessons learned | |
54 | +--------------- | |
25 | 55 | |
26 | -.. needflow:: | |
27 | - :tags: demo1;general | |
28 | - | |
29 | -.. attention:: | |
30 | - | |
31 | - .. _forgotten_test: | |
32 | - | |
33 | - The graph (as well as the table) clearly shows there is no tests for :need:`CALC_DIV`. For this demo, it’s | |
34 | - intentional. Note, however, that --as there are :need_count:`type=='test' and 'general' in tags` tests defined-- one | |
35 | - can easily oversee this; even in this simple case! | |
56 | +#. This generated tabular overview kind of act as an index to all “clickable” *needs* It a great page to bookmark. | |
57 | +#. One can even add a status-column (not shown here), or filter on (show only) e.g. test that fails. | |
58 | +#. It gives less insight; therefore it good to have both overviews. | |
36 | 59 | |
37 | 60 | |
38 | 61 | Summary |
39 | --------- | |
62 | +======= | |
40 | 63 | |
41 | 64 | This very simple demo has only *one* product with *four* requirements and a few tests. There are no product-variant, no |
42 | 65 | product-increments (“new releases”) and no intermediate (or hierarchical) specifications. As a (deliberate) result, its |
43 | 66 | **Requirements Traceability** is simple. |
44 | 67 | |BR| |
45 | -Everybody can understand the when product-definition --one of the four requirements will change-- the implementation | |
68 | +Everybody can understand that when product-definition --one of the four requirements-- will change, the implementation | |
46 | 69 | will (partially) change. And so that, some tests have to be re-run. |
47 | 70 | |
48 | -Also, a changed requirement(s) and the corresponding test are only one click aways. | |
71 | +Also, a changed requirement(s) and the corresponding test are only one click away. | |
49 | 72 | |
50 | 73 | Next steps |
51 | 74 | ---------- |
52 | 75 | |
53 | -When we introduce variants, sprint-increments, multiple (sub)components, libraries, versions, releases, etc. the | |
54 | -challenge becomes bigger. Especially when a project-teams grows, its might become a nightmare to know which test has to | |
76 | +When we introduce variants, sprint-increments, multiple (sub)components, libraries, versions, releases, etc, the | |
77 | +challenge becomes bigger. Especially when a project-teams grows, it might become a nightmare to know which test has to | |
55 | 78 | be re-run, when a specification changes. |
56 | 79 | |
57 | -Unless one uses a (simple) approach as shown above. Then, everbody can just see which *rework* is needed when something | |
80 | +Unless one uses a (simple) approach as shown above. Then, everybody can just see which *rework* is needed when something | |
58 | 81 | “upstream” changes. And, by adding a “status” to each spec, we can even make this visual. |
59 | 82 | |
60 | 83 | See :ref:`demo2` for a bit more complex example: Adding a product-variant and (only) one extra (non-functional) |
@@ -2,7 +2,7 @@ | ||
2 | 2 | |
3 | 3 | .. _demo1: |
4 | 4 | |
5 | -[Demo 1] The Simple Calculator | |
5 | +[Demo 1] A simple calculator | |
6 | 6 | ****************************** |
7 | 7 | |
8 | 8 | The specifications are quite trivial ... |
@@ -15,71 +15,81 @@ | ||
15 | 15 | :ID: CALC1 |
16 | 16 | :tags: demo1 |
17 | 17 | |
18 | - In this demo, a simple calculator should be designed. It should work with intergers; with a maximal length of 8 digits, | |
18 | + For this demo a simple calculator is used. It should work with intergers; and has only a few requirements. See below. | |
19 | 19 | |
20 | - We use a very simple example, as you probably understand the specifications even with spending a lot of text on it. | |
20 | +We use this extremely simplistic example as you will agree on its requirements. | |
21 | + | |
21 | 22 | |
22 | 23 | Some general requirements, for all calculators |
23 | 24 | =============================================== |
24 | 25 | |
25 | -.. req:: Simple Add | |
26 | +.. req:: Generic Add | |
26 | 27 | :ID: CALC_ADD |
27 | 28 | :links: CALC1;CALC2 |
28 | 29 | :tags: general |
29 | 30 | |
30 | 31 | All calculators should be able to sum two numbers and show the result. |
31 | 32 | |
32 | -.. req:: Simple Sub | |
33 | +.. req:: Generic Sub | |
33 | 34 | :ID: CALC_SUB |
34 | 35 | :links: CALC1;CALC2 |
35 | 36 | :tags: general |
36 | 37 | |
37 | 38 | All calculators should be able to subtract a number form another number. |
38 | 39 | |
39 | -.. req:: Simple Multiply | |
40 | +.. req:: Generic Multiply | |
40 | 41 | :ID: CALC_MULT |
41 | 42 | :links: CALC1;CALC2 |
42 | 43 | :tags: general |
43 | 44 | |
44 | 45 | All calculators should be able to multiply two numbers. |
45 | 46 | |
46 | -.. req:: Simple Divide | |
47 | +.. req:: Generic Divide | |
47 | 48 | :ID: CALC_DIV |
48 | 49 | :links: CALC1;CALC2 |
49 | 50 | :tags: general |
50 | 51 | |
51 | 52 | All calculators should be able to divide two numbers. |
52 | 53 | |
54 | + | |
53 | 55 | Add this is how we test it |
54 | 56 | ========================== |
55 | 57 | |
56 | 58 | As we have defined only general requirements, we only need some generic tests. |
57 | 59 | |
58 | -.. test:: Basic Simple Addition test | |
60 | +.. test:: Basic addition test | |
59 | 61 | :id: CALC_TEST_ADD_1 |
60 | 62 | :links: CALC_ADD;CALC2_1000ND |
61 | 63 | :tags: general |
62 | 64 | |
63 | - Add the numbers ``2`` and ``5`` and check the result is **7** | |
65 | + Sum two numbers and verify the result is correct. | |
64 | 66 | |
65 | -.. test:: Advanced Simple Addition test | |
67 | + By example: Add ``2`` and ``5`` and check the result is **7** | |
68 | + | |
69 | +.. test:: Big addition test | |
66 | 70 | :id: CALC_TEST_ADD_2 |
67 | 71 | :links: CALC_ADD;CALC2_1000ND |
68 | 72 | :tags: general |
69 | 73 | |
70 | 74 | Add the numbers ``2222`` and ``5555`` and check the result is **7777** |
71 | 75 | |
72 | -.. test:: A Simple Subtract test | |
76 | +.. test:: Subtract test | |
73 | 77 | :id: CALC_TEST_SUB_1 |
74 | 78 | :links: CALC_SUB;CALC2_1000ND |
75 | 79 | :tags: general |
76 | 80 | |
81 | + Feed two numbers to the calculators, in the right order and verify the result. | |
82 | + |BR| | |
83 | + E.g: | |
84 | + | |
77 | 85 | * Subtract ``5`` from ``7`` and check the result is **2** |
78 | 86 | * Subtract ``5555`` from ``7777`` and check the result is **2222** |
79 | 87 | |
80 | - Here we specify two test in one test-requirement; just to show another style | |
88 | + .. note:: | |
81 | 89 | |
82 | -.. test:: Simple Multiplication test | |
90 | + Here we specify two test in one test-requirement; just to show another style | |
91 | + | |
92 | +.. test:: Multiplication test | |
83 | 93 | :id: CALC_TEST_MULT_1 |
84 | 94 | :links: CALC_MULT;CALC2_1000ND |
85 | 95 | :tags: general |
@@ -1,10 +1,25 @@ | ||
1 | -Requirements Traceability, for demo2 | |
2 | -==================================== | |
1 | +Requirements Traceability [Demo2] | |
2 | +********************************* | |
3 | 3 | |
4 | 4 | As in :doc:`demo1`, we can automatically generate the an overview of the requirements. |
5 | 5 | |
6 | -Generated overviews | |
7 | -------------------- | |
6 | +The tree view | |
7 | +============= | |
8 | + | |
9 | +.. _demo2_graph: | |
10 | + | |
11 | +.. needflow:: | |
12 | + :tags: demo2;general | |
13 | + | |
14 | +Lessons learned | |
15 | +--------------- | |
16 | + | |
17 | +.. todo:: | |
18 | + | |
19 | + XXX | |
20 | + | |
21 | +The table view | |
22 | +============== | |
8 | 23 | |
9 | 24 | .. needtable:: |
10 | 25 | :tags: demo2,general |
@@ -13,11 +28,11 @@ | ||
13 | 28 | :sort: type |
14 | 29 | |
15 | 30 | |
16 | -.. _demo2_graph: | |
31 | +Lessons learned | |
32 | +--------------- | |
17 | 33 | |
18 | -.. needflow:: | |
19 | - :tags: demo2;general | |
34 | +.. todo:: | |
35 | + | |
36 | + XXX | |
20 | 37 | |
21 | 38 | |
22 | -Summary | |
23 | -------- |
@@ -2,10 +2,10 @@ | ||
2 | 2 | |
3 | 3 | .. _demo2: |
4 | 4 | |
5 | -[Demo 2] The Exact Calculator | |
5 | +[Demo 2] The exact calculator | |
6 | 6 | ***************************** |
7 | 7 | |
8 | -This demo is just a bit more complex as :ref:`demo1`; it just add a product-variant with *one* extra requirement. | |
8 | +This demo is just a bit more complicated then :ref:`demo1`: this product-variant has *one* extra requirement. | |
9 | 9 | |
10 | 10 | A bit more complicated product |
11 | 11 | ============================== |
@@ -15,45 +15,80 @@ | ||
15 | 15 | :tags: demo2 |
16 | 16 | :links: CALC1 |
17 | 17 | |
18 | - This calculator should work with `Fractional Numbers <https://en.wikipedia.org/wiki/Fraction_(mathematics)>`_ and be | |
19 | - exact (and able to show/process) for very big numbers; as defined in :need:`CALC2_1000ND` | |
18 | + This calculator should work with `Fractional Numbers <https://en.wikipedia.org/wiki/Fraction_(mathematics)>`_, and be | |
19 | + exact for very big numbers; as defined in :need:`CALC2_1000ND` | |
20 | 20 | |
21 | 21 | .. warning:: |
22 | 22 | |
23 | - This implies, ``floats`` are not possible in the implementation | |
23 | + This implies ``floats`` are not possible in the implementation | |
24 | 24 | |
25 | 25 | |
26 | 26 | The extra requirement |
27 | 27 | ===================== |
28 | 28 | |
29 | -.. spec:: Fraction | |
29 | +.. spec:: Big fractional numbers | |
30 | 30 | :id: CALC2_1000ND |
31 | 31 | :links: CALC_ADD;CALC_SUB;CALC_MULT;CALC_DIV |
32 | 32 | :tags: demo2 |
33 | 33 | |
34 | - The :need:`CALC2` should work with fractions; where nominator and denominator can be long: 1000 digits. | |
34 | + The :need:`CALC2` should work with fractions; where nominator and denominator can be very long: up to **1000 | |
35 | + digits**. | |
35 | 36 | |
36 | 37 | .. _test_hotfix: |
37 | 38 | |
38 | -Hotfixing the missing test | |
39 | --------------------------- | |
39 | +Hotfix the missing test | |
40 | +----------------------- | |
40 | 41 | |
41 | -We also *repair* the missing test in demo1, but only for demo2 (Because it is a *demo!**). | |
42 | +We also *repair* the missing test in demo1, but only for demo2 (Because it is still a *demo!*). | |
42 | 43 | |
43 | 44 | .. test:: DIV test (demo2 only) |
44 | 45 | :id: CALC2_TEST_DIV_1 |
45 | 46 | :links: CALC_DIV; CALC2_1000ND |
46 | 47 | :tags: demo2 |
47 | 48 | |
48 | - .. note:: | |
49 | - | |
50 | - Documentation Hotfix! Therefore intentional added only for demo2 :ref:`CALC2` | |
49 | + Subtract ``1/3`` from ``1/2`` and check the result is **1/6**. | |
51 | 50 | |
52 | -Demo Notes | |
53 | -=========== | |
51 | + .. note:: | |
54 | 52 | |
55 | -In this demo some *tricks* are used; like the fixing a missing test :need:`CALC2_TEST_DIV_1`, and combining some | |
56 | -requirements for demo1 (:need:`CALC1`) and demo2 (:need:`CALC2`). | |
53 | + This test is was intentionally “forgotten” as explained in the :ref:`forgotten test <forgotten_test>`. | |
57 | 54 | |
58 | -Therefore the ``:tags:`` `general`, `calc1` and `calc2` are used in the ``req::` and ``:spec`` *directives*, to be | |
59 | -able to filer them in the tables and graphs. | |
55 | + Therefore it is only added for the :need:`CALC2`. See :ref:`the notes about the forgotten | |
56 | + test<about_forgotten_test>` for more info. | |
57 | + | |
58 | +How to test? | |
59 | +============ | |
60 | + | |
61 | +The :need:`CALC2_1000ND` requirement is a good example of a “*nonfunctional*” (actually: a non-distributable) | |
62 | +specification. It is valid for all other requirements; all parts of the implementation should adhere to it. | |
63 | + | |
64 | +Testing this requirement is also different too. The same tests are valid: we have to add, subtract, multiply and | |
65 | +divide. | |
66 | +|BR| | |
67 | +Only, now we have to use other numbers; really big ones! | |
68 | + | |
69 | +Traditionally | |
70 | +------------- | |
71 | + | |
72 | +In the traditional world, using the TMAP-terms, this approximately come down to: | |
73 | + | |
74 | +* Reuse the *logic test*. | |
75 | +* Change a *physical test* (or add one). | |
76 | + | |
77 | +Modern | |
78 | +------ | |
79 | + | |
80 | +When using an agile test-automation framework this implies | |
81 | + | |
82 | +* The ATS (Automated Test Script) isn’t altered. | |
83 | +* Some “Test-Vectors” (or test-data) is added: the big-fractions. | |
84 | + | |
85 | +Specification Traceability | |
86 | +-------------------------- | |
87 | + | |
88 | +To be able to trace some test need to be adapted, we only have to add some “links” between the relevant test and the | |
89 | +additional (test) specification. That is done in :need:`CALC2_1000ND` (possible you have to click/open the see the | |
90 | +details), by adding some (outgoing) links to the existing tests. | |
91 | + | |
92 | +.. note:: | |
93 | + | |
94 | + The incoming links are added automatically |
@@ -1,29 +1,28 @@ | ||
1 | 1 | .. Copyright (C) ALbert Mietus & Sogeti.HT; 2020 |
2 | 2 | |
3 | - | |
3 | +********************** | |
4 | 4 | Demo: Some calculators |
5 | -====================== | |
5 | +********************** | |
6 | 6 | |
7 | -This section contains a few demonstrations of the Requirements Traceability concept. | |
7 | +This chapter contains a few demonstrations of the Requirements Traceability concept. | |
8 | 8 | |
9 | 9 | We start with a very simple product: the :need:`CALC1`; with only a few generic requirements and tests. By defining |
10 | 10 | those “needs”[#needs]_ it becomes possible to show a (generated) :ref:`graph <demo1_graph>` with the relations between |
11 | 11 | them. |BR| Probably, you will be able to implement and verify this simple product without (formal) |
12 | -requirements-traceability; but it give a nice introduction to the concept. | |
12 | +requirements-traceability; but it gives a nice introduction to the concept. | |
13 | 13 | |
14 | 14 | |
15 | 15 | Then, a new product the :need:`CALC2` is defined, in the same way. |
16 | 16 | |BR| |
17 | -It has only one (tricky) additional requirement; which make both implementation and validation (testing) more | |
17 | +It has only one (tricky) additional requirement; which makes both implementation and validation (testing) more | |
18 | 18 | defiant. Again, a nice :ref:`graph <demo2_graph>` is shown. |
19 | 19 | |
20 | 20 | Likewise, we could add more demo’s with more and more specifications, tests and *need* at multiple-levels; but you will |
21 | 21 | get the idea: By simple ‘defining’ the needs, it becomes possible to get insight; independent of the size of the products |
22 | -of the numbers of specification. | |
22 | +or the numbers of specifications. | |
23 | 23 | |
24 | -Finally an :ref:`overal graph <all_graph>` is shown, with all products, all test and all the needs in beween. Just | |
25 | -because it is easy to include it; it takes a handful of lines, only. | |
26 | -|BR| | |
24 | +Finally, an :ref:`overall graph <all_graph>` is shown, with all the products, all the tests, and all the connecting | |
25 | +*needs*. Just because it is easy to include it; it takes a handful of lines, only | |
27 | 26 | |
28 | 27 | |
29 | 28 | .. toctree:: |
@@ -38,7 +37,7 @@ | ||
38 | 37 | |
39 | 38 | .. rubric:: Footnotes & Links |
40 | 39 | |
41 | -.. [#needs] The universal term *needs* is used for all kinds of requirements, specifications, test(specs), etc. | |
40 | +.. [#needs] The universal term ‘*need*’ is used for all kinds of requirements, specifications, test-specs, etc. | |
42 | 41 | This name comes from the “needs” extension to “sphinx-docs” that we use in this demo. |
43 | 42 | |
44 | 43 | Needs: |
@@ -1,7 +1,8 @@ | ||
1 | 1 | .. Copyright (C) ALbert Mietus & Sogeti.HT; 2020 |
2 | 2 | |
3 | +***** | |
3 | 4 | Goals |
4 | -===== | |
5 | +***** | |
5 | 6 | |
6 | 7 | .. toctree:: |
7 | 8 | :glob: |
@@ -4,6 +4,23 @@ | ||
4 | 4 | Requirements Traceability Demo |
5 | 5 | ============================== |
6 | 6 | |
7 | +.. post:: 2020/02/02 | |
8 | + :tags: | |
9 | + :category: | |
10 | + :location: Eindhoven | |
11 | + :language: en | |
12 | + | |
13 | + Requirement-Management, and especially *“Tracking Requirements”* isn’t that complicated; but it needs some discipline. | |
14 | + Often that discipline is “replaced” by a tool, which is encouraged by tool-vendors. That hardly ever works. | |
15 | + | |
16 | + This chapter introduces requirements traceability in a conceptual, but pragmatic way. Its shows what a team has to do | |
17 | + (defining requirements and describing the relations) and what the benefit is. It assume a (more of less) agile | |
18 | + way-of-work, and shows how ti can becomes lean. A small investment in good requirements definitions make validations | |
19 | + a lot easier. | |
20 | + | |
21 | + And yes, it used a tool: a free one: A simple way to write maintainable documentation, including all | |
22 | + requirements. With a plugin that can visualize all specifications and their relations. | |
23 | + | |
7 | 24 | .. admonition:: Summary (testers view) |
8 | 25 | |
9 | 26 | .. image:: ./V-IdeaWorkProduct-alfa.png |
@@ -0,0 +1,35 @@ | ||
1 | +.. Copyright (C) ALbert Mietus & Sogeti.HT; 2020 | |
2 | + | |
3 | +*********************** | |
4 | +Some notes on this demo | |
5 | +*********************** | |
6 | +:status: Just notes | |
7 | + | |
8 | + | |
9 | +To be able to make a compact demo, some “tricks” are used; like the “forgotten test”. Those tricks are documented here. | |
10 | + | |
11 | +.. _about_forgotten_test: | |
12 | +The forgotten_test | |
13 | +================== | |
14 | + | |
15 | +Intentionally, for the first demo one test is “forgotten”. This shown and documented in :ref:`forgetting a test <forgotten_test>` on one page, but needed to be fixed for the second demo; see :ref:`test_hotfix` on another page. And test:need:`CALC2_TEST_DIV_1` itself. | |
16 | +and combining some | |
17 | + | |
18 | +Surely this is not typical in one documentation-release. Therefore the ``:tags:`` `general`, `calc1` and `calc2` are used in the ``req::` and ``:spec`` *directives*, to be able to filer them in the tables and graphs. | |
19 | + | |
20 | + | |
21 | +LATER/ADD | |
22 | +========= | |
23 | + | |
24 | +* We can count the numbers of test, and we can insert links to each one automatically. By example, for the calculator requirements: | |
25 | + | |
26 | + :need:`CALC_ADD`: has :need_count:`type=='test' and 'CALC_ADD' in links` tests defined. (:need_incoming:`CALC_ADD`) | |
27 | + | |
28 | + The count is only selecting the TEST. The list is alos showing the SPEC! | |
29 | + | |
30 | +* Count/Ref all or only 1 step? | |
31 | + | |
32 | + :need_count:`type=='test' and 'CALC1' in links` test for CALC1. | |
33 | + | |
34 | +Demo Notes | |
35 | +=========== |
@@ -80,5 +80,6 @@ | ||
80 | 80 | dict(directive="test", title="Test_Case", prefix="T_", color="#F6E27F", style="folder") |
81 | 81 | ] |
82 | 82 | |
83 | -needs_global_options = {'style': [("[[copy('type')]]", 'True')]} | |
84 | -needs_default_layout = 'complete' | |
83 | +### For needs-0.5+; which we don't use | |
84 | +#needs_global_options = {'style': [("[[copy('type')]]", 'True')]} | |
85 | +#needs_default_layout = 'complete' |
@@ -75,8 +75,9 @@ | ||
75 | 75 | border-radius: 33%; |
76 | 76 | } |
77 | 77 | |
78 | -/* Whitespace between/around footnotes should be small(er) */ | |
79 | -.rst-content div.footnote table.footnote tr td { padding: 1px 2em;} | |
78 | +div.disqus h2 {background-color: #000066;} | |
79 | + | |
80 | + | |
80 | 81 | |
81 | 82 | /* |
82 | 83 | * Needs |
@@ -86,9 +87,12 @@ | ||
86 | 87 | /* For NEEDS-043 |
87 | 88 | ****************/ |
88 | 89 | |
89 | -div.need.need-demonstrator {background-color: #9DC5BB;} | |
90 | -div.need.need-requirement {background-color: #C5EBC3} | |
91 | -div.need.need-test_case {background-color: #F6E27F;} | |
90 | +div.need.need-demonstrator {background-color: #9DC5BB;} | |
91 | +div.need.need-requirement {background-color: #C5EBC3} | |
92 | +div.need.need-specification {background-color: #FEDCD2;} | |
93 | +div.need.need-implementation {background-color: #DF744A;} | |
94 | +div.need.need-test_case {background-color: #F6E27F;} | |
95 | + | |
92 | 96 | /*Make the box standout (a lttile), style the ID as a links, no margin below last p*/ |
93 | 97 | div.need {border: 2px solid #000066;} |
94 | 98 | div.need span.needs-id a {color: #000066; text-decoration: underline;} |
@@ -10,3 +10,5 @@ | ||
10 | 10 | |
11 | 11 | .. role:: sogeti-email |
12 | 12 | :class: sogeti-email |
13 | + | |
14 | +.. EOF |