PDA

View Full Version : سوال: مشکل در تحلیل سیستم فروشگاه



vahidth
شنبه 21 بهمن 1391, 10:24 صبح
سلام دوستان
من با تحلیل بانک یه مقدار مشکل دارم مبتدی هستم یه برنامه میخوام بسازم برای فروشگاه خواربار فروشی
99800
میشه بگین این تحلیل چه مشکلاتی رو داره و چطوری برای جداول رابطه ایجاد کنیم اصلا رابطه به چه دردی میخوره؟
اگه باعکس باشه خیلی خوب میشه

saeed410
شنبه 21 بهمن 1391, 11:38 صبح
سلام. من چندتا پیشنهاد دارم:
1- برای کالاها میتونی یک جدول جدا بسازی و فقط عنوان کالا، گروه کالا(اگه باشه میتونی یک جدول هم برای گروه ها ایجاد کنی)، شرکت سازنده و ....
2- برای موجودی جدول جدا میسازی چون در خریدهای متفاوت قیمت کالاها متفاوت است.بنابراین تو این جدول میتونی کد کالا، قیمت خرید ،تعداد واحد و .... رو قرار بدی
3- برای فاکتور فروش میتونی 2 جدول ایجاد کنی. شکل فیزیکی فاکتور رو اگه دقت کرده باشی دارای یک سربرگ و یک ته برگ است. و همچنین دارای اقلام فروخته شده و .... یک جدول برای مشخصات فاکتور شامل ؛ شماه فاکتور، خریدار ، تاریخ، روش خریداری (نسیه ، نقد، قسطی ، نسیه مشروط و...) ، جمع فروش و...و یک جدول هم باید برای اقلام فروخته شده ، کد کالا، قیمت فروش و....وقتی هم که دارای فاکتور فروش رو ثبت میکنی باید از موجودی کم کنی.
تحلیلش یکم سخته ولی اگه بخوایی دچار مشکلات نشی باید بیشتر رو تحلیل کار کنی.
در مورد ارتباط باید بگم طریقه ارتباط فاکتور فروش با جزئیاتش از طریق شناسه فاکتوره .و مباحث مرتبط. قبل از هرچیز پیشنهاد می کنم شما اول یک مطالعه ایی در باره مدل ER داشته باشی. و یکم در مورد پایگاه داده مطالعه کنی.
موفق باشی.

vahidth
شنبه 21 بهمن 1391, 11:54 صبح
ممنون ازت داداش مطالعه کردم ولی مشکلم برطرف نشد
مشکلم اینجاست که نمیدونم چطوری ارتباط هاشو بدم
مثلا فرض کن یک شخصی با کد103 امروز خرید کرد و فردای همون روز هم بازم یه خرید دیگه داشت حالا چطوری میتونم کل خرید هاشو لیست کنم و در دیتا گرید نشون بدم مثلا
کد: 103 محمد محمدی ماست , پنیر 100000 1391/02/01
کد: 103 محمد محمدی کره , شیر 100000 1391/02/07
کد: 103 محمد محمدی دوغ , نوشابه 100000 1391/02/09
نمیدونم چطوری ارتباط هاشو درست کنم

saeed410
شنبه 21 بهمن 1391, 12:27 عصر
شما این دوتا جدول رو داری:
جدول اشخاص(person): شناسنه، نام ، آدرس ، و....
جدول فروش(Sales): شناسه شخص(PID)، شناسه کالا، و....
اول از همه یک Combobox ایجاد میکنی که نام شخص رو نشون بده و شناسه شخص رو برگردونه.
دوم یک Datatable ایجاد میکنی که میتونی از دستور زیر برای فیلتر کردن خریدها بر اساس شناسه مشتری استفاده کنی

Select * from Sales where PID=combobox1.selectedvalue
در مرحله سوم دیتاسورس دیتاگردویو را برابر با Datatable قرار میدی.

