PDA

View Full Version : گفتگو: همیشه یه مشکلی که به برنامه دارم تفکیک قسمت های برنامه به روش اصولی هستش... لطفا شرکت کنید!



samadblaj
پنج شنبه 22 فروردین 1392, 11:03 صبح
سلام دوستان یه مشکل که در روال ایجاد یک پروژه دارم اینه که برنامه ای رو که شروع میکنم فرم اول و دوم و ... رو ایجاد میکنم اما نمیدونم ابتدا از کجا شروع کنم و کجای برنامه رو طراحی کنم...
و 2 ، 3 تا از فرم های ثبت رو ایجاد بعد فرم نمایش اطلاعات و یهو خیلی از قسمت ها هست که میرم قسمت گزارش برای فرم ثبت های ایجاد شده طراحی میکنم و یک فرم هنوز مشکلاتی به همراه داره و به سادگی ازش عبور میکنم و به قسمت بعد میرم...
یا هنوز ثبت های اصلی فرم رو طراحی نکردم میرم سراغ فرم "تماس با ما" ...
خیلی وقت هم هست برنامه نویسی برام به طور معروف "عشقی" شده و هر چند سعی میکنم یه پروژه رو خط پایان برسونم اما بعد از کمی کار خسته میشم و هر 2 روز 3,4 ساعت وقت میزارم...

میشه تجربیات و راهکار های خودتون رو حتی توی یک خط برام بگید...

Mahmoud.Afrad
پنج شنبه 22 فروردین 1392, 11:16 صبح
اول طراحی دیتابیس(روی کاغذ یا با نرم افزارهای مخصوص) ، بعد ایجاد دیتابیس(ایجاد تیبل ها ، ویوها و ...) و بعد هم کدنویسی اپلیکیشن.

wolf_majid
پنج شنبه 22 فروردین 1392, 11:22 صبح
من توی این زمینه تجربه ای ندارم (فقط یک پروژه تا حالا طراحی کردم)
اما اینطور که فهمیدم به نظر من اول از همه باید بانک ایجاد بشه و کلی باهاش کلنجار برید که مطمئن بشید نیاز به تغییر نخواهید داشت
بعد میرید سراغ لایه dal , تمام کلاس های واسط رو پیاده سازی میکنید بعد دو لایه بعدی را هر جور تمایل دارید ایجاد می کنید

samadblaj
پنج شنبه 22 فروردین 1392, 12:22 عصر
سلام و تشکر بسیار بابت نظراتتون.


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


من توی این زمینه تجربه ای ندارم (فقط یک پروژه تا حالا طراحی کردم)
اما اینطور که فهمیدم به نظر من اول از همه باید بانک ایجاد بشه و کلی باهاش کلنجار برید که مطمئن بشید نیاز به تغییر نخواهید داشت
بعد میرید سراغ لایه dal , تمام کلاس های واسط رو پیاده سازی میکنید بعد دو لایه بعدی را هر جور تمایل دارید ایجاد می کنید
مجید جان از شما هم کمال تشکر رو دارم با استفاده از تکنولوژِی EF در هر مسیری از برنامه که باشید به سادگی میشه تمامی یا بخشی از آیتم ها رو با کمترین صرف وقت و مشکل انجام داد.
و صحبتی بر سر لایه ها و کلاس ها نیست
ولی لطفا توضیح بدید قدم های طرحی فرم های به چه شکل هستش یعنی ابتدا باید فرم ثبت رو طراحی کنیم؟ بعد از فرم ثبت... میشه روی یه پروژه این مورد رو تا آخر مکتوب کنید.

