PDA

View Full Version : نحوه گزارش گیری از کیفیت و کمیت کار کاربر با برنامه



جواد ملاولی
یک شنبه 15 فروردین 1389, 21:43 عصر
سلام.
چه جوری از عملکرد کاربر با برنامه گزارشهایی تهیه کنیم؟ مثلا بررسی کنیم که کاربر چند دقیقه یا چند ساعت با برنامه کار کرده(با این توضیح که مثلا اگه 5 دقیقه کار نکرد، زمان مربوط به او متوقف بشه) و یا اینکه با کدوم بخش از برنامه کار کرده و یا در مورد هر بخش اطلاعات دیگه ای بدست بیاریم و ...

hossein_h62
دوشنبه 16 فروردین 1389, 10:40 صبح
با سلام
شما قصد مانیتورینگ نرم افزارتون و LOGGING رو دارید.بحث بسیار جالبیه.
من فکر میکنم تمام رویدادها باید کنترل و ثبت بشن همینطور زمان idle نرم افزار هم تعریف بشه.
از دوستانی که تجربه این کار رو دارند تقاضا میکنم در این بحث شرکت کنند.با تشکر.

Felony
دوشنبه 16 فروردین 1389, 11:00 صبح
مثلا بررسی کنیم که کاربر چند دقیقه یا چند ساعت با برنامه کار کرده
همه این کار ها با 2 تا تایمر قابل انجام هست و بسیار ساده ، کمی روش فکر کنید ...

pezhvakco
دوشنبه 16 فروردین 1389, 11:24 صبح
درود :

شما راه زیاد داری ؟
اولیش همونه که Silvery جون گفت ( ماهیگیری بهتر از ماهی یا فکر کردن بهتره تا پرسیدن ).

یکی که به فکر رسید :
از یه بانک استفاده کنی و دو تا تایمر هایی که Silvery گفت .
یه تایمر کلی برای ورود اصلی کاربر .
یه تایمر برای ورود کاربر به هر قسمت برنامه .

میتونی این موارد بالا (زمان و مکان ) رو در یه بانک برای کاربر ذخیره داشته باشی .

فکر خوش .

جواد ملاولی
دوشنبه 16 فروردین 1389, 19:51 عصر
فکر کنم مساله فراتر از اینه که با دو تا تایمر حل بشه؛
من چه جوری بفهمم که کاربر در حال کار با برنامه است و اینطوری نیست که لاگین کرده باشه و دیگه کاری به برنامه نداشته باشه؟
همچنین چه جوری بفهمم با کدوم بخش از برنامه کار می کنه؟
من یک لاگ گیری کامل می خوام؛ یعنی می خوام ریز کار کاربر رو داشته باشم؛ مثلا در ساعت فلان روی فلان دکمه کلیک کرده و یا در فلان ادیت باکس چیزی نوشته و یا از ساعت فلان تا فلان هیچ کاری نکرده و ...

Felony
دوشنبه 16 فروردین 1389, 19:59 عصر
شما اول گفتی که میخوای زمان ورود و زمان بیکاری برنامه رو به دست بیاری که اون با همون 2 تایمر قابل انجامه ، ولی لاگ گیری که روی کدوم کلید کلیک کرده خیر ، فعلا راهی جز ثبت هر رویداد به صورت مجزا به ذهنم نمیرسه .

جواد ملاولی
دوشنبه 16 فروردین 1389, 20:50 عصر
زمان بیکاری رو چه جوری بفهمم؟ تو تایمر چی بنویسم؟

pezhvakco
دوشنبه 16 فروردین 1389, 20:55 عصر
درود :

من یک لاگ گیری کامل می خوام؛ یعنی می خوام ریز کار کاربر رو داشته باشم؛ مثلا در ساعت فلان روی فلان دکمه کلیک کرده و یا در فلان ادیت باکس چیزی نوشته و یا از ساعت فلان تا فلان هیچ کاری نکرده و ...

این کار خیلی سنگین در می یاد که خواسته باشی هر کار کاربر رو با زمان داشته باشی .
با این کار می تونی یه حدودی از زمان ها رو با تقریب داشته باشی .

