PDA

View Full Version : بانک قوانین دانشجو



CodeMasterX
چهارشنبه 29 فروردین 1386, 19:50 عصر
من یه نرم افزار یا کمک چند تا از اساتید دانشگاه دارم می نویسم.
با VB.NET 2005 و ASP.NET 2.0 و SQLServer 2000.به دلیل مسائل امنیتی نمیتونم بگم نرم افزار چی و مال کجا هست :لبخند:.
حالا برنامه نویس اصلی و مهره مهم در این سیستم خود من هستم چون بیشتر کد های بانک اطلاعاتی رو من می نویسم.یه جایی از برنامه لازم هست تا قوانین دانشگاهی روی دانشجو اعمال و چک بشه.مثلا باید ارزیابی بشه که فلان دانشجو بر طبق بانک قوانین برای ترم جدید چند واحد میتونه برداره ؟ یا مثلا اگر بخش حسابداری هنوز شهریه کامل رو دریافت نکرده کارت ورود به جلسه دانشجو قفل بشه.و از این جور چیز ها که این دو تا مثال از ساده هاش بودن.
والا من برای این کار 5،6 بار الگوریتم و روش کارم رو عوض کردم ولی هنوزم بعضی جاها مشکل دارم.اگه کسی از دوستان بتونه یه راه حل ساده و خوب و کاربردی رو مثال بزنه ممنون میشم.
ترجیحا اگه حوصله داشتین یه برنامه ساده با بانک اکسس بسازین که فط چند تا قانون کلی رو اعمال و ارزیابی کنه و نتیج رو اعلام کنه.
البته امنیت نرم افزار هم اینجا کمی بحثش فرق می کنه که اینجا دیگه نمیگنجه.
ممنون.

CodeMasterX
سه شنبه 04 اردیبهشت 1386, 00:05 صبح
مشکل حل شد و بانک داده رو درست و کامل بهینه کردم.
به هر حال ممنون از توجه دوستان (کدومشون ؟!)

Hossein Bazyan
سه شنبه 04 اردیبهشت 1386, 00:22 صبح
بنا به دلایل امنیتی از دادن جواب معذوریم .:لبخند:
دوست عزیز سوال خیلی باحالی پرسیدی
الگوریتم برنامه ای رو میخوای که نمیتونی آنرا بنا به دلایل امنیتی توضیح بدی . شما خودتان را جای دوستان بذارید اگر این سوال از شما میشد چه حوابی میدادید؟ :عصبانی++:

CodeMasterX
سه شنبه 04 اردیبهشت 1386, 00:38 صبح
نه بابا اینقدر ها هم خفن نبود دیگه :لبخند:.
ببین من که قبلا گفتم، شما فرض کن یه سیستم دایم مینویسیم برا حسابداری دانشجویان یک دانشکده.حالا یه بانک قوانین داریم که مثلا از 50 تا ماده قانونی تشکیل میشه و چند تا قانون هم توی هم لینک هستن،یعنی به هم وابسته و در ارتباط هستن.حالا چجوری میشه یه بانکی رو طراحی کرد که مثلا با دادن شماره دانشجو بشه چک کرد که الان شامل چه تبصره ها و قوانینی میشه و وضعیت بعدی مالی اون چه تغییراتی باید بکنه ؟
البته تا جدود زیادی مشکلم رو حل کردم ولی ایده هی خوب با صمیم قلب مورد تشکر و قدردانی خواهند بود.

Hossein Bazyan
سه شنبه 04 اردیبهشت 1386, 00:41 صبح
شوخی کردم به دل نگیر . در ضمن پست دومت را هم دیده بودم که به جواب رسیده بودی

CodeMasterX
چهارشنبه 05 اردیبهشت 1386, 01:07 صبح
الان سیستم درست داره جواب میده ولی هنوز هم باید زاهی برای بهینه کردنش باشه.
شما یا بقیه دوستان اگه همچین نمونه نرم افزار هایی رو تاحالا کارکردین تجربیات رو دریغ نکنین.

42li42li
شنبه 26 خرداد 1386, 19:56 عصر
از تیریگر استفاده کن

CodeMasterX
یک شنبه 27 خرداد 1386, 00:47 صبح
از تیریگر استفاده کن

دقیقا مشکل رو با تریگر ها و رویه های ذخیره شده (SP) انجام دادم.

حامد مصافی
یک شنبه 27 خرداد 1386, 00:47 صبح
توضیحاتی در مورد برنامه و اینکه چه چیزی باید بهینه بشه بده
پایگاه داده از چه نوعی است؟؟
بیشتر روی لایه DB کار می کنی یا APP؟




شما یا بقیه دوستان اگه همچین نمونه نرم افزار هایی رو تاحالا کارکردین تجربیات رو دریغ نکنین.
یعنی دوستان بیان نتیجه چندین سال تجربه رو در یک پست بنویسند؟؟

azmoodeh
یک شنبه 27 خرداد 1386, 02:01 صبح
CodeMasterX عزیز

اگر شیوه پیاده سازی جزو موارد محرمانه نیست کمی در مورد شیوه تان توضیح دهید تا استفاده کنیم.

