aspect-oriented software development prof. awais rashid and dr. steffen zschaler c41/c30 infolab21...

15
Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Upload: penelope-hodge

Post on 02-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Aspect-Oriented Software Development

Prof. Awais Rashid and Dr. Steffen Zschaler

C41/C30 Infolab21

{marash | zschaler}@comp.lancs.ac.uk

Computing Department

Page 2: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Contacting the Lecturers…

• Dr. Steffen Zschaler email: [email protected]

InfoLab 21 - Room: C30

• Prof. Awais Rashid

email: [email protected] InfoLab 21 - Room: C41

Page 3: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Other Course Lecturers and Lab Supervisors

• Guest Lecture: Dr. Phil Greenwood• Lab co-ordinator Mr. Syed Asad Ali Naqvi  

Page 4: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Preliminaries

• Course Website– http://info.comp.lancs.ac.uk/msc/AOSDmsc/index.htm

• Who’s who - introduction to the group– Name – Your background

• Which degree? Institution?

– Experience with Java• Academic course? Real software projects?

– Why have you registered for this module?• Special interest in a specific AOSD topic?

Page 5: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Course Structure

AOSD MSc Course Week LayoutNote: AspectJ is taught in hands-on sessions in the MSc Lab.

Monday Tuesday Wednesday Thursday Friday

09:00-10:00Lecture: Introduction to AOSD

Lecture/Hands-on: AspectJ

Group Reading for Group Work 2

Group Reading for Group Work 3

Lecture: Aspect-Oriented Requirements Engineering

10:00-11:00Lecture/Hands-on: AspectJ

Lecture/Hands-on: AspectJ

Group Reading for Group Work 2

Group Reading for Group Work 3

Lecture: Aspect-Oriented Requirements Engineering

11:00-12:00Lecture/Hands-on: AspectJ

Group Work 1: AspectJ Evaluation

Group Reading for Group Work 2

Group Reading for Group Work 3

Lecture: Aspect-Oriented Design and UML

12:00-13:00Lecture/Hands-on: AspectJ

Group Work 1: AspectJ Evaluation

LunchGroup Reading for Group Work 3

Lunch

13:00-14:00 Lunch LunchGroup Work 2: Obliviousness Debate

Lunch

Lecture: Aspect-Oriented Design and UML

14:00-15:00Lecture/Hands-on: AspectJ

Group Reading for Group Work 2

Group Work 2: Obliviousness Debate

Group Reading for Group Work 3

Group Work 4: Analysis and Design Exercise

15:00-16:00Lecture/Hands-on: AspectJ

Group Reading for Group Work 2

Guest Lecture: The Impact of Aspects on Design Stability

Group Work 3: Presentations

Group Work 4: Analysis and Design Exercise

16:00-17:00Lecture/Hands-on: AspectJ

Group Reading for Group Work 2

Lecture: AOSD in Practice

Group Work 3: Presentations

Group Work 4: Analysis and Design Exercise

17:00-18:00Group Reading for Group Work 2

Group Reading for Group Work 3

Page 6: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Assessment: Group Work 1

• AspectJ Evaluation– (Tuesday 11:00-13:00): 6%– You will be divided into two groups (see web

site)

Page 7: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Assessment: Group Work 2

• Debate on the role of obliviousness in AOSD (Group debate: three groups, see web site): 8%– All members of a group are expected to speak– 30 minutes presentation for each group

• Group 1 should take a balanced position i.e. obliviousness is useful in some cases and harmful in others

• Group 2 should take a pro position i.e. obliviousness is good

• Group 3 should take an opponent position i.e. obliviousness is bad

Page 8: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Assessment: Group Work 3

• Comparing other AOP techniques with AspectJ (Group presnetation: three groups, see web site): 8%– All members of a group are expected to speak– 30 minutes presentation for each group

• Each group should compare the technique they read about with AspectJ– Compare strengths and shortcomings

Page 9: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Assessment: Group Work 4

• AO analysis and design exercise: 8%

Page 10: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Assessment: Individual Work

• Individual Project (Handed in 12:00 noon 20 April 2009): 70%– criteria:

• design creativity• elegant use of AOP mechanisms• code complexity• design documentation and rationale

Page 11: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Groups• Group 1

– Fisher, Matthew– Gray, Matthew– Parsons, Colin

• Group 2– Gall, Martin– Molineux, Andrew– Potts, Matt

• Group 3– Gerrard-Longworth, Simon– Ndou, Goodchild– Smith, James

• Group 1– Fisher, Matthew– Gall, Martin– Gerrard-Longworth, Simon– Gray, Matthew

• Group 2– Molineux, Andrew– Ndou, Goodchild– Parsons, Colin– Potts, Matt– Smith, James

Page 12: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Learning Outcomes

At the end of the course, you will have:• an understanding of the challenges faced

when handling crosscutting concerns during software development;

• knowledge of state-of-the-art in AOSD rooted in case studies and applications;

• practical experience of developing software using AOSD tools and techniques.

Page 13: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

What is expected from…

• … YOU:– give your best in the hands-on exercises today– interact with us when a concept wasn’t clear– share and contribute to the group with your

thoughts– take this course seriously

• commit to the deadlines• reflect critically about the benefits and drawbacks of

AOSD

Page 14: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Recommended Texts (Essential)

• Aspect-Oriented Software DevelopmentR. Filman, T. Elrad, S. Clarke, M. AksitAddison Wesley 2004ISBN: 0321219767

• Eclipse AspectJ: Aspect-Oriented Programming with AspectJ and the Eclipse AspectJ Development Tools A. Colyer, A. Clement, G. Harley, M. Webster Addison Wesley 2004ISBN: 0321245873

Page 15: Aspect-Oriented Software Development Prof. Awais Rashid and Dr. Steffen Zschaler C41/C30 Infolab21 {marash | zschaler}@comp.lancs.ac.uk Computing Department

Recommended Reading (Additional)

• AspectJ in Action - Practical Aspect-Oriented ProgrammingR. LaddadManning Publications Inc. 2003ISBN: 1930110936

• Aspect-Oriented DatabasesA. RashidSpringer-Verlag 2003ISBN: 3540009485

• Aspect-Oriented Software Development with Use Cases P.-W. Ng and I. JacobsonAddison Wesley 2005ISBN: 0321268881