استفاده مجدد اجزا نرم افزار در جهت بهبود ویژگی ها (مقاله ترجمه شده)

چکیدهما سیستم های یکپارچه نرم افزار و سخت افزاری قطعات با طول عمر اعم از 10-15 سال را توسعه می دهیم. در طول عمر این سیستم ها، نیازهای بازار به طور قابل توجهی با توجه به پیشرفت های تکنولوژیکی، نیازهای زیست محیطی، و اولویتهای فرهنگی تغییر کرده است. هزینه تغییر نرم افزار و سخت افزار یک محرک بسیار بزرگ است که اغلب منجر به معرفی تغییری می شود که در نتیجه منجر به معرفی تغییر در نرم افزار برای روبه رو شدن با تکامل انتظارات بازار خواهد شد. بزرگترین مزیت نرم افزار-، سازگاری آسان – است و همچنین بزرگترین نقطه ضعف آن، متعد بودن برای تغییر است. از این رو، طراحی نرم افزار به ویژه در توسعه نرم افزار در سطح جهانی (GDSD) بسیار چالش برانگیز است. در این مقاله تمرینی، ما رویکردمان را از اعمال نفوذ محدودیت های معماری نرم افزار و چالش مواجه شده به همراه درس های آموخته شده را به اشتراک میگذاریم، استفاده مجدد نرم افزار در هنگام اضافه کردن و بهبود ویژگی ها هم باعث کاهش هزینه های کلی و هم باعث کاهش زمان برای رسیدن محصول به بازار برای یک تیم گسترش نرم افزار توزیع شده خواهد بود.سیستم های یکپارچه ای که ما به طور مستمر در حال توسعه آن ها هستیم در حال فشرده سازی نرم افزار بیشتر هستند، در حالی که در گذشته آنها فشرده تر بود. علاوه بر این، پس از چند سال، سیستم ما در حال تحول است و همچنین در حال رشد در هر دو بعد اندازه و پیچیدگی می باشد. مقدمهبه طور معمول طول عمر سیستم های یکپارچه ما در محدوده 10-15 سال است. در طول عمر خود یک سیستم از چهار مرحله مختلف (1) مقدمه (2) رشد، (3) بلوغ، و (4) کاهش عبور خواهد کرد.نیازهای بازار برای سیستم های یکپارچه در حال تغییر قابل توجهی به دلیل پیشرفت های زیست محیطی، فرهنگی، و فن آوری است. هزینه تغییر یک سیستم یکپارچه بستگی به مرحله چرخه عمر آن دارد. فاز رشد برای محصولات ما مهم و چالش برانگیز است و دو دلیل دارد: 1) این محصول در حضور رقابت تشدید باید با نیاز بازار پیش برود و ویژگی های یک محصول جدید نیز به آن اضافه شود. 2) محصول تحت یک انتقال با توجه به جریان زیاد نیاز به این محصول مورد نیاز است.چهار رکنما یک رویکرد با چهار رکن را برای استفاده از محدودیت های معماری برای نرم افزار استفاده مجدد طراحی کرده ایم در حالی که ویژگی هایی را افزودیم و یا اینکه آن ها را ارتقا دادیم. این چهار رکن عبارتند از: (A) تجزیه و تحلیل مهندسی مورد نیاز بر اساس همین دلیل در مقابل تجزیه و تحلیل (B) نوع، یک رویکرد کارآمد برای رسیدن بهترین گزینه مناسب طراحی (C) تصمیم گیری معماری های کلیدی و تجزیه و تحلیل موازنه برای استفاده مجدد موثر، (د) نرم افزار طرح استفاده مجدد از اجزاء.مهندسی مورد نیازبرای خط تولید مورد نیاز ما، مهندسی چالش برانگیز است و نیاز برنامه های مختلف تجزیه و تحلیل و نیاز پلت فرم نیز باید مرتفع شود. از سوی دیگر نیازهای مورد نیاز روشن و معتبر هستند و نیازمند یک پیش نیاز برای طراحی نرم افزار منظم و توسعه و بهبود اشتباهات در مراحل اولیه انتشار از طریق روند توسعه و حل آنها مشکلات بعدی هستند. معاملات فرآیند استخراج مورد نیاز با ابهام، غیررسمی بودن، ناقص و دارای تناقض بودن روبه رو می شوند، که در آن "دانش" از الزامات این مسئله است که روشن و واضح نیست [9]. نیازها می توانند به عنوان الزامات عملکردی (FRS) و نیازهای غیر کارکردی (NFRs)، به عنوان مثال به صورت قابلیت اطمینان، نگهداری، و عملکرد طبقه بندی شوند. این الزامات ورودی کلیدی برای طراحی معماری نرم افزار [10] می باشد. ما فرآیندهای مهندسی مورد نیاز استاندارد را که شامل (1) استخراج مورد نیاز ، (2) تجزیه و تحلیل مورد نیاز، (3) مشخصات مورد نیاز و (4) اعتبار مورد نیاز است و آن ها را شامل می شود را دنبال می کنیم.چالش هاما چهار رکن را هنگامی اضافه کردیم که ما به مجبور به اضافه کردن قابلیت های قابل توجه به پلت فرم خط تولید و چالش های مواجه شده زیر بودیم:خصوصیات مورد نیاز ناقص بود. مشخصات به طور عمده توسط راه حل های در محصولات موجود به وجود آمده بودند. جنبه های با کیفیت ویژه مانند عملکرد و قابلیت استفاده که در آن تحت پوشش نباشد. وجوه مشترک و تنوع بین دامنه های مختلف توسط پلت فرم خط تولید ما که به اندازه کافی شناخته شده نیستند، پشتیبانی شده است. درس های یاد گرفته شده• مهندسی مورد نیاز یک فرد محور فعالیت با تکرار بالا است. که با دانش بیشتر تکامل می یابد.• نیازها تمام ابعاد را ارزیابی و فیلتر کردند و در توافق با ذینفعان کلیدی باعث افزودن ارزش به خط تولید شدند.• معماری که باز به تغییر و تکامل برای هر محصول دارد برای همه مفید است. معماری ساده، قابل فهم و سازگار ذاتا برای تغییر باز است. انعطاف پذیری و پیچیدگی باید محدود به مواردی باشد که در آن یک نیاز های ثابت برای تنوع وجود دارد.• در هر مرحله در روند طراحی معماری و پیاده سازی باید اجازه داده شود تا در صورت نیاز به مراحل قبلی برای رفتن به الزامات مورد نیاز برای تجدید نظر راهی باز شود.• مستندات گذشته و تصمیم گیری های طراحی فعلی نیز می تواند مفید باشد.• بازخورد استفاده زودرس ثابت برای کشف مسائل با داشتن یک راه حل تعریف شده با سیستم قدیمی بیش از حد نیز می تواند در ذهن مفید باشد.• تجزیه و تحلیل متغیر یک گام بسیار مهم است و ورودی برای تجزیه و تحلیل نوع آینده و جزء استفاده مجدد نیز باید مهم در نظر گرفته شود. نتایج برای درک و ارزیابی تصمیمات تاریخی هنگام ارزیابی شرایط جدید مورد نیاز است.• تجزیه و تحلیل معماری نه تنها در حفظ تعادل صفاتی کیفیت در زمان معماری ایجاد شده مهم است، بلکه باعث افزایش کمک به ارزش برای شرایط جدید و ارزیابی احتمالات برای جزء استفاده مجدد خواهد شد.• ارزیابی محتاطانه استفاده مجدد در برابر کیفیت مورد نیاز کسب و کار جدید باعث کمک برای ایجاد قابلیت استفاده مجدد نمونه و همچنین صرفه جویی در وقت و هزینه خواهد شد.• کامپوننت استفاده مجدد دارای مزایای متعدد مانند زمان ارائه به بازار، ثبات، learnability (کاهش تلاش های آموزشی) و به خصوص نگهداری خواهند شد، اما باید مراقبت شود تا از جزء استفاده مجدد در موارد به طور گسترده ای و موارد که غیر کاربردی و مهم نیستند نیز جلوگیری شود.این مقاله در سال 2016 در نشریه آی تریپل ای و در کنفرانس بین المللی مهندسی نرم افزار جهانی، توسط شرکت فناوری و خدمات زیمنس منتشر شده و در سایت ای ترجمه جهت دانلود ارائه شده است. در صورت نیاز به دانلود رایگان اصل مقاله انگلیسی و ترجمه آن می توانید به پست دانلود ترجمه مقاله استفاده مجدد اجزا نرم افزار در جهت بهبود ویژگی ها در سایت ای ترجمه مراجعه نمایید.