Slide 1 - School of Computer Science by yaohongm


									Component-Based Software

          Dr. Rami Bahsoon
     School of Computer Science
    The University Of Birmingham

   Office 112 Y9- Computer Science

                                           Revision Session
    Component-Based Software Engineering                  1
               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   2
                               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
    –   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               3
                                   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%]


                  Component-Based Software Engineering    4
                             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
• A transformation tool performs a transformation for a
  specific source model according to a transformation
• Advantages?

                    Component-Based Software Engineering        5
                               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   6
                             Dr R Bahsoon
Part II – Sample 1

• Interpreting UML diagrams
  – In FEW words, explain the relation in the below

                  Component-Based Software Engineering   7
                             Dr R Bahsoon

                Composed of 64 squares

         Component-Based Software Engineering   8
                    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


                   Component-Based Software Engineering   9
                              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             10
                                Dr R Bahsoon
Part II – Sample 2
                                                       Sketch the
                                                       components and
                              Flight                   corresponding to the
                              Booking                  given services

                                Hotel Promotional Service

                                   Car Hire

                Component-Based Software Engineering                          11
                           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   12
                             Dr R Bahsoon
Answer: Flight Booking

    Requires                                                  Provides
                                                              Flight Information
       Customer data           Flight Booking

                       Component-Based Software Engineering                  13
                                  Dr R Bahsoon
Promotional Hotel Booking Service..

      Requires                                                Provides
                                                               List of available
 Flight Information

 Customer Preference             Hotel Booking
 Information                     Service

                       Component-Based Software Engineering                   14
                                  Dr R Bahsoon
You can even provide more services..

     Requires                                                Provides
                                                              List of available
Flight Information                                            List of Budget

                              Promotional                     List of Five stars

Customer Preference           Hotel Booking                   List of B&B
Information                   Service                         List of 3 stars

                      Component-Based Software Engineering                      15
                                 Dr R Bahsoon
Car Hire Promotional Service

     Requires                                                Provides
                                                              List of available
                                                              Car agents
Flight Information
                                Car Hire
                                                              List of cars deals
Customer Preference

                      Component-Based Software Engineering                    16
                                 Dr R Bahsoon
Gluing the Components

                                                         Requires                        Provides
                                                                                           List of
Requires                    Provides                 Flight            Car Hire
                                                                                           Car agents

                            Flight Information       Information       Promotional
                            Customer                                                      List of
                                                                       Service            cars
                            Preference               Customer
                            Information                                                   deals
  Customer   Flight                                  Preference
  data       Booking

                                     Requires                                  Provides
                                                                                 List of available
                                 Flight                                          List of Budget
                                                         Promotional             List of Five star

                                Customer                 Hotel                   List of B&B
                                Preference               Booking                 List of 3 stars
                                Information              Service

                       Component-Based Software Engineering                                       17
                                  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   18
                               Dr R Bahsoon
Part II- Sample 4

• Sketch a three-tier architecture for online banking
• Sketch a client-server architecture for online
  inventory system

                  Component-Based Software Engineering   19
                             Dr R Bahsoon
Example of Three-Tiers Architectures

   Many of real life web applications have three tier
                  Component-Based Software Engineering   20
                             Dr R Bahsoon
Deployment Diagrams for Three Tiers

          Components deployed in an architecture

UML 1.4

                                                   Component-Based Software Engineering   21
                                                              Dr R Bahsoon
Example: Client Server Architectures

                Component-Based Software Engineering   22
                           Dr R Bahsoon
Example: Deployment Diagram for a Client
Server Architecture

                                                         UML 2.0

                  Component-Based Software Engineering         23
                             Dr R Bahsoon

• Question and Answer Session
• Flipping through the slides?

                 Component-Based Software Engineering   24
                            Dr R Bahsoon

To top