veniz2008
پنج شنبه 22 فروردین 1392, 12:37 عصر
سلام دوستان یه مشکل که در روال ایجاد یک پروژه دارم اینه که برنامه ای رو که شروع میکنم فرم اول و دوم و ... رو ایجاد میکنم اما نمیدونم ابتدا از کجا شروع کنم و کجای برنامه رو طراحی کنم...
و 2 ، 3 تا از فرم های ثبت رو ایجاد بعد فرم نمایش اطلاعات و یهو خیلی از قسمت ها هست که میرم قسمت گزارش برای فرم ثبت های ایجاد شده طراحی میکنم و یک فرم هنوز مشکلاتی به همراه داره و به سادگی ازش عبور میکنم و به قسمت بعد میرم...
یا هنوز ثبت های اصلی فرم رو طراحی نکردم میرم سراغ فرم "تماس با ما" ...
سلام.
بعد از تحلیل و طراحی برنامه و ساخت جداول نوبت به طراحی فرم ها میرسه.
اما اینکه چه فرم هایی رو اول طراحی کنید قاعدتا باید جداولی رو که وابستگی به جداول دیگر رو ندارند رو طراحی کنید و بعدش سراغ جداول وابسته برید.
فرم هایی مثل "تماس با ما" یا "فرم لاگین" یا "فرم لوگو" اینا رو بزارید برای آخرین بخش کارتون. یعنی پروژه تکمیل شده و حالا میتونید برید سراغ چنین فرم هایی.

خیلی وقت هم هست برنامه نویسی برام به طور معروف "عشقی" شده و هر چند سعی میکنم یه پروژه رو خط پایان برسونم اما بعد از کمی کار خسته میشم و هر 2 روز 3,4 ساعت وقت میزارم...
کار عشقی همینه دیگه!!! یعنی حال داشتم میرم میخونم و انجام میدم و اگر حال نداشتم ...
ما برای طراحی اصولی میتونیم نظر بدیم ولی هیچ کاری برای اراده شما (برای ملزم کردنتون به نوشتن برنامه) نمیتونیم انجام بدیم.
با 2 روز یکبار نوشتن و اونم 3 ساعت یعنی روزی بطور میانگین 1.5 ساعت چیز بهتری هم نباید انتظار داشته باشید.

میشه تجربیات و راهکار های خودتون رو حتی توی یک خط برام بگید...
من اگر در جمعی بشینم و بحث طراحی و برنامه نویسی بیفته و هیچی ندونم خجالت میکشم. اینکه نتونم حداقل در بخشی از مساله اظهارنظر و بحث کنم برام زجرآوره. این عامل در کنار علاقه خودم به برنامه نویسی، اصلی ترین دلیل برای یاد گرفتن مطلب جدید هست.
یاد اون سال های اولی که وارد دنیای کامپیوتر شدم می افتم. اینکه واسه نصب یه ویندوز xp که چندتا مرحله ساده نداشت به این و اون رو مینداختم و طرف با کلی تشریفات واسم یه ویندوز XP نصب میکرد. من بهم برخورد و سعی کردم یاد بگیرم و دوباره یاد بگیرم و اینو بدونم که : "باید زیاد مطالعه کنید تا بدانید که هیچ نمیدانید".
شما هم بزار بهت بربخوره شاید اینجوری در گذاشتن روزی بالای 10 ساعت مصمم تر بشی.
موفق باشی دوست من.

samadblaj
پنج شنبه 22 فروردین 1392, 12:55 عصر
سلام.
بعد از تحلیل و طراحی برنامه و ساخت جداول نوبت به طراحی فرم ها میرسه.
اما اینکه چه فرم هایی رو اول طراحی کنید قاعدتا باید جداولی رو که وابستگی به جداول دیگر رو ندارند رو طراحی کنید و بعدش سراغ جداول وابسته برید.
فرم هایی مثل "تماس با ما" یا "فرم لاگین" یا "فرم لوگو" اینا رو بزارید برای آخرین بخش کارتون. یعنی پروژه تکمیل شده و حالا میتونید برید سراغ چنین فرم هایی.

کار عشقی همینه دیگه!!! یعنی حال داشتم میرم میخونم و انجام میدم و اگر حال نداشتم ...
ما برای طراحی اصولی میتونیم نظر بدیم ولی هیچ کاری برای اراده شما (برای ملزم کردنتون به نوشتن برنامه) نمیتونیم انجام بدیم.
با 2 روز یکبار نوشتن و اونم 3 ساعت یعنی روزی بطور میانگین 1.5 ساعت چیز بهتری هم نباید انتظار داشته باشید.

