Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr....

Post on 27-Dec-2015

220 views 0 download

Tags:

transcript

Component-Based Software Engineering Dr R Bahsoon

1

Revision Session

Component-Based Software

Dr. Rami BahsoonSchool of Computer Science

The University Of Birminghamr.bahsoon@cs.bham.ac.ukwww.cs.bham.ac.uk/~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?