البته میتونی از زمان خود سیستم هم استفاده کنی .
یه بانک داشته باشی که دارای ستون های : زمان ورود ، زمان خروج، نام فعالیت، زمان شروع فعالیت و ...
مثلا با هر با ورود زمان رو دریافت و ذخیره کنی . با هر کلیک نام و زمان اون رو هم بگیر در آخر هم زمان خروج .
در خروج از برنامه با محاسبه فاصله زمان ها گزارش بدی .

البته میتونی مانند کار بعضی برنامه ها یه زمان زندگی در نظر بگیری که اگه کاربر بیش از این زمان کاری نکرد ، خروج براش بزنی .

این شاید کمکت کنه .

فکر خوش .

جواد ملاولی
دوشنبه 16 فروردین 1389, 21:35 عصر
البته میتونی مانند کار بعضی برنامه ها یه زمان زندگی در نظر بگیری که اگه کاربر بیش از این زمان کاری نکرد ، خروج براش بزنی .
برای اینکه بفهمم کاربر بیش از این زمان کاری نکرده باید همه ی رویدادها رو چک کنم که هر کدوم انجام شدن یا نه؟ یا راه ساده تری هم وجود داره؟

SAASTN
سه شنبه 17 فروردین 1389, 00:40 صبح
زمان بیکاری رو چه جوری بفهمم؟
ممکنه زمان بیکاری رو معنی کنید؟ مثلا زمانی که کاربر داره یک ریپورت عرض و طویل رو بررسی می کنه جزء زمان بیکاری بحساب میاد یا نه؟ چون چیزی که به ذهن من میرسه اینه که شما حد اکثر می تونی زمان بین ارسال دو فرمان مختلف رو بدست بیاری و اگه از یک مقداری بیشتر بود فرض کنی که کاربر در این زمان بیکار بوده. که این کار رو به روش دیگه ای هم میشه انجام داد: بعد از انجام آخرین فرمان یک مدت معینی صبر کنیم و بعد شروع کنیم به محاسبه زمان بیکاری تا اجرای دوباره یک فرمان دیگه.
از این اطلاعات چه استفاده ای میشه کرد؟:متفکر: (منظورم فقط زمان کار و بیکاریه)

pezhvakco
سه شنبه 17 فروردین 1389, 08:48 صبح
بفهمم کاربر بیش از این زمان کاری نکرده
خیلی داری کار خودتو سخت می کنی .

دوست عزیز SAASTN ، خوب میگه : زمان بیکاری به معنای واقعی قابل محاسبه نیست .
چون خوندن گزارش ، خوندن موارد یک صفحه و ... هم زمان کار با برنامه هست ولی بدون انجام کار فیزیکی .

فقط میتونی یه زمان پایه ( زمان دلخواه خودت که فکر می کنی برای کار های بالا می تونه وجود داره ) داشته باشی و بیش تر از اون رو خروج بگیری .

نه با دقت ثانیه و این همه سخت گیری .

فکر خوش .

Felony
سه شنبه 17 فروردین 1389, 09:14 صبح
یه راه حلی به ذهنم رسید ، احتمالا بشه یه هوک Local برای پیغام های رسیده از برنامه نوشت به این ترتیب میشه فهمید که برنامه در حال انجام کار هست ...

جواد ملاولی
سه شنبه 17 فروردین 1389, 13:23 عصر
خیلی داری کار خودتو سخت می کنی .

دوست عزیز SAASTN ، خوب میگه : زمان بیکاری به معنای واقعی قابل محاسبه نیست .
چون خوندن گزارش ، خوندن موارد یک صفحه و ... هم زمان کار با برنامه هست ولی بدون انجام کار فیزیکی .

فقط میتونی یه زمان پایه ( زمان دلخواه خودت که فکر می کنی برای کار های بالا می تونه وجود داره ) داشته باشی و بیش تر از اون رو خروج بگیری .

نه با دقت ثانیه و این همه سخت گیری .