من اگر در جمعی بشینم و بحث طراحی و برنامه نویسی بیفته و هیچی ندونم خجالت میکشم. اینکه نتونم حداقل در بخشی از مساله اظهارنظر و بحث کنم برام زجرآوره. این عامل در کنار علاقه خودم به برنامه نویسی، اصلی ترین دلیل برای یاد گرفتن مطلب جدید هست.
یاد اون سال های اولی که وارد دنیای کامپیوتر شدم می افتم. اینکه واسه نصب یه ویندوز xp که چندتا مرحله ساده نداشت به این و اون رو مینداختم و طرف با کلی تشریفات واسم یه ویندوز XP نصب میکرد. من بهم برخورد و سعی کردم یاد بگیرم و دوباره یاد بگیرم و اینو بدونم که : "باید زیاد مطالعه کنید تا بدانید که هیچ نمیدانید".
شما هم بزار بهت بربخوره شاید اینجوری در گذاشتن روزی بالای 10 ساعت مصمم تر بشی.
موفق باشی دوست من.
واقعا ممنونم که کامل توضیح دادید الان توجیح شدم...بله متاسفانه من در خلال کار برای یرگرم کردن و زدودن خستگی میرفتم سراغ مسیر های غیر تکراری یعنی فرم های "تماس با ما"...

نه منم در روزها و ماه های اخیر حدود 10 ساعت مطالعه رو داشتم و دارم و شاید بعضی روز ها بیش از 15 ساعت مطالع و برنامه نویسی میکنم...

تا الان پروژه های زیادی هم نوشتم و تحویل دارم اما در پروژه های بزرگ کم میارم و خسته میشم و سرعت کار خیلی کم میشه و شاید دلایل متعددی داشته باشه از جمله کار انفرادی ، عدموجود افراد برنامه نویس و خلاق در محیط فیزیکی و واقعی ، و تکراری کار و مشکلات اینترنت که الان حدود 6-7 ساله که از اینترنت ایرانسل و dial up استفاده کردم که واقعا تاثیر بسزایی در یادگیری و پیش روی کار خواهد داشت.
منم همیشه سعی میکنم حرفی برای گفتن داشته باشم در ضمینه های بسیاری مطالعه داشتم و سعی کردم از حرفه ام دور نیفتم.
تشکر دوباره میکنم امبدوارم یه تلنگر منم از بیدار کنه و بقولا آدم های پایبندی مثل شما دوستان عزیز (veniz2008 و Mahmoud.Afrad ) به حرفه و تخصص خودمون بشیم.

موفق باشــــــــید :تشویق:

JaVaD_1900
پنج شنبه 22 فروردین 1392, 13:17 عصر
بهتره از بحث های مدیرت پروژه هم بهره بگیری، این ها که بحث شد، کلا کد نویسی بود، اما انجام پروژه شاید 40 یا 50 درصد برنامه نویسی هس، همین که از کجا، چجوری، چه وقت، با کی و ... رو مدیریت پروژه ای که خودت یا یه نفر دیگه رو پروژت داری انجام میدی، بقیه کار پروژه هست. بحث هایی مثل اسکرام هم باید باشه به نظر من.
http://scrum.ir/

درواقع همون جریان مهندسی نرم افزار هس اما به سادگی و عملی نه تئوری و خسته کننده.

khokhan
پنج شنبه 22 فروردین 1392, 15:42 عصر
سلام دوستان یه مشکل که در روال ایجاد یک پروژه دارم اینه که برنامه ای رو که شروع میکنم فرم اول و دوم و ... رو ایجاد میکنم اما نمیدونم ابتدا از کجا شروع کنم و کجای برنامه رو طراحی کنم...
و 2 ، 3 تا از فرم های ثبت رو ایجاد بعد فرم نمایش اطلاعات و یهو خیلی از قسمت ها هست که میرم قسمت گزارش برای فرم ثبت های ایجاد شده طراحی میکنم و یک فرم هنوز مشکلاتی به همراه داره و به سادگی ازش عبور میکنم و به قسمت بعد میرم...
یا هنوز ثبت های اصلی فرم رو طراحی نکردم میرم سراغ فرم "تماس با ما" ...
خیلی وقت هم هست برنامه نویسی برام به طور معروف "عشقی" شده و هر چند سعی میکنم یه پروژه رو خط پایان برسونم اما بعد از کمی کار خسته میشم و هر 2 روز 3,4 ساعت وقت میزارم...

