Course Details
Course Information Package
Course Unit Title | SOFTWARE REUSE | ||||||||
Course Unit Code | ACSC529 | ||||||||
Course Unit Details | |||||||||
Number of ECTS credits allocated | 7 | ||||||||
Learning Outcomes of the course unit | By the end of the course, the students should be able to:
| ||||||||
Mode of Delivery | Face-to-face | ||||||||
Prerequisites | NONE | Co-requisites | NONE | ||||||
Recommended optional program components | NONE | ||||||||
Course Contents |
1. Introduction to Software Reuse and the differentlevels and types of reuse. - Software ReuseKey Concepts. - Levels andTypes of Software Reuse. - The SoftwareReuse Landscape. - Software ReuseApproaches. - ReuseBenefits, Issues and Economics. 2. Software Reuse through Object Oriented Programming(OOP). - Revisiting keyconcepts of OOP. - Practicalexample of reuse through OOP. - Reuse throughthe Java Collections Framework. 3. Software Reuse through Component Based SoftwareEngineering (CBSE). - Introductionto the principles and concepts of CBSE. - JavaBeans:Software Reuse at the level of CBSE. - Practicalexample of reuse through JavaBeans. 4. Design Patterns: Reusing Best Practices to SolveCommon Design Problems. - DesignPrinciples and Patterns. - DesignPatterns: Concepts and Types. - Building SuccessfulMobile Applications using Design Patterns. 5. Software Repositories for reusing Software Assets. - Definition,Requirement and Advantages of a Software Repository - The SoftwareRepository Model. - Main functionsof a Software Repository. - Version ControlSystems. - Creating andManaging a Software Repository. 6. Software Reuse via the notion of a Middleware. - Motivation,definition and the role of a middleware. - Examining asimple middleware architecture: RPC. - Challenges inmiddleware design. - HTML5 ContextMiddleware (H5CM). 7. The WS*-stack. - Motivation,History and Concepts. - The WebService Model. - Web ServiceStandards - WS*-stack (WSDL, SOAP, XML, UDDI). 8. RESTful Services. - RESTMotivation, Definition and Principles. - RESTVocabulary and Concepts. - REST Vs. WS*-stack. | ||||||||
Recommended and/or required reading: | |||||||||
Textbooks |
| ||||||||
References |
| ||||||||
Planned learning activities and teaching methods |
The methodology used to conduct the course is structured aroundlectures and laboratory exercises, so that students gain theoretical knowledgeas well as practical skills. The taughtpart of course is delivered to the students with the help of computerpresentations. Lecture notes and presentations are available through the webfor students to use in combination with the textbooks. Furthermore theoreticalprinciples are explained by means of specific examples and solution of specificproblems using practical examples. Lectures are supplemented with supervised and unsupervised computerlaboratory. Laboratories will include demonstrations of taught concepts andexperimentation with related technologies. Additionally, during laboratorysessions, students apply their gained knowledge and identify the principlestaught in the lecture sessions by means of working on different tasks andproblems. Students are also allocated exercises for homework, assignments and/orgroup project to improve both their individual skills and team work. | ||||||||
Assessment methods and criteria |
| ||||||||
Language of instruction | English | ||||||||
Work placement(s) | NO |