PDA

View Full Version : طراحی نرم افزار برای قبض تلفن



astani
پنج شنبه 11 خرداد 1385, 09:46 صبح
سلام و خسته نباشید
می خواستم یه برنامه برای نگهداری و صدور قبض تلفن بنویسم در طراحی بانک و کدنویسی مشکلی ندارم. فقط می خواستم بدونم که من برای نگهداری اطلاعات هردوره (مبلغ دوره - بدهی قبلی - میزان مصرف) آیا از یک جدول در دیتابیسم استفاده کنم یا در هر دوره محاسبات لازم انجام شود تا مبالغ و میزان مصرف بدست آید. مسئله مهمی که لازم به ذکر است اینکه می خواهم در نرم افزار امکان صدور فیش برای دوره های قبل وجود داشته باشد. با ایجاد جدولی برای نگهداری اطلاعات محاسبه شده هر دوره (مبلغ دوره - بدهی قبلی - میزان مصرف) به نظر می رسد که دیتابیس را غیر اصولی سنگین تر می کنم و از طرفی در صورت صرف نظر کردن از جدول انجام محاسبه برای هر دوره نیازمند انجام محاسبات برای کل دوره های ماقبل می باشد. بسیار ممنون می شوم که کسی یک راه حل اصولی در این زمینه ارائه دهد.

ali_kolahdoozan
پنج شنبه 11 خرداد 1385, 09:55 صبح
من اگه باشم کل اطلاعات حد اقل یکسال رو می زارم تو یک table بعد با یه فیلد مشخص می کردم مال چه زمانی است و فیلتر می کردم . البته نه همه برنامه توی یک table فقط برای هر دوره جول جدا نساز .

Reza_Sunar
پنج شنبه 11 خرداد 1385, 10:20 صبح
سلام دوست عزیز،
ایجاد یک جدول برای نگهداری اطلاعات یک کار غیر حرفه ای است و همانطوری که گفتید فقط حجم پایگاه رو افزایش میده
نمیدونم چقدر به زبان SQL مسلط می باشید ولی می تونید بدون انجام محاسبات طولانی با کدهای VB و از طریق دستورات SQL به سادگی محاسبات رو داخل جداول انجام و نتیجه رو بگیرید و البته خیلی سریع ...
البته اگه منطورتون رو خوب گرفته باشم این راه رو امتحان کنید و اگه سوالی داشتید ، بتونم جواب می دهم
موفق باشید ...

hmm
پنج شنبه 11 خرداد 1385, 15:50 عصر
در هیچ نرم افزار صدور قبضی که من دیدم یا بهتر بگم هیچ پایگاه داده حرفه ای نمیان برای دوره های مختلف جدول جدید بسازن
من یه یکی از پایگاه های صدور قبض دسترسی دارم نزدیک 40 میلیون رکورد داره و داره بخوبی کار میکنه
برای گزارش های مختلف شما نیاز به محاسبات داری و چون محاسبات تقریبا پیچیده است نمیتونی موقع ساخت گزارش ها دوباره محاسبه رو انجام بدی
بهتره یکبار محاسبه رو انجام بدی و نتیجه رو نگهداری کنی تا بتونی به سادگی هر نوع گزارش و آماری خواستی از اون بگیری
سوالی داشتی در خدمتم

Microsoft.net
پنج شنبه 11 خرداد 1385, 23:29 عصر
خوبه یه نگاه به نظریات آقای آرم استرانگ در مورد نرمال سازی بندازی تو اکثر کتابا هست . اونطوری بهتر می تونی تشخیص بدی که کارت اصولی هست یا نه . خیلیها که ادعای حرفه ای بودنشون میشه وقتی طراحیشونو نگا می کنی میبینی حتی به فرم نرمال سطح اول هم نیست 1NF !!!

