نرم افزار به خودی خود مجموعه ای از دستورالعمل سایت های آموزش برنامه نویسی به کودکان ها یا برنامه هایی است که به کامپیوتر می گوید چه کاری انجام دهد. مستقل از سخت افزار است و کامپیوترها را قابل برنامه ریزی می کند. سه نوع اساسی وجود دارد:
نرم افزار سیستم برای ارائه عملکردهای اصلی مانند سیستم عامل ها، مدیریت دیسک، ابزارهای برقی، مدیریت سخت افزار و سایر نیازهای عملیاتی.
نرم افزار برنامه نویسی برای دادن ابزارهایی سایت های آموزش برنامه نویسی به کودکان مانند ویرایشگر متن، کامپایلر، لینک کننده، دیباگر و ابزارهای دیگر به برنامه نویسان برای ایجاد کد.
نرم افزار کاربردی (برنامه ها یا برنامه ها) برای کمک به کاربران در انجام وظایف. مجموعههای بهرهوری اداری، نرمافزار مدیریت داده، پخشکننده رسانه و برنامههای امنیتی نمونههایی هستند. برنامهها همچنین به برنامههای وب و تلفن همراه مانند برنامههایی که برای خرید در Amazon.com سایت های آموزش برنامه نویسی به کودکان ، معاشرت با فیسبوک یا ارسال تصاویر در اینستاگرام استفاده میشوند، اشاره دارد.
نوع چهارم احتمالی نرم افزار تعبیه شده است. نرمافزار سیستمهای جاسازی شده برای کنترل ماشینها و دستگاههایی استفاده میشود که معمولاً رایانه در نظر گرفته نمیشوند - شبکههای مخابراتی، اتومبیلها، روباتهای صنعتی و غیره. این دستگاه ها و نرم افزار آنها را می توان به عنوان بخشی از اینترنت اشیا (IoT) متصل کرد
توسعه نرم افزار در درجه اول توسط برنامه نویسان، سایت های آموزش برنامه نویسی به کودکان مهندسان نرم افزار و توسعه دهندگان نرم افزار انجام می شود. این نقشها با هم تعامل دارند و همپوشانی دارند، و پویایی بین آنها در بخشهای توسعه و جوامع بسیار متفاوت است.
برنامهنویسها یا کدنویسها، کد منبع را برای برنامهنویسی رایانهها برای کارهای خاص مانند ادغام پایگاههای داده، پردازش سفارشهای آنلاین، مسیریابی ارتباطات، انجام جستجوها، یا نمایش متن و گرافیک مینویسند. برنامه نویسان معمولا دستورالعمل های توسعه دهندگان و مهندسان نرم افزار را تفسیر می کنند و از زبان های برنامه نویسی مانند C++ یا جاوا برای اجرای آنها استفاده می کنند.
مهندسان نرم افزار اصول مهندسی را برای ساختن سایت های آموزش برنامه نویسی به کودکان نرم افزار و سیستم ها برای حل مشکلات به کار می گیرند. آنها از زبان مدلسازی و ابزارهای دیگر برای ابداع راهحلهایی استفاده میکنند که اغلب میتوانند برای مشکلات بهصورت کلی به کار روند، در مقابل حل صرفاً برای یک نمونه یا مشتری خاص. راه حل های مهندسی نرم افزار به روش علمی پایبند هستند و باید در دنیای واقعی مانند پل ها یا آسانسورها کار کنند. مسئولیت آنها افزایش یافته است زیرا محصولات با افزودن ریزپردازنده ها، حسگرها و نرم افزارها به طور فزاینده ای هوشمند شده اند. نه تنها محصولات بیشتری برای تمایز بازار به نرم افزار متکی هستند، بلکه توسعه نرم افزار آنها باید با کار توسعه مکانیکی و الکتریکی محصول هماهنگ شود.
توسعهدهندگان نرمافزار نقش رسمی کمتری نسبت به مهندسان دارند و میتوانند از نزدیک با حوزههای پروژه خاص - از جمله نوشتن کد - درگیر باشند. در عین حال، آنها چرخه عمر کلی توسعه نرمافزار را هدایت میکنند - از جمله کار در تیمهای عملکردی برای تبدیل نیازمندیها به ویژگیها، مدیریت تیمها سایت های آموزش برنامه نویسی به کودکان و فرآیندهای توسعه، و انجام تست و نگهداری نرمافزار.
کار توسعه نرم افزار به کدنویس ها یا تیم های توسعه محدود نمی شود. افراد حرفهای مانند دانشمندان، سازندگان دستگاهها و سازندگان سختافزار نیز کد نرمافزاری را ایجاد میکنند، حتی اگر در درجه اول توسعهدهنده نرمافزار نیستند. همچنین محدود به صنایع سنتی فناوری اطلاعات مانند تجارت نرم افزار یا نیمه هادی نیست. در واقع، طبق گفته موسسه بروکینگز (پیوند در خارج از ibm.com قرار دارد)، این مشاغل "کمتر از نیمی از شرکت هایی را تشکیل می دهند که توسعه نرم افزار را انجام می دهند."
یک تمایز مهم، توسعه نرم افزار سفارشی در مقابل توسعه سایت های آموزش برنامه نویسی به کودکان نرم افزار تجاری است. توسعه نرم افزار سفارشی فرآیند طراحی، ایجاد، استقرار و نگهداری نرم افزار برای مجموعه خاصی از کاربران، عملکردها یا سازمان ها است. در مقابل، نرم افزار تجاری خارج از قفسه (COTS) برای مجموعه وسیعی از نیازمندی ها طراحی شده است که به آن اجازه می دهد بسته بندی و به صورت تجاری به بازار عرضه و توزیع شود.
راهنما
دستیابی به انعطاف پذیری در محل کار با DaaS
ببینید چگونه دسکتاپ به عنوان یک سرویس (DaaS) شرکت ها را قادر می سازد تا به همان سطح عملکرد و امنیت دست یابند که برنامه های کاربردی را در محل استقرار می دهند.
مطالب مرتبط
برای راهنمای ابر هیبریدی ثبت نام کنید
مراحل فرآیند توسعه نرم افزار
توسعه نرم افزار معمولاً شامل مراحل زیر است:
انتخاب یک روش برای ایجاد چارچوبی که در آن مراحل توسعه نرم افزار اعمال می شود. این یک فرآیند کلی کار یا نقشه راه برای پروژه را توصیف می کند. متدولوژی ها می توانند شامل توسعه Agile، DevOps، Rapid Application Development (RAD)، Scaled Agile Framework (SAFe)، Waterfall و غیره باشند.
جمع آوری الزامات برای درک و مستندسازی آنچه مورد نیاز کاربران و سایر ذینفعان است.
انتخاب یا ساختن یک معماری به عنوان ساختار زیربنایی که نرم افزار در آن عمل خواهد کرد.
توسعه طرحی حول راهحلهایی برای مشکلات Programming teaching sites for children ارائهشده توسط نیازمندیها، که اغلب شامل مدلهای فرآیند و استوریبردها میشود.
ساخت مدل با m