<?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>Grapii &#187; SDLC</title>
	<atom:link href="http://www.grapii.com/tag/sdlc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.grapii.com</link>
	<description>Personal Site of Raj Patel</description>
	<lastBuildDate>Mon, 06 Sep 2010 13:45:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>What is a System?</title>
		<link>http://www.grapii.com/2009/03/what-is-a-system/</link>
		<comments>http://www.grapii.com/2009/03/what-is-a-system/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 14:56:00 +0000</pubDate>
		<dc:creator>grapii</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[SDLC]]></category>

		<guid isPermaLink="false">http://www.grapii.com/2009/03/what-is-a-system/</guid>
		<description><![CDATA[It is beyond the scope of this post to embark on a detailed discussion of system theory. However, it is useful to have a working definition of the word system.
If we look at some examples of systems:

Solar system 
Digestive system 
Public transport system 
Central heating system 
Computer system 

 
We may arrive at a tentative [...]]]></description>
			<content:encoded><![CDATA[<p>It is beyond the scope of this post to embark on a detailed discussion of system theory. However, it is useful to have a working definition of the word <strong><em>system</em></strong>.</p>
<p>If we look at some examples of systems:</p>
<ul>
<li>Solar system </li>
<li>Digestive system </li>
<li>Public transport system </li>
<li>Central heating system </li>
<li>Computer system </li>
</ul>
<p> <span id="more-869"></span>
<p>We may arrive at a tentative definition – <em>a system is a set of objects or elements that are viewed as a whole</em>. On its own, this is inadequate for our purposes because we are concerned only with systems that are man-made, and therefore under human control, and that have a purpose – otherwise the system cannot be designed by a system developer. This rules out the solar system (no known purpose) and the digestive system (not under human control). An improved definition therefore would be: <em>a system is a set of objects or elements that are viewed as a whole and designed to achieve a purpose.</em></p>
<h2>Relationships</h2>
<p>Another essential feature in our view of systems is that the elements of a system have a relationship to one another; they work together in some way. A heap of stones, for example, although it may be man-made and have the purpose of marking the top of a hill, does not qualify as a system because the elements do not have a significant relationship to one another. If you take one stone from the pile, it does not matter much to the others. In a system removing one element would matter. If you remove the train service from the public transport system, it puts pressure on the other services – it affects them. If you remove the boiler from the central heating system, the system will not work. For our purposes, therefore, the definition of a system we need is: <em>a system is an interrelated set of objects or elements that are viewed as a whole and designed to achieve a purpose.</em></p>
<h2>Boundaries &amp; Environments</h2>
<p>We must add to this definition that a system has a boundary. The system in question lies inside the boundary; outside the <strong><em>system boundary</em></strong> is the <strong><em>environment</em></strong> with which the system interacts. Sometimes the boundary of a system is clear and obvious. If we view a person as a system the boundary is clear – one person is clearly separate from another and from the environment. In computer systems, however, it is usually hard to define the boundary; it is dictated by which elements we choose to think of as being within the system, and which as being part of the environment. The normal rule is that inside the system are things the system is designed to control; outside the system boundary are things the system interacts with, but is not designed to control. The boundary may be set because there are things over which we cannot have control – for example, in a central heating system the weather must be considered to be outside the boundary as we cannot control it. The boundary may also be set because we choose not to include certain elements. This choice may be dictated by the following factors.</p>
<ul>
<li><strong>Money constraints</strong>. We may find that it will cost too much to computerise more than a limited set of system functions. </li>
<li><strong>Time constraints</strong>. The more functions we computerise the longer it will take. </li>
<li><strong>Cost effectiveness</strong>. Sometimes only limited benefits are gained from expensive computerisation. </li>
</ul>
<p>The environment is defined as being the surrounding conditions, outside the boundary, that affect the system and may be affected by it but not controlled by it. We might define the weather conditions as being part of the environment of a central heating system.</p>
<h2>Summary</h2>
<p>To summarise: a <em>system is an interrelated set of objects or elements that are viewed as a whole and designed for a purpose; it has a boundary within which it lies and outside of which is the environment.</em> It is important to define the purpose or objectives of the system; different users will want different things from the system. From the outset, the system developer must be clear about the purpose of the system.</p>
<p><small>Carol Britton &amp; Jill Doake (2006) <em>Software System Development</em>       <br />4th Edition, McGraw-Hill</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grapii.com/2009/03/what-is-a-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Development Lessons</title>
		<link>http://www.grapii.com/2008/02/software-development-lessons/</link>
		<comments>http://www.grapii.com/2008/02/software-development-lessons/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 17:40:23 +0000</pubDate>
		<dc:creator>grapii</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[SDLC]]></category>

		<guid isPermaLink="false">http://www.grapii.com/?p=6</guid>
		<description><![CDATA[I was reading this top ten list yesterday, and I thought I can probably come up with my own list of things no-one told me before I started developing software. I&#8217;m going to highlight the three items I particularly agree with.
1. One of Hardest Aspects of Software Development is Communication
When you move &#8220;up&#8221; from being [...]]]></description>
			<content:encoded><![CDATA[<p>I was reading <a target="_blank" href="http://www.designobserver.com/archives/000121.html" title="Design Observer">this</a> top ten list yesterday, and I thought I can probably come up with my own list of things no-one told me before I started developing software. I&#8217;m going to highlight the three items I particularly agree with.<span id="more-6"></span></p>
<h3>1. One of Hardest Aspects of Software Development is Communication</h3>
<p>When you move &#8220;up&#8221; from being tucked away in the corner where you churn out code day in and day out, you&#8217;ll soon realise just how difficult it is to bridge the gap with non-technical people. You can spend hours gathering requirements and writing documentation until you&#8217;re blue in the face, but in the end projects will still be derailed by ineffective communication.</p>
<h3>2. Don&#8217;t Over-Think a Problem</h3>
<p>The 80% solution is good enough. Doubling time or cost just to get a slightly more elegant solution in place isn&#8217;t worth doing especially when considered in the context of business ROI. And don&#8217;t get wrapped up in the argument of over-building now to save time later on. Chances are that you&#8217;ll spend your efforts in the wrong place.</p>
<h3>3. Your Colleagues Can Teach You A Lot</h3>
<p>I like being the go-to-guy as much as anyone else, but it&#8217;s also important to recognise that other people on the team can teach you a lot. For example, your manager may not have a clue when it comes to the technical nitty-gritty, but there&#8217;s a good chance you can learn about dealing with people and the ever-present office politics. You can learn a lot if you just shut-up-and-listen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grapii.com/2008/02/software-development-lessons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