میشه تجربیات و راهکار های خودتون رو حتی توی یک خط برام بگید...

با سلام

به عنوان کم تجربه ترین عضو این مجموعه می خوام پیشنهادی بدم

البته هریک از اساتید نظراتی دادند که واقعا درخور سپاس هستش

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

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

ارادت

علی متقی پور
پنج شنبه 22 فروردین 1392, 15:51 عصر
سلام
با دوستانی که مدل DbFirst را توصیه کردن موافق نیستم.
از من میشنوی اگر یه پروزه کوچیکه که میخوای تنهائی انجامش بدی اول UI رو آماده کن. ظاهرش مهم نیست. فقط مهم اینه که شما از این طریق بهتر متوجه میشی ورودی ها چین و خروجی ها چی خواهند بود.
بعد که دیگه کامل متوجه شدی چی داری و چی میخواهی لازمه که به این فکر کنی چگونه از ورودی ها خروجی ها تهیه میشن. این کاریه که شما باید با کد انجام بدی. یعنی ببینی چه روال هایی لازمه تا ورودی تبدیل به خروجی شه. باید بشینی لاجیک برنامه را بنویسی. در حین لاجیک نویسی باید فرض کنی دیتا بیس را داری و هر اطلاعاتی را که لازم داری همونجا در اختیارته. بطور پیش فرض اطلاعاتت رو بصورت آرایه ها یا دیتا تایپ های ساده تر بنویس.
بعد که تا حدودی لاجیک آماده شد ببین واقعا چه نیازهای داده ای داری. برای اونا برو دیتا بیس طراحی کن. و بعد که دیتا بیس را طراحی کرد لایه DAL را بنویس.
توجه کن این حرف که شما یک لایه برنامه رو 100 درصد تموم کنی بعد بری سراغ قسمت های دیگه بنظر من یه حرف شعاری بیش نیست و اصلا ممکن نیست. شما هر لایه رو که مینویسی ممکنه حس کنی بهتره در لایه هایدیگه تغییری بدی.
این ترتیبی که گفتم بنظرم برای پروژه ایکه یک یا دو نفر دارم انجام میدن روش خوبی باشه.
البته باید در آخر بگم که سنت برنامه نوسی ما براساس DbFirst هست ولی بهتره که عوض شه.

Shahram_12
پنج شنبه 22 فروردین 1392, 16:55 عصر
با تشکر از همه دوستان

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

همچنین در طی بیانات دوستان با راهکارها و نظرات دیگر دوستان هم آشنا میشیم اون وقت میشه بهترین رو بدست آورد

از لطف همگی سپاسگذارم

veniz2008
پنج شنبه 22 فروردین 1392, 19:27 عصر
سلام
با دوستانی که مدل DbFirst را توصیه کردن موافق نیستم.
از من میشنوی اگر یه پروزه کوچیکه که میخوای تنهائی انجامش بدی اول UI رو آماده کن. ظاهرش مهم نیست. فقط مهم اینه که شما از این طریق بهتر متوجه میشی ورودی ها چین و خروجی ها چی خواهند بود.
بعد که دیگه کامل متوجه شدی چی داری و چی میخواهی لازمه که به این فکر کنی چگونه از ورودی ها خروجی ها تهیه میشن.
این درست که ما db first کار میکنیم ولی شما میخوای model first کار کنی؟!
در تمام جملات بالا بطور ضمنی دارید از نیازها صحبت می کنید. از اینکه چی داریم چی میخوایم. یه UI ظاهر و نماش رو از ذهن طراح میگیره ولی محتویاتش رو از باید از دیتابیس بگیره. اینکه UI ما چی نیاز داره رو طراحی جدول ما دیکته میکنه. شما بدون تحلیل و طراحی جداولتون چطور متوجه میشید که چی نیاز دارید؟

