200 likes | 684 Views
Component-Based Software Engineering(CBSE). Xingui Tang CS532, Fall 2003 7/16/2014. Content. Introduction Component Software component Component-based Software engineering Component-based software construction Typical CBD Process Model
E N D
Component-Based Software Engineering(CBSE) Xingui Tang CS532, Fall 2003 7/16/2014
Content • Introduction • Component • Software component • Component-based Software engineering • Component-based software construction • Typical CBD Process Model • Introducing and Establishing CBSE from an Organizational View • Three phases • Requirements • Pros and cons of CBSE • Conclusion • Reference
Introduction • Component
Introduction----Cont. • Component A component is a nontrivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture. It conforms to and provides the physical realization of a set of interfaces. --- Philippe Krutchen
Introduction----Cont. • Software component • Definition • A software component is a unit of composition with contractually specified interfaces and context dependencies only. It can be deployed independently and is subject to composition by third parties. ---Clement Szyperski • A software component is a software element that confirms to a component model and can be independently deployed and composed without modification according to a composition standard. ---Bill Councill and George T. Herneman
Introduction----Cont. • Software component • Feature • Identity • Modularity and encapsulation • Contact-based interface • Independent deliverability • Reusability • Interoperability • Deployability
Introduction----Cont. • Component-based Software engineering • Definition Component-based Software engineering denotes the process of building the software by (re)using pre-built software components thus basing on the meaning of software components. CBSE is also referred to as component based software development (CBSD) or component-based development (CBD).
Introduction----Cont. • Component-based Software engineering • Why need it • software exists problems • SW is late • SW is buggy • SW is expensive • SW is difficult to understand • SW is difficult to maintain • CBSE can solve the problems • Focuses on reuse of subsystem and infrastructure
Introducing and Establishing CBSE from an Organizational View • Three phases
Introducing and Establishing CBSE from an Organizational View----Cont. • Requirements • CBSE approach must include • reuse component selection • component test • requirements reconciliation • CBSE must be supported by • modeling formalisms and tools • development tools
Pros and cons of CBSE • Pros • Increased Reliability • Reduced Costs and Development time • Promotes Software Reuse • Reduced Maintenance Costs • Cons • Lack of world wide standards • Lake of flexibility in the system design • Hard to meet the demands of high reliability and availability • Requires skilled people
Conclusion • Promising • Challenging
Reference: • D’Souza, D. F., and Alan C. Wills "Objects, Components, and Frameworks with UML the Catalysis Approach”, ISBN 0-201-31012-0 Addison-Wesley, 1998 • Philippe Kruchten , “modeling component systems with the unified modeling language”, a position paper for icse’98 workshop • Kyo C. Kang, “Issues in component based software engineering”, 1999 international workshop on component based software engineering. • Guido Schryen, “Component-based Software engineering(CBSE) from an organizational point of view” • Ivica Crnkovic, “Introduction to Component-based Software engineering” • G.T. Heineman, W. Councill, “CBSE putting the Pieces Together” • Peter Herzum, Oliver Sims, “A Comprehensive Overview of Component-Based Development for the Enterprise” • Ivica Crnkovic, Magnus Larsson, “Overview Component-based Software engineering State of the art Report” • Lim Wayne, “Managing software reuse – a comprehensive guide to trategically reengineering the organization for reusable components”, PrenticeHall 1998. • Jacobson Ivar, Griss Martin, Johnsson Patrick, “Software Reuse – Architecture, Process and Organization for Business Success”, ACM Press 1997. • Sametinger, Johannes, “Software engineering with reusable components”, Springer 1997. • http://www.cigital.com/conferences/ecbs02/Euromicro CBSE track • http://www.euromicro.org/Upcoming.html • http://www.idt.mdh.se/ecbse/
Any questions? Thanks!