1 / 24

Revision Session

Component-Based Software Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science. Revision Session. Assessment & Exam Structure. Examination 80% Group Presentations & Group Coursework 20%

nicholsb
Download Presentation

Revision Session

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Component-Based SoftwareDr. Rami BahsoonSchool of Computer ScienceThe University Of Birminghamr.bahsoon@cs.bham.ac.ukwww.cs.bham.ac.uk/~rzbOffice 112 Y9- Computer Science Revision Session Component-Based Software Engineering Dr R Bahsoon

  2. Assessment & Exam Structure • Examination 80% • Group Presentations & Group Coursework 20% • Exam Structure – 1.5 hrs exam • Part I – Content Questions [32%] • Answer FOUR Questions out of SEVEN • Provide BRIEF AND PRECISE answers • 8% Each • Question 1 to Question 7 • Part II – Modeling Questions [68%] • Three Main Questions • Question 8 [9%] • Question 9 [26%] • Question 10 [33%] Component-Based Software Engineering Dr R Bahsoon

  3. Exam Content – Part I • Part I- Questions are mainly derived from • Unit 1: Essentials to CBS • Components, characteristics, Interfaces, Specification, Interface Description Language (IDL), Components vs. objects, architectures, Components as services, composition, Component Models, Frameworks, Middleware • http://www.se-radio.net/podcast/2008-02/episode-87-software-components • Unit 2: Reflection on the modeling of objects and components • Unit 3: Engineering CBS – Process & Lifecycle • Rational Unified Process • Model-driven development • Reuse-driven software development and landscape • Component-based software lifecycle Component-Based Software Engineering Dr R Bahsoon

  4. Part I- Sample Question • Briefly explain the concept of Model-Driven Architectures (MDA) and highlight a major advantage of adopting such a paradigm for engineering components-based software systems. [8%] Answer? Component-Based Software Engineering Dr R Bahsoon

  5. Part I – Sample Question - Answer • A model is a description of a system. • A PIM describes a system without any knowledge of the final implementation platform. • A PSM describes a system with full knowledge of the final implementation platform. • A transformation definition describes how a model in a source language can be transformed into a model in a target language. • A transformation tool performs a transformation for a specific source model according to a transformation definition. • Advantages? Component-Based Software Engineering Dr R Bahsoon

  6. Part II – Modeling • Modeling Objects and Components using UML • Interpreting UML diagrams • Modeling • In the spirit of your Coursework Component-Based Software Engineering Dr R Bahsoon

  7. Part II – Sample 1 • Interpreting UML diagrams • In FEW words, explain the relation in the below diagrams. Component-Based Software Engineering Dr R Bahsoon

  8. Answer Composed of 64 squares Component-Based Software Engineering Dr R Bahsoon

  9. Part II – Sample 1 • Draft a use case diagram for an online library system. Make use of both <<include>> and <<extend>> stereotypes. State any necessary assumptions you make. Answer? Component-Based Software Engineering Dr R Bahsoon

  10. Part II – Sample 2 • Use UML to model the components and interfaces corresponding to the given Scenario • Assume that Bob wants to book a holiday • Bob will book his holiday, where • He provides the following data: His origin airport, his destination, his dates of departure/return, and any other preference information (e.g., budget, luxury, etc) • Bob is interested in promotional offers for the period of his holiday • He wants to rent a car at his destination. • He wants to get good hotel deals during his stay. Component-Based Software Engineering Dr R Bahsoon

  11. Part II – Sample 2 Sketch the components and interfaces corresponding to the given services Flight Booking service Hotel Promotional Service Car Hire Promotional Service Component-Based Software Engineering Dr R Bahsoon

  12. Software Systems Requirements • After you book a holiday, the company shall provide the holidaymaker with promotional services, which include hotel deals and car rent promotional service at the destination and for the duration of her/his stay Component-Based Software Engineering Dr R Bahsoon

  13. Answer: Flight Booking Provides Requires Flight Information Customer Preference Information Customer data Flight Booking Component-Based Software Engineering Dr R Bahsoon

  14. Promotional Hotel Booking Service.. Provides Requires List of available Hotels Flight Information Promotional Hotel Booking Service Customer Preference Information Component-Based Software Engineering Dr R Bahsoon

  15. You can even provide more services.. Provides Requires List of available Hotels Flight Information List of Budget Hotel Promotional Hotel Booking Service List of Five stars List of B&B Customer Preference Information List of 3 stars Component-Based Software Engineering Dr R Bahsoon

  16. Car Hire Promotional Service Provides Requires List of available Car agents Flight Information Car Hire Promotional Service List of cars deals Customer Preference Information Component-Based Software Engineering Dr R Bahsoon

  17. Gluing the Components Provides Provides Provides Requires Requires Requires List of available Hotels List of available Car agents Flight Information Customer Preference Information Flight Information Flight Information List of Budget Hotel Car Hire Promotional Service List of cars deals Customer data Flight Booking Promotional Hotel Booking Service List of Five star List of B&B Customer Preference Information Customer Preference Information List of 3 stars Component-Based Software Engineering Dr R Bahsoon

  18. Part II - Sample 3 • Sketch a sequence diagram for self-service machine, three objects do the work we're concerned with • the front: the interface the self-service machine presents to the customer • the money register: part of the machine where moneys are collected • the dispenser: which delivers the selected product to the customer • Derive your collaboration diagram Component-Based Software Engineering Dr R Bahsoon

  19. Part II- Sample 4 • Sketch a three-tier architecture for online banking system • Sketch a client-server architecture for online inventory system Component-Based Software Engineering Dr R Bahsoon

  20. Example of Three-Tiers Architectures Many of real life web applications have three tier architectures Component-Based Software Engineering Dr R Bahsoon

  21. Deployment Diagrams for Three Tiers UML 1.4 Components deployed in an architecture Component-Based Software Engineering Dr R Bahsoon

  22. Example: Client Server Architectures Component-Based Software Engineering Dr R Bahsoon

  23. Example: Deployment Diagram for a Client Server Architecture UML 2.0 Component-Based Software Engineering Dr R Bahsoon

  24. Q&A • Question and Answer Session • Flipping through the slides? Component-Based Software Engineering Dr R Bahsoon

More Related