hadi2345
جمعه 12 خرداد 1385, 07:09 صبح
خوبه یه نگاه به نظریات آقای آرم استرانگ در مورد نرمال سازی بندازی تو اکثر کتابا هست . اونطوری بهتر می تونی تشخیص بدی که کارت اصولی هست یا نه . خیلیها که ادعای حرفه ای بودنشون میشه وقتی طراحیشونو نگا می کنی میبینی حتی به فرم نرمال سطح اول هم نیست 1NF !!!

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

موفق باشید .

astani
شنبه 13 خرداد 1385, 08:29 صبح
سلام دوستان
از راهنمایی هایی که کردین بسیار منونم اما فکر می کنم شاید من نتونستم مطلب رو خوب تفهیم کنم من منظورم این نیست که برای هر دوره یک جدول درست کنم یا اینکه کل پایگاه رو توی یک جدول ذخیره کنم. ببینید من چند تا جدول دارم .مثلا برای اعضا برای اشتراکها و یک جدول برای دوره ها که تعرفه ها و متغیرهای(آبونمان-تعرفه-حدمجاز مصرف..) لازم هر دوره در یک رکورد از این جدول ذخیره می شن و یه جدول واسه ذخیره میزان مصرف هر مشترک . حالا واسه اینکه فیش های این دوره رو چاپ کنیم کافیه با انجام محاسبات با استفاده از جدول دوره ها و مصرفها فیش رو مجاسبه و حاضر کنیم اما مسئله مهم اینه که فرض کنید می خواهیم برای دوره قبلی یا چند دوره قبل از دوره جاری فیش حاضر کنیم در این صورت انجام محاسات برای آن دوره بهتر است یا اینکه در یک جدول جداگانه مبالغ و جزئیات فیش هر مشترک بصورت یک رکورد جدید ذخیره شود؟ مطلب مهم دیگر اینکه فرض کنیم می خواهیم بدهی دوره قبل را در فیش هر دوره وارد کنیم در این صورت در هر دوره باید محاسبات را از اولین دوره انجام دهیم که با افزایش میزان دوره ها برنامه کند تر خواهد شد. برای این منظور چه باید کرد؟ این را هم در نظر بگیرید که بعد از گذشت سه دوره احتمال دارد به خاطر تغییر قوانین نیاز باشد تا سه دوره قبل مجددا با تعرفه های تغییر یافته محاسبه شود و مشترک بستانکار یا بدهکاریش قطعا تغییر خواهد کرد. فکر میکنم همونطور که دوستمون گفتند طراحی پایگاه داده این نرم افزار مهمترین و اصلی ترین قسمتش باشه امیدوارم که دوستان بتونن کمک کنن تا از نظراتشون استفاده کنیم.

hadi2345
یک شنبه 14 خرداد 1385, 21:41 عصر
با سلام مجدد ...
شما به هیچ وجه محاسبات رو نباید برای هر دوره تکرار کنی ... فرض کن بعد از چندین دوره (مثلا 20 دوره ) بخوایی برای هر مشترک محاسبات جداگانه ای انجام بدی !!! این کار اصلا اصولی نیست . شما تعرفه هایی که متغیر هستن رو در یک جدول ذخیره کن و محاسباتت رو بر مبنای اون انجام بده ... برای محاسباتت هم بهتره که با توجه به ساختار دیتابیست تصمیم بگیری !! میتونی از SP کمک بگیری ... تا اطلاعاتت برای هر دوره آپدیت بشه .. مشکلی هم پیش نمی آد !!
البته تمامی این ها بستگی به برنامه ات و دیتابیست داره !! با توجه به اونها تصمیم مناسب رو بگیر ....

موفق باشید .

shirpia
شنبه 13 خرداد 1391, 14:54 عصر
میتونم نتیجه کارتونو ببینم؟
heyvola@yahoo.com

SilverGold
یک شنبه 14 خرداد 1391, 19:40 عصر
راستی اگه میشه برای من هم بفرستین جالبه
silvervbnet@yahoo.com