Loading...
Definition of a Set of Process Patterns for Aspect-Oriented Software Development Methodologies
Khari, Masoud | 2010
885
Viewed
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 40806 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Ramsin, Raman
- Abstract:
- The Aspect-Oriented Software Development (AOSD) approach provides a systematic way to identify, modularize, and represent aspects, i.e. crosscutting concerns in software systems. AOSD methods bring a high level of changeability, configurability, and maintainability in the presence of ever-changing users' requirements. Focusing on aspects during early stages of the software development lifecycle has consequently received special attention by many researchers, leading to the advent of numerous AOSD methods. This has accordingly given a relatively high level of maturity to aspect-oriented (AO) processes. Process patterns, on the other hand, have been adopted as suitable mechanisms for defining or tailoring processes to fit specific organizational or project requirements. Process patterns, which essentially are reusable process components extracted from successful processes and practices, can be used to engineer new software development methodologies or to enhance existing ones. Although these patterns have been defined and used in various software development approaches and disciplines, the AOSD approach suffers from lack of a set of process patterns to encapsulate AO processes and capture their strengths and pitfalls. In this dissertation, we propose a generic Aspect-Oriented Software Process (AOSP), constructed through studying and abstracting prominent AO processes which covers different phases of a generic software development lifecycle. Based on the proposed AOSP, process patterns are provided which incorporate well-established AO practices for different development stages. These patterns, along with the AOSP, can be used to construct new aspect-oriented methodologies or to enhance existing non-aspect-oriented ones. Finally, the proposed process patterns are evaluated by using two different approaches. First, we employ specific process evaluation criteria to analyze various characteristics of these patterns. The analysis results demonstrate support of the process patterns for expected requisites of AO processes. Secondly, a new aspect-oriented process instance is constructed by instantiating the AOSP and assembling the proposed process patterns based on specific project requirements and characteristics. Afterwards, realization of the requirements in the process is examined.
- Keywords:
- Process Pattern ; Software Development ; Methodology ; Situational Method Engineering ; Aspect-Oriented Methodology
-
محتواي پايان نامه
- view
- چکیده
- فهرست مطالب
- فهرست شکلها
- فهرست جدولها
- 1. مقدمه
- 1.1. تعاریف پایه
- 1.2. انگيزهي پژوهش
- 1.2.1. شرح مسئله
- 1.2.2. اهداف پژوهش
- 1.3. روش پژوهش و مراحل انجام
- 1.4. دستآوردها و نوآوريهاي پژوهش
- 1.5. ساختار پاياننامه
- 2. الگوهاي فرايند و مَتافرايند
- 2.1. مدلهاي فرايند
- 2.2. سطوح فرايندهاي ايجاد نرمافزار
- 2.3. الگوهای فرایند
- 2.4. الگوهاي فرايند Ambler
- 2.5. خلاصه فصل
- 3. روشهای جنبهگرای ایجاد نرمافزار
- 3. روشهای جنبهگرای ایجاد نرمافزار
- 3.1.1. ویژگیهای فرایندهای جنبهگرا
- 3.2. متدولوژیهای جنبهگرا
- 3.2.1. متدولوژی AOSD/UC
- 3.2.1.1. فرایند AOSD/UC
- 3.2.1.2. ویژگیهای AOSD/UC
- 3.2.2. متدولوژی AOCE
- 3.2.2.1. فرایند AOCE
- 3.2.2.2. ویژگیهای AOCE
- 3.2.3. متدولوژی Theme
- 3.2.3.1. فرایند Theme
- 3.2.3.2. ویژگیهای Theme
- 3.2.4. متدولوژی AOGA
- 3.2.4.1. فرایند AOGA
- 3.2.4.2. ویژگیهای AOGA
- 3.2.1. متدولوژی AOSD/UC
- 3.3. مهندسی نیازمندیهای جنبهگرا
- 3.3.1. مهندسی نیازمندیها در AOSD/UC
- 3.3.1.1. فرایند مهندسی نیازمندیها در AOSD/UC
- 3.3.2. مهندسی نیازمندیها در Theme/Doc
- 3.3.2.1. فرایند Theme/Doc
- 3.3.1. مهندسی نیازمندیها در AOSD/UC
- 3.4. فرایندهای معماری جنبهگرا
- 3.4.1. روش طراحی و تحلیل معماری ASAAM
- 3.4.1.1. فرایند ASAAM
- 3.4.1.2. ویژگیهای ASAAM
- 3.4.2. روش طراحی و تحلیل معماری COSAAM
- 3.4.2.1. فرایند COSAAM
- 3.4.2.2. ویژگیهای COSAAM
- 3.4.1. روش طراحی و تحلیل معماری ASAAM
- 3.5. فرایندهای طراحی جنبهگرا
- 3.5.1. طراحی در AOCE
- 3.5.1.1. فرایند طراحی در AOCE
- 3.5.1.2. ویژگیهای فاز طراحی AOCE
- 3.5.2. طراحی در Theme/UML
- 3.5.2.1. فرایند Theme/UML
- 3.5.2.2. ویژگیهای Theme/UML
- 3.5.1. طراحی در AOCE
- 3.6. خلاصه فصل
- 3. روشهای جنبهگرای ایجاد نرمافزار
- 4. فرایند عمومی پیشنهادی و الگوهای فرایند جنبهگرا
- 4.1. فرایند عمومی جنبهگرای ایجاد نرمافزار
- 4.2. الگوهای فرایند فاز
- 4.2.1. فاز آغاز
- 4.2.2. فاز ایجاد
- 4.2.3. فاز تحویل
- 4.2.4. فاز نگهداری و پشتیبانی
- 4.3. الگوهای فرایند مرحله
- 4.3.1. الگوی فرایند مهندسی نیازمندیهای جنبهگرا
- 4.3.2. الگوی فرایند شناسایی و مدیریت دغدغهها
- 4.3.3. الگوی فرایند معماری جنبهگرا
- 4.3.4. الگوی فرایند طراحی جنبهگرا
- 4.3.5. الگوی فرایند عمومیسازی دغدغهها و جنبهها
- 4.3.6. الگوی فرایند آزمون دغدغهها و جنبهها
- 4.3.7. الگوی فرایند پیادهسازی جنبهگرا
- 4.3.8. الگوی فرایند آزمون ترکیب دغدغهها
- 4.4. خلاصه فصل
- 5. انتقال الگوهای فرایند به محیط EPFC
- 5.1. معرفی محیط EPFC
- 5.2. فرایند انتقال الگوهای فرایند AOSP به ابزار EPFC
- 5.3. خلاصه فصل
- 6. ارزیابی الگوهای فرایند جنبهگرا
- 6.1. ارزیابی مبتنی بر معیار الگوهای فرایند پیشنهادی
- 6.1.1. شکلگیری مجموعه معیارهای ارزیابی اولیه
- 6.1.2. مقیاسبخشی معیارهای ارزیابی
- 6.1.3. معیارهای ارزیابی پیشنهادی
- 6.2. ارزیابی با استفاده از ساخت یک فرایند در محیط EPFC
- 6.2.1. روشهای موجود مهندسی متدولوژی
- 6.2.2. ایجاد یک فرایند نمونه طی یک مطالعه موردی
- 6.2.2.1. نیازمندیهای فرایند هدف
- 6.2.2.2. مراحل مهندسی فرایند
- 6.2.2.3. فرایند مهندسیشده پیشنهادی
- 6.2.2.4. تحقق نیازمندیها در فرایند ساختهشده
- 6.3. خلاصه فصل
- 6.1. ارزیابی مبتنی بر معیار الگوهای فرایند پیشنهادی
- 7. نتیجهگیری و کارهای آتی
- 7.1. دستآوردها و نوآوریهای پژوهش
- 7.2. کارهای آتی
- مراجع
- فهرست کوتهنوشتها
- واژهنامه فارسی به انگلیسی
- واژهنامه انگلیسی به فارسی
- مقاله منتشرشده