By Prefer this ppt you understand about Software based component engineering.
Size: 172.21 KB
Language: en
Added: Sep 29, 2020
Slides: 25 pages
Slide Content
Topic : Component-based Software Engineering Sub. Name : Software Engineering By : SATISH DABHI
Introduction A software process is represented as a set of work phases that is applied to design and build a Software product. To represent software processes, we will use different types of models which are called software process models . Each model represents a process from a specific perspective. The three most widly used software process models are :- Ø The Waterfall Model Ø Evolutionary Development Ø Component-based Software Engineering (CBSE)
Component-based Software Engineering Component-based software engineering (CBSE) is an approach to software development that is based on the existance of a significant number of reusable components. It focuses on integrating these components into a system rather than developing them from scratch.
Component Based Software Engineering(CBSE) is a process that emphasis the design and construction of computer based system using reusable software “components”. CBSE embodies the “buy , don’t built” philosophy.
A generic process model for CBSE is given below:- Requirements specification Component analysis Requirements modification System design with reuse Development and integration System validation
Stages of CBSE : Requirements specification : A software requirements specification (SRS) is a document that captures complete description about how the system is expected to perform. Component analysis : A search is made for the components to implement the given requirements specification.
Requirements modification : During this phase, the requirements are analyzed using information about the components that have been discovered. They are then modified to reflect the available components.If the modifications are impossible, the component analysis activity may be re-entered to search for alternative solutions. System design with reuse : During this phase, the framework of the system is designed or an existing framework is reused. The designers take into account the components that are reused and they will organize the framework accordingly.
Development and integration : The components are integrated to create the new system. System integration, in this model, may be part of the development process rather than a separate activity. System Validation : is a set of actions used to check the compliance of any element with its purpose and functions. These actions are planned and carried out throughout the life cycle of the system.
WHY CBSE ? CBSE increases quality, especially evolvability and maintainability. CBSE increases productivity. CBSE shortens development time. CBSE is easy to assemble and less costly to build the system constructed from discrete parts.
WHAT IS COMPONENT A component is an independent software unit that can be composed with other components to create a software . system. Council and Heineman define a component as: “ A software element that conforms to a component model and can . Be independently deployed and composed without modification . . accordingly to a composition standard”
COMPONENT CHARACTERISTICS Independent: A component should be independent Composable: It means that all external interactions must take place through publicly defined interfaces . Deployable: A component has to be self-contained and must be able to operate as a stand-alone entity FUNDAMENTAL PRINCIPALS
Independent Software Development: Large software systems are necessarily assembled from components developed by different people. To facilitate independent development, it is essential to decouple developers and users of components Reusability: Some parts of a large system will necessarily be special- purpose software, it is essential to design and assemble pre . existing components in developing new components. Software quality: A component or system needs to be shown to have desired behavior , either through logical reasoning, tracing or testing.
TERMS & ATTRIBUTES USED IN SOFTWARE COMPONENT MODEL S yntax : It refers to the „grammar‟ or the rules followed in the code as per the specific programming language. Semantics: It refers to the actual meaning and view of the components. A component is associated with a name , an interface and the body that includes the code. Composition: This relates to the construction and working together of components.
COMPONENT BASED SOFTWARE DEVELOPMENT Component-based software development(CBSD) approach is based on the idea to develop software systems by selecting appropriate off-the-shelf components and then to assemble them with a well-defined software architecture. The term component-based software development (CBD) can be referred to as the process for building a system using components.
LIFE CYCLE IN COMPONENT-BASED DEVELOPMENT ¢ Requirements analysis ¢ Software architecture selection, construction, analysis, and evaluation ¢ Component identification and customization ¢ System integration ¢ System testing ¢ Software maintenance
PHASES OF COMPONENT DEVELOPMENT System requirements design the component Develop the component Testing Functional or Black Box Testing, Structural or White Box Testing
BENEFITS IN CBSD Management of Complexity Reduce Development Time Increased Productivity Improved Quality Reliability is increased since the components have previously been tested in various contexts ¢ Maintenance costs are reduced. Efficiency and flexibility is improved due to the fact that components can easier be added or replaced
DIFFICULTIES IN CBSD: Development of Components Quality of Components is questionable Lack of effective software matrix Component Maintenance Costs Reliability and Sensitivity to changes Unsatisfied Requirements
CBSE VS. TRADITIONAL SE CBSE views the system as a set of off-the-shelf components integrated within an appropriate architecture. SE seeks to create a system from scratch(building something without tools). CBSE does not have any standard development models like UML for SE CBSE is young, therefore long term maintainability is largely unknown. SE can fulfill requirements more easily. CBSE fulfillment of requirements is based on the available components.
CBSE VS. TRADITIONAL SE-CONT.. CBSE Waterfall Find Select Requirements Analysis Design Adapt Test Deploy Implementation Test Release Replace Maintenance CBSE Life Cycle is shorter. CBSE is less expensive
CURRENT COMPONENT TECHNOLOGIES CORBA: Common Object Request Broker Architecture IDL: Interface Description Language COM: Component Object Model EJB: Enterprise JavaBeans (Java APIs)
Photo library composition Using CBSE
CONCLUSION CBSD is an inevitable next wave solution that has potential to improve time-to-market and man power/cost trends that have been ongoing. CBSD is best implemented using more modern software technologies like: COM JAVA EJB CORBA ActiveX