40018-vm/db/sessions.json
2026-05-16 08:34:43 +00:00

1789 lines
72 KiB
JSON

[
{
"id": "sess_0gbnohlxmp73742g",
"title": "نظام إدارة عيادة",
"scope": "نظام لإدارة عيادة طبية صغيرة، يتضمن إدارة المرضى والمواعيد والملفات الطبية والفواتير، مع إشعارات للمرضى.",
"actors": [
"المريض",
"موظف الاستقبال",
"الطبيب",
"مسؤول النظام"
],
"useCases": [
{
"id": "UC-01",
"title": "حجز موعد جديد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار حجز موعد جديد.",
"النظام يعرض الأوقات المتاحة.",
"المريض يختار الوقت المناسب.",
"النظام يؤكد حجز الموعد."
],
"alternateFlow": [
"الوقت المختار غير متاح."
]
},
{
"id": "UC-02",
"title": "متابعة المواعيد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار متابعة مواعيده.",
"النظام يعرض قائمة المواعيد القادمة والسابقة.",
"المريض يستعرض تفاصيل الموعد."
],
"alternateFlow": []
},
{
"id": "UC-03",
"title": "تسجيل مريض جديد",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار تسجيل مريض جديد.",
"موظف الاستقبال يدخل بيانات المريض.",
"النظام يحفظ بيانات المريض."
],
"alternateFlow": [
"بيانات المريض غير مكتملة."
]
},
{
"id": "UC-04",
"title": "تحديث بيانات المريض",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يبحث عن المريض.",
"موظف الاستقبال يعدل بيانات المريض.",
"النظام يحدث بيانات المريض."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-05",
"title": "إصدار فاتورة",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار إصدار فاتورة.",
"موظف الاستقبال يحدد الخدمات المقدمة.",
"النظام يحسب المبلغ الإجمالي.",
"النظام يصدر الفاتورة."
],
"alternateFlow": [
"الخدمات غير محددة."
]
},
{
"id": "UC-06",
"title": "عرض الملف الطبي",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يبحث عن المريض.",
"النظام يعرض الملف الطبي للمريض.",
"الطبيب يستعرض تاريخ المريض الطبي."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-07",
"title": "إضافة تشخيص ووصفة",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يختار إضافة تشخيص ووصفة.",
"الطبيب يدخل التشخيص.",
"الطبيب يضيف الوصفة الطبية.",
"النظام يحفظ التشخيص والوصفة."
],
"alternateFlow": [
"التشخيص أو الوصفة غير مكتملة."
]
},
{
"id": "UC-08",
"title": "عرض تقرير يومي",
"actor": "مسؤول النظام",
"preconditions": "مسؤول النظام مسجل الدخول.",
"mainFlow": [
"مسؤول النظام يختار عرض تقرير يومي.",
"النظام يعرض تقرير بالمواعيد والفواتير.",
"مسؤول النظام يستعرض التقرير."
],
"alternateFlow": []
},
{
"id": "UC-09",
"title": "إرسال إشعار تذكير بالموعد",
"actor": "النظام",
"preconditions": "يوجد موعد قادم للمريض.",
"mainFlow": [
"النظام يحدد المواعيد القادمة.",
"النظام يرسل إشعار تذكير للمريض.",
"المريض يستقبل الإشعار."
],
"alternateFlow": [
"المريض قام بإلغاء الموعد."
]
},
{
"id": "UC-01",
"title": "إرسال التذكير بالمواعيد",
"actor": "نظام خارجي",
"preconditions": "تتوفر صلاحية نظام خارجي والوصول إلى البيانات اللازمة.",
"mainFlow": [
"يفتح نظام خارجي مسار إرسال التذكير بالمواعيد.",
"يدخل البيانات أو يحدد الخيارات المطلوبة.",
"يعالج النظام الطلب ويعرض النتيجة أو التأكيد المناسب."
],
"alternateFlow": []
}
],
"inputOutputs": [
{
"id": "IO-01",
"type": "input",
"name": "بيانات المريض",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "بيانات المريض عند التسجيل أو التحديث."
},
{
"id": "IO-02",
"type": "input",
"name": "الخدمات المقدمة",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "قائمة الخدمات لتحديدها عند إصدار الفاتورة."
},
{
"id": "IO-03",
"type": "output",
"name": "فاتورة",
"source": "النظام",
"destination": "موظف الاستقبال",
"description": "الفاتورة النهائية للخدمات المقدمة."
},
{
"id": "IO-04",
"type": "input",
"name": "التشخيص والوصفة",
"source": "الطبيب",
"destination": "النظام",
"description": "معلومات التشخيص والوصفة الطبية."
},
{
"id": "IO-05",
"type": "output",
"name": "الملف الطبي",
"source": "النظام",
"destination": "الطبيب",
"description": "الملف الطبي الكامل للمريض."
},
{
"id": "IO-06",
"type": "output",
"name": "تقرير يومي",
"source": "النظام",
"destination": "مسؤول النظام",
"description": "تقرير يومي بالمواعيد والفواتير."
},
{
"id": "IO-07",
"type": "output",
"name": "إشعار تذكير بالموعد",
"source": "النظام",
"destination": "المريض",
"description": "إشعار يرسله النظام للمريض لتذكيره بموعده."
},
{
"id": "IO-08",
"type": "input",
"name": "التذكير بالمواعيد",
"source": "نظام خارجي",
"destination": "النظام",
"description": "أضف تكاملاً بسيطاً مع بوابة رسائل SMS لإرسال التذكير بالمواعيد"
},
{
"id": "IO-09",
"type": "output",
"name": "التذكير بالمواعيد",
"source": "النظام",
"destination": "نظام خارجي",
"description": "أضف تكاملاً بسيطاً مع بوابة رسائل SMS لإرسال التذكير بالمواعيد"
}
],
"functionPoints": [
{
"id": "FP-01",
"name": "حجز موعد جديد",
"description": "تغطي حالة الاستخدام \"حجز موعد جديد\" للفاعل المريض.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-02",
"name": "متابعة المواعيد",
"description": "تغطي حالة الاستخدام \"متابعة المواعيد\" للفاعل المريض.",
"complexity": "بسيطة",
"fpScore": 3
},
{
"id": "FP-03",
"name": "تسجيل مريض جديد",
"description": "تغطي حالة الاستخدام \"تسجيل مريض جديد\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-04",
"name": "تحديث بيانات المريض",
"description": "تغطي حالة الاستخدام \"تحديث بيانات المريض\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-05",
"name": "إصدار فاتورة",
"description": "تغطي حالة الاستخدام \"إصدار فاتورة\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-06",
"name": "عرض الملف الطبي",
"description": "تغطي حالة الاستخدام \"عرض الملف الطبي\" للفاعل الطبيب.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-07",
"name": "إضافة تشخيص ووصفة",
"description": "تغطي حالة الاستخدام \"إضافة تشخيص ووصفة\" للفاعل الطبيب.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-08",
"name": "عرض تقرير يومي",
"description": "تغطي حالة الاستخدام \"عرض تقرير يومي\" للفاعل مسؤول النظام.",
"complexity": "معقدة",
"fpScore": 6
},
{
"id": "FP-09",
"name": "إرسال إشعار تذكير بالموعد",
"description": "تغطي حالة الاستخدام \"إرسال إشعار تذكير بالموعد\" للفاعل النظام.",
"complexity": "معقدة",
"fpScore": 6
},
{
"id": "FP-10",
"name": "إرسال التذكير بالمواعيد",
"description": "تغطي حالة الاستخدام \"إرسال التذكير بالمواعيد\" للفاعل نظام خارجي.",
"complexity": "متوسطة",
"fpScore": 4
}
],
"planning": {
"developers": 4,
"sprintWeeks": 2,
"hoursPerDay": 8
},
"history": [
{
"role": "assistant",
"payload": {
"reply": "بدأنا مشروعاً جديداً بعنوان \"نظام إدارة عيادة\". هل تود أن تبدأ برفع ملف SRS، أم تصف لي الهدف العام للمشروع مباشرة؟",
"stage": "intro",
"scope": "",
"actors": [],
"functionPoints": [],
"useCases": [],
"inputOutputs": [],
"isComplete": false
}
},
{
"role": "assistant",
"payload": {
"reply": "قرأت الملف \"clinic.txt\" واقترحت 4 Actors و9 Use Cases و3 Inputs و4 Outputs. هل تم استيعاب جميع متطلبات النظام بشكل صحيح في حالات الاستخدام والمدخلات/المخرجات؟",
"stage": "exploration",
"scope": "نظام لإدارة عيادة طبية صغيرة، يتضمن إدارة المرضى والمواعيد والملفات الطبية والفواتير، مع إشعارات للمرضى.",
"actors": [
"المريض",
"موظف الاستقبال",
"الطبيب",
"مسؤول النظام"
],
"functionPoints": [
{
"id": "FP-01",
"name": "إدارة المواعيد",
"description": "يشمل حجز المواعيد الجديدة ومتابعتها.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-02",
"name": "إدارة المرضى",
"description": "يشمل تسجيل المرضى وتحديث بياناتهم.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-03",
"name": "إدارة الفواتير",
"description": "يشمل إصدار الفواتير بناءً على الخدمات.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-04",
"name": "إدارة الملفات الطبية",
"description": "يشمل عرض الملف الطبي وإضافة التشخيص والوصفة.",
"complexity": "معقدة",
"fpScore": 6
},
{
"id": "FP-05",
"name": "إدارة التقارير",
"description": "يشمل عرض التقارير اليومية.",
"complexity": "بسيطة",
"fpScore": 3
},
{
"id": "FP-06",
"name": "إشعارات المواعيد",
"description": "إرسال إشعارات تذكير بالموعد.",
"complexity": "بسيطة",
"fpScore": 3
}
],
"useCases": [
{
"id": "UC-01",
"title": "حجز موعد جديد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار حجز موعد جديد.",
"النظام يعرض الأوقات المتاحة.",
"المريض يختار الوقت المناسب.",
"النظام يؤكد حجز الموعد."
],
"alternateFlow": [
"الوقت المختار غير متاح."
]
},
{
"id": "UC-02",
"title": "متابعة المواعيد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار متابعة مواعيده.",
"النظام يعرض قائمة المواعيد القادمة والسابقة.",
"المريض يستعرض تفاصيل الموعد."
],
"alternateFlow": []
},
{
"id": "UC-03",
"title": "تسجيل مريض جديد",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار تسجيل مريض جديد.",
"موظف الاستقبال يدخل بيانات المريض.",
"النظام يحفظ بيانات المريض."
],
"alternateFlow": [
"بيانات المريض غير مكتملة."
]
},
{
"id": "UC-04",
"title": "تحديث بيانات المريض",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يبحث عن المريض.",
"موظف الاستقبال يعدل بيانات المريض.",
"النظام يحدث بيانات المريض."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-05",
"title": "إصدار فاتورة",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار إصدار فاتورة.",
"موظف الاستقبال يحدد الخدمات المقدمة.",
"النظام يحسب المبلغ الإجمالي.",
"النظام يصدر الفاتورة."
],
"alternateFlow": [
"الخدمات غير محددة."
]
},
{
"id": "UC-06",
"title": "عرض الملف الطبي",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يبحث عن المريض.",
"النظام يعرض الملف الطبي للمريض.",
"الطبيب يستعرض تاريخ المريض الطبي."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-07",
"title": "إضافة تشخيص ووصفة",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يختار إضافة تشخيص ووصفة.",
"الطبيب يدخل التشخيص.",
"الطبيب يضيف الوصفة الطبية.",
"النظام يحفظ التشخيص والوصفة."
],
"alternateFlow": [
"التشخيص أو الوصفة غير مكتملة."
]
},
{
"id": "UC-08",
"title": "عرض تقرير يومي",
"actor": "مسؤول النظام",
"preconditions": "مسؤول النظام مسجل الدخول.",
"mainFlow": [
"مسؤول النظام يختار عرض تقرير يومي.",
"النظام يعرض تقرير بالمواعيد والفواتير.",
"مسؤول النظام يستعرض التقرير."
],
"alternateFlow": []
},
{
"id": "UC-09",
"title": "إرسال إشعار تذكير بالموعد",
"actor": "النظام",
"preconditions": "يوجد موعد قادم للمريض.",
"mainFlow": [
"النظام يحدد المواعيد القادمة.",
"النظام يرسل إشعار تذكير للمريض.",
"المريض يستقبل الإشعار."
],
"alternateFlow": [
"المريض قام بإلغاء الموعد."
]
}
],
"inputOutputs": [
{
"id": "IO-01",
"type": "input",
"name": "بيانات المريض",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "بيانات المريض عند التسجيل أو التحديث."
},
{
"id": "IO-02",
"type": "input",
"name": "الخدمات المقدمة",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "قائمة الخدمات لتحديدها عند إصدار الفاتورة."
},
{
"id": "IO-03",
"type": "output",
"name": "فاتورة",
"source": "النظام",
"destination": "موظف الاستقبال",
"description": "الفاتورة النهائية للخدمات المقدمة."
},
{
"id": "IO-04",
"type": "input",
"name": "التشخيص والوصفة",
"source": "الطبيب",
"destination": "النظام",
"description": "معلومات التشخيص والوصفة الطبية."
},
{
"id": "IO-05",
"type": "output",
"name": "الملف الطبي",
"source": "النظام",
"destination": "الطبيب",
"description": "الملف الطبي الكامل للمريض."
},
{
"id": "IO-06",
"type": "output",
"name": "تقرير يومي",
"source": "النظام",
"destination": "مسؤول النظام",
"description": "تقرير يومي بالمواعيد والفواتير."
},
{
"id": "IO-07",
"type": "output",
"name": "إشعار تذكير بالموعد",
"source": "النظام",
"destination": "المريض",
"description": "إشعار يرسله النظام للمريض لتذكيره بموعده."
}
],
"isComplete": false
}
},
{
"role": "assistant",
"payload": {
"reply": "تم اعتماد الهيكل الأولي: 4 Actors، 9 Use Cases، و7 Inputs/Outputs. أصبح لدينا أساس جيد للتقدير؛ هل تريد تثبيت التقدير الحالي وتوليد التقرير أم إضافة تفاصيل تقنية أخرى؟",
"stage": "evaluation",
"scope": "نظام لإدارة عيادة طبية صغيرة، يتضمن إدارة المرضى والمواعيد والملفات الطبية والفواتير، مع إشعارات للمرضى.",
"actors": [
"المريض",
"موظف الاستقبال",
"الطبيب",
"مسؤول النظام"
],
"functionPoints": [
{
"id": "FP-01",
"name": "حجز موعد جديد",
"description": "تغطي حالة الاستخدام \"حجز موعد جديد\" للفاعل المريض.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-02",
"name": "متابعة المواعيد",
"description": "تغطي حالة الاستخدام \"متابعة المواعيد\" للفاعل المريض.",
"complexity": "بسيطة",
"fpScore": 3
},
{
"id": "FP-03",
"name": "تسجيل مريض جديد",
"description": "تغطي حالة الاستخدام \"تسجيل مريض جديد\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-04",
"name": "تحديث بيانات المريض",
"description": "تغطي حالة الاستخدام \"تحديث بيانات المريض\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-05",
"name": "إصدار فاتورة",
"description": "تغطي حالة الاستخدام \"إصدار فاتورة\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-06",
"name": "عرض الملف الطبي",
"description": "تغطي حالة الاستخدام \"عرض الملف الطبي\" للفاعل الطبيب.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-07",
"name": "إضافة تشخيص ووصفة",
"description": "تغطي حالة الاستخدام \"إضافة تشخيص ووصفة\" للفاعل الطبيب.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-08",
"name": "عرض تقرير يومي",
"description": "تغطي حالة الاستخدام \"عرض تقرير يومي\" للفاعل مسؤول النظام.",
"complexity": "معقدة",
"fpScore": 6
},
{
"id": "FP-09",
"name": "إرسال إشعار تذكير بالموعد",
"description": "تغطي حالة الاستخدام \"إرسال إشعار تذكير بالموعد\" للفاعل النظام.",
"complexity": "معقدة",
"fpScore": 6
}
],
"useCases": [
{
"id": "UC-01",
"title": "حجز موعد جديد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار حجز موعد جديد.",
"النظام يعرض الأوقات المتاحة.",
"المريض يختار الوقت المناسب.",
"النظام يؤكد حجز الموعد."
],
"alternateFlow": [
"الوقت المختار غير متاح."
]
},
{
"id": "UC-02",
"title": "متابعة المواعيد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار متابعة مواعيده.",
"النظام يعرض قائمة المواعيد القادمة والسابقة.",
"المريض يستعرض تفاصيل الموعد."
],
"alternateFlow": []
},
{
"id": "UC-03",
"title": "تسجيل مريض جديد",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار تسجيل مريض جديد.",
"موظف الاستقبال يدخل بيانات المريض.",
"النظام يحفظ بيانات المريض."
],
"alternateFlow": [
"بيانات المريض غير مكتملة."
]
},
{
"id": "UC-04",
"title": "تحديث بيانات المريض",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يبحث عن المريض.",
"موظف الاستقبال يعدل بيانات المريض.",
"النظام يحدث بيانات المريض."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-05",
"title": "إصدار فاتورة",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار إصدار فاتورة.",
"موظف الاستقبال يحدد الخدمات المقدمة.",
"النظام يحسب المبلغ الإجمالي.",
"النظام يصدر الفاتورة."
],
"alternateFlow": [
"الخدمات غير محددة."
]
},
{
"id": "UC-06",
"title": "عرض الملف الطبي",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يبحث عن المريض.",
"النظام يعرض الملف الطبي للمريض.",
"الطبيب يستعرض تاريخ المريض الطبي."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-07",
"title": "إضافة تشخيص ووصفة",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يختار إضافة تشخيص ووصفة.",
"الطبيب يدخل التشخيص.",
"الطبيب يضيف الوصفة الطبية.",
"النظام يحفظ التشخيص والوصفة."
],
"alternateFlow": [
"التشخيص أو الوصفة غير مكتملة."
]
},
{
"id": "UC-08",
"title": "عرض تقرير يومي",
"actor": "مسؤول النظام",
"preconditions": "مسؤول النظام مسجل الدخول.",
"mainFlow": [
"مسؤول النظام يختار عرض تقرير يومي.",
"النظام يعرض تقرير بالمواعيد والفواتير.",
"مسؤول النظام يستعرض التقرير."
],
"alternateFlow": []
},
{
"id": "UC-09",
"title": "إرسال إشعار تذكير بالموعد",
"actor": "النظام",
"preconditions": "يوجد موعد قادم للمريض.",
"mainFlow": [
"النظام يحدد المواعيد القادمة.",
"النظام يرسل إشعار تذكير للمريض.",
"المريض يستقبل الإشعار."
],
"alternateFlow": [
"المريض قام بإلغاء الموعد."
]
}
],
"inputOutputs": [
{
"id": "IO-01",
"type": "input",
"name": "بيانات المريض",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "بيانات المريض عند التسجيل أو التحديث."
},
{
"id": "IO-02",
"type": "input",
"name": "الخدمات المقدمة",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "قائمة الخدمات لتحديدها عند إصدار الفاتورة."
},
{
"id": "IO-03",
"type": "output",
"name": "فاتورة",
"source": "النظام",
"destination": "موظف الاستقبال",
"description": "الفاتورة النهائية للخدمات المقدمة."
},
{
"id": "IO-04",
"type": "input",
"name": "التشخيص والوصفة",
"source": "الطبيب",
"destination": "النظام",
"description": "معلومات التشخيص والوصفة الطبية."
},
{
"id": "IO-05",
"type": "output",
"name": "الملف الطبي",
"source": "النظام",
"destination": "الطبيب",
"description": "الملف الطبي الكامل للمريض."
},
{
"id": "IO-06",
"type": "output",
"name": "تقرير يومي",
"source": "النظام",
"destination": "مسؤول النظام",
"description": "تقرير يومي بالمواعيد والفواتير."
},
{
"id": "IO-07",
"type": "output",
"name": "إشعار تذكير بالموعد",
"source": "النظام",
"destination": "المريض",
"description": "إشعار يرسله النظام للمريض لتذكيره بموعده."
}
],
"isComplete": false
}
},
{
"role": "user",
"text": "أضف تكاملاً بسيطاً مع بوابة رسائل SMS لإرسال التذكير بالمواعيد."
},
{
"role": "assistant",
"payload": {
"reply": "أصبح لدينا أساس جيد للتقدير؛ هل تريد تثبيت التقدير الحالي وتوليد التقرير أم إضافة تفاصيل تقنية أخرى؟",
"stage": "evaluation",
"scope": "نظام لإدارة عيادة طبية صغيرة، يتضمن إدارة المرضى والمواعيد والملفات الطبية والفواتير، مع إشعارات للمرضى.",
"actors": [
"المريض",
"موظف الاستقبال",
"الطبيب",
"مسؤول النظام"
],
"functionPoints": [
{
"id": "FP-01",
"name": "حجز موعد جديد",
"description": "تغطي حالة الاستخدام \"حجز موعد جديد\" للفاعل المريض.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-02",
"name": "متابعة المواعيد",
"description": "تغطي حالة الاستخدام \"متابعة المواعيد\" للفاعل المريض.",
"complexity": "بسيطة",
"fpScore": 3
},
{
"id": "FP-03",
"name": "تسجيل مريض جديد",
"description": "تغطي حالة الاستخدام \"تسجيل مريض جديد\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-04",
"name": "تحديث بيانات المريض",
"description": "تغطي حالة الاستخدام \"تحديث بيانات المريض\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-05",
"name": "إصدار فاتورة",
"description": "تغطي حالة الاستخدام \"إصدار فاتورة\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-06",
"name": "عرض الملف الطبي",
"description": "تغطي حالة الاستخدام \"عرض الملف الطبي\" للفاعل الطبيب.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-07",
"name": "إضافة تشخيص ووصفة",
"description": "تغطي حالة الاستخدام \"إضافة تشخيص ووصفة\" للفاعل الطبيب.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-08",
"name": "عرض تقرير يومي",
"description": "تغطي حالة الاستخدام \"عرض تقرير يومي\" للفاعل مسؤول النظام.",
"complexity": "معقدة",
"fpScore": 6
},
{
"id": "FP-09",
"name": "إرسال إشعار تذكير بالموعد",
"description": "تغطي حالة الاستخدام \"إرسال إشعار تذكير بالموعد\" للفاعل النظام.",
"complexity": "معقدة",
"fpScore": 6
},
{
"id": "FP-10",
"name": "إرسال التذكير بالمواعيد",
"description": "تغطي حالة الاستخدام \"إرسال التذكير بالمواعيد\" للفاعل نظام خارجي.",
"complexity": "متوسطة",
"fpScore": 4
}
],
"useCases": [
{
"id": "UC-01",
"title": "حجز موعد جديد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار حجز موعد جديد.",
"النظام يعرض الأوقات المتاحة.",
"المريض يختار الوقت المناسب.",
"النظام يؤكد حجز الموعد."
],
"alternateFlow": [
"الوقت المختار غير متاح."
]
},
{
"id": "UC-02",
"title": "متابعة المواعيد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار متابعة مواعيده.",
"النظام يعرض قائمة المواعيد القادمة والسابقة.",
"المريض يستعرض تفاصيل الموعد."
],
"alternateFlow": []
},
{
"id": "UC-03",
"title": "تسجيل مريض جديد",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار تسجيل مريض جديد.",
"موظف الاستقبال يدخل بيانات المريض.",
"النظام يحفظ بيانات المريض."
],
"alternateFlow": [
"بيانات المريض غير مكتملة."
]
},
{
"id": "UC-04",
"title": "تحديث بيانات المريض",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يبحث عن المريض.",
"موظف الاستقبال يعدل بيانات المريض.",
"النظام يحدث بيانات المريض."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-05",
"title": "إصدار فاتورة",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار إصدار فاتورة.",
"موظف الاستقبال يحدد الخدمات المقدمة.",
"النظام يحسب المبلغ الإجمالي.",
"النظام يصدر الفاتورة."
],
"alternateFlow": [
"الخدمات غير محددة."
]
},
{
"id": "UC-06",
"title": "عرض الملف الطبي",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يبحث عن المريض.",
"النظام يعرض الملف الطبي للمريض.",
"الطبيب يستعرض تاريخ المريض الطبي."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-07",
"title": "إضافة تشخيص ووصفة",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يختار إضافة تشخيص ووصفة.",
"الطبيب يدخل التشخيص.",
"الطبيب يضيف الوصفة الطبية.",
"النظام يحفظ التشخيص والوصفة."
],
"alternateFlow": [
"التشخيص أو الوصفة غير مكتملة."
]
},
{
"id": "UC-08",
"title": "عرض تقرير يومي",
"actor": "مسؤول النظام",
"preconditions": "مسؤول النظام مسجل الدخول.",
"mainFlow": [
"مسؤول النظام يختار عرض تقرير يومي.",
"النظام يعرض تقرير بالمواعيد والفواتير.",
"مسؤول النظام يستعرض التقرير."
],
"alternateFlow": []
},
{
"id": "UC-09",
"title": "إرسال إشعار تذكير بالموعد",
"actor": "النظام",
"preconditions": "يوجد موعد قادم للمريض.",
"mainFlow": [
"النظام يحدد المواعيد القادمة.",
"النظام يرسل إشعار تذكير للمريض.",
"المريض يستقبل الإشعار."
],
"alternateFlow": [
"المريض قام بإلغاء الموعد."
]
},
{
"id": "UC-01",
"title": "إرسال التذكير بالمواعيد",
"actor": "نظام خارجي",
"preconditions": "تتوفر صلاحية نظام خارجي والوصول إلى البيانات اللازمة.",
"mainFlow": [
"يفتح نظام خارجي مسار إرسال التذكير بالمواعيد.",
"يدخل البيانات أو يحدد الخيارات المطلوبة.",
"يعالج النظام الطلب ويعرض النتيجة أو التأكيد المناسب."
],
"alternateFlow": []
}
],
"inputOutputs": [
{
"id": "IO-01",
"type": "input",
"name": "بيانات المريض",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "بيانات المريض عند التسجيل أو التحديث."
},
{
"id": "IO-02",
"type": "input",
"name": "الخدمات المقدمة",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "قائمة الخدمات لتحديدها عند إصدار الفاتورة."
},
{
"id": "IO-03",
"type": "output",
"name": "فاتورة",
"source": "النظام",
"destination": "موظف الاستقبال",
"description": "الفاتورة النهائية للخدمات المقدمة."
},
{
"id": "IO-04",
"type": "input",
"name": "التشخيص والوصفة",
"source": "الطبيب",
"destination": "النظام",
"description": "معلومات التشخيص والوصفة الطبية."
},
{
"id": "IO-05",
"type": "output",
"name": "الملف الطبي",
"source": "النظام",
"destination": "الطبيب",
"description": "الملف الطبي الكامل للمريض."
},
{
"id": "IO-06",
"type": "output",
"name": "تقرير يومي",
"source": "النظام",
"destination": "مسؤول النظام",
"description": "تقرير يومي بالمواعيد والفواتير."
},
{
"id": "IO-07",
"type": "output",
"name": "إشعار تذكير بالموعد",
"source": "النظام",
"destination": "المريض",
"description": "إشعار يرسله النظام للمريض لتذكيره بموعده."
},
{
"id": "IO-08",
"type": "input",
"name": "التذكير بالمواعيد",
"source": "نظام خارجي",
"destination": "النظام",
"description": "أضف تكاملاً بسيطاً مع بوابة رسائل SMS لإرسال التذكير بالمواعيد"
},
{
"id": "IO-09",
"type": "output",
"name": "التذكير بالمواعيد",
"source": "النظام",
"destination": "نظام خارجي",
"description": "أضف تكاملاً بسيطاً مع بوابة رسائل SMS لإرسال التذكير بالمواعيد"
}
],
"isComplete": false
}
}
],
"srsDraft": {
"summary": "نظام لإدارة عيادة طبية صغيرة، يتضمن إدارة المرضى والمواعيد والملفات الطبية والفواتير، مع إشعارات للمرضى.",
"actors": [
"المريض",
"موظف الاستقبال",
"الطبيب",
"مسؤول النظام"
],
"useCases": [
{
"id": "UC-01",
"title": "حجز موعد جديد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار حجز موعد جديد.",
"النظام يعرض الأوقات المتاحة.",
"المريض يختار الوقت المناسب.",
"النظام يؤكد حجز الموعد."
],
"alternateFlow": [
"الوقت المختار غير متاح."
]
},
{
"id": "UC-02",
"title": "متابعة المواعيد",
"actor": "المريض",
"preconditions": "المريض مسجل في النظام.",
"mainFlow": [
"المريض يختار متابعة مواعيده.",
"النظام يعرض قائمة المواعيد القادمة والسابقة.",
"المريض يستعرض تفاصيل الموعد."
],
"alternateFlow": []
},
{
"id": "UC-03",
"title": "تسجيل مريض جديد",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار تسجيل مريض جديد.",
"موظف الاستقبال يدخل بيانات المريض.",
"النظام يحفظ بيانات المريض."
],
"alternateFlow": [
"بيانات المريض غير مكتملة."
]
},
{
"id": "UC-04",
"title": "تحديث بيانات المريض",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يبحث عن المريض.",
"موظف الاستقبال يعدل بيانات المريض.",
"النظام يحدث بيانات المريض."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-05",
"title": "إصدار فاتورة",
"actor": "موظف الاستقبال",
"preconditions": "موظف الاستقبال مسجل الدخول.",
"mainFlow": [
"موظف الاستقبال يختار إصدار فاتورة.",
"موظف الاستقبال يحدد الخدمات المقدمة.",
"النظام يحسب المبلغ الإجمالي.",
"النظام يصدر الفاتورة."
],
"alternateFlow": [
"الخدمات غير محددة."
]
},
{
"id": "UC-06",
"title": "عرض الملف الطبي",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يبحث عن المريض.",
"النظام يعرض الملف الطبي للمريض.",
"الطبيب يستعرض تاريخ المريض الطبي."
],
"alternateFlow": [
"المريض غير موجود في النظام."
]
},
{
"id": "UC-07",
"title": "إضافة تشخيص ووصفة",
"actor": "الطبيب",
"preconditions": "الطبيب مسجل الدخول.",
"mainFlow": [
"الطبيب يختار إضافة تشخيص ووصفة.",
"الطبيب يدخل التشخيص.",
"الطبيب يضيف الوصفة الطبية.",
"النظام يحفظ التشخيص والوصفة."
],
"alternateFlow": [
"التشخيص أو الوصفة غير مكتملة."
]
},
{
"id": "UC-08",
"title": "عرض تقرير يومي",
"actor": "مسؤول النظام",
"preconditions": "مسؤول النظام مسجل الدخول.",
"mainFlow": [
"مسؤول النظام يختار عرض تقرير يومي.",
"النظام يعرض تقرير بالمواعيد والفواتير.",
"مسؤول النظام يستعرض التقرير."
],
"alternateFlow": []
},
{
"id": "UC-09",
"title": "إرسال إشعار تذكير بالموعد",
"actor": "النظام",
"preconditions": "يوجد موعد قادم للمريض.",
"mainFlow": [
"النظام يحدد المواعيد القادمة.",
"النظام يرسل إشعار تذكير للمريض.",
"المريض يستقبل الإشعار."
],
"alternateFlow": [
"المريض قام بإلغاء الموعد."
]
}
],
"inputOutputs": [
{
"id": "IO-01",
"type": "input",
"name": "بيانات المريض",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "بيانات المريض عند التسجيل أو التحديث."
},
{
"id": "IO-02",
"type": "input",
"name": "الخدمات المقدمة",
"source": "موظف الاستقبال",
"destination": "النظام",
"description": "قائمة الخدمات لتحديدها عند إصدار الفاتورة."
},
{
"id": "IO-03",
"type": "output",
"name": "فاتورة",
"source": "النظام",
"destination": "موظف الاستقبال",
"description": "الفاتورة النهائية للخدمات المقدمة."
},
{
"id": "IO-04",
"type": "input",
"name": "التشخيص والوصفة",
"source": "الطبيب",
"destination": "النظام",
"description": "معلومات التشخيص والوصفة الطبية."
},
{
"id": "IO-05",
"type": "output",
"name": "الملف الطبي",
"source": "النظام",
"destination": "الطبيب",
"description": "الملف الطبي الكامل للمريض."
},
{
"id": "IO-06",
"type": "output",
"name": "تقرير يومي",
"source": "النظام",
"destination": "مسؤول النظام",
"description": "تقرير يومي بالمواعيد والفواتير."
},
{
"id": "IO-07",
"type": "output",
"name": "إشعار تذكير بالموعد",
"source": "النظام",
"destination": "المريض",
"description": "إشعار يرسله النظام للمريض لتذكيره بموعده."
}
],
"functionPoints": [
{
"id": "FP-01",
"name": "حجز موعد جديد",
"description": "تغطي حالة الاستخدام \"حجز موعد جديد\" للفاعل المريض.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-02",
"name": "متابعة المواعيد",
"description": "تغطي حالة الاستخدام \"متابعة المواعيد\" للفاعل المريض.",
"complexity": "بسيطة",
"fpScore": 3
},
{
"id": "FP-03",
"name": "تسجيل مريض جديد",
"description": "تغطي حالة الاستخدام \"تسجيل مريض جديد\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-04",
"name": "تحديث بيانات المريض",
"description": "تغطي حالة الاستخدام \"تحديث بيانات المريض\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-05",
"name": "إصدار فاتورة",
"description": "تغطي حالة الاستخدام \"إصدار فاتورة\" للفاعل موظف الاستقبال.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-06",
"name": "عرض الملف الطبي",
"description": "تغطي حالة الاستخدام \"عرض الملف الطبي\" للفاعل الطبيب.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-07",
"name": "إضافة تشخيص ووصفة",
"description": "تغطي حالة الاستخدام \"إضافة تشخيص ووصفة\" للفاعل الطبيب.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-08",
"name": "عرض تقرير يومي",
"description": "تغطي حالة الاستخدام \"عرض تقرير يومي\" للفاعل مسؤول النظام.",
"complexity": "معقدة",
"fpScore": 6
},
{
"id": "FP-09",
"name": "إرسال إشعار تذكير بالموعد",
"description": "تغطي حالة الاستخدام \"إرسال إشعار تذكير بالموعد\" للفاعل النظام.",
"complexity": "معقدة",
"fpScore": 6
}
],
"confidence": "high",
"question": "وجدت 4 Actors و9 Use Cases و3 Inputs و4 Outputs. هل تريد اعتمادها أم تعديلها؟",
"counts": {
"actors": 4,
"useCases": 9,
"inputs": 3,
"outputs": 4
}
},
"needsStructureConfirmation": false,
"isComplete": false,
"createdAt": "T15:43:22.456Z",
"updatedAt": "T15:43:30.175Z",
"stage": "evaluation"
},
{
"id": "sess_d48avqz9mp738ls6",
"title": "اختبار تنبيه Gemini",
"scope": "النظام يخدم العميل والموظف ويعرض التقارير.",
"actors": [
"الموظف",
"العميل"
],
"useCases": [
{
"id": "UC-01",
"title": "خدمة العميل",
"actor": "العميل",
"preconditions": "يجب أن يكون العميل مسجلاً أو لديه صلاحية الوصول.",
"mainFlow": [
"يقوم العميل بتسجيل الدخول.",
"يتصفح العميل الخدمات المتاحة.",
"يختار العميل خدمة معينة.",
"يقوم العميل بتنفيذ إجراء متعلق بالخدمة (مثل تقديم طلب)."
],
"alternateFlow": [
"في حال عدم وجود صلاحية، يتم توجيه العميل لصفحة التسجيل أو الاتصال بالدعم."
]
},
{
"id": "UC-02",
"title": "خدمة الموظف",
"actor": "الموظف",
"preconditions": "يجب أن يكون الموظف مسجلاً ولديه الصلاحيات اللازمة.",
"mainFlow": [
"يقوم الموظف بتسجيل الدخول.",
"يستعرض الموظف المهام أو الطلبات الموكلة إليه.",
"يقوم الموظف بمعالجة طلب أو مهمة.",
"يسجل الموظف نتيجة المعالجة."
],
"alternateFlow": []
},
{
"id": "UC-03",
"title": "عرض التقارير",
"actor": "الموظف",
"preconditions": "يجب أن يكون الموظف مسجلاً ولديه صلاحية الوصول للتقارير.",
"mainFlow": [
"يقوم الموظف بتسجيل الدخول.",
"يختار الموظف نوع التقرير المطلوب.",
"يحدد الموظف معايير التقرير (مثل الفترة الزمنية، نوع البيانات).",
"يعرض النظام التقرير المطلوب."
],
"alternateFlow": []
}
],
"inputOutputs": [
{
"id": "IO-01",
"type": "input",
"name": "بيانات تسجيل الدخول للعميل",
"source": "العميل",
"destination": "النظام",
"description": "اسم المستخدم وكلمة المرور للعميل."
},
{
"id": "IO-02",
"type": "output",
"name": "قائمة الخدمات المتاحة للعميل",
"source": "النظام",
"destination": "العميل",
"description": "قائمة بالخدمات التي يمكن للعميل الوصول إليها."
},
{
"id": "IO-03",
"type": "input",
"name": "تفاصيل طلب العميل",
"source": "العميل",
"destination": "النظام",
"description": "المعلومات التي يقدمها العميل لتقديم طلب."
},
{
"id": "IO-04",
"type": "input",
"name": "بيانات تسجيل الدخول للموظف",
"source": "الموظف",
"destination": "النظام",
"description": "اسم المستخدم وكلمة المرور للموظف."
},
{
"id": "IO-05",
"type": "output",
"name": "قائمة المهام/الطلبات للموظف",
"source": "النظام",
"destination": "الموظف",
"description": "قائمة بالمهام أو الطلبات التي تحتاج معالجة من قبل الموظف."
},
{
"id": "IO-06",
"type": "input",
"name": "نتيجة معالجة الموظف",
"source": "الموظف",
"destination": "النظام",
"description": "المعلومات التي يسجلها الموظف بعد معالجة مهمة."
},
{
"id": "IO-07",
"type": "input",
"name": "معايير اختيار التقرير",
"source": "الموظف",
"destination": "النظام",
"description": "الفترة الزمنية، نوع البيانات، أو أي فلاتر أخرى للتقرير."
},
{
"id": "IO-08",
"type": "output",
"name": "التقرير المطلوب",
"source": "النظام",
"destination": "الموظف",
"description": "البيانات المجمعة والمعروضة في شكل تقرير."
}
],
"functionPoints": [
{
"id": "FP-01",
"name": "خدمة العميل",
"description": "تمكين العميل من التفاعل مع النظام.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-02",
"name": "خدمة الموظف",
"description": "تمكين الموظف من التفاعل مع النظام وإدارة العمليات.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-03",
"name": "عرض التقارير",
"description": "توفير تقارير للموظفين أو الإدارة.",
"complexity": "متوسطة",
"fpScore": 4
}
],
"planning": {
"developers": 3,
"sprintWeeks": 2,
"hoursPerDay": 8
},
"history": [
{
"role": "assistant",
"payload": {
"reply": "بدأنا مشروعاً جديداً بعنوان \"اختبار تنبيه Gemini\". هل تود أن تبدأ برفع ملف SRS، أم تصف لي الهدف العام للمشروع مباشرة؟",
"stage": "intro",
"scope": "",
"actors": [],
"functionPoints": [],
"useCases": [],
"inputOutputs": [],
"isComplete": false
}
},
{
"role": "user",
"text": "النظام يخدم العميل والموظف ويعرض التقارير."
},
{
"role": "assistant",
"payload": {
"reply": "ما هي العمليات الرئيسية التي يقوم بها العميل في هذا النظام؟",
"stage": "evaluation",
"scope": "النظام يخدم العميل والموظف ويعرض التقارير.",
"actors": [
"الموظف",
"العميل"
],
"functionPoints": [
{
"id": "FP-01",
"name": "خدمة العميل",
"description": "تمكين العميل من التفاعل مع النظام.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-02",
"name": "خدمة الموظف",
"description": "تمكين الموظف من التفاعل مع النظام وإدارة العمليات.",
"complexity": "متوسطة",
"fpScore": 4
},
{
"id": "FP-03",
"name": "عرض التقارير",
"description": "توفير تقارير للموظفين أو الإدارة.",
"complexity": "متوسطة",
"fpScore": 4
}
],
"useCases": [
{
"id": "UC-01",
"title": "خدمة العميل",
"actor": "العميل",
"preconditions": "يجب أن يكون العميل مسجلاً أو لديه صلاحية الوصول.",
"mainFlow": [
"يقوم العميل بتسجيل الدخول.",
"يتصفح العميل الخدمات المتاحة.",
"يختار العميل خدمة معينة.",
"يقوم العميل بتنفيذ إجراء متعلق بالخدمة (مثل تقديم طلب)."
],
"alternateFlow": [
"في حال عدم وجود صلاحية، يتم توجيه العميل لصفحة التسجيل أو الاتصال بالدعم."
]
},
{
"id": "UC-02",
"title": "خدمة الموظف",
"actor": "الموظف",
"preconditions": "يجب أن يكون الموظف مسجلاً ولديه الصلاحيات اللازمة.",
"mainFlow": [
"يقوم الموظف بتسجيل الدخول.",
"يستعرض الموظف المهام أو الطلبات الموكلة إليه.",
"يقوم الموظف بمعالجة طلب أو مهمة.",
"يسجل الموظف نتيجة المعالجة."
],
"alternateFlow": []
},
{
"id": "UC-03",
"title": "عرض التقارير",
"actor": "الموظف",
"preconditions": "يجب أن يكون الموظف مسجلاً ولديه صلاحية الوصول للتقارير.",
"mainFlow": [
"يقوم الموظف بتسجيل الدخول.",
"يختار الموظف نوع التقرير المطلوب.",
"يحدد الموظف معايير التقرير (مثل الفترة الزمنية، نوع البيانات).",
"يعرض النظام التقرير المطلوب."
],
"alternateFlow": []
}
],
"inputOutputs": [
{
"id": "IO-01",
"type": "input",
"name": "بيانات تسجيل الدخول للعميل",
"source": "العميل",
"destination": "النظام",
"description": "اسم المستخدم وكلمة المرور للعميل."
},
{
"id": "IO-02",
"type": "output",
"name": "قائمة الخدمات المتاحة للعميل",
"source": "النظام",
"destination": "العميل",
"description": "قائمة بالخدمات التي يمكن للعميل الوصول إليها."
},
{
"id": "IO-03",
"type": "input",
"name": "تفاصيل طلب العميل",
"source": "العميل",
"destination": "النظام",
"description": "المعلومات التي يقدمها العميل لتقديم طلب."
},
{
"id": "IO-04",
"type": "input",
"name": "بيانات تسجيل الدخول للموظف",
"source": "الموظف",
"destination": "النظام",
"description": "اسم المستخدم وكلمة المرور للموظف."
},
{
"id": "IO-05",
"type": "output",
"name": "قائمة المهام/الطلبات للموظف",
"source": "النظام",
"destination": "الموظف",
"description": "قائمة بالمهام أو الطلبات التي تحتاج معالجة من قبل الموظف."
},
{
"id": "IO-06",
"type": "input",
"name": "نتيجة معالجة الموظف",
"source": "الموظف",
"destination": "النظام",
"description": "المعلومات التي يسجلها الموظف بعد معالجة مهمة."
},
{
"id": "IO-07",
"type": "input",
"name": "معايير اختيار التقرير",
"source": "الموظف",
"destination": "النظام",
"description": "الفترة الزمنية، نوع البيانات، أو أي فلاتر أخرى للتقرير."
},
{
"id": "IO-08",
"type": "output",
"name": "التقرير المطلوب",
"source": "النظام",
"destination": "الموظف",
"description": "البيانات المجمعة والمعروضة في شكل تقرير."
}
],
"isComplete": false
}
}
],
"srsDraft": null,
"needsStructureConfirmation": false,
"isComplete": false,
"createdAt": "T15:44:32.070Z",
"updatedAt": "T15:44:38.363Z",
"stage": "evaluation"
},
{
"id": "sess_v6ltq57omp82lu2i",
"title": "شقق",
"scope": "",
"actors": [],
"useCases": [],
"inputOutputs": [],
"functionPoints": [],
"planning": {
"developers": 3,
"sprintWeeks": 2,
"hoursPerDay": 8
},
"history": [
{
"role": "assistant",
"payload": {
"reply": "بدأنا مشروعاً جديداً بعنوان \"شقق\". هل تود أن تبدأ برفع ملف SRS، أم تصف لي الهدف العام للمشروع مباشرة؟",
"stage": "intro",
"scope": "",
"actors": [],
"functionPoints": [],
"useCases": [],
"inputOutputs": [],
"isComplete": false
}
}
],
"srsDraft": null,
"needsStructureConfirmation": false,
"isComplete": false,
"createdAt": "T08:14:35.898Z",
"updatedAt": "T08:14:35.902Z",
"stage": "intro"
},
{
"id": "sess_2rrqdd24mp82mmm7",
"title": "ser",
"scope": "",
"actors": [],
"useCases": [],
"inputOutputs": [],
"functionPoints": [],
"planning": {
"developers": 3,
"sprintWeeks": 2,
"hoursPerDay": 8
},
"history": [
{
"role": "assistant",
"payload": {
"reply": "بدأنا مشروعاً جديداً بعنوان \"ser\". هل تود أن تبدأ برفع ملف SRS، أم تصف لي الهدف العام للمشروع مباشرة؟",
"stage": "intro",
"scope": "",
"actors": [],
"functionPoints": [],
"useCases": [],
"inputOutputs": [],
"isComplete": false
}
}
],
"srsDraft": null,
"needsStructureConfirmation": false,
"isComplete": false,
"createdAt": "T08:15:12.895Z",
"updatedAt": "T08:15:12.915Z",
"stage": "intro"
}
]