# مهندسی نرم افزار > مباحث مرتبط با مهندسی نرم‌افزار > تحلیل و طراحی نرم افزار > گفتگو: تحلیل پروژه انبارداری سوپر مارکت

## masoud_z_65

سلام به همه دوستان و اساتید محترم من پروژه انبارداری رو دارم که با زبان دلفی و پایگاه اس کیو ال سرور هست ، دارم گام به گام این پروژرو میرم جلو خواستم که هم خودم از کمک های دیگران استفاده کنم هم اینکه بچه های دیگه بیانو استفاده کنن..... درضمن همیشه دنبال یک جایی میگشتم که بیاد و یک پروژرو از اولین گام که طراحی باشه تا آخرین گام که پیاده سازی و تست باشه توضیح بده و عملی آموزش بده اما متاسفانه پیدا نکردم!(اگر شما پیدا کردید به من هم نشون بدید دعاتون میکنم)
در ضمن از استادایی که تو سایت هستن شدیدا درخواست کمک دارم که تاپیک رو مال خودشون بدونن و همه جوره کمک کنن...ثواب داره.

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


شرح کامل پروژه:
سیستم خرید ، فروش ، انبارداری یک سوپر مارکت

مقدمه :
هدف در این سیستم مکانیزه کردن سسیتم یک سوپر مارکت به صورتی است که بتوان تمامی خرید ها ، فروش و...درون سیستم ذخیره کرد.

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

گزارشات سیستم :
1.	صدور فاکتور فروش جهت یک مشتری
2.	گزارش موجودی کالاها در انبارها براساس تمامی مشخصه ها
3.	گزارش فروش روزانه ، ماهانه و... براساس تمامی مشخصه ها
4.	لیست خریدهای سوپر مارکت براساس تمامی مشخصه ها
5.	ردیابی عملیات کاربران براساس تمامی مشخصه ها
نکته :
تمامی گزارشات باید قابل چاپ باشد – ذکر مشخصات سوپر مارکت (نام ، آدرس ، تلفن ) در پایین تمامی گزارشات الزامی است.

کاربران  سیستم:
1.	مدیر سیستم : فردی که امکان تعریف کاربران مختلف را دارا بوده و هیچ محدودیتی برای او وجود ندارد
2.	فروشنده : صدور فاکتور فروش – گزارش موجودی کالا – لیست خریدهای سوپر مارکت
3.	انباردار : تعریف کالای جدید – گزارش موجودی کالا – ثبت فاکتورهای خرید
4.	مسوول سوپر مارکت :  گزارش فروش – ردیابی عملیات کاربران


مشخصات فني پياده سازي / تحويل:
•	استفاده از پايگاه داده اي Sql Server 
•	استفاده از زبان برنامه نویسی دلفی


تا تقریبا 3 ماه دیگه هم وقت دارم پس قول میدم اگه عمری بود و با استقبال مواجه شد حتما تا آخرشو تو این سایت بزارم با تمام مراحلی که انجام دادم ،که ایشالا هرجای کارم ایراد داشت با کمک هم درستش کنیم و بتونیم 1 چیز خوب از توش دربیاریم.....اولین کاری که کردم شروع کردم به یاد گیری دلفی کتاب آموزش دلفی آقای جعفر نژاد رو خواندم و بصورت مقدماتی یاد گرفتم.....اس کی ال رو هم که هرچی از درس آزمایشگاه پایگاه داده یادگرفتم تو ذهنم بود......پس مرحله بعد تصمیم گرفتم که تحلیل رو شروع کنم....

----------


## masoud_z_65

دوست داشتم که این تاپیک رو تو یک تالار بزنم که از اول تا آخر پروژرو با هم دنبال کنیم اما میدونم که قوانین همچین اجازه ای رو نمیده پس تصمیم گرفتم هر قسمتش رو تو تالار مربوط به خودش بزنم....البته اگر میشد یک جا باشه که بنظر خودم عالی میشد...حیف....کسی اگه پیشنهادی داره بگه :متفکر:

----------


## masoud_z_65

اولین مرحله: تجزیه و تحلیل سیستم
دومین مرحله: طراحی بانک اطلاعاتی
سومین مرحله: پیاده سازی

خب قصد دارم که توی این سه مرحله پروژرو دنبال کنیم.....
اما توی تجزیه و تحلیل هم use case text و dfd diagram و ERD وdata dictionary  استفاده میکنم(اگر شما پیشنهاد دیگه ای دارید بگید :متفکر: )
اما یک نکته که اینجا تا یادم هست بگم اینکه یکی از دوستام بهم گفت که با کلاس برنامت رو بنویس که اونوقت باید اول  class diagramرو طراحی میکردیم اما راستش من هم سختمه هم اینکه میخوام برنامرو بدون کلاس بنویسم یعنی برا هر فرم قصد دارم که یونیت مخصوص به خودش رو کد نویسی کنم و برم جلو :لبخند گشاده!: ....پس واسه همین class diagram نداریم.....مشکلی که ایجاد نمیکنه؟؟
خب خیلی سرتون رو درد آوردم میدونم...اما چون اول کار بود گفتم حسابی توضیح بدم.....تا این جای کار کاملا تونستم منظور و هدفم رو بیان کنم؟
شرح پروژه کاملا واضح هست؟ 
اگر نظر خاصی نیست تا اولین مرحله که همون Use Case Text هست رو بزارم و با هم کار رو شروع کنیم.....؟؟؟

فقط یک نکته دیگه اینکه جداول بانک اطلاعاتی رو هم بصورت زیر در نظر گرفتم(6جدول):
جدول کالا (کد کالا{autoincrement}-نام-تعداد-مبلغ فروش-واحد شمارش کالا-سفارش{اگر تعداد کالاها به حد معینی برسد این فیلد true میشود})
جدول خرید (کد خرید-کد کالا-تعداد-قیمت-تاریخ خرید-نام فروشنده)
جدول فروش (کد فروش-کد کالا-تعداد-قیمت-تاریخ فروش-نام خریدار)
جدول فروشنده (کد{autoincrement}-نام-نام خانوادگی-رمز عبور-حقوق)
جدول انباردار (کد{autoincrement}-نام-نام خانوادگی-رمز عبور-حقوق)
جدول مسئول سوپر مارکت (کد{autoincrement}د-نام-نام خانوادگی-رمز عبور-حقوق)

