PDA

View Full Version : مبتدی: درخواست راهنمایی برای ساخت یک نرم افزار ساده ی فروشگاهی (گام به گام)



hkhafan
دوشنبه 06 آذر 1391, 20:47 عصر
سلام؛

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

مراحل مقدّماتی کار یعنی ایجاد نمودارهای لازم رو تقریباً تموم کردم
یکی از اساتید کامپیوتر هم به طور ضمنی نمودارها رو تأیید کردن

به طور خلاصه بخوام عرض کنم ، این کارا تا حالا انجام شده:

- شناخت
- یوزکیس
- سکوئنس (تو این البته مشکل دارم!)
- کلاس دیاگرام
- CDM
- PDM
- با کمک نرم افزار پاور دیزاینر ، table های لازم رو هم با یه سری مقادیر رندوم ساختم و وارد دیتا بیسم کردم.

از اینجا به بعدشو واقعاً نمیدونم چطور باید پیش برم!

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


اگه تو این چند روز ، بنده رو اوّل تحمّل! و بعدشم مرحله به مرحله راهنمایی کنید تا حدّاقل بتونم یه بخش از برنامه رو ایجاد کنم...واقعاً لطف بزرگی میکنید.

ممنون :خجالت:

masoodz
دوشنبه 06 آذر 1391, 21:01 عصر
سلام دوست من
تو تقریبا رسیدی به مرحله پیاده سازی . درسته ؟
حالا بایستی که یوزکیس هاتو پیاده سازی کنی .

hkhafan
دوشنبه 06 آذر 1391, 21:43 عصر
سلام دوست من
تو تقریبا رسیدی به مرحله پیاده سازی . درسته ؟
حالا بایستی که یوزکیس هاتو پیاده سازی کنی .

سلام؛

بله عزیز ولی مشکل اینجاس که روند کار رو نمیدونم!...
یعنی به یکی نیاز دارم که مثلاً بهم بگه الان فلان کار رو انجام بده یا فلان چیز رو بساز!

.
.
به من گفتن کلاس باید تعریف کنی

مثلاً این کلاس مشتری ای هستش که داخل کلاس دیاگرامم گذاشتم :

http://img.ir/VYh.png


خب ساخت کلاس خالی داخل #C که کاری نداره :ناراحت: ولی صفات و متدهاش چی؟!

veniz2008
دوشنبه 06 آذر 1391, 22:10 عصر
سلام. شما هنوز مشخص نکردید که آیا میخواید لایه ای کار کنید یا نه. اگر جواب نه هست نیازی به ایجاد کلاس ندارید ولی معمولا زمانیکه چندلایه کار رو پیاده سازی میکنن برای سادگی ( و خوانایی) به ازای هر موجودیت ( مثل دانشجو یا موجودیت درس و ...) یک کلاس ایجاد میکنن. داخل این کلاس متدهای متداول برای هر موجودیت (مثل insert ، delete، update و select) رو مینویسن. معمولا یه لایه هم برای اتصال به دیتابیس و انجام بخشی از عملیات در نظر میگیرن. در نهایت هم درون فرم اصلی کلاس رو صدا میزنن و از متدهایی که درون اون کلاس ساختید بنابر نیازتون استفاده می کنید. البته این نکته رو هم بگم که در پیاده سازی ،معمولا هر شخصی به سبک خاص خودش برنامه رو پیاده میکنه. مهم اینه که برنامه اصولی باشه و از اضافه کاری های بیخودی اجتناب بشه. اگر خواستید از برنامه نویسی چند لایه استفاده کنید قبلا در تاپیک زیر یکی از دوستان در این مورد توضیحاتی دادن که میتونید استفاده کنید:
http://barnamenevis.org/showthread.php?292520-%DA%A9%D9%85%DA%A9-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-3%D9%84%D8%A7%DB%8C%D9%87&highlight=%DA%86%D9%86%D8%AF+%D9%84%D8%A7%DB%8C%D9 %87

masoodz
دوشنبه 06 آذر 1391, 23:02 عصر
خوب دوست من . اگه می خوای کلاس استفاده کنی برای مثال همین کلاسی که نوشتی : بیا سه تا مد براش تعریف کن : درج - حذف - (یه حذف دیگه گذاشتی که معنیشو نفهمیدم) . یعنی تمامی کارهای مربوط به اکتور مشتری درون این کلاس انجام بشه . بعدش تو برنامت ازش استفاده کن . انشالله بلدی با پایگاه داده کار کنی ، آره ؟
اگه میخوای مستندات برنامت رو بذار تا بتونم بیشتر کمکت کنم

danialafshari
سه شنبه 07 آذر 1391, 01:11 صبح
بهتره کلاس تلفن رو هم از String بزاری چون ممکنه به عنوان مثال از +98 یا 654546-154545 استفاده بشه

hkhafan
چهارشنبه 08 آذر 1391, 04:06 صبح
سلام؛

دوستان تا الان داشتم رو مطابق اون مطلبی که جناب mohammaddou گفتن ، برنامه رو اینور و اونور میکردم! :افسرده:

=====


