Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction Component-Based Software Dr. Rami Bahsoon School of Computer Science The University."— Presentation transcript:

1 Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction 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 Computer Science r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb

2 Component-Based Software Engineering Dr R Bahsoon 2 Introduction Who we are? To introduce the course: goals, content, structure, assessment, and learning resources… To outline what you can expect from me and what I expect from you…

3 Component-Based Software Engineering Dr R Bahsoon 3 Who I am Rami Bahsoon: course facilitator –Lecturer in Software Engineering Background: MS and PhD in Software Engineering Delivered related courses at the MSc and BSc level Active researcher in the field of Software Engineering –Office: School of Computer Science, Office 112 –Web: http://www.cs.bham.ac.uk/~rzb/http://www.cs.bham.ac.uk/~rzb/ –E-mail: r.bahsoon@cs.bham.ac.ukr.bahsoon@cs.bham.ac.uk

4 Component-Based Software Engineering Dr R Bahsoon 4 Who we are… Name, work/study background, MSc Track … Your experience with CBS? Your expectations from this module… Your experience with the Birmingham MSc… Destination after completing your MSc… Any other remarks…

5 Component-Based Software Engineering Dr R Bahsoon 5 Component-based software engineering How do you define a “Component”? How do you define “Component-based software engineering”?

6 Component-Based Software Engineering Dr R Bahsoon 6 What is a Component? Several definitions of a component in literature, however everyone agrees that a component is a piece of software… But this requires clarification!

7 Component-Based Software Engineering Dr R Bahsoon 7 What is a Component? Components provide a service without regard to where the component is executing or its programming language –A component is an independent executable entity that can be made up of one or more executable objects –The component interface is published and all interactions are through the published interface

8 Component-Based Software Engineering Dr R Bahsoon 8 What is a Component? There are many other definitions of components: –Consideration of CBSE from different viewpoints and focus on different aspects of software engineering Design phase: components as reusable design parts Architecture phase: (e.g. UML components; ADL component) Implementation phase: components confirmed to a specific component model At run time could be binary packages, distributed components Business aspects (business components, service components, COTS components)

9 Component-Based Software Engineering Dr R Bahsoon 9 About CBSE(1/4) Introduces Components-Based Software Engineering (CBSE) Reality Vision & dream!

10 Component-Based Software Engineering Dr R Bahsoon 10 About CBSE(2/4) Motivation for CBSE –Develop software systems as assemblies of components –Reuse-driven & market-driven software development –Easing maintenance and evolution: design for change! CBSE related concepts, views, and perspectives CBSE challenges

11 Component-Based Software Engineering Dr R Bahsoon 11 About CBSE(3/4) Describes the principles and practices of systematically engineering software systems from components –CBSE process models vs. classical models CBS lifecycle, reuse approach, Unified Process –Requirements & design Requirements engineering approaches to CBSE Describes Unified Modeling Language (UML) notations to the specification, design, and modeling of components-based software –Component-based software architectures Styles, specification, refinements, and paradigms (e.g. Service- oriented architectures, middleware-induced software architectures, Model-Driven Architectures) Dependability issues in CBSE

12 Component-Based Software Engineering Dr R Bahsoon 12 About CBSE(4/4) –Testing & certification issues in components-based software Overview of the current technologies, component models, and frameworks supporting CBSE –The Microsoft way -.NET –The OMG way - CORBA –The Sun way – J2EE Other advanced topics, if time permits –Invited presentation(s) –Readings, discussions, and your presentations

13 Component-Based Software Engineering Dr R Bahsoon 13 Assessment –1.5 hr examination (80%) Choice Compulsory questions: concepts, processes, UML modelling… Reflection questions: presentations-related… –Continuous assessment (20%) Group presentations, discussion, and reflection on some advanced CBSE topics –Presentation schedule & topics will be posted soon –Peer and self assessment (friendly and supportive “shepherding” style) –Workshop-like style: interactive Group modelling exercise – due by the end of the term –Courtesy face-to-face feedback providing training for your examination “Small” discussion/reading exercises Resit (where allowed) by examination only with the continuous assessment marks carried forward

14 Component-Based Software Engineering Dr R Bahsoon 14 Meetings Lectures & meetings –Tuesday 3pm, UG40, Computer Science –Tuesday 5pm, LG32, Learning Centre –Two non-timetabled hrs/week: use these for meetings with your group –Office Hours: Open door policy or follow my timetable (TBA) Appointment by e-mail r.bahsoon@cs.bham.ac.ukr.bahsoon@cs.bham.ac.uk Expect a rapid reply for any e-mail (a word of trust!) Please use CBSE in the subject head

15 Component-Based Software Engineering Dr R Bahsoon 15 Learning outcome Describe and use principles for building software systems from components Design component-based software systems using well- structured design methods –Knowledge of UML notation: ability to produce UML documentation Demonstrate knowledge of technologies and standards for component-based software Appreciation of advanced topics in CBSE Read and understand the technical literature Group-working & presentation skills (real-life practical requirement!)

16 Component-Based Software Engineering Dr R Bahsoon 16 Learning resources My teaching page: http://www.cs.bham.ac.uk/~rzb/teaching.htmhttp://www.cs.bham.ac.uk/~rzb/teaching.htm –Link to the CBSE will be added soon –Self-contained material Selected reading from the following books: –Ivica Crnkovic, Magnus Larsson: Building reliable component-based systems –Clemens Szyperski: Component Software: Beyond object-oriented programming, Addison-Wesley, 2002 UML related books: –John Cheesman & John Daniels: UML Components: A simple process for specifying component-based software (The component software series) Addison-Wesley, 2000 –J. Eeles, K. Houston & W. Kozaczynski: Building J2EE Applications with the Rational Unified Process Addison-Wesley, 2003

17 Component-Based Software Engineering Dr R Bahsoon 17 Learning resources Other references: –Wolfgang Emmerich: Engineering Distributed Objects, Wiley –Online resources e.g. SEI of CMU http://www.sei.cmu.edu/ –Ian Sommerville, Software Engineering –Selected readings from: Proceedings of the International Conference on Software Engineering IEEE Transaction on Software Engineering ACM Transactions on Software Engineering and Methodology ACM SIGSOFT Symposium on Foundations of Software Engineering IEEE Software Proceedings of Component-Based Software Engineering

18 Component-Based Software Engineering Dr R Bahsoon 18 Questions & Suggestions ?


Download ppt "Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction Component-Based Software Dr. Rami Bahsoon School of Computer Science The University."

Similar presentations


Ads by Google