Revision Session - School of Computer Science

advertisement
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
Component-Based Software Engineering
Dr R Bahsoon
Revision Session
1
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
2
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-87software-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
3
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
4
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
5
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
6
Part II – Sample 1
• Interpreting UML diagrams
– In FEW words, explain the relation in the below
diagrams.
Component-Based Software Engineering
Dr R Bahsoon
7
Answer
Composed of 64 squares
Component-Based Software Engineering
Dr R Bahsoon
8
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
9
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
10
Part II – Sample 2
Flight
Booking
service
Sketch the
components and
interfaces
corresponding to the
given services
Hotel Promotional Service
Car Hire
Promotional
Service
Component-Based Software Engineering
Dr R Bahsoon
11
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
12
Answer: Flight Booking
Provides
Requires
Flight Information
Customer data
Flight Booking
Component-Based Software Engineering
Dr R Bahsoon
Customer
Preference
Information
13
Promotional Hotel Booking Service..
Provides
Requires
List of available
Hotels
Flight Information
Customer Preference
Information
Promotional
Hotel Booking
Service
Component-Based Software Engineering
Dr R Bahsoon
14
You can even provide more services..
Provides
Requires
List of available
Hotels
Flight Information
Customer Preference
Information
List of Budget
Hotel
Promotional
Hotel Booking
Service
Component-Based Software Engineering
Dr R Bahsoon
List of Five stars
List of B&B
List of 3 stars
15
Car Hire Promotional Service
Provides
Requires
Flight Information
Customer Preference
Information
List of available
Car agents
Car Hire
Promotional
Service
Component-Based Software Engineering
Dr R Bahsoon
List of cars deals
16
Gluing the Components
Provides
Requires
Provides
Requires
Customer
data
Flight
Booking
Flight Information
Customer
Preference
Information
Flight
Information
Customer
Preference
Information
Customer
Preference
Information
List of
cars
deals
Provides
Requires
Flight
Information
Car Hire
Promotional
Service
List of
available
Car agents
List of available
Hotels
List of Budget
Hotel
Promotional
Hotel
Booking
Service
Component-Based Software Engineering
Dr R Bahsoon
List of Five star
List of B&B
List of 3 stars
17
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
18
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
19
Example of Three-Tiers Architectures
Many of real life web applications have three tier
architectures
Component-Based Software Engineering
Dr R Bahsoon
20
UML 1.4
Components deployed in an architecture
Deployment Diagrams for Three Tiers
Component-Based Software Engineering
Dr R Bahsoon
21
Example: Client Server Architectures
Component-Based Software Engineering
Dr R Bahsoon
22
Example: Deployment Diagram for a Client
Server Architecture
UML 2.0
Component-Based Software Engineering
Dr R Bahsoon
23
Q&A
• Question and Answer Session
• Flipping through the slides?
Component-Based Software Engineering
Dr R Bahsoon
24
Download