• About WordPress
    • WordPress.org
    • Documentation
    • Support
    • Feedback
  • Log In
  • Register
  • Home
  • Courses
  • Past Paper
  • FYP
  • Interview Questions
  • University Events
  • Contact
  • Quiz & Assignment
Cuitutorial
  • Home
  • Courses
  • Past Paper
  • FYP
  • Interview Questions
  • University Events
  • Contact
  • Quiz & Assignment

Software Engineering II

Home » Blog » Component Based Software Engineering

Component Based Software Engineering

  • Posted by saqib
  • Categories Software Engineering II
  • Date November 5, 2022
  • Comments 0 comment

Why Component based Software Engineering?

Why CBSE?

  • CBSE increases quality, especially evolvability and maintainability
  • CBSE increases productivity
  • CBSE shortens development time

Component-based development

  • Component-based software engineering (CBSE) is an approach to software development that relies on software reuse.
  • CBSE emerged from the failure of object-oriented development. Single object classes are too detailed and specific.
  • Components are more abstract than objects and classes. Thus, they can be considered to be stand-alone service providers.
  • CBSE requires knowledge, careful planning, and methodological support.

CBSE and design principles

  • Components are independent
  • Component implementations are hidden
  • Communication is through well-defined interfaces
  • Component platforms are shared and reduce development costs.

CBSE problems

  • Component trustworthiness – how can a component with no available source code be trusted?
  • Component certification – who will certify the quality of components?
  • Property prediction – how can the emergent properties of component compositions be predicted?
  • Component Dependability – how do we handle components which depend on other components or systems to work properly

The CBSE process

  • When reusing components, it is essential to make trade-offs between ideal requirements and the services actually provided by available components
  • This involves:

–Developing outline requirements

–Searching for components then modifying requirements according to available functionality.

–Searching again to find if there are better components that meet the revised requirements.

Domain Engineering

  1. Define the domain to be investigated.
  2. Categorize the items extracted from the domain.
  3. Collect a representative sample of applications in the domain
  4. Analyze each application in the sample.
  5. Develop an analysis model for the objects.

CBSE Activities

  • Component qualification
  • Component adaptation
  • Component composition

Qualification

  • application programming interface (API)
  • development and integration tools required by the component
  • run-time requirements including resource usage (e.g., memory or storage), timing or speed, and network protocol
  • service requirements including operating system interfaces and support from other components
  • security features including access controls and authentication protocol
  • exception handling

Adaptation

The implication of easy integration is:

  • resource management have been implemented for all components in the library
  • data management exist for all components
  • interfaces within the architecture and with the external environment have been implemented in a consistent manner.

Composition

  • An infrastructure must be established to bind components together
  • Architectural ingredients for composition include:

–Data exchange model

–Structured storage

–Underlying object model

Managing quality in CBSE

  • Approach A: left to the designers
  • Approach B: model provides standardized facilities for managing qualities
  • Approach C: component only addresses functionality, quality in surrounding container
  • Approach D: similar to C, but container interacts with platform on quality issues

Common features of component models

  • Infrastructure mechanisms, for binding, execution, etc
  • Instantiation
  • Binding (design time, compile time, …)
  • Mechanisms for communication between components
  • Discovery of components
  • Announcement of component capabilities (interfaces)
  • Development support
  • Language independence
  • Platform independence
  • Analysis support
  • Support for upgrading and extension
  • Support for quality properties

 

  • Share:
author avatar
saqib

Previous post

Component Level Design
November 5, 2022

Next post

Software Design Patterns
November 5, 2022

You may also like

Software Engineering II Topics
6 November, 2022

Software Engineering II Course Content component-level-design Component Based Software Engineering Software Design Patterns User Interface Design Software Quality Assurance Software Reviews

Software Reviews
5 November, 2022

What Are Reviews? a meeting conducted by technical people for technical people a technical assessment of a work product created during the software engineering process a software quality assurance mechanism Serves as a training ground for junior software engineers to …

Software Quality Assurance
5 November, 2022

The need for comprehensive SQ Requirements “our new sales information system seems okay, the invoices are correct, the inventory records are correct, the discounts granted to our clients exactly follow our very complicated discount policy, but our new sales information …

Leave A Reply Cancel reply

You must be logged in to post a comment.

admin@cuitutorial.com
Facebook-f Twitter Youtube Linkedin Instagram Stack-overflow Pinterest Github Quora Whatsapp
Courses
  • All Courses
  • Past Paper
  • Final year projects
  • Interview Questions
  • Contact
Important Pages
  • Privacy Policy
  • Terms of Service
  • Cookie Policy
Links
  • University Events
  • Team
Education & learning platform for All Computer science subjects
Final year projects
Past Paper
Interview questions
Programming, C/C++, Asp.net/MVC. Android, MySql, Jquery, Ajax, javascript, Php, Html5, Bootstrap4.
NTS, GAT, PPSC, FPSC

Copyright © 2021 | Cuitutorial