From 6cf3033ad8ab0a1e584d21b297ea3c362fff4f1c Mon Sep 17 00:00:00 2001 From: Reza Adousi <91836545+RezaAdousi@users.noreply.github.com> Date: Mon, 26 Oct 2026 22:56:46 +0330 Subject: [PATCH 1/4] Add initial requirements specification document for university fault management system --- docs/analysis/requirements-specification.md | 43 +++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/docs/analysis/requirements-specification.md b/docs/analysis/requirements-specification.md index e69de29..e8217d1 100644 --- a/docs/analysis/requirements-specification.md +++ b/docs/analysis/requirements-specification.md @@ -0,0 +1,43 @@ +# سند نیازمندی‌های سامانهٔ مدیریت و گزارش خرابی دانشگاهی + +## ۱. هدف و محدودهٔ سامانه + +هدف این سامانه، فراهم کردن بستری متمرکز برای ثبت خرابی تجهیزات و فضاهای دانشگاه، پیگیری درخواست‌ها و مدیریت فرایند تعمیر است. سامانه به گزارش‌دهندگان امکان می‌دهد خرابی را ثبت و وضعیت آن را پیگیری کنند و به مسئولان تأسیسات کمک می‌کند درخواست‌ها را بررسی و به تعمیرکاران ارجاع دهند. + +در این مرحله، محدودهٔ دقیق سامانه و امکانات نهایی آن هنوز نیازمند بررسی بیشتر است. + +## ۲. کاربران سامانه + +- **دانشجو و استاد:** ثبت گزارش خرابی و مشاهدهٔ وضعیت درخواست. +- **مسئول تأسیسات:** بررسی گزارش‌ها، تعیین اولویت و ارجاع درخواست‌ها. +- **تعمیرکار:** مشاهدهٔ درخواست‌های ارجاع‌شده و ثبت نتیجهٔ تعمیر. + +## ۳. نیازمندی‌های کارکردی (Functional Requirements) + +- **FR-01 — ثبت گزارش خرابی:** سامانه باید امکان ثبت گزارش شامل عنوان، توضیحات، محل خرابی و نوع تجهیز را فراهم کند. +- **FR-02 — مشاهدهٔ گزارش:** کاربر باید بتواند اطلاعات گزارش ثبت‌شده و وضعیت فعلی آن را مشاهده کند. +- **FR-03 — بررسی درخواست:** مسئول تأسیسات باید بتواند گزارش‌های ثبت‌شده را بررسی کند. +- **FR-04 — تعیین اولویت:** مسئول تأسیسات باید بتواند اولویت رسیدگی به هر گزارش را مشخص کند. +- **FR-05 — ارجاع به تعمیرکار:** مسئول تأسیسات باید بتواند درخواست را به تعمیرکار مربوطه ارجاع دهد. +- **FR-06 — به‌روزرسانی وضعیت:** وضعیت درخواست باید در مراحل مختلف رسیدگی قابل به‌روزرسانی باشد. +- **FR-07 — ثبت نتیجهٔ تعمیر:** تعمیرکار باید بتواند نتیجهٔ بررسی و اقدامات انجام‌شده را ثبت کند. +- **FR-08 — مشاهدهٔ سوابق:** کاربران مجاز باید بتوانند سوابق درخواست‌ها و تعمیرات را متناسب با سطح دسترسی خود مشاهده کنند. + +## ۴. نیازمندی‌های غیرکارکردی (Non-functional Requirements) + +- **NFR-01 — امنیت:** سامانه باید از دسترسی غیرمجاز به اطلاعات و امکانات مدیریتی جلوگیری کند. +- **NFR-02 — کنترل دسترسی:** هر کاربر باید فقط به امکانات متناسب با نقش خود دسترسی داشته باشد. +- **NFR-03 — سهولت استفاده:** فرم‌های ثبت و پیگیری گزارش باید ساده و قابل فهم باشند. +- **NFR-04 — کارایی:** عملیات معمول مانند ثبت گزارش و مشاهدهٔ وضعیت باید در زمان قابل قبول انجام شوند. +- **NFR-05 — قابلیت اطمینان:** سامانه باید اطلاعات ثبت‌شده را به‌درستی نگهداری کند و از حذف یا تغییر ناخواستهٔ آن‌ها جلوگیری کند. +- **NFR-06 — قابلیت نگهداری:** ساختار سامانه باید امکان اصلاح و افزودن قابلیت‌های جدید را در آینده فراهم کند. + +## ۵. فرضیات و ابهامات + +- هنوز مشخص نشده است که سامانه فقط فضاهای آموزشی و عمومی را پوشش می‌دهد یا خوابگاه‌ها و فضاهای اداری را نیز شامل می‌شود. +- نحوهٔ اطلاع‌رسانی دربارهٔ تغییر وضعیت درخواست‌ها هنوز تعیین نشده است. +- معیارهای دقیق اولویت‌بندی خرابی‌ها و سطح دسترسی هر نقش باید در مراحل بعدی مشخص شوند. + +## ۶. وضعیت سند + +این سند نسخهٔ اولیهٔ نیازمندی‌هاست و با تکمیل تحلیل پروژه و دریافت بازخورد اعضای گروه اصلاح خواهد شد. \ No newline at end of file From ae9ccd9ecd374d3e9b44e3d7d688c90beb334f3d Mon Sep 17 00:00:00 2001 From: Amir Aref Date: Mon, 26 Oct 2026 23:49:01 +0330 Subject: [PATCH 2/4] add CODEOWNERS for review merge requests --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..8b138e5 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# All files require review from AmirAref +* @AmirAref From b2bb9285b66b0deab7d2790af13712270c7e34a1 Mon Sep 17 00:00:00 2001 From: Amir Aref Date: Tue, 27 Oct 2026 00:15:12 +0330 Subject: [PATCH 3/4] Create user stories for maintenance reporting system (#3) Added user stories for the university maintenance reporting system, detailing requirements for students, faculty, maintenance staff, and technicians. --- docs/analysis/use-case.md | 131 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/docs/analysis/use-case.md b/docs/analysis/use-case.md index e69de29..40cfb2b 100644 --- a/docs/analysis/use-case.md +++ b/docs/analysis/use-case.md @@ -0,0 +1,131 @@ +# داستان‌های کاربر (User Stories) – سامانه مدیریت و گزارش خرابی دانشگاهی + +**تهیه‌کننده:** امیرحسن عارف اصل +**بازبین:** ارشیا همتی‌زاده +**آخرین به‌روزرسانی:** ۱۴۰۴/۰۸/۰۴ + +--- + +## مقدمه + +در این سند، نیازمندی‌های اصلی سامانه به صورت **داستان کاربر (User Story)** نوشته شده‌اند. +هر داستان کاربر از دیدگاه یک نقش مشخص بیان می‌شود و هدف آن را نیز مشخص می‌کند. + +قالب استاندارد: + +> به عنوان یک **<نقش>** +> می‌خواهم **<هدف>** +> تا بتوانم **<مزیت / نتیجه>** + +--- + +## داستان‌های کاربر مرتبط با گزارش‌دهنده (دانشجو / استاد) + +### US-01 +به عنوان یک **دانشجو** +می‌خواهم **خرابی مشاهده‌شده را به همراه مکان و توضیحات ثبت کنم** +تا بتوانم **مشکل را سریع به بخش تأسیسات اطلاع دهم و پیگیری کنم**. + +### US-02 +به عنوان یک **استاد** +می‌خواهم **خرابی کلاس یا آزمایشگاه را ثبت کنم** +تا بتوانم **بدون اتلاف وقت، مشکل را به مسئولان مربوطه اعلام کنم**. + +### US-03 +به عنوان یک **دانشجو یا استاد** +می‌خواهم **وضعیت گزارش‌هایی که خودم ثبت کرده‌ام را مشاهده کنم** +تا بتوانم **از پیشرفت رسیدگی به گزارشم مطلع شوم**. + +### US-04 +به عنوان یک **دانشجو یا استاد** +می‌خواهم **تصویر یا توضیح بیشتری به گزارش قبلی اضافه کنم** +تا بتوانم **اطلاعات کامل‌تری در اختیار تعمیرکار قرار دهم**. + +### US-05 +به عنوان یک **دانشجو یا استاد** +می‌خواهم **پس از اعلام رفع خرابی، آن را تأیید یا رد کنم** +تا بتوانم **از بسته شدن صحیح گزارش مطمئن شوم**. + +--- + +## داستان‌های کاربر مرتبط با کارمند تأسیسات + +### US-06 +به عنوان یک **کارمند تأسیسات** +می‌خواهم **لیست تمام گزارش‌های باز را مشاهده و فیلتر کنم** +تا بتوانم **گزارش‌های مهم و فوری را سریع‌تر پیدا کنم**. + +### US-07 +به عنوان یک **کارمند تأسیسات** +می‌خواهم **اولویت هر گزارش را تعیین کنم** +تا بتوانم **تعمیرات را بر اساس اهمیت و فوریت مدیریت کنم**. + +### US-08 +به عنوان یک **کارمند تأسیسات** +می‌خواهم **یک گزارش را به تعمیرکار مناسب تخصیص دهم** +تا بتوانم **کار را به فرد درست ارجاع دهم و پیگیری کنم**. + +### US-09 +به عنوان یک **کارمند تأسیسات** +می‌خواهم **وضعیت گزارش را تغییر دهم** +تا بتوانم **وضعیت واقعی رسیدگی به هر گزارش را در سیستم منعکس کنم**. + +### US-10 +به عنوان یک **کارمند تأسیسات** +می‌خواهم **تاریخچه کامل اقدامات انجام‌شده روی یک گزارش را ببینم** +تا بتوانم **روند رسیدگی را بررسی و در صورت نیاز پیگیری کنم**. + +--- + +## داستان‌های کاربر مرتبط با تعمیرکار + +### US-11 +به عنوان یک **تعمیرکار** +می‌خواهم **لیست کارهای تخصیص‌یافته به خودم را ببینم** +تا بتوانم **بدانم چه کارهایی در انتظار انجام است**. + +### US-12 +به عنوان یک **تعمیرکار** +می‌خواهم **شروع کار روی یک گزارش را اعلام کنم** +تا بتوانم **وضعیت گزارش را به «در حال تعمیر» تغییر دهم**. + +### US-13 +به عنوان یک **تعمیرکار** +می‌خواهم **نتیجه تعمیر را همراه با توضیحات ثبت کنم** +تا بتوانم **گزارش را به مرحله بعدی (تأیید یا پیگیری) برسانم**. + +### US-14 +به عنوان یک **تعمیرکار** +می‌خواهم **در صورت نیاز، اطلاعات بیشتری از گزارش‌دهنده درخواست کنم** +تا بتوانم **تعمیر را با اطلاعات کامل‌تری انجام دهم**. + +--- + +## داستان‌های کاربر مشترک / سیستمی + +### US-15 +به عنوان یک **کاربر سیستم** +می‌خواهم **با نام کاربری و رمز عبور وارد سامانه شوم** +تا بتوانم **به امکانات مربوط به نقش خودم دسترسی داشته باشم**. + +### US-16 +به عنوان یک **کاربر سیستم** +می‌خواهم **هنگام تغییر وضعیت گزارش مرتبط با خودم، اعلان دریافت کنم** +تا بتوانم **از آخرین وضعیت مطلع شوم**. + +### US-17 +به عنوان یک **کارمند تأسیسات یا مدیر** +می‌خواهم **داشبورد خلاصه‌ای از تعداد گزارش‌های باز و فوری ببینم** +تا بتوانم **وضعیت کلی خرابی‌ها را سریع ارزیابی کنم**. + +--- + +## نکات و کارهای باقی‌مانده + +- این داستان‌ها نسخه اولیه هستند و ممکن است در بازبینی تغییر کنند یا داستان‌های جدید اضافه شود. +- جزئیات پذیرش (Acceptance Criteria) برای داستان‌های مهم‌تر در مراحل بعدی نوشته خواهد شد. +- ابهام دامنه (آیا خوابگاه‌ها و فضاهای اداری هم شامل می‌شوند؟) هنوز وجود دارد و روی برخی داستان‌ها تأثیر می‌گذارد. + +--- + +**وضعیت سند:** نسخه اولیه (Draft) – آماده بازبینی From 700378f5aa4ff7b53cd4cc9f574bb237846a9db6 Mon Sep 17 00:00:00 2001 From: Amir Aref Date: Tue, 27 Oct 2026 10:54:12 +0330 Subject: [PATCH 4/4] update contributing.md file --- CONTRIBUTING.md | 23 +++++++++++++++++++++++ README.md | 2 ++ 2 files changed, 25 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0492552..8fa809f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -72,6 +72,29 @@ git push -u origin aref-tasks --- +## ۶. رسم نمودار با Mermaid + +برای رسم نمودارها (مثل Class Diagram) از ابزار [Mermaid](https://mermaid.js.org/) استفاده کنید. +نمودار به‌صورت متن نوشته می‌شود، بنابراین تغییرات آن در Git قابل مشاهده و بازبینی است. گیت‌هاب این نمودارها را مستقیم در فایل‌های `.md` نمایش می‌دهد. + +مثال یک Class Diagram: + +```mermaid +classDiagram + class Report { + +id: int + +status: string + +submit() + } + class Technician { + +name: string + +assign(report) + } + Technician "1" --> "*" Report : repairs +``` + +--- + ## نکات مهم - همیشه قبل از شروع کار جدید، آخرین تغییرات `CONTRIBUTINGmain` را بگیر: diff --git a/README.md b/README.md index f4c5d76..2109627 100644 --- a/README.md +++ b/README.md @@ -41,3 +41,5 @@ ## نحوه همکاری هر عضو تیم با اکانت شخصی خود محتوا را اضافه یا اصلاح می‌کند تا تاریخچه Commitها نشان‌دهندهٔ سهم هر نفر باشد. + +برای جزئیات بیشتر درباره نحوهٔ کار با برنچ‌ها و Pull Request، [راهنمای همکاری (CONTRIBUTING.md)](CONTRIBUTING.md) را ببینید.