TDDD05:Component- basedso3ware Coursestructureand outline LenaBuffoni lena.buffoni@liu.se TeachingTeam Courseleader: LenaBuffoni–firstyearrunningthiscourseJ Courseassistants: AdrianHorga&AlachewShitahunMengist CourseobjecJves • Describe technical platforms, conditions for and challenges with the development of larger, component-based software systems • Describe component models and application platforms such as, for example, Enterprise Java Beans, OSGi, CORBA and Web Services • Relate industrial and theoretical issues in the development of larger, component-based software systems to contemporary software development methods and techniques such as aspectoriented programming and model-based development • Analyze and critically evaluate a technical platform for component-based software development and relate its properties to Software Engineering research. FromtheorytopracJce TheoreJcalfoundaJons/Generalconcepts Courselectures, recommendedliterature + Deeperlookinaspecifictopic Experimentwithatechnology Recommendedliterature, Individualresearch, seminardiscussions + Labs + Analyzeandreview Seminardiscussions, peerfeedback Coursestructure AZendanceatlabsandseminarsis mandatory! 4Teachingsessions 10Labsessions 5Seminars Teachingsessions • OO programming and components systems • Meta-programming • Component Models • SOA ! For labs you will read up on aspect-oriented programming The teaching sessions are there to provide you with the basic concepts, you will need to complete them with further reading! 5seminars Seminar 1: Discussion in groups, choose one of the 4 main domains and review one of the suggested papers + 1 related paper of your choice Seminar 2: Review of results form labs 1&2 Seminar 3: Discussion in groups, review and discuss the first draft of the final paper Seminar 4: Presentation + discussion of selected lab tutorials Seminar 5: Presentation + discussion of selected final papers Workflow week Chooseapapertoreview fromthesuggestedlist Lectures Submitpaper reviews Seminar1 Labs Seminar2 Seminar3 Seminar4 Seminar5 Submitlabreportsfor labs1&2 Submitpaper dra3 Submitpaper reviews Completelab3 Submitfinal paper Howtoachievethebestresults? • Read the recommended literature • Read the instructions carefully • Come prepared to the seminars • Do the labs and assignments on time • Participate in discussions • Don’t hesitate to ask for help EvaluaJoncriteriaforarJcles Graded from 1 to 3: • Independence • Context • Language and form • Source management Amajorityof 1 2 3 = Grade Grade3 Grade4 Grade5 • Analysis + Bonus : paper or tutorial presentation during seminars 5&6 Detailed grid: https://www.ida.liu.se/~TDDD05/seminars/grading.en.shtml EvaluaJoncriteriaforlabs–pass/fail Each lab will require a report to be handed in to the group's lab assistant via e-mail. For each lab, a more detailed description is found on the lab page for each assignment. • Lab 1: Java Reflection – Part 1: a report containing the answers to the questions – Part 2: the source code file(s) with the implementation and tests. • Lab 2: The Spring Framework or The Equinox Framework, part 1 – a report containing the answers to the questions on the chosen topic – the source code file(s) or code snippets used to test and find answers to the questions in lab 2 • Lab 3: The Spring Framework or The Equinox Framework, part 2 – a tutorial like document including code snippets in which you describe your topic – if you have a plug-in, you should also provide the files that the opponents will need in order to install it. You should also provide the source code for the plugin. RegistraJon&Submissionprocedures: Register for the following assignments: • https://www.ida.liu.se/webreg3/TDDD05-2016-1/UPG2 • https://www.ida.liu.se/webreg3/TDDD05-2016-1/UPG3 • The deadlines for each submission con be found on the course web page. • Labs will be submitted by mail. • Seminar assignments will be submitted via Moodle (instructions will be up on the website by the end of the week). Resources • Course slides will be uploaded after each course • Course slides and videos from previous years are available on the course web page • The reference: Component Software, Beyond ObjectOriented Programming, second edition, by Clemens Szyperski. Addison-Wesley, 2002. ISBN 0-201-74572-0. • Lists of suggested literature are available on the course site • Independent research (library, electronic paper databases)