----------


## masoud_z_65

خب من use case هام آمادست اگر که موافق هستید و همکاری هست تا شروع کنیمو اونارو بزارم....فقط نمیدونم کسی با این تاپیک موافق هست یا نه.....؟؟؟؟

----------


## masoud_z_65

Use Case Text

*نام: تعریف کاربر جدید*
حوزه: سیستم انبارداری سوپر مارکت
User goalسطح: 
: مدیر سیستمPrimary actor
:Main scenario
1-مدیر وارد سیستم میشود.
2- مدیر وارد صفحه کارمندان میشود.
3-درخواست تعریف کاربر جدید را دارد.
4- لیست انواع کارمندان تمایش داده میشود.(فروشنده-انباردار-مسئول سوپرمارکت)
5- نوع کارمند را مشخص میکند.(فروشنده-انباردار-مسئول سوپر مارکت)
6- فرم ورود اطلاعات به مدیر نشان داده میشود.
7-مدیر بعد از وارد کردن اطلاعات فرم و تایید کاربر جدید تایید میشود.
Extension:
7-1- ورود اطلاعات نادرست و یا تکراری
			     7-1-1-تکرار گام 5



*نام: حذف کاربر*
حوزه: سیستم انبارداری سوپر مارکت
User goalسطح: 
 :  مدیر سیستم Primary actor
:Main scenario
1-مدیر وارد سیستم میشود.
2- مدیر وارد صفحه کارمندان میشود.
3- لیست انواع کارمندان تمایش داده میشود.(فروشنده-انباردار-مسئول سوپرمارکت)
4- نوع کارمند را مشخص میکند.
5- لیست کارمندان نمایش داده میشود.
6-مدیر درخواست حذف کاربر را دارد.
7-پیغام حذف کاربر با گرفتن تایید نهایی از میدر صورت میگیرد.
Extension:
7-1- مدیر تایید نمیکند.
     7-1-1-تکرار گام4.



*نام: ردیابی عملیات کاربران*
حوزه: سیستم انبارداری سوپر مارکت
User goalسطح: 
:  -Primary actor
:Main scenario
1-مدیر سیستم وارد سیستم میشود.
2- مدیر وارد صفحه کارمندان میشود.
3- لیست انواع کارمندان تمایش داده میشود.(فروشنده-انباردار-مسئول سوپرمارکت)
4- نوع کارمند را انتخاب میکند.
5- لیست کارمندان نمایش داده میشود.
6- مدیر درخواست دیدن عملیات کاربر مورد نظر را دارد.
7- لیست عملیات نمایش داده میشود.



*نام: صدور فاکتور فروش*
حوزه: سیستم انبارداری سوپر مارکت
User goalسطح: 
: فروشندهPrimary actor
:Main scenario
1-فروشنده وارد سیستم میشود.
2-درخواست صدور فاکتور قروش را دارد.
3- فرم ورود اطلاعات کالاهای مورد نیاز مشتری به همراه تعداد و قیمت کالا به فروشنده نشان داده میشود.
4- فرم تکمیل شده را ارسال میکند.
5- فاکتور فروش نشان داده میشود.
Extension:
4-1- کالای مورد نظر مشتری در انبار موجود نیست.
     4-1-1- پیغام نبودن کالای مشتری به تعداد لازم نمایش داده میشود.
     4-1-2- تکرار گام 3


*نام: گزارش موجودی کالا*
حوزه: سیستم انبارداری سوپر مارکت
User goalسطح: 
: -Primary actor
:Main scenario
1-فروشنده یا انباردار وارد سیستم میشود.
2- فروشنده یا انباردار درخواست موجودی کالای انبار را دارد.
3- لیست نام کالاها نمایش داده میشود.
5- کاربر نام یک یا تمام کالاها را انتخاب میکند.
4- لیست کالاها به فروشنده یا انباردار نشان داده میشود.



*نام: لیست خریدها*
حوزه: سیستم انبارداری سوپر مارکت
User goalسطح: 
: -Primary actor
:Main scenario
1-کاربر وارد سیستم میشود.
2- درخواست لیست خریدهای سوپر مارکت را دارد.
3- فرم ورود اطلاعات تاریخ خریدها نمایش داده میشود.
4- کاربر تاریخ مورد نظر را وارد میکند.
5- لیست خریدهای سوپر مارکت در تاریخ مورد نظر نمایش داده میشود.
Extension:
4-1- تاریخ را اشتباه وارد میکند.
     4-1-1- پیغام خطا در درج تاریخ نمایش داده میشود.
     4-1-2- تکرار گام3.



*نام: تعریف کالای جدید*
حوزه: سیستم انبارداری سوپر مارکت
User goalسطح: 
: انباردارPrimary actor
:Main scenario
1-انباردار وارد سیستم میشود.
2- انباردار درخواست تعریف کالای جدید را دارد.
3- فرم ورود اطلاعات تعریف کاربر جدید به انباردار نشان داده میشود.
4- فرم را تکمیل و ارسال میکند.
5-پیغام موفقیت آمیز درج نوع کالای جدید نمایش داده میشود.


*نام: ثبت فاکتور خرید*
حوزه: سیستم انبارداری سوپر مارکت
User goalسطح: 
: انباردارPrimary actor
:Main scenario
1-انباردار وارد سیستم میشود.
2- درخواست ثبت فاکتور خرید را دارد.
3- فرم ورود اطلاعات نمایش داده میشود.
4- فرم را تکمیل و ارسال میکند.


*نام: گزارش فروش*
حوزه: سیستم انبارداری سوپر مارکت
User goalسطح: 
: -Primary actor
:Main scenario
1-کاربر وارد سیستم میشود.
2- درخواست گزارش فروش را دارد.
3- فرم ورود اطلاعات تاریخ مورد نظر نمایش داده میشود.
4- فرم را تکمیل و ارسال میکند.
5- گزارش فروش سوپر مارکت براساس تاریخ مورد نظر نمایش داده میشود.
Extension: 
4-1- تاریخ را اشتباه وارد میکند.
     4-1-1- پیغام خطا در درج تاریخ نمایش داده میشود.
     4-1-2- تکرار گام3.

----------


## masoud_z_65