samadblaj
جمعه 23 فروردین 1392, 10:40 صبح
سلا و تشکر از همه دوستانی که در بحث شرکت کردن مطالب بسیارمفیدی بیان شد...


این درست که ما db first کار میکنیم ولی شما میخوای model first کار کنی؟!
در تمام جملات بالا بطور ضمنی دارید از نیازها صحبت می کنید. از اینکه چی داریم چی میخوایم. یه UI ظاهر و نماش رو از ذهن طراح میگیره ولی محتویاتش رو از باید از دیتابیس بگیره. اینکه UI ما چی نیاز داره رو طراحی جدول ما دیکته میکنه. شما بدون تحلیل و طراحی جداولتون چطور متوجه میشید که چی نیاز دارید؟
دوست عزیزم veniz2008 من بارها از روش model first استفاده کردم و مشکلی در برنامه پیش نیومد و کاملا راضی بودم ما وقتی میخوایم یه برنامه طراحی یه سری مستندات و تحلیل ا از برنامه داریم...

مثلا این فرم دارای فیلد های : نام ،‌ نام خانوادگی ،‌ جنسیت هست.
اگه باید برنامه ما UI مناسبی داشته باشه ما باید ابتدا فرم رو برای کاربر طراحی کنیم و بعد ر دیتابیس فیلد ها رو ایجاد کنیم.
به عنوان مثال در مدل DB First ما اگه تحلیل کنیم برای فیلد جنسیت در فرم یک Radio button باشه ما باید در دیتابیس نوع جنسیت را از نوع bit انتخاب کنیم مشکلی پیشنمیاد ولی بعد میبینک در disgin فرم این روش که جنسیت رو از radio بگیریم مناسب نیست و رابط کاربری مناسبی نداره پس میایم جاش یه combo box قرار میدم و در نتیجه باید فیلد دیتابیس هم تغییر کنه چون نیاز هست یا text ذخیره بشه یا Index شی combo.

veniz2008
جمعه 23 فروردین 1392, 11:30 صبح
اگه باید برنامه ما UI مناسبی داشته باشه ما باید ابتدا فرم رو برای کاربر طراحی کنیم و بعد ر دیتابیس فیلد ها رو ایجاد کنیم.
به عنوان مثال در مدل DB First ما اگه تحلیل کنیم برای فیلد جنسیت در فرم یک Radio button باشه ما باید در دیتابیس نوع جنسیت را از نوع bit انتخاب کنیم مشکلی پیشنمیاد ولی بعد میبینک در disgin فرم این روش که جنسیت رو از radio بگیریم مناسب نیست و رابط کاربری مناسبی نداره پس میایم جاش یه combo box قرار میدم و در نتیجه باید فیلد دیتابیس هم تغییر کنه چون نیاز هست یا text ذخیره بشه یا Index شی combo.
اینکه من اول جدول رو طراحی کنم و نوع جنسیت رو bit بگیرم و بعدش بیام روی فرم redio button بذارم مشکل از طراحی جدول نیست مشکل از تجربه کم ما در طراحی صحیح و انتخاب شی مناسب هست. شما زمانی میتونید شروع به طراحی فرم کنید که پروژه رو تحلیل کرده باشیدو موجودیت ها رو شناخته باشید و بدونید هر موجودیت به چه فیلدهایی نیاز داره. این موقع است که میتونید شروع به طراحی فرم کنید. به قول شما شاید جدولی بصورت واقعی طراحی نشده باشه ولی حداقلش اینه که بر روی کاغذ جدول رو طراحی کردید. در model first مدل شما در واقع همون دیتابیس شماست و زمانی میتونید این مدل رو بسازید که پروژه رو تحلیل و موجودیت ها و فیلدهای هر موجودیت و روابط بین این موجودیت ها رو شناخته باشید. حالا میاید و از روی این مدل، دیتابیس رو می سازید. پس مدل شما عملا وابسته به مراحل ذکر شده است و همینطوری نمیتونید شروع به طراحی فرم کنید.