vahidth
شنبه 21 بهمن 1391, 13:01 عصر
این مثال رو ببین داداش
به این صورت تعریف میکنم که یک جدول برای افرادی که کالاهای نسیه بردن تعریف میکنم که فیلدهاش اینا میشن(کد شخص، نام و نام خانوادگی )
و یه جدول دیگه بنام فروش دارم که فیلدهای اون (کد کالا ، نام کالا ، تعداد ، تاریخ خرید ، قیمت ، کد شخص ) هستش
باید جدول نسیه رو با جدول فروش ارتباط بدم (جدول نسیه = کد شخص + جدول فروش = کد کالا)
حالا کدش رو چطوری در سی شارپ تعریف کنم
من محیط دیزاین در سی شارپ هست
99813
99812
حالا چطوری باید فیلد کد شخص رو تعریف کنم که در فرم دوم بیاد

rayson
شنبه 21 بهمن 1391, 13:25 عصر
سلام ٰ، اگر درست متوجه منظور شما شده باشم .
شما قصد دارید اطلاعاعات 2 جدول رو درون یک دیتا گرید ویو نمایش بدید.
شما اگر جدول جداگانه برای نسیه ها دارید چرا این 2 جدول را یکی نمیکنید.
شما میتونید از Tab Control به جای چند فرم استفاده کنید.
یک روش هست که میتونید درون برنامه استفاده کنید ، شما کد و نام خانوادگی درون یک متغییر عمومی ذخیره کنید و در تب کالا اون متغییرها را همراه با بقیه مقادیر درون دیتا بیس درج کنید. با این روش از یک دیتا بیس استفاده کردید اما یک مشکل داره : که حتما باید ابتدا اطلاعات کد و نام خانوادگی ثبت بشوند بعد به تب دوم بروید .

saeed410
شنبه 21 بهمن 1391, 13:36 عصر
در تصویر دوم روبروی کد شخص نباید textBox قرار بدی.یک ComboBox قرار بده و به جدول اشخاص وصلش کن. Display Member مربوط به کمبو رو بزار اسم شخص. و value member رو بزار کد شخص.
در ضمن در شکل یک وقتی نام شخص رو میگیری نیازی نیست کد شخص رو هم خودت وارد کنی. اگه از دیتابیس اکسس استفاده میکنی کد شخص رو auto number بزار و اگه از SQL استفاده میکنی به قسمت طراحی جدول برو. رو فیلد کد شخص کلید کن. در قسمت مشخصاتش Identity Specificatoin رو برابر با Yes قرار بده. دیگه وقتی Insert میکنی نیاز نیست کد شخص رو هم خودت وارد کنی. کافیه بنویسی

insert into person(personName)values(txtPersonName.text)
برای اینکه بخایی تو شکل 2 نام شخص رو به جای کد شخص بنویسی باید از دستور زیر برای datatable استفاده کنی:

Select * from sales,person where PID=combobox1.selectedvalue
که کد شخص توسط combobox انتخاب میشه. بعد در دیتاگریدویو فیلدهایی که خودت میخایی رو درچین میکنی و نمایش میدی. تو دستور انتخاب اگه دقت کنی همه انتخاب شدن. و خروجی دستور انتخاب یک جدوله .در ضمن برای اینکه بتونی ارتباط رو هم ایجاد کنی چند روش وجود داره. مثلاً پرس و جوی فرعی یا join
روش اول
select * from sales,person where sales.PID=person.PID
حالا میتوی ادامش شرطهای دیگتم بنویسی.
روش دوم

Select * from sales inner join person on(Sales.PID=Person.PID)
یا روش سوم:
اینه که شما اول pid شخص مورد نظر رو بدست بیاری(select دوم) .بعد مشخصات خرید اون رو بنویسی:

