Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University Of Birmingham [email protected] www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science
Dec 27, 2015
Component-Based Software Engineering Dr R Bahsoon
1
Revision Session
Component-Based Software
Dr. Rami BahsoonSchool of Computer Science
The University Of [email protected]/~rzb
Office 112 Y9- Computer Science
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
Flight Booking service
Hotel Promotional Service
Car Hire Promotional Service
Sketch the components and interfaces corresponding to the given services
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
ProvidesRequires
Flight Booking
Flight Information
Customer Preference Information
Customer data
Component-Based Software Engineering Dr R Bahsoon
14
Promotional Hotel Booking Service..
ProvidesRequires
PromotionalHotel BookingService
List of available Hotels
Flight Information
Customer Preference Information
Component-Based Software Engineering Dr R Bahsoon
15
You can even provide more services..
ProvidesRequires
PromotionalHotel BookingService
List of available HotelsList of BudgetHotel
List of Five stars
List of B&B
List of 3 stars
Flight Information
Customer Preference Information
Component-Based Software Engineering Dr R Bahsoon
16
Car Hire Promotional Service
ProvidesRequires
Car Hire Promotional Service
List of available Car agents
Flight Information
Customer Preference Information
List of cars deals
Component-Based Software Engineering Dr R Bahsoon
17
Gluing the Components
ProvidesRequires
Flight Booking
Flight InformationCustomer Preference InformationCustomer
data
ProvidesRequires
Car Hire Promotional
Service
List of available Car agents Flight
Information
Customer Preference Information
List of cars deals
ProvidesRequires
PromotionalHotel BookingService
List of available HotelsList of BudgetHotel
List of Five star
List of B&B
List of 3 stars
Flight Information
Customer Preference Information
Component-Based Software Engineering Dr R Bahsoon
18
• 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
Part II - Sample 3
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
Com
pon
en
ts d
ep
loyed
in
an
arc
hit
ectu
re
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?