samadblaj
جمعه 23 فروردین 1392, 17:06 عصر
اینکه من اول جدول رو طراحی کنم و نوع جنسیت رو bit بگیرم و بعدش بیام روی فرم redio button بذارم مشکل از طراحی جدول نیست مشکل از تجربه کم ما در طراحی صحیح و انتخاب شی مناسب هست.
سلام تشکر بله شما با تجربه تر هستید ولی منم پروژه هایی رو تا الان کار کردم از روش ModelFirst بوده... ولی شاید کارفرما گفت این آیتم به این شکل باشه بهتره و یا خلاقیت و یا روش نوین تری پیدا کردیم.کاربر کاری به دیتابیس نداره ولی به سایدگی محیط نرم افزار داره...

بازم تشکر از همه دوستان که شرکت کردن و نظرات با ارزششون رو بیان کردن.

m.lajevardi
جمعه 23 فروردین 1392, 17:26 عصر
نمیدونم ابتدا از کجا شروع کنم و کجای برنامه رو طراحی کنم...

سلام
ساخت یک پروژه شامل مراحل زیر میباشد
1- نیازمندیها 10% حجم قیمت و زمان مصرفی
2- تحلیل و طراحی 40% حجم قیمت و زمان مصرفی
3- پیاده سازی یا همان کد نویسی 5%حجم قیمت و زمان مصرفی
4- تست پروژه 5% حجم قیمت و زمان مصرفی
5- پشتیبانی 40% حجم قیمت و زمان مصرفی
------------------------------------------------
من همیشه ابتدا DateBase را طراحی میکنم بعد Tabel ها و ارتباط آنها را ( باید توجه داشت که مهمترین قسمت یک پروژه تحلیل و طراحی آن میباشد)
سپس طراحی InterFace فرم اصلی و فرم های وابسته را انجام میدهم و بعد میآیم کدنویسی های مربوطه را انجام میدهم
درضمن باید بدانید که برنامه نویسی هنری است که باید به آن عشق ورزید تا به نتیجه برسیم نه اینکه آن را تفننی یا عشقی انجام دهیم
موفق باشید.

samadblaj
جمعه 23 فروردین 1392, 17:43 عصر
سلام
ساخت یک پروژه شامل مراحل زیر میباشد
1- نیازمندیها 10% حجم قیمت و زمان مصرفی
2- تحلیل و طراحی 40% حجم قیمت و زمان مصرفی
3- پیاده سازی یا همان کد نویسی 5%حجم قیمت و زمان مصرفی
4- تست پروژه 5% حجم قیمت و زمان مصرفی
5- پشتیبانی 40% حجم قیمت و زمان مصرفی
------------------------------------------------
من همیشه ابتدا DateBase را طراحی میکنم بعد Tabel ها و ارتباط آنها را ( باید توجه داشت که مهمترین قسمت یک پروژه تحلیل و طراحی آن میباشد)
سپس طراحی InterFace فرم اصلی و فرم های وابسته را انجام میدهم و بعد میآیم کدنویسی های مربوطه را انجام میدهم
درضمن باید بدانید که برنامه نویسی هنری است که باید به آن عشق ورزید تا به نتیجه برسیم نه اینکه آن را تفننی یا عشقی انجام دهیم
موفق باشید.

سلام مرسی از شما شما این اطلاعات و امار رو خودتون بدست آوردید یا از منبعی؟

بله در روش های سنتی و قدیمی تمامی برنامه نویسان ابتدا دیتابیس رو تحلیل و تعریف میکردند اما با ترویج تکنولوژی های جدید و ایجاد بحث model first این روش هم مرصوم شده.

m.lajevardi
جمعه 23 فروردین 1392, 17:56 عصر
model first این روش هم مرصوم شده.
اگه ممکنه در مورد این روش توضیح مختصری بدهید.

