170 likes | 299 Views
معرفی مجموعهای از الگوهای فرآيند مخصوص نرمافزارهای بیدرنگ. نعيم اصفهانی استاد راهنما: دکتر ميريان استاد مشاور: دکتر رامسين سمينار کارشناسی ارشد مهندسی نرم افزار. چشم انداز. متا مدل های فرآيند متا مدل ها و الگوها فرآيند OOSP حوزه ی بی درنگِ جاسازی شده فرآيند زبان مدل سازی
E N D
معرفی مجموعهای از الگوهای فرآيند مخصوص نرمافزارهای بیدرنگ نعيم اصفهانی استاد راهنما: دکتر ميريان استاد مشاور: دکتر رامسين سمينار کارشناسی ارشد مهندسی نرمافزار
چشم انداز • متا مدلهای فرآيند • متا مدلها و الگوها • فرآيند OOSP • حوزهی بیدرنگِ جاسازی شده • فرآيند • زبان مدلسازی • الگوهای فرآيند در اين حوزه • روش بيان و آزمودن • زمانبندی ادامهی کار دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
انگيزش • گسترش استفاده از نرمافزار • فرآيندهای مختلف برای توليد نرمافزار • امکان انعطاف فرآيند در قبال تغيير شرايط • ثبت تجربيات برای استفادهی مجدد • بلوغ سازمان مستقل از فرآيند نيست (CMM) • استفادهی فراوان از سيستمهای جاسازی شدهی بیدرنگ • افزايش قابليت سختافزارها • محبوبيت اين دستگاهها • سيستم با ملاحظهی زمانی با امکان قابل حمل بودن دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
سطوح مختلف فرآيند • سطح نمونه • يک پروژهی نمونه راهبری میشود • يک مستند پروژه چگونه است • سطح مدل • يک مدل فرآيند خاص بيان میشود • ساختار کلی مستندات، راهنمايیها • سطح متا مدل • چارچوبی برای توليد مدل فرآيندها • تعريف مفاهيم پايهای (واحد کاری) [Gnatz et al, 2001] دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
ضرورت سطح متا مدل • معرفی مفاهيم پايهای فرآيند • واحدهاي کاری، محصولهای کاری، نقشها و ... • نماد گذاریهایممکن، استانداردهای خاص و ... • الگوهای فرآيند، راهنمايیها و ... • زبانی مشترک ميان برنامهنويس و گروه متودولوژی • استاندارد بودن زبان بيان تجربيات در سازمان • سادهتر شدن نگهداری و نمو فرآيند • امکان استفادهی مجدد از مفاهيم سطح فرآيند دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
الگوهای فرآيند • الگو • راهحل تکرار شونده برای مشکل تکرار شونده • برای دسترسی به داده از يک لايهی ميانی استفاده شود • الگوهای فرآيند • در سطح متا مدل قرار میگيرند • با استفاده از ترکيب آنها مدل فرآيند میسازيم • توضيح دانش موجود در فرآيند به صورت ساختارمند • مشکل موجود، حوزهی مساله، راه حل ارائه شده، قدمهای لازم برای حل مشکل، الگوهای مشابه و مرتبط، خوبیها و بدیها و ... دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
الگوهای فرآيند شيئگرا و فرآيندِOOSP • معرفی توسط امبلر در قالب دو کتاب • روشها يا فعاليتهايی که کارايی آنها در توليد نرمافزار اثبات شده • معرفی اين الگوها در سطوح مختلف • الگوی فرآيند کار، الگوی فرآيند مرحله، الگوی فرآيند فاز • امکان ساختن الگوهای سطوح بالا با الگوهای سطح پايينتر • معرفی يک فرآيند نمونه که الگوها در دل آن قرار میگيرند • متاسفانه اين الگوها به اين فرآيند وابسته شدند دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
نمونه الگوی فرآيند کار - مرور • آماده شدن برای مرور • سنجيدن آمادگی افراد برای مرور • بررسی اوليه • سازماندهی مرور • برگزاری مرور • عملکردن بر اساس نتايج مرور [Ambler, 1998] دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
حوزهی بیدرنگِ جاسازی شده • بالا رفتن قابليت سختافزارها • تنوع برنامههايی که اجرا میشوند • گسترش استفادهی روزمره از اين نوع سيستمها • ارائهی متودولوژی خاص اين سيستمها • گسترش متودولوژیهای موجود، افزودن اجزايی برای پشتيبانی • بررسی قابليت اعمال نوع خاصی از متودولوژیها (چابک) • بررسی متودولوژیهای موجود و امکان اعمال آنها در اين دامنه • بررسی قسمتی از چرخهی توليد نرمافزار • زبان مدلسازی مخصوص اين حوزه • گسترشها و پروفايلهايی برای UML دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
الگوهای فرآيند در حوزهی بیدرنگ جاسازی شده • حرکت تحقيقات به سمت انتزاع بيشتر • حضور الگوها در سطوح مختلف • امکان بيان برخی تحقيقات با الگوهای فرآيند • ارائهی مجموعهای از الگوهای فرآيند • زير مجموعهای از الگوهای فرآيند در OOSP • گسترشهای لازم برای اين حوزه • عدم يافتن تحقيق مشابه • غنیتر شدن سطح متا مدل • محدود شدن به سيستمهای مخابراتی دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
روش بيان و آزمودن الگوها • روشهای بيان الگوهای فرآيند • تحقيقاتی در کنار ارائهی الگوها • تحقيقاتی برای ارائهی قالب الگوها • آزمودن الگوهای فرآيند • در يک شرکت مخابراتی بدون فرآيند توليد نرمافزار • اعمال زيرمجموعهی کوچکی از الگوها در يک نمونه پروژه • افزايش تدريجی الگوها و بهبود الگوهای موجود • بررسی بهبود کارايی و فرآيند • روش پيشگرفته شده در تحقيقات ديگر دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
زمان بندی ادامهی کار • بررسی الگوهای فرآيند ارائه شده توسط امبلر - يک ماه • استخراج، آزمون و بيان الگوها - شش ماه • شناخت دقيق حوزهی اعمال راه حل - يک ماه • جمع آوری اطلاعات و راه حلها در قالب الگوها - دو ماه • آزمودن راه حل در محيط عملی - دو ماه • بيان الگوها - يک ماه • نگارش مقاله – نيم ماه • نگارش پايان نامه - يک و نيم ماه دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
نتيجه گيری • معرفی سطوح فرآيند و مفهوم انتزاع در آن • مفهوم الگوهای فرآيند • حوزهی سيستمهای بیدرنگ جاسازی شده • ارتباط اين دو زمينه • مشخص کردن حوزهی تحقيق • معرفی موارد مورد نياز در تحقيق • برنامهای که در پيش گرفته میشود دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
با تشکر دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
منابع • Masayuki Hirayama, Katsumi Ohno, Nao Kawai, Kichiro Tamaru, Hiroshi Monden, An Effective Source Code Review Process for Embedded Software. Product-Focused Software Process Improvement, 7th International Conference, PROFES, Amsterdam, The Netherlands, June 12-14, 2006: 47-60, Springer, Lecture Notes in Computer Science, ISBN: 3-540-34682-1. • Kettunen, P. Laanti, M., How to steer an embedded software project, tactics for selecting the software process model, Information and Software Technology, Volume 47, Issue 9, 15 June 2005, Pages 587-608. • Ambler, S. W., Process Patterns: Building Large-Scale Systems Using Object Technology, Cambridge University Press (October 28, 1998), ISBN: 0521645689. • Ambler, S. W., More Process Patterns: Delivering Large-Scale Systems Using Object Technology, Cambridge University Press (January 13, 1999), ISBN: 0521652626. • Gnatz, M., Marschall, F., Popp, G., Rausch, A., and Schwerin, W. 2001. Towards a Living Software Development Process Based on Process Patterns. In Proceedings of the 8th European Workshop on Software Process Technology (June 19 - 21, 2001). V. Ambriola, Ed. Lecture Notes In Computer Science, vol. 2077. Springer-Verlag, London, 182-202. • Manhart, P. and Schneider, K. 2004. Breaking the Ice for Agile Development of Embedded Software: An Industry Experience Report. In Proceedings of the 26th international Conference on Software Engineering (May 23 - 28, 2004). International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 378-386. دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
منابع • Paige, R. F., Chivers, H., McDermid, J. A., and Stephenson, Z. R., High-integrity extreme programming. In Proceedings of the 2005 ACM Symposium on Applied Computing (Santa Fe, New Mexico, March 13 - 17, 2005). L. M. Liebrock, Ed. SAC '05. ACM Press, New York, NY, 1518-1523. • Peleg, M. and Dori, D., Extending the Object-Process Methodology to Handle Real-Time Systems. Journal of Object-Oriented Programming 11, 8, (1999) 53-58. • Saiedian, H., Kumarakulasingam, P., and Anan, M. 2005. Scenario-based requirements analysis techniques for real-time software systems: a comparative evaluation. Requir. Eng. 10, 1 (Jan. 2005), 22-33. DOI= http://dx.doi.org/10.1007/s00766-004-0192-6. • Kurian, S. and Pont, M.J., Maintenance and evolution of resource-constrained embedded systems created using design patterns, Journal of Systems and Software, Volume 80, Issue 1, January 2007, Pages 32-41. • Störrle, H. 2001. Describing Process Patterns with UML. In Proceedings of the 8th European Workshop on Software Process Technology (June 19 - 21, 2001). V. Ambriola, Ed. Lecture Notes In Computer Science, vol. 2077. Springer-Verlag, London, 173-181. • Sa, J., Warboys, B., Greenwood, R. M., and Robertson, I. 2001. Modeling a Support Framework for Dynamic Organizations as a Process Pattern Using UML. In Proceedings of the 8th European Workshop on Software Process Technology (June 19 - 21, 2001). V. Ambriola, Ed. Lecture Notes In Computer Science, vol. 2077. Springer-Verlag, London, 203-216. دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف
منابع • Ramsin, R., The Engineering of an Object-Oriented Software Development Methodology. Ph.D. Thesis, University of York, York, UK, 2006. • Wilhelm Schäfer, A Rigorous Software Process for the Development of Embedded Systems, Unifying the Software Process Spectrum, International Software Process Workshop, SPW 2005, Beijing, China, May 25-27, 2005, Revised Selected Papers, Springer, Lecture Notes in Computer Science, ISBN: 3-540-31112-2. • Zalewski, J., Real-Time Software Design Patterns, 9th Conf. on Real-Time Systems, Ulstron, Poland, 2002. • Pont, M. J. and Banner, M. P. 2004. Designing embedded systems using patterns: a case study. J. Syst. Softw. 71, 3 (May. 2004), 201-213. DOI= http://dx.doi.org/10.1016/S0164-1212(03)00006-2. • Fliege, I., Geraldy, A., Gotzhein, R., Kuhn, T., and Webel, C. 2005. Developing safety-critical real-time systems with SDL design patterns and components. Comput. Networks 49, 5 (Dec. 2005), 689-706. DOI= http://dx.doi.org/10.1016/j.comnet.2005.05.003. • McKegney, R., Application of Patterns to Real-time Object-oriented Software Design, MSc. Thesis. Department of Computing & Information Sciences, Queen's University. July 2000. دانشکدهی مهندسی کامپيوتر - دانشگاه صنعتی شريف