[ { "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" } ]