فناوری اطلاعات و ارتباطات (قسمت چهارم)- نرم افزار

2-1  نرم‌افزار کامپیوتر

نرم‌افزار، برنامه‌ای است که روی سخت‌افزار کامپیوتر نصب می‌شود و در حقیقت، مجموعه‌ای از دستورات، داده‌ها و اطلاعاتی است که برای انجام کارهای مشخص به وسیله کامپیوتر و یا لوازم جانبی آن تهیه شده است. نرم‌افزار ممکن است سیستمی (سیستم‌عامل، درایورهای سخت‌افزارها، زبان‌های برنامه‌نویسی) یا کاربردی (مثل فتوشاپ، ورد و …) باشد. بنابراین باید دریافت که آیا نرم‌افزار برای این است که کامپیوتر (و لوازم جانبی) آن درست کار کند (= نرم‌افزارهای سیستمی) یا برای این است که کار مفید و ویژه‌ای برای ما انجام دهد (= نرم‌افزارهای کاربردی).

ساختار لایه‌ای محل قرارگیری سیستم‌عامل
ساختار لایه‌ای محل قرارگیری سیستم‌عامل
  • مهمترین نرم‌افزار سیستمی، سیستم عامل (Operating System) است. سیستم‌عامل، نرم‌افزاری است که عملکردهای اصلی کامپیوتر را کنترل می‌کند؛ از جمله اینکه داده‌ها کجا ذخیره می‌شوند یا داده‌ها چطور روی صفحه نمایش نشان داده می‌شوند یا کامپیوتر چگونه با کامپیوترهای دیگر ارتباط برقرار می‌کند و … به طور کلّی، سیستم‌عامل به منزله‌ی قلب کامپیوتر بوده و دو کارکرد اساسی دارد: 1- عملکرد به عنوان سرپرست کامپیوتر 2- عملکرد به عنوان تخصیص‌دهنده‌ی منابع (منابع منطقی مثل فایل‌ها و منابع فیزیکی مثل پردازنده و حافظه). در کارکرد اوّل، تلاش می‌کند که کارها به صورت درست انجام ‌گیرند؛ یعنی برنامه‌ها به درستی در RAM قرارگرفته و پردازش شده و نتایج احتمالی در قسمت مناسب هارد ذخیره‌ یا به روز گردند. در کارکرد دوّم، تلاش می‌کند که منابع موجود با ساز و کارهای مشخص، به صورت عادلانه بین برنامه‌ها تقسیم شوند. سیستم‌عامل نسبت به برنامه‌های کاربردی، در لایه‌ی نزدیک‌تری به سخت‌افزار قرار دارد و در واقع برنامه‌های کاربردی برای اجرا شدن و دسترسی به سخت‌افزار، محتاج سیستم‌عامل هستند. شکل 4، محل قرارگیری سیستم‌عامل را در یک ساختار لایه‌ای نشان می‌دهد.
  • برنامه‌های کاربردی، برنامه‌هایی هستند که کار ویژه و مفیدی برای کاربر یا کامپیوتر انجام می‌دهند. برنامه‌های کاربردی را می‌توان به سه دسته‌ی عمومی (یا Package یا shrink-wrapped)، سودمند (Utility) و سفارشی (Customized) تقسیم نمود. برنامه‌های عمومی مثل برنامه‌های پردازشگر متن که برای همه کاربران قابل استفاده هستند. در برخی منابع، پکیج را بسته‌ای از نرم‌افزارها برای کاربردی مشخص تعریف می‌کنند (Suite). مثلاً مجموعه نرم‌افزارهای Office که برای کارهای اداری استفاده می‌شوند. برنامه‌های سودمند، برنامه‌هایی هستند که روی نحوه‌ی عملکرد زیرساخت‌های نرم‌افزاری، سخت‌افزاری و سیستمی تمرکز می‌کنند تا قابلیت آنها را افزایش دهند. مثل برنامه‌های ویرایش رجیستری. برنامه‌های سفارشی (یا Tailor made)، برنامه‌هایی هستند که توسط فرد یا شرکت خاصی به برنامه‌نویس سفارش داده می‌شوند (مثل برنامه‌هایی که در بیمارستان‌ها یا داروخانه‌ها یا کارخانه‌ی سازندگان ماشین و … برای انجام امور مرتبط، استفاده می‌شوند).

سیستم‌های ‌عامل معروف

  • DOS (Disk Operating System) محصول شرکت مایکروسافت که یک سیستم‌عامل صرفاً «متنی» و فاقد واسط گرافیکی بود. این سیستم‌عامل تقریباً منسوخ شده است.
  • Windows نیز محصول شرکت مایکروسافت است و نسخه‌های متعددی از آن نظیر 95، 98، XP، Vista، Seven (7)و Eight (8)و نسخه‌های Serverعرضه شده‌اند.
  • Unix/Unix Like با زبان‌های اسمبلی، B و C نوشته شده‌اند.
  • BSD (Berkeley Software Distribution) شامل FreeBSD و OpenBSD و NetBSD که ریشه‌اش بر اساس UNIX است. غالباً برای شبکه‌ها و سرورها استفاده می‌شود.
  • Mac OS X محصول شرکت Apple که برای کامپیوترهای مکینتاش شرکت خود ایجاد نموده و نسخه‌های ابتدایی آن هم مبتنی بر یونیکس است.
  • Linux سیستم‌عامل شناخته شده و رایگان است و نسخه‌های متنوعی از آن ساخته شده‌اند.
  • Solaris که شرکت Sun Microcomputers به منظور استفاده برای کامپیوترهای شرکت خود ایجاد نمود. امروزه در برخی موسسات علمی و تجاری مورد استفاده است.
  • واسط کاربر (UI)، واسطی است میان کاربر و وسایل الکترونیکی (سخت‌افزار) و باعث می‌شود که کاربران به صورت انعطاف‌پذیر با کامپیوتر ارتباط داشته باشند. واسط گرافیکی کاربر، چنان‌که از نامش پیداست، یک واسط کاربری از نوع گرافیکی است؛ به این واسط، گرافیکی می‌گویند چون از شکل‌ها، رنگ‌ها، آیکون‌ها و متن‌ها برای انتقال اطلاعات استفاده می‌کند. در مقابل، برخی سیستم‌های عامل نظیر DOS، فقط واسط کاربری متنی (غیرگرافیکی) دارند.