فکر خوش .
دوست من، من در پیاده سازی این قضیه مشکل دارم. همین مطلبی که خودت گفتی؛ یعنی «یه زمان پایه در نظر بگیریم و بیشتر از اون رو خروج بگیریم» اینو چه جوری پیاده سازی کنم؟



یه راه حلی به ذهنم رسید ، احتمالا بشه یه هوک Local برای پیغام های رسیده از برنامه نوشت به این ترتیب میشه فهمید که برنامه در حال انجام کار هست ...
چناب silver عزیز، من اصلا با هوک آشنا نیستم؛ اگه منبعی مقاله ای چیزی داری لطف کن بده مطالعه اش کنم و یاد بگیرم.

pezhvakco
سه شنبه 17 فروردین 1389, 13:29 عصر
یه زمان پایه در نظر بگیریم و بیشتر از اون رو خروج بگیریم» اینو چه جوری پیاده سازی کنم؟
می تونی خودت با برنامه کار کنی و زمان رو حساب کنی و پایه در نظر بگیری .

فکر خوش .

جواد ملاولی
سه شنبه 17 فروردین 1389, 22:08 عصر
می تونی خودت با برنامه کار کنی و زمان رو حساب کنی و پایه در نظر بگیری .
شما باز هم متوجه سوال من نشدی؛ خودم روش کار می کنم. ممنون

SAASTN
چهارشنبه 18 فروردین 1389, 00:38 صبح
احتمالا بشه یه هوک Local برای پیغام های رسیده از برنامه نوشت
یعنی میشه هوک رو به نحوی به یک برنامه مشخص محدود کرد؟
خوب اگه بشه با اینکه بازهم صددرصد نیست وی خیلی به هدف نزدیک میشه.

می تونی خودت با برنامه کار کنی و زمان رو حساب کنی و پایه در نظر بگیری .
من برداشتم از صحبت pezhvakco اینه که می فرمایند کلا کار رو بجای اینکه محاسباتی کنی، تخمینیش کنی. مثلا اگه فلان عمل بطور متوسط 2 دقیقه طول میکشه و کاربر 10 دقیقه توی فرم مربوط به اون عمل بود معلوم میشه احتمالا 8 دقیقه بی کار بوده. pezhvakco درست عرض کردم؟

ولی من هنوز سوال قبلیم رو دارم، و این سوال رو برای حذف صورت مسئله نمی پرسم و اقعا می خوام بدونم چه استفاده ای از این اطلاعات میشه کرد؟ در مورد تعداد دفعات اجرای فرامین مختلف، خوب می فهمیم چه بخش هایی بیشترین زمان کاربر رو به خودش اختصاص می ده و روی اون بخش ها بیشتر فوکوس می کنیم. اما ... کل زمان کار مفید؟:متفکر:

جواد ملاولی
چهارشنبه 18 فروردین 1389, 14:02 عصر
برای log گیری از برنامه کامپوننت خاصی وجود نداره؟

b_e_shamlu413
چهارشنبه 18 فروردین 1389, 15:42 عصر
مي بخشيد دوستان
من فكري به سرم زد كه چطور ميتوان فهميد كه كاربر چقدر داره با برنامه كار ميكنه
اول اينكه ميتوان از مدل اسكرين سرور استفاده كرد يعني هرچندوقت يكبار سيستم بحالت آماده بكار برود و براي فعال كردن سيستم بايد كليدي را بزند كه در اينصورت ميتوان زماني كه كاربر با سيستم كار نميكند رابدست آورد
ضمنا بايد بگم من در يك برنامه حسابداري كه كار كردم حدود يك دقيقه وقت لازمه كه شخص مورد نظر روي يك گزارش كار نكند و تمام صفحه را مطالعه نمايد يعني درهرصورت بايد براي ديدن صفحه بعد يا موارد ديگه بايد حتما يك كليد يا اينكه موس را حركت دهد
با همين روش ميتوان فهميد كه يك كاربر چقدر داره با يك برنامه كار ميكند
حال براي ثبت كاركرد همانطور كه هر كدام از شما فرموديد ميتوان آن را در يك جدول ذخيره كرد
:قلب: