Top Banner
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
24

Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

Dec 27, 2015

Download

Documents

Cecil Richard
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 2: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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%]

Page 3: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 4: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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?

Page 5: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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?

Page 6: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 7: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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.

Page 8: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

Component-Based Software Engineering Dr R Bahsoon

8

Answer

Composed of 64 squares

Page 9: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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?

Page 10: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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.

Page 11: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 12: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 13: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

Component-Based Software Engineering Dr R Bahsoon

13

Answer: Flight Booking

ProvidesRequires

Flight Booking

Flight Information

Customer Preference Information

Customer data

Page 14: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

Component-Based Software Engineering Dr R Bahsoon

14

Promotional Hotel Booking Service..

ProvidesRequires

PromotionalHotel BookingService

List of available Hotels

Flight Information

Customer Preference Information

Page 15: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 16: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 17: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 18: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 19: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 20: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

Component-Based Software Engineering Dr R Bahsoon

20

Example of Three-Tiers Architectures

Many of real life web applications have three tier architectures

Page 21: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

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

Page 22: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

Component-Based Software Engineering Dr R Bahsoon

22

Example: Client Server Architectures

Page 23: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

Component-Based Software Engineering Dr R Bahsoon

23

Example: Deployment Diagram for a Client Server Architecture

UML 2.0

Page 24: Component-Based Software Engineering Dr R Bahsoon 1 Revision Session Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.

Component-Based Software Engineering Dr R Bahsoon

24

Q&A

• Question and Answer Session• Flipping through the slides?