ممنون

CodeMasterX
یک شنبه 27 خرداد 1386, 04:42 صبح
نه اقا چه محرمانه ای ؟!
ببینید همونطور که تو پست های اول هم گفتم، یک بانک قوانین دانشجو هست که باید وضعیت های مختلف یک دانشجو مثل وضعیت مالی،درسی و ... توش ذخیره بشه.بانک برنامه SQLServer 2000 هست و برنامه هم با VB2005 نوشته شده.مشکلی نداره برنامه، ولی من بیشتر روی لایه APP کار می کنم و نتیجتا بیشتر قوانین و محاسبات رو توی خود برنامه انجام میدم.مثلا یک کلاس دارم که میاد وضعیت تحصیلی دانشجو رو میگیره و نسبت به داده ها یه سری تغییرات در امکانات پرونده دانشجو رو تغییر میده، مثلا اگر دانشجو تا 20 ماه آخر ترم جاری تصویه حساب نکرده باشه، کارت ورود به جلسه امتحانات براش صادر نخواهد شد و بخش مربوطه قفل میشه.به همچین قوانین و اعمالاتی.

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

همین!

حامد مصافی
یک شنبه 27 خرداد 1386, 15:21 عصر
1- اگر از VB2005 استفاده می کنی باید به استحضار برسونم که این سایت بخش VB.NET داره!
2- درمورد بخش بعدی سوالت باید بگم جوابش Triger هست. یک تریگر به تو این امکان رو میده تا دو هنگام وقوع یک رویداد خاص اعمالی رو انجام بدی یا حتی از استثنایی رو در محیط توسعه ایجاد کنی.
در موردش تحقیق کن

CodeMasterX
یک شنبه 27 خرداد 1386, 18:27 عصر
تو بخش دات نت مطرح نکردم چون میخواستم تو لایه دیتابیس کار بشه، که در اون صورت باز هم باید تو بخش SQLServer مطح می کردم !

به هر حال ممنون، دارم روی تریگر ها کار می کنم.

azmoodeh
دوشنبه 28 خرداد 1386, 01:16 صبح
CodeMasterX عزیز

ممنون از تاپیکت ، اگر آقای BlackDel خرده نگیرند حدس می زنم آقای CodeMaster هم با تریگر اشنا باشند و همچنین مطلبشان را در جای مناسبی مطرح نموده اند.
سوالی که داشتم این بود در روشی که شما به آن رسیده اید برای پیاده سازی قوانین و ایجاد شروط در سطح دیتا بیس از چه روشی استفاده می کنید؟ ( منظورم نحوه پیاده سازی و پردازش است).
ممنون

CodeMasterX
دوشنبه 28 خرداد 1386, 03:12 صبح
خیلی ساده!

در نسخه فعلی برنامه که در حال اجرا هست (هنوز نسخه جدید با تریگر ها اعمال نشدن) توی پوشه اصلی برنامه به بانک اکسس هست که قوانین رو نگهداری می کنه و نیازی هم نیست خیلی امن و امان باشه.با اجرا شدن برنامه،ویرایش پرونده دانشجو و یا به روش دستی قوانین با وضعیت فعلی دانشجو مقایسه میشن (با استفاده از یک کلاس ساده) و بعد باز با استفاده از یک کلاس دیگه تغییرات لازم اعمال میشن.قفل کردن پرونده ها،ذخیره و ویرایش داده های وضعیت فعلی دانشجو در بانک و غیره (واسه شیء گرا بودن برنامه خیلی جون کنم خوداییش!).

azmoodeh
دوشنبه 28 خرداد 1386, 12:41 عصر
دوست عزیزم
منظورم این بود که شیوه ایجاد پردازش قوانینتون چی هست . یعنی مثلا متن اونها رو Parse می کنید یا مثلا یک قاونون از چند رکورد تشکیل شده که هر کدوم می تونه یه معنایی داشته باشه یا... یا .... و همچنین شما چه پارامترهایی رو وارد قسمت تعریف قوانین می کنید و چقدر دست کاربر رو باز میگذارید و .....

فکر کنم آخرش با پر رویی بهتون میگم سورس برنامه رو هم بهم بدید . آخه اینجور موضوعات برام خیلی جالبه. مخصوصا اگر که هوشمند روش کار کرده باشید.
ممنون

CodeMasterX
دوشنبه 28 خرداد 1386, 19:20 عصر
سورس رو که نمیتونم بدم شرمندم.
ببینید، هر کدوم از قوانین یک رکورد دارن که یکی از فیلدها متن قانون هستن، یک فیلد ارتباط قانون با بقیه تبصره ها رو مشخص می کنه و یک فیلد هم شماره کلید قانون (ID) رو نگهداری می کنه و یه سری فیلد دیگه.
هر قانونی که میخواد خونده بشه، فقط آی دیش گرفته میشه و بعد با مقایسه وضعیت دانشجو تبصره هایی که با هم در ارتباط هستند چک میشن و کارهای مربوطه انجام میشه.در صورت اشکال در قوانین و یا درخواست کاربر متن تبصره ها هم نمایش داده میشن.