دسته‌بندی برخی نرم‌افزارهای کاربردی

  • Word processing: Microsoft Word and Corel Word Perfect
  • Spreadsheet software is used to carry out financial, engineering, and other Microsoft Excel and Lotus 1-2-3 are examples of spreadsheet software.
  • Database software is used to store information such as sales, customer addresses, and inventory for future use. Microsoft Access and Borland dBASE are examples of data access software.
  • Presentation software is used to create slide shows and other speakers’ Microsoft PowerPoint is an example of presentation software.
  • Web browsing software is used to view the contents of Web Microsoft Internet Explorer and Mozilla Firebird are examples of Web browsing software.
  • Desktop publishing software is used to create newsletters, magazines, and other documents suitable for Microsoft Publisher is an example of desktop publishing software.
  • Email software is used to send, receive, and store electronic Microsoft Outlook and Outlook Express are examples of email software.
  • Accounting software is used to track credits, debits, and other accounting Intuit Quicken and Microsoft Money are examples of accounting software.
  • Multimedia Software Allows users to create image, audio, video etc. Example: Real Player, Media Player etc.

فرایند تولید نرم‌افزار: مدل‌های مختلفی برای تولید نرم‌افزار ارائه شده‌اند. با این حال، 4 فاز کلی و اساسی تولید نرم‌افزار عبارتند از: آنالیز، طراحی، برنامه‌نویسی (و پیاده‌سازی)، تست.

1- آنالیز: در این فاز، سازندگان نرم‌افزار، راجع به امکان ایجاد نرم‌افزار و کارکردهای نرم‌افزار مورد نظر، بحث و بررسی می‌کنند تا بتوانند نیازها و خواسته‌های کاربران را برطرف کنند.

2- طراحی: در این فاز، طراحان نرم‌افزار یک طرح و شمای کلی از نرم‌افزار می‌سازند. این طراحی بر اساس آنالیزهای صورت گرفته در فاز قبلی صورت گرفته و راه‌حل مناسب برای ایجاد نرم‌افزار ارائه می‌دهد.

3- ایجاد و پیاده‌سازی: در این مرحله، به کمک یکی از زبان‌های برنامه‌نویسی، بر اساس طرح، کد نرم‌افزار نوشته و پیاده‌سازی می‌شود.

4- تست: در این فاز، طراحان و کاربران مطمئن می‌شوند که نیازها و ویژگی‌های مورد نظر (با توجه به فاز 1) به طور کامل برآورده شده‌اند. فاز تست معمولاً در دو مرحله انجام می‌شود. در مرحله اوّل (Alpha) عملیات تست در میان برنامه‌نویسان و دست‌اندر کاران شرکت برنامه‌نویس (برای شناسایی مشکلات و باگ‌های برنامه) صورت می‌گیرد. مرحله دوّم، طیف وسیع‌تری از افراد را تشکیل می‌دهد که یا شامل افراد خاص و دعوت شده (Closed Beta) هستند و یا محدودیتی در نوع و تعداد کاربران وجود ندارد (Open Beta). پس از تست نهایی و رفع تمامی ایرادهای مشخص شده، نسخه‌ی نهایی برنامه ارائه (Release) می‌شود. تغییر نسخه (Version)های مختلف یه نرم‌افزار با یک مثال در زیر بیان شده است.

جدول 7 تغییر نسخه (Version)های مختلف یه نرم‌افزار
نسخه‌ی اولیه

1.2.3

نسخه‌ی 1.2.4 نسخه‌ی  1.3 نسخه‌ی  2.0
برطرف کردن باگهاافزودن ویژگی‌های جزئی جدید و بهبود عملکردافزودن ویژگی‌های کلی جدید و عمده و بهبود عملکرد

بیشتر بخوانید:

فناوری اطلاعات و ارتباطات (قسمت اول)

فناوری اطلاعات و ارتباطات (قسمت دوم)-سخت افزار ۱

فناوری اطلاعات و ارتباطات (قسمت سوم)-سخت افزار ۲

فناوری اطلاعات و ارتباطات (قسمت چهارم)- نرم افزار

فناوری اطلاعات و ارتباطات (قسمت پنجم)-شبکه‌های کامپیوتری و اینترنت

فناوری اطلاعات و ارتباطات (قسمت ششم)-کاربردهای ICT

فناوری اطلاعات و ارتباطات (قسمت هفتم)-سلامت در ICT و حفظ محیط زیست

فناوری اطلاعات و ارتباطات (قسمت هشتم)-امنیت و حریم خصوصی