سلام. شما هنوز مشخص نکردید که آیا میخواید لایه ای کار کنید یا نه. اگر جواب نه هست نیازی به ایجاد کلاس ندارید ولی معمولا زمانیکه چندلایه کار رو پیاده سازی میکنن برای سادگی ( و خوانایی) به ازای هر موجودیت ( مثل دانشجو یا موجودیت درس و ...) یک کلاس ایجاد میکنن. داخل این کلاس متدهای متداول برای هر موجودیت (مثل insert ، delete، update و select) رو مینویسن. معمولا یه لایه هم برای اتصال به دیتابیس و انجام بخشی از عملیات در نظر میگیرن. در نهایت هم درون فرم اصلی کلاس رو صدا میزنن و از متدهایی که درون اون کلاس ساختید بنابر نیازتون استفاده می کنید. البته این نکته رو هم بگم که در پیاده سازی ،معمولا هر شخصی به سبک خاص خودش برنامه رو پیاده میکنه. مهم اینه که برنامه اصولی باشه و از اضافه کاری های بیخودی اجتناب بشه. اگر خواستید از برنامه نویسی چند لایه استفاده کنید قبلا در تاپیک زیر یکی از دوستان در این مورد توضیحاتی دادن که میتونید استفاده کنید:
http://barnamenevis.org/showthread.php?292520-%DA%A9%D9%85%DA%A9-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-3%D9%84%D8%A7%DB%8C%D9%87&highlight=%DA%86%D9%86%D8%AF+%D9%84%D8%A7%DB%8C%D9 %87

سلام؛

پس طبق توضیحاتی که فرمودید و روشی که استاد این درس بهم گفت ، باید به روش لایه ای جلو برم.

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

واقعاً ازتون بابت معرّفی اون لینک ممنونم ....
نویسندش به زبون عامیانه و خیلی قشنگ مراحل کار رو توضیح داده که خیلی خیلی به دردم میخوره
تشکّر http://www.pic4ever.com/images/4xvim2p.gif


بهتره کلاس تلفن رو هم از String بزاری چون ممکنه به عنوان مثال از +98 یا 654546-154545 استفاده بشه
ممنون...چشم
فقط شما دعا کنید یه گوشه از اصل برنامه راه بیفته! :ناراحت:

hkhafan
چهارشنبه 08 آذر 1391, 04:19 صبح
خوب دوست من . اگه می خوای کلاس استفاده کنی برای مثال همین کلاسی که نوشتی : بیا سه تا مد براش تعریف کن : درج - حذف - (یه حذف دیگه گذاشتی که معنیشو نفهمیدم) . یعنی تمامی کارهای مربوط به اکتور مشتری درون این کلاس انجام بشه . بعدش تو برنامت ازش استفاده کن . انشالله بلدی با پایگاه داده کار کنی ، آره ؟
اگه میخوای مستندات برنامت رو بذار تا بتونم بیشتر کمکت کنم

سلام؛

شرمنده...اون حذف رو اشتباه نوشته بودم
===

من خیلی مقدّماتی با کار با پایگاه آشنا هستم
در حدّ ساخت دیتابیس و کوئری های خیلی ابتدایی!

===

کاری که از اون موقع انجام دادم :

من الان داخل دوتا فولدر جداگانه (BLL و DAL) ، به ازای هر تیبلم یه کلاس ساختم
کلاسای داخل BLL رو چیزی ننوشتم
مثلاً به ازای کارمند ، به این صورت:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AZ_net.BLL
{
public class karmand
{
public String FirstName { get; set; }
public String LastName { get; set; }
public String kode_melli { get; set; }
public String sh_sh { get; set; }
public String address { get; set; }
public String phone { get; set; }
public String semat { get; set; }
public String father_name { get; set; }
}
}


ولی داخل کلاس کارمند از فولدر DAL رو اختصاص دادم به متدها
مثلاً اومدم به طور امتحانی ، همون متد insert که تو لینک دوستمون بود رو نوشتم که خوشبختانه همین چند دقیقه ی پیش جواب داد!
یعنی الان از داخل یکی از فرم های برنامه ، با وارد کردن اطلاعات میشه یه کارمند جدید تعریف کرد.

در کل به این صورت شد:

http://img.ir/fdj.png

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

hkhafan
چهارشنبه 08 آذر 1391, 04:29 صبح
ولی مشکل اینجاست که بازم اصل ماجرا رو نمیدونم باید چیکار کرد!

مثلاً یکی از کارای اصلی این برنامه ثبت فاکتور فروش هستش...که مسئول فروش این کارو انجام میده
به هیچ وجه نمیدونم چطور باید انجامش بدم یا از کجا شروع کنم!

این سکوئنسی که براش در نظر گرفتم:

95708

خواهشاً لطف کنید مرحله به مرحله بنده رو راهنمایی کنید
ممنون

veniz2008
چهارشنبه 08 آذر 1391, 04:53 صبح
ولی مشکل اینجاست که بازم اصل ماجرا رو نمیدونم باید چیکار کرد!

مثلاً یکی از کارای اصلی این برنامه ثبت فاکتور فروش هستش...که مسئول فروش این کارو انجام میده
به هیچ وجه نمیدونم چطور باید انجامش بدم یا از کجا شروع کنم!

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

masoodz
چهارشنبه 08 آذر 1391, 06:52 صبح
خوب عزیز من کار سختی که وجود نداره . ممکنه مثلا ثبت فاکتور در دید کاربر برنامه سخت باشه ولی برای تو یه کار خیلی سادس . چطور یه جدول برای مشتری / کارمند و یا هر چیز دیگه ای تعریف کردی . حالا بیا و یه جدول برای فاکتورهات تعریف کن و بعدش چند تا متد مثل ثبت فاکتور / پرداخت فاکتور و ... براش تعریف کن . به همین سادگی
ولی مشکل اینجاست که بازم اصل ماجرا رو نمیدونم باید چیکار کرد!

مثلاً یکی از کارای اصلی این برنامه ثبت فاکتور فروش هستش...که مسئول فروش این کارو انجام میده
به هیچ وجه نمیدونم چطور باید انجامش بدم یا از کجا شروع کنم!

این سکوئنسی که براش در نظر گرفتم:

95708

خواهشاً لطف کنید مرحله به مرحله بنده رو راهنمایی کنید
ممنون