نرم افزار
نرمافزار
نرمافزار (به انگلیسی: Software) یا برنامه، مجموعهای از دستورالعملهای دقیق و مرحله به مرحله است که هدف خاصی را دنبال میکنند.
ظاهراً، اولین بار جان توکی در سال ۱۹۵۸ این واژه را بهاین معنا بهکار بردهاست. احتمالاً این واژه در مقابل سختافزار (به انگلیسی: Hardware) به کار بردهاند که بسیار پیش از پیدایش رایانه (به معنای اسباب و اشیاء) بهکار میرفتهاست.
دو گروه کلی نرمافزارها
نرمافزارهای رایانه را میتوان به دو دسته بزرگ تقسیم کرد:
نرمافزار سیستم (به انگلیسی: System software)
نرمافزار کاربردی (به انگلیسی: Application software)
میتوان گفت نرمافزارهای کاربردی، برنامههای مورد استفاده کاربرند و نرمافزارهای سیستمی، مدیریت رایانه را برعهده دارند. مهمترین نرمافزار سیستم، سیستمعامل است.
سیستم عامل
وقتی برنامهای را روی رایانه خود نصب میکنید، اجزای سختافزاری آن به فرمان آن برنامه در میآیند. برای نمونه هنگامی که با یک برنامه اجرای موسیقی کار میکنید، کارت صدای رایانه تان با برنامه پخش موسیقی همکاری میکند و یک آهنگ یا پرونده (فایل) صوتی را از طریق بلندگوی رایانه تان پخش میکند.
این ارتباط میان نرمافزار و سختافزار توسط سیستم عامل انجام میشود. این تنها قسمتی از کار سیستم عامل است.
سیستم عامل خود یک برنامه نرم افزاری است با این تفاوت که چون تمام منابع و امکانات سخت افزاری در اختیار وی می باشد دارای ویژگی منحصر به فرد می باشد بنابراین آن را در رده نرم افزارها می خوانیم با این ویژگی که از اهمیت خاصی برخوردار است. به بیان دیگر سیستم عامل یک برنامه جامع است که اجازه در اختیار قراردادن منابع و امکانات سخت افزاری را برای نرم افزارها صادر می کند و این سیستم عامل است که مسئول صحت عملکرد سیستم و منابع آن است.
سیستم عامل شامل 4 بخش مهم است
1- مدیریت پردازش و پردازشگر
2- مدیریت حافظه
3- مدیریت دستگاههای ورودی و خروجی (I/O)
4- مدیریت فایل
سه گروه کلی نرمافزارهای معماری
از دیدگاه ساختاری (معماری) (architecture)، نرمافزارها به دستههای زیر تقسیم میشوند:
کاربر-بنیان یا Client Base
کارگزار-بنیان یا Server Base
کاربر کارگزار بنیان یا Client-Server Base
امروزه واژه نرمافزار را در معناهایی به جز معنی برنامه رایانهای نیز بهکار میبرند. مثلاً در دانش مدیریت برای اشاره به روشها و دانش فنی (در برابر وسایل و تجهیزات و نیروی انسانی). نرمافزارها انواع گوناگونی دارند که مهم ترین دسته بندی آنها دستهٔ تجاری و آزاد است. به ویژه با رویکردهای طرحهای گنو و لینوکس معنای ژرف تری به نرمافزارهای آزاد داده شده تا آنجا که برخی نرمافزارها را نماد فرهنگ می دانند. نرمافزارها را برنامه نویسان تدوین کرده و انتشار میدهند. این برنامه نویسان ممکن است در یک شرکت مشغول کار باشند یا در خانه برنامه نویسی کنند مانند برنامه نویسان برخی نرمافزارهای لینوکس. امروزه بیشتر کاربران تنها با ظاهر گرافیکی این برنامهها کار میکنند و اقدامات بسیاری از آنها از دید کاربر پنهان میماند به عبارتی هر نرمافزار مجموعهای از رمزها است که از الگوریتمی خاص پشتیبانی میکنند این رمزها خود با رمزهای گرافیکی آمیخته شده و بسیاری از اقدامات برنامه به دور از چشم کاربر عادی رخ میدهد. برنامهها با رمزهایی نوشته میشوند که بعداً یک رمزخوان آن را در رایانه کاربر اجرا میکند.
رقابت نرمافزاری
در حال حاضر نرمافزارهای کامپیوتری فراوان را میتوان در بازار یافت که به طور جدی به رقابت خود برای بقا ادامه میدهند. از مسائل قابل ذکر در این مورد میتوان به خرید سهام شرکتهای نرمافزاری کوچک و بزرگ توسط شرکتهای دیگر اشاره نمود. همچنان که شرکت بزرگ گوگل به خرید سهام شرکتهای بزرگ همچنان ادامه میدهد، در مدت کمی توانسته بسیاری از شرکتها را تحت سلطه خود درآورد.
نرمافزار سیستم
نرمافزار سیستم به نرمافزاری در رایانه گفته میشود که به کارکرد سیستم رایانه یا کاربردهای سطح پایین (یا Low Level) رایانه مربوط باشد. این نرمافزارها به ساختار فیزیکی سختافزار رایانه وابسته هستند و در نوشتن آنها از زبانهای سطح پائین مانند زبان اسمبلی استفاده میشود. سیستمعامل و درایورها از نرمافزارهای سیستم هستند. از جمله زبان هایی که برای نگارش نرمافزارهای سیستمی استفاده میشود، زبان برنامه نویسی C میباشد. کار کردن با سی برای برنامه نویسان راحت تر است و آنان این زبان را به اسمبلی ترجیح میدهند. اگر برای نگارش نرمافزار سیستمی مشکل محدودیت فضای سختافزاری داشته باشیم بهتر است با زبان اسمبلی کار کنیم که حجم آن پایین تر است. نرمافزارهای سیستمی به سختافزار وابسته اند.
در برابر نرمافزار سیستم، نرمافزار کاربردی قرار دارد که برای کاربردهای سطح بالا و غیرسیستمی رایانه است و معمولاً به زبانهای سطح بالا نوشته میشود که از جزئیات سختافزاری سیستم مستقل است.
نرمافزار کاربردی
نرمافزار کاربردی (به انگلیسی: Application software) عبارت است از نرمافزاری که با استفادهٔ مستقیم از منابع و قابلیتهای رایانه کاری را مستقیماً برای کاربر انجام میدهد. باید توجه داشت که این عبارت در مقابل عبارت نرمافزار سیستمی معنی پیدا میکند.
نرمافزار سیستمی در مقابل در پسزمینه عمل میکند و خدماتی را فراهم میکند که دیگر نرمافزارها و یا سیستمعامل میتوانند برای انجام کارهای خود از آن استفاده کنند. اما در عوض معمولاً مستقیماً با کاربر عادی در تماس نیست و خدماتی را به او ارایه نمیدهد.
در عمل بیشتر نرمافزارهایی که کاربران با آنها سر و کار دارند از این دسته محسوب میشوند. برای مثال میتوان به نرمافزارهای رومیزی یعنی واژهپردازها، صفحه گستردهها، نرمافزارهای طراحی گرافیکی، بازیهای رایانهای و امثال آنها اشاره کرد.
بسیاری نرمافزارهای کاربردی، برای توسعهدهندگان ابزار رابط برنامهنویسی کاربردی هم فراهم میکنند تا بتوان از قابلیتهای نرمافزار در نرمافزارهای جدید استفاده کرد. برای مثال نرمافزار ادوبی آکروبات هنگام نصب ایپیآی فراهم میکند که برنامهنویس میتواند با استفاده از آن تواناییهای آکروبات را در برنامهٔ خود به کار گیرد.
برای عنوان نمونههای دیگر میتوان به نرمافزارهای پردازش متن، برگههای گسترده (صفحات گسترده) و نرمافزارهای پخش نوا و نما اشاره کرد.
نرمافزار فروشگاه اینترنتی
نرم افزار فروشگاه اینترنتی نوعی نرم افزارتجارت الکترونیکی بر پایه وب است که به عرضه کنندگان یا فروشنده کالا ها و خدمات این امکان را میدهد تا محصول ها و خدمات خود را از طریق شبکه جهانی اینترنت به سراسر دنیا معرفی کرده و بازاری جهانی برای تجارت خود ایجاد کنند، همچنین این نوع خرید و فروش امکان مقایسه و خرید کالاها و سرویسهای مورد نیاز را مستقیما از طریق فروشگاه های اینترنتی موجود در سرتا سر جهان بدون محدودیت زمانی و جغرافیایی به مشتریان میدهد.
برای ایجاد چنین محیطی در اینترنت نیاز به ابزاری است تا به وسیلهٔ آن بتوان یک فروشگاه اینترنتی راه اندازی کرد. این ابزار اغلب با نام نرم افزار فروشگاه اینترنتی (فروشگاه ساز) شناخته میشود. در واقع این یک نرم افزار با قابلیت های فروشگاهی است که بر روی بستر وب پیاده میگردد.
نرم افزار فروشگاه اینترنتی برای فروشندگان و تولیدکنندگان این امکان را مهیا میسازد که کالاها و خدمات خود را به صورت مستقیم برروی شبکه جهانی اینترنت عرضه کنند تا مردم بتوانند با اتصال به نام دامنه فروشگاه اطلاعات کامل کالاها و خدمات را مشاهده کرده و آنها را به صورت آنلاین سفارش دهند. فروشگاه اینترنتی یا آنلاین معمولا مانند یک سبد خرید مجازی عمل میکنند و در برخی مواقع با این نام نیز شناخته میشوند و به مشتریان این امکان را میدهد تا فهرستی از کالاهای مورد نیاز خود برای خرید را انتخاب کرده، به سبد خرید مجازی خود اضافه کنند که معمولا این عمل را با استفاده از گزینه ی« اضافه کردن محصول به سبد » انجام میدهند. سپس نرم افزار لیست تهیه شده توسط مشتری را بررسی و امکان انتخاب نحوه پرداخت مبلغ سفارش و انتخاب نحوه حمل و نقل سفارش را مهیا میکند. سپس هزینهٔ کلی سفارش اعم از مبلغ قابل پرداخت برای هر محصول و هزینهٔ بسته بندی و ارسال را محاسبه و برآورد میکند و سفارش به طور کامل جهت رسیدگی توسط فروشنده ثبت میگردد. موجود بودن کالا، ثبت سفارش اولیه، تائید سفارش، تعیین نحوه دریافت کالا و تائید دریافت نهایی کالا معمولاً در همین نرم افزار انجام می پذیرد. این نرم افزار حکم یک واسط کاربری در اینترنت با فروشندگان را دارد که قابلیت های سیستماتیک فراوانی نیز دارد. معمولاً این نرم افزارها سیستم های مالی، سفارش کالا، موجودی انبار و سیستمهای پرداخت آنلاین را هم پشتیبانی میکنند و تمامی قابلیت ها را در یکجا فراهم میکنند.
تاریخچه و واژگان
پس از پیدایش اینترنت (World Wide Web)، آن به یک رسانهٔ جمعی تبدیل شد و سیستم های خرید اینترنتی ایجاد و توسعه یافتند. این نوآوری نتیجهٔ راه اندازی مرورگر Mosaic در سال ۱۹۹۳ و Netscape در سال ۱۹۹۴ بود. این سیستم محیطی را به وجود آورد که در آن ایجاد فروشگاههای تحت وب (فروشگاه اینترنتی ) ممکن بود. بنابراین اینترنت و WWW به عنوان ابزارهای زیرساختی و کلیدی به انتشار و توسعه سریع تجارت الکتریکی کمک کردند. تجارت الکترنیکی (به عنوان زیر مجموعهای از E-BUSINESS) به تمامی سیستم های کامپیوتری اتلاق میشود که از معاملات دادوستدی حمایت و پشتیبانی میکنند. در سال ۱۹۹۸ به طور عمومی ۱۱مدل تجارت الکتریکی وجود داشت که یکی از آنها مدل تجارتی(B2C business to customer) E-SHOP یا همان فروشگاه اینترتی بود که فروشگاه آنلاین(ONLINE SHOPPING) نیز نامیده میشد.
دو واژهٔ E-SHOP و ONLINE SHOP مترادف هم هستند. واژهٔ خرید آنلاین خیلی قبل تر در سال ۱۹۹۴ اختراع شده بود(به عنوان مثال برای سیستمهای تلویزیونی). امروزه این واژه در مورد مدل B2C از تجارت الکترونیکی بکار میرود. برای اینکه خرید اینترنی ممکن شود، به یک سیستم نرم افزاری نیاز است. به منظور ایجاد امکان خرید آنلاین برای تمامی مشتریان، فروشگاههای اینترنتی بر پایه www تکامل یافتند. برای این مدل از سیستمهای خرید اینترنتی کلمهٔ اختصاری (web shop) استفاده میشود. هیچ واژهٔ یکنواخت و ثابتی برای این مدل از سیستم تجارت الکترونیکی بوجود نیامده مثلا در مناطقی که به زبان آلمانی حرف میزنند واژگانی مانند web shop) software) و یا ((online shop software مورد استفاده قرار میگیرد ویا در آمریکا واژهٔ (shopping cart software) ایجاد شده و مورد استفاده قرار میگیرد.
مدل توسعه نرم افزار فروشگاه اینترنتی
نرم افزارهای فروشگاه اینترنتی به دو صورت رایگان(Free Software) و تجاری (Commercial) توسعه داده شده و عرضه میشوند:
1- نرم افزار فروشگاه اینترنتی رایگان: مدل توسعه نرم افزار آزاد در زمینه تولید این مدل نرم افزارها نیز مورد استفاده قرار گرفته و مورد قبول جامعه قرار گرفتهاست. در این مدل توسعه جمعی از افراد متخصص و برنامه نویس از نقاط مختلف دنیا برروی یک نرم افزار کدبار (Open Source) مشارکت کرده و نهایتا در قالب یک لایسنس آزاد نرم افزار را جهت استفاده تمامی افراد جامعه منتشر میکنند. در این مدل توسعه معمولا نرم افزار به صورت رایگان در اختیار تمامی افراد جامعه قرار داده میشود و برخی اوقات شرکتهایی نیز از جامعه توسعه دهنده نرم افزار حمایت مالی میکنند که در این صورت شرکتهای مذکور از خدمات جانبی در کنار نرم افزار درآمد زایی دارند. مزیت اصلی نرم افزار فروشگاه اینترنتی رایگان این است که می توان آن ها را بروی هر وب سروری که با آن سازگاری دارد نصب و میزبانی کرده و در کمترین زمان ممکن صاحب یک فروشگاه با کمترین هزینه شد. همچنین سورس کدهای نسخهٔ آزاد معمولا برای ویرایش وتغییر ویا سفارشی کردن برنامه در دسترس میباشد....
پشتیبانی نرم افزارهای آزاد معمولا از طریق انجمنهای کاربری و توسعه دهندگان آن نرم افزار ارائه میشود ولی در صورتی که بخواهید از یک پشتیبانی حرفهای و تمام وقت بهره مند شوید نیاز خواهد بود که هزینه دریافت خدمات پشتیبانی را پرداخت کنید. لازم به توضیح است که نرم افزارهای رایگان فروشگاه اینترنتی معمولاً به ساده ترین شکل ممکن رایگان هستند و برای توسعه و یا افزایش توانایی های آنها باید مبالغی را پرداخت نمود و یا اینکه از متخصصین نرم افزار برای توسعه آنها بهره جست.
۲- نرم افزار فروشگاه اینترنتی تجاری(غیر رایگان): این مدل نیز امروزه در خیلی از مراکز نرم افزاری پرکاربرد، توسط شرکتهای مختلف عرضه می شود. شرکتهای مختلف تولید کننده نرم افزارهای تحت وب با تشکیل تیمهای برنامه نویسی و سرمایه گذاری در این زمینه، نرم افزار با امکانات گسترده تولید و به بازار عرضه میکنند که معمولا تحت لایسنس آن شرکت میباشند. برای استفاده از این مدل نرم افزارها بایستی در ابتدا هزینه تهیه نرم افزار و قرارداد اولیه را پرداخت نمود ولی با پرداخت این هزینه مطمئن خواهید بود که از یک نرم افزار حرفهای با خدمات پشتیبانی قابل اعتماد بهره میبرید. البته شرکتهای مختلف در این زمینه امکانات نرم افزار و خدمات متنوعی ارائه میکنند که معمولا فروشندگان و تولید کنندگان در زمان انتخاب نرم افزار فروشگاه اینترنتی گزینههای بیشتری جهت بررسی و انتخاب خواهند داشت.
مشخصات فنی
برای توسعه نرم افزار فروشگاه اینترنتی معمولا از زبان های برنامه نویسی سمت سرور نظیر PHP و ASP.net و همچنین یک سیستم پایگاه داده جهت نگهداری اطلاعات محصول ها، مشتریان و سفارشات به عنوان مثال MySQL یا MS SQL Server بهره گرفته می شود. در نرم افزارهای فروشگاه اینترنتی مدرن جهت تعامل بهتر با مشتریان و مدیریت فروشگاه از زبانهای برنامه نویسی سمت کلاینت نظیر جاوااسکریپت و کتابخانه های مبتنی بر آن نظیر Jquery و Prototype استفاده می شود. در این نرم افزارها تمامی اطلاعات محصول ها توسط مدیریت فروشگاه در دیتابیس مرکزی فروشگاه برروی سرور اینترنتی ذخیره و نگهداری می شود که مشتریان می توانند با مراجعه به آدرس اینترنتی فروشگاه اطلاعات ذخیره شده در دیتابیس آن را مشاهده کرده و برخی اوقات نسبت به مقایسه اطلاعات محصول ها اقدام کنند. با توجه به حجم اطلاعات نگهداری شده در دیتابیس معمولا از تکنیک های مختلفی جهت افزایش امنیت و بهینگی کدها استفاده می گردد. موضوع مهمی که در این قضیه مطرح است صحت داده های فروشگاه و امنیت بالای ذخیره سازی اطلاعات می باشد تا تراکنش های آنلاین در محیط امنی ذخیره و نگهداری گردند.
در نرم افزارهای فروشگاه اینترنتی عموما با اتصال به درگاه های بانکی مختلف امکان پرداخت مبلغ سفارشات به مشتریان داده می شود. از جمله درگاه های بین المللی می توان به PayPal و 2Checkout و Google Checkout اشاره نمود که وظیفه این درگاه ها دریافت اطلاعات بانکی مشتریان، بررسی صحت اطلاعات و انجام تراکنش انتقال وجه از حساب مشتری به حساب فروشنده می باشد. درگاه های بین المللی به طور عمومی در داخل ایران قابل استفاده نمی باشند و این درگاه های اطلاعات شبکه بانکی ایران را نمی پذیرند. به همین دلیل در داخل ایران درگاه های مختلفی که قادر به پردازش اطلاعات بانکی مشتریان شبکه بانکی ایران می باشند بوجود آمده اند که این درگاه ها با اتصال به شبکه شتاب (شبکه تبادل اطلاعات بانکی) قادر به انجام تراکنش از حساب مشتریان به حساب فروشندگان می باشند. از جمله درگاه های داخل کشور می تواند به درگاه پرداخت امن پاسارگاد، درگاه بانک سامان، درگاه بانک ملت و درگاه بانک پارسیان اشاره نمود.
مشتریان با مراجعه به فروشگاه های اینترنتی اطلاعات محصول های داخل فروشگاه را مشاهده کرده و محصول های موردنظر خود را به سبد خرید مجازی خود اضافه می کنند که با این کار معمولا اطلاعات سبد خرید در سمت سرور با استفاده از SESSION ها ذخیره و نگهداری می گردد. بعد از تکمیل مراحل خرید و انجام تراکنش موفق بانکی اطلاعات SESSION به اطلاعات قابل ذخیره برروی دیتابیس فروشگاه تبدیل شده و کلیه اطلاعات مربوط به سفارش و مشتری جهت بررسی توسط فروشنده ذخیره و نگهداری می شود. مشتری قبل از ثبت نهایی سفارش می تواند سبد خرید خود را خالی کند که در این صورت فقط اطلاعات از SESSION آن مشتری حذف می گردد.
برخی نرم افزارهای فروشگاه اینترنتی اجازه تشکیل سبد خرید مجازی را نداده و فقط امکان ثبت یک محصول در هر سفارش را دارند که در این صورت فقط مبلغ آن محصول در درگاه بانکی پرداخت می گردد (به عنوان مثال نرم افزار فروشگاه ساز رایگان PayPal). نرم افزار فروشگاه اینترنتی به عناوین دیگری نظیر نرم افزار تجارت الکترونیک، نرم افزار فروشگاه الکترونیکی، نرم افزار فروشگاه آنلاین و یا فروشگاه ساز (به طور عمومی) شناخته شده است.
راهنمای انتخاب نرم افزار فروشگاه اینترنتی
برای راه اندازی فروشگاه اینترنتی به یک فروشگاه ساز مناسب احتیاج دارید. اسکریپت های زیادی برای تاسیس فروشگاه وجود دارند. یک فروشگاه ساز مناسب و پرقدرت باید عوامل متعددی را پشتیبانی کند.
یکی از مهمترین قابلیت های یک فروشگاه ساز اینترنتی، کاربر پسند بودن آن است. یک فروشگاه ساز باید برای استفاده کاربران مبتدی آسان باشد. قسمت مدیریت فروشگاه باید دارای طرح بندی و اینترفیس مناسب برای سهولت در استفاده باشد همچنین قسمت کاربران (مشتریان فروشگاه) باید به اندازه کافی برای سفارش و خرید راحت باشد. برای این منظور اسکریپت فروشگاه سازی را انتخاب نمایید که اینترفیس مناسبی داشته باشد.
یکی از عوامل مهم دیگر امکانات و قابلیت انعطاف پذیری و گسترش فروشگاه است. یک سیستم شاپ ساز مناسب سیستمی است که امکانات کاملی برای مدیریت فروشگاه داشته و قابلیت افزایش امکانات آن بدون نیاز به باز نویسی اسکریپت فروشگاه وجود داشته باشد. برای این منظور سیستم شاپ سازی را انتخاب نمایید که ماژول پذیر بوده و بدون نیاز به از نو نویسی قابل گسترش باشد.
عامل مهم دیگر سرعت اسکریپت فروشگاه ساز می باشد. فروشگاه شما باید با سرعت مناسب نمایش داده شود و کاربران منتظر لود شدن صفحات نمانند. برای این منظور نرم افزار فروشگاه سازی را انتخاب نمایید که قابلیت لود سریع داشته و از آخرین نسخه بانک اطلاعاتی استفاده نمایید و همچنین حتما سیستم cache برای تصاویر و صفحات داشته باشد تا ضمن بهبود به سرعت لود، منابع کمتری از سرور هاست شما را استفاده نماید.
نکته بعدی داشتن امکانات بومی است. اسکریپت های خارجی بسیاری برای برپایی شاپ های آنلاین وجود دارد اما نکته مهم آن است که یک فروشگاه ایرانی باید قابلیت های بومی را داشته باشد. زبان فروشگاه فارسی باشد، امکان پشتیبانی از بانک های کشور و پرداخت آنلاین بانک ها را داشته باشد، از سیستم های خرید پستی پشتیبانی کند، از روش های پرداخت مرسوم در کشور پشتیبانی کند.
یکی دیگر از عوامل، زیبا بودن فروشگاه تاسیس شده است. یک فروشگاه زیبا مشتری بیشتری جذب خواهد نمود. برای این منظور اسکریپت فروشگاه سازی را انتخاب نمایید که قالب پذیر بوده و بتوان برای آن قالب طراحی کرد. قالب های مرسوم معمولا دارای دو ستون یا بیشتر بوده که در یک یا دو ستون قالب، ماژول ها قرار گرفته و در ستون اصلی محتوای فروشگاه قرار می گیرد. هدر و فوتر باید قابل تغییر باشد و بنر زیبایی نیز برای آن طراحی نمایید.
عامل مهم دیگر امکانات آماده جانبی است. هرچه امکانات جانبی فروشگاه بیشتر باشد فروشگاه بهتری خواهید داشت. امکاناتی از قبیل پشتیبانی آنلاین، امکان ارسال پیامک (SMS) برای مشتریان و پیگیری سفارشات در مراحل مختلف توسط SMS و ایمیل، امکان تعریف آپشن های جداگانه برای کالاها، خروجی RSS و اکسل و امکاناتی از این قبیل.
مورد بعدی سئو می باشد. فروشگاه با SEO قدرتمند باعث بالا آمدن در رتبه گوگل و خرید بیشتر خواهد بود. از فروشگاه سازی استفاده نمایید که موارد SEO را رعایت نموده و امکانات سئو مناسب برای کالاها از قبیل درج کلمات کلیدی در متا تگ ها و URL کالا ها و دسته بندی ها داشته باشد.
و اما مهمترین عامل پشتیبانی پس از فروش است! یک فروشگاه هر چقدر هم که مناسب و قوی باشد باز به مشکل برخواهد خود و پشتیبانی پس از فروش عاملی موثر خواهد بود. فروشگاه ساز های رایگان از پشتیبانی بی بهره هستند و در هنگام بروز مشکل خود شما باید دست بکار شده و مشکل را برطرف نمایید. یک فروشگاه ساز مناسب فروشگاه سازی است که پشتیبانی مناسب داشته باشد.
نرمافزار موبایل
نرمافزار موبایل نرمافزاری قابل اجرا برروی گوشیهای تلفن همراه میباشد که معمولاً با حجم کم و در ابعاد صفحه تلفن همراه عرضه می شود.
معمولا این نرمافزارها با زبان برنامهسازی جاوا نوشته می شوند که بر روی اکثر گوشیهای تلفن همراه اجرا میشوند. ولی تعداد قابل توجهی از این نرمافزارها مختص سیستم عامل سیمبین طراحی می شوند و فقط بر روی گوشی هایی که دارای این سیستم عامل می باشند قابل نصب و اجرا هستند.
اخیرا سیستم عاملهای جدید مانند سیستم عامل اپل موسوم به "آی او اس" که برروی گوشیهای آیفون نصب میباشد و آندروید که سیستم عاملی مبتنی بر لینوکس میباشد نیز عرضه شده اند که طراحی نرمافزار برای این سیستم عاملها نیز در حال رشد می باشد.
تولید نرمافزار تلفن همراه در ایران نیز در حال پیشرفت میباشد و بیشتر نرمافزارهای فارسی تلفن همراه در بستر جاوا طراحی می شوند تا روی اکثر گوشیهای تلفن همراه موجود در ایران قابل اجرا باشند
نفخ نرمافزار
نفخ نرمافزار اصطلاحی است که گرایش برنامههای رایانهای جدید را به موارد زیر دربر میگیرد:
بجا گذاشتن ردپاهای عظیم هنگام نصب
استفادهٔ اسرافگرایانه از منابع سامانه
ارائهٔ امکانات بیموردی که کاربران از آنها استفاده نمیکنند
این درحالی است که درمقابل نفع کم یا شاید هیچ منفعتی برای کاربر ندارند.
نفخافزار، یا جازنافزار، همچنین برای توصیف نرمافزارهایی که در هنگام خرید یک رایانه روی آن پیشنصب شدهاند نیز بکار میرود. اینگونه نرمافزارها معمولاً نسخههای آزمایشی زمان-محدود یا نسخههای ابتدایی با حذف بعضی امکانات هستند.
علل
توسعهدهندگان نرمافزار شاغل بکار در دههٔ ۱۹۷۰ مجبور به سروکله زدن با محدودیتهای شدید فضای دیسک و حافظه بودند. هر بایت حافظه و هر کلاک سایکل پردازنده بحساب میآمد، و تلاشی تحسین برانگیز برای گنجاندن برنامه در منابع موجود در جریان بود. آنان برنامهنویسانی متخصص و صرفهجو بودند.
امروزه وضعیت برعکس شده، منابع پست انگاشته میشوند، سریع کُدزنی و داشتن امکانات خبرساز اولویت کار است، و این تاحدی به پیشرفت فناوری مربوط است. سرعت محاسبه و گنجایش ذخیرهسازی چندین برابر شده، درحالیکه هزینهٔ تولید سختافزار هم به همان شدت کاهش یافته (قانون مور را ببینید). علاوه بر آن گسترش استفاده از رایانه در همهٔ لایههای بازرگانی و زندگی خانگی، بازار رایانهٔ بسیار بزرگتری نسبت به دههٔ ۱۹۷۰ درست کرده است.
دراینمیان، استفادهٔ شرکتهای نرمافزاری از توسعهدهندگان نرمافزار جوان که با آن محدودیتهای دههٔ ۱۹۷۰ دست و پنجه نرم نکردهاند—چراکه آنروز کودکی بیش نبوده یا هنوز به دنیا نیامده بودند—و هدر رفتن چند صد مگابایت از دیسک، گاف چند مگابایتی در حافظه، یا معطل ماندن یک هستهٔ پردازنده چندان هم برایشان دردآور نیست، به تولید و بازاریابی موفق نفخافزارها کمک میکند. روش برنامهسازی این نسل از برنامهنویسان برای پیرهای این کار مانند استیو گیبسون هراسانگیز است.
مثالها
آیتونز اپل متهم به نفخدار بودن است. دلیل آن تبدیل تدریجیاش از یک پخشکنندهٔ چندرسانهای به یک سکوی تجارت الکترونیک و تبلیغات است. اد بوت نویسندهٔ سابق پیسی ورلد شرکت اپل را به ریاکاری در تبلیغاتش علیه ویندوز متهم کردهاست.
مایکروسافت ویندوز هم خودش متهم به نفخدار بودن است؛ با اشاره به ویندوز ویستا، اریک تراوت مهندس مایکروسافت میگوید «خیلی از مردم در مورد ویندوز بهعنوان یک سیستمعامل بزرگ نفخدار میاندیشند، که باید اعتراف کنم تجسم خوبی است... اما در هستهاش، کرنل، و اجزایی که آنرا میسازند، در حقیقت خیلی ساده و مؤثر است.»
ابزارهای رایت سیدی و دیویدی مانند نرو برنینگ رام هم متهم به نفخافزار بودن هستند. دلیل آن وجود امکانات زائدی است که برای کاربر معمولی هرگز بکار نمیآیند، اما در نصب پیشگزیده نصب میشوند، یا حتی در حالت کاستوم هم جلوی نصب آنها را نمیتوان گرفت.
جدا از امکانات زاید، محدودیتهای زمانی در فرایند تولید نرمافزار و مدیریت بیفکر، منجر به باقی ماندن و جا خوردن کُدهای قدیمی در ساخت نسخههای جدید نرمافزارها میشود. یک مثال خوب از این مورد، ادوبی اکروبات ریدر است، که در مسیر گسترش پیدیاف، هر روز رشد کرده و امروزه پروندهٔ نصاب آن بیش از ۳۷ مگابایت حجم دارد؛ در مقابل، بقیهٔ پیدیاف خوانها بستههای نصاب بسیار کوچکتری دارند، مانند فاکسیت ریدر که پروندهٔ نصاب آن تنها ۵ مگابایت است.
کرک کردن نرمافزار
کِرَک کردن نرمافزار یعنی تغییر دادن نرمافزار به منظور حذف کردن روشهای حفاظتی آن نرمافزار. از جمله این روشهای حفاظتی میتوان به موارد زیر اشاره کرد:
ممانعت از کپی، نسخه نمایشی
آزمایشی
شماره سریال
قفل سختافزار و ...
تا بتوان از آن بر خلاف خواسته ی سازندگان یا روشی که سازندگان در نظر گرفته اند استفاده کرد.
به افرادی که کرک میکنند کرکر گفته میشود. کرکرها با استفاده از دیباگرها و دیس اسمبلرها برنامهها را کرک میکنند. به عنوان مثال در کشور ایران به علت نبود قانون حق کپی یا کپی رایت انبوهی از نرم افزار های کرک شده در دسترس کاربران هستند مانند نرم افزار فتوشاپ که در ایران بسیار ارزان فروخته میشود. نرمافزار کرک شده دارای اعتباری برای شرکت سازنده آن نمیباشد و معمولا قابلیت به روز رسانی را نیز دارا نیست .
فرایند توسعه نرمافزار
فرایند تولید نرمافزار که با عنوان «چرخهٔ حیات تولید نرمافزار» نیز شناخته میشود، ساختاری است که روی توسعه و تولید محصولات نرمافزاری اعمال میشود. عبارتهای مشابهی چون «چرخهٔ حیات نرمافزار» و «فرایند نرمافزار» در این رابطه استفاده میشود.الگوهای گوناگونی نظیر فرایندهای (خاص) وجود دارند که هر کدام خط مشی مختص (آن فرایندها) برای انجام کارها و فعالیتهای متنوع در طول فرایندها را مشخص میکنند. برخی عنوان میکنند که «طرح چرخهٔ حیات» یک عبارت بسیار عمومی بوده و «فرایند تولید نرمافزار» عبارت تخصصیتر است. برای مثال خیلی از فرایندهای تولید نرمافزار ویژهای هستند که خود زیر مجموعه چرخهٔ حیات حلزونی به شمار میروند.
فعالیتهای تولید نرمافزار
برنامهریزی (امکانسنجی)
از مهمترین کارها در تولید نرمافزار استخراج نیازمندیها یا تحلیل نیازمندیهای آن سامانه است. مشتریان عمومی معمولاً تصور مفهومی، انتزاعی و مبهمی از نتیجه نهایی خواستههایشان دارند و نمیدانند به درستی نرمافزار مورد نظرشان چه کاری باید انجام دهد. در این مرحله نیازمندیهای ناتمام، پیچیده و مبهم، و حتی متضاد توسط مهندسان نرمافزار ماهر شناسایی میشوند. در این برهه تکه نرمافزارهای آماده، تجربهشده و فعال ممکن است برای پایین آوردن ریسک (و مشکلات) نیازمندیها کمک کنند.نخست نیازمندیهای عمومی از کاربران جمعآوری شده و دامنه توسعه و تولید نرمافزار که باید تولید شود شناسایی و تحلیل میشود، سپس مستندات بصورت شفاف نوشته میشوند. معمولاً به این مستند، مستند دامنه یا محدوده سامانه اطلاق میشود.برخی قابلیتها ممکن است در ابتدای پروژه به خاطر مسائل مالی یا نیازمندیهای غیر شفاف و نامشخص خارج از محدوده پروژه باشند. اگر تولید و توسعه نرمافزار برونسپاری شود (یعنی به شرکتهای خارجی محول شود) این مستندات به عنوان مستندات قانونی و حقوقی در نظر گرفته میشود؛ بنابراین در صورت اتفاق هرگونه دعوای حقوقی یا ابهام در مورد تعهدات دادهشده به کاربر، این مسائل قابل شفافسازی خواهد بود.
پیادهسازی، آزمون و مستندسازی
پیادهسازی آن قسمت از فرایند تولید نرمافزار به شمار میرود که مهندسان نرمافزار در دنیای واقعی تمام کدهای پروژه را مینویسند و به قول معروف برنامهنویسی میکنند.آزمون نرمافزار بخش لاینفک و مهم از فرایند تولید نرمافزار است. این قسمت از فرایندها کمک میکند تا مشکلات سامانه بصورت سریع شناسایی شوند.مستندسازی در تمام مراحل پروژه چون طراحی داخلی نرمافزار برای تعیین اهداف سیستم، نگهداری آینده و ارتقاء و بهبود سامانه هرچند پروژه پایان یافته باشد انجام میشود. همچنین ممکن است این مستندسازی شامل نوشتن ساختار تکههای برنامه ظاهر برنامه کاربردی داخلی و خارجی هم باشند. این مطلب خیلی مهم است که همه چیز پروژه مستندسازی شود.
استقرار و نگهداری سامانه
استقرار و تحویل سامانه پس از اینکه آزمون مناسب را گذراند و برای انتشار، فروش یا هر نوع توزیع برای محیط کار نهایی تأیید شد انجام خواهد شد.آموزش نرمافزار و پشتیبانی خیلی مهم است و خیلی از تولیدکنندگان و توسعهدهندگان نرمافزارها اهمیت آن را درک نمیکنند. مهم نیست که چقدر زمان و برنامهریزی توسط تیم تولید و توسعه نرمافزار برای ایجاد نرمافزار مصرف کردهاند اگر در آخر کار کاربری در سازمان نباشد تا از نرمافزار استفاده کند. مردم معمولاً در برابر تغییرات مقاومت نشان میدهند و از ماجراجویی در محیط ناآشنا اجتناب میکنند، برای همین در فاز استقرار این خیلی مهم است کلاسهای آموزشی برای کاربران جدیدِ نرمافزار گذاشته شود.نگهداری و ارتقای نرمافزاری برای پوشش، مسائل پوشش دادهنشده یا نیازمندیهای تازهای که ممکن است بوجود آیند مدت خیلی زیادی حتی بیشتر از زمان اولیه تولید نرمافزار زمان بگیرد. این مرحله ممکن است نیاز باشد تا کدهای برنامهنویسی تازهای که در طراحی اصلی برنامه نیز دیده نشده اضافه شود تا مسائل و مشکلات دیدهنشده حل شوند یا ممکن است کاربر درخواست عملیات اصلی دیگری کند و برنامهنویسیهای تازهای برای برآورده کردن نیازهای جدید انجام گیرد. اگر هزینه کار فاز نگهداری از ۲۵ درصد هزینه فاز قبلی (پیادهسازی) بیشتر باشد، این احتمال وجود دارد که کیفیت کلی فاز قبلی خیلی ضعیف بوده باشد. در این صورت مدیران پروژه باید گزینهٔ ایجاد مجدد سامانه (یا بخشی از سامانه) را قبل از اینکه هزینههای نگهداری غیر قابل کنترل شود را مطرح کنند.
الگوهای تولید نرمافزار
الگو آبشاری
الگو آبشاری فرایندها را به گونهای نشان میدهد که کجا تولید کنندگان نرمافزار (برنامهنویسان) فازهای زیر را به ترتیب انجام دهند:# مشخصات مورد نیاز (تحلیل نیازمندیها)
طراحی نرمافزار
پیادهسازی و یکپارچهسازی
تست نرمافزار (یا اعتبارسنجی)
گسترش نرمافزار (یا نصب)
نگهداری نرمافزاردر سختگیرانهترین حالت آبشاری، بعد از اینکه هر فاز کاملاً پایان پذیرفت، به مرحله بعدی میرویم. بازبینی که اجازه ایجاد تغییرات در سامانه را بدهد (که ممکن است شامل تغییرات فرایندهای کنترل رسمی باشد) فقط قبل از رفتن به مرحله بعد امکانپذیر است. همچنین بازبینی ممکن است جهت اطمینان از پایان قطعی این فاز (مرحله) بکار گرفته شود. فازی که معیارهای تکمیل آن کامل شده، معمولاً با عنوان دروازه اطلاق میشود که نشان میدهد پروژه از فاز فعلی به فاز بعدی منتقل شده است. الگو آبشاری از بازبینی و تجدید نظر فازهای قبلی که کامل شدهاند، جلوگیری میکند. این عدم انعطافپذیری مفصل در الگو آبشاری محض، دست مایه انتقاد، پشتیبانی کنندگان الگوهای انعطاف پذیر است.
الگو حلزونی
خصوصیت کلیدی الگو حلزونی مدیریت ریسک در تمام مراحل چرخهٔ تولید نرمافزار است. در سال ۱۹۸۸ میلادی بری بوهم به صورت رسمی الگو حلزونی فرایند تولید نرمافزار را منتشر کرد، که ترکیبی از بعضی کلیدهای تایید شده متدولوژی الگو آبشاری و نمونهسازی سریع است، اما احساس میشود الگو ارائه شده تاکید در ناحیه های کلیدی (الگو آبشاری) را با متدهای دیگری همچون بررسی دقیق و تحلیل دائمی ریسکها، سیستمهای خاص مناسب برای سامانه پیچیده و بزرگ، کوتاه تر کرده است.الگو حلزونی این روش را با چهار نمودار که نشان دهند فعالیت های زیر است، به تصویر می کشد که فرایندها در چند مرحله تکرار انجام میشود:# تدوین و فرموله کردن برنامه ریزی خوب است برای شناسایی اهداف سیستم، قسمت های انتخاب شده جهت پیاده سازی برنامه، محدودیتهای واضح و مشخص پروژه.# تحلیل ریسک و مشکلات سامانه: ارزیابی تحلیلی برنامه های انتخاب شده، جهت مشخص کردن چگونگی شناسایی و از بین بردن ریسکها.
پیاده سازی پروژه: پیاده سازی تولید نرمافزار و تایید کارایی سامانه. الگو حلزونی مبتنی بر ریسک، بر اختیارانتخاب گزینه ها و محدودیتها در سفارشها برای پشتیبانی استفاده مجدد نرمافزار و اینکه کیفیت نرمافزار میتواند در ادغام اهداف ویژه در تولید نرمافزار کمک میکند، تاکید میکند.به هر حال الگو حلزونی شرایط محدود کننده زیر را دارا می باشد: # الگو حلزونی تحلیل ریسکها را تاکید میکند و بنابراین کاربران باید این تحلیل را قبول کنند و فکری برایش کنند (این مطالب را در نظر داشته باشند). این مسئله نیازمند اعتماد متقابل و همچنین تمایل به هزینه کردن برای رفع ایرادات، در هنگام تولید نرمافزار است و این دلیل استفاده شدن این الگو تولید نرمافزار پروژه های بزرگ است.
درصورتیکه در هنگام پیادهسازی تحلیل ریسکها تاثیر منفی روی سود پروژه زیاد باشد نبایستی از الگو حلزونی استفاده گردد.# تولید و توسعه دهندگان نرمافزار بصورت فعال حواسشان به ریسکهای قابل حل خواهد بود و به دقت آنها را در الگو حلزونی تحلیل میکنند.مرحله اول تدوین و فرموله کردن یک برنامه برای رسیدن به اهداف با این محدودیتها، و پس از آن تلاش برای پیدا کردن و حذف تمام خطرات بالقوه (ریسکهای بالقوه) از طریق تجزیه و تحلیل دقیق و در صورت لزوم، با ساخت نمونه اولیه است. اگر برخی ریسکها قابل حل نبودند در این صورت مشتریان باید تصمیم بگیرند که آیا میخواهند انجام پروژه را خاتمه دهند یا از ریسکهای مورد نظر چشم پوشی کنند و به هر ترتیب ادامه دهند. در نهایت، نتایج ارزیابی شده و طراحی مرحله بعدی آغاز میشود.در حالت کلی یک الگو تکاملی است که به صورت مجموعهای از نسخههای افزایشی توسعه میابد و همچنین در طی تکرارهای اولیه ممکن است یک الگو کاغذی یا یک نمونه اولیه باشد ولی در طول تکرارهای بعدی هر بار نسخه کاملتری از سامانه تولید میشود و این الگو به ۳ تا ۶ نواحی کاری تقسیم میشود.
روش تکرارشونده و افزایشی
روشی تکراری تولید نرمافزار اجازه ی ایجاد که پروژه در ابتدا از بخشهای کوچک شروع شود و به مرور زمان سامانه رشد کند تا کمک کند در این درگیری مشکلات مهم پیدا شوند قبل از اینکه فرضیات اشتباه باعث خراب شدن سامانه شوند. الگو تکرار فرایند ها بوسیله تولید کنندگان نرمافزارهای تجاری انتخاب و استفاده میشود چون این الگو اجازه می دهد تا نیازهای کاربرانی که در زمان طراحی دقیقاً نمیدانند چگونه نیازمندیهایشان از سامانه را معرفی کنند بصورت بالقوه برآورده شود.
روش توسعه سریع نرمافزار
روش توسعه سریع نرمافزار (به انگلیسی: Rapid application development)(مخفف انگلیسی: RAD) روش تکراری را بعنوان پایه کار استفاده میکند اما طرفداری نظریه سبکتر و محبوبیت بیشتر از روش سنتی است. روش سریع از بازخوردها به جای برنامهریزی بعنوان سازوکار اصلی کنترل پروژه استفاده میکند. بازخوردها بوسیله آزمونهای مرتب و انتشار پیاپی در بازههای زمانی کوتاه نرمافزارهای در حال تکامل تولید میشوند.روشهای گوناگونی از فرایند سریع برای تولید نرمافزار استفاه میشود:
روش برنامهسازی مفرط
تولید نرمافزار به روش برنامهسازی مفرط (به انگلیسی: Extreme programming)(مخفف انگلیسی: XP) در فازهای خیلی کوچک (یا مداوم) انجام و با فرایندهای دستهای قدیمیتر تطبیق داده میشوند. فاز اول (که عمداً کامل نشده) در طول مراحل ممکن است به جای اینکه ماهها و سالها در روش آبشاری طول بکشد تا کامل شود، یک روز یا یک هفته وقت بگیرد. ابتدا یک آزمون خودکار برای ایجاد اهداف اساسی تولید نرمافزار نوشته میشود. سپس (توسط دو برنامهنویس) برنامهنویسی انجام میگیرد که وقتی تمام آزمونها را پشت سر گذاشته و دیگر هیچ آزمون مورد نیازی به ذهن برنامهنویسان نرسد کامل میشود. کار طراحی و معماری سیستم بعد از اینکه نه آزمونی وجود دارد و نه برنامهنویسیشده انجام میشود.طراحی توسط برنامهنویسان انجام میشود. (فقط مشخصات نهایی و ترکیب طراحی و کد در تمام فرایندها در روش سریع مشترک هستند) عملیات اصلی ناقص سامانه (توسط دست کم یکی از افراد گروه تولیدکننده و برنامهنویس) برای کاربران (یا برخی از کاربران) نصب یا نمایش داده میشوند. در اینجا تمام عوامل پروژه دوباره شروع به نوشتن آزمون برای قسمتهای مهم سامانه خواهند کرد.
نرمافزار (به انگلیسی: Software) یا برنامه، مجموعهای از دستورالعملهای دقیق و مرحله به مرحله است که هدف خاصی را دنبال میکنند.
ظاهراً، اولین بار جان توکی در سال ۱۹۵۸ این واژه را بهاین معنا بهکار بردهاست. احتمالاً این واژه در مقابل سختافزار (به انگلیسی: Hardware) به کار بردهاند که بسیار پیش از پیدایش رایانه (به معنای اسباب و اشیاء) بهکار میرفتهاست.
دو گروه کلی نرمافزارها
نرمافزارهای رایانه را میتوان به دو دسته بزرگ تقسیم کرد:
نرمافزار سیستم (به انگلیسی: System software)
نرمافزار کاربردی (به انگلیسی: Application software)
میتوان گفت نرمافزارهای کاربردی، برنامههای مورد استفاده کاربرند و نرمافزارهای سیستمی، مدیریت رایانه را برعهده دارند. مهمترین نرمافزار سیستم، سیستمعامل است.
سیستم عامل
وقتی برنامهای را روی رایانه خود نصب میکنید، اجزای سختافزاری آن به فرمان آن برنامه در میآیند. برای نمونه هنگامی که با یک برنامه اجرای موسیقی کار میکنید، کارت صدای رایانه تان با برنامه پخش موسیقی همکاری میکند و یک آهنگ یا پرونده (فایل) صوتی را از طریق بلندگوی رایانه تان پخش میکند.
این ارتباط میان نرمافزار و سختافزار توسط سیستم عامل انجام میشود. این تنها قسمتی از کار سیستم عامل است.
سیستم عامل خود یک برنامه نرم افزاری است با این تفاوت که چون تمام منابع و امکانات سخت افزاری در اختیار وی می باشد دارای ویژگی منحصر به فرد می باشد بنابراین آن را در رده نرم افزارها می خوانیم با این ویژگی که از اهمیت خاصی برخوردار است. به بیان دیگر سیستم عامل یک برنامه جامع است که اجازه در اختیار قراردادن منابع و امکانات سخت افزاری را برای نرم افزارها صادر می کند و این سیستم عامل است که مسئول صحت عملکرد سیستم و منابع آن است.
سیستم عامل شامل 4 بخش مهم است
1- مدیریت پردازش و پردازشگر
2- مدیریت حافظه
3- مدیریت دستگاههای ورودی و خروجی (I/O)
4- مدیریت فایل
سه گروه کلی نرمافزارهای معماری
از دیدگاه ساختاری (معماری) (architecture)، نرمافزارها به دستههای زیر تقسیم میشوند:
کاربر-بنیان یا Client Base
کارگزار-بنیان یا Server Base
کاربر کارگزار بنیان یا Client-Server Base
امروزه واژه نرمافزار را در معناهایی به جز معنی برنامه رایانهای نیز بهکار میبرند. مثلاً در دانش مدیریت برای اشاره به روشها و دانش فنی (در برابر وسایل و تجهیزات و نیروی انسانی). نرمافزارها انواع گوناگونی دارند که مهم ترین دسته بندی آنها دستهٔ تجاری و آزاد است. به ویژه با رویکردهای طرحهای گنو و لینوکس معنای ژرف تری به نرمافزارهای آزاد داده شده تا آنجا که برخی نرمافزارها را نماد فرهنگ می دانند. نرمافزارها را برنامه نویسان تدوین کرده و انتشار میدهند. این برنامه نویسان ممکن است در یک شرکت مشغول کار باشند یا در خانه برنامه نویسی کنند مانند برنامه نویسان برخی نرمافزارهای لینوکس. امروزه بیشتر کاربران تنها با ظاهر گرافیکی این برنامهها کار میکنند و اقدامات بسیاری از آنها از دید کاربر پنهان میماند به عبارتی هر نرمافزار مجموعهای از رمزها است که از الگوریتمی خاص پشتیبانی میکنند این رمزها خود با رمزهای گرافیکی آمیخته شده و بسیاری از اقدامات برنامه به دور از چشم کاربر عادی رخ میدهد. برنامهها با رمزهایی نوشته میشوند که بعداً یک رمزخوان آن را در رایانه کاربر اجرا میکند.
رقابت نرمافزاری
در حال حاضر نرمافزارهای کامپیوتری فراوان را میتوان در بازار یافت که به طور جدی به رقابت خود برای بقا ادامه میدهند. از مسائل قابل ذکر در این مورد میتوان به خرید سهام شرکتهای نرمافزاری کوچک و بزرگ توسط شرکتهای دیگر اشاره نمود. همچنان که شرکت بزرگ گوگل به خرید سهام شرکتهای بزرگ همچنان ادامه میدهد، در مدت کمی توانسته بسیاری از شرکتها را تحت سلطه خود درآورد.
نرمافزار سیستم
نرمافزار سیستم به نرمافزاری در رایانه گفته میشود که به کارکرد سیستم رایانه یا کاربردهای سطح پایین (یا Low Level) رایانه مربوط باشد. این نرمافزارها به ساختار فیزیکی سختافزار رایانه وابسته هستند و در نوشتن آنها از زبانهای سطح پائین مانند زبان اسمبلی استفاده میشود. سیستمعامل و درایورها از نرمافزارهای سیستم هستند. از جمله زبان هایی که برای نگارش نرمافزارهای سیستمی استفاده میشود، زبان برنامه نویسی C میباشد. کار کردن با سی برای برنامه نویسان راحت تر است و آنان این زبان را به اسمبلی ترجیح میدهند. اگر برای نگارش نرمافزار سیستمی مشکل محدودیت فضای سختافزاری داشته باشیم بهتر است با زبان اسمبلی کار کنیم که حجم آن پایین تر است. نرمافزارهای سیستمی به سختافزار وابسته اند.
در برابر نرمافزار سیستم، نرمافزار کاربردی قرار دارد که برای کاربردهای سطح بالا و غیرسیستمی رایانه است و معمولاً به زبانهای سطح بالا نوشته میشود که از جزئیات سختافزاری سیستم مستقل است.
نرمافزار کاربردی
نرمافزار کاربردی (به انگلیسی: Application software) عبارت است از نرمافزاری که با استفادهٔ مستقیم از منابع و قابلیتهای رایانه کاری را مستقیماً برای کاربر انجام میدهد. باید توجه داشت که این عبارت در مقابل عبارت نرمافزار سیستمی معنی پیدا میکند.
نرمافزار سیستمی در مقابل در پسزمینه عمل میکند و خدماتی را فراهم میکند که دیگر نرمافزارها و یا سیستمعامل میتوانند برای انجام کارهای خود از آن استفاده کنند. اما در عوض معمولاً مستقیماً با کاربر عادی در تماس نیست و خدماتی را به او ارایه نمیدهد.
در عمل بیشتر نرمافزارهایی که کاربران با آنها سر و کار دارند از این دسته محسوب میشوند. برای مثال میتوان به نرمافزارهای رومیزی یعنی واژهپردازها، صفحه گستردهها، نرمافزارهای طراحی گرافیکی، بازیهای رایانهای و امثال آنها اشاره کرد.
بسیاری نرمافزارهای کاربردی، برای توسعهدهندگان ابزار رابط برنامهنویسی کاربردی هم فراهم میکنند تا بتوان از قابلیتهای نرمافزار در نرمافزارهای جدید استفاده کرد. برای مثال نرمافزار ادوبی آکروبات هنگام نصب ایپیآی فراهم میکند که برنامهنویس میتواند با استفاده از آن تواناییهای آکروبات را در برنامهٔ خود به کار گیرد.
برای عنوان نمونههای دیگر میتوان به نرمافزارهای پردازش متن، برگههای گسترده (صفحات گسترده) و نرمافزارهای پخش نوا و نما اشاره کرد.
نرمافزار فروشگاه اینترنتی
نرم افزار فروشگاه اینترنتی نوعی نرم افزارتجارت الکترونیکی بر پایه وب است که به عرضه کنندگان یا فروشنده کالا ها و خدمات این امکان را میدهد تا محصول ها و خدمات خود را از طریق شبکه جهانی اینترنت به سراسر دنیا معرفی کرده و بازاری جهانی برای تجارت خود ایجاد کنند، همچنین این نوع خرید و فروش امکان مقایسه و خرید کالاها و سرویسهای مورد نیاز را مستقیما از طریق فروشگاه های اینترنتی موجود در سرتا سر جهان بدون محدودیت زمانی و جغرافیایی به مشتریان میدهد.
برای ایجاد چنین محیطی در اینترنت نیاز به ابزاری است تا به وسیلهٔ آن بتوان یک فروشگاه اینترنتی راه اندازی کرد. این ابزار اغلب با نام نرم افزار فروشگاه اینترنتی (فروشگاه ساز) شناخته میشود. در واقع این یک نرم افزار با قابلیت های فروشگاهی است که بر روی بستر وب پیاده میگردد.
نرم افزار فروشگاه اینترنتی برای فروشندگان و تولیدکنندگان این امکان را مهیا میسازد که کالاها و خدمات خود را به صورت مستقیم برروی شبکه جهانی اینترنت عرضه کنند تا مردم بتوانند با اتصال به نام دامنه فروشگاه اطلاعات کامل کالاها و خدمات را مشاهده کرده و آنها را به صورت آنلاین سفارش دهند. فروشگاه اینترنتی یا آنلاین معمولا مانند یک سبد خرید مجازی عمل میکنند و در برخی مواقع با این نام نیز شناخته میشوند و به مشتریان این امکان را میدهد تا فهرستی از کالاهای مورد نیاز خود برای خرید را انتخاب کرده، به سبد خرید مجازی خود اضافه کنند که معمولا این عمل را با استفاده از گزینه ی« اضافه کردن محصول به سبد » انجام میدهند. سپس نرم افزار لیست تهیه شده توسط مشتری را بررسی و امکان انتخاب نحوه پرداخت مبلغ سفارش و انتخاب نحوه حمل و نقل سفارش را مهیا میکند. سپس هزینهٔ کلی سفارش اعم از مبلغ قابل پرداخت برای هر محصول و هزینهٔ بسته بندی و ارسال را محاسبه و برآورد میکند و سفارش به طور کامل جهت رسیدگی توسط فروشنده ثبت میگردد. موجود بودن کالا، ثبت سفارش اولیه، تائید سفارش، تعیین نحوه دریافت کالا و تائید دریافت نهایی کالا معمولاً در همین نرم افزار انجام می پذیرد. این نرم افزار حکم یک واسط کاربری در اینترنت با فروشندگان را دارد که قابلیت های سیستماتیک فراوانی نیز دارد. معمولاً این نرم افزارها سیستم های مالی، سفارش کالا، موجودی انبار و سیستمهای پرداخت آنلاین را هم پشتیبانی میکنند و تمامی قابلیت ها را در یکجا فراهم میکنند.
تاریخچه و واژگان
پس از پیدایش اینترنت (World Wide Web)، آن به یک رسانهٔ جمعی تبدیل شد و سیستم های خرید اینترنتی ایجاد و توسعه یافتند. این نوآوری نتیجهٔ راه اندازی مرورگر Mosaic در سال ۱۹۹۳ و Netscape در سال ۱۹۹۴ بود. این سیستم محیطی را به وجود آورد که در آن ایجاد فروشگاههای تحت وب (فروشگاه اینترنتی ) ممکن بود. بنابراین اینترنت و WWW به عنوان ابزارهای زیرساختی و کلیدی به انتشار و توسعه سریع تجارت الکتریکی کمک کردند. تجارت الکترنیکی (به عنوان زیر مجموعهای از E-BUSINESS) به تمامی سیستم های کامپیوتری اتلاق میشود که از معاملات دادوستدی حمایت و پشتیبانی میکنند. در سال ۱۹۹۸ به طور عمومی ۱۱مدل تجارت الکتریکی وجود داشت که یکی از آنها مدل تجارتی(B2C business to customer) E-SHOP یا همان فروشگاه اینترتی بود که فروشگاه آنلاین(ONLINE SHOPPING) نیز نامیده میشد.
دو واژهٔ E-SHOP و ONLINE SHOP مترادف هم هستند. واژهٔ خرید آنلاین خیلی قبل تر در سال ۱۹۹۴ اختراع شده بود(به عنوان مثال برای سیستمهای تلویزیونی). امروزه این واژه در مورد مدل B2C از تجارت الکترونیکی بکار میرود. برای اینکه خرید اینترنی ممکن شود، به یک سیستم نرم افزاری نیاز است. به منظور ایجاد امکان خرید آنلاین برای تمامی مشتریان، فروشگاههای اینترنتی بر پایه www تکامل یافتند. برای این مدل از سیستمهای خرید اینترنتی کلمهٔ اختصاری (web shop) استفاده میشود. هیچ واژهٔ یکنواخت و ثابتی برای این مدل از سیستم تجارت الکترونیکی بوجود نیامده مثلا در مناطقی که به زبان آلمانی حرف میزنند واژگانی مانند web shop) software) و یا ((online shop software مورد استفاده قرار میگیرد ویا در آمریکا واژهٔ (shopping cart software) ایجاد شده و مورد استفاده قرار میگیرد.
مدل توسعه نرم افزار فروشگاه اینترنتی
نرم افزارهای فروشگاه اینترنتی به دو صورت رایگان(Free Software) و تجاری (Commercial) توسعه داده شده و عرضه میشوند:
1- نرم افزار فروشگاه اینترنتی رایگان: مدل توسعه نرم افزار آزاد در زمینه تولید این مدل نرم افزارها نیز مورد استفاده قرار گرفته و مورد قبول جامعه قرار گرفتهاست. در این مدل توسعه جمعی از افراد متخصص و برنامه نویس از نقاط مختلف دنیا برروی یک نرم افزار کدبار (Open Source) مشارکت کرده و نهایتا در قالب یک لایسنس آزاد نرم افزار را جهت استفاده تمامی افراد جامعه منتشر میکنند. در این مدل توسعه معمولا نرم افزار به صورت رایگان در اختیار تمامی افراد جامعه قرار داده میشود و برخی اوقات شرکتهایی نیز از جامعه توسعه دهنده نرم افزار حمایت مالی میکنند که در این صورت شرکتهای مذکور از خدمات جانبی در کنار نرم افزار درآمد زایی دارند. مزیت اصلی نرم افزار فروشگاه اینترنتی رایگان این است که می توان آن ها را بروی هر وب سروری که با آن سازگاری دارد نصب و میزبانی کرده و در کمترین زمان ممکن صاحب یک فروشگاه با کمترین هزینه شد. همچنین سورس کدهای نسخهٔ آزاد معمولا برای ویرایش وتغییر ویا سفارشی کردن برنامه در دسترس میباشد....
پشتیبانی نرم افزارهای آزاد معمولا از طریق انجمنهای کاربری و توسعه دهندگان آن نرم افزار ارائه میشود ولی در صورتی که بخواهید از یک پشتیبانی حرفهای و تمام وقت بهره مند شوید نیاز خواهد بود که هزینه دریافت خدمات پشتیبانی را پرداخت کنید. لازم به توضیح است که نرم افزارهای رایگان فروشگاه اینترنتی معمولاً به ساده ترین شکل ممکن رایگان هستند و برای توسعه و یا افزایش توانایی های آنها باید مبالغی را پرداخت نمود و یا اینکه از متخصصین نرم افزار برای توسعه آنها بهره جست.
۲- نرم افزار فروشگاه اینترنتی تجاری(غیر رایگان): این مدل نیز امروزه در خیلی از مراکز نرم افزاری پرکاربرد، توسط شرکتهای مختلف عرضه می شود. شرکتهای مختلف تولید کننده نرم افزارهای تحت وب با تشکیل تیمهای برنامه نویسی و سرمایه گذاری در این زمینه، نرم افزار با امکانات گسترده تولید و به بازار عرضه میکنند که معمولا تحت لایسنس آن شرکت میباشند. برای استفاده از این مدل نرم افزارها بایستی در ابتدا هزینه تهیه نرم افزار و قرارداد اولیه را پرداخت نمود ولی با پرداخت این هزینه مطمئن خواهید بود که از یک نرم افزار حرفهای با خدمات پشتیبانی قابل اعتماد بهره میبرید. البته شرکتهای مختلف در این زمینه امکانات نرم افزار و خدمات متنوعی ارائه میکنند که معمولا فروشندگان و تولید کنندگان در زمان انتخاب نرم افزار فروشگاه اینترنتی گزینههای بیشتری جهت بررسی و انتخاب خواهند داشت.
مشخصات فنی
برای توسعه نرم افزار فروشگاه اینترنتی معمولا از زبان های برنامه نویسی سمت سرور نظیر PHP و ASP.net و همچنین یک سیستم پایگاه داده جهت نگهداری اطلاعات محصول ها، مشتریان و سفارشات به عنوان مثال MySQL یا MS SQL Server بهره گرفته می شود. در نرم افزارهای فروشگاه اینترنتی مدرن جهت تعامل بهتر با مشتریان و مدیریت فروشگاه از زبانهای برنامه نویسی سمت کلاینت نظیر جاوااسکریپت و کتابخانه های مبتنی بر آن نظیر Jquery و Prototype استفاده می شود. در این نرم افزارها تمامی اطلاعات محصول ها توسط مدیریت فروشگاه در دیتابیس مرکزی فروشگاه برروی سرور اینترنتی ذخیره و نگهداری می شود که مشتریان می توانند با مراجعه به آدرس اینترنتی فروشگاه اطلاعات ذخیره شده در دیتابیس آن را مشاهده کرده و برخی اوقات نسبت به مقایسه اطلاعات محصول ها اقدام کنند. با توجه به حجم اطلاعات نگهداری شده در دیتابیس معمولا از تکنیک های مختلفی جهت افزایش امنیت و بهینگی کدها استفاده می گردد. موضوع مهمی که در این قضیه مطرح است صحت داده های فروشگاه و امنیت بالای ذخیره سازی اطلاعات می باشد تا تراکنش های آنلاین در محیط امنی ذخیره و نگهداری گردند.
در نرم افزارهای فروشگاه اینترنتی عموما با اتصال به درگاه های بانکی مختلف امکان پرداخت مبلغ سفارشات به مشتریان داده می شود. از جمله درگاه های بین المللی می توان به PayPal و 2Checkout و Google Checkout اشاره نمود که وظیفه این درگاه ها دریافت اطلاعات بانکی مشتریان، بررسی صحت اطلاعات و انجام تراکنش انتقال وجه از حساب مشتری به حساب فروشنده می باشد. درگاه های بین المللی به طور عمومی در داخل ایران قابل استفاده نمی باشند و این درگاه های اطلاعات شبکه بانکی ایران را نمی پذیرند. به همین دلیل در داخل ایران درگاه های مختلفی که قادر به پردازش اطلاعات بانکی مشتریان شبکه بانکی ایران می باشند بوجود آمده اند که این درگاه ها با اتصال به شبکه شتاب (شبکه تبادل اطلاعات بانکی) قادر به انجام تراکنش از حساب مشتریان به حساب فروشندگان می باشند. از جمله درگاه های داخل کشور می تواند به درگاه پرداخت امن پاسارگاد، درگاه بانک سامان، درگاه بانک ملت و درگاه بانک پارسیان اشاره نمود.
مشتریان با مراجعه به فروشگاه های اینترنتی اطلاعات محصول های داخل فروشگاه را مشاهده کرده و محصول های موردنظر خود را به سبد خرید مجازی خود اضافه می کنند که با این کار معمولا اطلاعات سبد خرید در سمت سرور با استفاده از SESSION ها ذخیره و نگهداری می گردد. بعد از تکمیل مراحل خرید و انجام تراکنش موفق بانکی اطلاعات SESSION به اطلاعات قابل ذخیره برروی دیتابیس فروشگاه تبدیل شده و کلیه اطلاعات مربوط به سفارش و مشتری جهت بررسی توسط فروشنده ذخیره و نگهداری می شود. مشتری قبل از ثبت نهایی سفارش می تواند سبد خرید خود را خالی کند که در این صورت فقط اطلاعات از SESSION آن مشتری حذف می گردد.
برخی نرم افزارهای فروشگاه اینترنتی اجازه تشکیل سبد خرید مجازی را نداده و فقط امکان ثبت یک محصول در هر سفارش را دارند که در این صورت فقط مبلغ آن محصول در درگاه بانکی پرداخت می گردد (به عنوان مثال نرم افزار فروشگاه ساز رایگان PayPal). نرم افزار فروشگاه اینترنتی به عناوین دیگری نظیر نرم افزار تجارت الکترونیک، نرم افزار فروشگاه الکترونیکی، نرم افزار فروشگاه آنلاین و یا فروشگاه ساز (به طور عمومی) شناخته شده است.
راهنمای انتخاب نرم افزار فروشگاه اینترنتی
برای راه اندازی فروشگاه اینترنتی به یک فروشگاه ساز مناسب احتیاج دارید. اسکریپت های زیادی برای تاسیس فروشگاه وجود دارند. یک فروشگاه ساز مناسب و پرقدرت باید عوامل متعددی را پشتیبانی کند.
یکی از مهمترین قابلیت های یک فروشگاه ساز اینترنتی، کاربر پسند بودن آن است. یک فروشگاه ساز باید برای استفاده کاربران مبتدی آسان باشد. قسمت مدیریت فروشگاه باید دارای طرح بندی و اینترفیس مناسب برای سهولت در استفاده باشد همچنین قسمت کاربران (مشتریان فروشگاه) باید به اندازه کافی برای سفارش و خرید راحت باشد. برای این منظور اسکریپت فروشگاه سازی را انتخاب نمایید که اینترفیس مناسبی داشته باشد.
یکی از عوامل مهم دیگر امکانات و قابلیت انعطاف پذیری و گسترش فروشگاه است. یک سیستم شاپ ساز مناسب سیستمی است که امکانات کاملی برای مدیریت فروشگاه داشته و قابلیت افزایش امکانات آن بدون نیاز به باز نویسی اسکریپت فروشگاه وجود داشته باشد. برای این منظور سیستم شاپ سازی را انتخاب نمایید که ماژول پذیر بوده و بدون نیاز به از نو نویسی قابل گسترش باشد.
عامل مهم دیگر سرعت اسکریپت فروشگاه ساز می باشد. فروشگاه شما باید با سرعت مناسب نمایش داده شود و کاربران منتظر لود شدن صفحات نمانند. برای این منظور نرم افزار فروشگاه سازی را انتخاب نمایید که قابلیت لود سریع داشته و از آخرین نسخه بانک اطلاعاتی استفاده نمایید و همچنین حتما سیستم cache برای تصاویر و صفحات داشته باشد تا ضمن بهبود به سرعت لود، منابع کمتری از سرور هاست شما را استفاده نماید.
نکته بعدی داشتن امکانات بومی است. اسکریپت های خارجی بسیاری برای برپایی شاپ های آنلاین وجود دارد اما نکته مهم آن است که یک فروشگاه ایرانی باید قابلیت های بومی را داشته باشد. زبان فروشگاه فارسی باشد، امکان پشتیبانی از بانک های کشور و پرداخت آنلاین بانک ها را داشته باشد، از سیستم های خرید پستی پشتیبانی کند، از روش های پرداخت مرسوم در کشور پشتیبانی کند.
یکی دیگر از عوامل، زیبا بودن فروشگاه تاسیس شده است. یک فروشگاه زیبا مشتری بیشتری جذب خواهد نمود. برای این منظور اسکریپت فروشگاه سازی را انتخاب نمایید که قالب پذیر بوده و بتوان برای آن قالب طراحی کرد. قالب های مرسوم معمولا دارای دو ستون یا بیشتر بوده که در یک یا دو ستون قالب، ماژول ها قرار گرفته و در ستون اصلی محتوای فروشگاه قرار می گیرد. هدر و فوتر باید قابل تغییر باشد و بنر زیبایی نیز برای آن طراحی نمایید.
عامل مهم دیگر امکانات آماده جانبی است. هرچه امکانات جانبی فروشگاه بیشتر باشد فروشگاه بهتری خواهید داشت. امکاناتی از قبیل پشتیبانی آنلاین، امکان ارسال پیامک (SMS) برای مشتریان و پیگیری سفارشات در مراحل مختلف توسط SMS و ایمیل، امکان تعریف آپشن های جداگانه برای کالاها، خروجی RSS و اکسل و امکاناتی از این قبیل.
مورد بعدی سئو می باشد. فروشگاه با SEO قدرتمند باعث بالا آمدن در رتبه گوگل و خرید بیشتر خواهد بود. از فروشگاه سازی استفاده نمایید که موارد SEO را رعایت نموده و امکانات سئو مناسب برای کالاها از قبیل درج کلمات کلیدی در متا تگ ها و URL کالا ها و دسته بندی ها داشته باشد.
و اما مهمترین عامل پشتیبانی پس از فروش است! یک فروشگاه هر چقدر هم که مناسب و قوی باشد باز به مشکل برخواهد خود و پشتیبانی پس از فروش عاملی موثر خواهد بود. فروشگاه ساز های رایگان از پشتیبانی بی بهره هستند و در هنگام بروز مشکل خود شما باید دست بکار شده و مشکل را برطرف نمایید. یک فروشگاه ساز مناسب فروشگاه سازی است که پشتیبانی مناسب داشته باشد.
نرمافزار موبایل
نرمافزار موبایل نرمافزاری قابل اجرا برروی گوشیهای تلفن همراه میباشد که معمولاً با حجم کم و در ابعاد صفحه تلفن همراه عرضه می شود.
معمولا این نرمافزارها با زبان برنامهسازی جاوا نوشته می شوند که بر روی اکثر گوشیهای تلفن همراه اجرا میشوند. ولی تعداد قابل توجهی از این نرمافزارها مختص سیستم عامل سیمبین طراحی می شوند و فقط بر روی گوشی هایی که دارای این سیستم عامل می باشند قابل نصب و اجرا هستند.
اخیرا سیستم عاملهای جدید مانند سیستم عامل اپل موسوم به "آی او اس" که برروی گوشیهای آیفون نصب میباشد و آندروید که سیستم عاملی مبتنی بر لینوکس میباشد نیز عرضه شده اند که طراحی نرمافزار برای این سیستم عاملها نیز در حال رشد می باشد.
تولید نرمافزار تلفن همراه در ایران نیز در حال پیشرفت میباشد و بیشتر نرمافزارهای فارسی تلفن همراه در بستر جاوا طراحی می شوند تا روی اکثر گوشیهای تلفن همراه موجود در ایران قابل اجرا باشند
نفخ نرمافزار
نفخ نرمافزار اصطلاحی است که گرایش برنامههای رایانهای جدید را به موارد زیر دربر میگیرد:
بجا گذاشتن ردپاهای عظیم هنگام نصب
استفادهٔ اسرافگرایانه از منابع سامانه
ارائهٔ امکانات بیموردی که کاربران از آنها استفاده نمیکنند
این درحالی است که درمقابل نفع کم یا شاید هیچ منفعتی برای کاربر ندارند.
نفخافزار، یا جازنافزار، همچنین برای توصیف نرمافزارهایی که در هنگام خرید یک رایانه روی آن پیشنصب شدهاند نیز بکار میرود. اینگونه نرمافزارها معمولاً نسخههای آزمایشی زمان-محدود یا نسخههای ابتدایی با حذف بعضی امکانات هستند.
علل
توسعهدهندگان نرمافزار شاغل بکار در دههٔ ۱۹۷۰ مجبور به سروکله زدن با محدودیتهای شدید فضای دیسک و حافظه بودند. هر بایت حافظه و هر کلاک سایکل پردازنده بحساب میآمد، و تلاشی تحسین برانگیز برای گنجاندن برنامه در منابع موجود در جریان بود. آنان برنامهنویسانی متخصص و صرفهجو بودند.
امروزه وضعیت برعکس شده، منابع پست انگاشته میشوند، سریع کُدزنی و داشتن امکانات خبرساز اولویت کار است، و این تاحدی به پیشرفت فناوری مربوط است. سرعت محاسبه و گنجایش ذخیرهسازی چندین برابر شده، درحالیکه هزینهٔ تولید سختافزار هم به همان شدت کاهش یافته (قانون مور را ببینید). علاوه بر آن گسترش استفاده از رایانه در همهٔ لایههای بازرگانی و زندگی خانگی، بازار رایانهٔ بسیار بزرگتری نسبت به دههٔ ۱۹۷۰ درست کرده است.
دراینمیان، استفادهٔ شرکتهای نرمافزاری از توسعهدهندگان نرمافزار جوان که با آن محدودیتهای دههٔ ۱۹۷۰ دست و پنجه نرم نکردهاند—چراکه آنروز کودکی بیش نبوده یا هنوز به دنیا نیامده بودند—و هدر رفتن چند صد مگابایت از دیسک، گاف چند مگابایتی در حافظه، یا معطل ماندن یک هستهٔ پردازنده چندان هم برایشان دردآور نیست، به تولید و بازاریابی موفق نفخافزارها کمک میکند. روش برنامهسازی این نسل از برنامهنویسان برای پیرهای این کار مانند استیو گیبسون هراسانگیز است.
مثالها
آیتونز اپل متهم به نفخدار بودن است. دلیل آن تبدیل تدریجیاش از یک پخشکنندهٔ چندرسانهای به یک سکوی تجارت الکترونیک و تبلیغات است. اد بوت نویسندهٔ سابق پیسی ورلد شرکت اپل را به ریاکاری در تبلیغاتش علیه ویندوز متهم کردهاست.
مایکروسافت ویندوز هم خودش متهم به نفخدار بودن است؛ با اشاره به ویندوز ویستا، اریک تراوت مهندس مایکروسافت میگوید «خیلی از مردم در مورد ویندوز بهعنوان یک سیستمعامل بزرگ نفخدار میاندیشند، که باید اعتراف کنم تجسم خوبی است... اما در هستهاش، کرنل، و اجزایی که آنرا میسازند، در حقیقت خیلی ساده و مؤثر است.»
ابزارهای رایت سیدی و دیویدی مانند نرو برنینگ رام هم متهم به نفخافزار بودن هستند. دلیل آن وجود امکانات زائدی است که برای کاربر معمولی هرگز بکار نمیآیند، اما در نصب پیشگزیده نصب میشوند، یا حتی در حالت کاستوم هم جلوی نصب آنها را نمیتوان گرفت.
جدا از امکانات زاید، محدودیتهای زمانی در فرایند تولید نرمافزار و مدیریت بیفکر، منجر به باقی ماندن و جا خوردن کُدهای قدیمی در ساخت نسخههای جدید نرمافزارها میشود. یک مثال خوب از این مورد، ادوبی اکروبات ریدر است، که در مسیر گسترش پیدیاف، هر روز رشد کرده و امروزه پروندهٔ نصاب آن بیش از ۳۷ مگابایت حجم دارد؛ در مقابل، بقیهٔ پیدیاف خوانها بستههای نصاب بسیار کوچکتری دارند، مانند فاکسیت ریدر که پروندهٔ نصاب آن تنها ۵ مگابایت است.
کرک کردن نرمافزار
کِرَک کردن نرمافزار یعنی تغییر دادن نرمافزار به منظور حذف کردن روشهای حفاظتی آن نرمافزار. از جمله این روشهای حفاظتی میتوان به موارد زیر اشاره کرد:
ممانعت از کپی، نسخه نمایشی
آزمایشی
شماره سریال
قفل سختافزار و ...
تا بتوان از آن بر خلاف خواسته ی سازندگان یا روشی که سازندگان در نظر گرفته اند استفاده کرد.
به افرادی که کرک میکنند کرکر گفته میشود. کرکرها با استفاده از دیباگرها و دیس اسمبلرها برنامهها را کرک میکنند. به عنوان مثال در کشور ایران به علت نبود قانون حق کپی یا کپی رایت انبوهی از نرم افزار های کرک شده در دسترس کاربران هستند مانند نرم افزار فتوشاپ که در ایران بسیار ارزان فروخته میشود. نرمافزار کرک شده دارای اعتباری برای شرکت سازنده آن نمیباشد و معمولا قابلیت به روز رسانی را نیز دارا نیست .
فرایند توسعه نرمافزار
فرایند تولید نرمافزار که با عنوان «چرخهٔ حیات تولید نرمافزار» نیز شناخته میشود، ساختاری است که روی توسعه و تولید محصولات نرمافزاری اعمال میشود. عبارتهای مشابهی چون «چرخهٔ حیات نرمافزار» و «فرایند نرمافزار» در این رابطه استفاده میشود.الگوهای گوناگونی نظیر فرایندهای (خاص) وجود دارند که هر کدام خط مشی مختص (آن فرایندها) برای انجام کارها و فعالیتهای متنوع در طول فرایندها را مشخص میکنند. برخی عنوان میکنند که «طرح چرخهٔ حیات» یک عبارت بسیار عمومی بوده و «فرایند تولید نرمافزار» عبارت تخصصیتر است. برای مثال خیلی از فرایندهای تولید نرمافزار ویژهای هستند که خود زیر مجموعه چرخهٔ حیات حلزونی به شمار میروند.
فعالیتهای تولید نرمافزار
برنامهریزی (امکانسنجی)
از مهمترین کارها در تولید نرمافزار استخراج نیازمندیها یا تحلیل نیازمندیهای آن سامانه است. مشتریان عمومی معمولاً تصور مفهومی، انتزاعی و مبهمی از نتیجه نهایی خواستههایشان دارند و نمیدانند به درستی نرمافزار مورد نظرشان چه کاری باید انجام دهد. در این مرحله نیازمندیهای ناتمام، پیچیده و مبهم، و حتی متضاد توسط مهندسان نرمافزار ماهر شناسایی میشوند. در این برهه تکه نرمافزارهای آماده، تجربهشده و فعال ممکن است برای پایین آوردن ریسک (و مشکلات) نیازمندیها کمک کنند.نخست نیازمندیهای عمومی از کاربران جمعآوری شده و دامنه توسعه و تولید نرمافزار که باید تولید شود شناسایی و تحلیل میشود، سپس مستندات بصورت شفاف نوشته میشوند. معمولاً به این مستند، مستند دامنه یا محدوده سامانه اطلاق میشود.برخی قابلیتها ممکن است در ابتدای پروژه به خاطر مسائل مالی یا نیازمندیهای غیر شفاف و نامشخص خارج از محدوده پروژه باشند. اگر تولید و توسعه نرمافزار برونسپاری شود (یعنی به شرکتهای خارجی محول شود) این مستندات به عنوان مستندات قانونی و حقوقی در نظر گرفته میشود؛ بنابراین در صورت اتفاق هرگونه دعوای حقوقی یا ابهام در مورد تعهدات دادهشده به کاربر، این مسائل قابل شفافسازی خواهد بود.
پیادهسازی، آزمون و مستندسازی
پیادهسازی آن قسمت از فرایند تولید نرمافزار به شمار میرود که مهندسان نرمافزار در دنیای واقعی تمام کدهای پروژه را مینویسند و به قول معروف برنامهنویسی میکنند.آزمون نرمافزار بخش لاینفک و مهم از فرایند تولید نرمافزار است. این قسمت از فرایندها کمک میکند تا مشکلات سامانه بصورت سریع شناسایی شوند.مستندسازی در تمام مراحل پروژه چون طراحی داخلی نرمافزار برای تعیین اهداف سیستم، نگهداری آینده و ارتقاء و بهبود سامانه هرچند پروژه پایان یافته باشد انجام میشود. همچنین ممکن است این مستندسازی شامل نوشتن ساختار تکههای برنامه ظاهر برنامه کاربردی داخلی و خارجی هم باشند. این مطلب خیلی مهم است که همه چیز پروژه مستندسازی شود.
استقرار و نگهداری سامانه
استقرار و تحویل سامانه پس از اینکه آزمون مناسب را گذراند و برای انتشار، فروش یا هر نوع توزیع برای محیط کار نهایی تأیید شد انجام خواهد شد.آموزش نرمافزار و پشتیبانی خیلی مهم است و خیلی از تولیدکنندگان و توسعهدهندگان نرمافزارها اهمیت آن را درک نمیکنند. مهم نیست که چقدر زمان و برنامهریزی توسط تیم تولید و توسعه نرمافزار برای ایجاد نرمافزار مصرف کردهاند اگر در آخر کار کاربری در سازمان نباشد تا از نرمافزار استفاده کند. مردم معمولاً در برابر تغییرات مقاومت نشان میدهند و از ماجراجویی در محیط ناآشنا اجتناب میکنند، برای همین در فاز استقرار این خیلی مهم است کلاسهای آموزشی برای کاربران جدیدِ نرمافزار گذاشته شود.نگهداری و ارتقای نرمافزاری برای پوشش، مسائل پوشش دادهنشده یا نیازمندیهای تازهای که ممکن است بوجود آیند مدت خیلی زیادی حتی بیشتر از زمان اولیه تولید نرمافزار زمان بگیرد. این مرحله ممکن است نیاز باشد تا کدهای برنامهنویسی تازهای که در طراحی اصلی برنامه نیز دیده نشده اضافه شود تا مسائل و مشکلات دیدهنشده حل شوند یا ممکن است کاربر درخواست عملیات اصلی دیگری کند و برنامهنویسیهای تازهای برای برآورده کردن نیازهای جدید انجام گیرد. اگر هزینه کار فاز نگهداری از ۲۵ درصد هزینه فاز قبلی (پیادهسازی) بیشتر باشد، این احتمال وجود دارد که کیفیت کلی فاز قبلی خیلی ضعیف بوده باشد. در این صورت مدیران پروژه باید گزینهٔ ایجاد مجدد سامانه (یا بخشی از سامانه) را قبل از اینکه هزینههای نگهداری غیر قابل کنترل شود را مطرح کنند.
الگوهای تولید نرمافزار
الگو آبشاری
الگو آبشاری فرایندها را به گونهای نشان میدهد که کجا تولید کنندگان نرمافزار (برنامهنویسان) فازهای زیر را به ترتیب انجام دهند:# مشخصات مورد نیاز (تحلیل نیازمندیها)
طراحی نرمافزار
پیادهسازی و یکپارچهسازی
تست نرمافزار (یا اعتبارسنجی)
گسترش نرمافزار (یا نصب)
نگهداری نرمافزاردر سختگیرانهترین حالت آبشاری، بعد از اینکه هر فاز کاملاً پایان پذیرفت، به مرحله بعدی میرویم. بازبینی که اجازه ایجاد تغییرات در سامانه را بدهد (که ممکن است شامل تغییرات فرایندهای کنترل رسمی باشد) فقط قبل از رفتن به مرحله بعد امکانپذیر است. همچنین بازبینی ممکن است جهت اطمینان از پایان قطعی این فاز (مرحله) بکار گرفته شود. فازی که معیارهای تکمیل آن کامل شده، معمولاً با عنوان دروازه اطلاق میشود که نشان میدهد پروژه از فاز فعلی به فاز بعدی منتقل شده است. الگو آبشاری از بازبینی و تجدید نظر فازهای قبلی که کامل شدهاند، جلوگیری میکند. این عدم انعطافپذیری مفصل در الگو آبشاری محض، دست مایه انتقاد، پشتیبانی کنندگان الگوهای انعطاف پذیر است.
الگو حلزونی
خصوصیت کلیدی الگو حلزونی مدیریت ریسک در تمام مراحل چرخهٔ تولید نرمافزار است. در سال ۱۹۸۸ میلادی بری بوهم به صورت رسمی الگو حلزونی فرایند تولید نرمافزار را منتشر کرد، که ترکیبی از بعضی کلیدهای تایید شده متدولوژی الگو آبشاری و نمونهسازی سریع است، اما احساس میشود الگو ارائه شده تاکید در ناحیه های کلیدی (الگو آبشاری) را با متدهای دیگری همچون بررسی دقیق و تحلیل دائمی ریسکها، سیستمهای خاص مناسب برای سامانه پیچیده و بزرگ، کوتاه تر کرده است.الگو حلزونی این روش را با چهار نمودار که نشان دهند فعالیت های زیر است، به تصویر می کشد که فرایندها در چند مرحله تکرار انجام میشود:# تدوین و فرموله کردن برنامه ریزی خوب است برای شناسایی اهداف سیستم، قسمت های انتخاب شده جهت پیاده سازی برنامه، محدودیتهای واضح و مشخص پروژه.# تحلیل ریسک و مشکلات سامانه: ارزیابی تحلیلی برنامه های انتخاب شده، جهت مشخص کردن چگونگی شناسایی و از بین بردن ریسکها.
پیاده سازی پروژه: پیاده سازی تولید نرمافزار و تایید کارایی سامانه. الگو حلزونی مبتنی بر ریسک، بر اختیارانتخاب گزینه ها و محدودیتها در سفارشها برای پشتیبانی استفاده مجدد نرمافزار و اینکه کیفیت نرمافزار میتواند در ادغام اهداف ویژه در تولید نرمافزار کمک میکند، تاکید میکند.به هر حال الگو حلزونی شرایط محدود کننده زیر را دارا می باشد: # الگو حلزونی تحلیل ریسکها را تاکید میکند و بنابراین کاربران باید این تحلیل را قبول کنند و فکری برایش کنند (این مطالب را در نظر داشته باشند). این مسئله نیازمند اعتماد متقابل و همچنین تمایل به هزینه کردن برای رفع ایرادات، در هنگام تولید نرمافزار است و این دلیل استفاده شدن این الگو تولید نرمافزار پروژه های بزرگ است.
درصورتیکه در هنگام پیادهسازی تحلیل ریسکها تاثیر منفی روی سود پروژه زیاد باشد نبایستی از الگو حلزونی استفاده گردد.# تولید و توسعه دهندگان نرمافزار بصورت فعال حواسشان به ریسکهای قابل حل خواهد بود و به دقت آنها را در الگو حلزونی تحلیل میکنند.مرحله اول تدوین و فرموله کردن یک برنامه برای رسیدن به اهداف با این محدودیتها، و پس از آن تلاش برای پیدا کردن و حذف تمام خطرات بالقوه (ریسکهای بالقوه) از طریق تجزیه و تحلیل دقیق و در صورت لزوم، با ساخت نمونه اولیه است. اگر برخی ریسکها قابل حل نبودند در این صورت مشتریان باید تصمیم بگیرند که آیا میخواهند انجام پروژه را خاتمه دهند یا از ریسکهای مورد نظر چشم پوشی کنند و به هر ترتیب ادامه دهند. در نهایت، نتایج ارزیابی شده و طراحی مرحله بعدی آغاز میشود.در حالت کلی یک الگو تکاملی است که به صورت مجموعهای از نسخههای افزایشی توسعه میابد و همچنین در طی تکرارهای اولیه ممکن است یک الگو کاغذی یا یک نمونه اولیه باشد ولی در طول تکرارهای بعدی هر بار نسخه کاملتری از سامانه تولید میشود و این الگو به ۳ تا ۶ نواحی کاری تقسیم میشود.
روش تکرارشونده و افزایشی
روشی تکراری تولید نرمافزار اجازه ی ایجاد که پروژه در ابتدا از بخشهای کوچک شروع شود و به مرور زمان سامانه رشد کند تا کمک کند در این درگیری مشکلات مهم پیدا شوند قبل از اینکه فرضیات اشتباه باعث خراب شدن سامانه شوند. الگو تکرار فرایند ها بوسیله تولید کنندگان نرمافزارهای تجاری انتخاب و استفاده میشود چون این الگو اجازه می دهد تا نیازهای کاربرانی که در زمان طراحی دقیقاً نمیدانند چگونه نیازمندیهایشان از سامانه را معرفی کنند بصورت بالقوه برآورده شود.
روش توسعه سریع نرمافزار
روش توسعه سریع نرمافزار (به انگلیسی: Rapid application development)(مخفف انگلیسی: RAD) روش تکراری را بعنوان پایه کار استفاده میکند اما طرفداری نظریه سبکتر و محبوبیت بیشتر از روش سنتی است. روش سریع از بازخوردها به جای برنامهریزی بعنوان سازوکار اصلی کنترل پروژه استفاده میکند. بازخوردها بوسیله آزمونهای مرتب و انتشار پیاپی در بازههای زمانی کوتاه نرمافزارهای در حال تکامل تولید میشوند.روشهای گوناگونی از فرایند سریع برای تولید نرمافزار استفاه میشود:
روش برنامهسازی مفرط
تولید نرمافزار به روش برنامهسازی مفرط (به انگلیسی: Extreme programming)(مخفف انگلیسی: XP) در فازهای خیلی کوچک (یا مداوم) انجام و با فرایندهای دستهای قدیمیتر تطبیق داده میشوند. فاز اول (که عمداً کامل نشده) در طول مراحل ممکن است به جای اینکه ماهها و سالها در روش آبشاری طول بکشد تا کامل شود، یک روز یا یک هفته وقت بگیرد. ابتدا یک آزمون خودکار برای ایجاد اهداف اساسی تولید نرمافزار نوشته میشود. سپس (توسط دو برنامهنویس) برنامهنویسی انجام میگیرد که وقتی تمام آزمونها را پشت سر گذاشته و دیگر هیچ آزمون مورد نیازی به ذهن برنامهنویسان نرسد کامل میشود. کار طراحی و معماری سیستم بعد از اینکه نه آزمونی وجود دارد و نه برنامهنویسیشده انجام میشود.طراحی توسط برنامهنویسان انجام میشود. (فقط مشخصات نهایی و ترکیب طراحی و کد در تمام فرایندها در روش سریع مشترک هستند) عملیات اصلی ناقص سامانه (توسط دست کم یکی از افراد گروه تولیدکننده و برنامهنویس) برای کاربران (یا برخی از کاربران) نصب یا نمایش داده میشوند. در اینجا تمام عوامل پروژه دوباره شروع به نوشتن آزمون برای قسمتهای مهم سامانه خواهند کرد.
قطبنما
قُطبنما وسیلهای برای تعیین جهت و جهتیابی. این وسیله با استفاده از میدان مغناطیسی زمین جهت قطب شمال را نشان میدهد که در حقیقت شمال مغناطیسی زمین است؛ که با شمال حقیقی مقداری فاصله دارد. زاویه بین شمال حقیقی و شمال مغناطیسی، میل مغناطیسی نامیده می شود. امروزه برای تعیین شمال حقیقی از قطبنماهای پیشرفتهتری مانند قطبنمای ژیروسکوپی استفاده میشود.
تأثیرات جاذبههای مغناطیسی موضعی (فلز و الکتریسیته)
هر گاه قطبنما در نزدیکی اشیای آهنی یا فولادی و یا منابع الکتریکی قرار گرفته باشد، عقربهاش از جهت قطب مقداری منحرف میشود، که به آن انحراف مغناطیسی میگویند. کلاً به همراه داشتن اشیایی از جنس آهن یا انواع مشابه آن می تواند باعث اختلال در حرکت عقربه شود. حتی وجود یک گیره کاغذ روی نقشه ممکن است مساله ساز شود. بنابراین، هنگام استفاده از قطبنما باید مطمئن شویم که از اشیای انحرافدهنده آن، بهطور کلی دور است. همچنین احتمال تأثیرگذاری جاذبههای مغناطیسی موجود در خاک نیز وجود دارد، که بسیار نادر است.
در جدول زیر حداقل فاصلهی وسایل مختلف از قطبنما -برای اینکه قطبنما شمال مغناطیسی را به درستی نشان دهد- آمده است:
اشیا فاصله
خطوط برق فشار قوی 55 متر
کامیون و اتومبیل 10 متر
خطوط تلفن 10 متر
ابزار الکتریکی و مکانیکی 2 متر
کلاهکها و اشیاء کوچک فلزی 2/1 متر
قطبنمای پیشرفته
قطبنماهای پیشرفته که بیشتر در صنایع مخابرات و امور نظامی به کار برده میشوند، مجهز به سلولهای شبنما هستند که حتی در تاریکی شب عمل جهتنمایی را صورت دهند. این نوع قطبنماها در دوربینهای دو چشمی نظامی، تانکها، نفربرها و حتی در ساختمان برخی خودروهای پیشرفته نیز به کار می رود. از قطب نماهای پیشرفته در اندازه گیری طول جغرافیایی و عرض جغرافیاییِ محل نیز استفاده میکنند که در نقشهخوانی، پیادهسازی عملیات نظامی، دیدهبانی در مناطق جنگی و ... نقش تعیینکننده دارند.
قطب نمای M1
ساختمان قطب نماي M1
1 – دستگيره يا شصتي : حلقه اي است كه در انتهاي قطب نما قرار دارد و براي نگهداشتن قطب نما به حالت تراز در موقع استفاده بكار مي رود.
2 – درب قطب نما : درپوشي است آلومينيومي كه در وسط آن تار موئي قرار دارد و كاربرد تارموئي مانند مگسك اسلحه است و دو سر تار موئي دو نقطه فسفري (شبنما) وجود دارد و در موقع كار شبانه از آن استفاده مي شود .در حاشيه درب قطب نما خط كشي تعبيه شده است و بر اساس مقياس 000/50 : 1 بر مبناي كيلومتر مدرج شده است.
3 – تيغه نشانه روي و عدسي چشمي : تيغه ايست كه بالاي آن شكاف كوچكي همانند شكاف درجه اسلحه است و با زاويه 45 درجه نسبت به صفحه مدرج قرار ميگيرد و در موقع گرا گرفتن با كمك تار موئي بكار مي رود. در اين حال توسط عدسي چشمي كه در وسط تيغه تعبيه شده اعداد مربوط به گراي هدف نشانه روي شده قرائت مي شود. خواباندن تيغه بر روي صفحه قطب نما سبب قفل شدن صفحه مدرج مي شود.
4 – بدنه : كليه اجزاي قطب نما در داخل بدنه كه از جنس آلومينيوم است قرار دارد. در كنار اين محفظه خط كشي تعبيه شده كه با باز شدن كامل درب قطب نما ، خط كشي قطب نما را كامل ميكند.
5 – طوقه كار در شب : طوقه متحركي است كه جداره خارجي آن دندانه دار است و تعداد 120 دندانه دارد اين دندانه ها با زائده اي در كنار قطب نما در تماس است كه به هنگام چرخش تق تق صدا ميدهد و هر تقه برابر 3 درجه است . بر روي صفحه طوقه يك خط و يك نقطه فسفري مشاهده مي شود كه در موقع كار در شب از آن استفاده ميشود.(زاويه بين خط و نقطه 45 درجه و 15 تقه است)
6 – صفحه ثابت : در زير طوقه كار درشب صفحه شيشه اي ثابتي قرار دارد كه روي آن يك خط سياه بنام شاخص تعبيه شده . اين خط درست در امتداد شكاف تيغه نشانه روي و تار موئي قرار دارد كه در موقع گرا گرفتن هر عددي زير شاخص باشد گراي آن امتداد است.
7 – صفحه مدرّج : صفحه ايست لغزنده كه عقربه مغناطيسي روي آن نقش بسته است .بر روي اين صفحه دو گونه تقسيم بندي وجود دارد.
الف : تقسيم بندي داخلي كه برحسب درجه صورت گرفته و به رنگ قرمز ميباشد كه به ازاي هر 5 درجه علامت گذاري وهر 20 درجه عددگذاري شده است.(محيط دايره به 360 قسمت مساوي تقسيم شده و زاويه بين دو شعاع دايره كه يك قسمت را فرا گرفته است ، يك درجه نام دارد).
ب : تقسيم بندي خارجي كه برحسب ميليم غربي و برنگ سياه است كه به ازاي هر 20 ميليم علامت گذاري و هر هر 200 ميليم عددگذاري شده است ولي دو صفر سمت راست آن اعداد بمنظور اختصار حذف شده است.(در اين تقسيم بندي محيط دايره به 6400 قسمت تقسيم شده كه هر قسمت آنرا يك ميليم گويند).
شمال
شُمال (شِمال هم تلفظ شده) یا آپا یا اَپاختَر، یکی از چهار جهت اصلی است.
در نقشهها جهت شمال را همیشه به سوی بالای نقشه نشان میدهند.
پیرامون واژه
شمال واژهای عربی و فارسی آن آپا یا اَپاختَر است.در زبان پارسی میانه، خشکیهای شمال غربی کره زمین را وُروبَرشت و خشکیهای شمال شرقی را وُروژَرشت مینامیدند.در بُندَهِش آمده که برای هر جهت اصلی یک سپاهبد گمارده شده و سپاهبد شمال، ستاره هفتاورنگ (محتملاً نگهبان شمال) است.
در زبان
در سند املاک از شمال قیدی ساخته میشود به صورت «شمالاً». (نمونه: این مکان شمالاً به زمین فروشنده محدود است.) به افراد و چیزهای منسوب به شمال، شمالی یا شمالیه (نمونه: بلاد شمالیه) گفته میشود. در ادبیات شمالیپیکران به معنی ستارگانی است که از شمال طلوع میکنند.به منطقه بالای مدار قطب شمال در فارسی شمالگان گفته میشود.
باختر
باختر یا غَرب یکی از چهار جهت اصلی در جغرافیا است که در نقشهها معمولاً در سمت چپ نقشه است. باختر محل فروشدن یا غروب خورشید و بنابراین جهت مخالف گردش زمین است. به هنگام ناوبری برای رفتن به سوی باختر باید سمت قطبنما را روی °۲۷۰ قرار داد.
کاربرد امروزی
لغتنامههایی که مشخصاً به فارسی امروز میپردازند دربارهٔ واژهٔ «باختر» چنین آوردهاند:
فرهنگ معاصر فارسی (صدری افشار و دیگران:۱۳۸۱) «باختر» را ادبی میداند و به مدخل غرب (که مفصلتر است) ارجاع میدهد.
فرهنگ روز سخن (انوری:۱۳۸۳) «باختر» را «مغرب» (که باز مدخل مفصلتری است) معنی میکند.
با توجه به این که هر دوی این فرهنگها مدخل مفصلتری تحت «مغرب» یا «غرب» دارند، به نظر میرسد که باید فرض کرد واژهٔ «باختر» به نظر این فرهنگنویسان از واژههای «غرب» و «مغرب» مهجورتر است.
کاربرد قدیمیتر
«باختر» در ادبیات فارسی به معنی شمال و شرق هم استفاده میشده است.
در لغتنامه دهخدا دو مدخل برای «باختر» وجود دارد: یکی به عنوان جهت جغرافیایی و دیگری به عنوان سرزمین باکتریا (بلخ). در مورد مدخل اول (که موضوع این صفحه است)، برای معنی شمال (برای این کلمه)، تنها به اوستا اشاره شده است (و برای آن نیز باختر را با واژهٔ اوستایی «اپاختر» - apãxtar - یعنی آنطرفتر یکی گرفته است).
در بعضی از مثالهایی که از متون قدیمی فارسی برای این کلمه آورده شده است، باختر متضاد خاور است. همچنین در جایی (به نقل از شرفنامهٔ منیری) اشاره شده است:
«تحقیق آنست که باختر مخفف با اختر است و اختر ماه و آفتاب هر دو را گویند پس باختر مشرق و مغرب را توان گفت ازین جهت متقدمین بر هر دو معنی این لفظ را استعمال کردهاند لیکن خوار به معنی خور بیشتر آمده از این جهت خاور به معنی مشرق بیشتر استفاده میشود ...»
در یکی از پاورقیهای مربوط به این کلمه نیز آمده است:
«شاید اختلافاتیکه در معنی باختر روی داده از باختریان (بلخ) باشد که مردم در همسایگی جنوب او، او را شمال و در شمال جنوب، و در مغرب مشرق و در مشرق مغرب مینامیدهاند.»
در نمونههایی از اشعار شاعران فارسیزبان (از فردوسی و ناصرخسرو گرفته تا خاقانی و نظامی و سعدی)، باختر به معنای مغرب بهکار رفته است
. البته مثالهایی نیز از کاربرد عکس آن وجود دارد (در اشعار فرخی و عنصری و سوزنی و دو بیت در بعضی از نسخ شاهنامه).
خاور
خاوَر واژهای پارسی برابر با شرق عربی است. در جغرافیا، خاور امروزه به معنی شرق، یکی از چهار جهت اصلی، است.
کاربردهای قدیمی
البته در اصل خاور در زبان پارسی بازماندهٔ واژهٔ خوربران یا «خوروران» (جای بردن خورشید، جای غروب خورشید) یعنی غرب است.
در پارسی به شرق «خوراسان» (که همین نام را روی استان خراسان گذاشتند زیرا شرق ایران بزرگ بود) و به شمال «اپاختر» (واژهٔ امروزی باختر نیز که به غرب گویند بازماندهٔ اپاختر است) گویند.
فرهنگ فارسی عمید و لغتنامه دهخدا این را تایید میکند. مثلاً در بیتی از رودکی، «مهر دیدم بامدادان چون بتافت، از خراسان سوی خاور میشتافت» یا در بیتی از خاقانی «چون پخت نان زرین اندر تنور مشرق، افتاد قرص سیمین اندر دهان خاور» به معنی اصیلش آمدهاست.
خاور در بعضی از لغتنامههای قدیمیتر، از جمله برهان قاطع و آنندراج، به هر دو معنی ذکر شده است.
جنوب
«نیمروز» تغییر مسیری به این صفحه است. برای کاربردهای دیگر نیمروز (ابهامزدایی) را ببینید.جنوب یا نیمروز یکی از چهار جهت اصلی است. جنوب نقطه مقابل شمال است و ۹۰ درجه با خاور و باختر اختلاف جهت دارد. بطور قراردادی در نقشهها، نقطه یا جهت پایینی نقشه را جنوب مینامند.
جهتیابی
جهتیابی، یافتن جهتهای جغرافیایی است. جهتیابی در بسیاری از موارد کاربرد دارد. برای نمونه وقتی در کوهستان، جنگل، دشت یا بیابان گم شدهباشید، با دانستن جهتهای جغرافیایی، میتوانید به مکان مورد نظرتان برسید. یکی از استفادههای مسلمانان از جهتیابی، یافتن قبله برای نماز خواندن و ذبح حیوانات است. کوهنوردان، نظامیان، جنگلبانان و... هم به دانستن روشهای جهتیابی نیازمندند.
هرچند امروزه با وسایلی مانند قطبنما یا سامانه موقعیتیاب جهانی (جیپیاس) میتوان به راحتی و با دقت بسیار زیاد جهت جغرافیایی را مشخص کرد، در نبود ابزار، دانستن روشهای دیگر جهتیابی مفید و کاراست.
جهتهای اصلی و فرعی
اگر رو به شمال بایستیم، سمت راست مشرق (شرق، خاور)، سمت چپ مغرب (غرب، باختر) و پشت سر جنوب است. این چهار جهت را جهتهای اصلی مینامند. بین هر دو جهت اصلی یک جهت فرعی وجود دارد. مثلاً نیمساز جهتهای شمال و شرق، جهت شمالِ شرقی (شمالِ شرق) را مشخص میکند.
با دانستن یکی از جهتها، بقیهٔ جهتها را میتوان به سادگی مشخص نمود. مثلاً اگر به سوی شمال ایستاده باشید، دست راست شما شرق، دست چپ شما غرب، و پشت سر شما جنوب است.
روشهای جهتیابی
برخی روشهای جهتیابی مخصوص روز، و برخی ویژهٔ شب اند. برخی روشها هم در همهٔ مواقع کارا هستند. توجه شود که:
بسیاری از این روشها کاملاً دقیق نیستند و صرفاً جهتهای اصلی را به صورت تقریبی مشخص میکنند. برای جهتهای دقیق باید از قطبنما استفاده کرد، و میل مغناطیسی و انحراف مغناطیسی آن را هم در نظر داشت.
آنچه گفته میشود اکثراً مربوط به نیمکره شمالی است؛ به طور دقیقتر، بالای ۲۳٫۵ درجه (بالای مدار رأسالسرطان). در نیمکره جنوبی در برخی روشها ممکن است جهت شمال و جنوب برعکس آنچه گفته میشود باشد.
قُطبنما وسیلهای برای تعیین جهت و جهتیابی. این وسیله با استفاده از میدان مغناطیسی زمین جهت قطب شمال را نشان میدهد که در حقیقت شمال مغناطیسی زمین است؛ که با شمال حقیقی مقداری فاصله دارد. زاویه بین شمال حقیقی و شمال مغناطیسی، میل مغناطیسی نامیده می شود. امروزه برای تعیین شمال حقیقی از قطبنماهای پیشرفتهتری مانند قطبنمای ژیروسکوپی استفاده میشود.
تأثیرات جاذبههای مغناطیسی موضعی (فلز و الکتریسیته)
هر گاه قطبنما در نزدیکی اشیای آهنی یا فولادی و یا منابع الکتریکی قرار گرفته باشد، عقربهاش از جهت قطب مقداری منحرف میشود، که به آن انحراف مغناطیسی میگویند. کلاً به همراه داشتن اشیایی از جنس آهن یا انواع مشابه آن می تواند باعث اختلال در حرکت عقربه شود. حتی وجود یک گیره کاغذ روی نقشه ممکن است مساله ساز شود. بنابراین، هنگام استفاده از قطبنما باید مطمئن شویم که از اشیای انحرافدهنده آن، بهطور کلی دور است. همچنین احتمال تأثیرگذاری جاذبههای مغناطیسی موجود در خاک نیز وجود دارد، که بسیار نادر است.
در جدول زیر حداقل فاصلهی وسایل مختلف از قطبنما -برای اینکه قطبنما شمال مغناطیسی را به درستی نشان دهد- آمده است:
اشیا فاصله
خطوط برق فشار قوی 55 متر
کامیون و اتومبیل 10 متر
خطوط تلفن 10 متر
ابزار الکتریکی و مکانیکی 2 متر
کلاهکها و اشیاء کوچک فلزی 2/1 متر
قطبنمای پیشرفته
قطبنماهای پیشرفته که بیشتر در صنایع مخابرات و امور نظامی به کار برده میشوند، مجهز به سلولهای شبنما هستند که حتی در تاریکی شب عمل جهتنمایی را صورت دهند. این نوع قطبنماها در دوربینهای دو چشمی نظامی، تانکها، نفربرها و حتی در ساختمان برخی خودروهای پیشرفته نیز به کار می رود. از قطب نماهای پیشرفته در اندازه گیری طول جغرافیایی و عرض جغرافیاییِ محل نیز استفاده میکنند که در نقشهخوانی، پیادهسازی عملیات نظامی، دیدهبانی در مناطق جنگی و ... نقش تعیینکننده دارند.
قطب نمای M1
ساختمان قطب نماي M1
1 – دستگيره يا شصتي : حلقه اي است كه در انتهاي قطب نما قرار دارد و براي نگهداشتن قطب نما به حالت تراز در موقع استفاده بكار مي رود.
2 – درب قطب نما : درپوشي است آلومينيومي كه در وسط آن تار موئي قرار دارد و كاربرد تارموئي مانند مگسك اسلحه است و دو سر تار موئي دو نقطه فسفري (شبنما) وجود دارد و در موقع كار شبانه از آن استفاده مي شود .در حاشيه درب قطب نما خط كشي تعبيه شده است و بر اساس مقياس 000/50 : 1 بر مبناي كيلومتر مدرج شده است.
3 – تيغه نشانه روي و عدسي چشمي : تيغه ايست كه بالاي آن شكاف كوچكي همانند شكاف درجه اسلحه است و با زاويه 45 درجه نسبت به صفحه مدرج قرار ميگيرد و در موقع گرا گرفتن با كمك تار موئي بكار مي رود. در اين حال توسط عدسي چشمي كه در وسط تيغه تعبيه شده اعداد مربوط به گراي هدف نشانه روي شده قرائت مي شود. خواباندن تيغه بر روي صفحه قطب نما سبب قفل شدن صفحه مدرج مي شود.
4 – بدنه : كليه اجزاي قطب نما در داخل بدنه كه از جنس آلومينيوم است قرار دارد. در كنار اين محفظه خط كشي تعبيه شده كه با باز شدن كامل درب قطب نما ، خط كشي قطب نما را كامل ميكند.
5 – طوقه كار در شب : طوقه متحركي است كه جداره خارجي آن دندانه دار است و تعداد 120 دندانه دارد اين دندانه ها با زائده اي در كنار قطب نما در تماس است كه به هنگام چرخش تق تق صدا ميدهد و هر تقه برابر 3 درجه است . بر روي صفحه طوقه يك خط و يك نقطه فسفري مشاهده مي شود كه در موقع كار در شب از آن استفاده ميشود.(زاويه بين خط و نقطه 45 درجه و 15 تقه است)
6 – صفحه ثابت : در زير طوقه كار درشب صفحه شيشه اي ثابتي قرار دارد كه روي آن يك خط سياه بنام شاخص تعبيه شده . اين خط درست در امتداد شكاف تيغه نشانه روي و تار موئي قرار دارد كه در موقع گرا گرفتن هر عددي زير شاخص باشد گراي آن امتداد است.
7 – صفحه مدرّج : صفحه ايست لغزنده كه عقربه مغناطيسي روي آن نقش بسته است .بر روي اين صفحه دو گونه تقسيم بندي وجود دارد.
الف : تقسيم بندي داخلي كه برحسب درجه صورت گرفته و به رنگ قرمز ميباشد كه به ازاي هر 5 درجه علامت گذاري وهر 20 درجه عددگذاري شده است.(محيط دايره به 360 قسمت مساوي تقسيم شده و زاويه بين دو شعاع دايره كه يك قسمت را فرا گرفته است ، يك درجه نام دارد).
ب : تقسيم بندي خارجي كه برحسب ميليم غربي و برنگ سياه است كه به ازاي هر 20 ميليم علامت گذاري و هر هر 200 ميليم عددگذاري شده است ولي دو صفر سمت راست آن اعداد بمنظور اختصار حذف شده است.(در اين تقسيم بندي محيط دايره به 6400 قسمت تقسيم شده كه هر قسمت آنرا يك ميليم گويند).
شمال
شُمال (شِمال هم تلفظ شده) یا آپا یا اَپاختَر، یکی از چهار جهت اصلی است.
در نقشهها جهت شمال را همیشه به سوی بالای نقشه نشان میدهند.
پیرامون واژه
شمال واژهای عربی و فارسی آن آپا یا اَپاختَر است.در زبان پارسی میانه، خشکیهای شمال غربی کره زمین را وُروبَرشت و خشکیهای شمال شرقی را وُروژَرشت مینامیدند.در بُندَهِش آمده که برای هر جهت اصلی یک سپاهبد گمارده شده و سپاهبد شمال، ستاره هفتاورنگ (محتملاً نگهبان شمال) است.
در زبان
در سند املاک از شمال قیدی ساخته میشود به صورت «شمالاً». (نمونه: این مکان شمالاً به زمین فروشنده محدود است.) به افراد و چیزهای منسوب به شمال، شمالی یا شمالیه (نمونه: بلاد شمالیه) گفته میشود. در ادبیات شمالیپیکران به معنی ستارگانی است که از شمال طلوع میکنند.به منطقه بالای مدار قطب شمال در فارسی شمالگان گفته میشود.
باختر
باختر یا غَرب یکی از چهار جهت اصلی در جغرافیا است که در نقشهها معمولاً در سمت چپ نقشه است. باختر محل فروشدن یا غروب خورشید و بنابراین جهت مخالف گردش زمین است. به هنگام ناوبری برای رفتن به سوی باختر باید سمت قطبنما را روی °۲۷۰ قرار داد.
کاربرد امروزی
لغتنامههایی که مشخصاً به فارسی امروز میپردازند دربارهٔ واژهٔ «باختر» چنین آوردهاند:
فرهنگ معاصر فارسی (صدری افشار و دیگران:۱۳۸۱) «باختر» را ادبی میداند و به مدخل غرب (که مفصلتر است) ارجاع میدهد.
فرهنگ روز سخن (انوری:۱۳۸۳) «باختر» را «مغرب» (که باز مدخل مفصلتری است) معنی میکند.
با توجه به این که هر دوی این فرهنگها مدخل مفصلتری تحت «مغرب» یا «غرب» دارند، به نظر میرسد که باید فرض کرد واژهٔ «باختر» به نظر این فرهنگنویسان از واژههای «غرب» و «مغرب» مهجورتر است.
کاربرد قدیمیتر
«باختر» در ادبیات فارسی به معنی شمال و شرق هم استفاده میشده است.
در لغتنامه دهخدا دو مدخل برای «باختر» وجود دارد: یکی به عنوان جهت جغرافیایی و دیگری به عنوان سرزمین باکتریا (بلخ). در مورد مدخل اول (که موضوع این صفحه است)، برای معنی شمال (برای این کلمه)، تنها به اوستا اشاره شده است (و برای آن نیز باختر را با واژهٔ اوستایی «اپاختر» - apãxtar - یعنی آنطرفتر یکی گرفته است).
در بعضی از مثالهایی که از متون قدیمی فارسی برای این کلمه آورده شده است، باختر متضاد خاور است. همچنین در جایی (به نقل از شرفنامهٔ منیری) اشاره شده است:
«تحقیق آنست که باختر مخفف با اختر است و اختر ماه و آفتاب هر دو را گویند پس باختر مشرق و مغرب را توان گفت ازین جهت متقدمین بر هر دو معنی این لفظ را استعمال کردهاند لیکن خوار به معنی خور بیشتر آمده از این جهت خاور به معنی مشرق بیشتر استفاده میشود ...»
در یکی از پاورقیهای مربوط به این کلمه نیز آمده است:
«شاید اختلافاتیکه در معنی باختر روی داده از باختریان (بلخ) باشد که مردم در همسایگی جنوب او، او را شمال و در شمال جنوب، و در مغرب مشرق و در مشرق مغرب مینامیدهاند.»
در نمونههایی از اشعار شاعران فارسیزبان (از فردوسی و ناصرخسرو گرفته تا خاقانی و نظامی و سعدی)، باختر به معنای مغرب بهکار رفته است
. البته مثالهایی نیز از کاربرد عکس آن وجود دارد (در اشعار فرخی و عنصری و سوزنی و دو بیت در بعضی از نسخ شاهنامه).
خاور
خاوَر واژهای پارسی برابر با شرق عربی است. در جغرافیا، خاور امروزه به معنی شرق، یکی از چهار جهت اصلی، است.
کاربردهای قدیمی
البته در اصل خاور در زبان پارسی بازماندهٔ واژهٔ خوربران یا «خوروران» (جای بردن خورشید، جای غروب خورشید) یعنی غرب است.
در پارسی به شرق «خوراسان» (که همین نام را روی استان خراسان گذاشتند زیرا شرق ایران بزرگ بود) و به شمال «اپاختر» (واژهٔ امروزی باختر نیز که به غرب گویند بازماندهٔ اپاختر است) گویند.
فرهنگ فارسی عمید و لغتنامه دهخدا این را تایید میکند. مثلاً در بیتی از رودکی، «مهر دیدم بامدادان چون بتافت، از خراسان سوی خاور میشتافت» یا در بیتی از خاقانی «چون پخت نان زرین اندر تنور مشرق، افتاد قرص سیمین اندر دهان خاور» به معنی اصیلش آمدهاست.
خاور در بعضی از لغتنامههای قدیمیتر، از جمله برهان قاطع و آنندراج، به هر دو معنی ذکر شده است.
جنوب
«نیمروز» تغییر مسیری به این صفحه است. برای کاربردهای دیگر نیمروز (ابهامزدایی) را ببینید.جنوب یا نیمروز یکی از چهار جهت اصلی است. جنوب نقطه مقابل شمال است و ۹۰ درجه با خاور و باختر اختلاف جهت دارد. بطور قراردادی در نقشهها، نقطه یا جهت پایینی نقشه را جنوب مینامند.
جهتیابی
جهتیابی، یافتن جهتهای جغرافیایی است. جهتیابی در بسیاری از موارد کاربرد دارد. برای نمونه وقتی در کوهستان، جنگل، دشت یا بیابان گم شدهباشید، با دانستن جهتهای جغرافیایی، میتوانید به مکان مورد نظرتان برسید. یکی از استفادههای مسلمانان از جهتیابی، یافتن قبله برای نماز خواندن و ذبح حیوانات است. کوهنوردان، نظامیان، جنگلبانان و... هم به دانستن روشهای جهتیابی نیازمندند.
هرچند امروزه با وسایلی مانند قطبنما یا سامانه موقعیتیاب جهانی (جیپیاس) میتوان به راحتی و با دقت بسیار زیاد جهت جغرافیایی را مشخص کرد، در نبود ابزار، دانستن روشهای دیگر جهتیابی مفید و کاراست.
جهتهای اصلی و فرعی
اگر رو به شمال بایستیم، سمت راست مشرق (شرق، خاور)، سمت چپ مغرب (غرب، باختر) و پشت سر جنوب است. این چهار جهت را جهتهای اصلی مینامند. بین هر دو جهت اصلی یک جهت فرعی وجود دارد. مثلاً نیمساز جهتهای شمال و شرق، جهت شمالِ شرقی (شمالِ شرق) را مشخص میکند.
با دانستن یکی از جهتها، بقیهٔ جهتها را میتوان به سادگی مشخص نمود. مثلاً اگر به سوی شمال ایستاده باشید، دست راست شما شرق، دست چپ شما غرب، و پشت سر شما جنوب است.
روشهای جهتیابی
برخی روشهای جهتیابی مخصوص روز، و برخی ویژهٔ شب اند. برخی روشها هم در همهٔ مواقع کارا هستند. توجه شود که:
بسیاری از این روشها کاملاً دقیق نیستند و صرفاً جهتهای اصلی را به صورت تقریبی مشخص میکنند. برای جهتهای دقیق باید از قطبنما استفاده کرد، و میل مغناطیسی و انحراف مغناطیسی آن را هم در نظر داشت.
آنچه گفته میشود اکثراً مربوط به نیمکره شمالی است؛ به طور دقیقتر، بالای ۲۳٫۵ درجه (بالای مدار رأسالسرطان). در نیمکره جنوبی در برخی روشها ممکن است جهت شمال و جنوب برعکس آنچه گفته میشود باشد.
ساعت : 5:27 pm | نویسنده : admin
|
مطلب بعدی