Changes between Version 1 and Version 2 of UseCase011


Ignore:
Timestamp:
09/15/26 11:40:14 (2 weeks ago)
Author:
233149
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase011

    v1 v2  
    1 == UseCase011 - Менување и бришење на оценка
     1== UC011 - Менување и бришење на оценка
    22
    3 === Актери
    4  * Најавен професор
     3'''Иницијален актер:''' Професор
    54
    6 === Чекори
    7  1. Професорот навигира до страната „Студенти“
    8  2. Професорот избира студент со веќе внесена оценка
    9  3. За менување - професорот избира нова оценка и кликнува на копчето „Измени оценка“; системот го ажурира постоечкиот запис
    10  4. За бришење - професорот кликнува на копчето „Избриши оценка“; системот го брише записот за положен предмет
    11  5. На професорот му се прикажува потврда за извршената операција
     5'''Други актери:''' -
     6
     7Професорот сака да измени претходно внесена оценка или целосно да ја отстрани
     8доколку е внесена погрешно. Целта е исправена состојба во уверението на
     9студентот.
     10
     11=== Сценарио
     12
     13 1. Професорот ја отвора страницата '''Студенти''' и наоѓа студент кој веќе има оценка на неговиот предмет.
     14
     15 2. Професорот избира нова оценка и избира '''Измени оценка'''.
     16
     17 3. Системот ја менува оценката и го ажурира датумот. Условот за професорот е дел од под-барањето, па измена е можна само на сопствен предмет.
     18{{{#!sql
     19UPDATE project.passed_subjects
     20SET grade = '8',
     21    date_passed = now()
     22WHERE enrolled_id = (
     23    SELECT ss.id
     24    FROM project.semesters_subjects ss
     25    JOIN project.enrolled_semesters es ON es.id = ss.enrolled_semesters_id
     26    WHERE ss.professor_id = 4 AND ss.subjects_id = 2 AND es.user_id = 1
     27);
     28}}}
     29
     30 4. Ако оценката е внесена по грешка, професорот избира '''Избриши оценка'''.
     31
     32 5. Системот го брише редот од passed_subjects. Предметот останува запишан во semesters_subjects, само повеќе не е положен.
     33{{{#!sql
     34DELETE FROM project.passed_subjects
     35WHERE enrolled_id = (
     36    SELECT ss.id
     37    FROM project.semesters_subjects ss
     38    JOIN project.enrolled_semesters es ON es.id = ss.enrolled_semesters_id
     39    WHERE ss.professor_id = 4 AND ss.subjects_id = 2 AND es.user_id = 1
     40);
     41}}}
     42
     43 6. Системот ја освежува табелата; студентот повеќе не го гледа предметот меѓу положените.
     44
     45=== Алтернативни текови
     46
     47 * '''3а.''' Предметот сè уште нема оценка - наредбата не менува ниту еден ред и системот упатува на [wiki:UseCase010 UC010].
     48 * '''5а.''' Бришењето не влијае на запишаниот семестар ниту на предметот, бидејќи passed_subjects е посебна табела поврзана 1:1 со semesters_subjects.