فهرست و منابع گزارش سمینار توسعه نرم افزار جنب هگرا Aspect-Oriented Software Development
فهرست:
عنوان ............................................................................................................................................... صفحه چکیده .....................................................................................................................................................۱
فصل اول . مقدمه .............................................................................................................................٢
- مقدمه ..................................................................................................................................٢
- تعریف مسئله ......................................................................................................................٣
- مشکلات روش های مرسوم .................................................................................................٤
- حرکت به سمت راه حل .......................................................................................................٤
- نتایج تحقیقاتی مورد انتظار ..................................................................................................٥
- ساختار سمینار ....................................................................................................................٥
فصل دوم . تعاریف و مفاهیم ............................................................................................................٨
حوزه مسئله ..........................................................................................................................٨
نیازمندی ...............................................................................................................................٨
٢-٢ -١ - نیازمندیهای وظیفه مندی .........................................................................................٩
٢-٢ -٢ - نیازمندیهای غیروظیفه مندی ....................................................................................٩
-٣ - خصوصیات نیازمندیهای خوب ..............................................................................٩
دغدغه ..................................................................................................................................١١
-١ - تعریف دغدغه .......................................................................................................١٢
-٢ - دغدغه هسته و منطق حرفه ...................................................................................۱۲
دغدغه مداخله ای .................................................................................................................١٣
-١ - تقسیم بندی دغدغه های مداخله ای .........................................................................۱۴
جداسازی دغدغه ها ..............................................................................................................١٤
خاصیت پیمانه ای ..................................................................................................................١٥
مدل ......................................................................................................................................١٦
درهم پیچیدگی .....................................................................................................................١٧
ج
پراکندگی .............................................................................................................................١٨
مورد کاربری.........................................................................................................................١٨
برنامه نویسی جنبه گرا ...........................................................................................................١٩
توسعه نرم افزاری جنبه گرا .....................................................................................................٢٠
توسعه نرم افزاری جنبه گرا با موارد کاربری ..........................................................................٢٠
فصل سوم . برنامه نویسی جنبه گرا .....................................................................................................٢٣
- برنامه نویسی جنبه گرا چیست؟ .............................................................................................٢٣
- تاریخچه ..............................................................................................................................٢٤
- مزایا .....................................................................................................................................٢٤
- معایب ..................................................................................................................................٢٥
- مفاهیم پایه ...........................................................................................................................٢٦
٣-٥ -١ - جنبه ......................................................................................................................٢٦
-٢ - نقطه اتصال یا Joinpoint ....................................................................................۲۸
۲۹.............................................................................................................. Pointcut - ۳- ۵-٣
۲۹...................................................................................................... Advice Code - ۴- ۵-۳
- محیط (زبان)های برنامه نویسی .............................................................................................٣٠
۳۱.............................................................................................................. AspectJ - ١-
۳۱............................................................................... Java Aspect Components - ۲- ۶-۳
۳۲........................................................................................................ JBoss AOP - ۳- ۶-۳
۳۲....................................................................................................... Spring AOP - ۴- ۶-۳
- مطالعه موردی ......................................................................................................................٣٢
٣-٧ -١ - سیستم مدیریت هتل .............................................................................................٣٣
٣-٧ -٢ - مشکلات سیستم مدیریت هتل .............................................................................٣٤
-٣ - نگرش جنبه گرا به سیستم مدیریت هتل ................................................................٣٧
- نتیجه گیری ...........................................................................................................................٤٢
فصل چهارم . توسعه نرم افزاری جنبه گرا ..........................................................................................٤٤
ح
- توسعه نرم افزاری جنبه گرا چیست؟ .....................................................................................٤٤
- مهندسی نیازمندیهای جنبه گرا ..............................................................................................٤٥
- معماری سیستم جنبه گرا ......................................................................................................٤٦
- طراحی و مدلسازی جنبه گرا ................................................................................................٤٧
- برنامه نویسی جنبه گرا ...........................................................................................................٤٨
- حمایت متد رسمی برای جنبه گرائی ....................................................................................٤٨
- آزمایش برنامه های جنبه گرا .................................................................................................٤٩
فصل پنجم . توسعه نرم افزاری جنبه گرا با موارد کاربری ...................................................................٥١
- توسعه نرم افزاری جنبه گرا با موارد کاربری چیست؟ ...........................................................٥١
- جنبه ها و موارد کاربری .......................................................................................................٥٢
-١ - توسعه مبتنی بر مورد کاربری ...............................................................................٥٣
- ساخت سیستم با استفاده از "برش مورد کاربری" ...............................................................٥٥
-١ - مجزا نگاه داشتن "مورد کاربری همتا" .................................................................٥٦
٥-٣ -٢ - مجزا نگاه داشتن "مورد کاربری گسترش" ...........................................................٥٨
-٣ - توسعه موازی سیستم با ماژول مورد کاربری .......................................................٥٩
- مجزا نگاه داشتن تحقق موارد کاربری همتا با جنبه ها .........................................................٦٠
-١ - تحقق بخشیدن به موارد کاربری همتا ..................................................................٦٠
٥-٤ -٢ - مجزا نگاه داشتن مشخصات موارد کاربری ..........................................................٦٥
-٣ - برخورد با روی هم افتادگی .................................................................................٧١
- مجزا نگاه داشتن گسترشها با Pointcuts ............................................................................٧٧
-١ - تحقق موارد کاربری گسترش ..............................................................................٧٨
-٢ - حفظ پیمانه بندی تحقق مورد کاری گسترش .......................................................٧٩
- نتیجه گیری ..........................................................................................................................٨٤
٦ - فصل ششم. نتیجه گیری ....................................................................................................................٨٦
کارهای آتی .............................................................................................................................................۸۷
مراجع ......................................................................................................................................................۸۹
منبع:
http://en.wikipedia.org/wiki/Problem_domain.
Roger S.Pressman, Software Engineering: a practitioner’s approach, Fifth edition, McGraw-Hill, page 541, 2001.
Young, Ralph R. Effective Requirements Practices. Boston: Addison-Wesley, 2001.
Boehm, B.W. and Papaccio, P.N., 1988, Understanding and controlling software costs, IEEE Trans of Software Engineering, 14(10), 1462-1477.
Bridges, W., 1995, Managing Transitions, Making the most of change, Nicholas Brealey Publishing, UK.
Brinkkemper, S., 1996, Method engineering: engineering of information systems development methods and tools, Inf. Software Technol., 38(4), 275-280.
Davis, A.M., 1993, Software Requirements: Analysis and Specification, Prentice Hall, second Edition, 1993.
http://www.research.ibm.com/hyperspace/ConcernSpaces.htm.
Ivar Jacobson, Pan-Wei Ng, Aspect-Oriented Software Development with Use Cases, Addison Wesley Professional, ISBN: 0-321-26888-1, December 30, 2004.
Joseph D. Gradecki, Nicholas Lesiecki, Mastering AspectJ: Aspect-Oriented Programming in Java, 2003.
Tarr, P., Ossher, H., Harrison, W., and Sutton Jr.,S. M. 1999. N degrees of separation: Multi-dimensional separation of concerns. In 21st Int'l Conf. Software Engineering (ICSE), (Los Angeles). IEEE, 107119.
Merriam-Webster. Merriam-Webster collegiate dictionary online. http://www.merriam-webster.com.
IEEE. 2000. IEEE recommended practice for architectural description of softwareintensive systems. IEEE Std.14712000.
Klein, M. and Kazman, R. 1999. Attribute -based architectural styles. Tech. Rep. CMU/SEI-99-TR-022, Software Engineering Institute, Carnegie Mellon University. Oct.
Nuseibeh, B., Kramer, J., and Finkelstein, A. 1993. Expressing the relationships between multiple views in requirements specification. In 15th Int'l Conf. Software Engineering (ICSE), (Baltimore, Maryland). IEEE, 187196.
Sutton Jr.,S. M. 1999. Multiple dimensions of concern in software testing. In Workshop on Multi-Dimensional Separation of Concerns (OOPSLA), (Denver).
http://www.cs.ubc.ca/~murphy/multid-workshop-oopsla99/positionpapers/ws13sutton.pdf .
http://wikipedia.org
Dijkstra, Edsger W. (1982), "On the role of scientific thought", in Dijkstra, Edsger W., Selected writings on Computing: A Personal Perspective, New York, NY, USA: Springer-Verlag New York, Inc., pp. 60–66, ISBN 0-387-90652-5.
Reade, Chris (1989). Elements of Functional Programming. Boston, MA, USA:
Addison-Wesley Longman Publishing Co., Inc., 600 pages. ISBN 0201129159.
Grady Booch, Ivar Jacobson, and James Rumbaugh, Object Oriented Analysis and Design with Applications 3rd Edition, Addison.Wesley,2007.
Parnas, D.L. (1972): On the Criteria To Be Used in Decomposing Systems into Modules, in: Communications of the ACM, December 1972, Vol. 15, No. 12, 10531058.
Kiczales, Gregor; John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin (1997). "Aspect-Oriented Programming", Proceedings of the European Conference on Object-Oriented Programming, vol.1241, pp.220–242. The paper originating AOP.
Renaud Pawlak, Lionel Seinturier, and Jean-Philippe Retaillé, Foundations of AOP for J2EE Development, Springer-Verlag New York, ISBN: 1-59059-507-6, 2005.
Doug Rosenberg, Matt Stephens, Use Case Driven Object Modeling with UML, Springer-Verlag, ISBN: 1-59059-774-5, 2007.
Filman, R. and D. Friedman, Aspect-oriented programming is quantification and Obliviousness, Proceedings of the Workshop on Advanced Separation of Concerns, in conjunction with OOPSLA’00 (2000).
http://en.wikipedia.org/wiki/Aspect-oriented_software_development.
http://trese.cs.utwente.nl/taosad/aosd.htm.
R.T. Alexander, J.M. Bieman, and A.A. Andrews,“Towards the Systematic Testing of Aspect- Oriented Programs”, Technical Report CS-4-105, ColoradoState University, 2004.
Reza Meimandi Parizi, Abdul Azim Ghani, "A Survey on Aspect-Oriented Testing Approaches", IEEE DOI 10.1109/ICCSA, 2007.
Awais Rashid, Aspect-Oriented Requirements Engineering: An Introduction, IEEE
DOI 10.1109/RE, 2008.
Awais Rashid, Ruzanna Chitchyan, "Aspect-Oriented Requirements Engineering: A Roadmap", ACM 978-1-60558-032, 2008.