summaryrefslogtreecommitdiff
path: root/devel/requirements/5_nonfunctional.xml
blob: f71f45b255d1f50c10570b899386e4b072ccb7b6 (plain) (blame)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?xml version="1.0" encoding="utf-8"?>
<chapter label="5" id="nonfunctional">
    <title>Non-functional Requirements</title>
    <para/>
    <section id="performance">
        <title>Performance Requirements</title>
        <para>For the purposes of this section, the base hardware platforms shall be defined as follows.</para>
        <variablelist>
            <title>Base hardware platform, PowerPC</title>
            <varlistentry>
                <term>CPU</term>
                <listitem><para>PowerPC "G3" 750 at 600 MHz</para></listitem>
            </varlistentry>
            <varlistentry>
                <term>RAM</term>
                <listitem><para>640 MB PC133</para></listitem>
            </varlistentry>
            <varlistentry>
                <term>Disk drive</term>
                <listitem><para>40 GB PATA</para></listitem>
            </varlistentry>
            <varlistentry>
                <term>Optical drive</term>
                <listitem><para>8X DVD-ROM drive</para></listitem>
            </varlistentry>
        </variablelist>
        <variablelist>
            <title>Base hardware platform, Intel</title>
            <varlistentry>
                <term>CPU</term>
                <listitem><para>Pentium III at 550 MHz</para></listitem>
            </varlistentry>
            <varlistentry>
                <term>RAM</term>
                <listitem><para>256 MB PC133</para></listitem>
            </varlistentry>
            <varlistentry>
                <term>Disk drive</term>
                <listitem><para>80 GB PATA</para></listitem>
            </varlistentry>
            <varlistentry>
                <term>Optical drive</term>
                <listitem><para>24X CD-ROM drive</para></listitem>
            </varlistentry>
        </variablelist>
    </section>
    <section id="safety">
        <title>Safety Requirements</title>
        <para/>
    </section>
    <section id="security">
        <title>Security Requirements</title>
        <para/>
    </section>
    <section id="sqa">
        <title>Software Quality Attributes</title>
        <formalpara id="SQA.Flexibility.ScriptFormat">
            <title>SQA.Flexibility.ScriptFormat</title>
            <para>A programmer with two years of C++ experience shall be able to change the on-disk format of HorizonScript with no more than two hours of labour.</para>
        </formalpara>
        <formalpara id="SQA.Flexibility.Firmware">
            <title>SQA.Flexibility.Firmware</title>
            <para>The firmware support described under the UI.Firmware.* requirements branch shall be disableable at compile-time.</para>
        </formalpara>
        <formalpara id="SQA.Flexibility.FirmwareConf">
            <title>SQA.Flexibility.FirmwareConf</title>
            <para>The firmware support described under the UI.Firmware.* requirements branch shall be disableable at run-time via a configuration setting.</para>
        </formalpara>
        <formalpara id="SQA.Robustness.ScriptSync">
            <title>SQA.Robustness.ScriptSync</title>
            <para>The system shall provide a method to save the executed HorizonScript and log messages in the event of a fatal error.</para>
        </formalpara>
        <formalpara id="SQA.Usability.TTI.Experienced">
            <title>SQA.Usability.TTI.Experienced</title>
            <para>A User with experience installing other Linux distributions shall be able to complete the Horizon UI flow through <xref linkend="ui_perform" /> in less than 15 minutes.</para>
        </formalpara>
        <formalpara id="SQA.Usability.TTI.Green">
            <title>SQA.Usability.TTI.Green</title>
            <para>A User with no prior experience with Linux shall be able to complete the Horizon UI flow through <xref linkend="ui_perform" /> in less than one hour.</para>
        </formalpara>
        <formalpara id="SQA.Portability.Bitness">
            <title>SQA.Portability.Bitness</title>
            <para>A HorizonScript shall be readable on 32-bit and 64-bit computers regardless of what type of computer was used to create it.</para>
        </formalpara>
        <formalpara id="SQA.Portability.Endianness">
            <title>SQA.Portability.Endianness</title>
            <para>A HorizonScript shall be readable on big endian and little endian computers regardless of what type of computer was used to create it.</para>
        </formalpara>
        <formalpara id="SQA.Verifiability.BlockMock">
            <title>SQA.Verifiability.BlockMock</title>
            <para>The system shall support the ability to use "mock" block devices for purposes of testing and verification.</para>
        </formalpara>
        <formalpara id="SQA.Maintainability.Comments">
            <title>SQA.Maintainability.Comments</title>
            <para>All functions and methods in the system shall have a comment describing what action the function or method performs, and its inputs, outputs, and any side effects (if applicable).</para>
        </formalpara>
        <formalpara id="SQA.Maintainability.Methods">
            <title>SQA.Maintainability.Methods</title>
            <para>Each class in the system shall have no more than 20 methods.</para>
        </formalpara>
        <formalpara id="SQA.Maintainability.NoOPFuncs">
            <title>SQA.Maintainability.NoOPFuncs</title>
            <para>Each function or method in the system shall take no more than six input parameters.</para>
        </formalpara>
    </section>
</chapter>