PDA

نسخه کامل مشاهده نسخه کامل : گفت و گو:نیازمندی های یک برنامه فرهنگ لغت.....(متوسط-پیشرفته!)



senaps
22-05-2012, 12:32
سلام....
قصد دارم که یک فرهنگ لغت برای زبان کردی بنویسم (کردی به فارسی و بلعکس، کردی به انگلیسی و بلعکس، کردی به کردی...)....
در این میان، من تحلیل همه جور برنامه ای رو بلدم غیر این![ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] .....

مثلا، یکی از برنامه هام اینه که سیستم برای گوشی های موبایل و لینوکس اجرا بشه...(مونو البته!!).....
حالا مسئله ی بانک اطلاعاتی به وجود میاد....

ممکنه جایی که قراره برنامه استفاده بشه، ماکروسافت افیس یا سی کو ال منیجر نداشته باشه.... منم تو سیستم بانک اطلاعاتی مشکل دارم.... میشه در این خصوص راهنمایی کنین که بانک اطلاعاتی چجوری باید ساخته باشه؟ سرعت و حجم بالا مورد نظره....

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

مشکل بعدی، اینه که هر لغت، دارای چندین معادل خواهد بود (ترجمه به حالت های مختلف و ....!!!) ایا جست و جوی در بانک اطلاعاتی بر اساس همه‌ی این معادل ها و بخش های جدول امکان پذیره؟؟؟؟

اصلا جدول مربوط به لغات و ترجمه ها باید به چه شکلی باشه؟ برا هر حرف یه جدول؟ برا همه ی کلمات یه جدول بزرگ؟؟؟؟[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

میشه یه استارت پوینت به من بدین....؟ فک کنم بیشتر سوالاتم در مورد بانک اطلاعاتی هستش!!!![ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

szh_1367
22-05-2012, 16:28
درود

اتفاقا امروز داشتم با چنتا دانشجو در مورد پروژه ای شبیه به پروژه شما صحبت میکردم

صحبت ها یکساعته ما به این نتیجه رسید که همه چیز به دید تحلیلی ( نحوه تحلیل ) برنامه نویس بستگی داره

مطئنا همین پروژه فرهنگ لغت را اگر به 5 نفر بدهیم در اخر مشاهده میکنید سیستم به 5 حالت مختلف طراحی شده است

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

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

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

هر سطر این دیتابیس برای کلمه خاصی در نظر گرفته شده است مثلا ستون اول کلمه برنامه نویس ، ستون دوم معادل انگلیسی برنامه نویس ، ستون سوم معادل کلمه برنامه نویس در زبان کردی

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

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

در قسمت ویژوال برنامه هم شما به دو لیست باکس احتیاج دارید که به ستون های دیتابیس اشاره میکند

از نظر من باز گذاشتن دیتابیس برای همه یوزرها اشتباه هست . شما میتوانید برای نرم افزار خود قابلیت اپدیت از طریق اینترنت یا .... در نظر بگیرید

senaps
22-05-2012, 21:41
درود و صد سپاس از همراهیتون....


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


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

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

در مواردی، به دیتابیس تکست فایل یا xml فکر کردم....میتونه برا همه موارد مورد استفاده قرار بگیره....ولی معایبش غیر از سرعت، چی میتونه باشه؟؟ چقد رو سرعت تاثیر داره؟


در قسمت ویژوال برنامه هم شما به دو لیست باکس احتیاج دارید که به ستون های دیتابیس اشاره میکند

هم.... میشه کمی بیشتر توضیح بدین؟؟؟ من بیشتر به یه تکست باکس برا گرفتن ورودی، و یه لیبل یا کومبو برا ارائه پاسخ فکر کرده بودم....!! غیر از این دو کنترل، یه دگمه تنظیمات یه دگمه ترجمه....

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

سپاس از مشارکتتون....

szh_1367
22-05-2012, 22:41
درود و صد سپاس از همراهیتون....


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



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

در مواردی، به دیتابیس تکست فایل یا xml فکر کردم....میتونه برا همه موارد مورد استفاده قرار بگیره....ولی معایبش غیر از سرعت، چی میتونه باشه؟؟ چقد رو سرعت تاثیر داره؟



هم.... میشه کمی بیشتر توضیح بدین؟؟؟ من بیشتر به یه تکست باکس برا گرفتن ورودی، و یه لیبل یا کومبو برا ارائه پاسخ فکر کرده بودم....!! غیر از این دو کنترل، یه دگمه تنظیمات یه دگمه ترجمه....

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

سپاس از مشارکتتون....

کلی تایپ کردم نمیدونم چی شد همه نوشته ها پرپر شد !!!!!!!!!!!!!!!!!!!!!!!!! :18:

انشاالله فردا سر فرصت دوباره مینویسم

senaps
22-05-2012, 23:15
کلی تایپ کردم نمیدونم چی شد همه نوشته ها پرپر شد !!!!!!!!!!!!!!!!!!!!!!!!! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


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

szh_1367
23-05-2012, 21:16
درود و از تاخیر به وجود امده :11:

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



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

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



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

در مواردی، به دیتابیس تکست فایل یا xml فکر کردم....میتونه برا همه موارد مورد استفاده قرار بگیره....ولی معایبش غیر از سرعت، چی میتونه باشه؟؟ چقد رو سرعت تاثیر داره؟


ایده xml نیز ایده خوبی هست حالا بسته به نوع زبان برنامه نویسی و نحوه طراحی میتواند بر سرعت دسترسی شما به اطلاعات تاثیر گذار باشد

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

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

پ.ن: اسم نرم افزار رو خواستی در پیام خصوصی خدمتت عرض خواهم کرد


هم.... میشه کمی بیشتر توضیح بدین؟؟؟ من بیشتر به یه تکست باکس برا گرفتن ورودی، و یه لیبل یا کومبو برا ارائه پاسخ فکر کرده بودم....!! غیر از این دو کنترل، یه دگمه تنظیمات یه دگمه ترجمه....

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

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

به عنوان مثال به این شکل

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

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

امیدوارم که توانسته باشم کمکی هرچند کوچک کرده باشم

senaps
24-05-2012, 00:14
بسیار بسیار سپاس گذارم.....
واقعا کمک کردین.....

فک میکنم تا دست به کار نشم، نمیتونم دقیق تصمیم گیری بکنم....

اره منم برنامه‌های با دیتابیس نوت پد بسیار زیادی دیدم که سرعت وحشتناک بالایی داشتن!!!!!:9: