Slide 1 - School of Computer Science by yaohongm

VIEWS: 0 PAGES: 24

									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



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




                             Answer?




                  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
  language.
• A transformation tool performs a transformation for a
  specific source model according to a transformation
  definition.
• 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
    diagrams.




                  Component-Based Software Engineering   7
                             Dr R Bahsoon
Answer



                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
    make.




                              Answer?




                   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
                                                       interfaces
                              Flight                   corresponding to the
                              Booking                  given services
                              service



                                Hotel Promotional Service

                                   Car Hire
                                   Promotional
                                   Service




                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
                                                              Preference
                                                              Information
       Customer data           Flight Booking




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




      Requires                                                Provides
                                                               List of available
                                                               Hotels
 Flight Information


                                 Promotional
 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
                                                              Hotels
Flight Information                                            List of Budget
                                                              Hotel

                              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
                                Promotional
                                Service
Customer Preference
Information




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

                                                         Requires                        Provides
                                                                                           List of
                                                                                           available
Requires                    Provides                 Flight            Car Hire
                                                                                           Car agents

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




                                     Requires                                  Provides
                                                                                 List of available
                                                                                 Hotels
                                 Flight                                          List of Budget
                                                                                 Hotel
                                 Information
                                                         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
  system
• 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
   architectures
                  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
Q&A

• Question and Answer Session
• Flipping through the slides?




                 Component-Based Software Engineering   24
                            Dr R Bahsoon

								
To top