mirror of
https://github.com/AmirAref/paya-university-fault-system.git
synced 2026-11-04 15:16:24 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 98e9018fe3 | |||
| e2ed60a042 | |||
| 700378f5aa | |||
| b2bb9285b6 | |||
| ae9ccd9ecd | |||
| 6cf3033ad8 | |||
| 3744809c67 |
@@ -0,0 +1,2 @@
|
||||
# All files require review from AmirAref
|
||||
* @AmirAref
|
||||
@@ -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` را بگیر:
|
||||
|
||||
@@ -41,3 +41,5 @@
|
||||
## نحوه همکاری
|
||||
|
||||
هر عضو تیم با اکانت شخصی خود محتوا را اضافه یا اصلاح میکند تا تاریخچه Commitها نشاندهندهٔ سهم هر نفر باشد.
|
||||
|
||||
برای جزئیات بیشتر درباره نحوهٔ کار با برنچها و Pull Request، [راهنمای همکاری (CONTRIBUTING.md)](CONTRIBUTING.md) را ببینید.
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
# سند نیازمندیها (Requirements Specification) – سامانه مدیریت و گزارش خرابی دانشگاهی
|
||||
|
||||
**تهیهکننده:** رضا آدوسی
|
||||
**بازبین:** ارشیا همتیزاده
|
||||
**آخرین بهروزرسانی:** ۱۴۰۵/۰۸/۱۱
|
||||
|
||||
---
|
||||
|
||||
## مقدمه
|
||||
|
||||
در این سند، نیازمندیهای اصلی سامانهٔ مدیریت و گزارش خرابی دانشگاهی در دو دستهٔ **نیازمندیهای کارکردی (Functional Requirements)** و **نیازمندیهای غیرکارکردی (Non-functional Requirements)** تعریف شدهاند.
|
||||
|
||||
نیازمندیهای کارکردی، قابلیتها و وظایفی را مشخص میکنند که سامانه باید ارائه دهد و نیازمندیهای غیرکارکردی، ویژگیهای کیفی و محدودیتهای مورد انتظار از سامانه را بیان میکنند.
|
||||
|
||||
## ۱. هدف و محدودهٔ سامانه
|
||||
|
||||
هدف از توسعهٔ این سامانه، فراهم کردن بستری متمرکز برای ثبت خرابی تجهیزات و فضاهای دانشگاه، پیگیری درخواستها و مدیریت فرایند تعمیر است.
|
||||
|
||||
سامانه به دانشجویان و استادان امکان میدهد خرابیهای مشاهدهشده را ثبت و وضعیت رسیدگی به آنها را پیگیری کنند. همچنین کارمندان تأسیسات میتوانند گزارشها را بررسی، اولویتبندی و به تعمیرکاران ارجاع دهند و بر روند رسیدگی نظارت داشته باشند.
|
||||
|
||||
محدودهٔ دقیق فضاهای تحت پوشش سامانه، از جمله کلاسها، آزمایشگاهها، فضاهای عمومی، اداری و خوابگاهها، در مراحل بعدی تحلیل مشخص خواهد شد.
|
||||
|
||||
## ۲. کاربران سامانه
|
||||
|
||||
- **دانشجو:** ثبت گزارش خرابی و مشاهده و پیگیری گزارشهای ثبتشده توسط خود.
|
||||
- **استاد:** ثبت خرابیهای مربوط به کلاسها و آزمایشگاهها و پیگیری وضعیت گزارشها.
|
||||
- **کارمند تأسیسات:** بررسی گزارشها، تعیین اولویت، ارجاع درخواستها و نظارت بر فرایند تعمیر.
|
||||
- **تعمیرکار:** مشاهدهٔ درخواستهای تخصیصیافته، انجام تعمیرات و ثبت نتیجهٔ اقدامات.
|
||||
- **مدیر:** نظارت بر عملکرد کلی سامانه و مشاهدهٔ اطلاعات و گزارشهای مدیریتی.
|
||||
- **کاربر سیستم:** عنوان عمومی برای اشاره به کاربران دارای حساب کاربری و دسترسی به سامانه.
|
||||
|
||||
## ۳. نیازمندیهای کارکردی (Functional Requirements)
|
||||
|
||||
### ۳.۱. مدیریت کاربران و دسترسی
|
||||
|
||||
- **FR-01 — ورود به سامانه:** سامانه باید امکان ورود کاربران از طریق نام کاربری و رمز عبور را فراهم کند.
|
||||
- **FR-02 — کنترل دسترسی:** سامانه باید دسترسی کاربران به امکانات و اطلاعات را بر اساس نقش آنها مدیریت کند.
|
||||
|
||||
### ۳.۲. ثبت و مدیریت گزارش خرابی
|
||||
|
||||
- **FR-03 — ثبت گزارش خرابی:** سامانه باید امکان ثبت گزارش شامل عنوان، توضیحات، محل خرابی و نوع تجهیز را برای دانشجویان و استادان فراهم کند.
|
||||
- **FR-04 — افزودن اطلاعات تکمیلی:** گزارشدهنده باید بتواند تصویر یا توضیحات تکمیلی را به گزارش ثبتشده اضافه کند.
|
||||
- **FR-05 — مشاهدهٔ گزارش:** گزارشدهنده باید بتواند گزارشهای ثبتشده توسط خود و وضعیت فعلی آنها را مشاهده کند.
|
||||
|
||||
### ۳.۳. بررسی و اولویتبندی گزارشها
|
||||
|
||||
- **FR-06 — بررسی گزارشها:** کارمند تأسیسات باید بتواند گزارشهای ثبتشده را مشاهده و بررسی کند.
|
||||
- **FR-07 — تعیین اولویت:** کارمند تأسیسات باید بتواند بر اساس اهمیت و فوریت خرابی، اولویت رسیدگی به هر گزارش را تعیین کند.
|
||||
- **FR-08 — جستوجو و فیلتر گزارشها:** کارمند تأسیسات باید بتواند گزارشها را بر اساس وضعیت، اولویت و سایر مشخصات مرتبط جستوجو و فیلتر کند.
|
||||
|
||||
### ۳.۴. ارجاع و مدیریت فرایند تعمیر
|
||||
|
||||
- **FR-09 — ارجاع به تعمیرکار:** کارمند تأسیسات باید بتواند هر گزارش را به تعمیرکار مناسب تخصیص دهد.
|
||||
- **FR-10 — مشاهدهٔ درخواستهای تخصیصیافته:** تعمیرکار باید بتواند فهرست درخواستهای ارجاعشده به خود را مشاهده کند.
|
||||
- **FR-11 — بهروزرسانی وضعیت درخواست:** افراد مجاز باید بتوانند وضعیت درخواست را متناسب با مرحلهٔ رسیدگی بهروزرسانی کنند.
|
||||
- **FR-12 — ثبت نتیجهٔ تعمیر:** تعمیرکار باید بتواند نتیجهٔ بررسی و اقدامات انجامشده را همراه با توضیحات ثبت کند.
|
||||
- **FR-13 — درخواست اطلاعات تکمیلی:** تعمیرکار باید بتواند در صورت نیاز، اطلاعات بیشتری از گزارشدهنده درخواست کند.
|
||||
|
||||
### ۳.۵. پیگیری و اطلاعرسانی
|
||||
|
||||
- **FR-14 — تأیید نتیجهٔ تعمیر:** گزارشدهنده باید بتواند پس از اعلام رفع خرابی، نتیجهٔ تعمیر را تأیید یا رد کند.
|
||||
- **FR-15 — اطلاعرسانی تغییر وضعیت:** سامانه باید امکان ارسال اعلان به کاربران مرتبط هنگام تغییر وضعیت گزارش را فراهم کند.
|
||||
- **FR-16 — مشاهدهٔ سوابق:** کاربران مجاز باید بتوانند سوابق گزارشها و اقدامات انجامشده را متناسب با سطح دسترسی خود مشاهده کنند.
|
||||
|
||||
### ۳.۶. مدیریت و نظارت
|
||||
|
||||
- **FR-17 — داشبورد مدیریتی:** سامانه باید امکان مشاهدهٔ اطلاعات کلی مانند تعداد گزارشهای ثبتشده، گزارشهای باز و درخواستهای فوری را برای مدیر و کارمندان تأسیسات فراهم کند.
|
||||
|
||||
## ۴. نیازمندیهای غیرکارکردی (Non-functional Requirements)
|
||||
|
||||
### ۴.۱. امنیت و کنترل دسترسی
|
||||
|
||||
- **NFR-01 — امنیت اطلاعات:** سامانه باید از دسترسی غیرمجاز، افشای اطلاعات و تغییرات غیرمجاز در دادهها جلوگیری کند.
|
||||
- **NFR-02 — حفظ حریم خصوصی:** اطلاعات کاربران و گزارشها باید متناسب با سطح دسترسی هر نقش در اختیار افراد قرار گیرد.
|
||||
|
||||
### ۴.۲. سهولت استفاده
|
||||
|
||||
- **NFR-03 — کاربردپذیری:** رابط کاربری و فرمهای ثبت و پیگیری گزارش باید ساده، قابل فهم و متناسب با نیاز کاربران طراحی شوند.
|
||||
|
||||
### ۴.۳. کارایی و عملکرد
|
||||
|
||||
- **NFR-04 — زمان پاسخگویی:** عملیات معمول سامانه، مانند ثبت گزارش و مشاهدهٔ وضعیت، باید در زمان قابل قبول انجام شوند.
|
||||
|
||||
### ۴.۴. قابلیت اطمینان
|
||||
|
||||
- **NFR-05 — صحت و نگهداری اطلاعات:** سامانه باید اطلاعات ثبتشده را بهدرستی نگهداری کند و از حذف یا تغییر ناخواستهٔ آنها جلوگیری کند.
|
||||
|
||||
### ۴.۵. قابلیت نگهداری و توسعه
|
||||
|
||||
- **NFR-06 — قابلیت نگهداری:** ساختار سامانه باید امکان اصلاح، نگهداری و افزودن قابلیتهای جدید را در آینده فراهم کند.
|
||||
|
||||
## ۵. نکات و کارهای باقیمانده
|
||||
|
||||
- این نیازمندیها نسخهٔ اولیه هستند و ممکن است در مراحل بعدی تحلیل و بازبینی تغییر کنند یا نیازمندیهای جدیدی به آنها اضافه شود.
|
||||
- محدودهٔ دقیق فضاهای تحت پوشش سامانه، از جمله خوابگاهها و فضاهای اداری، هنوز مشخص نشده است.
|
||||
- معیارهای دقیق اولویتبندی خرابیها و نحوهٔ تشخیص درخواستهای فوری باید تعیین شوند.
|
||||
- روش اطلاعرسانی به کاربران، مانند اعلان داخل سامانه، پیامک یا ایمیل، هنوز مشخص نشده است.
|
||||
- جزئیات سطح دسترسی هر نقش و شرایط بستهشدن نهایی درخواستها باید در مراحل بعدی مشخص شوند.
|
||||
- نیازمندیهای تعریفشده باید با داستانهای کاربر (User Stories) و سایر مستندات پروژه تطبیق داده شوند.
|
||||
|
||||
---
|
||||
|
||||
**وضعیت سند:** نسخهٔ اولیه (Draft) – آمادهٔ بازبینی
|
||||
@@ -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) – آماده بازبینی
|
||||
|
||||
Reference in New Issue
Block a user