<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/1.5.2" -->
<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/"
>

<channel>
	<title>Build Up To Something</title>
	<link>http://www.stevenchoy.com/wordpress</link>
	<description>Teaching, Learning, Software, Computing, Web, Tech, and Culture</description>
	<pubDate>Tue, 07 Aug 2007 00:48:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.2</generator>
	<language>en</language>

		<item>
		<title>Install activeCollab  on Ubuntu Server</title>
		<link>http://www.stevenchoy.com/wordpress/install-activecollab-on-ubuntu-server/</link>
		<comments>http://www.stevenchoy.com/wordpress/install-activecollab-on-ubuntu-server/#comments</comments>
		<pubDate>Thu, 03 Aug 2006 08:05:06 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
	<category>Cool Software</category>
		<guid>http://www.stevenchoy.com/wordpress/install-activecollab-on-ubuntu-server/</guid>
		<description><![CDATA[	activeCollab is an open-source, web based collaboration and project management tool. I am excited about it after reading some materials from the web. Here I record down the steps I installed it on my newly installed Ubuntu 6.06 LTS (Dapper Drake) LAMP Server. I only use Putty (login as root onto the Ubuntu server) and [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://www.activecollab.com/">activeCollab</a> is an open-source, web based collaboration and project management tool. I am excited about it after reading some materials from the web. Here I record down the steps I installed it on my newly installed Ubuntu 6.06 LTS (Dapper Drake) LAMP Server. I only use Putty (login as root onto the Ubuntu server) and a web browser to finish the task. It only takes me less than 15 minutes.</p>
	<p><strong>Step 1:</strong> Open a Putty session and type the following commands:</p>
	<blockquote><p>wget http://www.activecollab.com/files/0.6/activeCollab.zip</p>
	<p>unzip activeCollab.zip</p>
	<p>cp -r activeCollab /var/www/</p>
	<p>cd /var/www</p>
	<p>chown -R www-data activeCollab/</p>
	<p>cd activeCollab</p>
	<p>chmod -R 766 cache/</p>
	<p>chmod -R 766 config/</p>
	<p>chmod -R 766 public/
</p></blockquote>
	<p><strong>Step 2:</strong> Create MySQL database and database user.  I use &#8216;activecollab&#8217; as the database name, &#8216;acdbuser&#8217; as the database username, and &#8216;******&#8217; as the database password&#8217;. Type the following commands with the existing Putty session.</p>
	<blockquote><p>mysql -u root -p</p>
	<pre>Enter password: ******
mysql > create database activecollab;
mysql > grant all privileges on activecollab.*
to 'acdbuser'@'localhost' identified by '******';
mysql > exit
</pre></blockquote>
	<p><strong>Step 3:</strong> Open a web browser and type &#8216;http://yourdomain.com/activecollab/install&#8217; as the URL. Follow the instructions. You need to input the database name, username, and passowrd you decided earlier.</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/install-activecollab-on-ubuntu-server/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Software Configuration Management Systems</title>
		<link>http://www.stevenchoy.com/wordpress/version-control-and-software-configuration-management-systems/</link>
		<comments>http://www.stevenchoy.com/wordpress/version-control-and-software-configuration-management-systems/#comments</comments>
		<pubDate>Wed, 08 Mar 2006 06:10:14 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
		<guid>http://www.stevenchoy.com/wordpress/version-control-and-software-configuration-management-systems/</guid>
		<description><![CDATA[	The following lists seven software configuration management tools.  Some of them offer test drive to play with. Examples: BitKeeper&#8217;s 30-Minute Test Drive, Perforce&#8217;s Ten-Minute Test Drive.
	CVS - Concurrent Versions System
	CVS is a version control system, an important component of Source Configuration Management (SCM). Using it, you can record the history of sources files, and [...]]]></description>
			<content:encoded><![CDATA[	<p>The following lists seven software configuration management tools.  Some of them offer test drive to play with. Examples: <a href="http://www.bitkeeper.com/Test.html">BitKeeper&#8217;s 30-Minute Test Drive</a>, <a href="http://www.perforce.com/perforce/demo/windows/windemo.html">Perforce&#8217;s Ten-Minute Test Drive</a>.</p>
	<p><strong><a href="http://www.nongnu.org/cvs/">CVS - Concurrent Versions System</a></strong></p>
	<blockquote><p>CVS is a version control system, an important component of Source Configuration Management (SCM). Using it, you can record the history of sources files, and documents.</p></blockquote>
	<p><a id="more-282"></a><strong><a href="http://subversion.tigris.org/">Subversion</a></strong></p>
	<blockquote><p>The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community. The software is released under an Apache/BSD-style open source license.
</p></blockquote>
	<p><strong><a href="http://www.bitkeeper.com/">BitKeeper</a></strong></p>
	<blockquote><p>BitKeeper is a product family that includes (1) BK/Pro, the configuration management part, (2) the BitKeeper GUI tools, which make software development easy, fast, and productive, (3) BK/Web, the web-based interface for viewing changes and tracking project progress.</p></blockquote>
	<p><strong><a href="http://msdn.microsoft.com/vstudio/previous/ssafe/">Microsoft&#8217;s Visual SourceSafe</a></strong></p>
	<blockquote><p>A developer can use Microsoft Visual SourceSafe with any type of file produced by any development language, authoring tool, or application. Using it enables users to work at file and project levels while also promoting file reuse. Its project-oriented features increase the efficiency of managing day-to-day tasks associated with team-based software and Web content development.</p></blockquote>
	<p><strong><a href="http://www.perforce.com/">Perforce</a></strong></p>
	<blockquote><p>The Perforce Software Configuration Management System features comprehensive SCM capabilities built around a scalable client/server architecture. Users can access the Perforce Server through a range of Perforce client software. Perforce can be deployed quickly and easily, and requires minimal administration even for large or distributed sites.
</p></blockquote>
	<p><strong><a href="http://www-306.ibm.com/software/awdtools/clearcase/">IBM&#8217;s Rational ClearCase</a></strong></p>
	<blockquote><p>IBM Rational® ClearCase® provides life cycle management and control of software development assets. With integrated version control, automated workspace management, parallel development support, baseline management, and build and release management, Rational ClearCase provides the capabilities needed to create, update, build, deliver, reuse and maintain business-critical assets.</p></blockquote>
	<p><strong><a href="http://www.telelogic.com/corp/Products/synergy/">Telelogic SYNERGY</a></strong></p>
	<blockquote><p>Telelogic SYNERGY™ is the award-winning tool suite for task-based Change Management and Configuration Management. SYNERGY provides lifecycle control for your company&#8217;s digital assets, enabling you to assess and authorize change requests, from both internal and external sources, using a change control workflow customized to your needs.</p></blockquote>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/version-control-and-software-configuration-management-systems/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Java Design Patterns Explained</title>
		<link>http://www.stevenchoy.com/wordpress/java-design-patterns-explained-and-practical-examples/</link>
		<comments>http://www.stevenchoy.com/wordpress/java-design-patterns-explained-and-practical-examples/#comments</comments>
		<pubDate>Wed, 08 Feb 2006 07:12:21 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
	<category>Java Computing</category>
		<guid>http://www.stevenchoy.com/wordpress/java-design-patterns-explained-and-practical-examples/</guid>
		<description><![CDATA[	I looked for some materials to aid teaching and learning of software design patterns. I wanted something suitable for students to play with during practical and tutorial sessions. 
	The first website I reached is Java Design Patterns Reference and Examples at FluffyCat.com. This site provides simple yet good and complete example codes for many design [...]]]></description>
			<content:encoded><![CDATA[	<p>I looked for some materials to aid teaching and learning of software design patterns. I wanted something suitable for students to play with during practical and tutorial sessions. </p>
	<p>The first website I reached is <a href="http://www.fluffycat.com/Java-Design-Patterns/">Java Design Patterns Reference and Examples</a> at FluffyCat.com. This site provides simple yet good and complete example codes for many design patterns. However, there are no detailed descriptions nor in-depth discussions.</p>
	<p>The second website I reached is <a href="http://www.javaworld.com/">JavaWorld.com</a>. It contains some good articles on Java design patterns. Each article (around 1,0000 in length) focuses on one design pattern at a time and has example applications with explanation and discussions. The following are what I found useful for student practical works and classroom discussions. <a id="more-274"></a></p>
	<ul>
	<li><strong>Command Pattern</strong>: <a href="http://www.javaworld.com/javatips/jw-javatip68_p.html">Learn how to implement the Command pattern in Java</a>. Add flexibility and extensibility to your programs with this object-oriented equivalent of the callback.</li>
	<li><strong>Observer Pattern</strong>: <a href="http://www.javaworld.com/javaworld/jw-03-2003/jw-0328-designpatterns_p.html">An inside view of Observer</a>. The Observer pattern facilitates communication between decoupled objects. </li>
	<li><strong>Strategy Pattern</strong>: <a href="http://www.javaworld.com/javaworld/jw-04-2002/jw-0426-designpatterns_p.html">Strategy for success</a>. The powerful Strategy design pattern aids object-oriented design.</li>
	<li><strong>Composite Pattern</strong>: <a href="http://www.javaworld.com/javaworld/jw-09-2002/jw-0913-designpatterns_p.html">A look at the Composite design pattern</a>. Treat primitive and composite objects the same way.</li>
	<li><strong>Proxy Pattern</strong>: <a href="http://www.javaworld.com/javaworld/jw-02-2002/jw-0222-designpatterns.html?">Take control with the Proxy design pattern</a>. The Proxy design pattern substitutes a proxy for an object, making your applications more efficient.</li>
	<li><strong>Adapter Pattern</strong>: <a href="http://www.javaworld.com/javaworld/jw-09-2003/jw-0926-designpatterns_p.html">Adopt Adapter</a>. Understand how adapters let disparate systems work together.
</li>
	<li><strong>Façade Pattern</strong>: <a href="http://www.javaworld.com/javaworld/jw-05-2003/jw-0530-designpatterns_p.html">Façade clears complexity</a>. Develop dialog boxes and Swing apps faster.</li>
	</ul>
	<p>Related post in this weblog: <a href="http://www.stevenchoy.com/wordpress/java-design-patterns/">Study Guide on Java Design Patterns</a></p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/java-design-patterns-explained-and-practical-examples/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>The Open-Closed and the Liskov Substitution Principles</title>
		<link>http://www.stevenchoy.com/wordpress/the-open-closed-principle-and-the-liskov-substitution-principle/</link>
		<comments>http://www.stevenchoy.com/wordpress/the-open-closed-principle-and-the-liskov-substitution-principle/#comments</comments>
		<pubDate>Sun, 15 Jan 2006 16:23:31 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
		<guid>http://www.stevenchoy.com/wordpress/the-open-closed-principle-and-the-liskov-substitution-principle/</guid>
		<description><![CDATA[	These are two important principles for a good object-oriented design (OOD).
	The Open-Closed principle states that well-designed code should be open for extension and closed for modification. In other words, in a well-designed program, new functionalities are added by adding new code rather than by modifying already working code. It is the foundation for building software [...]]]></description>
			<content:encoded><![CDATA[	<p>These are two important principles for a good object-oriented design (OOD).</p>
	<p><strong>The Open-Closed principle</strong> states that well-designed code should be open for extension and closed for modification. In other words, in a well-designed program, new functionalities are added by adding new code rather than by modifying already working code. It is the foundation for building software that is maintainable and reusable. This principle was coined by <strong>Bertrand Meyer</strong> in his book titled <strong>Object Oriented Software Construction</strong>. The second edition of this book is introduced <a href="http://archive.eiffel.com/doc/oosc/">here in Eiffel Software</a>.</p>
	<p><a id="more-265"></a>An article obtained from <a href="http://www.objectmentor.com/">Object Mentor</a> give a very good introduction on the Open-Closed principle. Here is the direct link to this article:  <a href="http://www.objectmentor.com/resources/articles/ocp.pdf">The Open-Closed Principle (PDF file, 69 KB)</a>. The following is an excerpt of this article that introduces the principle.</p>
	<blockquote><p>
Modules that conform to the open-closed principle have two primary attributes.</p>
	<ol>
	<li>They are “Open For Extension”. This means that the behavior of the module can be extended. That we can make the module behave in new and different ways as the requirements of the application change, or to meet the needs of new applications.
</li>
	<li>They are “Closed for Modification”. The source code of such a module is inviolate. No one is allowed to make source code changes to it.
</li>
	</ol>
	<p>It would seem that these two attributes are at odds with each other. The normal way to extend the behavior of a module is to make changes to that module. A module that cannot be changed is normally thought to have a fixed behavior. How can these two opposing attributes be resolved?
</p></blockquote>
	<p><strong>The Liskov Substitution Principle</strong> (LSP) is a particular definition of subtype that was first introduced by <strong>Barbara Liskov</strong> in a 1988 paper entitled &#8220;Data Abstraction and Hierarchy&#8221;. This principle was then elaborated by Barbara Liskov and Jeannette Wing in a 1993 paper entitled &#8220;Family Values: A Behavioral Notion of Subtyping&#8221;. Essentially, the Liskov Substitution Principle states that</p>
	<blockquote><p>
Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.
</p></blockquote>
	<p>The above is a paraphrase of the LSP by another article obtained from <a href="http://www.objectmentor.com/">Object Mentor</a>. It gives a good explanation with clear examples on the LSF. Here is the direct link to this article: <a href="http://www.objectmentor.com/resources/articles/lsp.pdf">The Liskov Substitution Principle (PDF file, 30 KB)</a>.</p>
	<p>These two principles are related by noting that the LSP is an important feature of all programs that conform to the Open-Closed principle. </p>
	<p>A related principle to LSP is <strong>Design by Contract</strong> principle. It states that a sub-type can only have weaker pre-conditions and stronger post-conditions than its base class. Read this <a href="http://en.wikipedia.org/wiki/Design_by_contract">entry in Wikipedia</a> to learn more about Design by Contract.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/the-open-closed-principle-and-the-liskov-substitution-principle/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Top 16 Software Magazines</title>
		<link>http://www.stevenchoy.com/wordpress/top-16-software-magazines/</link>
		<comments>http://www.stevenchoy.com/wordpress/top-16-software-magazines/#comments</comments>
		<pubDate>Sun, 11 Dec 2005 16:34:59 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
		<guid>http://www.stevenchoy.com/wordpress/top-16-software-magazines/</guid>
		<description><![CDATA[	I learned this list of magazines from an international survey of readers about software. In making this list of hyperlinks for furture reference, I searched the web by entering the names of these 16 magazines, one by one, for Google Search. It took me very short time (around 20 minutes) to complete the task, since [...]]]></description>
			<content:encoded><![CDATA[	<p>I learned this list of magazines from an international survey of readers about software. In making this list of hyperlinks for furture reference, I searched the web by entering the names of these 16 magazines, one by one, for Google Search. It took me very short time (around 20 minutes) to complete the task, since all the first entries in those 16 searches brought me to the right places. </p>
	<p>(01) <a href="http://www.adtmag.com/"><strong>Application Development Trends</strong></a>: News and articles on application development trends, intended for software developers for enterprise environments.</p>
	<p>(02) <a href="http://www.stickyminds.com/BetterSoftware/magazine.asp"><strong>Better Software Magazine</strong></a>: Better Software Magazine helps software managers, testers and QA staff develop and deliver better software.</p>
	<p>(03) <a href="http://www.cuj.com/"><strong>C/C++ Users Journal</strong></a>: A great C/C++ journal for the intermediate to advanced user. <a id="more-257"></a></p>
	<p>(04) <a href="http://www.acm.org/pubs/cacm/"><strong>Communications of the ACM</strong></a>: Includes on-line versions of articles, author guidelines and editorial calendar.</p>
	<p>(05) <a href="http://www.computerworld.com/"><strong>Computerworld</strong></a>: News and product coverage for information technology managers.</p>
	<p>(06) <a href="http://www.ddj.com/"><strong>Dr. Dobb&#8217;s Journal</strong></a>: Software Tools for the Professional Programmer</p>
	<p>(07) <a href="http://www.embedded.com/"><strong>Embedded System Design</strong></a> (FKA Embedded Systems Programming) : Online edition of US print magazine Embedded Systems Programming. Component news and features on microcontroller and embedded microprocessor-based systems.</p>
	<p>(08) <a href="http://www.eweek.com/"><strong>eWeek</strong></a>: eWEEK Breaking information technology news, hardware, security, networking and software product reviews and testing, case studies and research.</p>
	<p>(09) <a href="http://www.computer.org/software/ad.htm"><strong>IEEE Software</strong></a>: Building the community of leading software practitioners</p>
	<p>(10) <a href="http://java.sys-con.com/"><strong>Java Developer&#8217;s Journal</strong></a>: &#8220;JDJ is the world&#8217;s premier independent, vendor-neutral print resource for the ever-expanding international community of Internet technology professionals using the Java programming language and the Java development platform.&#8221;</p>
	<p>(11) <a href="http://www.linuxjournal.com/"><strong>Linux Journal</strong></a>: The Original Monthly Magazine of the Linux Community</p>
	<p>(12) <a href="http://www.techreview.com/"><strong>MIT Technology Review</strong></a>: From MIT. Information on Emerging Technologies &#038; impact on business &#038; society.</p>
	<p>(13) <a href="http://msdn.microsoft.com/msdnmag/"><strong>MSDN Magazine</strong></a>: The Microsoft Journal for Developers.</p>
	<p>(14) <a href="http://www.sdtimes.com/"><strong>SD Times</strong></a>: Software Development, a BZ Media LLC publication.</p>
	<p>(15) <a href="http://www.sdmagazine.com/"><strong>Software Development</strong></a>: Covers the people, products, and practices of corporate software development.</p>
	<p>(16) <strong><a href="http://www.stpmag.com/">Software Test &#038; Performance</a></strong>: Software Test &#038; Performance is offered by BZ Media LLC, publishers of SD Times, and producers of the Software Test &#038; Performance Conference.</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/top-16-software-magazines/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Learn Something Concrete about Software Architecture</title>
		<link>http://www.stevenchoy.com/wordpress/learn-something-concrete-about-software-architecture/</link>
		<comments>http://www.stevenchoy.com/wordpress/learn-something-concrete-about-software-architecture/#comments</comments>
		<pubDate>Thu, 24 Nov 2005 09:34:47 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
		<guid>http://www.stevenchoy.com/wordpress/learn-something-concrete-about-software-architecture/</guid>
		<description><![CDATA[	In my teaching of software architecture, I introduced several architectural styles that can be used as a basis for the architecture of different systems. These include layered systems, pipes and filters, and model-view-controller design pattern. However, when it comes to giving some concrete examples of these software architectures, and how they can be integrated to [...]]]></description>
			<content:encoded><![CDATA[	<p>In my teaching of <strong>software architecture</strong>, I introduced several architectural styles that can be used as a basis for the architecture of different systems. These include <strong>layered systems</strong>, <strong>pipes and filters</strong>, and <strong>model-view-controller</strong> design pattern. However, when it comes to giving some concrete examples of these software architectures, and how they can be integrated to deal with a particular software design problems, it is not easy to give some good examples. Therefore, I searched the Web to look for some good articles for this purpose. Finally, I found this article good for learning, which describes something concrete about software architecture and design patterns.  <a id="more-249"></a></p>
	<p>Article: <a href="http://ccc.inaoep.mx/~labvision/too/papers/Software%20Architecture%20as%20a%20Combination%20of%20Patterns.pdf">Software Architecture as a Combination of Patterns</a> (4 pages)</p>
	<p>This article presents the four patterns, Layers, Pipes and Filters, Observer, and Model-View-Controller, are used in software architecture. It also shows that how these four different patterns can be integrated to deal with the design problem of the Ericsson Microwave Systems. I record down this for my future reference of this article. Here comes my excerpt from it.</p>
	<blockquote><p>In the <strong>Layers pattern</strong>, the system is structured as a number of layers that represent different levels of abstraction. One principle is that the components in each layer only know of and use components in lower layers.</p>
	<p>The <strong>Pipes and Filters pattern</strong> supports Data Flow Principle in the decomposition into subsystems.This pattern is used to solve the problem of structuring a big system that transforms a stream of data.</p>
	<p>The <strong>Observer design pattern</strong>, which is also referred to as Publish/Subscribe, supports the model of event handling in structuring the system. This pattern solves the problem where many different components must be  informed of a relatively rare event in a flexible way.</p>
	<p>The <strong>Model-View-Controller pattern</strong> divides the world into a model, a presentation part, and a control.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/learn-something-concrete-about-software-architecture/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>IEEE Certified Software Development Professional</title>
		<link>http://www.stevenchoy.com/wordpress/ieee-computer-society-certified-software-development-professional/</link>
		<comments>http://www.stevenchoy.com/wordpress/ieee-computer-society-certified-software-development-professional/#comments</comments>
		<pubDate>Fri, 04 Nov 2005 15:53:42 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
		<guid>http://www.stevenchoy.com/wordpress/ieee-computer-society-certified-software-development-professional/</guid>
		<description><![CDATA[	Different from other mature fields of engineering, such as civil engineering and electrical engineering, the field of software engineering lacks established ways to help developing professional’s credentials. What does it means to be a professionally qualified software engineer? How do you get there? In recent years, a number of software engineering certification programs comes to [...]]]></description>
			<content:encoded><![CDATA[	<p>Different from other mature fields of engineering, such as civil engineering and electrical engineering, the field of software engineering lacks established ways to help developing professional’s credentials. What does it means to be a professionally qualified software engineer? How do you get there? In recent years, a number of software engineering certification programs comes to address these issues. <a href="http://www.computer.org/">IEEE Computer Society</a> <a href="http://www.computer.org/certification">Certified Software Development Professional (CSDP) Program</a> is among them and provides a solid path to software engineering certification.</p>
	<p><a id="more-244"></a>One requirement for CSDP certification is that applicants have to demonstrate mastery of a body of knowledge by passing the CSDP examination. The 3.5-hours examination consists of 180 multiple-choice questions drawn from a number of knowledge areas in software engineering. The following is an outline of the CSDP Examination Specifications.</p>
	<blockquote><p><strong>Certified Software Development Professional</strong></p>
	<p>I. Business Practices and Engineering Economics<br />
II. Software Requirements<br />
III. Software Design<br />
IV. Software Construction<br />
V. Software Testing<br />
VI. Software Maintenance<br />
VII. Software Configuration Management<br />
VIII. Software Engineering Management<br />
IX. Software Engineering Process<br />
X. Software Engineering Tools and Methods<br />
XI. Software Quality</p></blockquote>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/ieee-computer-society-certified-software-development-professional/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>What is Services Computing?</title>
		<link>http://www.stevenchoy.com/wordpress/what-is-services-computing/</link>
		<comments>http://www.stevenchoy.com/wordpress/what-is-services-computing/#comments</comments>
		<pubDate>Wed, 02 Nov 2005 15:06:24 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
		<guid>http://www.stevenchoy.com/wordpress/what-is-services-computing/</guid>
		<description><![CDATA[	Services Computing is an emerging cross discipline that addresses how to make good use of software, computing, and information technologies to help people doing business services more effectively and efficiently. It involves modeling, creation, operation, and management of business services.
	I think about this term when I read IEEE Computer Magazine October 2005 issue about 2006 [...]]]></description>
			<content:encoded><![CDATA[	<p>Services Computing is an emerging cross discipline that addresses how to make good use of software, computing, and information technologies to help people doing business services more effectively and efficiently. It involves modeling, creation, operation, and management of business services.</p>
	<p>I think about this term when I read <em>IEEE Computer Magazine</em> October 2005 issue about <a href="http://conferences.computer.org/scc/2006/">2006 IEEE International Conference on Services Computing</a>. The conference has three major research tracks: Foundations of Services Computing, Services-Centric Business Models, and Business Process Integration and Management. The conference theme is “Services, Solutions, and Business Models of Services Computing”.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/what-is-services-computing/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Tools for Managing Software Requirements</title>
		<link>http://www.stevenchoy.com/wordpress/tools-for-managing-software-requirements/</link>
		<comments>http://www.stevenchoy.com/wordpress/tools-for-managing-software-requirements/#comments</comments>
		<pubDate>Mon, 31 Oct 2005 08:47:24 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
		<guid>http://www.stevenchoy.com/wordpress/tools-for-managing-software-requirements/</guid>
		<description><![CDATA[	To learn more concrete and practical about software requirements management (RM), I searched the Web to find some requirements management tools. In the beginning, I reached this website: Requirement Management Tools, which provides a list of 36 requirement management tools. By my heuristic guessing, I selected some tools to visit and finally found the following [...]]]></description>
			<content:encoded><![CDATA[	<p>To learn more concrete and practical about software requirements management (<strong>RM</strong>), I searched the Web to find some requirements management tools. In the beginning, I reached this website: <a href="http://www.jiludwig.com/Requirements_Management_Tools.html">Requirement Management Tools</a>, which provides a list of 36 requirement management tools. By my heuristic guessing, I selected some tools to visit and finally found the following RM tool very good and professional. I think it is sufficiently good for learning purpose.</p>
	<p><a id="more-240"></a><a href="http://www.serena.com/Products/rtm/home.asp"><strong>Serena RTM</strong></a>  </p>
	<blockquote><p>
Serena Requirements Traceability Management (RTM) is the world-class solution to your requirements management needs. </p>
	<p>Serena RTM enables organizations to centralize and organize requirements, regardless of their format, capturing them from documents stored in Microsoft Word or via its zero footprint Web client. RTM stores requirements securely in an auditable central repository and automatically traces their fulfillment or modification by authorized users. Requirements are made easily accessible for collaboration via a Web-based client, as well.
</p></blockquote>
	<p>The following three links are good starting points to learn more about managing software requirements in general and the Serena RTM product in specific. I call this way of learning &#8220;learning by looking at advertisment and real-life product&#8221;.</p>
	<p><a href="http://www.serena.com/Products/rtm/RTMtour01.asp">Product Tour</a> :: <a href="http://www.serena.com/Products/rtm/framework/serena.html"> Flash Demo</a> (7 mins) :: <a href="http://www.serena.com/shared/pdfs/RTM/B900-001-0105.pdf"> Product Brochure</a> (PDF file)</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/tools-for-managing-software-requirements/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Catherine Connor: Introduction to Software Requirements</title>
		<link>http://www.stevenchoy.com/wordpress/catherine-connor-introduction-to-software-requirements/</link>
		<comments>http://www.stevenchoy.com/wordpress/catherine-connor-introduction-to-software-requirements/#comments</comments>
		<pubDate>Sat, 29 Oct 2005 15:55:56 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
		<guid>http://www.stevenchoy.com/wordpress/catherine-connor-introduction-to-software-requirements/</guid>
		<description><![CDATA[	Introduction to Software Requirements (Catherine Connor)
	This is a good presentation that introduces Software Requirement. The author is with the Rational Software of IBM Software Group and a worldwide technical marketing and requirements specialist. I would recommend this to Software Engineering students. It is also good for review purpose.
]]></description>
			<content:encoded><![CDATA[	<p><a href="http://www3.software.ibm.com/ibmdl/pub/software/rational/web/pres/introSWReq.html"><strong>Introduction to Software Requirements</strong></a> (Catherine Connor)</p>
	<p>This is a good presentation that introduces Software Requirement. The author is with the <strong>Rational Software of IBM Software Group</strong> and a worldwide technical marketing and requirements specialist. I would recommend this to Software Engineering students. It is also good for review purpose.</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/catherine-connor-introduction-to-software-requirements/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Paul Graham: What Business Can Learn from Open Source</title>
		<link>http://www.stevenchoy.com/wordpress/paul-graham-what-business-can-learn-from-open-source/</link>
		<comments>http://www.stevenchoy.com/wordpress/paul-graham-what-business-can-learn-from-open-source/#comments</comments>
		<pubDate>Thu, 27 Oct 2005 01:44:59 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
	<category>Weblogs &#038; People</category>
		<guid>http://www.stevenchoy.com/wordpress/paul-graham-what-business-can-learn-from-open-source/</guid>
		<description><![CDATA[	Paul Graham recently gave a keynote speech on Oscon 2005 (O&#8217;Reilly Open Source Convention - August 1-5, 2005 - Portland, Oregon). I listened to his talk via IT Conversations. Here is the link: Paul Graham - An OSCON 2005 Keynote. 
	Graham pointed out and discussed the three big lessons that business can learn from open [...]]]></description>
			<content:encoded><![CDATA[	<p><strong>Paul Graham</strong> recently gave a keynote speech on <a href="http://conferences.oreillynet.com/os2005/">Oscon 2005</a> (O&#8217;Reilly Open Source Convention - August 1-5, 2005 - Portland, Oregon). I listened to his talk via <a href="http://www.itconversations.com/">IT Conversations</a>. Here is the link: <a href="http://www.itconversations.com/shows/detail657.html"><strong>Paul Graham - An OSCON 2005 Keynote</strong></a>. </p>
	<p>Graham pointed out and discussed the three big lessons that business can learn from open source and blogging.<br />
(1) People work harder on stuff they like.<br />
(2) The standard office environment is very unproductive.<br />
(3) Bottom-up often works better than top-down.</p>
	<p><a id="more-237"></a>He also predicted that the old paternalistic employer-employee relationship may finally be ditched by the force underlying open source and blogging.</p>
	<p>If you would like to read on this topic rather than listening. Here is the link: <strong><a href="http://www.paulgraham.com/opensource.html">What Business Can Learn From Open Source</a></strong> (A Paul Graham&#8217;s essay that is derived from a talk at Oscon 2005.)</p>
	<blockquote><p>
Paul Graham is the author of On Lisp, Ansi Common Lisp, and Hackers &#038; Painters; was co-founder of Viaweb (now Yahoo Store); discovered a simple Bayesian spam filter that inspired many present filters; and is one of the partners in Y Combinator. He has a PhD in computer science from Harvard and studied painting at RISD and the Accademia in Florence.
</p></blockquote>
	<p>This is my second post talking about Paul Graham. The first on is &#8220;<a href="http://www.stevenchoy.com/wordpress/great-hackers-according-to-paul-graham/">Great Hackers According to Paul Graham</a>.&#8221;</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/paul-graham-what-business-can-learn-from-open-source/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Professional UML Tools Free for Community</title>
		<link>http://www.stevenchoy.com/wordpress/professional-uml-tools-free-for-community/</link>
		<comments>http://www.stevenchoy.com/wordpress/professional-uml-tools-free-for-community/#comments</comments>
		<pubDate>Thu, 13 Oct 2005 02:09:59 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
		<guid>http://www.stevenchoy.com/wordpress/professional-uml-tools-free-for-community/</guid>
		<description><![CDATA[	I know there are a large number of UML Modeling Tools available to suit different needs and cater for different markets. You can easily get a list of them by searching the Web, for example, here, here, and here. 
	In my journey of finding a good one for my Software Engineering students, I gave the [...]]]></description>
			<content:encoded><![CDATA[	<p>I know there are a large number of <strong>UML Modeling Tools</strong> available to suit different needs and cater for different markets. You can easily get a list of them by searching the Web, for example, <a href="http://en.wikipedia.org/wiki/List_of_UML_tools">here</a>, <a href="http://plg.uwaterloo.ca/~migod/uml.html">here</a>, and <a href="http://www.objectsbydesign.com/tools/umltools_byCompany.html">here</a>. </p>
	<p>In my journey of finding a good one for my Software Engineering students, I gave the following three products a try: <a href="http://gentleware.com/index.php?id=downloadcenter">Poseidon for UML Community Edition</a>, <a href="http://www.visual-paradigm.com/product/vpuml/productinfovpumlce.jsp">Visual Paradigm for  UML Community Edition</a>, and <a href="http://www.omondo.com/download/free/eclipse_3x/index.html"> Omondo EclipseUML Free Edition.</a> They are all developed by large companies or organizations specialized in UML modeling software. The community edition or free edition provides the basic functionalities and is  available free for non-commercial use. I gave Visual Paradigm for UML a try because it is a product by a Hong Kong company. The following details how to get and install them.  <a id="more-231"></a></p>
	<p><a href="http://www.gentleware.com/index.php"><strong>Poseidon for UML by Gentleware</strong></a></p>
	<blockquote><p>Gentleware develops and distributes UML modeling tools and related products. Over 1,200,000 downloads makes our line &#8216;Poseidon for UML&#8217; one of the most popular UML tools worldwide.</p></blockquote>
	<p>Current version is 3.2. Price ranges from USD 89 (Student Special) to USD 3,590 (Enterprise). You can evaluate Poseidon for UML in various editions. You need to fill in a form and request the evaluation key. The key is valid for 30 days, the save function is limited to 8 diagrams. The Community Edition does not require a key. Download it <a href="http://gentleware.com/index.php?id=downloadcenter">here</a>. The file size is around 30 MB.</p>
	<p><a href="http://www.visual-paradigm.com/product/vpuml/"><strong>Visual Paradigm for UML</strong></a></p>
	<blockquote><p><strong>About the Company</strong>: Founded in early 2002, Visual Paradigm is a young and dynamic software company based in Hong Kong. The Company consists of a team of software engineers with a strong background in Object-Oriented Technology and Re-engineering.
</p></blockquote>
	<p>Current version is 5.0. Editions include Enterprise, Professional, Standard, Modeler, Personal, and Community. Price ranges from USD 59 for Personal Edition to USD 1,399 for Enterprise Edition. <a href="http://www.visual-paradigm.com/product/vpuml/productinfovpumlce.jsp">Community Edition</a> is available free for non-commercial use. The file size for download is 77.9MB.</p>
	<p><a href="http://www.omondo.com/download/free/eclipse_3x/index.html"><strong>Eclipse 3.1 + EclipseUML 2.1</strong></a></p>
	<blockquote><p>EclipseUML Free Edition and EclipseUML Studio are visual modeling tools, natively integrated with Eclipse 3.1 and JDK 5.</p></blockquote>
	<p>1. Download the file <a href="http://www.omondo.com/download/free/eclipse_3x/index.html">eclipseUML freeEdition</a> (25 MB) from Omondo.<br />
2. Download the file <a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/index.php">eclipse SDK</a> (105 MB).<br />
3. Unzip the file eclipse-SDK and put the folder eclipse in C:\ for example.<br />
4. Install EclipseUML Free Edition by running the Java command in DOS Command Prompt: java -jar eclipseUML_freeEdition.jar</p>
	<p>I will continue to evaluate them and hope it will come to a more concrete suggestion.</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/professional-uml-tools-free-for-community/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>A Good Book on Service-Oriented Architecture</title>
		<link>http://www.stevenchoy.com/wordpress/a-good-book-on-service-oriented-architecture/</link>
		<comments>http://www.stevenchoy.com/wordpress/a-good-book-on-service-oriented-architecture/#comments</comments>
		<pubDate>Tue, 11 Oct 2005 14:16:48 +0000</pubDate>
		<dc:creator>Steven Choy</dc:creator>
		
	<category>Software Engineering</category>
	<category>Internet Technologies</category>
		<guid>http://www.stevenchoy.com/wordpress/a-good-book-on-service-oriented-architecture/</guid>
		<description><![CDATA[	 Service-Oriented Architecture : A Field Guide to Integrating XML and Web Services by Thomas Erl, Prentice Hall, 2004.
	This is a highly-recommended book on Web services and service-oriented architecture. It can help you think differently about XML. It provides you with a step-by-step guide for succeeding with Web services. It is about software engineering with [...]]]></description>
			<content:encoded><![CDATA[	<p><img src="http://images.amazon.com/images/P/0131428985.01.MZZZZZZZ.jpg" alt="SOA" class="alignleft"/> <strong>Service-Oriented Architecture : A Field Guide to Integrating XML and Web Services</strong> by Thomas Erl, Prentice Hall, 2004.</p>
	<p>This is a highly-recommended book on Web services and service-oriented architecture. It can help you think differently about XML. It provides you with a step-by-step guide for succeeding with Web services. It is about software engineering with new technologies and new ways of thinking.</p>
	<p>I have put it in <a href="http://www.librarything.com/catalog.php?view=stevenchoy">my library</a>, and will spare some time to have a go on it. Here is the website of the book: <a href="http://www.soabooks.com/">SOABooks.com</a>, which supplements the book with a variety of resources, including a complete glossary, examples, articles, and current industry information.</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.stevenchoy.com/wordpress/a-good-book-on-service-oriented-architecture/feed/</wfw:commentRSS>
	</item>
	</channel>
</rss>