alias136790
شنبه 24 فروردین 1392, 00:03 صبح
این پیشنهاد و آرزوی منه که بتونم روزی بهش برسم و فکر میکنم اگه یه نفر پیاده اش کنه پروژه های بزرگ هم براش خیلی وقت نمیبره:
1. تحلیل گر(به اصطلاح شخصی که برای برنامه ایده داره و درباره این ایده یه تحقیق میکنه و بعد کل برنامه و امکاناتش رو روی کاغذ میاره.
2. یه طراح دیتابیس
3. یه طراح رابط کاربری
4. چند تا برنامه نویس
5. یه پخش کننده(به اصطلاح برنامه رو منتشر کنه)
6. یه نفر که قسمت های قبلی رو مدیریت کنه ویه هماهنگی بین این بخش ها ایجاد میکنه.

GoodLuck

ad.davachi
سه شنبه 17 اردیبهشت 1392, 13:28 عصر
سلام مرسی از شما شما این اطلاعات و امار رو خودتون بدست آوردید یا از منبعی؟

بله در روش های سنتی و قدیمی تمامی برنامه نویسان ابتدا دیتابیس رو تحلیل و تعریف میکردند اما با ترویج تکنولوژی های جدید و ایجاد بحث model first این روش هم مرصوم شده.

به نظر من هیچوقت روش های اصولی منسوخ نمیشن و روشهای میانبر که صد در صد در پروژه های بزرگ همه رو دچار مشکل میکنن مرسوم بشه

sgn2006
سه شنبه 17 اردیبهشت 1392, 15:15 عصر
سلام

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

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

FastCode
سه شنبه 17 اردیبهشت 1392, 16:00 عصر
من همیشه اول نیاز ها رو تا ریزترین جزئیات بررسی میکنم.بعد نسبت به ساختار کلی برنامه مثل زبان و framework و gui و ...تصمیم گیری میکنم.بعد Database رو طراحی میکنم و به ترتیب از روی جداول فرم های مربوط به اونها رو.
و ۱۰۰٪ با DBFirst و Model First موافقم.چون اگر UI رو اول طراحی کنید ممکنه به روابط خیلی عجیب n*m یا خیلی بدتر در دیتابیس برسید که جمع کردنش فاجعه میشه.من در یک برنامه یک بار چنین طراحی اشتباهی رو انجام دادم و مجبور شدم ۴ سال یک فایل ۳ هزار خطی رو هر روز به خاطرش تغییر بدم.دیگه هیچ موقع UI First کار نمیکنم.

mousa1992
سه شنبه 17 اردیبهشت 1392, 16:18 عصر
سلام
با اجازه از محضر اساتید
ببینید من روش خودم رو توضیح میدم - اولین کاری که انجام میدم دیتابیس رو طراحی میکنم ، بر اساس نیازهایی که پیش بینی میکنم جداول،روابط، stored procedures ، توابع رو مینویسم (پیشبینی نیازها کار سختی نیست - برای مثال من میدونم که جدولی دارم با فیلدها نام و شماره پرسنلی و ... نیاز به جستجو و برگردوندن اطلاعات بر اساس فیلدهای مثل نام و ... رو دارم پس پروسیجیر مربوطه رو مینویسم) و از این به بعد ui , کدهای مربوط به هر قسمت رو انجام میدم - مثلا شروع میکنم به طراحی فرم اصلی خب اولین کاری که انجام میدم قسمت منو ها و بقیه رو از هم تفکیک میکنم با ابزار های موجود و بعد از اون اطلاعاتی که باید توی صفحه اصلی نمایش داده بشه رو درستش میکنم و دکمه ثبت میذارم فرم ثبتو میسازم و ویرایش و ... این فرم که کارش کامل تموم شد میرم سراغ فرم های بعدی و به همین صورت تا اتمام کار

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

خب بریم سراغ برنامه نویسی - شما میشی مسئول تحلیل و طراحی دیتابیس - یک نفر میشه مسئول بخش طراحی ui و یک نفر هم میشه مسئول کد نویسی ها و هر کس تو زمینه خودش متخصص هست و کارشو به خوبی انجام میده و شما هم کار گرافیست و طراح ui رو میبینی و هم کار کد نویس رو و از تجربیاتشون استفاده میکنی و یادگیریت چندین برابر میشه - و بعد از مدتی شما میری سراغ ui و اونی که ui طراحی میکرده میاد بانکو طراحی میکنه و همه تو برنامه نویسی پیشرفت میکنید

هووف ببخشید خیلی طولانی شد :لبخندساده:
امیدوارم توضیحاتم مفید و مورد استفاده واقع بشه - هرچند خودم هم تنهایی کار میکنم

موفق باشید

Helmod
جمعه 25 مرداد 1392, 23:23 عصر
دوستان چه اشکالی داره اگه اول اینترفیس برنامه طراحی بشه و بعد دیتا بیس ؟

davidrobert
شنبه 26 مرداد 1392, 05:52 صبح
من در جایگاهی نیستم مثل شما استادان در برنامه نویسی.
ولی نظرم رو در این بحث تمایل داشتم بگم.
من تازه برنامه نویسی رو شروع کردم و با مشکل های فراوانی بر خورد داشتم در دیتابیس و برنامه ولی یه چیزی متوجه شدم نباید آدم بیاد یک دفعه اول دیتابیس رو بسازی و بعد بره سراغ برنامه نویسی که بعد هی میری جلو و اطلاعات ذخیره میکنه با مشکل بر خورد کنه .من خودم تو پروژه که نوشته بودم شماره فاکتور رو باید به دست می آوردم دیدم شما فاکتور رو تا 10 میتوانم به دست بیاورم و بیشتر از 10 رو برنامه به دست نمی یاری و برنامه به 10 میرسه کد تکراری قرار میده اول فکرکردم از کد نویسیم ایرادی هستش ولی بعد فهمیدم دیتابیسم بهم خورده و جدول مورد نظرم رو پاک کردم و دوباره ساختم مشکلم بر طرف شد.
از نظر من کسی که میخواد برنامه بنویسی باید بر حسب نیاز کار پیش بره یعنی اگه جدول ورود داری باید اول بیاد جدول کاربران رو بسازی و بعد بیاد فرم مربوط به همون رو داخل برنامه بسازی وقتی هر جفت کار رو با هم پیش ببری با مشکل بر خود نمیکنه و وقتی به فرم اصلی رسید بیاد ببینه داخل برنامه چی میخواد و عنوان هاش رو لحاظ کنه تا برای ساخت برنامه بدونه به چه چیزی نیاز هستش نه اینکه دونه به دونه عنوان های رو لحاظ کنه و برنامه رو بسازی و وقتی یه خورده برنامه پیش بره یک دفعه میبینی یه چیزی که باید لحاظ میکده رو لحاظ نکرده و یه چیزی رو لحاظ کرده که اصلاً کار طرف نیومده وقتی برنامه رو با دیتابیس پیش ببریم و عنوان های مورد نظر رو که میخواهیم قرار بدیم و رو خوب فکر کنیم و اول عنوان های کار رو قرار بدیم وقتی قرار دادیم اون موقع شروع کنیم برنامه رو بنویسیم بیشتر موفق میشنیم و میدانیم چی کاری رو باید انجام بدیم و چی کار رو نه و متوجه میشیم خطا کجا برنامه میده و تا کجا پیش میری برنامه و از کار میافته از دیتابیس یا از خود برنامه وقتی این کار رو کنیم داقون نمیشیم و برنامه رو با بهترین نحوه ممکن انجام میدیم. و دیگه بدون مشکل برنامه رو نوشته و تحویل میدیم.

hamid_0341
شنبه 26 مرداد 1392, 07:50 صبح
منم تازه کارم و خیلی تجربه ای در این زمینه ندارم ولی با نظر اقای davidrobert (http://barnamenevis.org/member.php?251829-davidrobert) موافقم