1 / 18

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. Lecture 1. Introduction. Introduction. Who we are?

amaryllis
Download Presentation

Lecture 1. Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Component-Based SoftwareDr. Rami BahsoonSchool of Computer ScienceThe University Of Birminghamr.bahsoon@cs.bham.ac.ukwww.cs.bham.ac.uk/~rzbOffice 112 Computer Science Lecture 1. Introduction 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… 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/ • E-mail: r.bahsoon@cs.bham.ac.uk 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… 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”? 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! 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 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) Component-Based Software Engineering Dr R Bahsoon

  9. About CBSE(1/4) • Introduces Components-Based Software Engineering (CBSE) Vision & dream! Reality 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 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 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 Component-Based Software Engineering Dr R Bahsoon

  13. Assessment • 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 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.uk Expect a rapid reply for any e-mail (a word of trust!) Please use CBSE in the subject head 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!) Component-Based Software Engineering Dr R Bahsoon

  16. Learning resources • My teaching page: http://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 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 Component-Based Software Engineering Dr R Bahsoon

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

More Related