Version 3 (modified by 2 weeks ago) ( diff ) | ,
---|
Апликативен дизајн - Случаи на употреба и Сценарија за пристап до базата - SQL Погледи
Актери
- Нерегистриран корисник
- Може да прегледува јавни податоци за настани
- Нема пристап до напредни анализи и предвидувања
- Регистриран корисник
- Има пристап до персонализирани извештаи
- Може да добива известувања за релевантни настани
- Може да управува со сопствени поставки
- Аналитичар
- Ги анализира податоците за настани, актери и конфликти
- Генерира детални извештаи
- Работи со моделите за предвидување
- Истражувач
- Ги користи податоците за сопствени истражувања
- Може да прави пребарувања и извлекува податоци за подлабока анализа
- Нема пристап до административните функционалности
- Администратор
- Управува со корисници и нивните претплати
- Може да креира, уредува и брише податоци
- Надгледува и контролира системот
Сценарија
1. Регистрација и најава на корисник
- Актер: Корисник (аналитичар, истражувач, администратор)
- Опис: Корисникот се регистрира преку формулар внесувајќи име, презиме, е-пошта и лозинка. По успешна регистрација, може да се најави во системот со своите акредитиви.
- Алтернативен тек: Ако внесените податоци не се валидни, системот враќа порака за грешка.
2. Преглед на настани
- Актер: Корисник (аналитичар, истражувач)
- Опис: Корисникот прегледува листа на регистрирани настани, филтрирани според датум, локација, актер или тип на настан.
- Алтернативен тек: Ако нема достапни податоци за избраните критериуми, се прикажува порака „Нема резултати за дадените параметри“.
3. Анализа на актер
- Актер: Аналитичар
- Опис: Корисникот пребарува специфичен актер и ги анализира неговите поврзани настани, предвидувања и конфликти.
- Алтернативен тек: Ако актерот не постои, системот враќа порака „Нема информации за избраниот актер“.
4. Генерирање извештаи
- Актер: Корисник (аналитичар, администратор)
- Опис: Корисникот избира параметри за извештај (период, актер, локација) и системот генерира табеларен и графички приказ на податоците.
- Алтернативен тек: Ако нема податоци за избраните критериуми, системот враќа празен извештај со соодветна порака.
5. Следење на конфликти
- Актер: Аналитичар
- Опис: Корисникот прегледува прогнози за можни конфликти базирани на ризик фактори и историски податоци.
- Алтернативен тек: Ако нема достапни предвидувања за избраната област, системот враќа информација „Нема предвидени конфликти“.
6. Управување со претплати
- Актер: Администратор
- Опис: Администраторот креира, уредува или брише претплати на корисници врз база на избраниот план (број на анализи, известувања).
- Алтернативен тек: Ако корисникот нема активна претплата, системот го известува дека треба да се претплати за пристап до функционалностите.
7. Известувања за нови настани
- Актер: Корисник
- Опис: Корисникот добива автоматски известувања кога системот регистрира нов настан или предвиден ризик во избраната категорија.
- Алтернативен тек: Ако нема нови настани или корисникот нема претплата за известувања, системот не испраќа известување.
Најважни случаи на употреба
1. Преглед на настани
SELECT e.global_event_id, e.sql_date, e.event_code, e.goldstein_scale, e.num_mentions, e.num_sources, e.num_articles, e.avg_tone FROM events e ORDER BY e.sql_date DESC LIMIT 50;
2. Анализа на актер
SELECT a.actor_name, e.global_event_id, e.event_code, e.sql_date, e.num_mentions, e.avg_tone FROM actors a JOIN event_details ed ON a.actor_id = ed.actor_id JOIN events e ON ed.global_event_id = e.global_event_id WHERE a.actor_id = 5003 ORDER BY e.sql_date DESC;
3. Следење на конфликти
SELECT cr.conflict_id, a1.actor_name AS actor_1, a2.actor_name AS actor_2, cr.risk_score, cr.predicted_date, cr.description FROM conflict_risk cr JOIN actors a1 ON cr.actor1_id = a1.actor_id JOIN actors a2 ON cr.actor2_id = a2.actor_id WHERE cr.predicted_date >= CURRENT_DATE ORDER BY cr.risk_score DESC;
4. Генерирање извештаи
SELECT p.prediction_id, e.global_event_id, a.actor_name, p.prediction_type, p.confidence_score, p.predicted_date FROM predictions p JOIN events e ON p.event_id = e.global_event_id JOIN actors a ON p.actor_id = a.actor_id WHERE p.predicted_date BETWEEN CURRENT_DATE - INTERVAL '30 days' AND CURRENT_DATE ORDER BY p.confidence_score DESC;
5. Известувања за нови настани
SELECT n.notification_id, u.email, e.global_event_id, e.event_code, n.notification_date, n.status FROM notifications n JOIN users u ON n.user_id = u.user_id JOIN events e ON n.event_id = e.global_event_id WHERE n.notification_date >= CURRENT_DATE - INTERVAL '7 days' ORDER BY n.notification_date DESC;
Note:
See TracWiki
for help on using the wiki.