Home Contact Us Français Search Site Map
Asset Management
What is Asset Management?
 
Asset Management, also known as Component Management is a means of keeping track and optimizing your components throughout their existence, from one software development project to the next.

A software component is a system element offering a predefined service and able to communicate with other components. Clemens Szyperski and David Messerschmitt give the following five criteria for what a software component shall be to fulfil the definition:

 
 
Multiple-use
Non-context-specific
Composable with other components
Encapsulated
A unit of independent deployment and versioning
 
 

A simpler definition can be: A component is an object written to a specification. It does not matter what the specification is: COM, Java Beans, etc., as long as the object adheres to the specification. It is only by adhering to the specification that the object becomes a component and gains features like reusability and so forth.

Software components often take the form of objects or collections of objects (from object-oriented programming), in some binary or textual form, adhering to some interface description language (IDL) so that the component may exist autonomously from other components in a computer.

When a component is to be accessed or shared across execution contexts or network links, some form of serialization (also known as marshalling) is employed to turn the component or one of its interfaces into a bitstream.

 
 
 
  Whitepapers
Architected Approach for Microsoft.NET Development
Components and Services
Introduction to Components
Managing Components
Outsourcing Development
Select Business Solutions on Web Services
Select Perspective for Web Services
Select Perspective Patterns for Internet Development
UML for Components and Process Control
  Movies
Select Component Factory integration with Microsoft Visual Studio
Select Solution for .NET
  Products
Select Asset Manager
Select Solution Factory
Select Solution for Microsoft .NET
 
 

History

The idea that software should be componentized, built from prefabricated components, was first published in Douglas McIlroy's address at the NATO conference on software engineering in Garmisch, Germany, 1968 titled Mass Produced Software Components. This conference set out to counter the so-called software crisis. His subsequent inclusion of pipes and filters into the Unix operating system was the first implementation of an infrastructure for this idea.

IBM lead the way with their System Object Model, SOM in the early 1990s. Some claim that Microsoft paved the way for actual deployment of component software with OLE and COM. Today, several successful software component models exist.

Differences from object-oriented programming

The idea in object-oriented programming (OOP) is that software should be written according to a mental model of the actual or imagined objects it represents. OOP and the related disciplines of object-oriented design and object-oriented analysis focus on modelling real-world interactions and attempting to create 'verbs' and 'nouns' which can be used in intuitive ways, ideally by end users as well as by programmers coding for those end users.

Software components, by contrast, makes no such assumptions, and instead states that software should be developed by gluing prefabricated components together much like in the field of electronics or mechanics. It accepts that the definitions of useful components, unlike objects, can be counter-intuitive. In general it discourages anthropomorphism and naming, and is far more pessimistic about the potential for end user programming.

Some argue that this distinction was made by earlier computer scientists, with Donald Knuth's theory of "literate programming" optimistically assuming there was convergence between intuitive and formal models, and Edsger Dijkstra's theory in the article The Cruelty of Really Teaching Computer Science, which stated that programming was simply, and only, a branch of mathematics.

It takes significant effort and awareness to write a software component that is effectively reusable.

Architecture

A computer running several software components is called an application server. Using this combination of application servers and software components is usually called distributed computing. The usual real-world application of this is in financial applications or business software.

 
 
References
Information is taken in whole, or in part, from Wikipedia, The Free Encyclopedia - which is a fully independent knowledge resource that has no affiliation with Select Business Solution. As a result, Select Business Solutions takes no responsibility for the accuracy. If you believe the information is wrong, please contact us and we will investigate.
 
 
 
Learn More

To find out more about how Select Business Solutions can help you Contact Us today.
 
 
 
 
 

CMMI and Component Based Development Modeling tools available for free trial
About Us
Customers
Downloads
Learning Zone
News & Events
Partners
Products
Services
Solutions
Support
Webcasts
Industry Links

Analysis and Design
Business Intelligence
Component Reuse
Process Maturity
SD Library
Books

 

 


About Us | Customers | Downloads | Learning Zone | News & Events | Partners | Products | Services | Solutions | Support | Webcasts | Industry Links  
Copyright 2006, Select Business Solutions, Inc. All rights reserved.