wiki:WikiStart/UseCaseModel/ImportantUseCase5

Внесување на нов испит

Актери:

  • Нaјавен студент

Забелешка: Сликите не се конечен изглед на апликацијата. WEB имплементацијата на ова сценарио може да се погледне тука

Чекори во сценариото:

Чекор 1
Одкако корисникот успешно ќе се најави, му се презентира почетната страна на апликацијата.

Чекор 2
Најавениот корисник го кликнува главното(Hamburger) мени лоцирано од левата страна на екранот.

Чекор 3
Најавениот студент се навигира до приказот на испити.

Чекор 4
На овој приказ на студентот му се излистуваат сите испити кои ги има внесено, а се'уште немаат изминато (по хронолошки редослед).

SELECT 
    sat.subject_name, 
    ce.event_name,
    ce.event_type,
    nre.event_date,
    ce.event_start_time,
    ce.event_end_time
FROM 
    non_repeating_events AS nre
JOIN 
    calendar_event AS ce ON nre.calendar_event_id = ce.calendar_event_id
JOIN 
    subject_event AS sbe ON ce.calendar_event_id = sbe.calendar_event_id
JOIN 
    subject_at_term AS sat ON sat.term_subject_id = sbe.term_subject_id
        AND sat.term_type = sbe.term_type
        AND sat.starting_year = sbe.starting_year
        AND sat.finishing_year = sbe.finishing_year
        AND sat.student_id = sbe.student_id 
WHERE 
    nre.event_date >= CURRENT_DATE
    AND ce.event_type = 'Exam'
    AND sbe.student_id = 11111
ORDER BY 
    nre.event_date,
    ce.event_start_time;

Чекор 5

Најавениот корисник го избира копчето за додавање на нов испит ("Додади нов").

Чекор 6
На најавениот корисник му се прикажува форма за пополнување за испитот кој што сака да го додаде.

Чекор 7
Од листата на веќе предходно внесени предмети, најавениот корисник го избира предметот за кој се однесува испитот кој сака да го внесе (предметите се излистани по редослед на внесување).

--Листање на сите предмети кои студентот ги има запишано

SELECT
    subject_name,
    term_type,
    starting_year,
    finishing_year
FROM 
    subject_at_term
WHERE 
    student_id = 11111
ORDER BY 
    finishing_year DESC; 

--Листање на сите места внесени од студентот

SELECT 
	p.building_name,
	p.room_name
FROM place as p
JOIN happens_at_place as hap
ON hap.place_id = p.place_id
JOIN calendar_event as ce
ON hap.calendar_event_id = ce.calendar_event_id
JOIN student_event as se
ON ce.calendar_event_id = se.calendar_event_id
JOIN subject_event as sje
ON sje.calendar_event_id = ce.calendar_event_id
WHERE
	se.student_id = 11111
	OR sje.student_id = 11111

Чекор 8
Од листата на веќе предходно внесени места, најавениот корисник го избира местото каде што ќе се одржува испитот кој сака да го внесе (местата се излистани по редослед на внесување).

Чекор 9
Најавениот корисник дополнително внесува и име на испит, датум на полагање на испитот, време на почеток на испитот и време на завршување на испитот. Опционално може да внесе и опис на испитот.

Чекор 10
По клик на копчето "Потврди", сите нововнесени податоци се внесуваат во базата.

INSERT INTO calendar_event(calendar_event_id, event_type, event_name, event_description, event_start_time, event_end_time)
VALUES
(123, ‘Exam’, ‘Vneseno ime na ispit’, ‘vnesen opis’, ‘12:00:00’, ‘13:00:00’);

INSERT INTO non_repeating_event(calendar_event_id, event_date)
VALUES
(123, ‘2024-02-05’);

INSERT INTO subject_event(calendar_event_id, student_id, starting_year, finishing_year, term_type, term_subject_id)
VALUES
(123, 11111, 2023, 2024, ‘Z’, 555);
-- забелешка: вредностите за student_id, starting_year, finishing_year, term_type,
-- term_subject_id се превземаат од селектираниот предмет

INSERT INTO happens_at_place(calendar_event_id, place_id)
VALUES
(123, 3333) --претпоставуваме дека 3333 е селектираното место

Last modified 9 months ago Last modified on 02/21/24 16:28:39

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.