[go: up one dir, main page]

0% found this document useful (0 votes)
27 views20 pages

Component Based - AI

Component-based development techniques involve procedures for developing software systems by choosing ideal off-the-shelf components and then assembling them using a well-defined software architecture. With the systematic reuse of coarse-grained components, CBD intends to deliver better quality and output.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views20 pages

Component Based - AI

Component-based development techniques involve procedures for developing software systems by choosing ideal off-the-shelf components and then assembling them using a well-defined software architecture. With the systematic reuse of coarse-grained components, CBD intends to deliver better quality and output.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Component-Based

Development (CBD)
• Component-based development (CBD) is a procedure that accentuates the
design and development of computer-based systems with the help of reusable
software components. With CBD, the focus shifts from software programming
to software system composing.
Component-based development techniques involve procedures for developing
software systems by choosing ideal off-the-shelf components and then
assembling them using a well-defined software architecture. With the
systematic reuse of coarse-grained components, CBD intends to deliver better
quality and output.
Component-based development is also known as component-based software
engineering (CBSE).
• It is very hard to discover reusable parts among these
smaller units. The idea behind CBD is to integrate
the related parts and reuse them collectively. These
integrated parts are known as components.

Component-based development techniques consist


of non-conventional development routines, including
component evaluation, component retrieval, etc.
The key goals of CBD are as
follows:
• Save time and money when building large and complex systems:
Developing complex software systems with the help of off-the-
shelf components helps reduce software development time
substantially. Function points or similar techniques can be used
to verify the affordability of the existing method.

Enhance the software quality: The component quality is the key
factor behind the enhancement of software quality.

Detect defects within the systems: The CBD strategy supports
fault detection by testing the components; however, finding the
source of defects is challenging in CBD.
Some advantages of CBD
include:
• Minimized delivery:
• Search in component catalogs
• Recycling of pre-fabricated components

Improved efficiency:

• Developers concentrate on application development



Improved quality:
• Component developers can permit additional time to ensure quality

Minimized expenditures
The specific routines of CBD
are:

• Component development
• Component publishing
• Component lookup as well as retrieval
• Component analysis
• Component assembly
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.
The CBSE process
Distributed systems

• Virtually all large computer-based systems are now


distributed systems.
• Information processing is distributed over several
computers rather than confined to a single machine.
• Distributed software engineering is therefore very
important for enterprise computing systems.

9
10
System types

• Personal systems that are not distributed and that are


designed to run on a personal computer or
workstation.
• Embedded systems that run on a single processor or
on an integrated group of processors.
• Distributed systems where the system software runs
on a loosely integrated group of cooperating
processors linked by a network.
1
1
Distributed system characteristics
• Resource sharing
• Sharing of hardware and software resources.
• Openness
• Use of equipment and software from different vendors.
• Concurrency
• Concurrent processing to enhance performance.
• Scalability
• Increased throughput by adding new resources.
• Fault tolerance
• The ability to continue in operation after a fault has occurred.
1
2
Distributed system disadvantages
• Complexity
• Typically, distributed systems are more complex than centralised
systems.
• Security
• More susceptible to external attack.
• Manageability
• More effort required for system management.
• Unpredictability
• Unpredictable responses depending on the system organisation and
network load.
1
3
Distributed systems architectures

• Client-server architectures
• Distributed services which are called on by clients. Servers
that provide services are treated differently from clients
that use services.

1
4
Client-server architectures

• The application is modelled as a set of services that


are provided by servers and a set of clients that use
these services.
• Clients know of servers but servers need not know
of clients.
• Clients and servers are logical processes
• The mapping of processors to processes is not
necessarily 1 : 1.
1
5
A client-server system

c2 c3 c4 c1 2
c1 1
Server process

c1 s1 s4

c1 0
c5
Client process
s2 s3 c9

c6
c7 c8

1
6
Computers in a C/S network
c1 c2 c3 , c4
CC1 CC2 CC3

s1 , s2 Network s3 , s4 Server
co mputer
SC2 SC1

Client
co mputer
c5 , c6 , c7 c8 , c9 c1 0, c1 1, c1 2
CC4 CC5 CC6

1
7
A client-server ATM system

ATM

ATM Accoun t server

Tel e- Cus to mer


process ing accou nt
mon it or databas e

ATM

ATM

1
8
A 3-tier C/S architecture

1
9
An internet banking system

Client
HTTP interactio n

Web s erver Datab ase s erver


Client
SQL query
Accoun t service Cus to mer
SQL accou nt
provision
databas e
Client

Client
2
0

You might also like