انواع کاربرد نرم افزارهای کامپیوتری چیست؟
بدافزار
بدافزار یا نرم‌افزار بدخواه برنامه‌های رایانه‌ای هستند؛ به علت آن‌که معمولاً کاربر را آزار می‌دهند یا خسارتی به‌وجود می‌آورند، به این نام مشهورند. هر نرم‌افزاری است که به‌طور عمدی طراحی شده‌است تا به یک کامپیوتر، سرور، مشتری یا شبکه رایانه ای آسیب برساند (در مقابل، نرم‌افزاری که به دلیل برخی نقصان باعث ایجاد صدمه غیرعمدی می‌شود، معمولاً به عنوان یک اشکال نرم‌افزاری یا باگ توصیف می‌شود). طیف گسترده‌ای از انواع نرم‌افزارهای مخرب وجود دارد، از جمله از انواع بدافزارها می‌توان به ویروس‌های رایانه ای، کرم‌ها، اسب‌های تروآ، باج افزار، جاسوس‌افزارها، آگهی‌افزارها، روت‌کیتها، هرزنامهها، نرم‌افزار سرکش و ترس‌افزار اشاره کرد. فهرست رده‌های نرم‌افزار
نرم‌افزار کامپیوتری می‌تواند بر اساس عملکرد به چندین رده تقسیم شود. سه رده اصلی در این رده‌بندی جای می‌گیرند: (۱)نرم‌افزارهای کاربردی، برای انجام کارهای کاربر طراحی شده‌اند. این نرم‌افزارها می‌توانند استفاده عمومی همچون واژه‌پردازهای عمومی و مرورگرهای اینترنتی باشند یا استفاده‌های خاصی همچون مدیریت کاربران، مدیریت اتومبیل‌ها و... باشند. نرم‌افزارهای کاربردی با (۲)نرم‌افزارهای سیستمی ارتباط برقرار می‌کنند. نامی که برای برنامه‌هایی به کار می‌رود که وظایفی همچون به‌راه انداختن کامپیوتر، اتصال به اینترنت و... را انجام می‌دهند. گونه دیگر، (۳)ابزارهای برنامه‌نویسی کامپیوتر همچون کامپایلرها و پیوند دهنده‌ها هستند.
پرونده (رایانه)
انواع فایل‌های کامپیوتری به اهداف گوناگون ساخته می‌شوند. فایل می‌تواند برای ذخیره‌سازی متن‌ها، عکس‌ها، فیلم‌ها، آهنگ‌ها و برنامه‌های کامپیوتری یا طیف گسترده‌ای در داده‌ها استفاده شود. نرم‌افزار
نرم‌افزار گردآوردی از دستورالعمل‌‌ها است که به رایانه می‌گوید «چگونه کار کن». این مفهوم در برابر سخت‌افزار فیزیکی قرار دارد، که توسط آن سامانه ساخته شده است، و «در واقعیت کار را انجام می‌دهد». در علوم رایانه و مهندسی نرم‌افزار، یک نرم‌افزار رایانه‌ای همه اطلاعاتی است که توسط سامانه رایانه‌ای پردازش می‌شود، که شامل برنامه‌ها و داده است. نرم‌افزار رایانه‌ای شامل برنامه‌های رایانه‌ای، کتابخانه‌ها، و داده‌های مرتبط غیرقابل‌اجرا (مثل مستندات برخط و رسانه‌های دیجیتالی) است. سخت‌افزار و نرم‌افزار رایانه‌ای به هم احتیاج دارند، و هیچ‌کدام به صورت واقعی قابل استفاده به خودی خود نیست. هوش نرم‌افزاری
هوش نرم افزاری در کلیه مشاغل مربوط به محیط نرم افزار کاربردهای بسیاری دارد، خواه نرم افزاری برای افراد حرفه ای باشد، یا نرم افزارهای جاسازی شده. بسته به ارتباط و استفاده از اجزا، برنامه‌ها به موارد زیر مربوط می‌شوند: استقرار نرم‌افزار
در استقرارهای نرم‌افزاری قبل از اینترنت، استقرارها (و عملیات مربوط نزدیک به آن) از امور ضروری پر هزینه، نادر و حجیم بودند. بنابر این قابل بحث است که با گسترش اینترنت، پایان دادن به توسعه سریع نرم‌افزار امکان‌پذیر می‌شود. در واقع ظهور محاسبات ابری و نرم‌افزاری به عنوان یک سرویس به این معنی است که نرم‌افزارها می‌توانند در بستر اینترنت به تعداد زیادی از کاربران در عرض چند دقیقه عرضه شوند. این همچنین به این معناست که به‌طور معمول، برنامه‌ریزی‌های استقرار در حال حاضر توسط تأمین‌کننده نرم‌افزار تعیین می‌شود و نه توسط کاربران. چنین انعطاف‌پذیری منجر به افزایش تحویل پیوسته به عنوان یک گزینه در دسترس به‌طور ویژه برای برنامه‌های کاربری تحت وب با خطر ریسک کم می‌باشد. شبیه‌سازی کامپیوتری
شبیه‌سازی کامپیوتری دوشادوش رشد سری عملکرد کامپیوتر پس از اولین گسترش بزرگ مقیاسش در طول پروژه منهتن در جنگ جهانی دوم برای مدل‌سازی فرایند انفجار هسته‌ای توسعه یافت. این یک شبیه‌سازی ۱۲ کره‌ای سخت با استفاده از یک الگوریتم مونته کارلو بود. شبیه‌سازی کامپیوتری اغلب به عنوان یک جانشین برای مدل‌سازی سیستم‌ها استفاده می‌شود که برای آن‌ها راه حل‌های آنالیزی با شکل بسته ساده ممکن نمی‌باشند. انواع شبیه‌سازی‌های کامپیوتری بسیاری وجود دارند. ویژگی مشترک آن‌ها اقدام برای تولید نمونه‌ای از سناریوهای نماینده برای مدلی است که در آن تعداد کاملی از تمام حالات ممکن مدل باز دارنده یا غیرممکن می‌باشند. بن‌سازه رایانش
چارچوب‌های نرم‌افزاری با فراهم کردن بستر توسعه و اجرا برای نرم‌افزارها، نقش مهمی در سکوهای اجرایی ایفا می‌کنند. از میان چارچوب‌های نرم‌افزاری می‌توان موارد زیر را نام برد: پیش‌نمونه نرم‌افزار
پیش‌نمونهٔ عمودی، یک نسخهٔ کامل‌تر از یک عملکرد در سامانه یا زیرسامانه است، و می‌تواند در تشخیص نیازمندی‌های جزئی یک عملکرد مفید باشد. پیش‌نمونه‌های عخمودی کاربردهای زیر را دارند: نرم‌افزار کسب‌وکار
برنامه‌های بازرگانی بر اساس نیازهای کاربران تاجر ساخته می‌شوند. همچنین، برنامه‌های بازرگانی برای استفاده از نوع خاصی از معاملات تجاری یا اقلام داده ساخته شده‌اند. این برنامه‌ها بی وقفه اجرا می‌شوند مگر زمانی که که نیازی به احتیاجات بازرگانی جدید و تغیر در معاملات بازرگانی اساسی باشد. برنامه‌های بازرگانی به خوبی اجرا می‌شوند مگر این که مشکلی با سخت افزار کامپیوتر، شبکه‌های کامپیوتری (اینترنت / اینترانت)، دیسک‌های رایانه ای، منابع برق، و اجزای نرم‌افزاری مختلف وجود داشته باشد. نسخه‌بندی نرم‌افزار
توالی‌ها باید پس از پرینت شدن به ‌وسیلهٔ کاراکترهایی جدا شوند. بسته به انتخاب «روش نسخه‌بندی نرم‌افزار» نوع کاراکترها و کاربرد آن‌ها نیز متفاوت است. لیست زیر، نمونه‌هایی فرضی از برنامه‌های جداسازی برای یک انتشار را مشخص می‌کند («سیزدهمین نسخهٔ درجه سه» از «چهارمین نسخهٔ درجه دو» از «دومین نسخهٔ درجه یک»): نقشه نرم‌افزاری
کاربردهای اصلی آن شامل تحلیل ریسک و نظارت بر کیفیت کد، فعالیت تیم، یا پیشرفت توسعه نرم‌افزار است و به‌طور کلی، بهبود اثربخشی مهندسی نرم‌افزار با توجهبه همه مصنوعات، فرایندها، و سهامداران در سراسر فرایند مهندسی نرم‌افزار و نگهدارینرم‌افزار است. آگهی‌افزار
نحوه کار آگهی‌افزارها بدین‌گونه است که در پوشش یک نرم‌افزار به ظاهر سالم با اجازه کاربر بر روی سیستم نصب می‌شوند سپس بدون آنکه کاربر متوجه شود در هنگام اتصال به اینترنت به سرورهای خاصی متصل شده و پیام‌های تبلیغاتی را به صورت بالاپر (pop-up) بر روی صفحه رایانه نمایش می‌دهند. برخی ازآگهی‌افزارها با استفاده از جاسوس‌افزارهایی که به همراه دارند اطلاعات و علاقه‌مندی‌های کاربر را جمع‌آوری کرده و تبلیغات ارسالی بر روی سیستم آلوده را بر همان مبنا انتخاب و ارسال می‌کنند. کار دیگری که این نرم‌افزارها انجام می‌دهند بارگیری سایر آگهی‌افزارها و جاسوس‌افزارها بر روی سیستم آلوده می‌باشد که این عمل منجر به کاهش سرعت اینترنت می‌گردد. تلاش برای پاک کردن آگهی‌افزارها معمولاً با از کارافتادن نرم‌افزارهای حامل آن‌ها همراه است و سیستم‌هایی که مرورگر آن‌ها به‌روز نباشد به علت داشتن نقاط آسیب‌پذیر، بیشتر به این نوع از نرم‌افزارها آلوده می‌گردند. با توجه به اینکه نویسندگان این دسته از نرم‌افزارها به دلیل کسب سود، نسخه‌های جدیدتر و پیچیده‌تر از نسخه‌های قبلی را منتشر می‌کنند در نتیجه شناسایی آن‌ها مشکل‌تر می‌گردد بنابراین استفاده از یک ضدبدافزار مجهز به دیوار آتش که به‌روز هم باشد بهترین روش مقابله با آگهی‌افزارها می‌باشد. بکارگیری ضدبدافزارها علاوه براینکه مانع ورود آگهی‌افزارها به سیستم می‌گردد از ورود و خروج اطلاعات ناخواسته از پورت‌های محافظت نشده سیستم هم جلوگیری می‌کند. صنعت نرم‌افزار
واژه نرم‌افزار نخستین بار در سال ۱۹۵۳ به عنوان یک شوخی ابداع شد، اما تا دهه ۱۹۶۰ بکار گرفته نمی‌شد. تا پیش از این زمان، رایانه‌ها اغلب توسط مشتریان یا بوسیله معدود فروشندگان رایانه‌های تجاری، مانند آی‌بی‌ام و یونی‌وک برنامه‌نویسی می‌شدند. نخستین شرکتی که با هدف ارائه محصولات و خدمات نرم‌افزاری تأسیس شد، شرکت کاربردهای کامپیوتر () بود، که در سال ۱۹۵۵ راه‌اندازی شد. رابط کاربر گرافیکی
برنامه‌های کاربردی که در ویندوز اجرا می‌شوند، از مجموعه ثابتی از فهرست‌های گزینش عمودی، جعبه‌های محاوره‌ای و سایر عناصر گرافیکی مانند نوارهای مرور و شمایل‌ها استفاده می‌کنند. این ثبات میان عناصر گرافیکی، مزیت عمده‌ای برای کاربر است، زیرا با یادگرفتن نحوهٔ کار با رابط می‌تواند از آن در تمام برنامه‌های در حال اجرا در همان محیط استفاده کند. منطق در علوم کامپیوتر
یکی دیگر از عمده زمینه های تحقیق برای نظریه منطق، مهندسی نرم‌افزار بود. پروژه های تحقیقاتی مانند دستیار نرم‌افزار دانش بنیان و برنامه های کارآموزی به برنامه نویسان از نظریه منطقی برای تایید درستی مشخصه نرم‌افزار استفاده کردند. همچنین از آنها برای تبدیل مشخصات به کد کارآمد در سیستم عامل های گوناگون و اثبات برابری میان پیاده سازی و مشخصات استفاده کردند. این روش رسمی مبتنی بر تبدیل، اغلب بسیار پر زحمت تر از توسعه نرم‌افزار سنتی است. اگر چه، در حوزه های خاص با فرم گرایی مناسب و الگوهایی با قابلیت استفاده مجدد، این روش برای محصولات تجاری ثابت شده است. دامنه های مناسب معمولاً مواردی از قبیل سیستم های تسلیحاتی، سیستم های امنیتی و سیستم های مالی درلحظه است که خرابی این سیستم هزینه های انسانی یا مالی بیش از حد دارد. نمونه ای از چنین دامنه ای طراحی یکپارچه مقیاس بزرگ است - فرایندیی برای طراحی تراشه های مورد استفاده در پردازنده ها و بقیه ی اجزای مهم دستگاه های دیجیتال. خطا در یک تراشه فاجعه بار است. بر خلاف نرم‌افزار، تراشه ها نمی‌توانند تعمیر یا به روز رسانی شوند. در نتیجه، توجیه تجاری برای استفاده از روش های رسمی برای اثبات مطابقت پیاده سازی و مشخصات وجود دارد. هاوک (نرم‌افزار)
از سال ۲۰۰۰ تاکنون هاوک در بیشتر از ۱۶۰ بازی رایانه‌ای مورد استفاده قرار گرفته‌است. تمامی این بازی‌ها در سبک‌های اول شخص و سوم شخص بوده‌اند. البته استفاده کمی نیز از آن در سایر سبک‌ها بوده‌است. هاوک همچنین در نرم‌افزارهای زیر یافت شده‌است: ویروس رایانه‌ای
نمونه‌هایی از نرم‌افزارهای ضد ویروس و ضد ویروس مایکروسافت ویندوز شامل موارد ضروری مایکروسافت امنیتی (برای ویندوز XP، ویستا و ویندوز ۷) برای محافظت در زمان واقعی، ابزار حذف نرم‌افزار مخرب ویندوز ویندوز (اکنون با Windows (Security) به روزرسانی می‌شود " Patch Tuesday "، دومین سه‌شنبه هر ماه) و Windows Defender (بارگیری اختیاری در مورد ویندوز XP). علاوه بر این، چندین نرم‌افزار ضد ویروس قادر به صورت رایگان از اینترنت بارگیری می‌شود (معمولاً محدود به استفاده غیر تجاری). برخی از چنین برنامه‌های رایگان تقریباً به اندازه رقبای تجاری خوب هستند. آسیب‌پذیری‌های امنیتی مشترک به شناسه‌های CVE اختصاص داده شده و در بانک اطلاعات ملی آسیب‌پذیری ایالات متحده ذکر شده‌است. Secunia PSI نمونه ای از نرم‌افزارهای رایگان برای استفاده شخصی است که رایانه ای را برای نرم‌افزارهای قدیمی و آسیب‌پذیر به روز می‌اندازد و سعی در بروزرسانی آن دارد. هشدارهای مربوط به کلاهبرداری باج افزار و فیشینگ به عنوان اطلاعیه‌های مطبوعاتی در مرکز توجه به شکایت مرکز جرم اینترنتی ظاهر می‌شوند. Ransomware ویروسی است که پیامی را روی صفحه کاربر ارسال می‌کند و می‌گوید تا زمان پرداخت باج، صفحه یا سیستم قفل یا غیرقابل استفاده خواهد بود. فیشینگ فریبی است که فرد بدخواه در آن وانمود می‌کند که دوست، کارشناس امنیت رایانه یا دیگر فرد خیرخواه است و با هدف متقاعد کردن فرد هدفمند برای فاش کردن گذرواژه‌ها یا اطلاعات شخصی دیگر. ابزار توسعه نرم‌افزار
ابزارهای نرم‌افزاری در اشکال و فرم‌های مختلف وجود دارند که در زیر لیستی از آن‌ها آمده است: رایانه جیبی
• امکان نصب برنامه‌های گوناگون:تفاوتی نمی‌کند زمینه فعالیت و تخصص شما چه باشد، اطمینان داشته باشید نرم‌افزار مناسب و دلخواه خود را در میان صدها برنامه موجود خواهید یافت.انواع برنامه‌های پزشکی، حسابداری، مدیریت، بازرگانی، آموزشی، فنی و مهندسی، دیکشنری و...در دسترس شماست. اجاره نرم‌افزار
به این دلیل که برنامه‌های سرویس نرم‌افزاری نمی‌توانند به سیستم‌های داخلی شرکت دسترسی داشته باشند (پایگاه داده یا سرویس‌های داخلی)، آن‌ها معمولاً پروتکل‌های یکپارچه و رابط‌های برنامه‌نویسی برنامه که در سطح وسیع شبکه اعمال می‌شود، پیشنهاد می‌دهد. معمولاً این‌ها پروتکل‌های مبتنی بر http و REST و SOAP هستند. حضور لحظه‌ای برنامه‌های سرویس اجاره نرم‌افزاری و دیگر سرویس‌های اینترنتی و استانداردهای تکنولوژی رابط‌های برنامه‌نویسی توسعه ترکیب‌ها () را باعث شده‌است، که برنامه‌های سبکی هستند که داده، ارائه و عملکرد را از چندین سرویس ترکیب می‌کند تا یک مرکب (از آنها) بسازد. ترکیب‌ها به علاوه بین برنامه سرویس نرم‌افزاری و نرم‌افزارهای در محل تفاوت قائل می‌شود همان‌طور که اخیراً نمی‌توان به راحتی بیرون یک دیوار آتش شرکت متحد شد. سامانه‌های مدیریت دانش
گروه افزارها مجموعه دیگری از کاربردهای مرتبط با مدیریت دانش به نشان می‌دهد. گروه افزارها نرم‌افزارهایی هستند که به گروه‌هایی که از لحاظ جغرافیایی پراکنده‌اند امکان می‌دهند تا دانش خود را به اشتراک بگذارند و با هم کار کنند. مثلاً نرم‌افزارهای رایج ذیل: IBM Lotus Notes, CollabraShare and Microsoft Outlook/Exchange که امکانات مشارکتی مثل زمان‌بندی پیوسته و اشتراک مدارک را نیز دربردارند. مهندسی نرم‌افزار بر پایه مؤلفه
به کامپوترهایی که چندین پیکرپارٔ نرم‌افزاری را اجرا می‌کنند سرورهای کاربردی می‌گویند. استفاده از این ترکیب سرورهای کاربردی و پیکرپارهای نرم‌افزاری را معمولاً محاسبات توزیع شده می‌نامند. دنیای واقعی کاربرد این‌ها در کاربردهای مالی و تجاری نرم‌افزار است. نرم‌افزار ضدویروس
در ابتدا نرم‌افزار آنتی‌ویروس برای شناسایی و از بین بردن ویروس‌های رایانه ای، از این رو، ساخته شده‌است. با این حال، با گسترش انواع دیگر بدافزارها، نرم‌افزار آنتی‌ویروس شروع به محافظت از سایر تهدیدهای رایانه ای کرد. به‌طور خاص، نرم‌افزارهای ضد ویروس مدرن می‌توانند کاربران را در برابر موارد زیر محافظت کنند: اشیاء مخرب مرورگر (BHOs)، هواپیماربایان مرورگر، باج افزار، keyloggers , backdoors , rootkits، اسب‌های تروجان، کرم‌ها، LSPهای مخرب، شماره گیرها، کلاهبرداریها، ابزارهای تبلیغاتی مزاحم و جاسوس افزارها. برخی از محصولات همچنین شامل محافظت در برابر تهدیدهای رایانه ای دیگر، مانند URLهای آلوده و مخرب، حملات ناخواسته، کلاهبرداری و فیشینگ، هویت آنلاین (حفظ حریم خصوصی)، حملات بانکی آنلاین، تکنیک‌های مهندسی اجتماعی، تهدید مداوم پیشرفته (APT) و حملات بات نت DDoS است. رایانه
در همان زمان، رایانه‌های کوچک، که معمولاً با یک برنامه ثابت ارائه می‌شدند، راهشان را به سوی کاربردهای دیگری باز می‌نمودند، کاربردهایی چون لوازم خانگی، خودروها، هواپیماها، و ابزار صنعتی. این پردازشگرهای جاسازی شده کنترل رفتارهای آن لوازم را ساده‌تر کردند، همچنین امکان انجام رفتارهای پیچیده را نیز فراهم نمودند (برای نمونه، ترمزهای ضدقفل در خودروها). با شروع سده بیست و یکم، اغلب دستگاه‌های الکتریکی، اغلب حالت‌های انتقال نیرو، اغلب خطوط تولید کارخانه‌ها توسط رایانه‌ها کنترل می‌شوند. اکثر مهندسان پیش‌بینی می‌کنند که این روند همچنان به پیش برود… یکی از کارهایی که می‌توان به‌وسیله رایانه انجام داد برنامه گیرنده ماهواره‌است. اجاره نرم‌افزار
اکثریت قریب به اتفاق راه حل‌های سرویس نرم‌افزاری بر پایه چند مستأجری است. با این مدل یک نسخه از برنامه با یک سری تنظیمات (سخت‌افزار، شبکه، سیستم عامل) برای تمامی مشتری‌ها (مستاجرها) استفاده می‌شود. برای پشتیبانی از توسعه پذیری، برنامه بر روی چند ماشین نصب می‌شود (به توسعه افقی مشهور است). در بعضی موارد، یک نسخه دوم از برنامه برای پیشنهاد به یک دسته از مشتری‌های انتخاب شده با دسترسی به نسخه در حال توسعه از برنامه برای اهداف تست کردن در نظر گفته می‌شود. این با نرم‌افزار سنتی در تضاد است، که تعدادی کپی فیزیکی نرم‌افزار که هر کدوم به نوبهٔ خود از نسخه‌های متفاوت هستند با تنظیمات داخلی متفاوت و گاهی شخصی‌سازی شده در بین تعداد زیادی سایت‌های رایانه نصب بشوند. در این مدل سنتی هر نسخه از برنامه برپایه یک کد منحصر به فرد است. مخزن نرم‌افزاری
یک مخزن نرم‌افزاری جایی برای اندوختن نرم‌افزارهاست. کاربران با دریافت و به کارگیری این نرم افزارها از آنها بهره‌برداری می کنند. بسیاری از سازمان‌ها یا ناشران نرم‌افزار چنین مخازنی را با هدف استفاده کاربران پدید آورده و مدیریت می‌کنند. کاربران می‌توانند از نرم‌افزارهای این مخازن رایگان یا با هزینه اندک، بهره برداری کنند. دسته‌ای از مخازن تنها دربرگیرنده نرم‌افزارهای ویژه هستند و دسته‌ای دیگر هر گونه‌ای را در خود جای می‌دهند. بیشتر سیستم‌عامل‌های شبه یونیکس از چنین مخازنی برخوردارند و کاربران می‌توانند به کمک یک سامانه مدیریت بسته به این مخازن دسترسی پیدا کرده و برنامه‌های دلخواه را دریافت و بر روی رایانه خود بکار بندند. ده فرمان اخلاق رایانه‌ای
توضیح: از نرم‌افزارهای رایانه ای می‌توان در جهت ایجاد مزاحمت برای سایر کاربران یا ایجاد اختلال در کار آنها استفاده کرد. به عنوان مثال ویروس‌ها، برنامه‌هایی هستند که به منظور آسیب رساندن به برنامه‌های مفید رایانه یا تداخل در عملکرد طبیعی آنها به کار می‌روند. نرم‌افزارهای مخرب می‌توانند عملکرد رایانه‌ها را به روش‌های بیشتری مختل کرده و تحت تأثیر قرار بدهند. این کار ممکن است با استفادهٔ بیش از حد از منابع رایانه باعث پر شدن حافظه شود و سرعت عملکرد آن را کاهش دهد. همچنین ممکن است باعث به اشتباه انداختن رایانه یا ایجاد وقفه در برنامه در حال اجرا شود. استفاده از نرم‌افزارهای مخرب برای حمله به رایانه غیراخلاقی است. زبان برنامه‌نویسی
مشکل است که مشخص کنیم کدام زبان برنامه‌نویسی بیشتر مورد استفاده‌است، و اینکه کاربرد چه معنی می‌دهد با توجه به زمینه تغییر می‌کند. یک زبان ممکن است زمان بیشتری از برنامه‌نویس بگیرد، زبان دیگر ممکن است خطوط بیشتری داشته باشد، و دیگری ممکن است زمان بیشتری از پردازنده را مصرف کند. برخی زبان‌ها برای کاربردهای خاص بسیار محبوبند. برای مثال: کوبول همچنان در مراکز داده متحد، غالباً روی رایانه‌های بزرگ توانا است؛ fortran در مهندسی برنامه‌های کاربردی، Ada در هوا و فضا، حمل و نقل، نظامی، برنامه‌های واقعی و جاسازی شده در زمان واقعی؛ و C در برنامه‌های تعبیه شده و سیستم‌های عامل؛ و بقیه برنامه‌ها معمولاً برای نوشتن انواع دیگر برنامه‌ها کاربرد دارند.. لایه کاربرد
در این مدل پروتکل‌های لایه کاربرد سرویس‌هایی را برای نرم افزارهای کامپیوتری در حال اجرا فراهم می‌آورند. این لایه نحوه کاربرد را تعریف نمی کند بلکه سرویس‌هایی را که آن کاربرد نیاز دارد به ما معرفی می‌کند - برای مثال قابلیت انتقال یک فایل در مورد پروتکل HTTP. به‌طور خلاصه، لایه کاربرد واسطی را بین نرم افزار در حال اجرا بر روی رایانه و خود شبکه برقرار می‌کند. نرم‌افزارهای اجتماعی
هدف نرم افزارهای مشترک، که به عنوان نرم افزارهای گروهی نیز شناخته می‌شوند، مانند Moodle , Landing pages , Enterprise Architecture و Sharepoint، این است که به افراد اجازه داده شود داده‌ها را به اشتراک بگذارند - مانند فایل‌ها، عکس‌ها، متن و غیره به منظور کار پروژه یا مدرسه کار کردن هدف این است که ابتدا یک گروه تشکیل شود و سپس آنها همکاری کنند. کلی شیزک نرم افزار اجتماعی را چنین تعریف می‌کند: «نرم افزاری که از تعامل گروهی پشتیبانی می‌کند». از آنجا که گروه افزار از تعامل گروهی پشتیبانی می‌کند (پس از تشکیل گروه)، این نرم افزار را نرم افزاری اجتماعی می‌داند. نرم‌افزار ضدویروس
خود نرم‌افزار آنتی‌ویروس معمولاً در سطح قابل اعتماد هسته سیستم عامل اجرا می‌شود تا به آن اجازه دسترسی به کلیه پروسه‌ها و پرونده‌های مخرب بالقوه را بدهد و یک مسیر حمله بالقوه ایجاد کند. آژانس امنیت ملی ایالات متحده (NSA) و ستاد ارتباطات دولت انگلیس (GCHQ) به ترتیب، از نرم‌افزار ضد ویروس برای جاسوسی از کاربران سوء استفاده کرده‌اند. نرم‌افزار ضد ویروس دارای دسترسی بسیار ممتاز و قابل اعتماد به سیستم عامل زیرین است و همین امر باعث می‌شود تا برای حملات از راه دور به یک هدف بسیار جذاب تر تبدیل شود. علاوه بر این، نرم‌افزار ضد ویروس «سالها پشت برنامه‌های طرفدار سرویس گیرنده آگاهانه از قبیل مرورگرها یا خواننده اسناد است. این بدان معنی است که Acrobat Reader , Microsoft Word یا Google Chrome برای بهره‌برداری از ۹۰ درصد از محصولات ضد ویروس موجود در آنجا سخت‌تر هستند»، به گفته Joxean Koret، یک محقق با Coseinc، مشاور امنیت امنیت اطلاعات مستقر در سنگاپور. نرم‌افزار طراحی و کنترل سمعی و بصری
Stardraw control محیط متعامل توسعه آن‌ها برای ایجاد کنترل از راه دورهای لمسی بسیاری از ابزارها می‌باشد. استفاده‌های عادی شامل اتوماسیون در اتاقهای هیئت مدیره می‌باشد که در آن کاربران از صفحه‌های لمسی و بدون سیم برای کنترل ابزارهایی مانند ویدئو پروژکتورها و صفحه‌ها، کامپیوترها، DVD و پخش کننده‌های VCR و ضبط کننده‌ها، دوربین‌ها، سیستم‌های کنفرانس از راه دور، مبدل‌های صوتی تصویری، و ابزارهای پردازش صفحات، پرده‌ها، نورپردازی، سیستم‌های سرمایشی و گرمایشی، و انواع دیگر ابزارها استفاده می‌کنند. استفاده‌های رایج شامل سیستم‌های سرگرمی، مراکز کنترل و دستوردهی به سیستم‌های صنعتی، سیستم‌های امنیتی، هتل‌ها و رستوران‌ها می‌باشد. چیزی که نرم‌افزار آن‌ها را از رقبایی نظیر AMX و Creston متمایز می‌کند این است که نیازمند سخت‌افزارهای خاصی نبوده و بر روی تمام سیستم‌های عامل ویندوز مایکروسافت اجرا شده و همچنین زبان برنامه‌نویسی آن C# می‌باشد و از زبان به خصوصی استفاده نکرده و کاملاً مشابه زبان‌های برنامه‌نویسی مایکروسافت می‌باشد. نرم‌افزار همچنین یک رابط اینترنتی دارد که ابزارهای بدون ویندوز نظیر تبلت‌ها و Apple iPad را قادر می‌سازد تا نرم‌افزار را کنترل کنند. نرم‌افزارهای شرکت ادوبی
کاربرد نرم‌افزار این‌دیزاین در زمینه طراحی و صفحه آرایی کتاب‌ها، مجلات بروشورها و... می‌باشد. این نرم‌افزار تلفیقی از امکانات نرم‌افزاری‌های ورد و فتوشاپ و همچنین دارای محیطی برداری است. نرم‌افزار ضدویروس
با گذشت سالها، لازم است نرم‌افزار آنتی‌ویروس از چندین استراتژی مختلف (مانند ایمیل خاص و حفاظت از شبکه یا ماژول‌های سطح پایین) و الگوریتم‌های تشخیص استفاده و همچنین بررسی انواع فایلی بجای فقط اجرایی به دلایل مختلف استفاده کند. پیام‌رسانی فوری
برای مصارف سازمانی، به دلیل نگرانی‌های امنیتی، رمزگذاری(encryption) و بایگانی پیامها(message archiving) از اهمیت بسزایی برخوردارند. گاهی به دلیل استفاده از چند سیستم عامل مختلف در یک سازمان به نرم‌افزاری نیاز است که بیش از یک بستر را پشتیبانی کند. به عنوان مثال ممکن است در سازمانی برای دپارتمان‌های اداری از Windows XP و در بخش تولید نرم‌افزار از لینوکس استفاده کنند. فهرست نرم‌افزارهای مدل‌سازی سه‌بعدی
در ادامه لیستی از نرم‌افزارهای مدلسازی سه بعدی معروف آمده است. نرم‌افزارهای مدلسازی سه بعدی برنامه های کامپیوتری هستند که برای توسعه توصیف ریاضی از هر سطح سه بعدی اشیا استفاده می شوند. دینامیک سیالات محاسباتی
نرم افزارهای مختلفی در این حوزه توسعه یافته اند. بیشتر این نرم افزارها دارای پایه علمی یکسان برای حل مسئله دینامیک سیالات محاسباتی هستند. با این وجود برخی از آن ها از روش های حل متفاوتی برای حل یک مسئله استفاده می کنند. از جمله نرم افزارهای این حوزه می توان به انسیس فلوئنت، CFX، آباکوس و کامسول اشاره کرد . البته نرم افزارهای بسیار زیادی در این حوزه توسعه یافته است. در اینجا تنها به نرم افزارهای شناخته شده تر اشاره شد. نرم‌افزار کاربردی
نرم‌افزار کاربردی یا اَپ یا یک ،برنامه رایانه‌ای است؛ که برای اجرای گروهی از توابع هماهنگ، وظایف یا فعالیت‌هایی برای منفعت کاربر طراحی شده‌است. نمونه‌هایی از یک نرم‌افزار کاربردی عبارتند از: واژه‌پرداز ها، صفحات گسترده ها، نرم‌افزارهای حسابداری، مرورگرهای وب، رایانامه‌ خوان ها، مدیا پلیرها، مشاهده گر های پرونده، شبیه‌سازهای پرواز و ویرایشگرهای گرافیک. این عبارت نرم‌افزار سیستمی معنی پیدا می‌کند که عمدتاً شامل اجرا کردن رایانه می‌شود. نرم‌افزار سیستمی در مقابل در پس‌زمینه عمل می‌کند و خدماتی را فراهم می‌کند که دیگر نرم‌افزارها یا سیستم‌عامل می‌توانند برای انجام کارهای خود از آن استفاده کنند. اما در عوض معمولاً مستقیماً با کاربر عادی در تماس نیست و خدماتی را به او ارائه نمی‌دهد. موبایل ها(هوشمند) نیز همانند کامپیوترها نرم افزارها و برنامه های مختلفی دارند. که در بازار آنها را بیشتر با واژه اپلیکیشن یا به اختصار App میشناسند. که در واقع به معنی همان اپلیکیشن موبایل یا نرم افزار موبایل می باشد. گرافیک رایانه‌ای (علوم رایانه)
گرافیک رایانه‌ای یکی از قدیمی‌ترین شاخه‌های علوم رایانه است که به ترسیم، تغییر و کار با تصاویر به شیوه‌های محاسباتی و رایانه‌ای اقدام می‌نماید. گرافیک رایانه‌ای یکی از پرجاذبه‌ترین و وسیع‌ترین کاربردهای رایانه‌هاست. بازیهای رایانه‌ای، برنامه‌های ساخت پویانمایی دوبعدی و سه‌بعدی، شبیه‌سازیهای محاسباتی، و پردازش تصاویر را می‌شود به‌عنوان چند نمونه نام برد. نرم‌افزارهای مورد استفاده در کارهای گرافیکی را می‌توان بر اساس گرافیک رایاینه یا CG به دو دستهٔ بزرگ تقسیم کرد: ساختار هر دوی این نرم‌افزارها کاملاً با هم متفاوت است. هر چند سخت‌افزارهای Raster را جزو تولید کنندگان تصاویر گرافیکی می‌نامند ولی در واقع گرافیک Raster یا Bitmap ماهیت ویرایشی دارند تا تولیدی و نقطه قوت آن‌ها در ویرایش و فیلترگذاری بر روی تصاویر است تا خلق یک موضوع گرافیکی. مهندسی نرم‌افزار
کاربردهای مهندسی نرم‌افزار دارای ارزش‌های اجتماعی و اقتصادی هستند، زیرا بهره‌وری مردم را بالا برده، چند و چون زندگی آنان را بهتر می‌کنند. مردم با بهره‌گیری از نرم‌افزار، توانایی انجام کارهایی را دارند که قبل از آن برای‌شان شدنی نبود. نمونه‌هایی از این دست نرم‌افزارها عبارت‌اند از: سامانه‌های توکار، نرم‌افزار اداری، بازی‌های رایانه‌ای و اینترنت. شبیه‌سازی بی‌درنگ
از شبیه‌سازها طی سالهای گذشته به شکل گسترده‌ای جهت برنامه‌ریزی و طراحی سیستم‌های الکتریکی استفاده شده است. از طراحی سیستم‌های قدرت در مقیاس‌های بزرگ تا بهینه‌سازی راه‌انداز موتورها، شبیه‌سازی نقش بسیار مهمی در موفقیت توسعه تعداد زیادی از برنامه‌های کاربردی ایفا کرده است. در سه دهه گذشته تکامل فناوری کامپیوتر سبب پیشرفت و بهبود ابزارهای شبیه‌سازی شده است. با توجه به کاهش قیمت و افزایش بهره‌وری فناوری کامپیوتری،قابلیت ابزارهای شبیه سازی برای حل مسائل پیچیده در زمان کمتر پیشرفت قابل توجهی کرده است.  شبیه‌سازهای بی‌درنگ به طور گسترده در بسیاری از حوزه‌های مهندسی و برنامه‌های کاربردی هم‌چون طراحی و کنترل ناوگان هوایی، طراحی کنترل‌کننده های پیچیده و آزمون‌های حفاظتی شبکه‌های قدرت مورد استفاده قرار می‌گیرند. برنامه رایانه‌ای
نرم‌افزارهای کاربردی که برای انجام یک کار مشخّص برای کاربر طرّاحی می‌شوند. این برنامه‌ها به‌طور مستقیم با کاربر سر و کار دارند و دارای رابط کاربری هستند. مانندنرم‌افزارهای واژه‌پرداز، صفحه‌گسترده‌ها، نرم‌افزارهای ارتباطی، بازی‌های ویدئویی و … کنترل فن کامپیوتر
اکنون بسیاری از شرکت‌ها نرم‌افزارهایی را برای کنترل سرعت فن در مادربردهای مورد استفاده خود تحت ویندوز یا MacOS ارائه می‌کنند. نرم افزارهای مختلف توسط مادربردهای مختلف استفاده می شود. همچنین برنامه‌های شخص ثالثی وجود دارند که روی انواعی از مادربوردها کار می‌کنند و با توجه به دما های خوانده شده از مادربورد، CPU و GPU، امکان سفارشی‌سازی رفتار فن را برای کاربر فراهم میکنند. دو مثال برنامه های SpeedFan و Argus Monitor هستند. نرم‌افزارهای اجتماعی
نرم افزار اجتماعی که به آن برنامه‌های اجتماعی نیز گفته می‌شود، شامل ابزارهای ارتباطی و تعاملی است که بیشتر مبتنی بر اینترنت هستند. ابزارهای ارتباطی به‌طور معمول ضبط، ذخیره و ارائه ارتباطات را انجام می‌دهند، معمولاً به‌طور فزاینده ای شامل صدا و تصویر نیز نوشته شده‌است. ابزارهای تعاملی تعاملات میانجی بین یک زوج یا گروهی از کاربران را کنترل می‌کنند. آنها بر ایجاد و حفظ ارتباط بین کاربران، تسهیل مکانیک مکالمه و گفتگو تمرکز دارند. "نرم افزار اجتماعی" به‌طور کلی به نرم افزاری گفته می‌شود که رفتار مشارکتی، سازماندهی و قالب سازی جوامع، ابراز وجود، تعامل اجتماعی و بازخورد را برای افراد امکان‌پذیر می‌کند. عنصر دیگر تعریف موجود از "نرم افزار اجتماعی" این است که این "نرم‌افزار" امکان ایجاد میانجیگری نظر یافته بین افراد، به روشی متمرکز یا خودتنظیم را فراهم می‌کند. بیشترین منطقه بهبود یافته برای نرم افزار اجتماعی است که وب ۲٫۰ برنامه‌های کاربردی همه را انلاین تر می‌کند علوم رایانه
کاربردها خارج از علم رایانه کارآیی کامپیوتر
در مهندسی نرم‌افزار، پروفایل سازی ("پروفایل سازی برنامه"، "پروفایل سازی نرم‌افزار") نوعی تجزیه و تحلیل برنامه پویا است که به عنوان مثال فضا (حافظه) یا پیچیدگی زمان یک برنامه، استفاده از دستورالعمل‌های خاص یا فرکانس و مدت زمان صدا زدن توابع را اندازه‌گیری می‌کند. متداول‌ترین کاربرد پروفایل سازی اطلاعات، کمک به بهینه‌سازی برنامه است. کیفیت نرم‌افزار
اندازه گیری اندازه نرم‌افزار مستلزم جمع آوری کامل کد منبع از جمله اسکریپت های ساختار پایگاه داده ، سورس کد تغییر داده ها ، کامپوننت ها ، فایل های پیکربندی و غیره است. در واقع دو نوع اندازه نرم‌افزار برای اندازه گیری وجود دارد ، اندازه فنی و اندازه کاربردی: پد یک‌بار مصرف
پدهای یکبار مصرف کلاسیک که برای جاسوسی بودند، از پدهای بسیار ریز، برگه‌های راحت مخفی شونده، مداد تیز و یک سری محاسبات ذهنی استفاده می‌کردند. این متد اکنون می‌تواند به صورت یک برنامه نرم‌افزاری پیاده سازی شود که از فایل‌های داده به عنوان ورودی (متن اصلی)، خروجی (متن رمزشده) و کلید (همان دنباله رندوم مورد نیاز) استفاده میکند. عملیات xor معمولا برای ترکیب کردن متن اصلی و المان‌های کلید استفاده می‌شود. این روش به ویژه در کامپیوترها جالب توجه است چون معمولا یک دستورالعمل ماشین محلی است و درنتیجه بسیار سریع است. ولی به هرحال سخت است که مطمئن شویم که کلید واقعا رندوم است، یکبار استفاده شده است، هیچ وقت برای دشمن احراز نمی‌شود و بعد از استفاده کاملا نابود می‌شود. پیاده سازی بخش‌های اضطراری یک برنامه نرم‌افزاری پد یکبار مصرف، چالش‌های واقعی را ایجاد می‌کند؛ مثلا جابه‌جایی امن، ارسال متن اصلی، کلید واقعا رندوم و استفاده تنها یکباره از کلید. ساخت به کمک رایانه
کاربردهای تجاری زیادی از CAM در شرکت‌های بزرگ در صنایع اتومبیل‌سازی و هوا فضا وجود داشته‌اند، برای مثال مطالعه Pierre Beziers، کاربرد CAD/CAM, UNISURF را در ۱۹۶۰ برای طرح بدنه ماشین و ابزارسازی در Renault توسعه داد. از لحاظ تاریخی، نرم‌افزار CAM نقایصی دارد که سطح بالایی از مشارکت توسعه ماشین سازهای حرفه‌ای CNC را ضروری کرده‌است. Fallows اولین نرم‌افزار CAD را ساخته است، اما این امر کمبودهای زیادی داشته و برای بهتر شدن به مرحله توسعه برگردانده شده‌است. نرم‌افزار CAM می‌تواند که خروجی برای ماشین‌های با حداقل توانایی داشته باشد، طوری‌که هر کنترل ابزار ماشینی، اضافه شده به Gکد استاندارد، برای افزایش انعطاف‌پذیری تنظیم می‌شود.این امر در ابتدا در سه حوزه اتفاق می‌افتد: نرم‌افزار اداری
گاهی تعیین مرزهای دقیق و تفاوتهای بین نرم‌افزارهای اداری با دیگر سیستم‌های مدیریت اطلاعات امکان‌پذیر نیست و عنوان نرم‌افزارهای اداری باید اندکی با تأمل استفاده شود. به هر حال اصطلاح نرم‌افزارهای اداری در ایران رواج دارد و معمولاً شامل این گروه از نرم‌افزارها می‌شود: نرم‌افزار اداری
این نرم‌افزارها بیشتر در زمینه مکاتبات اداری کاربرد دارند. انواع نرم‌افزارهای اندیکاتور و دبیرخانه به عنوان نرم‌افزارهای خاص درون سازمانی و نیز بسته نرم‌افزاری مایکروسافت آفیس و پس از آن نرم‌افزار اپن آفیس به عنوان نرم‌افزارهای عمومی تر این شاخه، شناخته‌شده‌ترین نرم‌افزارهای اداری هستند. نرم‌افزار اداری
این نرم‌افزارها عموماً شامل عنوان‌هایی مانند نرم‌افزارهای حسابداری، خزانه‌داری، صندوق، بودجه و اعتبارات و … می‌شوند. نرم‌افزارهای بانکی و پرداخت اینترنتی هم می‌توانند در این دسته طبقه‌بندی شوند. هرچند باز هم‌مرز مشخصی بین این نرم‌افزارها و نرم‌افزارهای مدیریت اطلاعات اداری وجود ندارد، اما این نرم‌افزارها، حوزه معنایی گردش پول یک سازمان را پوشش می‌دهند. به عنوان بخشی از نرم‌افزارهای مالی امروزه پیشرفت بسیاری کرده‌اند، به طوریکه امروزه نرم‌افزار حسابداری تحت وب (یا ابری) و نرم‌افزار حسابداری سورس باز نیز در حال رشد هستند، اساس این نرم‌افزارها، ارائه خدمات با هزینه پایین و افزایش امنیت می‌باشد، عمده کاربران چنین نرم‌افزارهایی، صاحبان کسب و کارهای کوچک و متوسط می‌باشند، هر چند هدف نرم‌افزارهای حسابداری ارائه خدمات برای همه کسب و کارها می‌باشد. ابزار توسعه نرم‌افزار
غالب ابزارهای اولیه و اساسی که در همه جا و به‌طور مداوم استفاده می‌شوند، ویرایشگر کد (source code editor)، کامپایلر (compiler) و مفسر (interpreter) هستند. اما سایر ابزارها بر اساس زبان برنامه‌نویسی، متدولوژی (روش) توسعه و فرد مهندس ممکن است بیشتر یا کمتر بکار برده شوند و غالباً برای یک وظیفه و کار مستقل و جدا مثل خطا یابی یا تحلیل برنامه (profiler) که میزان فضای برنامه را می‌سنجد یا زمانی که برای اجرا لازم دارد و... استفاده می‌شوند. برنامه‌نویسی رایانه‌ای
قدم اول در فرایند توسعه بیشتر نرم‌افزارها به شکل معمول شامل بررسی نیازمندی‌ها، سپس آزمایش برای تشخیص الگوی متغیرها، اجرا و سپس حذف خرابی‌ها (اشکال زدایی) است. راه‌های مختلفی برای رسیدن به هر کدام از این وظایف وجود دارند. یک راه پرطرفدار برای تحلیل نیازمندی‌ها تحلیل مورد کاربردی است. بسیاری از برنامه نویسان از شکل توسعه چابک نرم‌افزاری استفاده می‌کنند؛ در این روش مراحل مختلف توسعه نرم‌افزار به شکل چرخه‌های کوتاه با هم ترکیب می‌شوند به‌طوری‌که هر کدام از این چرخه‌ها فقط چند هفته طول بکشند. این در مقابل روش معمول است که ممکن است چند سال زمان ببرد. روش‌های خیلی زیادی برای روند توسعه برنامه‌ها وجود دارند. شبیه‌سازی
در برنامه‌نویسی کامپیوتر، یک شبیه‌ساز اغلب برای اجرای برنامه‌ای مورد استفاده قرار می‌گیرد که انجام آن برای کامپیوتر با مقداری دشواری همراه است. مثلاً، شبیه‌سازها معمولاً برای رفع عیب یک ریزبرنامه استفاده می‌شوند. از آن جایی که کار کامپیوتر شبیه‌سازی شده‌است، تمام اطلاعات در مورد کار کامپیوتر مستقیماً در دسترس برنامه دهنده است و سرعت و اجرای شبیه‌سازی را می‌توان تغییر داد. شبیه‌سازها همچنین برای تفسیر درخت‌های عیب یا تست کردن طراحی‌های منطقی VLSI قبل از ساخت مورد استفاده قرار می‌گیرند. در علم نظری کامپیوتر، عبارت شبیه‌سازی نشان دهنده یک رابطه بین سیستم‌های انتقال وضعیت است که در مطالعه مفاهیم اجرایی سودمند می‌باشد. نرم‌افزارهای مشارکت‌گرا
نرم‌افزارهای مشارکت‌گرا (Collaborative software) یا گروه‌افزار (Groupware) یا ابزار گروهی، نرم‌افزارهایی هستند که امکان انجام کارهای گروهی در یک زمینه ویژه یا زمینه‌های گوناگون را می‌دهند. میان‌افزار پیام‌محور
چنین لایه‌ی میان‌افزاری به واحد‌های نرم‌افزاری اجازه می‌دهد که مستقل از هم توسعه داده شده و روی پلتفرم‌های متفاوتی که شبکه شده‌اند، با همدیگر تعامل داشته باشند. برنامه‌های توزیع شده بر روی نودهای متفاوت شبکه از رابط نرم‌افزاری برای ارتباط استفاده می‌کنند. به علاوه، با فراهم‌سازی رابط مدیریتی، این سیستم مجازی‌‌ جدید، که به منظور ارتباط برنامه‌ها با همدیگر ایجاد شده را می‌توان مطمعن و امن کرد. میان‌افزار پیام‌محور المان‌هایی را فراهم می‌کند که در همه‌ی واحدهای ارتباطی معماری کلاینت/سرور قرار می‌گیرد و عموما از فراخوانی‌های آسنکرون بین کلاینت و سرور پشتیبانی می‌کند. میان‌افزار پیام‌محور از این که توسعه‌دهنده‌های برنامه درگیر پیچیدگی‌های ماهیت master-slave مکانیزم کلاینت/سرور بشوند، جلوگیری می‌کند. همه‌ی این مدل‌ها به یک واحد نرم‌افزاری اجازه می‌دهد که رفتار یک واحد دیگر را بر روی یک شبکه تحت تاثیر قرار دهد. نرم‌افزار ریاضی
این نرم‌افزارها برای انواع محاسبات آماری به‌کار می‌رود. اس‌پی‌اس‌اس و اس‌آاس معروف‌ترین نرم‌افزارهای آماری است. چارچوب نرم‌افزاری
چهارچوب‌های نرم‌افزاری به‌طور معمول شامل فواید و کاربردپذیری‌های قابل توجهی برای کمک به برنامه‌های کاربر هستند، اما به‌طور کلی بر روی مشکلات خاص تمرکز می‌کنند، مثال‌هایی از چهارچوب‌ها: مجموعه نرم‌افزار اینترنتی
مجموعه نرم‌افزار اینترنتی مجموعه نرم‌افزاری برای کاربردهای اینترنتی که به طور معمول شامل مرورگر، گیرنده پست الکترونیکی، خبرخوان، برنامه‌مدیریت بارگذاری، تدوین‌گر HTML و کلاینت گپ اینترنتی IRC می‌شوند. لوازم کامپیوتری
تجهیزات نرم‌افزاری: مجازی‌سازی
اصولاً نرم‌فزارها مجازی هستند چون ذات آنها فیزیکی نیست. از اینرو می‌توان گفت مجازی‌سازی در اکثر اوقات شکل نرم‌افزاری دارد؛ که البته بر روی یک سخت‌افزار خاص اجرا خواهد شد. طراحی و شبیه‌سازی انواع سوییچ‌ها، روترها، سرورها و ... از این دسته‌اند. شرکت‌هایی نیز در زمینه تولید سیستم‌های مجازی مشغول به کارند نظیر شرکت مایکروسافت با سیستم Hyper-V یا سیستم‌های مبتنی بر هسته لینوکس از جمله ESXI با مجموعه نرم افزارهای vmware محصول شرکت دل. نرم‌افزار پزشکی
با توجه به گستردگی این شرایط، طبقه‌بندی‌های متنوع را می‌توان برای نرم‌افزارهای مختلف پزشکی، به عنوان مثال بر اساس ماهیت فنی آنها (تعبیه شده در یک دستگاه یا مستقل)، بر روی سطح ایمنی آنها (از بی‌اهمیت‌ترین تا بیشترین ایمنی) ارائه داد. موارد بحرانی) یا عملکرد اصلی آنها (درمان، آموزش، تشخیص و مدیریت داده‌ها). نرم‌افزار سازمانی
نرم‌افزار سازمانی مجموعه‌ای از برنامه‌های رایانه‌ای را توصیف می‌کند که دارای ویژگی تجاری مشترکی هستند؛ ابزارهایی برای مدلسازی چگونگی کارکرد یک سازمان و نیز ابزارهای توسعه‌ایی برای ساخت برنامه‌هایی بی‌همتا برای آن سازمان. این نرم‌افزار به حل مشکلات سازمانی می‌پردازد(به جای مشکلات دپارتمانی). همچنین این نرم‌افزارها با استفاده از معماری نرم‌افزار سازمانی نوشته می‌شوند. نرم‌افزارهای سطح سازمانی با هدف پیشرفت و بهبود محصولات سازمانی برای پشتیبانی مطنقی از کارهاست. نرم‌افزار حسابداری
در وسط بازار، طیف وسیعی از نرم‌افزارهای تجاری را پوشش می‌دهد که ممکن است به نیازهای استانداردهای حسابداری ملی چندگانه و حسابداری در ارزهای مختلف اجازه دهد. نرم‌افزار رمزگذاری
محصولات نرم‌افزاری زیادی وجود دارد که رمزنگاری را ارایه می‌دهد. رمزنگاری نرم‌افزار با استفاده از یک رمز برای محو کردن محتوا به متن رمز است. یکی از راه‌های طبقه‌بندی این نوع نرم‌افزار، نوع رمز استفاده شده‌است. چیپ‌ها را می‌توان به دو دسته تقسیم کرد :رمزهای کلید عمومی (همچنین به عنوان رمزهای نامتقارن شناخته می‌شوند) و کلید رمزهای متقارن. نرم‌افزار رمز گذاری می‌تواند بر اساس کلید عمومی با رمزنگاری متقارن باشد. گرافیک رایانه‌ای (علوم رایانه)
کاربردهای مشترک گرافیک سه بعدی : گرافیک سه بعدی در برنامه‌های کامپیوتری جدید کاربرد بسیاری دارد. استفاده که برنامه‌ها از گرافیک سه بعدی می‌کنند از بازی‌های تعاملی سه بعدی تا شبیه‌سازی و پزشکی و مصارف شغلی متفاوت است. محصولات پر کیفیت سه بعدی راه خودشان را به سمت فیلم‌ها و صنعت و آموزش به خوبی پیدا کرده‌اند. مهندسی نرم‌افزار به کمک کامپیوتر
Computer-aided software engineering (CASE) گستره‌ای وسیع از نرم‌افزارها و ابزارهای مورد استفاده برای طراحی و پیاده‌سازی برنامه‌های کاربردی است. ابزارهای CASE مشابه ابزارهای طراحی به کمک کامپیوتر (CAD) هستند که برای طراحی محصولات سخت‌افزاری بکار برده می‌شوند مثل ابزارهای شبیه‌ساز مدارات الکتریکی و منطقی و اتوکد و ... . نرم‌افزار پزشکی
نرم‌افزار پزشکی هر نرم‌افزار یا سیستمی است که در چارچوب یک زمینه پزشکی مورد استفاده قرار می‌گیرد، مانند: چندپردازی متقارن
در مواردی که در آن یک محیط SMP در مورد بسیاری از وظیفه‌ها صورت گرفت، اجراکننده‌ها اغلب فقدان کارایی سختافزاری را تجربه می‌کنند. برنامه‌های نرمافزاری برای زمانبندی وظایف توسعه داده شدهاند تا بهرهوری نرمافزاری به بیشترین پتانسیل خود برسد. بسته‌های نرمافزاری مناسب می‌توانند این پتانسیل بالا را با زمانندی هر cpu به صورت جداگانه در نظر گرفته، همچنین توانایی پیوند دادن دستگاه‌های SMP و خوشه‌ها را فراهم می‌کند. نرم‌افزار سازمانی
خدمات نرم‌افزارهای سازمانی معمولاً منجر به ابزارهایی حول محور تجارت می‌شود، مانند فرایندهای خرید یا پرداخت برخط، کاتالوگ‌های محصولات به صورت فعال، سیستم‌های صورت‌حساب خودکار، امنیتی، مدیریت محتوا، مدیریت خدمات فناوری‌اطلاعات، مدیریت رابطه با مشتریان، طرح‌ریز منابع، نجارت هوشمند، مدیریت اچ‌آر، تولید، برنامه‌های یکپارچه و اتوماسیون فرم نرم‌افزارهای رشته مهندسی مکانیک شاخه CAM
MasterCam ابزار نرم‌افزارCAM / CAD (طراحی و تولید به کمک کامپیوتر) را برای انواع برنامه‌نویسی ازسطح ابتدایی تا سطح بسیار پیچیده ارائه می‌دهد. از جمله این قابلیت‌ها عبارتند از:ماشین کاری ۲محوری، چرخش وآسیاب کردن چندمحوری،EDM سیمی، برش ومدل‌سازی آزاد هنرمندانه، کشیدن و مدل‌سازی وعملیات سطح و طراحی سه بعدی وهرآنچه در عملیات ماشین کاری مورد نیاز باشد. اجاره نرم‌افزار
نرم‌افزار به عنوان یک سرویس () نرم‌افزاری و شیوه انتقالی است که بر پایه اجاره مجوز دهی می‌شود و متمرکز میزبانی می‌شود. گاهی به عنوان نرم‌افزار حاضر -آماده از آن یاد می‌شود (به آن مراجعه می‌شود). کاربران معمولاً با یک کلاینت سبک از طریق مرورگر وب به این سرویس نرم‌افزاری دسترسی می‌یابند. این سرویس به یک شیوه انتقالی برای بسیاری از برنامه‌های تجاری مبدل شده، شامل آفیس و نرم‌افزارهای پیام رسان، نرم‌افزارهای محاسبه گر حقوق، نرم‌افزارهای مدیریت پایگاه داده، نرم‌افزارهای مدیریتی، نرم‌افزارهای طراحی (CAD)، نرم‌افزارهای توسعه دهنده، بازی سازی، مجازی سازی، حسابداری، همکاری، مدیریت ارتباط مشتری، مدیریت سیستم‌های اطلاعاتی، طرح‌ریزی منابع سرمایه، فاکتور نویسی، مدیریت منابع انسانی، حصول نیروی مستعد، مدیریت محتوا، نرم‌افزارهای ضد ویروس و مدیریت میز خدمات. سرویس نرم‌افزاری (SaaS) به استراتژی تقریباً تمام شرکت‌های نرم‌افزاری گسترده آمیخته شده. فری‌بی‌اس‌دی
پورت‌های فری‌بی‌اس‌دی روش معمول برای نصب برنامه‌های جانبی در فری‌بی‌اس‌دی هستند. پورت‌های فری‌بی‌اس‌دی مجموعه‌ای بیش از هزاران بستهٔ نرم‌افزاری گوناگون را در خود گنجانده‌است. میزکارهای گرافیکی گوناگون مانند گنوم، کی‌دی‌ئی، XFCE، مجموعه‌های اداری گوناگون مانند لیبره‌آفیس، مرورگرهای وب مانند فایرفاکس، کرومیوم، اپرا، برنامه‌های پخش چندرسانه‌ای مانند وی‌ال‌سی، ام‌پلیر، ابزارهای گوناگون مدیریت شبکه، قلم‌ها، بازی‌های رایانه‌ای، برنامه‌های مدیریت و ویرایشگر تصاویر مانند گیمپ، ابزارهای توسعهٔ برنامه‌نویسی مانند کامپایلرها و هزاران برنامهٔ دیگر، بخشی از این برنامه‌ها هستند. نسخه‌بندی نرم‌افزار
یا دیواره آتش لایه کاربرد
فایروال نرم‌افزاری معمولاً به منظور کنترل کلیهٔ ترافیک (ارتباطات) شبکه‌ای بر روی لایهٔ OSI تا لایهٔ کاربردی ساخته می‌شود و بر خلاف یک فایروال شبکه‌ای حالتمند (stateful) که بدون داشتن نرم‌افزار قادر به کنترل ترافیک شبکه در خصوص یک برنامه یا یک نرم‌افزار خاص نیست، می‌تواند برنامه‌های کاربردی و سرویس‌ها را به‌طور خاص کنترل نماید. دو دستهٔ اصلی فایروال‌های نرم‌افزاری عبارتند از محیط استقرار نرم‌افزار
در توسعه نرم‌افزار، محیط یک سیستم کامپیوتری است که نرم‌افزار یا یک جز نرم‌افزاری بر روی آن استقرار یافته و اجرا شده است. در حالات ساده، به عنوان مثال توسعه دادن یک برنامه و اجرای بلافاصله آن بر روی همان سیستم ممکن است تنها به یک محیط نیاز داشته باشد اما در حالات صنعتی و تجاری به طور معمول یک محیط با عنوان توسعه (Development) برای تغییرات اصلی و توسعه در نظر گرفته می‌شود و از طرف دیگر محیطی با عنوان محصول نهایی (Production) برای کاربر نهایی استفاده می‌شود. این فرایند ساختار مدیریت انتشار نرم‌افزار در خیلی از مشکلات به فازهای استقرار(Deployment)، آزمایش(Testing) و عقبگرد(Rollback) کمک می‌کند. بخش‌های گوناگون سیستم اتوماسیون پست
الف- نرم‌افزارهای کاربری و بانک اطلاعات این نرم‌افزارها برای کنترل و پایش پست استفاده می‌شوند. ب- نرم‌افزارهای طراحی مهندسی: این نرم‌افزارها در واقع نرم‌افزارهای گرافیکی می‌باشند که دارای کتابخانه‌های داخلی و با قابلیت برنامه نویسی می‌باشند و به کمک آن، نرم‌افزارهای کاربری و پایگاه داده‌ها طراحی می‌شود. ج- نرم‌افزارهای ارتباط با تجهیزات: این نرم‌افزارها کار برنامه ریزی و تنظیمات تجهیزات کنترلی و حفاظتی را به دوش دارند. شهرسازی
با توجه به پیشرفت تکنولوژی و استفاده‌های روزافزون از سیستم‌های کامپیوتری، شهرسازی نیز دستخوش این کاربردها بود و امروزه سیستم‌های بسیاری در راستای ایجاد بستری امن و سریع برای دسترسی به پرونده‌های شهرسازی در شهرداری‌ها طراحی شده‌است. از جمله پرکاربردترین نرم‌افزارهای مورد استفاده در این رشته، جی آی اس، اتوکد، اس پی اس اس، اکسپرت چویس، سیتی انجاین نرم‌افزارهای سه بعدی مثل اسکچ آپ و … می‌باشند. مهندسی نرم‌افزار بر پایه مؤلفه
در دهه ۱۹۶۰ ما کتابخانه‌های زیر روال را بنا کردیم که در مهندسی آنتن‌سازی و کاربردهای علمی مورد استفاده قرار می‌گرفته‌است. در این کتابخانه‌ها الگوریتم‌های پیشرفته به صورت مؤثر استفاده می‌شده‌است ولی قلمرو محدودی از کاربردها داشت. امروزه پیکرپارهای چندبار مصرفی هم مراحل و هم اطلاعات را شامل می‌شوند. این عمل مهندس نرم‌افزار را قادر به ساخت کاربردهای جدید از قسمت‌های دوباره استفاده شده می‌کند. پیکرپارهای نرم‌افزاری از زبان‌های برنامه‌نویسی که دارای لغات محدود، گرامر صریح و قانون‌های ترکیب و معناشناسی می‌باشند تشکیل می‌شود. در پایین‌ترین سطح، زبان ساختار سخت‌افزار را منعکس می‌کند. در سطح متوسط یا میانی، یک زبان برنامه‌نویسی مثل سی یا اسمال تاک برای ساخت شرح رویه برنامه استفاده می‌شود؛ و در بالاترین سطح زبان از نمادهای گرافیکی یا نشان‌های دیگر برای ارائه نیاز برای راه حل استفاده می‌کند. اینجا ساختارهای اجرائی خود به خود به وجود می‌آیند. وقتی یک برنامه‌نویس خوب برنامه قابل نگهداری، با اسناد برنامه می‌نویسد. یک ماشین می‌تواند یک استفاده عالی از حافظه و سرعت بالا در اجرا را بدهد؛ ولی زبان متوسط برنامه‌نویس و برنامه را وابسته به ماشین می‌کند. این‌ها زبان‌های روندی می‌باشند. در زبان‌های غیر روندی یک برنامه با مشخص کردن نتیجه احتیاج به دست یابی به آن را داراست. نرم‌افزار پشتیبانی این خصوصیات را به کدهای قابل اجرا در ماشین تبدیل می‌کند. این بر مبنای تئوری‌های اشیای نرم‌افزار، معماری نرم‌افزار، استخوان بندی نرم‌افزار و الگوهای طراحی و تئوری‌های برنامه‌نویسی شیءگرا و برنامه‌نویسی طراحانه آن ساخته شده‌است. این ادعا می‌کند که پیکرپارهای نرم‌افزاری مثل نظر پیکرپارهای سخت‌افزاری برای مثال در مخابرات می‌تواند در نهایت مورد استفاده قرار بگیرد. نرم‌افزار ضدویروس
نرم‌افزار آنتی‌ویروس که روی رایانه‌های شخصی اجرا می‌شود، رایج‌ترین روشی است که از محافظت در برابر بدافزارها محافظت می‌کند، اما این تنها راه حل نیست. راه حل‌های دیگر همچنین می‌تواند توسط کاربران به کار رود، از جمله مدیریت یکپارچه تهدید (UTM)، سخت‌افزار و فایروال‌های شبکه ، آنتی‌ویروس مبتنی بر ابر و اسکنر آنلاین. نرم‌افزار چندسکویی
بسترهای نرم‌افزاری می‌توانند به نوع پردازنده (CPU) یا سخت‌افزار دیگری که یک سیستم عامل یا برنامه معین بر روی آن اجرا می‌شود، نوع سیستم عامل در رایانه یا ترکیبی از نوع سخت‌افزار و نوع سیستم عاملی که روی آن اجرا می‌شود، اشاره کنند. یک مثال از یک پلتفرم مشترک، Microsoft Windows است که با معماری x86 اجرا می‌شود. سایر سیستم عامل‌های رایانه رومیزی معروف شامل Linux / Unix و macOS هستند - هر دوی اینها خود کراس پلتفرم هستند. با این حال، بسیاری از دستگاه‌ها مانند تلفن‌های هوشمند وجود دارند که همچنین به‌طور مؤثر سیستم عامل رایانه هستند اما کمتر در مورد آنها حرفی زده می‌شود. نرم‌افزار کاربردی را می‌توان بسته به ویژگیهای یک سیستم عامل خاص - سخت‌افزار، سیستم عامل یا ماشین مجازی که در آن کار می‌کند - نوشت. بستر جاوا یک پلت فرم ماشین مجازی است که روی بسیاری از سیستم عامل‌ها و انواع سخت‌افزار اجرا می‌شود و بستر مشترک نرم‌افزاری است که می‌توان برای آن نوشت. محاسبات دفاعی (رایانه)
یک استراتژی اساسی برای همه کاربران دفاعی رایانه، نصب و استفاده از نرم‌افزارهای ضد بدافزار است. فایروال‌ها ممکن است به‌طور کامل از رایانه محافظت نکنند. نرم‌افزارهای مخرب ممکن است بتوانند از طریق فایروال وارد سیستم شوند. نرم‌افزارهای ضد بدافزار مانند آنتی‌ویروس، ضد فیشینگ و نرم‌افزارهای فیلتر ایمیل، محافظت در برابر نرم‌افزارهای مضر موجود در رایانه را ارائه می‌دهند. تعداد نرم‌افزارهای مخرب موجود در اینترنت به‌طور پیوسته در حال افزایش است. برای کاربران دفاعی مهم است که از ضد بدافزاری استفاده کنند که هم مؤثر باشد و هم به راحتی به روز شود تا با گونه‌های جدیدی از نرم‌افزارهای مخرب توسعه‌یافته مبارزه کند. برنامه‌نویس
برنامه‌نویس‌های رایانه اغلب به دو گروه گسترده تقسیم می‌شوند: برنامه‌نویس‌های نرم‌افزار کاربردی و برنامه‌نویس‌های سیستم. برنامه‌نویس‌های نرم‌افزار کاربردی برنامه‌هایی می‌نویسند تا به وظیفه مشخصی رسیدگی کنند، مانند برنامه‌ای برای پی‌گیری سیاهه در یک سازمان. این گروه از برنامه‌نویس‌ها همچنین می‌توانند نرم‌افزار بسته‌بندی‌شده را اصلاح کنند یا نرم‌افزارهای کاربردی عمومی را که مکرراً از فروشنده‌های نرم‌افزار مستقل خریداری می‌شوند سفارشی کنند. در حالی که، برنامه‌نویس‌های سیستم، برنامه‌هایی برای نگهداری و بررسی نرم‌افزار سیستم‌های رایانه‌ای می‌نویسند، مانند سیستم‌های عامل و سامانه‌های مدیریت پایگاه داده‌ها. این گروه از برنامه‌نویس‌ها در دستورالعمل‌هایی که مشخص می‌کنند چگونه شبکه، پایانه‌های رایانه رومیزی (معمولاً شبکه شده و قدرتمندتر از رایانه شخصی هستند) و واحد پردازش مرکزی سیستم وظیفه‌های گوناگونی که به آن‌ها داده شده‌اند را رسیدگی می‌کنند و چگونه با تجهیزات جانبی مانند چاپگرها و دیسک‌گردان ارتباط برقرار می‌کنند تغییر ایجاد می‌کنند. __نمایه__ معماری چندلایه
معماری چندلایه (در مهندسی نرم‌افزار) برای آسانتر نمودن پردازش رایانه‌ای بکار می‌رود. این گونه معماری برای توصیف و تشریح فرایندی بکار می‌رود که در آن درجه‌ای از تفکیک میان اجزای گسسته بدست آمده باشد. این تفکیک توسط یک یا چند پیشکار نرم‌افزاری اعمال می‌شود. مثالی از آن کاربرد میان افزار برای افزایش بهره‌وری خدمات داده‌ای میان یک کاربر و یک پایگاه داده‌ها می‌باشد. همچنین ممکن است از این عبارت با عنوان معماری n-لایه یاد شود. بیشترین شکل استفاده آن در حالت معماری سه-لایه می‌باشد. نرم‌افزار کسب‌وکار
نرم‌افزار کسب‌وکار (یا برنامه کسب‌وکار) هر نرم‌افزار یا مجموعه ای از برنامه‌های کامپیوتری است که توسط کاربران تاجر برای انجام کارهای مختلف تجاری مورد استفاده قرار می‌گیرد. این برنامه‌های کسب‌وکار برای افزایش بهره‌وری، اندازه‌گیری بهره‌وری و انجام دقیق کارهای دیگر کسب‌وکار استفاده می‌شود. صنعت نرم‌افزار
صنعت نرم‌افزار () از صنایع مرتبط با صنعت رایانه است، که کسب‌وکارهایی چون توسعه نرم‌افزار، تعمیر و نگهداری نرم‌افزار و انتشار انواع مختلف نرم‌افزار را در بر می‌گیرد. در صنعت نرم‌افزار از مدل‌های تجاری مختلفی همچون رایانش ابری (شامل اجاره نرم‌افزار، بستر به عنوان سرویس و سایر خدمات بر پایه رایانش ابری) و خدمات مبتنی بر مجوز، همچنین خدمات نرم‌افزاری مانند آموزش و مستندسازی نرم‌افزار، مشاوره و بازیابی اطلاعات، استفاده می‌شود. طراحی به کمک رایانه
نرم‌افزارهای طراحی رایانه‌ای، به نرم‌افزارهایی اطلاق می‌شود که کار ایجاد و ویرایش شکل‌ها را به کمک رایانه انجام می‌دهند. امروزه بیشتر نرم‌افزارهای طراحی به کمک رایانه، نه تنها توانایی ایجاد و ویرایش نقشهٔ دوبعدی و سه‌بعدی قطعات را دارند، بلکه توانایی وارسی (تحلیل) قطعات از نظر مسائل تنش، گرما و مسائل مکانیکی با استفاده از روش المان محدود را دارند. نرم‌افزارهای رشته مهندسی مکانیک شاخه CAD و CAE
دنیای امروز دنیای گستردهٔ نرم‌افزارهاست دنیایی که مبتنی بر سرعت محاسبات می‌باشد و برای این هدف استفاده از نرم‌افزارها بهترین گزینه می‌باشد. نرم‌افزارهای رشته مهندسی مکانیک شاخه CAD و CAE
این بخش از نرم‌افزار، نتایج به دست آمده از بخش‌های مختلف را نمایش می‌دهد. نمایش به صورت نمودارهای سرعت، شتاب و …، کانتورهای اجزا محدود و Flexible Bodies، نمایش نمودارهای پردازش سیگنال و Signal Processing و… از توانایی گنجانده شده در نرم‌افزار است. بخش دوم نرم‌افزار شامل زیر بخش‌های مختف در زمینه‌های مختلف مهندسی مکانیک است. هر یک از این زیر بخش‌ها، به کمک هستهٔ اصلی نرم‌افزار، قابلیتهای طرح را به وسیلهٔ اضافه کردن خاصیت جسم غیر صلب به مدل، بالا می‌برند. از جمله این قابلیت‌ها می‌توان به سنسورها، عملگرهای کنترلی و هیدرولیکی، خواص ارتعاش و… اشاره کرد. در بخش سوم، این نرم‌افزار با استفاده از قابلیت برنامه‌نویسی موجود در هسته، اقدام به تولید شبهGUIهایی برای انجام کارهای اختصاصی موجود در صنایعی چون اتومبیل، هوا، فضا و راه آهن کرده‌است. این بخش به مهندسان اجازه می‌دهد که طرح خود را با بخش‌های پیش‌فرض استاندارد موجود درنرم‌افزار، به سرعت آزمایش می‌کنند. نرم‌افزار
از دیدگاه ساختاری (معماری)، نرم‌افزارها به دسته‌های زیر تقسیم می‌شوند: صفحه‌کلید
نرم‌افزارهای صفحه کلید یا صفحه کلید در نمایشگر اغلب گونه‌ای از برنامه‌های رایانه‌ای هستند که تصویری از صفحه‌کلید را بر روی صفحه نمایش می‌دهند. کاربران با استفاده از دیگر وسایل ورودی مانند موشواره(Mouse) یا صفحه لمسی می‌توانند هر یک از کلیدهای مجازی را برای ورود متن فشار دهند. به دلیل ارزش افزوده و فضای مورد نیاز صفحه کلیدهای سخت‌افزاری این روزها صفحه کلیدهای نرم‌افزاری در بسیاری از گوشی‌های لمسی محبوب شده‌اند. ویندوز شرکت مایکروسافت و مکینتاش و برخی از نسخه‌های لینوکس شامل صفحه کلیدهای نرم‌افزاری هستند که توسط موشواره کنترل می‌شوند. در صفحه کلیدهای نرم‌افزاری با حرکت دادن موشواره و کلیک کردن بر روی حروف، حرف مورد نظر چاپ می‌شود. البته این روش بر روی دستگاه های All in one بسیار کار آمد است. آدرس حافظه
هر محل حافظه در یک برنامه ذخیره شده رایانه به نوعی یک عدد دودویی یا عدد دهدهی را نگه می‌دارد. در محیط‌های چندکارگی امروزی، فرایند یک نرم‌افزار کاربردی معمولاً در فضای آدرس خودش تکه‌های حافظه از انواع زیر را دارد: برخی از بخش‌های فضای آدرس ممکن است در به جایی نگاشت نشوند. چارچوب نرم‌افزاری
در برنامه‌نویسی کامپیوتر یک چهارچوب نرم‌افزاری یک انتزاع است که در آن نرم‌افزار فراهم کننده عملکردهای عمومی می‌تواند به صورت انتخابی توسط کدهای نوشته شده کاربران عوض شود، در تعریفی بهتر می‌توان گفت یک فراهم کننده طراحی‌های قابل استفاده برای نرم‌افزار است. در واقع یک چهارچوب یک راه استاندارد برای ساخت و گسترش برنامه‌ها است و یک محیط با قابلیت استفاده مجدد در محیط نرم‌افزاری است به صورتی که عملکردهای خاصی از بخش‌های یک پلتفرم بزرگ نرم‌افزاری را آماده می‌کند تا برنامه‌نویسی نرم‌افزارهای کاربردی و الگوریتم‌ها را آسان‌تر کند، چهارچوب‌های نرم‌افزاری ممکن است شامل برنامه‌های پشتیبانی، کامپایلرها، کتابخانه‌های کد، مجموعه ابزارها ورابط‌های برنامه‌نویسی برنامه (API) باشد که تمام اجزای مختلف را گرد هم آورده تا امکان توسعه یک پروژه یا سیستم فراهم کند. نرم افزار هنر گرافیک
بیشتر نرم‌افزارهای هنری شامل توابع مشترک، ابزار ایجاد، ابزار ویرایش، فیلترها و حالت‌های رندر خودکار هستند. با این وجود بسیاری از آنها برای ارتقا یک مهارت یا تکنیک خاص طراحی شده‌اند. بسته‌های نرم‌افزاری تخصصی ممکن است به دلایل مختلف از جمله عدم استقبال از نتیجه، کمبود تخصص و آموزش برای محصول، یا به‌طور کلی ارزش صرف وقت و هزینه سرمایه‌گذاری را نداشته باشند. نرم‌افزار مدیریت دانش
نرم‌افزار یکی از زیرساخت‌های مورد نیاز برای مدیریت دانش است. نرم‌افزار مدیریت دانش، فعالیت‌های دانشی را تسهیل یا امکان‌پذیر می‌کند. نرم‌افزار را نمی‌توان بدون توجه به سایر زیرساخت‌ها، اهداف و راهبردهای مدیریت دانش انتخاب نمود. تشخیص درست قابلیت‌های مفید برای نرم‌افزار مدیریت دانش (مانند هر کار دیگری) نیازمند داشتن پارادایم مناسب است. نرم‌افزار مدیریت دانش (نرم‌افزار KM) یک زیرمجموعه از نرم‌افزار مدیریت محتوا سازمانی است که شامل طیف وسیعی از نرم‌افزار است که متخصص در نحوه جمع‌آوری، ذخیره و / یا دسترسی اطلاعات است. مفهوم مدیریت دانش براساس طیف وسیعی از شیوه‌های استفاده شده توسط یک فرد، یک کسب و کار یا شرکت بزرگ برای شناسایی، ایجاد، نمایندگی و توزیع مجدد اطلاعات برای طیف وسیعی از اهداف است. نرم‌افزار مدیریت دانش این امکان را می‌دهد تا اندوخته‌های سازمانی بصورت طبقه‌بندی شده حفظ و بازیابی و استفاده شود و همه کارکنان به پیشرفت یکدیگر با به اشتراک گزاری فکر و دانش خود کمک کنند. نرم‌افزارهایی که عملکردهای اطلاعات و طیف وسیعی از اقدامات را در هر بخشی از فرایندهای مدیریت اطلاعات را، ممکن می‌سازند، می‌توانند به عنوان نرم‌افزار مدیریت اطلاعات شناخته شوند. یک زیر مجموعه از نرم‌افزار مدیریت اطلاعات که بر روشی برای ساخت دانش از اطلاعات مدیریت شده یا حاوی آن تأکید دارد، اغلب به نام نرم‌افزار مدیریت دانش شناخته می‌شود. نرم‌افزار KM در اکثر موارد ابزارهایی برای افراد، گروه‌های کوچک یا کسب و کارهای متوسط می‌باشد که به نوآوری، ایجاد دانش جدید در گروه یا بهبود تجربه مشتری کمک می‌کند. سیستم‌های مدیریت دانش (نرم‌افزار) شامل طیف وسیعی از حدود ۱۵۰۰ یا بیشتر روش‌های مختلف برای جمع‌آوری و حاوی اطلاعات برای ایجاد دانش است . این ابزار می‌تواند از طریق ابزارهای جستجوی تخصصی از جمله ابزارهای ساخت مفهوم یا ابزارهای جستجوی بصری مورد جستجو قرار گیرد که اطلاعات موجود را که در اصل توسط افراد جمع‌آوری یا نگهداری در پایگاه‌داده اطلاعات ارائه نشده‌اند، ارائه دهد. نرم‌افزارهای مدیریت دانش از بسته‌های نرم‌افزاری کوچک برای استفاده فردی مثل نرم‌افزار طوفان فکری، تا نرم‌افزارهای سازمانی بسیار تخصصی که برای استفاده توسط صدها کارمند مناسب هستند، متغیر است.اغلب نرم‌افزارهای مدیریت دانش یک منبع کلیدی برای کارکنان شاغل در خدمات مشتری یا صنایع پشتیبان تلفن یا بخش‌های شرکت‌های بزرگ فراهم می‌کند. نرم‌افزار مدیریت دانش به‌طور کلی ترکیبی از منابع اطلاعاتی بدون ساختار را فراهم می‌کند، از قبیل اسناد متنی و / یا فرمت‌های PDF، ایمیل، تصاویر گرافیکی، یادداشت‌های بدون ساختار، لینک‌های وب سایت، فاکتورها و دیگر مجموعه‌های اطلاعاتی مانند فکر ساده، از طریق ترکیبی از میلیون‌ها تعامل از یک وب سایت، و از طریق آن ترکیب، جویندگان را قادر می‌سازد، دانش را بدست آورید که در غیر این صورت کشف نخواهد شد. با افزایش سرعت دسترسی به اینترنت، بسیاری از محصولات بر اساس تقاضا (یا نرم‌افزار به عنوان یک سرویس) تکامل یافته و در حال حاضر تأمین کنندگان پیشرو نرم‌افزار KM هستند. نرم‌افزار کاربردی
بسیاری نرم‌افزارهای کاربردی، برای توسعه‌دهندگان ابزار رابط برنامه‌نویسی کاربردی هم فراهم می‌کنند تا بتوان از قابلیت‌های نرم‌افزار در نرم‌افزارهای جدید استفاده کرد. برای مثال نرم‌افزار ادوبی آکروبات هنگام نصب ای‌پی‌آی فراهم می‌کند که برنامه‌نویس می‌تواند با استفاده از آن توانایی‌های آکروبات در برنامهٔ خود به کار گیرد. بسیاری از نرم افزارهای امروزی جنبه خدمات رسانی دارند. گرافیک رایانه‌ای (علوم رایانه)
برنامه‌ها برای گرافیک سه بعدی بر روی کامپیوترها تقریباً بیشمار هستند. شاید عمومی‌ترین استفاده از گرافیک کامپیوتری سه بعدی بازی‌های رایانه‌ای باشند. امروزه به سختی می‌توان کامپیوتری را یافت که نیاز به یک کارت گرافیک سه بعدی نداشته باشد. سه بعدی همیشه برای تجسمات علمی و برنامه‌های مهندسی معروف بوده‌است. رابط‌های گرافیکی نرم‌افزاری هم از سخت‌افزار سه بعدی استفاده فراوان می‌برند. برای مثال ورژن کنونی سیستم‌عامل مکینتاش یعنی Mac OS X برای رندر کردن تمام پنجره‌ها و کنترل‌ها و جلوه‌های تصویری از OpenGL استفاده می‌کند. تصاویر ۱۶-۱ ال ۲۰-۱ تعدادی از برنامه‌های بیشماری را نشان می‌دهد که برای رندر تصاویرشان و تولید تصاویر سه بعدی تعاملی از OpenGL استفاده می‌کنند. نرم‌افزار حسابداری
بانکداری ساخت و ساز پزشکی حسابداری غیرانتفاعی یا صندوق نقطه فروش (خرده فروشی) اعتماد سرمایه‌گذاری املاک نرم‌افزار مدیریت مراقبت از کودک مدیریت برای کتابفروشی راه حل‌های ترکیبی با پیشرفت تکنولوژی، فروشندگان نرم‌افزار قادر به ارائه نرم‌افزار به‌طور فزاینده پیشرفته در قیمت‌های پایین‌تر هستند. این نرم‌افزار برای شرکت‌های مختلف در مراحل مختلف رشد مناسب است. بسیاری از ویژگی‌های نرم‌افزار Mid-Market و High-End (از جمله سفارشی سازی پیشرفته و پایگاه‌های بسیار قابل مقیاس پذیر) حتی از طریق کسب و کارهای کوچک به عنوان چندین مکان باز یا رشد می‌کنند. علاوه بر این، با افزایش تعداد شرکت‌های دیگر در خارج از کشور یا اجازه دادن به کارگران به دفتر خانه، بسیاری از مشتریان کوچکتر نیاز به اتصال چندین مکان دارند. گزینه‌های آن‌ها استفاده از نرم‌افزار به عنوان یک سرویس یا برنامه دیگری است که به آن‌ها دسترسی مشابه از مکان‌های مختلف را از طریق اینترنت ارائه می‌دهد. نرم‌افزار سازمانی
نرم‌افزار سازمانی که به صورت نرم‌افزار کاربردی سازمانی(EAS) نیز نامیده می‌شود، نرم‌افزار رایانه‌ایی است که در سازمانهایی مانند شرکت‌های تجاری یا دولت مورد استفاده قرار می‌گیرد. درست برعکس نرم‌افزار انتخابی توسط یک شخص برای اهداف شخصی.(برای مثال نرم‌افزار خرده‌فروشی ). نرم‌افزار سازمانی جزوی از یک سیستم اطلاعاتی رایانه‌ای و مجهز به نرم‌افزاری برای تولید پایگاه‌های وب است. جاسوس‌افزار
در یک تقسیم‌بندی کلی نرم‌افزارهای جاسوسی را می‌توان به دو دسته تقسیم کرد: ۳–۱- نرم‌افزارهای جاسوسی خانگی نرم‌افزاری که معمولاً توسط صاحبان کامپیوترها به منظور آگاهی یافتن از تأثیرات اینترنت بر شبکه‌های کامپیوتری خودشان خریداری و نصب می‌گردد. مدیران از این نرم‌افزار برای آگاهی از فعالیت‌های کارمندان استفاده می‌کنند. بعضی افراد هم برای اطلاع از فعالیت‌های سایر اعضای خانواده این روش را به کار می‌برند. مانند مشاهده محتویات اتاق‌های گفتگو توسط والدینی که فرزندانشان در آن‌ها شرکت می‌کنند. همچنین این نوع جاسوس‌افزار می‌تواند توسط یک شخص ثالث بدون آگاهی صاحب کامپیوتر روی سیستم وی نصب شود و اطلاعات شخصی وی را جمع‌آوری کند. ۳–۲- نرم‌افزارهای جاسوسی تجاری نرم‌افزاری است که شرکت‌ها برای تعقیب فعالیت‌های کاربران در اینترنت استفاده می‌کنند. این شرکت‌ها که وظیفه نصب جاسوس‌افزار روی سیستم‌های کامپیوتری دارند، اغلب اطلاعات حاصل را به بازاریابان می‌فروشند و آن‌ها کاربر را با تبلیغات خاص که با علائق وی مطابقت دارد و برایش جذاب است، مورد هدف قرار می‌دهند.