راستی 1 سوال: در قسمت  primary actor بعضی مواقع مثل use case لیست خریدها  پیش میاد که 2تا یا بیشتر actor داریم(انباردار و مدیر سیستم)
میخواستم ببینم اصلا همچین چیزی میشه؟؟
بخاطر همین که نمیدونستم جاهاشون رو خالی گذاشتم!

----------


## masoud_z_65

نمیدونم چرا توی این تاپیک فقط باید خودم تنها بنویسم
مثلا اینجا رو راه انداختم که همه بهم کمک کنن!!!!!

----------


## z_bluestar

سلام دوست عزيز 
من تحليل پرو‍ه تو خوندم .
به نظر من اگه مي خواي يه چيز جامع در بياري يه چيزايي كم داره 
مثلا من تو شرح سيستمت چيزي از كالاهاي مرجوعي نديدم .

همون طور كه مي دوني كالاهاي مر جوعي كالاهايي هستند كه غير قابل فروش هستند و بايد از موجودي كسر شوند .
مثل كالاهايي كه تاريخ انقضا آنها گذشته است

بعد تو Database هم جاي كار زيادي داره 
اولا كه كالاها براي ثبت و ويرايش راحتتر بايد دسته بندي بشن
گروه اصلي (لبنيات _ شوينده _ تنقلات و ......)
گروه فرعي مثلا براي لبنيات (ماست _ كره _ خامه و .....)

دوما براي كاربران سيستم كه از يك نوع موجوديت هستند لازم نيست دو تا جدول مجزا بذاري



> جدول فروشنده (کد{autoincrement}-نام-نام خانوادگی-رمز عبور-حقوق)
> جدول انباردار (کد{autoincrement}-نام-نام خانوادگی-رمز عبور-حقوق)
> جدول مسئول سوپر مارکت (کد{autoincrement}د-نام-نام خانوادگی-رمز عبور-حقوق)


همه كاربران در يك جدول قرار بده و فقط يك فيلد نوع براشون قرار بده
جدول كاربران (كدكاربر- نام - نام خانوادگي - رمز عبور - نوع كاربر )
بعد حقوق كارمندان بايد تو بخش مالي و در جدول مرتبط با اون آورده شود .

در مورد سيستم فاكتور بايد دو تا جدول باشه 
جدول فاكتور اصلي (كد فاكتور - تاريخ - كد كاربر - مبلغ - تخفيف )
جدول فاكتور فرعي(كد فاكتور - رديف - كد كالا - تعداد )

اگه بخوام بگم كارهاي زيادي هست كه بايد انجام بدي
DataBase كه طراحي كرد اصلا مسائل نرمال سازي رو رعايت نكرده .

----------


## masoud_z_65

> سلام دوست عزيز 
> من تحليل پرو‍ه تو خوندم .
> به نظر من اگه مي خواي يه چيز جامع در بياري يه چيزايي كم داره 
> مثلا من تو شرح سيستمت چيزي از كالاهاي مرجوعي نديدم .
> 
> همون طور كه مي دوني كالاهاي مر جوعي كالاهايي هستند كه غير قابل فروش هستند و بايد از موجودي كسر شوند .
> مثل كالاهايي كه تاريخ انقضا آنها گذشته است


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




> بعد تو Database هم جاي كار زيادي داره 
> اولا كه كالاها براي ثبت و ويرايش راحتتر بايد دسته بندي بشن
> گروه اصلي (لبنيات _ شوينده _ تنقلات و ......)
> گروه فرعي مثلا براي لبنيات (ماست _ كره _ خامه و .....)
> 
> دوما براي كاربران سيستم كه از يك نوع موجوديت هستند لازم نيست دو تا جدول مجزا بذاري
> 
> 
> همه كاربران در يك جدول قرار بده و فقط يك فيلد نوع براشون قرار بده
> ...


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

----------


## masoud_z_65

> بعد تو Database هم جاي كار زيادي داره 
> اولا كه كالاها براي ثبت و ويرايش راحتتر بايد دسته بندي بشن
> گروه اصلي (لبنيات _ شوينده _ تنقلات و ......)
> گروه فرعي مثلا براي لبنيات (ماست _ كره _ خامه و .....)


میشه این قسمت رو توضیح بدی؟
راستش خودم درجریان بودم اما چون قبلا فکرشو کرده بودم که نمیتونم پیاده سازیش کنم بیخیالش شده بودم....تو پیاده سازیش مشکل دارم
مثلا میخواستم 1combobox بزارم و کل کالاهای تعریف شده توش باشه که فروشنده بتونه از بین اونا کالاشو انتخاب کنه
میدونم واقعا افتضاحه :لبخند گشاده!:  :لبخند گشاده!:  
اگه تا ریزش توضیح بدی ممنون میشم
یعنی چطوری میشه؟؟چندتا جدول کالا میشه؟؟؟کالاهای اصلی  و کالاهی فرعی؟؟؟






> بعد حقوق كارمندان بايد تو بخش مالي و در جدول مرتبط با اون آورده شود .


یعنی بخاطر نرمالسازی اینو میگید؟؟

----------


## z_bluestar

بازم سلام  :لبخند: 
چه خوب بود همه دوستان كه تجربه دارند بذارند ما مبتدي ها هم از تجربه شون استفاده كنيم.
من چون قبلا اين پروژه رو انجام دادم مي تونم كمكت كنم وگرنه منم با تجربه نيستم.

در مورد فاكتور اگه شما بخواي هم كالاها و فاكتورها در Table ذخيره كني داده تكراري به وجود مي آيد.
(فاكتور1  _ 87/06/12  _  فروشنده 1 _ ماست چكيده پگاه _ 2 عدد _‌ 23000 ريال)
(فاكتور1  _ 87/06/12  _  فروشنده 1 _ ماكاروني مانا _  1 عدد _‌ 7500 ريال)
(فاكتور1  _ 87/06/12  _  فروشنده 1 _ آب معدني دماوند _ 6 عدد _‌ 18000 ريال)
تازه آدم سردگم مي شه كه اطلاعاتي مثل قيمت كل فاكتور -يا تخفيف و يا خيلي چيزاي ديگه رو كجا قرار بده و اگر تو همين جدول قرار بده بابت يك فاكتوردر هر سطر چقدر داده تكراري داريم!!! :متعجب: 

خوب بهتر دو تا جدول داشته باشيم يه جدول واسه اطلاعات كلي فاكتور
(فاكتور1  _ 87/06/12  _  فروشنده 1 _ قيمت كل 48500 ريال _ تخفيف 0 ريال )

و در جدول ديگه كالاهايي كه براي اين فاكتور هست را بياريم
(فاكتور1 _  رديف 1 _ ماست چكيده پگاه _ 2 عدد _‌ 23000 ريال)
(فاكتور1  _ رديف 2 _ ماكاروني مانا _  1 عدد _‌ 7500 ريال)
(فاكتور1  _ رديف 3  _   آب معدني دماوند _ 6 عدد _‌ 18000 ريال)
رديف شماره قرار گرفتن آنها تو فاكتور فروشه 

 :لبخند:

----------


## z_bluestar

خوب حالا براي ثبت كالا :

فرض كن مي خوان ماكاروني جديد كه اومده رو تو سيستم ثبت كنند
پيدا كردن ماكاروني از تو ليست يه كم وقت مي گيره . آخه يه سوپر ماركت كوچولو كم كم 3000 تا كالا داره .
خوب حالا اگه كالا ها رو دسته بندي كنند .
از ComboBox اول مثلا خواروبار رو انتخاب مي كني 
و از ComboBox دوم ماكاروني رو 
و فقط ليست ماكاروني ها نشان داده مي شه

بعدش اول بايد چك بشه كه اين كالا قبلا وجود داشته تو انبار يا نه ؟؟
اگه آره == پس اول بايد چك بشه كه قيمت اون تغيير نكرده ؟؟ اگه نه؟؟به موجوديش اضافه بشه 
اگه آره بايد كالا ويرايش بشه 
اگه نه== اگه كالا از قبل وجود نداشت بايد ثبت كالا جديد بشه

راستي الان يه چيز رو فراموش نكن كه همه سوپر ماركت ها از سيستم باركد استفاده ميكنند.
پس اين رو هم تو پروژه ات بگنجون

----------


## z_bluestar

در مورد نرمال سازي DataBase ها :
به طور كلي به چند تا موضوع اشاره داره
هر جدول بايد كليد داشته باشه
در هر جدول همه ستون ها بايد وابسته به كليد باشند .
در جدول ها نبايد داده تكراري داشته باشيم.
هر جدول بايد فقط يك موجوديت را توصيف كند و ...

بهتره در مورد نرمال سازي از روي يك كتاب بخوني كه مثال هم داشته باشه تا بهتر بفهمي

----------


## masoud_z_65

z_bluestar  واقعا ممنون
خوشحال میشم که در ادامه کار همینطور از مطالبت استفاده کنیم
نکته های جدیدی گرفتم
سعی میکنم با توجه به گفته هات تا چند روز دیگه هم use case رو اصلاح کنم هم database رو......امیدوارم شما هم اگه میتونی این کارو انجام بدی و ما استفاده کنیم.....
 :تشویق:

----------


## masoud_z_65

فقط در مورد بارکد:
با عرض معذرت میشه بیشتر توضیح بدی؟؟؟
فکر کنم باز توی پیاده سازیش مشکل داشته باشم!!!
یعنی باید با سخت افزار هم رابطه داشته باشه؟

----------


## z_bluestar

دستگاه هاي بار كد خوان چيز وحشتناكي به نظر مي يان ولي اونهايي كه باهاش كار كردن مي دونن بيشتر خنده دار تا وحشتناك (از نظر سادگي)

خوب شما اگه يه TextBox داشته باشي و Cursor اونجا باشه يعني Focus اونجا باشه و شما دستگاه رو روي باركد جنس بگيري ، بار كد كالا تو TextBox وارد مي شه مثل :9786009068050
اين مي تونه به عنوان باركد كالا در DataBase ذخيره بشه.

و اصلا نياز به حتي يه خط كد نويسي يا كار با سخت افزار نداره

دستگاه هنگام اتصال به Case توسط Win شناسايي مي شه و مي تونيد باهاش كار كنيد

در نبود دستگاه مي توني باركد به صورت دستي وارد كني . چون به صورت عددم زير باركد ، كدش نوشته شده.

----------


## masoud_z_65

tanx
خیلی هم وحشتناک نبود :لبخند گشاده!: 
ok
پس در جدول کالاهای فرعی فیلد بارکد هم اضافه میشه

----------


## z_bluestar

آره بار كد هم مي تونه به عنوان كد كالا تو جدول بياد و يه فيلد جداگانه به نام باركد كالا

----------


## masoud_z_65

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

----------


## masoud_z_65

باز هم سلام
واقعا چقدر همکاری.......!!!!!!!!!!!!!!!
خب اصلاح شده use case ها و data base رو ضمیمه کردم
ممنون میشم باز هم همکاری کنید
اگر نکته ای اشکالی چیزی هست بفرمایید
من که دیگه چیزی به ذهنم نرسید

----------


## Mr_Mahmoud

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

----------


## z_bluestar

> باز هم سلام
> واقعا چقدر همکاری.......!!!!!!!!!!!!!!!


فكر كنم دوستمون از اين همه همكاري و توجه ؟؟؟ خسته شدن .

----------


## masoud_z_65

> سلام
> چرا این بحث رو ادامه نمیدین؟من امروز این تاپیک رو دیدم خیلی مفیده .دوستان اگه امکانش هست بحث رو ادامه بدین


خوشحال میشیم شما هم همکاری کنید
آخه نظری حرفی چیزی......

----------


## masoud_z_65

> فكر كنم دوستمون از اين همه همكاري و توجه ؟؟؟ خسته شدن .


blue star عزیز دقیقا زدی به هدف :لبخند گشاده!: 

ایشالا حتما ادامه میدم بشرطی که بقیه هم کمکم کنن

----------


## Mr_Mahmoud

ببین دوست عزیز اگه جایی برسه که ما هم بتونیم تو بحث شرکت کنیم, حتما این کار رو میکنیم
ممنون

----------


## alimomen54

سلام
با تشکر از بحثی که شروع شده!
در این تحلیل دوستان چگونه بدون طراحی نمودارهای تعاملی و نمدار کلاس به بانک اطلاعاتی رسیدن و در مورد اون بحث می کنند؟
تا اونجائی کهمعلومات ناقص من میگه، باید بعد طراحی نمدارهای فوق و بر اساس کلاسهای Entity به نمودار Data Model رسید و از روی این نمودار آخری ساختار بانک طالاعاتی رو بدست آورد.
اگه مطلب رو اشتباهی فهمیدم دوستان بنده رو هم راهنمائی کنند.

----------


## masoud_z_65

شرمنده که چند وقت نبودم

EDR پروژرو میزارم

خوشحال میشم کمک کنید و تو بحث شرکت کنید:

----------


## z_bluestar

ميشه يه توضيحي در مورد اين Table ها بدي؟؟ 

راستي طبق قانون 3 نرمال سازي وقتي دادهاي قابل محاسبه هست نبايد در جدول نگهداري شود .
مثل قيمت ها در فاكتور ، چون از قيمت كـالا و تعداد به راحتي قابل محاسبه هستند.

----------


## pourang_us

دوست عزیز 
درود
من طراحی بانکت رو دیدم اما چند تا نکته به نظرم رسید اول از همه این که نام جداول و فیلدهایی رو که انتخاب میکنی متناسب انتخاب کن مثلا برای جداول فاکتور 
InvoiceHdr
InvoiceItmو ضمن اینکه همیشه چه برای کالا و چه برای کاربران یک فیلد بذار که توسط اون بتونی اونها رو فعال یا غیز فعال کنی و شرط نمایش رو برای کالاهایی بذاری که فعال هستند.

برداشت من از طراحی بانک شما همین قدر بود و همین نکات به ذهن من رسید.
البته در مورد دسترسی کاربران به نرم افزار هم توصیه میکنم دسترسی ها رو تک به تک قابل اعطا باشند و نه گروهی.

موفق باشید

----------


## masoud_z_65

> ميشه يه توضيحي در مورد اين Table ها بدي؟؟ 
> 
> راستي طبق قانون 3 نرمال سازي وقتي دادهاي قابل محاسبه هست نبايد در جدول نگهداري شود .
> مثل قيمت ها در فاكتور ، چون از قيمت كـالا و تعداد به راحتي قابل محاسبه هستند.


حرفتون درسته اما چون از قیمت کل برای گزارشا میخواستم استفاده کنم گفتم 1 فیلد براش بگیرم تا جاهایی که میخوام از select های تودر تو استفاده کنم هر بار لازم نباشه محاسات انجام بشه

----------


## masoud_z_65

> من طراحی بانکت رو دیدم اما چند تا نکته به نظرم رسید اول از همه این که نام جداول و فیلدهایی رو که انتخاب میکنی متناسب انتخاب کن مثلا برای جداول فاکتور 
> 
> InvoiceHdr
> InvoiceItm
> و ضمن اینکه همیشه چه برای کالا و چه برای کاربران یک فیلد بذار که توسط اون بتونی اونها رو فعال یا غیز فعال کنی و شرط نمایش رو برای کالاهایی بذاری که فعال هستند.


خیلی ممنون...هردو پیشنهادتون منطقی بود...ایشالا بعد از امتحانای این ترم میخوام این پروژرو کامل کنم....حتما استفاده میکنم...مرسی



> برداشت من از طراحی بانک شما همین قدر بود و همین نکات به ذهن من رسید.


نکات مفیدی بود...به ذهن خودم نرسیده بود



> البته در مورد دسترسی کاربران به نرم افزار هم توصیه میکنم دسترسی ها رو تک به تک قابل اعطا باشند و نه گروهی.


در مورد این پروژه مشخصا همچین کاری رو نمیخواستم و لازم نداشتم
اما این رو هم برا آینده باید روش فکر کنم
میشه ایم مورد رو بیشتر با جزییات توضیح بدی؟

----------


## pourang_us

دوست عزیز
دورد
برای دسترسی به آیتمهای مهم در هر نرم افزار شما میتونی حق دسترسی جداگانه ای تعریف کنی و اون رو به تک تک کاربر ها بتونی اعطا کنی یا از اونها بگیری
این در آینده نظر کاربر هات رو میتونه به خوبی جلب کنه ضمن اینکه از دسترسی بیمورد افراد به آیتم های اضافه هم جلوگیری میکنه


موفق باشی

----------


## masoud_z_65

درورد
اما دوست من منظورم این بود که توی پیاده سازیش توضیح بدی
اینو که موقع ثبت کاربر با تیک بتونم دسترسی هاشو تعیین کنم میدونستم
منظورم اینه که در جزییات پیاده سازیش 1 خرده توضیح بدی

باید توی پایگاه دادم تغسسری ایجاد کنم؟

----------


## z_bluestar

اول شمــا باید تصمیم بگیری که بر اساس Role  به کاربران می خوای دسترسی بدی یا اینکه برای هر کــاربر می خواهید دسترسی را مجزا تعریف کنید ؟؟؟
اگر بر اساس کـاربران باشه :

یه Table برای Permission ها در نظر بگیرید بعد Permission های رو تعریف کنید .
PermissionID-------------Permission Title -----------Permission Desc
      1 ---------------------Setup From -----------  فرم تنظیمات برنامه
مثلا Permission ها رو می تونید فرم های بر نامه تون در نظر بگیرید .

یه Table واسط هم بین Table کاربران و Permission ها در نظر بگیرید که بتونید در آن تعیین کنید هر کاربر به چه Permission هایی دسترسی داشته باشد .
UserID   PermissionID
----12 -----------1----
----12 -----------2----
d

در برنامه هم موقع Page_Load بیایید بررسی کنید آیا این کـاربر حق دسترسی به این فرم را دارد یا نه ؟؟

----------


## masoud_z_65

ممنون

فکر کنم 1چیزایی گرفتم.....ایشالا خواستم تغییرش بدم سوالی پیش بیاد حتما مزاحم میشم :کف کرده!:

----------


## saam_sum

با سلام 
وقتی پروژت تموم شد با class ها هم پیاده سازی کنید حرفه ای تره. یعنی چند وقت دیگه که سورستو نیگا می کنی خیلی برات واضحتره.
من فایل دیتابیستو دیدم چند تا پیشنهاد دارم :
1- جدولی رو بذار برای گروهبندی کالاهات (کد گروه کالا- نام گروه کالا)"مثل گروه لبنیات، گروه خشکبار، گروه ترشیجات..."
2-جدولی رو بذار برای نوع کالاهات "مثلا شیر و ماست و پنیر از نوع لبنیات هستند ولی ممکنه چند جور شیر داشته باشید یا چند جور ماست داشته باشید نوع کالا ماست در این جدول است و سایر مشخصات در جدول کالاهاست  مثل ماست پرچرب که پرچربش در جدول زیر قرار میگیرد."(کد نوع کالا- نام نوع کالا)
2-جدولی رو بذار فقط برای تعریف کالاهات(کدکالا-کد نوع کالا-نام کالا-نام واحد کالا-تعداد در هر واحدکالا- کد گروه کالا-بارکد کالا)
2-جدول مجزایی برای تعریف قیمت کالاهات تعریف کن.(کدکالا- قیمت خریدکالا-قیمت فروش- کدکاربر)
3-جدولی رو بذار برای وارد کردن موجودی کالاهات(کدکالا - موجودی)


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

----------


## saam_sum

...ادامه:
با این پیشنهاد جدول فاکتور به این شکل تعریف میشه:
1-نوع فاکتور (کدنوع فاکتور-نام نوع فاکتور) (منظور این فاکتور، فاکتور فروشه یا فاکتور خرید-2 رکورد بیشتر نداره)
2-فاکتورها(کد فاکتور- کد نوع فاکتور-تاریخ فاکتور-کد فروشنده) (اگر فاکتور، فاکتور خرید باشد کد فروشنده از فرم شما مقدار میگیرد اگر فاکتور فروش باشد مقدار تهی میتونی بدی.)
3-اقلام فاکتور(کد فاکتور-کد کالا-تعداد)


خیلی گوشت تلخ شد !نه؟؟؟

----------


## sari-1369

سلام دوستان ، من دارم رو به نرم افزار انبار و فروشگاه کار میکنم . یه چند تا سوال دارم . لطفا راهنماییم کنین .

1- توی دیتابیس بعضی از این سیستم ها ، توی جدول کالا یه فیلد با نام Sefaresh دیدم ، کلا میخوام بدونم منظور از این فیلد چیه ؟ کلا برای چی استفاده میشه ؟

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

3- فاکتوری که صادر میشه کاربر باید بتونه اونو ویرایش کنه ؟

4- کاربر میتونه اجازه داشته باشه بیشتر از تعداد موجود در انبار یه کالا رو بفروشه ؟

5- کالا های مرجوعی چی هستن ؟ ما چه کارایی باید باهاشون انجام بدیم ؟

6- نیازه برای کالا ها تاریخ انقضا هم بزاریم ؟

7- توی این سیستم چند نوع کاربر داریم ؟  هرکدو با چه سطح دسترسی ؟ 


هر کدومو که جوابشو میدونین راهنمایی کنین .

(پیشاپیش ممنون )

----------


## Dr.Bronx

> سلام دوستان ، من دارم رو به نرم افزار انبار و فروشگاه کار میکنم . یه چند تا سوال دارم . لطفا راهنماییم کنین .
> 
> 1- توی دیتابیس بعضی از این سیستم ها ، توی جدول کالا یه فیلد با نام Sefaresh دیدم ، کلا میخوام بدونم منظور از این فیلد چیه ؟ کلا برای چی استفاده میشه ؟
> 
> 2- فرض کنید کاربر توی نرم افزار یه سری گروه تعریف میکنیه و هر کالا رو به یک کدوم از این گروه ها اختصاص میده ( مثلا پنیر به گروه لبنیات ) حالا اگر یه وقتی خواست گروه لبنیات رو خذف کنه ، ما بهش اجازه حذف ندیم یا اینکه فقط بهش یه پیغام بدیم که کالاهایی تو این گروه وجود دارند و اگه تایید کرد اون گروه + همه کالا های زیر گروهشو حذف کنیم ؟
> 
> 3- فاکتوری که صادر میشه کاربر باید بتونه اونو ویرایش کنه ؟
> 
> 4- کاربر میتونه اجازه داشته باشه بیشتر از تعداد موجود در انبار یه کالا رو بفروشه ؟
> ...


1- مربوط به پیش فاکتور میشه.

2- پیغام مناسب رو باید بدید و اجازه حذف ندید : ( این کد به علت داشتن زیر گروه قابل حذف نیست )

3- بله 

4- خیر . باید پیغام مناسب رو بدید ( مقادیر درخواستی از مقادیر موجود در انبار بیشتر است)

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

6- 100% - بعد شما می تونید توی هر بار ورود به برنامه تعیین کنید چک کنه سیستم اگر کالایی مثلا 2 روز مونده بود به تاریخ انقضاء اون پیغام بده.

7- بر خلاف نظر بعضی از دوستان این مبحث خیلی پیچیده تر از این حرفاست . باید مبحث جداگانه ای برای این موضوع در نظر گرفته بشه تا کاملا بررسی بشه و نقاط ضعف و قوت اون رو بررسی کنیم .

باز هم اگر نیاز به توضیح بیشتر در مورد هر بخش داشتید بنده در خدمتم.

موفق باشید ./

----------


## sari-1369

با تشکر از راهنماییت دوست عزیز :





> 1- مربوط به پیش فاکتور میشه.


من منظورتونو متوجه نشدم ، میشه یکم بیشتر در مورد سوال 1 توضیح بدین ؟

----------


## Dr.Bronx

خواهش می کنم؛

پیش فاکتور : ببینید مثلا شما هر روز شیر میاد برای شما خوب .
من یک روز قبل تر میام می گم آقا من برای فردا 20 تا شیر می خوام
خوب حالا شما که نه از من پولی گرفتید نه به من رسیدی دادید
اگر هم فاکتور بزنید که اون وقت حساب صندوق شما به هم میریزه
چون یک جنسی رو فروختید ولی پولی رو نگرفتید
تا اینجا درست ؟

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

البته ؛ شما باید یک قابلیتی رو بزارید که زمانی که پیش فاکتور باز میشه بتونید مستقیم از پیش فاکتور به فاکتور اصلی تبدیل کنید . و اینکه پیش فاکتور ها اعلام بشن . مثلا اگر یک نفر در تاریخ 88/10/15 پیش فاکتور می زنه برای 88/10/17 . زمانی که می خواد وارد برنامه بشه اعلام کنین که پیش فاکتور شماره .... و .... برای امروز صادر شده است.

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

موفق و موید باشید ./

----------


## masoud_z_65

> با سلام 
> وقتی پروژت تموم شد با class ها هم پیاده سازی کنید حرفه ای تره. یعنی چند وقت دیگه که سورستو نیگا می کنی خیلی برات واضحتره.
> من فایل دیتابیستو دیدم چند تا پیشنهاد دارم :
> 1- جدولی رو بذار برای گروهبندی کالاهات (کد گروه کالا- نام گروه کالا)"مثل گروه لبنیات، گروه خشکبار، گروه ترشیجات..."
> 2-جدولی رو بذار برای نوع کالاهات "مثلا شیر و ماست و پنیر از نوع لبنیات هستند ولی ممکنه چند جور شیر داشته باشید یا چند جور ماست داشته باشید نوع کالا ماست در این جدول است و سایر مشخصات در جدول کالاهاست  مثل ماست پرچرب که پرچربش در جدول زیر قرار میگیرد."(کد نوع کالا- نام نوع کالا)
> 2-جدولی رو بذار فقط برای تعریف کالاهات(کدکالا-کد نوع کالا-نام کالا-نام واحد کالا-تعداد در هر واحدکالا- کد گروه کالا-بارکد کالا)
> 2-جدول مجزایی برای تعریف قیمت کالاهات تعریف کن.(کدکالا- قیمت خریدکالا-قیمت فروش- کدکاربر)
> 3-جدولی رو بذار برای وارد کردن موجودی کالاهات(کدکالا - موجودی)
> 
> ...


از پیشنهادات ممنون
خب با کلاس خیلی وارد نیستم
خوشحال میشم کمک کنی
در آینده کدهای برنامرو میزارم خوشحال میشم برا نمونه کلاس رو با مثال رو برنامه توضیح بدی

در مورد پیشنهاد 1کاملا موافقم و ایراد بزرگ تحلیلی که کرده بودم همین بود که یکی از بچه ها تو پست های قبل گفته بود

اما بقیه موارد رو بنظرم درست نمیاد چون زیاد در نرمال سازی ناثیری نداره!

----------


## masoud_z_65

> با تشکر از راهنماییت دوست عزیز :
> 
> 
> 
> 
> من منظورتونو متوجه نشدم ، میشه یکم بیشتر در مورد سوال 1 توضیح بدین ؟


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

----------


## masoud_z_65

> خواهش می کنم؛
> 
> پیش فاکتور : ببینید مثلا شما هر روز شیر میاد برای شما خوب .
> من یک روز قبل تر میام می گم آقا من برای فردا 20 تا شیر می خوام
> خوب حالا شما که نه از من پولی گرفتید نه به من رسیدی دادید
> اگر هم فاکتور بزنید که اون وقت حساب صندوق شما به هم میریزه
> چون یک جنسی رو فروختید ولی پولی رو نگرفتید
> تا اینجا درست ؟
> 
> ...


دوست عزیز میتوینم همونطور که بالا توضیح دادم اقدام کنیم
یعنی اگر دیدیم شیر داره تموم میشه و مشتری هم داره سفارش بدیم برای مسو.ل خرید
فکر نکنم لازم باشه انقدر پیچیدش کنیم

----------


## مرتضی پیروزی

سلام دوست منچند تا نکته رو میخوام بهت بگم.
ببین دوست من یه جمع بندی کلی اگه بکنیم میبینیم که شما فقط به فکر برنامه نویسی این
پروژه هستی و هر کسی هم که نظر داد تقریبا روی برنامه نویسی تاکید کرد ولی به نظر شما
آیا یه پروژه حسابداری فقط برنامه نویسیه؟
ببین دوست من شما واقعا به فکر این هستی که پروژت عملی باشه؟؟؟
من خودم رشته تحصیلیم مرتبط با حسابداری هستش رو این حساب چند تا ازت سوال میکنم
که اتفاقات واقعی در بازار هستش که ببینی واقعا فکر همه جا رو کردی یا نه.
شما میری 3000000تومن جنس میخری با شرط ن/50-3/10 و شما پول رو در مدت 5 روز پرداختمیکنی و همچنین 200000 تومن از جنس رو به هر علتی مرجوع میکنی چطوری میخوای اینو ثبت کنی؟؟؟؟بعد از دو ماه میبینی حسابات تراز نیست و 300000 هزار تومن کسری داری چطور میخوای
علت کسری رو پیدا کنی؟؟؟؟ به نظرت باید چندین هزار کالاو حساب رو تک تک بگردی و با ماشینحساب جمع بزنی؟؟؟؟
مفقودی کالا رو تو چه حسابی میخوای ثبت کنی؟؟؟فکرشو کردی؟؟؟
برگشت از فروش رو تو چه حسابی میخوای ثبت کنی؟؟؟
یه سری ماست خریدی و تو مغازه موند و کسی نخرید و فاسد شد اینارو چطور میخوای ثبت کنی؟؟؟می خوای یه
بخش جدا واسه فساد درست کنی؟؟؟
دوست عزیزی فرمودند که اگه یه نفر اومد گفت من فردا شیر میخوام واسش پیش فاکتور میزنی, باید
عرض کنم اگه پول گرفتی که باید ثبت کنی و اگر نگرفتی و همینجوری با زبون بهش قول دادی
نیاز به پیش فاکتور نیست چون از نظر حسابداری تا وقتی فروش صورت نگرفته هیچ گونه ثبتی زده نمیشه.
شما یه دفعه تصمیم گرفتی تمام فروش رو تا امروز حساب کنی که ببینی موجودی اول دوره چقدر بوده موجودی طی دوره چقدر بوده چقدر سود کردی چقدر زیان کردی و .... میخوای چیکار کنی؟؟؟
شما یه وانت جنس خریدی آیا برای هزینه حمل و نقل اون فکری کردی؟؟؟ کجا میخوای ثبت کنی؟؟؟
شما قابلیت اصلاح حساب هارو تا چه اندازه مشخص کردی؟؟؟چون اگه بشه راحت حساب هارو
دست کاری کرد باید خدمتت عارض بشم که چنان اختلاسی تو دارائی ها میکنن که هیچ احدی نفهمه!!!
آیا واسش فکری کردی؟؟؟
و سوالای خیلی زیادی که باید در موردش فکر کنی.
چون دوست من اگه نرم افزارت خیلی ساده و غیر کارامد باشه باور کن 2000 تومن هم نمیخرند.
شما که میخوای کاربر تعریف کنی یعنی چی؟؟؟یعنی فروشگاه بزرگه و یه فرشگاه بزرگ هم امکانات
زیادی میخواد.باید نرم افزارت با اصول حسابداری و انبار داری و .... هماهنگ باشه
موفق باشی

----------


## Dr.Bronx

> سلام دوست منچند تا نکته رو میخوام بهت بگم.
> ببین دوست من یه جمع بندی کلی اگه بکنیم میبینیم که شما فقط به فکر برنامه نویسی این
> پروژه هستی و هر کسی هم که نظر داد تقریبا روی برنامه نویسی تاکید کرد ولی به نظر شما
> آیا یه پروژه حسابداری فقط برنامه نویسیه؟
> ببین دوست من شما واقعا به فکر این هستی که پروژت عملی باشه؟؟؟
> من خودم رشته تحصیلیم مرتبط با حسابداری هستش رو این حساب چند تا ازت سوال میکنم
> که اتفاقات واقعی در بازار هستش که ببینی واقعا فکر همه جا رو کردی یا نه.
> شما میری 3000000تومن جنس میخری با شرط ن/50-3/10 و شما پول رو در مدت 5 روز پرداختمیکنی و همچنین 200000 تومن از جنس رو به هر علتی مرجوع میکنی چطوری میخوای اینو ثبت کنی؟؟؟؟بعد از دو ماه میبینی حسابات تراز نیست و 300000 هزار تومن کسری داری چطور میخوای
> علت کسری رو پیدا کنی؟؟؟؟ به نظرت باید چندین هزار کالاو حساب رو تک تک بگردی و با ماشینحساب جمع بزنی؟؟؟؟
> ...


خوب پس میشه نقش پیش فاکتور رو در اسناد حسابداری به عنوان یک حسابدار برای من شرح بدید . موفق باشید ./

----------


## مرتضی پیروزی

سلام دوست من 
ببین شما تا حدودی دیدت به پیش فاکتور درست بوده ولی دلایل صدور پیش فاکتور فرق میکنه مثلا یه فروشگاه کوچیک قد و قوارش به این کارا نمیخوره اگر هم میبینی واسه هر کاری یه پیش فاکتور صادر میکنه میشه گفت واسه کلاس گذاشتنه.تو فروشگاه بزرگ سوپر مارکت هم که واسه مردم پیش فاکتور صادر نمیکنن.حالا اصول صدور پیش فاکتور چیه؟؟؟ تو ساده ترین حالت فرض کن شما میخوای یه کامپیوتر بخری میری چند تا مغازه قیمتم بگیری یکی میگه 900 تومن یکی میگه 850 یکی دیگه میگه 800 بعد شما میگی پس لطف کن یه پیش فاکتور به من بده.چرا؟؟چون هم مطمئن بشی که طرف بهت 800 میده و هم بری به فروشنده های دیگه این پیش فاکتور رو نشون بدی تا شاید طرف برای اینکه بتونه خودش جنس رو بهت بفروشه قیمت رومثلا بگه 750 تومن.یا مثلا شما میخوای بری وام خودرو بگیری نه پولی دادی نه جنسی گرفتی میری یه پیش فاکتور میگیری که بیافتی دنبال کارای وام.یا یه مثال دیگه:یکی از دوستای خودم بازار یاب بود, شرکت واسه اینکه بفهمه آیا این آقا درست کار میکنه یا نه بهش میگفت هر ویزیتی که انجام دادی یه پیش فاکتور صادر کن که هم طرف راغب به خرید بشه و هم بفهمن دوست من چقدر فعالیت داره.در اغلب موارد پیش فاکتور تو شرکت های بازرگانی استفاده میشه.یعنی کلی بخوام بگم یه سوپر مارکت اصولا گیرنده پیش فاکتوره نه صادر کننده.الان شما برو یه سوپر مارکت بگو من فردا 10 تا نوشابه میخوام, بهت میگن خوب برو فردا بیا!!!یه نکته دیگه, من خودم هر شرکت بزرگی رو دیدم که پیش فاکتور صادر میکنه به صورت دستی و مکتوب این کارو میکنه و نرم افزاری چندان اهمیتی واسشون نداره.راستی یه نکته دیگه هم بگم, از نظر قانون اطلاعات نرم افزاری در حسابداری فاقد هرگونه اعتباری هستش.
موفق باشی

----------


## masoud_z_65

مرتضی دوست عزیز باهات کاملا موافقم

اما من که گفته بودم این اولین پروژه عملی هست که انجام دادم
درضمن این تاپیک متعلق به من نیست متعلق به همست.....پس هرکسی که اومده و پست زده در آموزش دیگران سهیم بوده پس خیلی از کارای من اشتباه بوده و بچه های دیگه امدن و راه حل دادن مثل شما

و 1÷ نکته دیگه اینکه من پروژم در همون حدی که شما گفتین ساده بود اما چون بچه های دیگه اومدن و تکمیلش کردن تقریبا کم کم داره ایده های بهتر و کاملتری مطرح میشه پس زیاد به من خرده نگیرین شما ایده هاتون رو بنویسید و بقیه استفاده میکنن

در مورد 1 سوپرمارکت بزرگ تمام حرفای شما صحیحه

----------


## nima_jafari

سلام به دوستان عزیز 

اگر اینجا را کلیک کنید، چند مورد پروژه انجام شده با روش UML موجود است که می تواند برای پیشبرد کارتون کمک کنه. در این پروژه ها مراحل کامل انجام پروژه همراه با داکیومنت و تمام نمودارهای UML مورد بحث قرار گرفته است.

----------


## Ali.ahk

سلام دوستان
خیلی تاپیک مفیدی بود ، دستتون درد نکنه.
در مورد بحثی که خانم z_blustar در رابطه با دستگاه بارکد خوان کردن،  میتونید راهنمایی کنید که چجوری بارکد را کنترل کنم. مثلا میخوام در تکست  باکس 1 که هستم اگه بارکد چیزی خوند در تکست باکس 5 قراره بگیرد نه در تکست  باکس فعال.
تشکر

----------


## mahdi.violin

مرسی . عالی بود. فقط اگر نموداز Usecase ها رو کشیدید بزارید برای دانلود که بتونیم برای پروژه خودمون ایده بگیریم

----------

