<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Development At Heart &#187; Software Components</title>
	<atom:link href="http://ruicurado.com/category/software-components/feed/" rel="self" type="application/rss+xml" />
	<link>http://ruicurado.com</link>
	<description>Passionate About Software Development</description>
	<lastBuildDate>Mon, 02 Jan 2012 12:39:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Component-Based Development: The future begins now</title>
		<link>http://ruicurado.com/2008/10/28/component-based-development-the-future-begins-now/</link>
		<comments>http://ruicurado.com/2008/10/28/component-based-development-the-future-begins-now/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 15:37:36 +0000</pubDate>
		<dc:creator>Rui Curado</dc:creator>
				<category><![CDATA[Software Components]]></category>

		<guid isPermaLink="false">http://ruicurado.com/?p=14</guid>
		<description><![CDATA[I will today focus on another trend that I am particularly interested on: Component-Based Development, also known as Component-Based Software Engineering (CBSE). Conventional wisdom says: &#8220;Component-Based Development (CBD) claims to offer a radically new approach to the design, construction, implementation and evolution of software applications. Software applications are assembled from components from a variety of [...]]]></description>
			<content:encoded><![CDATA[<p>I will today focus on another trend that I am particularly interested on: Component-Based Development, also known as Component-Based Software Engineering (CBSE). Conventional wisdom says:</p>
<p>&#8220;Component-Based Development (CBD) claims to offer a radically new approach to the design, construction, implementation and evolution of software applications. Software applications are assembled from components from a variety of sources; the components themselves may be written in several different programming languages and run on several different platforms.&#8221;</p>
<p>Although CBD is normally associated with heterogeneous development (different sources and/or programming languages), I personally think that CBD is also useful within a closed environment.</p>
<p>For instance, CBD enforces a better organization of your application features. Does your application manipulate files? So, create a file-manipulation component! Obvious? Not quite.</p>
<p>It takes additional effort to write a software component that is truly reusable. The component needs:</p>
<p>- additional testing<br />
- robust input validity checking<br />
- to return useful error messages as necessary<br />
- to be fully documented</p>
<p>Szyperski and Messerschmitt claim that a component should:</p>
<p>- Have multiple uses<br />
- Not be context-specific<br />
- Be composable with other components<br />
- Be encapsulated : Only its interface is exposed<br />
- Be independently deployed and versioned</p>
<p>I am yet to find a software component technology that fulfils my own requirements: A lean and mean arquitecture that allows any developer to better organize and reuse his/her own development efforts.</p>
<p>That&#8217;s why I am developing my own lightweight component arquitecture! I plan to incrementally describe a specify it on this blog on the following weeks. Stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://ruicurado.com/2008/10/28/component-based-development-the-future-begins-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

