نرمافزار (به انگلیسی: 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) در فازهای خیلی کوچک (یا مداوم) انجام و با فرایندهای دستهای قدیمیتر تطبیق داده میشوند. فاز اول (که عمداً کامل نشده) در طول مراحل ممکن است به جای اینکه ماهها و سالها در روش آبشاری طول بکشد تا کامل شود، یک روز یا یک هفته وقت بگیرد. ابتدا یک آزمون خودکار برای ایجاد اهداف اساسی تولید نرمافزار نوشته میشود. سپس (توسط دو برنامهنویس) برنامهنویسی انجام میگیرد که وقتی تمام آزمونها را پشت سر گذاشته و دیگر هیچ آزمون مورد نیازی به ذهن برنامهنویسان نرسد کامل میشود. کار طراحی و معماری سیستم بعد از اینکه نه آزمونی وجود دارد و نه برنامهنویسیشده انجام میشود.طراحی توسط برنامهنویسان انجام میشود. (فقط مشخصات نهایی و ترکیب طراحی و کد در تمام فرایندها در روش سریع مشترک هستند) عملیات اصلی ناقص سامانه (توسط دست کم یکی از افراد گروه تولیدکننده و برنامهنویس) برای کاربران (یا برخی از کاربران) نصب یا نمایش داده میشوند. در اینجا تمام عوامل پروژه دوباره شروع به نوشتن آزمون برای قسمتهای مهم سامانه خواهند کرد.
گفتگوی اینترنتی
گپیا چت در فارسی اصطلاحی به معنای گفتگوی اینترنتی است. اگرچه فرهنگستان زبان
فارسی واژه گپ را معادل این واژه قرار دادهاست اما این واژه چندان مورد
استقبال عمومی قرار نگرفتهاست. این واژه خلاصه شده Online chat از زبان
انگلیسی است.
فن آوری
در ابتدا برای چت اینترنتی از پروتوکل آی آر سی استفاده میشد. اما اکنون از
طریق سایر پروتکلها نیز این کار امکان پذیر می باشد.
نرمافزارهای چت
برای چت نرمافزارهای زیادی مانند آیآرسی، یاهو مسنجر، ام اس ان مسنجر، گوگل
تاک، اسکایپ و پیامرسان ویندوز لایو وجود دارد. نرم افزار های چت هم اکنون در
موبایل هم افزایش چشم گیری داشته اند و کاربران خاص خود را دارند.
اینترنت
اینترنت (به انگلیسی: Internet) ( مخفف interconnected networks شبکههای به هم
پیوسته ) را باید بزرگترین سامانهای دانست که تاکنون به دست انسان طرّاحی،
مهندسی و اجرا گردیدهاست. ریشهٔ این شبکهٔ عظیم جهانی به دههٔ ۱۹۶۰باز می گردد
که سازمانهای نظامی ایالات متّحدهٔ آمریکا برای انجام پروژههای تحقیقاتی برای
ساخت شبکهای مستحکم، توزیع شده و باتحمل خطا سرمایه گذاری نمودند. این پژوهش
به همراه دورهای از سرمایه گذاری شخصی بنیاد ملی علوم آمریکا برای ایجاد یک
ستون فقرات جدید، سبب شد تا مشارکتهای جهانی آغاز گردد و از اواسط دههٔ ۱۹۹۰،
اینترنت به صورت یک شبکهٔ همگانی و جهانشمول در بیاید. وابسته شدن تمامی
فعّالیتهای بشر به اینترنت در مقیاسی بسیار عظیم و در زمانی چنین کوتاه، حکایت
از آغاز یک دوران تاریخیِ نوین در عرصههای گوناگون علوم، فنّآوری، و به خصوص
در نحوه تفکّر انسان دارد. شواهد زیادی در دست است که از آنچه اینترنت برای بشر
خواهد ساخت و خواهد کرد، تنها مقدار بسیار اندکی به واقعیت درآمدهاست.
اینترنت سامانهای جهانی از شبکههای رایانهای بهم پیوستهاست که از پروتکلِ
«مجموعه پروتکل اینترنت» برای ارتباط با یکدیگر استفاده مینمایند. به عبارت
دیگر اینترنت، شبکهی شبکه هاست که از میلیونها شبکه خصوصی، عمومی، دانشگاهی،
تجاری و دولتی در اندازههای محلی و کوچک تا جهانی و بسیار بزرگ تشکیل شدهاست
که با آرایه وسیعی از فناوریهای الکترونیکی و نوری به هم متصل گشتهاند.
اینترنت در برگیرنده منابع اطلاعاتی و خدمات گسترده ایست که برجستهترین آنها
وب جهانگستر و رایانامه میباشند. سازمانها، مراکز علمی و تحقیقاتی و موسسات
متعدد، نیازمند دستیابی به شبکه اینترنت برای ایجاد یک وبگاه، دستیابی از راه
دور ویپیان، انجام تحقیقات و یا استفاده از سیستم رایانامه، میباشند. بسیاری
از رسانههای ارتباطی سنتی مانند تلفن و تلویزیون نیز با استفاده از اینترنت
تغییر شکل دادهاند ویا مجدداً تعریف شده اند و خدماتی جدید همچون صدا روی
پروتکل اینترنت و تلویزیون پروتکل اینترنت ظهور کردند. انتشار روزنامه نیز به
صورت وبگاه، خوراک وب و وبنوشت تغییر شکل دادهاست. اینترنت اشکال جدیدی از
تعامل بین انسانها را از طریق پیامرسانی فوری، تالار گفتگو و شبکههای اجتماعی
بوجود آوردهاست.
در اینترنت هیچ نظارت مرکزی چه بر امور فنّی و چه بر سیاستهای دسترسی و
استفاده وجود ندارد. هر شبکه تشکیل دهنده اینترنت، استانداردهای خود را تدوین
میکند. تنها استثنا در این مورد دو فضای نام اصلی اینترنت، نشانی پروتکل
اینترنت و سامانه نام دامنه است که توسط سازمانی به نام آیکان مدیریت میشوند.
وظیفه پی بندی و استاندارد سازی پروتکلهای هستهای اینترنت، IPv4 و IPv6 بر
عهده گروه ویژه مهندسی اینترنت است که سازمانی بینالمللی و غیرانتفاعی است و
هر فردی میتواند در وظایفشان با آن مشارکت نماید.
واژهشناسی
در زبان انگلیسی واژه ی Intrnet هنگامی که به شبکه جهانی مبتنی بر پروتکل IP
اطلاق می گردد، با حرف بزرگ در اول کلمه، نوشته می شود.
در رسانه ها فرهنگ عامه، گاه با اینترنت به صورت یک مقوله عمومی و مرسوم برخورد
کرده و آن را با حرف تعریف و به صورت حروف کوچک می نگارند(the internet)
در برخی منابع بزرگ نوشتن حرف اول را به دلیل اسم بودن آن جایز می دانند نه
برای صفت بودن این واژه.
واژهٔ لاتین the Internet چنانچه به شبکهٔ جهانی اینترنت اشاره کند، اسم خاص
است و حرف اوّلش با حروف بزرگ آغاز میشود(I). اگر حرف اوّل آن کوچک باشد
میتواند به عنوان شکل کوچک شده کلمه Internetwork برداشت شود که به معنی میان
شبکه است. واژه "ابر" نیز به صورت استعاری، به ویژه در ادبیات رایانش ابری و
نرمافزار به عنوان سرویس، برای اشاره به اینترنت به کار میرود.
اینترنت در برابر وب
غالباً در گفتگوهای روزمره از دو واژهٔ "وب" و "اینترنت"، به اشتباه، بدون
تمایز زیادی استفاده میشود، امااین دو واژه معانی متفاوتی دارند. اینترنت یک
سامانه ارتباطی جهانی برای داده هاست، زیرساختهای نرمافزاری و سختافزاری است
که رایانهها در سراسر جهان به یکدیگر متصل میسازد. در مقابل، وب یکی از
خدماتی (سرویس)است که بر روی اینترنت ارائه میشود و برای ارتباط از شبکه
اینترنت بهره میجوید. وب مجموعه ای از نوشته های به هم پیوسته(web page) است
که به کمک ابرپیوندها و آدرس جهانی(URL) به یکدیگر پیوند خوردهاند.
وب شامل سرویس های دیگر مانند رایانامه، انتقال فایل(پروتکل افتیپی)، گروه
خبری و بازی آنلاین است.
خدمات(سرویس) های یاد شده بر روی شبکه های مستقل و جدا از اینترنت نیز در دسترس
هستند. وب به عنوان لایه ای در بالای اینترنت قرار گرفته و سطح بالاتری نسبت به
آن قرار دارد.
تاریخچه
افتتاح پروژه اسپوتنیک توسط اتحاد جماهیر شوروی سوسیالیستی زنگ خطر را برای
ایالات متحده به صدا درآورد تا با تأسیس آرپا یا موسسه پروژههای تحقیقاتی
پیشرفته در سال ۱۹۵۸ (میلادی) پیشروی در زمینه فناوری را بازیابد.
آرپا اداره فناوری پردازش اطلاعات (IPTO) را تاسیس نمود تا پروژه SAGE راکه
برای اولین بار سامانههای رادار سراسر کشور را با هم شبکه کرده بود پیشتر برد.
هدف IPTO دست یافتن به راههایی برای پاسخ به نگرانی ارتش امریکا در باره قابلیت
مقاومت شیکههای ارتباطیشان را پاسخ دهد، و به عنوان اولین اقدام رایانه هایشان
را در پنتاگون، کوه چاین و دفتر مرکزی فرماندهی راهبردی هوایی (SAC) را به
یکدیگر متصل سازد.جی.سی.آر لیکلایدر که از ترویج کنندگان شبکه جهانی بود به
مدیریت IPTO رسید.لیکلایدر در سال ۱۹۵۰ (میلادی) پس از علاقهمند شدن به فناوری
اطلاعات از آزمایشگاه روانشناسی صدا در دانشگاه هاروارد به ام آی تی رفت. در ام
آی تی او در کمیتهای مشغول به خدمت شد که آزمایشگاه لینکلن را تاسیس کرد و بر
روی پروژه SAGE کار میکرد. در سال ۱۹۵۷ (میلادی) او نایب رئیس شرکت بی بی ان
(BBN) شد. در آنجا بود که اولین محصول PDP-۱ را خرید و نخستین نمایش عمومی
اشتراک زمانی را هدایت نمود.
پروفسورلئونارد کلینراک در کنار یکی از اولین پردازشگرهای پیغام واسط (به
انگلیسی: Interface Message Processor) در دانشگاه کالیفرنیا، لسآنجلس
در IPTO جانشین لیکلایدر ایوان ساترلند، در سال ۱۹۶۵ (میلادی)، لارنس رابرتس را
بر آن گماشت که پروژهای را برای ایجاد یک شبکه آغاز نماید و رابرتس پایه این
فناوری را کار پل باران نهاد
.
پل باران مطالعه جامعی را برای نیروی هوایی ایالات متحده آمریکا منتشر کرده بود
که در آن پیشنهاد داده بود که برای دستیابی به استحکام و مقاومت در برابر حوادث
از راهگزینی بسته کوچک استفاده شود. رابرتس در آزمایشگاه لینکلن ام آی تی کار
کرده بود که هدف اولیه از تاسیس آن، پروژه SAGE بود. لئونارد کلینراک استاد
دانشگاه کالیفرنیا تئوریهای زیربنایی شبکههای بسته را در سال ۱۹۶۲ (میلادی) و
مسیریابی سلسله مراتبی را در سال ۱۹۶۷ (میلادی) ارائه کرده بود، مفاهیمی که
زمینه ساز گسترش اینترنت به شکل امروزی آن شدند.
جانشین ساترلند، رابرت تیلور، رابرتس را قانع نمود که موفقیتهای اولیهاش در
زمینه راهگزینی بسته کوچک را گسترش دهد و بیاید و دانشمند ارشد IPTO شود.در
آنجا رابرتس گزارشی با نام "شبکههای رایانهای منابع مشترک" به تیلور داد، که
در ژوئیه ۱۹۶۸ (میلادی) م.رد تایید او قرار گرفت و زمینه ساز آغاز کار آرپانت
در سال بعد شد. پس از کار فراوان، سرانجام در ۲۹ اکتبر ۱۹۶۹ دو گره اول آنچه که
بعدها آرپانت شد به هم متصل شدند.این اتصال بین مرکز سنجش شبکه کلینراک در
دانشکده مهندسی و علوم کاربردی UCLA و سامانه NLS داگلاس انگلبرت در موسسه
تحقیقاتی SRI International در پارک منلو در کالیفرنیا برقرار شد. سومین مکان
در آرپانت مرکز ریاضیات تعاملی Culler-Fried در دانشگاه کالیفرنیا، سانتا
باربارا بود و چهارمی دپارتمان گرافیک دانشگاه یوتا بود. تا پایان سال ۱۹۷۹
(میلادی) پانزده مکان مختلف به آرپانت جوان پیوسته بودند که پیام آور رشدی سریع
بود. آرپانت تنها یکی از اجداد اینترنت امروزی بود. در تلاشی جداگانه، دونالد
دیویز نیز، در آزمایشگاه ملی فیزیک انگلیس مفهوم راهگزینی بسته کوچک را کشف
کرده بود. اونخستین بار آن را در ۱۹۶۵ (میلادی) مطرح نمود. کلمات بسته و
راهگزینی بسته در واقع توسط او ابداع شدند و بعدها توسط استانداردها پذیرفته و
به کار گرفته شدند. دیویز همچنین یک شبکه راهگزینی بسته به نام Mark I در سال
۱۹۷۰ (میلادی) درانگلستان ساخته بود
.به دنبال نمایش موفق راهگزینی بسته در آرپانت(ARPANET)؛ در سال ۱۹۷۸، اداره
پست بریتانیا، Telenet، DATAPACوTRANSPAC با یکدیگر همکاری را برای بوجود آوردن
نخستین سرویس شبکه راهگزینی بسته خود آغاز نمودند. در بریتانیا این شبکه به نام
سرویس بینالمللی راهگزینی بسته (به انگلیسی: International Packet Switched
Service) خوانده میشد. مجموعه شبکههای X.۲۵ از اروپا و آمریکا گسترش یافت و
تا سال ۱۹۸۱ کانادا، هنگ کنگ و استرالیا ر در بر گرفته بود.استانداردهای
راهگزینی بسته X.۲۵ را "کمیته مشاوره بینالمللی تلگراف و تلفن(CCITT)" - که
امروزه به نام ITU-T خوانده میشود- حول و حوش سال ۱۹۷۶ تدوین نمود. X.۲۵ از
پروتکلهای TCP/IP مستقل بود. این پروتکلها حاصل کار تجربی DARPA در آرپانت،
شبکه رادیویی بسته و شبکه ماهوارهای بسته بودند.
آرپانت اولیه بر روی برنامه کنترل شبکه(NCP) (به انگلیسی: Network Control
Program) کارمی کرد، استانداردی که در دسامبر ۱۹۷۰ توسط تیمی به نام "گروه کاری
شبکه(NWG)" به مدیریت استیو کراکر (به انگلیسی: Steve Crocker) طراحی و پیاده
سازی شد. برای پاسخگویی به رشد سریع شبکه که مرتباً مکانهای بیشتری بدان متصل
میشد، وینتون سرف (به انگلیسی: Vinton Cerf) و باب کان (به انگلیسی: Bob Kahn)
اولین توصیف پروتکلهای TCP را که امروزه به گستردگی استفاده میشوند در خلال
سال ۱۹۷۳ ارائه دادند و در مه ۱۹۷۴ مقالهای در این باب منتشر نمودند. به
کاربردن واژه اینترنت برای توصیف یک شبکه TCP/IP یکتای جهانی از دسامبر ۱۹۷۴ با
انتشار RFC ۶۷۵ آغاز شد.این RFC اولین توصیف کامل مشخصات TCP بود که توسط
وینتون سرف، یوگن دالال و کارل سانشاین در آن زمان در دانشکاه استانفورد نوشته
شد. در خلال نه سال یعدی کار تا آنجا پیش رفت که پروتکلها تصحیح شدندو بر روی
بسیاری از سیستمهای عامل پیاده سازی شدند.اولین شبکه برپایه بسته پروتکل
اینترنت(TCP/IP) از اول ژانویه ۱۹۸۳ وقتی که همه ایستگاههای متصل به آرپا
پروتکلهای قدیمی NCP را با TCP/IP جایگزین کردند، شروع به کار نمود. در سال
۱۹۸۵ بنیاد ملی علوم آمریکا(NFS) ماموریت ساخت NFSNET- یک ستون فقرات (Network
Backbone) دانشگاهی با سرعت ۵۶ کیلوبیت بر ثانیه(Kbps) - با استفاده از
رایانههای "مسیریاب فازبال" (به انگلیسی: Fuzzball router) را به مخترع این
رایانهها، دیوید ال. میلز (به انگلیسی: David L. Mills) سپرد. یک سال بعد NFS
تبدیل به شبکه پرسرعت تر ۱٫۵ مگابیت بر ثانیه ( Mbps) را نیز پشتیبانی میکرد.
دنیس جنینگ، مسئول برنامه ابرکامپیدتردرNFS تصمیمی کلیدی در مورد استفاده از
پروتکلهای TCP/IP ارائه شده توسط DARPA گرفت. گشایش شبکه به دنیای تجاری در سال
۱۹۸۸ آغاز شد.شورای شبکه بندی فدرال ایالات متحده در آن سال با اتصال NFSNET به
سامانه تجاری پست MCI موافقت نمودو این اتصال در تابستان ۱۹۸۹ برقرارشد. سایر
خدمات پست الکترونیکی تجاری(مانند OnTyme,Compuserve,Telemail ) نیز به زودی
متصل شدند. در آن سال سه ارائه دهنده سرویس اینترنت(ISP) بوجود آمدند : UUNET,
PSINet, CERFNET . شبکههای جدای مهمی که دروازههایی به سوی اینترنت (که خود
بعداً جزئی از آن شدند)می گشودند عبارت بودند از : یوزنت, بیتنت بسیاری از
شبکههای متنوع تجاری و آموزشی دیگر همچون Telenet, Tymnet, Compuserve و JANET
نیز به اینترنت در حال رشد پیوستند. Telenet - که بعدها Sprintnet نامیده شد -
یک شبکه رایانهای ملی خصوصی بود که از ۱۹۷۰ کار خود را آغاز کرده بود و امکان
دسترسی با شمارهگیری (به انگلیسی: Dial-up Access) را به صورت رایگان در
شهرهایی در سراسر امریکا فراهم ساخته بود.این شبکه سرانجام در دهه ۱۹۸۰، با
محبوبیت روزافزون TCP/IP به سایرین متصل شد. فابلیت TCP/IP برای کار با هر نوع
شبکه ارتباطی از پیش موجود، سبب رشد آسانتر آن میگشت؛ اگر چه که رشد سریع
اینترنت در وهله اول ناشی از در دسترس بودن مسبریابهای استاندارد تجاری از طرف
بسیاری از شرکتها، در دسترس بودن تجهیزات تجاری اترنت(به انگلیسی: Ethernet)
برای ساخت شبکههای محلی و پیاده سازیهای گسترده و استانداردسازی TCP/IP در
یونیکس]](به انگلیسی: Unix) و بسیاری سیستم عاملهای دیگر بود.
این رایانه نکست توسط تیم برنرز لی در سرن به عنوان اولین وب سرور دنیا استفاده
شد.
اگرچه بسیاری از کاربردها و رهنمودهایی که اینترنت را ممکن ساخت به مدت تقریباً
دو دهه وجو داشتند، امااین شبکه تا دهه ۱۹۹۰ هنوز چهرهای همگانی نداشت. در ششم
آگوست ۱۹۹۱، سرن - سازمان اروپایی پژوهش در باره ذرات - پروژه وب جهان
گستر(World Wide Web) را به اطلاع عموم رساند. وب توسط دانشمندی انگلیسی به نام
تیم برنرز لی(به انگلیسی: Sir Tim Berners-Lee) در سال ۱۹۸۹ اختراع شد.یکی از
مرورگرهای وب محبوب اولیه ViolaWWW بود که از روی هایپرکارت الگوبرداری شده بود
و از سامانه پنجره ایکس(به انگلیسی: X Window System) استفاده میکرد. سرانجام
این مرورگر جای خود را در محبوبیت به مرورگرموزاییک (به انگلیسی: Mosaic) داد.
در سال ۱۹۹۳ مرکزملی کاربردهای ابررایانش امریکا (به انگلیسی: National Center
for Supercomputing Applications) دردانشگاه ایلینوی اولین نسخه از موزاییک را
منتشر کرد و تا اواخر سال ۱۹۹۴ علاقه عمومی به اینترنتی که پیش از این آموزشی و
تخصصی بود، گسترش فراوانی یافته بود. در سال ۱۹۹۶ استفاده از واژه اینترنت
معمول شد و مجازا برای اشاره به وب هم استفاده شد. در همین هنگام، در گذر این
دهه، اینترنت بسیاری از شبکههای رایانهای عمومی از پیش موجود را در خود جا
داد(اگر چه برخی مثل FidoNet همپنان جداماندند). آنچنانکه تخمین زده شدهاست،
در دهه ۹۰ در هرسال اینترنت رشدی صددرصدی نسبت به سال قبل خود داشتهاست و در
سالهای ۱۹۹۶و۱۹۹۷ نیز دورههای کوتاهی از رشد انفجاری داشتهاست
.این میزان رشد به خصوصیت عدم کنترل مرکزی اینترنت که امکان رشد اندامی شبکه را
فراهم میسازد نسبت دادهاند و همچنین به ماهیت بازوغیراختصاصی پروتکلهای
اینترنت که امکان برقراری سازگاری و همکاری میان فروشندگان مختلف و عدم توانایی
یک شرکت برای اعمال کنترل بیش از حد بر روی شبکه را سبب میشود.جمعیت تخمینی
کاربران اینترنت مطابق آمار سی ام ژوئیه ۲۰۰۹ ، ۱٫۶۷ میلیارد نفراست.
حاکمیت
اینترنت یک شبکه جهانی توزیع شدهاست که شبکههای خودمختار به انتخاب خود به آن
پیوستهاند و بدون هیچ بدنهٔ مرکزی فرماندهی کار میکند. اما برای حفظ
همکنشپذیری آن جنبههای فنی و سیاستهای زیر ساخت پایهٔ آن و همچنین فضاهای
نام اصلی آن توسط بنگاه اینترنتی نامها و شمارههای تخصیص داده شده(به انگلیسی:
Internet Corporation for Assigned Names and Numbers) (ICANN) اداره میشوند
که مقر اصلی آن درمارینا دل ری، کالیفرنیا قرار دارد. ICANN مرجعی است که به
هماهنگ سازی تخصیص شناسههای یکتا برای استفاده در اینترنت میپردازد.این
شناسهها شامل نامهای دامنه، نشانیهای IP، شماره پورتهای برنامهها در لایه
انتقال و بسیاری از پارامترهای دیگر میشود. فضاهای نام یکتای جهانی که در آن
نامها و شمارهها به صورتی تخصیص داده میشوند که مقادیر یکتا باشند، برای
دسترسی جهانی به اینترنت ضروری هستند. ICANN توسط یک هیات مدیره بینالمللی که
از بین انجمنهای فنی، آکادمیک و سایر انجمنهای غبر تجاری دیگراینترنت انتخاب
میشود.دولت امریکا همچنان نقش اولیه را در تایید تغییرات در حوزه ریشه سامانه
نام دامنه (به انگلیسی: DNS root zone) که قلب سامانه نام دامنه(DNS) را تشکیل
میدهد. نقش ICANN در هماهنگی تخصیص شناسههای یکتا، آن را به عنوان تنها پیکره
هماهنگ سازی در شبکه جهانی اینترنت متمایز میسازد.در ۱۶ نوامبر ۲۰۰۵ نشست
جهانی در باره جامعه اطلاعاتی که در تونس برگزار شد انجمن حاکمیت اینترنت(IGF)
را تاسیس کردند تا به مسایل مرتبط با اینترنت بپردازد.
کاربردهای امروزی
اینترنت انعطاف پذیری بیشتری را در مورد ساعتهای کاری و موقعیت جغرافیایی فراهم
میسازد بویژه با گسترش اتصالهای پرسرعت و نرمافزارهای کاربردی وب. امروزه
اینترنت تقریباً از همه جا و به طرق مختلفی قابل دسترسی است، بویژه از طریق
دستگاههای متحرک اینترنتی (Mobile Internet Device)، تلفن همراه، جعبههای بازی
دستی(Handheld Game Console) و مسیریابهای سلولی(Cellular Routers) که به
کاربران اجازه میدهد که هرکجا شبکههای بی سیم وجود دارد به اینترنت متصل
شوند.
با وجود محدودیت اندازه صفحه کوچک دستگاههای جیبی، خدمات اینترنت مانند وب و
پست الکترونیک قابل استفادهاند. اینترنت همچنین بازار بزرگی برای شرکتها
شدهاست. برخی از بزرگترین شرکتهای دنیا با بهره گیری از ماهیت کم هزینه
تبلیغات و دادوستد اینترنتی (که به دادوستدالکترونیک(E-Commerce) مشهور است)
بزرگ شدهاند.این سریعترین راه برای انتشار همزمان اطلاعات بین افراد متعدد
است. اینترنت متعاقباً راه و رسم خریدکردن را نیز متحول ساختهاست. به عنوان
مثال یک فرد میتوانند کالایی مانند یک لوح فشرده(CD) را به صورت برخط(Online)
سفارش داده و ظرف چند روز آن را از طریق پست دریافت کند و یا مستقیماً آن را در
رایانهاش بارگیری(Download) نماید.اینترنت همچنین امکانات بزرگی برای
بازاریابی شخصی (Personalized Marketing) به ارمغان میآورد و بیشتر از هر
رسانه تبلیغاتی دیگری به یک شرکت امکان تبلیغ خصوصی محصول برای یک فرد و یا
گروهی از افراد را میدهد.از نمونههای بازایابی شخصی میتوان به اجتماعات
برخطی چون Facebook، Orkut، ،Twitter، Friendster، Myspace و مشابه آنها اشاره
کرد که هزاران کاربر به عضویت آنها در میآیند تا خود را تبلیغ کنند و به صورت
برخط دوست بیابند. بسیاری از آنها نوجوانان و جوانان بین ۱۳ تا ۲۵ سال
هستند.وقتی که آنها خود را تبلیغ میکنند، علایق و سرگرمیهای خود را نیز تبلیغ
مینمایند و شرکتهای بازاریابی برخط(Online Marketing) نیز از آن سود میجویند
تا به اطلاعاتی در مورد اینکه هریک از این کاربران معمولاً جه کالاهایی را به
صورت بر خط میخرند، دست یابند و محصولات شرکت خود را برای کاربران مورد نظرشان
تبلیغ کنند.
به اشتراک گذاری آنی و کم هزینه ایدهها، دانش و مهارتها، با کمک نرمافزارهای
تشریک مساعی (Collaborative Software) کارهای مشارکتی را بسیار آسانتر
نمودهاست. گروهها نه تنها میتوانند به ارزانی ارتباط برقرار کنند و ایدهها
را به اشتراک بگذارند، بلکه در وهله اول به دلیل دسترسی بسیار گسترده اینترنت
تشکیل گروهها آسانتر میشود.مثالی از این موضوع، جنبش نرمافزار آزاد است که
محصولاتی چون لینوکس، فایرفاکس موزیلا و اپنآفیس بوجود آورد. "گپ" اینترنتی چه
به شکل اتاقهای گپ IRC و چه به شکل پیام رسانی فوری (Instant Messaging) به
همکاران اجازه میدهد که به راحتی ضمن کارکردن پشت رایانه هایشان با یکدیگر در
تماس باشند. پیامها حتی راحت تر و سریعتر از سیستم پست الکترونیکی مبادله
میشوند. این سیستمها میتوانند به گونهای توسعه یابند که امکان مبادله فایل
و یا تماس تصویری را نیز به کاربران ارائه دهند.(مانند Yahoo Messenger)
سیستمهای کنترل نسخه (Version Control) به گروههای همکاری کننده اجازه میدهد
که بر روی اسناد اشتراکی کار کنند، بدون اینکه تصادفاً کار یکدیگر را رونویسی
کنند و یا منتظر رسیدن اسناد به دستشان باشند تا بتوانند کار خود را بر روی
اسناد انجام دهند. تیمهای تجاری و پرژهای میتوانند تقویمها را نیز در کنار
اسناد و اطلاعات به اشتراک بگدارند. چنین هماهنگیهایی در طیف وسیعی از موضوعات
مانند پژوهشهای علمی، تولید نرمافزار، برنامه ریزی کنفرانس وفعالیتهای سیاسی
صورت میگیرد. همکاریهای سیاسی و اجتماعی با گسترش دسترسی به اینترنت و افزایش
سوادرایانهای افزایش مییابد. از رویدادهای فلش ماب در اوایل ۲۰۰۰ تا استفاده
از شبکههای اجتماعی در اعتراضات به انتخابات ۲۰۰۹ در ایران. اینترنت به افراد
این امکان را میدهد که به طرز بسیار موثر تری از هرروش دیگری با هم کار کنند.
اینترنت امکان دسترسی از راه دور به رایانههای دیگر و انبارههای اطلاعات در
هرجای دنیا که باشندرا به کاربران رایانه میدهد. آنها میتوانند برای این کار،
در صورت نیاز، از فناوریهای امنیتی، رمزنگاری و احراز هویت نیز استفاده کنند.
مثلاً یک حسابدار که در منزل خود نشستهاست میتواند حسابرسی دفاتر شرکتی را که
در کشور دیگری قرار دارد، بر روی سروری که در کشور سومی قرار گرفته و توسط
متخصصینی در کشور چهارم نگهداری میشود، انجام دهد ویا یک کارمند اداره
میتواند در هر جای دنیا که باشدمی تواند یک نشست میزکاردور (Remote Desktop)
رااز طریق اینترنت و یک شبکه خصوصی مجازی (VPN) ایمن به رایانهاش در اداره باز
کند.