میخواهم یه برنامه ای یا نرم افزاری مثلا برنامه ی فروشگاه یا … برای شرکتی به صورت گرافیکی با استفاده از pyQt5 و qt desiner بنویسم ولی متاسفانه نمیدونم باید از کجا شروع کنم، منظورم مراحل ساخت یک نرم افزار هستش.
آیا ابتدا باید نیازسنجی کنم یا ابتدا باید محیط گرافیکی را طراحی کنم و یا غیره؟
برای هر کاری اول باید نقشه و هدف کلی کار را روی برگه ترسیم کنی
بعد از آن ایده ها و راهکارهای بهبود ایده تونا بررسی کنید
وقتی اینها تکمیل شد
به سایتهایی که مشابه کار شما هستند و یا یه بخشی از ایده شما را دارن مراجعه میکنی و طرح کلی کار را آماده و اجرا میکنین
من فقط یک بار تجربه ساختن رابط گرافیکی را داشتهام و شاید تجربیاتم چندان مفید نباشد اما به نظرم قدمهای اولیه اینها هستند:
اول باید دقیق بدانیم که نرمافزارمان قرار است چه قابلیتهایی داشته باشد. همه را روی کاغذ مینویسیم.
شکل کلی نرمافزار چگونه قرار است باشد؟ ابتدا شکل کلی را روی کاغذ میکشیم.
چه منوها و پنلهایی میخواهیم؟ همه اینها را روی کاغذ مینویسیم.
در طی این مراحل همانطور که @Mardanblog گفت بهتر است به نرمافزارهای مشابه نگاهی بیاندازید و از آنها ایده بگیرید. مثلا این که منوی File در نرمافزارهای دیگر معمولا شامل چه زیربخشهایی است و…
از نظرهای پیشین شما این را برداشت میکنم که هنوز هدفتان کاملا مشخص نیست:
نرمافزار کنترل کیفیت با نرمافزار خرید و فروش فروشگاه خیلی تفاوت دارد. اول باید بدانید چرا میخواهید یک نرمافزار طراحی کنید؟ آیا به شما سفارشی داده شده است یا هدفتان فقط تمرین است؟ همه جزییات باید از ابتدا دقیقا مشخص باشد در غیر این صورت نوشتن یک نرمافزار ممکن نیست.
زمانی که هدف مشخص شد باید نقشه کلی راه را روی کاغذ ترسیم کنید. این کار مستقل از زبان برنامهنویسی پایتون، qt و… است. وقتی نقشه کلی راه مشخص شد، آنگاه شروع میکنید به پیادهسازی آن با ابزاری که با آن آشنایی بیشتری دارید.
ممنونم از راهنمایی هاتون من تجربه ای ندارم منم میخواهم برای اولن بار برای شرکتی که کار میکنم برای اسان کردن کارهام وغیره نرم افزاری بنویسم چون کارهای تکراری و نوشتن روی کاغذ و غیره زیاد داره . هدفم اینکه کلا سیستمهای شرکت رو بیام به صورت سیستمی کنم یا بهتر بگم براش نرم افزار طراحی کنم که همه ی قسمتها در یک نرم افزار باشند و هر کس فقط به یک بخشی دسترسی داشته باشند .
اینکه چه قابلیت هایی داشته باشه اینها باید باشه نمیدونم چقدر درست مینویسم
گزارش ماهانه و روزانه 2 . نتایج ازمایشگاهی 3. فرم عدم انظبقاق 4. انالیز ازمایشگاهی 5. کالای ورود و خروج 6. برنامه ریزی خط تولید (زیز تولیدها رو نمایش بده مثلا هر دستگاهی چه انباشته ای رو میزه و چه مقدار و یا سایز ورودی و خروجیش چیه ) لیست کوره - لیست شماره بازررسی و…
شماره دوم درباره شکلی کلی نمیدونم چون مشکلم دقیقا اینجاست ؟ که اول همه رو در صفحه ی اول بیارم یا اینکه نه
درباره ی داشتن چه منو و پنلهایی بازم مشکل دارم
متاسفانه نرم افزار مشابه ی در این زمینه ندیدم به همین خاطر قصد دارم خود طراحی کنم .
نرمافزاری که می خواهید بنویسید خیلی بزرگ و دشوار است. معمولا چنین نرمافزارهایی را یک تیم میسازند نه یک شخص. حتی برای تیمها این فرایند چند ماه یا چند سال طول میکشد. اما میتوانید نسخه اول نرمافزار را فقط با قابلیتهای خیلی مهم شروع کنید.
شروع خوبی است اما باز هم باید دقیقتر شویم. مثلا چه گزارشهای روزانهای نیاز داریم؟
بر اساس گفتههای شما مثلا میتوانیم یک منوی Tools داشته باشیم که شامل این زیربخشها باشد:
Tools
Reports
Data analysis
Planning
بعد باید برای هر کدام از این زیر بخشها یک پنل طراحی کنیم. مثلا یک پنل Reports میخواهیم. سوال این است که چه چیزهایی را میخواهیم گزارش کنیم و به چه شکلی میخواهیم گزارش کنیم؟ مثلا این که آیا شکل و شمایل spreadsheet (شکل زیر را ببینید) برای این کار مناسب است؟
برای همین پیشنهاد میکنم نرمافزارهای دیگر را ببینید تا ایده بگیرید. لزومی ندارد حتما مشابه باشد. مثلا این تصاویر را ببینید و به منوها، جدولها و… دقت کنید.
بعد سعی کنید شکل کلی مد نظر خودتان را روی کاغذ بکشید.
پیشنهادم من اینه که از microsoft access استفاده کنید حداقل در مراحل اول
این یه نرمافزار پایگاه داده هست. توش میتونید جداول مختلف برای دادههاتون داشته باشید و فرم (رابط گرافیکی) برای ورود اطلاعات به هر جدول تعریف کنید و فرمت گزارش دلخواهتون رو تعریف کنید و از جدول گزارش بگیرید. قابلیتهای محاسباتی شبیه به اون چیزی که در spreadsheetها (مثل microsoft excel) هست، هم تا حد خوبی در این نرمافزار هست.
استفاده از این کمک میکنه که به جای این که درگیر جزییات برنامهنویسی و پیادهسازی رابط گرافیکی بشید بتونید روابط بین دادههاتون رو درست پیادهسازی کنید. تو فرمهایی که طراحی میکنید میتونید درستی اطلاعات ورودی رو هم پیادهسازی کنید.
درسته یک تیم این نرم افزار رو مینویسه من میخواهم از الان شروع کنم حالا شد یک سال یا دو سال روی این نرم افزار به صورت فردی کار کنم که هم مراحل ساخت یک نرم افزار رو کامل یاد بگیرم و هم بتونم نحوه ی کد نویسی و ارتباط برقرار کردن و…رو یاد بگیرم و همچنین یک نمونه ی کاری این نرم افزار م میتونه باشه
اگر من بیام فرمهایی کاغذی رو به نرم افزار تبدیل کنم اشتباهه ؟ من فردا یا پس فردا همه ی فرمهای کاغذی که در شرکت وجود داره رو اینجا اپلود میکنم شاید این فرمها بهتر بتونه کمک کنه که من چه چیزی مد نظر دارم و یا چه چیزهای باید اضافه بششه
چرا فکر میکنید اکسس خوب نیست؟ نرمافزاری که شما در ذهن دارید چه قابلیتی اضافه بر اکسس دارد که به نرمافزار شما برتری میدهد؟
به نظرم نوشتن نرمافزاری که نمونه آن موجود است (به ویژه که اکسس در ایران رایگان است) تلف کردن چند سال از زندگی است.
به نظرتان با یک یا دو سال کار کردن میتوانید برنامهای بنویسید که با Microsoft Access که نسخه اولش در سال ۱۹۹۲ منتشر شده است رقابت کند؟
اگر هدفتان فعلا تمرین و یادگیری است، به نظرم با یک نرمافزار سادهتر شروع کنید. مثلا یک ماشینحساب بسازید که محاسبات آماری را انجام دهد و نمودار رسم کند.