240 likes | 256 Views
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%
E N D
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
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
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
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
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
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
Part II – Sample 1 • Interpreting UML diagrams • In FEW words, explain the relation in the below diagrams. Component-Based Software Engineering Dr R Bahsoon
Answer Composed of 64 squares Component-Based Software Engineering Dr R Bahsoon
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
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
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
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
Answer: Flight Booking Provides Requires Flight Information Customer Preference Information Customer data Flight Booking Component-Based Software Engineering Dr R Bahsoon
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
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
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
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
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
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
Example of Three-Tiers Architectures Many of real life web applications have three tier architectures Component-Based Software Engineering Dr R Bahsoon
Deployment Diagrams for Three Tiers UML 1.4 Components deployed in an architecture Component-Based Software Engineering Dr R Bahsoon
Example: Client Server Architectures Component-Based Software Engineering Dr R Bahsoon
Example: Deployment Diagram for a Client Server Architecture UML 2.0 Component-Based Software Engineering Dr R Bahsoon
Q&A • Question and Answer Session • Flipping through the slides? Component-Based Software Engineering Dr R Bahsoon