سمینار
کاربرد فناوری بلاک چین در توسعه چابک نرم افزار
چکیده
هنگام توسعه پروژههای نرمافزاری، تغییر اجتناب ناپذیر است و به دلایل مختلفی رخ میدهد. گاهی فناوری مورد استفاده برای توسعه منسوخ میشود، گاهی شرکتها ادغام میشوند و یا حتی امکانات جدیدی به دست میآورند. گاهی هم چشماندازهای رقابتی تغییر میکنند و یا حتی اعضای تیم پروژه را ترک میکنند. به عبارت دیگر تنها اصل قطعی در این پروژهها، همین تغییرات مداوم و پیدرپی است؛ این امر موجب میشود فرایند توسعه، فرایندی بسیار پر ریسک شده و یک نیاز قوی برای امکان تغییر در برنامهها، دریافت بازخورد از مشتریان و بهبود مستمر ایجاد شود. برای مدیریت این چالشها، توسعه دهندگان نرمافزار باید بسیار خلاق باشند و دانش بالایی داشته باشند. آنها نمیتوانند به طور کامل به برنامهریزیها و پیشبینیهای قبلی تکیه کنند و مطابق چک لیستها و فرایندهایی که توسط افراد دیگری تنظیم شدهاند، پایبند بمانند. توسعه نرمافزار یک روند تجربی است که بر تجربیات واقعی و حقایق متکی است و توسعه دهندگان از آن استفاده میکنند تا به طور مداوم طرحهایشان را تغییر دهند و بهبود ببخشند. یکی از روشهای پاسخگویی سریع به خواستههای مشتریان طی چند سال اخیر استفاده از روشهای زودبازده یا چابک میباشد. ادغام فناوری بلاک چین در حوزههای مختلف، از جمله توسعه نرمافزار، هم فرصتها و هم چالشهایی را ارائه کرده است. سیستمهای توصیه کننده مبتنی بر بلاک چین به عنوان یک استراتژی امیدوارکننده برای ارتقای امنیت و حفظ حریم خصوصی ظاهر شدهاند. با این حال، این سیستمها با چالشهای مربوط به امنیت، حریم خصوصی و نیاز به امنیت رمزنگاری برای محافظت از اطلاعات خصوصی کاربران مواجه هستند. این تحقیق اهمیت پرداختن به این چالشها را برای اطمینان از استفاده مؤثر و اخلاقی از فناوری بلاک چین برجسته کرده است.
کلمات کلیدی: توسعه نرم افزار، چابکی، بلاک چین
فصل اول: کلیات تحقیق
1-1- بیان مسئله
2-1- ضرورت تحقیق
3-1- سؤالات تحقیق
4-1- اهداف تحقیق
5-1- نوآوری تحقیق
6-1- ساختار تحقیق
فصل دوم: پیشینه تحقیق
1-2- مقدمه
2-2- توسعه نرم افزار
2-2-2- فرآیند توسعه نرم افزار
3-2-2- تعامل انسان و کامپیوتر در توسعه نرم افزار
4-2-2- پیشینه توسعه نرم افزار
5-2-2- مدلهای توسعه مهندسی نرمافزار
1-5-2-2- مدل توسعه نرم افزار آبشاری (Waterfall Model)
2-5-2-2- مدل توسعه نرم افزار وی (V-Model)
3-5-2-2- مدل تکراری و افزایشی (Iterative and Incremental Model)
4-5-2-2- مدل نمونهسازی یا پروتوتایپینگ (Prototyping Model)
5-5-2-2- مدل توسعه نرم افزار مارپیچ (Spiral Model)
6-2-2- مدل توسعه نرم افزار اجایل یا چابک (Agile Model)
1-6-2-2- مانیفست چابک
2-6-2-2- دوازده اصل چابک
3-6-2-2- بررسی برخی متدولوژیها یا چارچوبهای پرکاربرد چابک
4-6-2-2- پیشینه پژوهشهای انجام شده در زمینه توسعه چابک نرم افزار
3-2- فناوری بلاک چین
1-3-2- تاریخچه پیدایش بلاک چین
2-3-2- معماری بلاک چین
3-3-2- ویژگیهای کلیدی بلاک چین
4-3-2- انواع شبکههای بلاک چین
5-3-2- نحوه کار بلاک چین
6-3-2- مروری بر چند تحقیق دیگر انجام شده در زمینه بلاک چین
فصل سوم: تأثیر فناوری بلاک چین در توسعه نرم افزار
1-3- مقدمه
2-3- بلاک چین در توسعه نرم افزار
1-2-3- کاربردهای بلاک چین در توسعه نرم افزار
2-2-3- بلاک چین برای مدیریت پروژه و همکاری
3-3- بلاک چین و متدولوژی چابک
1-3-3- ادغام بلاک چین با روشهای چابک
2-3-3- تأثیر بر یکپارچه سازی و استقرار مداوم
3-3-3- ردیابی پروژه چابک با بلاک چین
4-3-3- روندهای نوظهور و جهت گیریهای آینده
1-4-3-3- بلاک چین و هوش مصنوعی در توسعه نرم افزار
2-4-3-3- نقش بلاک چین در DevOps
2-4-3-3- چشم انداز آینده و مسیرهای تحقیقاتی
3-4-3-3- ملاحظات اخلاقی و رعایت مقررات
5-3-3- مطالعات موردی
6-3-3- جمع بندی
فصل چهارم: بحث و نتیجه گیری
1-4- بحث
2-4- نتیجه گیری
منابع
فایل word+پاورپوینت ارائه
امروز توسعه نرم افزار، بخش بزرگی از بازار جهانی را به خود اختصاص داده است و تقاضا برای استخدام متخصصان این حوزه بیشتر و بیشتر میشود. توسعه نرم افزار فرآیند طراحی، ایجاد، آزمایش و نگهداری نرم افزارهای مختلف است. این شامل استفاده از اصول و تکنیکهای مختلف از علوم کامپیوتر، مهندسی و تجزیه و تحلیل ریاضی است. هدف توسعه نرم افزار ایجاد نرم افزار کارآمد، قابل اعتماد و آسان برای استفاده است. توسعه نرمافزار شامل مراحلیست که برنامهنویسان طی آن مراحل با بهکار گرفتن یک یا چند زبان برنامهنویسی برنامههای کامپیوتری را خلق میکنند. این برنامهها قرار است هدفهای شخصی یا شرکتی را برآورده کند. این توسعه مراحل گامهایی در دل خود دارد که به خلق نرمافزار میانجامد، یعنی فرایند خلق، طراحی، استقرار و پشتیبانی از نرمافزار. روشهای متعددی برای توسعه نرم افزار وجود دارند. تولید و توسعه صنایع نرم افزار بطور گسترده به روشهای سنتی و چابک طبقه بندی میشود. در مدلهای سنتی، یک فاز تست به صورت جداگانه بعد از پیاده سازی وجود دارد. این عمل در چابک، به طور همزمان با پیاده سازی انجام میشود. روش چابک روش جدیدی در توسعه نرم افزار میباشد. در توسعه چابک[1] نرمافزار یا توسعه نرمافزاری چابک گروهی از متدهای توسعه نرمافزار مبتنی بر تکرار و به شکل تدریجی است که در آنها، راهحلها از طریق خودسازماندهی و همکاری بین تیمهای مختلف کاری، انجام میشوند. تفکر چابک یک تفکر ناب در زمینه توسعه نرم افزار میباشد که خروجی و هدف آن ارائه نرم افزار کارآ میباشد. در تفکر چابک هزینه توسعه بدلیل ناب[2] بودن و تحلیل و طراحی سازگار پایین خواهد بود. در تفکر چابک بدلیل Iteration عمل کردن و ارتباط چهره به چهره دائم با مشتری و آزمایش یکپارچه شاهده محصول با کیفیت و کارآ خواهیم بود. به دلیل خودسازمانده بودن تیمها شاهد نفرات و تیمهای خوشحال و راضی خواهیم بود. و سازمان نیز بدلیل چابک بودن دارای سود بالایی خواهد بود. از طرفی مفهوم بلاک چین برای اولین بار توسط استوارت هابر و دبلیو اسکات استورنتتا در سال ۱۹۹۱ به عنوان زنجیرهای از بلوکهای امن از نظر رمزنگاری معرفی شد و با گذشت زمان جای خود را در میان پایگاهدادههای سراسر دنیا باز کرد. مالکان کسب و کارهای دیجیتال به فکر استفاده از این فناوری در جهت پیشرفت امور خود افتادند و در نهایت نیاز به استفاده از این فناوری در همه دنیا احساس شد. ادغام فناوری بلاک چین در حوزههای مختلف، از جمله توسعه نرمافزار، هم فرصتها و هم چالشهایی را ارائه کرده است. سیستمهای توصیه کننده مبتنی بر بلاک چین به عنوان یک استراتژی امیدوارکننده برای ارتقای امنیت و حفظ حریم خصوصی ظاهر شدهاند. با این حال، این سیستمها با چالشهای مربوط به امنیت، حریم خصوصی و نیاز به امنیت رمزنگاری برای محافظت از اطلاعات خصوصی کاربران مواجه هستند.
[1] Agile
[2] Lean
فایل word+پاورپوینت ارائه