Moein TN
Registered User
- تاریخ عضویت
- 26 اکتبر 2017
- نوشتهها
- 340
- لایکها
- 52
- سن
- 26
نرمافزار رایانه یا نرمافزار بخشی از رایانه است که دربرگیرنده دادهها یا دستورهای کامپیوتر است (بر خلاف سختافزار که اجزای تشکیل دهنده کامپیوتر را میسازد). در دانش رایانه و مهندسی نرمافزار تمام اطلاعات فراوری شده بهوسیله سیستم کامپیوتر، برنامهها و دادهها را نرمافزار مینامند.[۱]
محتویات
[۱دو گروه کلی نرمافزارها
دو گروه کلی نرمافزارها[ویرایش]
نرمافزار رایانه دو دسته است:
نرمافزارهای کاربردی، برنامههای مورد استفاده کاربرند و نرمافزارهای سیستمی، مدیریت رایانه را برعهده دارند. مهمترین نرمافزار سیستم، سیستمعامل است.
سیستم عامل[ویرایش]
وقتی برنامهای روی رایانه نصب میگردد، بعضی از اجزای سختافزاری رایانه به فرمان آن برنامه در میآیند. برای نمونه هنگامی که با یک برنامه اجرای موسیقی کار میکنید، کارت صدای رایانه با برنامه پخش موسیقی همکاری میکند و یک آهنگ یا پرونده (فایل) صوتی را از طریق بلندگوی رایانه پخش میکند.
ارتباط میان نرمافزار و سختافزار توسط سیستم عامل انجام میشود. این تنها قسمتی از کار سیستم عامل است.
سیستم عامل یک برنامه نرمافزاری است که چون تمام منابع و امکانات سختافزاری در اختیار وی میباشد دارای ویژگی منحصر به فردی میباشد بنابراین آن را در رده نرمافزارهای سطح پایین (زبان ماشین) میخوانیم با این ویژگی که از اهمیت خاصی برخوردار است. به بیان دیگر سیستم عامل یک برنامه جامع است که اجازه در اختیار قراردادن منابع و امکانات سختافزاری را برای نرمافزارها صادر میکند و این سیستم عامل است که مسئول صحت عملکرد سیستم و منابع آن است.
سیستم عامل شامل ۴ بخش مهم است:
از دیدگاه ساختاری (معماری)، نرمافزارها به دستههای زیر تقسیم میشوند:
جستارهای وابسته[ویرایش]
منابع[ویرایش]
مهندسی نرمافزار
حوزهها
تحلیل نیازمندیها • تحلیل سامانهها • طراحی نرمافزار • برنامهنویسی • روشهای صوری • وارسی مدل • تست نرمافزار • توسعه نرمافزار • گسترش نرمافزار • نگهداری نرمافزار
مفاهیم
مدلسازی داده • معماری سازمانی • مشخصات کاربردی • Modeling language • پارادایم برنامهنویسی • معماری نرمافزار • فرایند توسعه نرمافزار • فرایند تولید نرمافزار • کیفیت نرمافزار • تضمین کیفیت نرمافزار •Software archaeology • تحلیل ساختمند
گرایشات
مدل چابک • مدل طراحی جنبهگرا • شیءگرایی • آنتولوژی • سرویسگرایی • چرخه حیات توسعه سیستمها
مدلها
مدلهای توسعه
مدل چابک • آریوپی • اسکرام • مدل مارپیچی • مدل آبشاری • برنامهسازی مفرط • مدل وی • مدل تکراری و افزایشی • پیشنمونه
مدلهای دیگر
Automotive SPICE • CMMI • مدل داده • Function model • Information model • Metamodeling • مدل شیءگرایی • Systems model • View model
زبانهای مدل سازی
IDEF • زبان مدلسازی یکپارچه
مهندسان
نرمافزار سرشناس
محتویات
[۱دو گروه کلی نرمافزارها
دو گروه کلی نرمافزارها[ویرایش]
نرمافزار رایانه دو دسته است:
نرمافزارهای کاربردی، برنامههای مورد استفاده کاربرند و نرمافزارهای سیستمی، مدیریت رایانه را برعهده دارند. مهمترین نرمافزار سیستم، سیستمعامل است.
سیستم عامل[ویرایش]
وقتی برنامهای روی رایانه نصب میگردد، بعضی از اجزای سختافزاری رایانه به فرمان آن برنامه در میآیند. برای نمونه هنگامی که با یک برنامه اجرای موسیقی کار میکنید، کارت صدای رایانه با برنامه پخش موسیقی همکاری میکند و یک آهنگ یا پرونده (فایل) صوتی را از طریق بلندگوی رایانه پخش میکند.
ارتباط میان نرمافزار و سختافزار توسط سیستم عامل انجام میشود. این تنها قسمتی از کار سیستم عامل است.
سیستم عامل یک برنامه نرمافزاری است که چون تمام منابع و امکانات سختافزاری در اختیار وی میباشد دارای ویژگی منحصر به فردی میباشد بنابراین آن را در رده نرمافزارهای سطح پایین (زبان ماشین) میخوانیم با این ویژگی که از اهمیت خاصی برخوردار است. به بیان دیگر سیستم عامل یک برنامه جامع است که اجازه در اختیار قراردادن منابع و امکانات سختافزاری را برای نرمافزارها صادر میکند و این سیستم عامل است که مسئول صحت عملکرد سیستم و منابع آن است.
سیستم عامل شامل ۴ بخش مهم است:
- مدیریت پردازش و پردازشگر
- مدیریت حافظه
- مدیریت دستگاههای ورودی و خروجی (I/O)
- مدیریت فایل
از دیدگاه ساختاری (معماری)، نرمافزارها به دستههای زیر تقسیم میشوند:
- کاربر بنیان
- کارگزار بنیان
- کاربر کارگزار بنیان
جستارهای وابسته[ویرایش]
منابع[ویرایش]
- پرش به بالا↑ "System Software". The University of Mississippi. Archived from the original on 2001-05-30.
مهندسی نرمافزار
حوزهها
تحلیل نیازمندیها • تحلیل سامانهها • طراحی نرمافزار • برنامهنویسی • روشهای صوری • وارسی مدل • تست نرمافزار • توسعه نرمافزار • گسترش نرمافزار • نگهداری نرمافزار
مفاهیم
مدلسازی داده • معماری سازمانی • مشخصات کاربردی • Modeling language • پارادایم برنامهنویسی • معماری نرمافزار • فرایند توسعه نرمافزار • فرایند تولید نرمافزار • کیفیت نرمافزار • تضمین کیفیت نرمافزار •Software archaeology • تحلیل ساختمند
گرایشات
مدل چابک • مدل طراحی جنبهگرا • شیءگرایی • آنتولوژی • سرویسگرایی • چرخه حیات توسعه سیستمها
مدلها
مدلهای توسعه
مدل چابک • آریوپی • اسکرام • مدل مارپیچی • مدل آبشاری • برنامهسازی مفرط • مدل وی • مدل تکراری و افزایشی • پیشنمونه
مدلهای دیگر
Automotive SPICE • CMMI • مدل داده • Function model • Information model • Metamodeling • مدل شیءگرایی • Systems model • View model
زبانهای مدل سازی
IDEF • زبان مدلسازی یکپارچه
مهندسان
نرمافزار سرشناس
- ویکتور باسیلی
- کنت بک
- گریدی بوچ
- فردریک بروکز
- Barry Boehm
- وارد کانینگهام
- تام دی ماکرو
- ادسخر دیکسترا
- مارتین فولر
- تونی هور
- واتس هامفری
- مایکل ای. جکسون
- ایوار جاکوبسون
- Stephen J. Mellor
- برترند میر
- دیوید پارناس
- وینستون واکر رویس
- جیمز رامبا
- نیکلاوس ویرت
- Edward Yourdon
- Mohamed Fayad