wiki:UseCase011

Version 2 (modified by 233149, 2 weeks ago) ( diff )

--

UC011 - Менување и бришење на оценка

Иницијален актер: Професор

Други актери: -

Професорот сака да измени претходно внесена оценка или целосно да ја отстрани доколку е внесена погрешно. Целта е исправена состојба во уверението на студентот.

Сценарио

  1. Професорот ја отвора страницата Студенти и наоѓа студент кој веќе има оценка на неговиот предмет.
  1. Професорот избира нова оценка и избира Измени оценка.
  1. Системот ја менува оценката и го ажурира датумот. Условот за професорот е дел од под-барањето, па измена е можна само на сопствен предмет.
    UPDATE project.passed_subjects
    SET grade = '8',
        date_passed = now()
    WHERE enrolled_id = (
        SELECT ss.id
        FROM project.semesters_subjects ss
        JOIN project.enrolled_semesters es ON es.id = ss.enrolled_semesters_id
        WHERE ss.professor_id = 4 AND ss.subjects_id = 2 AND es.user_id = 1
    );
    
  1. Ако оценката е внесена по грешка, професорот избира Избриши оценка.
  1. Системот го брише редот од passed_subjects. Предметот останува запишан во semesters_subjects, само повеќе не е положен.
    DELETE FROM project.passed_subjects
    WHERE enrolled_id = (
        SELECT ss.id
        FROM project.semesters_subjects ss
        JOIN project.enrolled_semesters es ON es.id = ss.enrolled_semesters_id
        WHERE ss.professor_id = 4 AND ss.subjects_id = 2 AND es.user_id = 1
    );
    
  1. Системот ја освежува табелата; студентот повеќе не го гледа предметот меѓу положените.

Алтернативни текови

  • 3а. Предметот сè уште нема оценка - наредбата не менува ниту еден ред и системот упатува на UC010.
  • 5а. Бришењето не влијае на запишаниот семестар ниту на предметот, бидејќи passed_subjects е посебна табела поврзана 1:1 со semesters_subjects.
Note: See TracWiki for help on using the wiki.