نرم افزار
نرمافزار
نرمافزار (به انگلیسی: 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) در فازهای خیلی کوچک (یا مداوم) انجام و با فرایندهای دستهای قدیمیتر تطبیق داده میشوند. فاز اول (که عمداً کامل نشده) در طول مراحل ممکن است به جای اینکه ماهها و سالها در روش آبشاری طول بکشد تا کامل شود، یک روز یا یک هفته وقت بگیرد. ابتدا یک آزمون خودکار برای ایجاد اهداف اساسی تولید نرمافزار نوشته میشود. سپس (توسط دو برنامهنویس) برنامهنویسی انجام میگیرد که وقتی تمام آزمونها را پشت سر گذاشته و دیگر هیچ آزمون مورد نیازی به ذهن برنامهنویسان نرسد کامل میشود. کار طراحی و معماری سیستم بعد از اینکه نه آزمونی وجود دارد و نه برنامهنویسیشده انجام میشود.طراحی توسط برنامهنویسان انجام میشود. (فقط مشخصات نهایی و ترکیب طراحی و کد در تمام فرایندها در روش سریع مشترک هستند) عملیات اصلی ناقص سامانه (توسط دست کم یکی از افراد گروه تولیدکننده و برنامهنویس) برای کاربران (یا برخی از کاربران) نصب یا نمایش داده میشوند. در اینجا تمام عوامل پروژه دوباره شروع به نوشتن آزمون برای قسمتهای مهم سامانه خواهند کرد.
کاربردهای امروزی
اینترنت انعطاف پذیری بیشتری را در مورد ساعتهای کاری و موقعیت جغرافیایی فراهم میسازد بویژه با گسترش اتصالهای پرسرعت و نرمافزارهای کاربردی وب. امروزه اینترنت تقریباً از همه جا و به طرق مختلفی قابل دسترسی است، بویژه از طریق دستگاههای متحرک اینترنتی (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) ایمن به رایانهاش در اداره باز کند.
خدمات
اطلاعات
بسیاری از افراد واژههای "اینترنت" و "وب جهان گستر"(یابه صورت کوتاه "وب") را به جای هم بکار میبرند، حال آنکه این دو واژه معناهای متفاوتی دارند. وب جهان گستر مجموعهای جهانی از اسناد و تصاویر و سایر منابعی است که به وسیله ابرپیوندها با یکدیگر ارتباط منطقی دارند و با استفاده از شناسههای منبع یکنواخت (به انگلیسی: Uniform Resource Identifier) ویا به اختصار URI مورد مراجعه قرار میگیرند. URIها به ارائه دهندگان اجازه میدهد که سرویسها و مشتریان را به صورت سمبولیک مشخص نمایند. تا مکان یابی و آدرس دهی وب سرورها، سرورهای پرونده و سایر پایگاه دادههایی که اسناد را ذخیره میکنند و همچنین عرضه دسترسی به منابع از طریق پروتکل HTTP، اصلیترین پروتکل حامل وب، را ممکن سازند.HTTP تنها یک از صدها پروتکلی است که روی وب استفاده میشود. وب سرویسها نیز میتوانند از این پروتکل برای ارتباط استفاده کنند.
مرورگرهای وب جهان گستر مثل اینترنت اکسپلورر مایکروسافت، فایرفاکس، اپرا، سافاری اپل، و گوگل کروم با استفاده از ابرپیوندهای تعبیه شده درون صفحات، به کاربران امکان میدهند از یک صفحه وب به صفحه دیگرگردش کنند. این اسناد ممکن است ترکیبی از دادههای رایانهای شامل گرافیک، صدا، متن ساده، ویدیو، چندرسانهای و محتوای تعاملی شامل بازی، برنامههای اداری و نمایشهای علمی باشد. از راه پژوهشهای اینترنتی برپایه جستجوی کلیدواژهها با استفاده از موتورهای جستجوی وب مثل یاهو و گوگل کاربران میتوانند به سرعت و سادگی به حجم گسترده و متنوع اطلاعات بر خط دسترسی داشته باشند. در مقایسه با دانشنامههای چاپی و کتابخانههای سنتی، وب جهان گستر امکان عدم تمرکز اطلاعات را فراهم ساختهاست. وب همچنین به افراد و سازمانها توانایی انتشار ایدهها و افکارشان را برای شماربسیاری از مخاطبین بالقوه با هزینه وتاخیر زمانی کمینه میدهد. انتشار یک صفحه وب، وب نوشت، یا ساخت یک وبگاه هزینه اولیه بسیار پایینی دارد و سرویسهای رایگان نیز وجود دارند، هرچندکه انتشار و نگهداری وبگاههای بزرگ و حرفهای بااطلاعات جذاب، متنوع و به روز هنوزمشکل و پرهزینهاست. بسیاری از افراد، شرکتها و گروهها از وب نوشت هاکه به گستردگی برای یادداشتهای روزانه به روزشدنی به کارمی روند نیز استفاده میکنند.برخی از سازمانهای تجاری کارکنان خود کارکنان خود را تشویق میکنند که در حوزه تخصص خود توصیههایی را در وبگاه ارائه دهند، به این امید که با دانش تخصصی و اطلاعات رایگان، بازدیدکنندگان را تحت تاثیر قراردهند وبه شرکت خود جذب کنند. نمونه این روش در مایکروسافت دیده میشود که نرمافزارنویسان این شرکت، وب نوشتهای شخصی خود را منتشر میکنند تا علاقه عمومی را نسبت به کارشان بینگیزند.
تبلیغ برخط در صفحات وب پربیننده میتواند سود زیادی در برداشته باشد. دادوستدالکترونیک یا فروش محصولات مستقیماً از طریق وب نیز به رشد خود ادامه میدهد. در روزهای نخست وب، وبگاهها تنها مجموعهای از پروندههای متنی اچ تی امال(HTML) کامل شده و منزوی بود که بر روی وب سرورها ذخیره میشدند. به تازگی وبگاهها توسط نرمافزارهای مدیریت محتوا و ویکی و با محتوای اولیه اندک ساخته میشوند. مشارکت کنندگان سیستم پایگاه دادههای اصلی را توسط صفحات ویرایشگری که به همین منظور ساخته شدهاند با محتوای مورد نظر پر میکنند، حال آنکه بازدیدکنندگان تنها شکل نهایی HTML صفحات را میبینند. پروسه گرفتن محتوای جدید و دردسترس قرار دادن آن برای بازدیدکنندگان مورد نظر ممکن است شامل سیستمهای سردبیری، تاییدی و امنیتی باشد.
ارتباط
پست الکترونیک یکی از سرویسهای ارتباطی مهم در دسترس بر روی اینترنت است. مفهوم فرستادن پیامهای متنی الکترونیکی که به گونهای به نامهها و یادداشتهای پستی میماند، قدمتی بیش از اینترنت دارد. امروزه یکی از مسایلی که میتواند حائز اهمیت باشد درک تفاوت بین پست الکترونیک اینترنتی و سامانههای پست الکترونیکی داخلی است. یک نامه الکترونیکی اینترنتی ممکن است از شبکههای مختلفی عبورکند و بر روی ماشینهای مختلفی به صورت رمزنشده دخیره شود که از کنترل فرستنده و گیرنده نامه کاملاً خارج اند. دراین مدت کاملاً امکانپذیر است که این نامه توسط اشخاص ثالثی محتوای آن خوانده و یا حتی دستکاری شود. سامانههای پست الکترونیکی کاملاً داخلی که در آن نامه هاهرگزازمحدوده شبکه داخلی سازمان خارج نمیشوند بسیار ایمن تر هستند، هر چند که در هرسازمانی کارکنان فناوری اطلاعات و یا پرسنل دیگری هستند که شغلشان در ارتباط با نظارت و گاهی دسترسی به نامههای دیگران است. تصاویر و اسناد و سایر پروندهها نیز میتواند به صورت پیوست نامه الکترونیک فرستاده شود. نامههای الکترونیکی را میتوان به چندین نشانی پست الکترونیکی رونوشت نمود.
تلفن اینترنتی نیز سرویس ارتباطی دیگری است که با پیدایش اینترنت امکانپذیر شد. صدا روی پروتکل اینترنت(VoIP) نام پروتکلی است که زیر بنای همه ارتباطات تلفنی اینترنتی است. ایده آن در اوایل دهه ۱۹۹۰ همراه با برنامههای واکی-تاکی گونه برای رایانههای شخصی ظهور کرد. در سالهای اخیر سیستمهای VoIP سادگی استفاده و راحتی تلفنهای معمولی را پیدا کردهاند. فایده این کار ان است که چون ترافیک صدارااینترنت حمل میکند، VoIP هزینه بسیار کمی دارد و حتی میتواند رایگان باشد. به ویژه برای آن دسته از اتصالات اینترنت که همیشه برقرارند (مانند مودم کابلی یا ADSL) گزینه مناسبی است. VoIP در حال پخته شدن و تبدیل شدن به رقیب جایگزینی برای سیستمهای تلفن سنتی است. همکنشپذیری بین عرضه کنندگان مختلف بهبود یافته و امکان برقراری و یا در یافت تماس با تلفنهای معمولی نیز به وجود آمدهاست. کارتهای شبکه ساده و ارزان VoIP نیز در دسترس هستند که نیاز به وجود رایانه برای استفاده از VoIPرا ازبین میبرند.
کیفیت صدا از یک تماس تا تماس دیگر تغییر میکند، اما غالباً کیفیت برابر یا بهتر از تلفن معمولی است. مشکلاتی که برای VoIP باقی میمانند، گرفتن شماره تلفنهای اظطراری و قابلیت اطمینان است. در حال حاضر تعدادی از ازائه دهندگان VoIP سرویس شمارههای اظطراری را ارائه میدهند اما هنوز به صورت جهانی در دسترس نیست. تلفنهای سنتی انرژی را از خط تلفن میگیرند و در صورت قطع برق میتوانند همچنان عمل کنند. برای VoIP این امکان بدون استفاده از منبع تغذیه پشتیبان برای تغذیه تجهیزات تلفن و دسترسی به اینترنت، وجود ندارد. VoIP همچنین محبوبیت روز افزونی بین علاقهمندان بازیهای کامپیوتری به عنوان شکلی از ارتباط بین بازیکنان مییابد.
انتقال داده
اشتراک فایل نمونهای از انتقال مقادیر بزرگ داده از طریق اینترنت است. یک فایل رایانهای را میتوان به صورت پیوست نامه الکترونیکی به دوستان و همکاران فرستاد. میتوان آن را دریک وبگاه ویا اف تی پی سرور( FTP Server) بارگذاری (Upload) نمودتا به آسانی توسط دیگران بارگیری(Download) شود. میتوان آن را در یک "مکان مشترک" در یک کارسازپرونده(File Server) قرار دارد تا به سرعت و آسانی در اختیار همکاران قرار گیرد. بار سنگین بارگیریهای شمار زیاد کاربران را میتوان با به کاربردن کارساز(سرور)های آینه و شبکههای تظیر-به-نظیر کاهش داد. دسترسی به فایل را میتوان از طریق تصدیق هویت کاربر کنترل کرد. انتقال فایل بر روی اینترنت را نیز میتوان با رمزگذاری در پوشش ابهام قرار داد. دستیابی به فایل ممکن است در گرو پرداخت مبلغی باشد که میتواند توسط کارت اعتباری پرداخت شود. مبدا و اعتبار فایل از طریق امضای دیجیتال و یا MD۵ و سایر روشهای هضم پیام قابل بررسی است. این ویژگیهای ساده اینترنت در مقیاس جهانی، به تدریج تولید، فروش و توزیع هر چیزی را که قابل ارائه به صورت فایل باشد را تغییر میدهد که این چیزها شامل همه انتشارات چاپی، محصولات نرمافزاری، اخبار، موسیقی، فیلم، ویدیو، عکاسی، گرافیک و آثار هنری دیگر میباشد.
رسانه جریانی(Streaming Media) همان عملی است که بسیاری از پخش کنندگان صدا و سیما، به واسطه آن، برنامههای خودرا از طریق اینترنت به صورت زنده پخش میکنند.(به عنوان مثال BBC) آنها امکان دیدن برنامههای غیر همزمان ضبط شده را نیز به کاربران میدهند. گروهی از آنها صرفاً برنامههای خود را از طریق اینترنت پخش میکنند. این بدین معنی است که یک رایانه میتواند به این رسانههای برخط، شبیه به همان صورتی که پیش از این تنها از طریق گیرندههای رادیو و تلویزیون امکانپذیر بود دست یابد. پادکستها گونه دیگری از پخش اینترنتی هستند که فایل صوتی توسط رایانه بارگیری میشود و سپس به یک پخش کننده رسانه قابل حمل منتقل میشود تا بتوان بعداً در حرکت بدان گوش داد.
وب بین (Webcam)ها را نیز میتوان گونه کم هزینه تر رسانه جریانی دانست. اگرچه برخی از وب بینها تصویر با ترخ فریم کامل میدهند اما غالباً تصویر کوچک است و به کندی به روز میشود. کاربران اینترنت میتوانند حیواناتی را دریک جنگل افریقایا گزارش تصویری از ترافیک در یک میدان را به صورت زنده و بی درنگ تماشا کنند و یا بر روی داراییهای خود از راه دور نیز نظارت بصری داشته باشند.محبوبیت اتاقهای گپ ویدیویی ویا کنفرانس تصویری نیز با افزایش تعداد کاربرانی که وب بین دارند، افزایش مییابد. یوتیوب در تاریخ ۱۵ فوریه ۲۰۰۵ ایجاد شد و اکنون وبگاه پیشرو در زمینه ویدیوهای جریانی است. یوتیوب از یک پخش کننده وب برپایه فلش برای پخش ویدیو استفاده میکند. کاربران ثبت نام کرده میتوانند مقدار نامحدودی ویدیو را در این وبگاه بارگذاری کنند و پروفایل شخصی بسازند. یوتیوب ادعا میکند که کاربرانش روزانه صدها میلیون ویدیو را بارگذاری و یا تماشا میکنند.
اینترنت انعطاف پذیری بیشتری را در مورد ساعتهای کاری و موقعیت جغرافیایی فراهم میسازد بویژه با گسترش اتصالهای پرسرعت و نرمافزارهای کاربردی وب. امروزه اینترنت تقریباً از همه جا و به طرق مختلفی قابل دسترسی است، بویژه از طریق دستگاههای متحرک اینترنتی (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) ایمن به رایانهاش در اداره باز کند.
خدمات
اطلاعات
بسیاری از افراد واژههای "اینترنت" و "وب جهان گستر"(یابه صورت کوتاه "وب") را به جای هم بکار میبرند، حال آنکه این دو واژه معناهای متفاوتی دارند. وب جهان گستر مجموعهای جهانی از اسناد و تصاویر و سایر منابعی است که به وسیله ابرپیوندها با یکدیگر ارتباط منطقی دارند و با استفاده از شناسههای منبع یکنواخت (به انگلیسی: Uniform Resource Identifier) ویا به اختصار URI مورد مراجعه قرار میگیرند. URIها به ارائه دهندگان اجازه میدهد که سرویسها و مشتریان را به صورت سمبولیک مشخص نمایند. تا مکان یابی و آدرس دهی وب سرورها، سرورهای پرونده و سایر پایگاه دادههایی که اسناد را ذخیره میکنند و همچنین عرضه دسترسی به منابع از طریق پروتکل HTTP، اصلیترین پروتکل حامل وب، را ممکن سازند.HTTP تنها یک از صدها پروتکلی است که روی وب استفاده میشود. وب سرویسها نیز میتوانند از این پروتکل برای ارتباط استفاده کنند.
مرورگرهای وب جهان گستر مثل اینترنت اکسپلورر مایکروسافت، فایرفاکس، اپرا، سافاری اپل، و گوگل کروم با استفاده از ابرپیوندهای تعبیه شده درون صفحات، به کاربران امکان میدهند از یک صفحه وب به صفحه دیگرگردش کنند. این اسناد ممکن است ترکیبی از دادههای رایانهای شامل گرافیک، صدا، متن ساده، ویدیو، چندرسانهای و محتوای تعاملی شامل بازی، برنامههای اداری و نمایشهای علمی باشد. از راه پژوهشهای اینترنتی برپایه جستجوی کلیدواژهها با استفاده از موتورهای جستجوی وب مثل یاهو و گوگل کاربران میتوانند به سرعت و سادگی به حجم گسترده و متنوع اطلاعات بر خط دسترسی داشته باشند. در مقایسه با دانشنامههای چاپی و کتابخانههای سنتی، وب جهان گستر امکان عدم تمرکز اطلاعات را فراهم ساختهاست. وب همچنین به افراد و سازمانها توانایی انتشار ایدهها و افکارشان را برای شماربسیاری از مخاطبین بالقوه با هزینه وتاخیر زمانی کمینه میدهد. انتشار یک صفحه وب، وب نوشت، یا ساخت یک وبگاه هزینه اولیه بسیار پایینی دارد و سرویسهای رایگان نیز وجود دارند، هرچندکه انتشار و نگهداری وبگاههای بزرگ و حرفهای بااطلاعات جذاب، متنوع و به روز هنوزمشکل و پرهزینهاست. بسیاری از افراد، شرکتها و گروهها از وب نوشت هاکه به گستردگی برای یادداشتهای روزانه به روزشدنی به کارمی روند نیز استفاده میکنند.برخی از سازمانهای تجاری کارکنان خود کارکنان خود را تشویق میکنند که در حوزه تخصص خود توصیههایی را در وبگاه ارائه دهند، به این امید که با دانش تخصصی و اطلاعات رایگان، بازدیدکنندگان را تحت تاثیر قراردهند وبه شرکت خود جذب کنند. نمونه این روش در مایکروسافت دیده میشود که نرمافزارنویسان این شرکت، وب نوشتهای شخصی خود را منتشر میکنند تا علاقه عمومی را نسبت به کارشان بینگیزند.
تبلیغ برخط در صفحات وب پربیننده میتواند سود زیادی در برداشته باشد. دادوستدالکترونیک یا فروش محصولات مستقیماً از طریق وب نیز به رشد خود ادامه میدهد. در روزهای نخست وب، وبگاهها تنها مجموعهای از پروندههای متنی اچ تی امال(HTML) کامل شده و منزوی بود که بر روی وب سرورها ذخیره میشدند. به تازگی وبگاهها توسط نرمافزارهای مدیریت محتوا و ویکی و با محتوای اولیه اندک ساخته میشوند. مشارکت کنندگان سیستم پایگاه دادههای اصلی را توسط صفحات ویرایشگری که به همین منظور ساخته شدهاند با محتوای مورد نظر پر میکنند، حال آنکه بازدیدکنندگان تنها شکل نهایی HTML صفحات را میبینند. پروسه گرفتن محتوای جدید و دردسترس قرار دادن آن برای بازدیدکنندگان مورد نظر ممکن است شامل سیستمهای سردبیری، تاییدی و امنیتی باشد.
ارتباط
پست الکترونیک یکی از سرویسهای ارتباطی مهم در دسترس بر روی اینترنت است. مفهوم فرستادن پیامهای متنی الکترونیکی که به گونهای به نامهها و یادداشتهای پستی میماند، قدمتی بیش از اینترنت دارد. امروزه یکی از مسایلی که میتواند حائز اهمیت باشد درک تفاوت بین پست الکترونیک اینترنتی و سامانههای پست الکترونیکی داخلی است. یک نامه الکترونیکی اینترنتی ممکن است از شبکههای مختلفی عبورکند و بر روی ماشینهای مختلفی به صورت رمزنشده دخیره شود که از کنترل فرستنده و گیرنده نامه کاملاً خارج اند. دراین مدت کاملاً امکانپذیر است که این نامه توسط اشخاص ثالثی محتوای آن خوانده و یا حتی دستکاری شود. سامانههای پست الکترونیکی کاملاً داخلی که در آن نامه هاهرگزازمحدوده شبکه داخلی سازمان خارج نمیشوند بسیار ایمن تر هستند، هر چند که در هرسازمانی کارکنان فناوری اطلاعات و یا پرسنل دیگری هستند که شغلشان در ارتباط با نظارت و گاهی دسترسی به نامههای دیگران است. تصاویر و اسناد و سایر پروندهها نیز میتواند به صورت پیوست نامه الکترونیک فرستاده شود. نامههای الکترونیکی را میتوان به چندین نشانی پست الکترونیکی رونوشت نمود.
تلفن اینترنتی نیز سرویس ارتباطی دیگری است که با پیدایش اینترنت امکانپذیر شد. صدا روی پروتکل اینترنت(VoIP) نام پروتکلی است که زیر بنای همه ارتباطات تلفنی اینترنتی است. ایده آن در اوایل دهه ۱۹۹۰ همراه با برنامههای واکی-تاکی گونه برای رایانههای شخصی ظهور کرد. در سالهای اخیر سیستمهای VoIP سادگی استفاده و راحتی تلفنهای معمولی را پیدا کردهاند. فایده این کار ان است که چون ترافیک صدارااینترنت حمل میکند، VoIP هزینه بسیار کمی دارد و حتی میتواند رایگان باشد. به ویژه برای آن دسته از اتصالات اینترنت که همیشه برقرارند (مانند مودم کابلی یا ADSL) گزینه مناسبی است. VoIP در حال پخته شدن و تبدیل شدن به رقیب جایگزینی برای سیستمهای تلفن سنتی است. همکنشپذیری بین عرضه کنندگان مختلف بهبود یافته و امکان برقراری و یا در یافت تماس با تلفنهای معمولی نیز به وجود آمدهاست. کارتهای شبکه ساده و ارزان VoIP نیز در دسترس هستند که نیاز به وجود رایانه برای استفاده از VoIPرا ازبین میبرند.
کیفیت صدا از یک تماس تا تماس دیگر تغییر میکند، اما غالباً کیفیت برابر یا بهتر از تلفن معمولی است. مشکلاتی که برای VoIP باقی میمانند، گرفتن شماره تلفنهای اظطراری و قابلیت اطمینان است. در حال حاضر تعدادی از ازائه دهندگان VoIP سرویس شمارههای اظطراری را ارائه میدهند اما هنوز به صورت جهانی در دسترس نیست. تلفنهای سنتی انرژی را از خط تلفن میگیرند و در صورت قطع برق میتوانند همچنان عمل کنند. برای VoIP این امکان بدون استفاده از منبع تغذیه پشتیبان برای تغذیه تجهیزات تلفن و دسترسی به اینترنت، وجود ندارد. VoIP همچنین محبوبیت روز افزونی بین علاقهمندان بازیهای کامپیوتری به عنوان شکلی از ارتباط بین بازیکنان مییابد.
انتقال داده
اشتراک فایل نمونهای از انتقال مقادیر بزرگ داده از طریق اینترنت است. یک فایل رایانهای را میتوان به صورت پیوست نامه الکترونیکی به دوستان و همکاران فرستاد. میتوان آن را دریک وبگاه ویا اف تی پی سرور( FTP Server) بارگذاری (Upload) نمودتا به آسانی توسط دیگران بارگیری(Download) شود. میتوان آن را در یک "مکان مشترک" در یک کارسازپرونده(File Server) قرار دارد تا به سرعت و آسانی در اختیار همکاران قرار گیرد. بار سنگین بارگیریهای شمار زیاد کاربران را میتوان با به کاربردن کارساز(سرور)های آینه و شبکههای تظیر-به-نظیر کاهش داد. دسترسی به فایل را میتوان از طریق تصدیق هویت کاربر کنترل کرد. انتقال فایل بر روی اینترنت را نیز میتوان با رمزگذاری در پوشش ابهام قرار داد. دستیابی به فایل ممکن است در گرو پرداخت مبلغی باشد که میتواند توسط کارت اعتباری پرداخت شود. مبدا و اعتبار فایل از طریق امضای دیجیتال و یا MD۵ و سایر روشهای هضم پیام قابل بررسی است. این ویژگیهای ساده اینترنت در مقیاس جهانی، به تدریج تولید، فروش و توزیع هر چیزی را که قابل ارائه به صورت فایل باشد را تغییر میدهد که این چیزها شامل همه انتشارات چاپی، محصولات نرمافزاری، اخبار، موسیقی، فیلم، ویدیو، عکاسی، گرافیک و آثار هنری دیگر میباشد.
رسانه جریانی(Streaming Media) همان عملی است که بسیاری از پخش کنندگان صدا و سیما، به واسطه آن، برنامههای خودرا از طریق اینترنت به صورت زنده پخش میکنند.(به عنوان مثال BBC) آنها امکان دیدن برنامههای غیر همزمان ضبط شده را نیز به کاربران میدهند. گروهی از آنها صرفاً برنامههای خود را از طریق اینترنت پخش میکنند. این بدین معنی است که یک رایانه میتواند به این رسانههای برخط، شبیه به همان صورتی که پیش از این تنها از طریق گیرندههای رادیو و تلویزیون امکانپذیر بود دست یابد. پادکستها گونه دیگری از پخش اینترنتی هستند که فایل صوتی توسط رایانه بارگیری میشود و سپس به یک پخش کننده رسانه قابل حمل منتقل میشود تا بتوان بعداً در حرکت بدان گوش داد.
وب بین (Webcam)ها را نیز میتوان گونه کم هزینه تر رسانه جریانی دانست. اگرچه برخی از وب بینها تصویر با ترخ فریم کامل میدهند اما غالباً تصویر کوچک است و به کندی به روز میشود. کاربران اینترنت میتوانند حیواناتی را دریک جنگل افریقایا گزارش تصویری از ترافیک در یک میدان را به صورت زنده و بی درنگ تماشا کنند و یا بر روی داراییهای خود از راه دور نیز نظارت بصری داشته باشند.محبوبیت اتاقهای گپ ویدیویی ویا کنفرانس تصویری نیز با افزایش تعداد کاربرانی که وب بین دارند، افزایش مییابد. یوتیوب در تاریخ ۱۵ فوریه ۲۰۰۵ ایجاد شد و اکنون وبگاه پیشرو در زمینه ویدیوهای جریانی است. یوتیوب از یک پخش کننده وب برپایه فلش برای پخش ویدیو استفاده میکند. کاربران ثبت نام کرده میتوانند مقدار نامحدودی ویدیو را در این وبگاه بارگذاری کنند و پروفایل شخصی بسازند. یوتیوب ادعا میکند که کاربرانش روزانه صدها میلیون ویدیو را بارگذاری و یا تماشا میکنند.
ساعت : 7:43 am | نویسنده : admin
|
شبکه اجتماعی |
مطلب قبلی