Beispiel #1
0
        private void LoadRequirements()
        {
            Stakeholder client = new Stakeholder("Заказчик", "Client");

            Stakeholders.Add(client);

            Stakeholder users = new Stakeholder("Пользователи", "Users");

            Stakeholders.Add(users);

            // Создание первого графа требований и модулей
            Requirement req1 = new Requirement("Вычисление квадратного уравнения", client, 60, 1);

            Requirement req11 = req1.AddSubRequirement("Ввод a, b, c", client, 60, 1);

            req11.AddSubModule("Input(a,b,c)", 100);

            Requirement req111 = req11.AddSubRequirement("Ввод целых числе a, b, c", users, 60, 2);

            req111.AddSubModule("Input(int a, int b, int c)", 100);

            Requirement req1111 = req111.AddSubRequirement("Ввод вещественных чисел a, b, c", users, 60, 3);

            req1111.AddSubModule("Input(double a, double b, double c)", 100);

            Requirement req12 = req1.AddSubRequirement("Решение квадратного уравнения", client, 60, 1);

            req12.AddSubModule("SolveEquation()", 100);
            req12.AddSubModule("Sum()", 50);
            req12.AddSubModule("Deduct()", 50);
            req12.AddSubModule("Mod()", 100);
            req12.AddSubModule("Div()", 100);
            req12.AddSubModule("Multiply()", 200);
            req12.AddSubModule("Sqrt()", 200);
            req12.AddSubModule("Pow()", 300, false);
            req12.AddSubModule("SolveInequality()", 100);

            Requirement req13 = req1.AddSubRequirement("Решение квадратного неравенство", client, 60, 2);

            req13.AddSubModule("Sum()", 50);
            req13.AddSubModule("Deduct()", 50);
            req13.AddSubModule("Mod()", 100);
            req13.AddSubModule("Div()", 100);
            req13.AddSubModule("Multiply()", 200);
            req13.AddSubModule("Sqrt()", 200);
            req13.AddSubModule("Pow()", 300, false);

            // Создание второго графа требований и модулей
            Requirement req2 = new Requirement("Проверка решения пользователя", client, 60, 1);

            Requirement req21 = req2.AddSubRequirement("Таймер (время на решение)", client, 60, 1);

            req21.AddSubModule("Timer()", 100);
            req21.AddSubRequirement("10 мин", users, 60, 2).AddSubModule("TimerRun(int 10)", 100);
            req21.AddSubRequirement("20 мин", users, 60, 2).AddSubModule("TimerRun(int 20)", 100);
            req21.AddSubRequirement("Отключение таймера", users, 60, 2, false).AddSubModule("TimerOff()", 100);

            Requirement req22 = req2.AddSubRequirement("Отображения ответа", client, 60, 1);

            req22.AddSubModule("Answer()", 100);
            req22.AddSubRequirement("С помощью графика", users, 60, 3).AddSubModule("ShowChart()", 100);
            req22.AddSubRequirement("С помощью формулы", users, 60, 3).AddSubModule("ShowFormula()", 100);
            req22.AddSubRequirement("Голосовое сообщение", users, 60, 3, false).AddSubModule("VoiceAnswer()", 100);

            req2.AddSubRequirement("Отображения решения", client, 60, 2).AddSubModule("Decision()", 100);

            // Создание третьего графа требований и модулей
            Requirement req3 = new Requirement("Статистика пользователей ", client, 60, 1);

            Requirement req31 = req3.AddSubRequirement("Кол-во решенных примеров", client, 60, 1);

            req31.AddSubModule("SuccessResult()", 100);
            req31.AddSubRequirement("Процент решенных примеров", users, 60, 2).AddSubModule("ProcentSuccessResult()", 100);
            req3.AddSubRequirement("Среднее время решения", client, 60, 2).AddSubModule("AverageSolving()", 100);

            // Добавление всех описанных требований в список требований
            Requirements.Add(req1);
            Requirements.Add(req2);
            Requirements.Add(req3);
        }
 public Requirement AddSubRequirement(Requirement requirement)
 {
     requirement.MainRequirement = this;
     SubRequirements.Add(requirement);
     return(requirement);
 }