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

برنامه نویسی

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

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

گروه نرم افزاری اوریون نیز با دانستن این امر، از ابتدای تاسیس شروع به نوشتن نرم افزار کرد. نرم افزار های Windows Based (یعنی قابل اجرا در ویندوز). و تا کنون تعدادی پروژه ی متوسط را پیاده سازی کرده که نکته ی مهم راضی بودن مشتری هنگام تحویل پروژه بوده است. معمولا حجم کار را بر اساس تعداد خطوط کد نوشته شده می سنجند، که به نظر ما اشتباه است. شاید یک برنامه نویس، بتواند الگوریتمی 900 خطی را در 100 خط پیاده سازی کند و شاید هم عکس این قضیه صادق باشد. پس تخمین حجم کار از روی تعداد خطوط درست نیست. باید کارهایی که یک نرم افزار انجام می دهد را به عنوان ملاک تعیین حجم کاری قرار داد. مثلا برای یک نرم افزار مدیریت فروشگاه، بخش های ورود اجناس، حذف و ویرایش اجناس، محاسبه ی در آمد روزانه، هفتگی، ماهانه، از تاریخ ... تا تاریخ ... و فاکتور گیری لازم و معمول هستند و در سطح کاری متوسط به پایین قرار می گیرند. بخش های دیگری نظیر مشتری های دائم فروشگاه، تخفیف به مشتری ها، قرعه کشی ماهانه یا هفتگی، رسم نمودار بر حسب نیاز، چاپ و پشتیبان گیری از بخش های دلخواه (Optional) هستند و با انجام آنها حجم پروژه متوسط به بالا می شود. بخش راهنما هم یکی از ملزومات دیگر هر پروژه است که متاسفانه در بین برخی برنامه نویسان ایرانی نادیده گرفته می شود. این تنها یک مثال از یک نرم افزار بود. به خاطر داشته باشید که هر نرم افزاری بر اساس کاری که انجام می دهد، ویژگی های خاص خودش را باید داشته باشد.

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

ویژگی های تکنیکی :

اکثر کار های انجام شده در گروه ما، تحت چارچوب دات نت (Net Framework.) انجام گرفته است. دات نت فریم ورک، چارچوب ارائه شده برای توسعه ی نرم افزار توسط مایروسافت است. (+) از سال 2002 که دات نت پا به عرصه ی وجود گذاشت، به سرعت رشد کرد تا امروز درصد زیادی از نرم افزار های نوشته شده را شامل شود. (+) کار با دات نت، یک نرم افزار تضمین شده به شما می دهد. علاوه بر این، تکنولوژی جدید دات نت، به اسم Windows Presentation Foundation که به جای استفاده از CPU برای پردازش گرافیک برنامه (شامل عکس ها، خود فرم و ...) از GPU (واحد پردازنده ی گرافیکی، کارت گرافیک) استفاده می کند، امکانات خیلی زیادی را برای طراحی اینترفیس در اختیار طراح قرار داده است. با استفاده از WPF می توان طرح هایی رویایی که حتی فکر کردن به آنها در فرم های معمولی امکان پذیر نبود را به مرحله ی اجرا گذاشت. جالب است بدانید اساس طراحی ظاهر ویندوز 7 نیز با WPF بوده است. یعنی مایکروسافت از تکنولوژی خودش برای توسعه ی سیستم عامل خودش استفاده می کند. گروه نرم افزاری اوریون هم با توجه به رشد روز افزون استفاده از WPF، چندین پروژه را به مرحله ی اجرا در آورده است.

برنامه نویسی

از تکنولوژی دات نت، در انواع زبان های برنامه نویسی می توان بهره برد. بارزترین زبان مورد استفاده #C (سی شارپ) است که زبانی شیئ گراست. از زبان های Visual Basic .Net و C++ CLI که همان سی پلاس پلاس در دات نت است نیز می توان استفاده کرد. زبان برنامه نویسی Delphi نیز چندی پیش پشتیبانی از دات نت را آغاز کرد. به جز دات نت، گروه نرم افزاری اوریون پروژه های با زبان های ++C (سی پلاس پلاس)، Java (خود Java و Java Script)، پایتون (Python) ، مطلب (Matlab)، دلفی (Delphi) و ویژوال بیسیک (Visual Basic) را در حال حاضر می نویسد و برای بقیه ی زبان ها فعلا برنامه ای در دستور کار خود ندارد.

علاوه بر این، گروه ما در زمینه ی برنامه نویسی موبایل نیز گامهایی برداشته است. با استفاده از تکنولوژی J2ME اکنون قادر به ساخت Application های اجرا شونده روی موبایل نیز هستیم. همچنین با استفاده از زبان برنامه نویسی Python امکان برنامه نویسی برای گوشی های موبایل با سیستم عامل Symbian نیز وجود دارد. کما اینکه نرم افزار ویژه ی گوشی های موبایل جای خود را دارند. به علاوه با روند رو به رشد محبوبیت گوشی های هوشمند، گروه نرم افزاری اوریون شروع به نوشتن برنامه های کوچک بر روی پلتفرم های آندروید گوگل و بادا سامسونگ نموده است.

برای نگه داری داده ها، همواره مکانی امن و مطمئن لازم است. جایی که اطلاعات با اطمینان ذخیره شوند، به راحتی بازیابی شوند و امنیت مورد نیاز را همراه داشته باشند. معمولا در نرم افزار های نوشته شده توسط گروه اوریون، از پایگاه داده ی Microsoft SQL Server استفاده می شود. اگر چه از پایگاه داده ی قوی و متن باز MySQL نیز در چند پروژه استفاده شده است. به خاطر داشته باشید که اینکه از چه نوع پایگاه داده ای در کجا استفاده شود بنا به موقعیت خاص تغییر می کند. در بعضی مواقع لازم است از پایگاه های داده ی ساده ای مثل یک فایل XML یا متنی استفاده شود که امنیت لازم را ندارند اما ممکن است در آنجا احتیاجی به امنیت بالا نباشد.

پروژه ها :

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

قیمت ها :

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