بهکاراندازی نرمافزار
توسعه نرمافزار |
---|
بهکاراندازی نرمافزار[۱] یا استقرار نرمافزار به تمامی فعالیتهایی که یک نرمافزار را برای استفاده آماده میکند گفته میشود تا درنهایت نرمافزار راهاندازی شود.
فرایند بهکاراندازی عمومی شامل چندین فعالیت مرتبط به یکدیگر و تغییرات احتمالی بین آنها میباشد. این فعالیتها میتوانند از طرف توسعهدهنده نرمافزار، از طرف کاربر یا از طرف هر دوی آنها صورت پذیرند. از آنجا که هر سیستم نرمافزاری منحصر به فرد است، فرایندهای دقیق یا الگوریتمهای درونی هر فعالیت به سختی میتوانند تعریف شوند؛ بنابراین «بهکاراندازی» باید به عنوان یک فرایند کلی تفسیر شود که باید مطابق با الزامات خاص یا مشخصات آن سفارشی شود.[۲]
تاریخچه
[ویرایش]هنگامی که کامپیوترها بسیار بزرگ، گرانقیمت و حجیم (پردازندههای مرکزی و رایانههای کوچک) بودند، نرمافزارها توسط تولیدکنندگان همراه با سختافزارها ارائه میشدند. اگر نیاز بود یک نرمافزار تجاری روی کامپیوتری نصب شود، ممکن بود بسیار هزینه بر و وقت گیرباشد، با توجه به بهکارگیری یک مشاور یا معمار سیستم. برای مثال: نصب و راه اندازی نرمافزار سازمانی در محل کار در دوران فعلی.
با این وجود، با گسترش فروشگاههای اینترنتی در عصر جدید برای رایانههای کوچک در دهه ۱۹۸۰ شکلهای جدیدی از توزیع نرمافزارها عرضه شد، در ابتدا توسط رام کارتریجها، سپس نوار کاستها، سپس فلاپیدیسکها و بعد از آن (در دهه ۱۹۹۰ و بعد از آن) لوحهای نوری، اینترنت و فلش. و این بدین معنی بود که نصب و راه اندازی نرمافزار میتوانست توسط خود مشتری انجام شود. به هر حال این امر در طول زمان بهطور فزاینده ای شناخته شده بود که قابلیت تنظیم نرمافزار توسط کاربر بسیار مهم است؛ و این باید به صورت ایدئال با یک کاربری مناسب انجام میشد. (برای مثال نیاز به تغییر ریجیستری ویندوز توسط کاربر).[۳]
در بهکاراندازیهای نرمافزاری قبل از اینترنت، بهکاراندازیها (و عملیات مربوط نزدیک به آن) از امور ضروری پر هزینه، نادر و حجیم بودند. بنابر این قابل بحث است که با گسترش اینترنت، پایان دادن به توسعه سریع نرمافزار امکانپذیر میشود. در واقع ظهور محاسبات ابری و نرمافزاری به عنوان یک سرویس به این معنی است که نرمافزارها میتوانند در بستر اینترنت به تعداد زیادی از کاربران در عرض چند دقیقه عرضه شوند. این همچنین به این معناست که بهطور معمول، برنامهریزیهای بهکاراندازی در حال حاضر توسط تأمینکننده نرمافزار تعیین میشود و نه توسط کاربران. چنین انعطافپذیری منجر به افزایش تحویل پیوسته به عنوان یک گزینه در دسترس بهطور ویژه برای برنامههای کاربری تحت وب با خطر ریسک کم میباشد.
فعالیتهای بهکاراندازی
[ویرایش]انتشار
[ویرایش]انتشار بر پایه فرایند توسعه نرمافزار تکمیل شدهاست وگاهی اوقات به عنوان بخشی از فرایند توسعه به جای فرایند بهکاراندازی طبقهبندی میشود؛ و شامل عملیات آمادهسازی برای مونتاژ و انتقال به سیسنمهای کامپیوتری میباشد.
نصب و فعال سازی
[ویرایش]در سیستمهای ساده، نصب شامل ایجاد نوع فرمان (رایانش)، میانبر، اسکریپت یا سرویس برای اجرای نرمافزار (به صورت دستی یا خودکار) میباشد. در سیستمهای پیچیدهتر ممکن است نصب شامل پیکربندی سیستم (احتمالاً با سؤال نهایی از کاربران دربارهٔ استفاده مورد نظر آنها یا بهطور مستقیم دربارهٔ پیکربندی سیستم از آنها سؤال شود) و ساخت زیر سیستمهای مورد نیاز برای استفاده باشد.
غیرفعال سازی
[ویرایش]غیرفعال سازی عملکردی برعکس فعال سازی دارد و اشاره به خاموش کردن هر جزء در حال اجرای سیستم را دارد.
حذف نصب
[ویرایش]حذف نصب عملکردی خلاف نصب دارد و اشاره به حذف سیستم یا نرمافزاری دارد که دیگر لازم نیست.
به روز رسانی
[ویرایش]فرایند به روزرسانی، تمام یا قسمتی از آخرین نسخه منتشر شده یک نرمافزار سیستم را جایگزین آن میکند. این فرایند معمولاً شامل غیرفعال سازی و نصب مجدد میباشد. در سیستمهایی مانند لینوکس، با استفاده مدیریت بسته سیستم نسخههای قدیمی نرمافزار بهطور خودکار به عنوان بخشی از این فرایند حذف میشوند.
به روز رسانی خودکار
[ویرایش]مکانیسمهایی برای نصب به روز رسانی در برخی سیستمها (یا در برخی سیستم عاملها مانند لینوکس، اندروید و iOS)ساخته شدهاست. مکانیسمهایی از این قرآیندهای به روز رسانی کاملاً خودکار به کاربران ارائه شدهاست.Norton Internet Security نمونه ای از یک سیستم نیمه اتوماتیک برای بازیابی و نصب بروز رسانیها میباشد.
ردیابی نسخه روت
[ویرایش]سازگاری
[ویرایش]قوانین بهکاراندازی
[ویرایش]پیچیدگی و تنوع محصولات نرمافزاری باعث افزایش نقش تخصصی قوانین برای هماهنگی و مهندسی فرایند بهکاراندازی میشود. در نرمافزارهای دستکتاپ کاربران نهایی نیز هنگامی که یک بسته نرمافزاری را روی دستگاه خود نصب میکنند، به یک توسعه دهنده نرمافزار تبدیل میشوند. قوانین مورد بحث در گسترش نرمافزار برای برنامههای سازمانی شامل موارد زیر هستند:
- در محیطهای پیش تولید:
- توسعه دهندگان نرمافزار: فرایند توسعه نرمافزار را ببینید
- مهندسی ساخت و انتشار: مهندسی انتشار را ببینید
- مدیریت انتشار:مدیریت انتشار را ببینید
- هماهنگکننده نصب: DevOps را ببینید
- در محیطهای تولید
- مدیر سیستم
- مدیر پایگاه داده
- هماهنگکننده انتشار: DevOps را ببینید
- مدیر پروژه عملیاتی:کتابخانه زیربنایی فناوری اطلاعات را ببینید
جستارهای وابسته
[ویرایش]- مدیریت چرخه حیات نرمافزار
- مدیریت چرخه تولید
- مدیریت سیستم
- بهکاراندازی سیستم
- چرخه حیات نرمافزار
- مدیریت انتشار
- مرابخوان
- Definitive Media Library
منابع
[ویرایش]- ↑ «بهکاراندازی نرمافزار» [رایانه و فناوری اطلاعات] همارزِ «software deployment»؛ منبع: گروه واژهگزینی. جواد میرشکاری، ویراستار. دفتر پنجم. فرهنگ واژههای مصوب فرهنگستان. تهران: انتشارات فرهنگستان زبان و ادب فارسی. شابک ۹۷۸-۹۶۴-۷۵۳۱-۷۶-۴ (ذیل سرواژهٔ بهکاراندازی نرمافزار)
- ↑ Roger S. Pressman Software engineering: a practitioner's approach (eighth edition)
- ↑ Rees-Carter, Stephen (13 ژوئیه 2018). "How to Install and Configure Ansible on Ubuntu 18.04". DigitalOcean. Archived from the original on 9 June 2019. Retrieved 8 June 2019.
Configuration management systems are designed to make controlling large numbers of servers easy for administrators and operations teams. They allow you to control many different systems in an automated way from one central location.
حوزهها | |||||||
---|---|---|---|---|---|---|---|
مفاهیم | مدلسازی داده • معماری سازمانی • مشخصات کاربردی • زبان مدلسازی • پارادایم برنامهنویسی • نرمافزار • معماری نرمافزار • فرایند توسعه نرمافزار • فرایند تولید نرمافزار • کیفیت نرمافزار • تضمین کیفیت نرمافزار • Software archaeology • تحلیل ساختمند | ||||||
گرایشات | |||||||
مدلها |
| ||||||
مهندسان نرمافزار سرشناس |
| ||||||
حوزههای مرتبط | |||||||
Note: This template roughly follows the 2012 ACM Computing Classification System. | |
سختافزار | |
سازمان سامانههای رایانه | |
شبکه رایانهای | |
سازمان نرمافزار | |
نظریه زبانهای برنامهنویسی و ابزار توسعه نرمافزار | |
توسعه نرمافزار | |
نظریه محاسبات | |
الگوریتمها | |
ریاضیات رایانه | |
سامانه اطلاعاتی | |
امنیت رایانه | |
تعامل انسان و رایانه | |
همروندی | |
هوش مصنوعی | |
یادگیری ماشین | |
گرافیک رایانهای | |
رایانش کاربردی | |
توجه: بنا بر سامانه ردهبندی رایانش ایسیام علم رایانه همچنین میتواند به موضوعها یا زمینههای گوناگون تقسیم شود.
|
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.