<?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>Application Development Tools &#187; SSADM</title>
	<atom:link href="http://www.selectbs.com/adtblog/index.php/tag/ssadm/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.selectbs.com/adtblog</link>
	<description>Process Improvement, Business &#38; Systems Modeling</description>
	<lastBuildDate>Mon, 05 Jul 2010 09:22:50 +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>Training Software Engineers &#8211; Part 4 &#8211; Project-led Teaching</title>
		<link>http://www.selectbs.com/adtblog/index.php/2010/07/training-software-engineers-experiential-teaching/</link>
		<comments>http://www.selectbs.com/adtblog/index.php/2010/07/training-software-engineers-experiential-teaching/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 09:22:50 +0000</pubDate>
		<dc:creator>Phil Webb</dc:creator>
				<category><![CDATA[System modeling]]></category>
		<category><![CDATA[BPMN]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[SSADM]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.selectbs.com/adtblog/?p=62</guid>
		<description><![CDATA[In the final part of this series of posts on Training Software Engineers, having spent time talking about academic curricula and the subjects taught, I want to think about the methods used in educating software engineers and computer scientists. It&#8217;s a fairly simple premise: we need to be trained less on tasks which we carry [...]]]></description>
			<content:encoded><![CDATA[<p>In the final part of this series of posts on <a href="http://www.selectbs.com/adtblog/index.php/tag/training/">Training Software Engineers</a>, having spent time talking about academic curricula and the subjects taught, I want to think about the methods used in educating software engineers and computer scientists. It&#8217;s a fairly simple premise: we need to be trained less on tasks which we carry out frequently.</p>
<p><span id="more-62"></span>Those familiar with military aviation training methods and simulators will be aware of a fact which came to my attention just last week. During a meeting with a major UK supplier of military and civilian hardware and software, their representative reminded me that military pilots, once qualified, are most regularly trained in the tasks which they least regularly carry out.</p>
<p>While a pilot will be operating the undercarriage and trimming elevators or the rudder in every flight, he will hopefully never need to eject from the cockpit. However, should he ever need to, he absolutely must know how to go about it, the procedures that need to be carried out and the controls used to ensure his safe ejection from the cockpit and deployment of his parachute. To ensure that this is the case, he will regularly undergo cockpit ejection training in a simulator environment, but will rarely use a simulator to practise trimming procedures.</p>
<p>Whatever role we find ourselves in, most of us quickly internalize those activities which we regularly carry out. How does this relate to training software engineers?</p>
<p>During the last few years I&#8217;ve been disappointed to learn of the number of educational establishments which will teach many of the topics we&#8217;ve discussed <em>only</em> through a lecture format. Whilst I appreciate that projects are time-consuming to plan and run, my experience tells me that a student who is encouraged to use the techniques they learn in the context of a team project, will not only gain a better understanding of how a project is run and the project management techniques they&#8217;ve learned, but also will be more likely remember the likes of <a href="http://www.selectbs.com/adt/analysis-and-design/unified-modeling-language-uml">UML</a> and <a href="http://www.selectbs.com/adt/analysis-and-design/select-ssadm">SSADM</a>.</p>
<p>Application of taught skills is, in my view, essential to the full learning and further development of those skills, and also gives the opportunity for students to experience them in something closer to a real world environment, rather than just in the sterility of the lecture hall.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selectbs.com/adtblog/index.php/2010/07/training-software-engineers-experiential-teaching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Training Software Engineers &#8211; Part 1 &#8211; Conventional Techniques</title>
		<link>http://www.selectbs.com/adtblog/index.php/2010/05/training-software-engineers-ssadm/</link>
		<comments>http://www.selectbs.com/adtblog/index.php/2010/05/training-software-engineers-ssadm/#comments</comments>
		<pubDate>Mon, 24 May 2010 09:19:14 +0000</pubDate>
		<dc:creator>Phil Webb</dc:creator>
				<category><![CDATA[System modeling]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[SSADM]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://www.selectbs.com/adtblog/?p=39</guid>
		<description><![CDATA[I&#8217;ve been involved in some significant training programmes over recent months and have come to realise a few things about the way we seem to teach our craft. These experiences are drawn from close to 200 hours of training I&#8217;ve delivered, developed or co-presented in the last year, which have ranged in content from &#8216;traditional&#8217; [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been involved in some significant training programmes over recent months and have come to realise a few things about the way we seem to teach our craft. These experiences are drawn from close to 200 hours of training I&#8217;ve delivered, developed or co-presented in the last year, which have ranged in content from &#8216;traditional&#8217; techniques such as SSADM through to &#8216;contemporary&#8217; agile and test-driven development. In this first post in the series, I&#8217;ll consider the relevance of the more mature approaches to software engineering to those currently learning the profession.</p>
<p><span id="more-39"></span></p>
<p>It&#8217;s clear to me that the use of the <a href="http://www.selectbs.com/adt/analysis-and-design/select-ssadm">Structured Systems Analysis and Design Method (SSADM)</a> is still an important part of the software engineering educational curriculum in many countries. I discussed this briefly in a recent debate with the author of one of the leading textbooks on software engineering, which in the latest editions has dropped its chapters on such &#8216;traditional&#8217; techniques. While it&#8217;s true that much of the commercial software world has moved onto &#8216;contemporary&#8217; techniques, I believe there is still some educational value to be gained from understanding SSADM.</p>
<p>The key point is that many of the contemporary techniques are simply that: <em>techniques</em>. Many of the standards from the Object Management Group do not advocate a particular <em>method</em> of invoking techniques such as the <a href="http://www.selectbs.com/adt/analysis-and-design/what-is-the-unified-modeling-language-uml">Unified Modeling Language (UML)</a>, although of course a number of methodologies such as RUP and <a href="http://www.selectbs.com/adt/process-improvement/select-perspective">Select Perspective</a> incorporate UML techniques in their delivery. Therefore students may be taught how to model a system using use cases, classes, state models and components, but the <em>context </em>for that modeling activity is often less clearly communicated to them. The application of SSADM in an educational environment can really help students to understand the value of the common concepts behind all these techniques.</p>
<p>In particular, the concepts of abstraction and iteration can be very effectively taught using <a href="http://www.selectbs.com/adt/analysis-and-design/select-ssadm">SSADM tools</a>. The several levels of <a href="http://www.selectbs.com/adt/analysis-and-design/select-ssadm">dataflow diagram</a> advocated by both SSADM and <a href="http://www.selectbs.com/adt/analysis-and-design/select-yourdon">Yourdon</a> approaches are an ideal way to communicate to students how a high-level abstract view, which is simple and quick to understand, can be of real value to those trying to comprehend a complex system. Of course this high-level view is then iteratively <em>decomposed</em> (the reverse of abstraction) gradually increasing the level of detail of each process, until sufficient information is identified about the system.</p>
<p>Of course, the all-to-familiar occurrence of technology favouritism plays a part in how software engineering is taught. In my next post, I&#8217;ll consider the pitfalls of allowing personal preference to influence curriculum content too greatly, and the importance of providing a balanced viewpoint.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selectbs.com/adtblog/index.php/2010/05/training-software-engineers-ssadm/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