Select * from sales where pid=(
select pid from person where pname='حسن'(

vahidth
شنبه 21 بهمن 1391, 14:22 عصر
داداش یه سوال دیگه هم که چطوری
تصویر دوم روبروی کد شخص نباید textBox قرار بدی.یک ComboBox قرار بده و به جدول اشخاص وصلش کن
چطوری جدول دوم رو به جدول اول وصلش کنم ؟
داداش اگه برنامش رو میساختی از طریق اون توضیح میدادی خیلی خوب بود فقط بخش فروشش رو

ma.rad
شنبه 21 بهمن 1391, 14:38 عصر
داداش اگه برنامش رو میساختی از طریق اون توضیح میدادی خیلی خوب بود فقط بخش فروشش رو

برنامه ای که نوشتید رو اینجا بزارید تا با کمک دوستان براتون تکمیل کنیم

vahidth
شنبه 21 بهمن 1391, 15:34 عصر
حالا ننوشتم داداش ولی امروز شروع میکنم به ساخت برنامه اول میخواستم تحلیلش کنم
اگه از دوستان یکی میتونه برنامه فروشگاه رو بنویسه ممنون میشم فقط قسمت فروشش رو میخوام تحلیلش رو درست متوجه بشم

vahidth
شنبه 21 بهمن 1391, 16:46 عصر
از دوستان اگه یکی بلد بود یکم منو راهنمایی کنه

ma.rad
شنبه 21 بهمن 1391, 16:55 عصر
البته این بحث تکراریه چون مجددا سوال شده قدم به قدم پیش می ریم:

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

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

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

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

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



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

ma.rad
شنبه 21 بهمن 1391, 17:01 عصر
جهت تجزیه و تحلیل هم use case text و dfd diagram و ERD وdata dictionary استفاده می شود:

جداول:
جداول بانک اطلاعاتی رو هم بصورت زیر در نظر گرفته شده(5جدول):

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

vahidth
شنبه 21 بهمن 1391, 17:40 عصر
این که داداش تو سایت بود
میخوام بدونم چطوری دو جدول رو باهم جوین کنیم یعنی اگه در فرم نسیه یه شخص تعریف کردیم مثلا با کد 105 و نام علی رضایی و درفرم دوم که فرم فروش هست یه کامبو باکس بزاریم و کد افرادی که بصورت نسیه خرید کردن رو که در فرم اول ساختیم رو با کلیک بر روی کامبوباکس بیاریم و هر خریدی که میکنه تو دیتاگرید ذخیره بشه و در فرم فروش یه تکست باکس بزاریم و یه دکمه بنام جستجو و اگه کد شخص رو زدیم کلیه خریدهایی که شخص کرده رو برامون تو دیتا گرید نمایش بده

user18
شنبه 21 بهمن 1391, 18:03 عصر
سلام عزیز من قبلا یه برنامه کامل مدیریت فروشگاه نوشتم یه دمو هم ازش گذاشتم تو سایت یه نگاه بکن به دموی برنامه من شاید بتونی تو تجزیه و تحلیل خودت ازش استفاده کنی

vahidth
شنبه 21 بهمن 1391, 18:28 عصر
کدوم سایت داداش

vahidth
شنبه 21 بهمن 1391, 18:34 عصر
من 3 تا فرم ساختم برای تست اولی برای نسیه دومی برای فروش و سومی برای قفسه این فرم فقط برای اشخاصی هستند که بصورت نسیه خرید کرده اند
99828
فقط میخوام یکی برام پایگاه داده یه سه فرم رو بسازه

user18
شنبه 21 بهمن 1391, 19:18 عصر
اینم لینک دانلود دموی برنامه من
http://uplod.ir/pbja7cny3b1f/foroshghah.rar.htm

vahidth
شنبه 21 بهمن 1391, 19:48 عصر
اینم لینک دانلود دموی برنامه من
http://uplod.ir/pbja7cny3b1f/foroshghah.rar.htm

رمزش ورودش چیه؟

vahidth
شنبه 21 بهمن 1391, 19:51 عصر
من 3 تا فرم ساختم برای تست اولی برای نسیه دومی برای فروش و سومی برای قفسه این فرم فقط برای اشخاصی هستند که بصورت نسیه خرید کرده اند
99828
فقط میخوام یکی برام پایگاه داده یه سه فرم رو بسازه
دوستان اگه لطف کنید این پایگاه داده رو بسازین ممنون میشم و ارتباطات رو بدین تا منم یاد بگیرم

vahidth
شنبه 21 بهمن 1391, 21:57 عصر
از دوستان کسی نبود کمکم کنه

user18
یک شنبه 22 بهمن 1391, 00:22 صبح
رمز ورود مدیرسیستم :1

vahidth
یک شنبه 22 بهمن 1391, 18:18 عصر
کسی نبود کمک کنه؟

vahidth
یک شنبه 22 بهمن 1391, 19:13 عصر
ممنون داداش بله دارم روش فکر میکنم