You are on page 1of 14

Software Engineering

Lecturer: Habibullah Nazari


Faculty of Computer Science
1
‫مهندسی نرم افزار بر اساس مولفه ها‬

‫▪ هدف‪ :‬یک فرآیند توسعه ای نرم افزار بر اساس ترکیب مولفه های استاندارد و قابل استفاده ای مجدد‬
‫است‪.‬‬
‫مهندسی نرم افزار بر اساس مولفه با توسعه ای مولفه های استاندارد بر اساس مدل مولفه و ترکیب این‬ ‫▪‬
‫ها در سیستم های کاربردی سروکار دارد‪.‬‬
‫معنای مولفه و مدل مولفه را درک کنید‪.‬‬ ‫▪‬
‫با فعالیت های اصلی در فرآیند ‪ CBSE‬آشنا شوید و درک کنید که چرا باید خواسته ها را ترکیب کنید تا‬ ‫▪‬
‫مولفه ها قابل استفاده ی مجدد باشند‪.‬‬
‫بعضی از مشکالتی را که در حین فرآیند ترکیب مولفه به وجود می آیند بشناسید‪.‬‬ ‫▪‬

‫‪2‬‬
‫مهندسی نرم افزار بر اساس مولفه ها ‪CBSE‬‬

‫▪ )‪CBSE (Component Base Software Engineering‬‬


‫▪ اولین بار در سال ‪1990‬مهندسی نرم افزار بر اساس مولفه به عنوان روشی برای توسعه سیستم های‬
‫سیستم های نرم افزار مطرح شد‪.‬‬
‫▪ برای سرعت بخشیدن به چرخه تولید نرم افزار و استفاده مجدد اجزا از روش مهندسی نرم افزار‬
‫براساس مولفه ها استفاده میشود‪.‬‬

‫‪3‬‬
‫‪CBSE‬‬

‫▪ مبانی مهندسی نرم افزار بر اساس مولفه ها‪:‬‬


‫مولفه های مستقل که کامال با واسط های خود مشخص می شوند‪ .‬پیاده سازی از روی مولفه بدون تغییر‬ ‫▪‬
‫سیستم بتواند با دیگری جایکزین شود‪.‬‬
‫استاندارد های مولفه که جامعیت مولفه ها را تسهیل میکند استاندارد ها در یک مدل مولفه مشخص کننده‬ ‫▪‬
‫واسط های مولفه و چگونگی ارتباط بین مولفه ها است‪ .‬در این صورت مولفه های مختلف که با هر زبان که‬
‫نوشته شده باشد بازهم بتواند باهم بدون مشکل ارتباط بر قرار کند‪.‬‬
‫میان افزار که پشتیبانی از جامعیت مولفه ها را فراهم میکند برای این که مولفه های مستقل و توزیع شده با‬ ‫▪‬
‫هم کار کنند به پشتیبانی میان افزار نیاز دارد تا ارتباطات مولفه ها را اداره کند‪ .‬مانند تخصیص منابع‪،‬‬
‫مدیریت تراکنش‪ ،‬امنیت و همروندی‬
‫خواسته ها بر اساس عملکرد مولفه های موجود ارتقا پیدا کنند‬ ‫▪‬

‫‪4‬‬
‫‪CBSE‬‬

‫▪ مشکالت ‪CBSE‬‬
‫▪ قابلیت اعتماد مولفه‬
‫▪ تعدیل خواسته ها و پیشگویی خواص مولفه ها مخصوصا در هنگام جامعیت با مولفه های دیگر به وجود می‬
‫آید‪.‬‬

‫▪ مولفه ها مستقل هستند و با عملیات یگدیگر تداخل ندارند و همچنان جزئیات پیاده سازی آن مخفی اند‪.‬‬
‫پیاده سازی مولفه می تواند بدون اثر گزاری بر بقیه ی سیستم تغییر کند‪.‬‬
‫▪ مولفه ها از طریق واسط ها استاندارد باهم ارتباط بر قرار میکنند‪ .‬یک مولفه می تواند جایگزین مولفه‬
‫ی دیگری شود در صورت لزوم عملکرد اضافی یا پیشرفته ای ارائه کند‪.‬‬

‫‪5‬‬
‫ویژگی مولفه‬

‫‪6‬‬
‫مولفه ها و مدل های مولفه‬

‫▪ مولفه یک واحد نرم افزاری مستقل است میتواند با مولفه های دیگر ترکیب شود تا سیستم نرم افزاری به‬
‫وجود آید‪.‬‬
‫▪ کانسیل ‪ :‬یک عنصر نرم افزاری است که از مدل مولفه پیروی میکند و می تواند بدون اصالحاتی بر‬
‫اساس استاندارد ترکیب و مستقیال استقرار یابد و ترکیب شود‪.‬‬
‫▪ سایپرسکی‪ :‬تعریف به اساس ویژگی های مهم مولفه تاکید دارد (مولفه ی نرم افزاری واحدی از ترکیب‬
‫است که واسطه های آن مشخص شده اند و وابستگی های صریح محیط دارد مولفه نرم افزاری می‬
‫تواند به طور مستقل مستقر شود یا با مولفه های دیگر ترکیب گردد)‬
‫▪ هر دو تعریف تاکید دارد که مفهوم مولفه عنصری است که در یک سیستم قرار می گیرد نه سرویسی‬
‫که سیستم به آن مراجعه میکند‪.‬‬

‫‪7‬‬
‫‪CBSE‬‬

‫▪ مولفه یک موجودیت قابل اجرای مستقل است‪.‬‬


‫▪ سرویس های ارائه شده توسط مولفه از طریق واسط ها مهیا است و تمام تعامل ها از طریق آن صورت می گیرد‪.‬‬
‫▪ مولفه ها دو واسط مرتبط به هم دارند که این واسط ها سرویس های تهیه شده توسط مولفه و سرویس های را که‬
‫برای عملکرد درست مولفه الزمند منعکس می سازند‪.‬‬
‫▪ واسط های آماده سرویس های فراهم شده توسط مولفه را تعریف می کنند این واسط ها معموال ‪ API‬مولفه است و‬
‫متد های را تعریف میکند که توسط کاربر مولفه فراخوانی میشود‪.‬‬
‫▪ واسط آماده یک مولفه‪ :‬توسط دایره ای در انتهای خطی از آیکن مولفه نمایش داده میشود‪.‬‬
‫▪ واسط ضروری مشخص میکند که برای عملکرد درست یک مولفه چه سرویس های باید توسط مولفه های دیگر‬
‫موجود در سیستم فراهم شود‪ .‬در صورت فراهم نکردن سرویس این مولفه کار نخواهد کرد که این موضوع دلیل‬
‫عدم استقاللیت آن نیست‪ .‬در ‪ UML‬عالمت واسط ضروری با نیم دایره در انتهای خطی از آیکن مولفه مشخص‬
‫میشود‪.‬‬

‫‪8‬‬
‫مولفه‬

‫‪9‬‬
‫مولفه‬

‫‪10‬‬
‫مدل از یک مولفه ای جمع کننده ی داده ها‬

‫▪ در شکل قبل مدلی از یک مولفه را نشان میدهد که برای جمع آوری و پخش اطالعات از آرایه ای از‬
‫سنسور طراحی شده است‪.‬‬
‫▪ واسط آماده شامل متدهایی برای اضافه کردن‪ ،‬حذف‪ ،‬شروع و توقف و غیره اند‪.‬‬
‫▪ واسط ضروری برای اتصال مولفه به سنسور ها بکار میرود‪.‬‬

‫‪11‬‬
‫مدل مولفه‬

‫▪ مدل مولفه تعریف استاندارد های برای پیاده سازی مستندسازی و استقرار مولفه است‪.‬‬
‫▪ توسعه دهندگان با استفاده از استاندارد ها تضمین میکند که مولفه ها می توانند باهم کار کنند‪.‬‬
‫▪ مدل های مولفه ‪ EJB,WebServices‬یا ‪ Enterprise Java Bean‬و ‪.NET‬‬
‫▪ واسط ها‪ :‬مولفه ها با مشخص کردن واسط ها هی خود تعریف می شوند‪ .‬مدل مولفه چگونگی تعریف‬
‫واسط ها و عناصری مثل اسامی عملیات ها‪ ،‬پارامترها و استثنا ها را که باید در تعریف واسط گنجانده‬
‫شوند مشخص می کیند‪.‬‬
‫▪ بعضی از مدل های مولفه نیاز به واسط های خاصی دارند که توسط مولفه تعریف شوند این واسط ها برای‬
‫ترکیب مولفه با زیرساخت مدل مولفه استفاده میشوند‪ :‬سرویس های استانداردی مثل امنیت و مدیریت‬
‫تراکنش را انجام میدهد‪.‬‬

‫‪12‬‬
‫مدل مولفه‬

‫▪ نحوه کاربرد‪ :‬برای اینکه مولفه ها توزیع شوند و از راه دور مورد دستیابی قرار گیرند باید نام یکتائی داشته باشند‪.‬‬
‫مانند ‪ EJB‬یک نام سلسله مراتبی با ریشه ای مبتنی بر نام دامنه ای انترنت تولید میشود ‪URI(Uniform‬‬
‫)‪resource identifier‬‬
‫▪ متا دیتا ‪ :‬اطالعاتی راجع به خود مولفه است مانند معلومات در مورد صفات و واسط های آن‬
‫▪ مولفه ها موجودیت های کلی هستند زمانیکه نصب میشوند باید پیکربندی شود مانند جمع آوری کننده دیتا سنسور‬
‫ها‬
‫▪ توسعه ‪ :‬مدل مولفه شامل مشخصات است که تعیین میکند مولفه ها چگونه باید بصورت پکیج در آیند تا به عنوان‬
‫موجودیت های مستقل و قابل اجرا مستقر شوند‪.‬‬

‫‪13‬‬
‫فرآیند های مهندسی نرم افزار بر اساس مولفه‬

‫▪ ‪ -1‬توسعه برای استفاده مجدد‪ :‬هدف تولید یک یا چند مولفه با قابلیت استفاده مجدد است تنها مولفه های را می‬
‫شناسید که با آن سر و کار دارید و به کد منبع آنها برای تعمیم آن مولفه ها دسترسی دارید‪ .‬توسعه برای استفاده مجدد‬
‫مولفه ها طوری طراحی میشود غیر از برنامه مورد نظر برای برنامه های دیگر هم قابل استفاده باشد‪.‬‬
‫▪ ‪ -2‬توسعه با استفاده ای مجدد‪ :‬نمی دانیدچه مولفه های موجود هستند و در نتیجه الزم است این مولفه ها را کشف‬
‫و سیستم خود را طراحی کنید الزم نیست به کد منبع مولفه ها دسترسی داشته باشید‪ .‬در اینجا هدف از ایجاد مولفه‬
‫نیست بلکه از مولفه های موجود استفاده شود‪.‬‬
‫▪ قابلیت استفاده مجدد یا عدم استفاده مجدد یک مولفه به عملکرد و دامنه ای کاربرد آن بستگی دارد هر چه مولفه کلی‬
‫تر باشد قابلیت استفاده مجدد آن افزایش می یابد‪.‬‬

‫‪14‬‬

You might also like