<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9087893059528801352</id><updated>2012-02-16T10:53:04.451-08:00</updated><category term='Unit 7 Requirements Engineering'/><title type='text'>Software Engineering Notes in Plain Language</title><subtitle type='html'>This link blog intends to complement my course on software engineering. Pressman's book has been adopted for use in this course. Therefore the blog follows the organization of the text book. I hope the blog will be helpful to you.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>88</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1850770115210950225</id><published>2007-07-31T04:33:00.000-07:00</published><updated>2008-12-10T01:36:47.341-08:00</updated><title type='text'>Data Slice</title><content type='html'>Example:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4gSiG819sWo/Rq8eWu568PI/AAAAAAAAADU/YRguMKoFWNI/s1600-h/data+slice.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 184px; height: 307px;" src="http://2.bp.blogspot.com/_4gSiG819sWo/Rq8eWu568PI/AAAAAAAAADU/YRguMKoFWNI/s320/data+slice.GIF" alt="" id="BLOGGER_PHOTO_ID_5093323079476244722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="interventionhttp://ieeexplore.ieee.org/iel5/9462/30025/01374325.pdf?arnumber=1374325"&gt;Slice-Based Cohesion Metrics and Software &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1850770115210950225?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1850770115210950225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1850770115210950225' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1850770115210950225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1850770115210950225'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/data-slice.html' title='Data Slice'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4gSiG819sWo/Rq8eWu568PI/AAAAAAAAADU/YRguMKoFWNI/s72-c/data+slice.GIF' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-898382720629124741</id><published>2007-07-31T03:44:00.000-07:00</published><updated>2007-07-31T03:52:15.402-07:00</updated><title type='text'>The Mood Metrics Suite</title><content type='html'>The MOOD metrics suite consists of six metrics:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1 Method Hiding Factor&lt;/span&gt; (MHF): The MHF is defined as the ratio of the sum of the invisibilities of all methods defined in all classes to the total number of methods in a design.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2 Attribute Hiding Factor &lt;/span&gt;(AHF): The AHF is defined as the ratio of the sum of the invisibilities of all attributes defined in all classes to the total number of class attributes in a design.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3 Coupling Factor &lt;/span&gt;(CF): The CF metric is defined as the ratio of the number of class couplings to the maximum possible number of class couplings in a design.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4 Method Inheritance Factor&lt;/span&gt; (MIF): The MIF metric is defined as the ratio of the number of inherited (and not overridden) methods in all classes to the total number of available methods (locally defined plus inherited) for all classes in a design.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5 Attribute Inheritance Factor&lt;/span&gt; (AIF): The AIF metric is defined as the ratio of the number of inherited attributes in all classes to the total number of available attributes (locally defined plus inherited) for all classes in a design.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6 Polymorphism Factor&lt;/span&gt; (PF): The PF metric is defined as the ratio the number of methods that redefine inherited methods to the maximum number of possible distinct polymorphic situations.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://ieeexplore.ieee.org/iel5/10198/32541/01521206.pdf?arnumber=1521206"&gt;Indicators of Structural Stability of Object-Oriented Designs: A Case Study&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-898382720629124741?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/898382720629124741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=898382720629124741' title='144 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/898382720629124741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/898382720629124741'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/mood-metrics-suite.html' title='The Mood Metrics Suite'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>144</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3271007780866229596</id><published>2007-07-31T03:23:00.000-07:00</published><updated>2008-12-10T01:36:47.686-08:00</updated><title type='text'>Lack of cohesion in methods</title><content type='html'>Example (Source: &lt;a href="http://www.cs.auckland.ac.nz/compsci702s1c/lectures/ewan/cs702-notes-lec08-ck.pdf"&gt;OMPSCI702 Software Measurement The "CK" Metrics&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4gSiG819sWo/Rq8N_e568OI/AAAAAAAAADM/JZjNdN_ixag/s1600-h/1.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4gSiG819sWo/Rq8N_e568OI/AAAAAAAAADM/JZjNdN_ixag/s320/1.GIF" alt="" id="BLOGGER_PHOTO_ID_5093305087858241762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4gSiG819sWo/Rq8N6e568NI/AAAAAAAAADE/_ZTN2EGeWNw/s1600-h/2.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4gSiG819sWo/Rq8N6e568NI/AAAAAAAAADE/_ZTN2EGeWNw/s320/2.GIF" alt="" id="BLOGGER_PHOTO_ID_5093305001958895826" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3271007780866229596?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3271007780866229596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3271007780866229596' title='97 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3271007780866229596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3271007780866229596'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/lack-of-cohesion-in-methods.html' title='Lack of cohesion in methods'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4gSiG819sWo/Rq8N_e568OI/AAAAAAAAADM/JZjNdN_ixag/s72-c/1.GIF' height='72' width='72'/><thr:total>97</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-5946828681505927291</id><published>2007-07-31T02:31:00.000-07:00</published><updated>2007-07-31T03:26:02.241-07:00</updated><title type='text'>The CK Metrics Suite</title><content type='html'>The metrics are proposed by Chidamber and Kemerer.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/exercise-of-coupling-between-object.html"&gt;Exercise of Coupling between Object Classes (CBO)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Reference: &lt;a href="http://www.cs.auckland.ac.nz/compsci702s1c/lectures/ewan/cs702-notes-lec08-ck.pdf"&gt;COMPSCI702 Software Measurement The "CK" Metrics &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-5946828681505927291?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/5946828681505927291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=5946828681505927291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5946828681505927291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5946828681505927291'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/ck-metrics-suite.html' title='The CK Metrics Suite'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-6214911859332961821</id><published>2007-07-31T02:26:00.000-07:00</published><updated>2008-12-10T01:36:47.884-08:00</updated><title type='text'>Response for a class</title><content type='html'>When a large number of methods of a class can be invoked in response to a single message, the testing and debugging of the class becomes complicated. (Source: &lt;a href="http://www.computing.dcu.ie/%7Erenaat/objects/OOMetrics/sld029.htm"&gt;RFC&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Example (Source: &lt;a href="http://www.cs.auckland.ac.nz/compsci702s1c/lectures/ewan/cs702-notes-lec08-ck.pdf"&gt;COMPSCI702 Software Measurement The "CK" Metrics&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4gSiG819sWo/Rq8EqO568MI/AAAAAAAAAC8/EIS9FrVYDNc/s1600-h/untitled.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4gSiG819sWo/Rq8EqO568MI/AAAAAAAAAC8/EIS9FrVYDNc/s320/untitled.GIF" alt="" id="BLOGGER_PHOTO_ID_5093294827181371586" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-6214911859332961821?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/6214911859332961821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=6214911859332961821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6214911859332961821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6214911859332961821'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/response-for-class.html' title='Response for a class'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4gSiG819sWo/Rq8EqO568MI/AAAAAAAAAC8/EIS9FrVYDNc/s72-c/untitled.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-8749008327194099488</id><published>2007-07-31T02:02:00.000-07:00</published><updated>2008-12-10T01:36:48.043-08:00</updated><title type='text'>Exercise of Coupling between object classes (CBO)</title><content type='html'>What is the CBO?&lt;br /&gt;&lt;br /&gt;(A) 3&lt;br /&gt;(B) 4&lt;br /&gt;(C) 5&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4gSiG819sWo/Rq77NO568LI/AAAAAAAAAC0/7F61G3RWLPE/s1600-h/untitled.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4gSiG819sWo/Rq77NO568LI/AAAAAAAAAC0/7F61G3RWLPE/s320/untitled.GIF" alt="" id="BLOGGER_PHOTO_ID_5093284433360515250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Source of the picture: &lt;a href="http://www.cs.kzoo.edu/AP/OOD/OODPresentation/CRC3.html"&gt;Identify Collaborations&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-8749008327194099488?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/8749008327194099488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=8749008327194099488' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8749008327194099488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8749008327194099488'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/exercise-of-coupling-between-object.html' title='Exercise of Coupling between object classes (CBO)'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4gSiG819sWo/Rq77NO568LI/AAAAAAAAAC0/7F61G3RWLPE/s72-c/untitled.GIF' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-5690781527895176540</id><published>2007-07-31T01:20:00.000-07:00</published><updated>2007-07-31T02:37:25.285-07:00</updated><title type='text'>Exercise of Depth of the inheritance tree</title><content type='html'>&lt;span lang="EN-GB"&gt;Why does some software practitioner say that a value of DIT greater than 4 will have to compromise encapsulation and  increase complexity?&lt;br /&gt;&lt;br /&gt;(Source: &lt;a href="http://www.objecteering.com/doc/metrics/metrics_in_detail/depth_of_inheritance_tree.htm"&gt;Depth of the inheritance three &lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-5690781527895176540?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/5690781527895176540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=5690781527895176540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5690781527895176540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5690781527895176540'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/exercise-of-depth-of-inheritance-three.html' title='Exercise of Depth of the inheritance tree'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-9117386838084791549</id><published>2007-07-31T01:07:00.000-07:00</published><updated>2007-07-31T01:09:01.797-07:00</updated><title type='text'>Exercise of cyclomatic complexity</title><content type='html'>What is the cyclomatic complexity below?&lt;br /&gt;(A) 4&lt;br /&gt;(B) 5&lt;br /&gt;(C) 6&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#!python&lt;br /&gt;def func(x):&lt;br /&gt;        if x==0:&lt;br /&gt;                return 3&lt;br /&gt;        elif x==1:&lt;br /&gt;                return 4&lt;br /&gt;        elif  x==2:&lt;br /&gt;                return 5&lt;br /&gt;        else:&lt;br /&gt;                return 0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-9117386838084791549?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/9117386838084791549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=9117386838084791549' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/9117386838084791549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/9117386838084791549'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/exercise-of-cyclomatic-complexity.html' title='Exercise of cyclomatic complexity'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-5215054130171342236</id><published>2007-07-31T00:58:00.000-07:00</published><updated>2007-07-31T01:19:50.978-07:00</updated><title type='text'>Weighted Methods per Class</title><content type='html'>&lt;p&gt;Sum the complexity of each method in a class. The complexity of each method can be the &lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/exercise-of-cyclomatic-complexity.html"&gt;cyclomatic complexity&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Cyclomatic Complexity is a procedural rather than an OO metric. However, it  still has meaning for OO programs at the method level (source: &lt;a href="http://eclipse-metrics.sourceforge.net/descriptions/CyclomaticComplexity.html"&gt;McCabe's Cyclomatic Complexity&lt;/a&gt; )&lt;/p&gt;Reference: &lt;a href="http://www.eli.sdsu.edu/courses/spring97/cs696/notes/metrics2/metrics2.html"&gt;CS 696: Advanced OO &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-5215054130171342236?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/5215054130171342236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=5215054130171342236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5215054130171342236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5215054130171342236'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/weighted-methods-per-class.html' title='Weighted Methods per Class'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3175063515083563443</id><published>2007-07-30T23:35:00.000-07:00</published><updated>2007-07-30T23:38:52.123-07:00</updated><title type='text'>In-process metrics</title><content type='html'>In-process metrics are measures related to the efficiency of software processes.&lt;br /&gt;&lt;br /&gt;Example: to track actual testing progress against plan and therefore to be able to be proactive upon early indications that testing activity is falling behind (Source: &lt;a href="http://www.research.ibm.com/journal/sj/401/kan.html"&gt;In process metrics of software testing&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3175063515083563443?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3175063515083563443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3175063515083563443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3175063515083563443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3175063515083563443'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/in-process-metrics.html' title='In-process metrics'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-9072043642600726390</id><published>2007-07-30T23:24:00.000-07:00</published><updated>2007-07-30T23:25:29.425-07:00</updated><title type='text'>Code Coverage</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;i&gt;&lt;span class="new"&gt;Statement  Coverage&lt;/span&gt;&lt;/i&gt; - Has each line of the source code been executed and tested?  &lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="new"&gt;Condition  Coverage&lt;/span&gt;&lt;/i&gt; - Has each evaluation point (such as a true/false decision)  been executed and tested?  &lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="new"&gt;Path Coverage&lt;/span&gt;&lt;/i&gt; -  Has every possible route through a given part of the code been executed and  tested?  &lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="new"&gt;Entry/Exit  Coverage&lt;/span&gt; - Has every possible call and return of the function been executed  and tested?&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;(Source &lt;a href="http://en.wikipedia.org/wiki/Code_coverage"&gt;wiki&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-9072043642600726390?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/9072043642600726390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=9072043642600726390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/9072043642600726390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/9072043642600726390'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/code-coverage.html' title='Code Coverage'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-764551028753210865</id><published>2007-07-30T22:23:00.001-07:00</published><updated>2008-12-10T01:36:48.379-08:00</updated><title type='text'>Testing Effectiveness</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4gSiG819sWo/Rq7JQ-568JI/AAAAAAAAACk/X0vD3EnDSNw/s1600-h/untitled.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4gSiG819sWo/Rq7JQ-568JI/AAAAAAAAACk/X0vD3EnDSNw/s320/untitled.GIF" alt="" id="BLOGGER_PHOTO_ID_5093229522203635858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;“Trying to improve quality by increasing testing is like trying to lose weight by weighing yourself more often.” McConnell, S., &lt;span style="font-style: italic;"&gt;Code Complete&lt;/span&gt;, Microsoft Press, 1993. (Source: &lt;a href="http://swqual.com/consulting/tea.pdf"&gt;Testing Effective Assessment &lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4gSiG819sWo/Rq7MWO568KI/AAAAAAAAACs/AQv90VwafTU/s1600-h/untitled.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 331px; height: 43px;" src="http://3.bp.blogspot.com/_4gSiG819sWo/Rq7MWO568KI/AAAAAAAAACs/AQv90VwafTU/s320/untitled.GIF" alt="" id="BLOGGER_PHOTO_ID_5093232910932832418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Source: &lt;a href="http://www.mathematik.uni-ulm.de/sai/mayer/soqua04/slides/sneed.pdf"&gt;Measuring the Effectiveness of a Test  &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-764551028753210865?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/764551028753210865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=764551028753210865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/764551028753210865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/764551028753210865'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/testing-effectiveness.html' title='Testing Effectiveness'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4gSiG819sWo/Rq7JQ-568JI/AAAAAAAAACk/X0vD3EnDSNw/s72-c/untitled.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3971425660984406754</id><published>2007-07-30T21:19:00.000-07:00</published><updated>2008-12-10T01:36:48.528-08:00</updated><title type='text'>Defect-related metrics</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://www.sei.cmu.edu/news-at-sei/columns/watts_new/1999/March/watts-mar99.htm"&gt;Source: &lt;/a&gt;Bugs per line of code (Also known as &lt;a href="http://irb.cs.tu-berlin.de/%7Ezuse/metrics/lecture02.html"&gt;defect density&lt;/a&gt;)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4gSiG819sWo/Rq66-e568II/AAAAAAAAACc/6cJ_A8S7x6Y/s1600-h/figure1-watts-mar99.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4gSiG819sWo/Rq66-e568II/AAAAAAAAACc/6cJ_A8S7x6Y/s320/figure1-watts-mar99.gif" alt="" id="BLOGGER_PHOTO_ID_5093213811213267074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Reference：&lt;br /&gt;(1) &lt;a href="http://www.cs.umd.edu/class/fall2004/cmsc735/CMSC735%204%20ChangeDefectMM.pdf"&gt;Change and Defect Models and Metrics&lt;/a&gt;&lt;br /&gt;(2) &lt;a href="http://software.isixsigma.com/library/content/c030910a.asp"&gt;Six Sigma Software Metrics&lt;/a&gt;&lt;h1&gt;&lt;b&gt;&lt;span&gt;&lt;b&gt;&lt;span style=";font-family:arial,sans-serif;font-size:180%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3971425660984406754?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3971425660984406754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3971425660984406754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3971425660984406754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3971425660984406754'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/defect-related-metrics.html' title='Defect-related metrics'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4gSiG819sWo/Rq66-e568II/AAAAAAAAACc/6cJ_A8S7x6Y/s72-c/figure1-watts-mar99.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2864384986476199980</id><published>2007-07-29T23:43:00.000-07:00</published><updated>2007-07-30T00:16:21.307-07:00</updated><title type='text'>Metrics for Source Code (Halstead's Theory)</title><content type='html'>Four scalar numbers are used to measure a program&lt;br /&gt;&lt;br /&gt;n1 = the number of distinct operators&lt;br /&gt;n2 = the number of distinct operands&lt;br /&gt;N1 = the total number of operators&lt;br /&gt;N2 = the total number of operands&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://www.sei.cmu.edu/str/descriptions/halstead_body.html"&gt;Halstead Complexity Measures&lt;/a&gt;&lt;br /&gt;&lt;map name="seilogo-navbar-map"&gt;&lt;area shape="RECT" coords="0,2,242,36" href="http://www.blogger.com/sei-home.html"&gt;&lt;area&gt;&lt;br /&gt;&lt;/map&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr align="left" valign="top"&gt;&lt;td&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="465"&gt;&lt;tbody&gt;&lt;tr align="left" valign="top"&gt;&lt;td&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="466"&gt;&lt;tbody&gt;&lt;tr align="left" valign="top"&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2864384986476199980?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2864384986476199980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2864384986476199980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2864384986476199980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2864384986476199980'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/metrics-for-source-code-halsteads.html' title='Metrics for Source Code (Halstead&apos;s Theory)'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-4878853221079888205</id><published>2007-07-29T06:53:00.000-07:00</published><updated>2008-12-10T01:36:48.813-08:00</updated><title type='text'>User Interface Metrics</title><content type='html'>Some examples of UI metrics&lt;br /&gt;&lt;br /&gt;(1) Information per screen (i.e. number of field between two enter keys per screen). Note that this is a measure more than a metric.&lt;br /&gt;&lt;br /&gt;(2) Differentiation: Cohesion is measured in terms of relationship between data on one screen.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4gSiG819sWo/Rq16NO568HI/AAAAAAAAACU/sZkjyoYN2mw/s1600-h/1.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 323px; height: 185px;" src="http://2.bp.blogspot.com/_4gSiG819sWo/Rq16NO568HI/AAAAAAAAACU/sZkjyoYN2mw/s320/1.GIF" alt="" id="BLOGGER_PHOTO_ID_5092861121383821426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;(3) Structuring:&lt;br /&gt;Every single &lt;span style="font-weight: bold;"&gt;input screen &lt;/span&gt;is presented as a graph note. The number of paths between various nodes should be as high as possible.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4gSiG819sWo/Rq16C-568GI/AAAAAAAAACM/2IFqwZNalYQ/s1600-h/2.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4gSiG819sWo/Rq16C-568GI/AAAAAAAAACM/2IFqwZNalYQ/s320/2.GIF" alt="" id="BLOGGER_PHOTO_ID_5092860945290162274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Source: &lt;span class="a"&gt;http://portal.acm.org/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-4878853221079888205?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/4878853221079888205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=4878853221079888205' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4878853221079888205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4878853221079888205'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/user-interface-design-metrics.html' title='User Interface Metrics'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4gSiG819sWo/Rq16NO568HI/AAAAAAAAACU/sZkjyoYN2mw/s72-c/1.GIF' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1355742898737760451</id><published>2007-07-29T06:18:00.000-07:00</published><updated>2007-07-30T23:19:51.495-07:00</updated><title type='text'>Lines Of Code</title><content type='html'>A line of code is every line but comment lines or blank lines. As you can see, this metric is not very  representative. You may break down a single line as two lines. However, LOC is  very popular.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;LOC=1&lt;/strong&gt;&lt;br /&gt;for (i=1; 10; 2) { a = a + i ; }&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;LOC=4&lt;/strong&gt;&lt;br /&gt;for (i=1; 10; 2)&lt;br /&gt;{&lt;br /&gt;  a = a + i ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;(1) &lt;a href="http://ieeexplore.ieee.org/iel1/2/7569/00312055.pdf?arnumber=312055"&gt;Software metrics: good, bad and missing &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1355742898737760451?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1355742898737760451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1355742898737760451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1355742898737760451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1355742898737760451'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/lines-of-code.html' title='Lines Of Code'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7280768031316158048</id><published>2007-07-29T05:56:00.000-07:00</published><updated>2007-07-29T06:15:58.561-07:00</updated><title type='text'>Architectural Design Metrics</title><content type='html'>Fan-out indicates the number of functions a function calls. Modifying a function can result in the functions that are called by the modified function. (&lt;a href="http://www.cdac.in/html/ssdgblr/metric.asp"&gt;Source&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Structural Complexity of a module i is&lt;br /&gt;S(i) = fan-out(i) * fan-out(i)&lt;br /&gt;&lt;br /&gt;More example of&lt;a href="http://www.plus-one.com/metrics_manual.html#fan_out"&gt; fan out&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7280768031316158048?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7280768031316158048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7280768031316158048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7280768031316158048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7280768031316158048'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/architectural-design-metrics.html' title='Architectural Design Metrics'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2237941628505681681</id><published>2007-07-29T05:51:00.000-07:00</published><updated>2007-07-29T05:52:17.805-07:00</updated><title type='text'>Function Point (FP)</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2237941628505681681?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2237941628505681681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2237941628505681681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2237941628505681681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2237941628505681681'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/function-point-fp.html' title='Function Point (FP)'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7459839232275232615</id><published>2007-07-29T05:48:00.000-07:00</published><updated>2007-07-30T23:44:45.187-07:00</updated><title type='text'>Product Metrics Landscape</title><content type='html'>&lt;strong&gt;Metrics for the analysis Model&lt;/strong&gt;&lt;br /&gt;Functionality Delivered (E.g. &lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/function-point-fp.html"&gt;Function Point&lt;/a&gt;)&lt;br /&gt;System Size (Eg. &lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/lines-of-code.html"&gt;LOC&lt;/a&gt;)&lt;br /&gt;Specification Quality&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Metrics for the design model&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/architectural-design-metrics.html"&gt;Architectural Metrics&lt;/a&gt;&lt;br /&gt;Component-level metrics&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/user-interface-design-metrics.html"&gt;Interface design metrics&lt;/a&gt;&lt;br /&gt;Specialized OO Design Metrics&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Metrics for source code&lt;/strong&gt;&lt;br /&gt;Halstead Metrics&lt;br /&gt;Complexity Metrics&lt;br /&gt;Length Metrics&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Metrics for testing&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/code-coverage.html"&gt;Statement and branch coverage metrics&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/defect-related-metrics.html"&gt;Defect related metrics&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/testing-effectiveness.html"&gt;Testing Effectiveness&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/in-process-metrics.html"&gt;In-process metrics&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;(1)  &lt;a href="http://www.mathematik.uni-ulm.de/sai/mayer/soqua04/slides/sneed.pdf"&gt;Measuring the Effectiveness of a Test &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7459839232275232615?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7459839232275232615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7459839232275232615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7459839232275232615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7459839232275232615'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/product-metrics-landscape.html' title='Product Metrics Landscape'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3475192013389688878</id><published>2007-07-27T22:20:00.000-07:00</published><updated>2007-07-27T22:21:06.740-07:00</updated><title type='text'>Fault-Based Testing</title><content type='html'>Software testing using test data designed to demonstrate the absence of a set of  pre-specified faults; typically, frequently occurring faults. For example, to  demonstrate that the software handles or avoids divide by zero correctly, the  test data would include zero. (&lt;a href="http://burks.bton.ac.uk/burks/foldoc/30/41.htm"&gt;Source&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3475192013389688878?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3475192013389688878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3475192013389688878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3475192013389688878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3475192013389688878'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/fault-based-testing.html' title='Fault-Based Testing'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3621311505789995825</id><published>2007-07-27T21:48:00.000-07:00</published><updated>2007-07-27T21:50:02.422-07:00</updated><title type='text'>Black Box Testing</title><content type='html'>&lt;ol&gt;&lt;li&gt;Easy-to-compute data  &lt;/li&gt;&lt;li&gt;Typical data  &lt;/li&gt;&lt;li&gt;Boundary / extreme data  &lt;/li&gt;&lt;li&gt;Bogus data &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Some References&lt;br /&gt;(1) &lt;a href="http://www.cse.fau.edu/%7Emaria/COURSES/CEN4010-SE/C13/black4.html"&gt;black box texting&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3621311505789995825?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3621311505789995825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3621311505789995825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3621311505789995825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3621311505789995825'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/black-box-testing.html' title='Black Box Testing'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1059237450162217300</id><published>2007-07-27T21:00:00.000-07:00</published><updated>2007-07-27T21:10:38.898-07:00</updated><title type='text'>Boundary Value Analysis</title><content type='html'>&lt;b&gt;Boundary value analysis&lt;/b&gt; is a software testing design technique to determine test cases covering off-by-one errors. The boundaries of software component input ranges are areas of frequent problems (&lt;a href="http://en.wikipedia.org/wiki/Boundary_value_analysis"&gt;Wiki&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Example: checking  &lt;span style="font-family: monospace;"&gt;&lt;/span&gt;if (month &gt; 0 &amp;&amp;amp; month &lt; 13)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1059237450162217300?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1059237450162217300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1059237450162217300' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1059237450162217300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1059237450162217300'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/boundary-value-analysis.html' title='Boundary Value Analysis'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-4464721026871960612</id><published>2007-07-27T20:36:00.000-07:00</published><updated>2007-07-27T21:56:49.038-07:00</updated><title type='text'>Equivalence Partitioning</title><content type='html'>An approach where classes of inputs are categorized for product or function validation. This usually does not include combinations of input, but rather a single state value based by class.&lt;br /&gt;(&lt;a href="http://www.geocities.com/xtremetesting/EquivalencePartitioning.html"&gt;Source&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Reference&lt;br /&gt;(1) &lt;a href="http://www.csc.calpoly.edu/%7Ejdalbey/205/Resources/grocerystore.html"&gt;Equivalence Partitioning Example&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-4464721026871960612?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/4464721026871960612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=4464721026871960612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4464721026871960612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4464721026871960612'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/equivalence-partitioning.html' title='Equivalence Partitioning'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2056870518471624734</id><published>2007-07-27T19:28:00.000-07:00</published><updated>2007-07-27T20:03:09.480-07:00</updated><title type='text'>Data Flow Testing</title><content type='html'>Data flow testing criteria are based on data flow information, i.e., variable definitions&lt;br /&gt;and uses.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DEF(S)={X| statement S contains a definition of X} &lt;/span&gt;&lt;br /&gt;Explanation: A variable v is defined by a statement if the execution of the statement updates&lt;br /&gt;the value associated to v. For example, v=1 or v=sqrt(2)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;USE(S) ={X| statement S contains a use of X} &lt;/span&gt;&lt;br /&gt;A variable v is used by a statement S if the effect of statement S depends on the current&lt;br /&gt;value of v, for example b=v and if (v==1)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Usage node, USE(v,n), is a node in the program graph where the specific variable, v, is used.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;A Definition-Use path, du-path, for a specific variable, v, is a path where DEF(v,i) and USE(v,e) are the initial and the end nodes of that path.  &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;A Definition-Clear path for a specific variable, v, is a Definition-Use path with DEF(v,x) and USE(v,y) such that there is no other node in the path that is a defining node of v.&lt;br /&gt;&lt;br /&gt;More examples, see Table 14.1 in &lt;a href="http://www.lta.disco.unimib.it/didattica/ControlloDellaQualitaDelSoftware2004-2005/capitoli%20del%20libro/Pezz%E8YoungCap14.pdf"&gt;Data Flow Testing &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;References :&lt;br /&gt;(1) &lt;a href="http://www.testingeducation.org/conference/wtst4/ChangLiu2005-WTST4-data-flow-testing-full-paper.pdf"&gt;Teaching “Data Flow Testing” in an Software Engineering Course&lt;/a&gt;&lt;br /&gt;(2) &lt;a href="http://www.blogger.com/cse.spsu.edu/ftsui/images%5CSWE6723_SWEII_DataFlow_EquivClass_Testing_2006.ppt"&gt;Couple of more testing methods&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2056870518471624734?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2056870518471624734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2056870518471624734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2056870518471624734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2056870518471624734'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/data-flow-testing.html' title='Data Flow Testing'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7193176189182862681</id><published>2007-07-27T08:14:00.000-07:00</published><updated>2007-07-27T08:19:49.513-07:00</updated><title type='text'>Common types of computer bugs with pseudocode example</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Divide by zero&lt;/strong&gt;:   B=0 ; A=A/B;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;NULL pointer dereference&lt;/strong&gt;:&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Infinite loops&lt;/strong&gt;: For i=10 to 1 step 1&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Arithmetic overflow or underflow&lt;/strong&gt;:&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Exceeding array bounds&lt;/strong&gt;: Define A[10] ....B=11; A[B]=1;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Using an uninitialized variable&lt;/strong&gt; :&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Accessing memory not owned (Access violation) &lt;/strong&gt;: &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Memory leak or Handle leak&lt;/strong&gt; :&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Stack overflow or underflow&lt;/strong&gt; :&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Buffer overflow&lt;/strong&gt; :&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Deadlock&lt;/strong&gt; :&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Off by one error&lt;/strong&gt; :&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Race condition&lt;/strong&gt; :&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Loss of precision in type conversion &lt;/strong&gt;:&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Source: &lt;a href="http://en.wikipedia.org/wiki/Computer_bug"&gt;Wiki&lt;/a&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7193176189182862681?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7193176189182862681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7193176189182862681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7193176189182862681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7193176189182862681'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/common-types-of-computer-bugs-with.html' title='Common types of computer bugs with pseudocode example'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-8068775049306935423</id><published>2007-07-27T04:07:00.000-07:00</published><updated>2007-07-27T04:12:02.886-07:00</updated><title type='text'>Stress Testing</title><content type='html'>&lt;pre&gt;&lt;span style="font-family:arial;"&gt;Stress Testing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Load Testing is subjecting a system to a statistically representative (usually) load. "Load testing" is merely testing at the highest &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;transaction arrival rate in performance testing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Performance Testing: See the text book&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-8068775049306935423?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/8068775049306935423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=8068775049306935423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8068775049306935423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8068775049306935423'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/stress-testing.html' title='Stress Testing'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1038819424523499376</id><published>2007-07-27T03:49:00.000-07:00</published><updated>2007-07-27T03:50:32.610-07:00</updated><title type='text'>Alpha and Beta Testing</title><content type='html'>&lt;i&gt;&lt;b&gt;Alpha testing&lt;/b&gt;&lt;/i&gt; is simulated or actual operational testing by  potential users/customers or an independent test team at the developers' site.  Alpha testing is often employed for off-the-shelf software as a form of internal  acceptance testing, before the software goes to beta testing. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Beta testing&lt;/b&gt;&lt;/i&gt; comes after alpha testing. Versions of the  software, known as beta  versions, are released to a limited audience outside of the company. The  software is released to groups of people so that further testing can ensure the  product has few faults or bugs. Sometimes, beta versions are made available  to the open public to increase the feedback field to a maximal number of  future users.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://en.wikipedia.org/wiki/Software_testing"&gt;wiki&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1038819424523499376?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1038819424523499376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1038819424523499376' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1038819424523499376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1038819424523499376'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/alpha-and-beta-testing.html' title='Alpha and Beta Testing'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1473744614658636485</id><published>2007-07-27T02:59:00.000-07:00</published><updated>2007-07-27T03:00:16.647-07:00</updated><title type='text'>Object Oriented Testing</title><content type='html'>&lt;span class="a"&gt;Reference: &lt;a href="http://people.cs.uct.ac.za/%7Ejgain/courses/SoftEng/SETest2.ppt"&gt;Object-oriented Testing &lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1473744614658636485?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1473744614658636485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1473744614658636485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1473744614658636485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1473744614658636485'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/object-oriented-testing.html' title='Object Oriented Testing'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2915853215384211421</id><published>2007-07-26T23:47:00.000-07:00</published><updated>2007-07-27T00:16:38.937-07:00</updated><title type='text'>Smoke Testing</title><content type='html'>In plumbing, a &lt;i&gt;smoke test&lt;/i&gt;  forces actual smoke through newly plumbed pipes to find leaks, before water is  allowed to flow through the pipes (&lt;a href="http://en.wikipedia.org/wiki/Smoke_testing"&gt;wiki&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;In software testing, &lt;i&gt;smoke testing&lt;/i&gt; is a  preliminary to further testing, which should reveal simple failures severe  enough to reject a prospective software release. In this case, the smoke is  metaphorical (&lt;a href="http://en.wikipedia.org/wiki/Smoke_testing"&gt;wiki&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Example of Smoke Test as Pre-release Testing:&lt;br /&gt;Mozilla.org performs a daily build, and runs adaily minimal “smoke test” on the build for several major platforms, in order to ensure the build is sufficiently stable to allow development work on it to proceed. If the build fails, “people get hassled until they fix the bits they brokes." If the smoke test identifies bugs, they are posted daily so that developers are aware of any serious problems in the build.&lt;br /&gt;(Source: &lt;a href="http://http://conway.isri.cmu.edu/%7Ejdh/collaboratory/research_papers/TOSEM-draft.pdf"&gt;Two Case Studies of Open Source Software Development&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2915853215384211421?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2915853215384211421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2915853215384211421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2915853215384211421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2915853215384211421'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/smoke-testing.html' title='Smoke Testing'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-786324774325763001</id><published>2007-07-26T21:28:00.000-07:00</published><updated>2007-07-26T21:33:08.980-07:00</updated><title type='text'>Criteria for Completion of Testing</title><content type='html'>When are we done testing enough? The answer is simple, I think.&lt;br /&gt;&lt;br /&gt;Since there is no software that will never fail and testing can be time-consuming, the straightforward answer can be good enough. Unfortunately, the term, good enough, is subjective.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-786324774325763001?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/786324774325763001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=786324774325763001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/786324774325763001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/786324774325763001'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/criteria-for-completion-of-testing.html' title='Criteria for Completion of Testing'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7285146971718106778</id><published>2007-07-26T20:52:00.000-07:00</published><updated>2007-07-26T21:02:07.941-07:00</updated><title type='text'>Strategic Issues (Antibugging)</title><content type='html'>Antibugging is similar to the concept of &lt;a title="Poka-yoke" href="http://en.wikipedia.org/wiki/Poka-yoke"&gt;Poka-yoke&lt;/a&gt; in &lt;a href="http://en.wikipedia.org/wiki/Toyota_Production_System"&gt;Toyota Production System&lt;/a&gt; (also known as Just-in-time).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7285146971718106778?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7285146971718106778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7285146971718106778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7285146971718106778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7285146971718106778'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/strategic-issues-antibugging.html' title='Strategic Issues (Antibugging)'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-5055708798075295483</id><published>2007-07-26T20:33:00.000-07:00</published><updated>2007-07-26T20:41:46.442-07:00</updated><title type='text'>Verification and Validation</title><content type='html'>"Testing does provide the last bastion from which quality can be assessed and more pragmatically, errors can be uncovered. But testing should not be viewed as a safety net."&lt;br /&gt;&lt;br /&gt;Why? (Hints: This is why we need software verification.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-5055708798075295483?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/5055708798075295483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=5055708798075295483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5055708798075295483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5055708798075295483'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/verification-and-validation.html' title='Verification and Validation'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-6177873188128434800</id><published>2007-07-26T20:06:00.000-07:00</published><updated>2007-07-26T20:17:18.338-07:00</updated><title type='text'>Organizing for Software Testing</title><content type='html'>Why is there an inherent conflict of interest in a software team? Here is an hint!&lt;br /&gt;&lt;br /&gt;There's a natural conflict between testers and programmers because of the  difference in perspective each role has. In the simple view, programmers are  centered on creation: they make things that didn't exist before. Like most  creators, programmers have a natural optimism about making new things and  solving problems. &lt;a href="http://www.oreillynet.com/pub/a/mac/2005/07/08/dev_team.html"&gt;From &lt;span style="font-style: italic;"&gt;How to End Wars Between Testers and Programmers&lt;/span&gt; &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-6177873188128434800?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/6177873188128434800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=6177873188128434800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6177873188128434800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6177873188128434800'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/organizing-for-software-testing.html' title='Organizing for Software Testing'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3329579338340862351</id><published>2007-07-26T08:04:00.002-07:00</published><updated>2007-07-31T02:35:08.534-07:00</updated><title type='text'>15 Product Metrics</title><content type='html'>&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/product-metrics-landscape.html"&gt;15.2.6 Product Metrics Landscape&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/ck-metrics-suite.html"&gt;15.4.3 The CK Metrics Suite&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3329579338340862351?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3329579338340862351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3329579338340862351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3329579338340862351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3329579338340862351'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/15-product-metrics.html' title='15 Product Metrics'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-8146855622750700796</id><published>2007-07-26T08:04:00.001-07:00</published><updated>2007-07-31T01:10:47.605-07:00</updated><title type='text'>14 Testing Tactics</title><content type='html'>&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/data-flow-testing.html"&gt;14.5.2 Data flow testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/equivalence-partitioning.html"&gt;Equivalence-partitioning&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/boundary-value-analysis.html"&gt;Boundary-value-analysis&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/black-box-testing.html"&gt;Black-box-testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/fault-based-testing.html"&gt;Fault-based-testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/exercise-of-cyclomatic-complexity.html"&gt;Exercise of Cyclomatic Complexity&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-8146855622750700796?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/8146855622750700796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=8146855622750700796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8146855622750700796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8146855622750700796'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/14-testing-tactics.html' title='14 Testing Tactics'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-4799370576818511275</id><published>2007-07-26T08:03:00.000-07:00</published><updated>2007-07-27T23:42:10.747-07:00</updated><title type='text'>13 Testing Strategies</title><content type='html'>&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/organizing-for-software-testing.html"&gt;Organizing for Software Testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/verification-and-validation.html"&gt;Verification and Validation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/strategic-issues-antibugging.html"&gt;Strategic Issues Antibugging&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/criteria-for-completion-of-testing.html"&gt;Criteria for Completion of Testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/smoke-testing.html"&gt;Smoke Testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/object-oriented-testing.html"&gt;Object Oriented Testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/alpha-and-beta-testing.html"&gt;Alpha and Beta Testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/stress-testing.html"&gt;Stress Testing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Miscellaneous Lists&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/common-types-of-computer-bugs-with.html"&gt;Common Types of Computer Bugs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-4799370576818511275?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/4799370576818511275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=4799370576818511275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4799370576818511275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4799370576818511275'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/13-testing-strategies.html' title='13 Testing Strategies'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3181753057995298243</id><published>2007-07-26T04:23:00.001-07:00</published><updated>2007-07-26T04:38:18.098-07:00</updated><title type='text'>What is SAP Business One</title><content type='html'>SAP Business One is to meet the needs of small business. There are 14 core modules (&lt;a href="http://en.wikipedia.org/wiki/SAP_Business_One"&gt;wiki&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="text"&gt;&lt;b&gt;SAP&lt;/b&gt; hopes to break into the small-enterprise market with the acquisition of Israeli's &lt;b&gt;TopManage Financial Systems&lt;/b&gt;. As you may guess, the financial functions should be stronger than manufacturing features.  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3181753057995298243?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3181753057995298243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3181753057995298243' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3181753057995298243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3181753057995298243'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/what-is-sap-business-one.html' title='What is SAP Business One'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-6798107020161254320</id><published>2007-07-26T03:23:00.000-07:00</published><updated>2007-07-26T03:48:29.913-07:00</updated><title type='text'>Analysis of the Work Enviornment</title><content type='html'>This topic can have been popular in software ergonomics&lt;br /&gt;&lt;br /&gt;Readers may refer to &lt;a href="httphttp://www.unt.edu/etd/all/May2005/Open/livingston_alan/dissertation.pdf"&gt;&lt;span style="font-family:Arial;"&gt;A Comparative      Analysis of Style of User Interface Look and Feel in a Synchronous Computer      Supported Cooperative Work Environment&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-6798107020161254320?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/6798107020161254320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=6798107020161254320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6798107020161254320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6798107020161254320'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/analysis-of-work-enviornment.html' title='Analysis of the Work Enviornment'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-9044065286800336078</id><published>2007-07-26T01:31:00.000-07:00</published><updated>2007-07-26T04:26:59.804-07:00</updated><title type='text'>SAP Business One</title><content type='html'>&lt;a href="http://softwareengineeringnotes.blogspot.com/"&gt;What is SAP Business One &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-9044065286800336078?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/9044065286800336078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=9044065286800336078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/9044065286800336078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/9044065286800336078'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/sap.html' title='SAP Business One'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1171235363037667941</id><published>2007-07-25T23:50:00.001-07:00</published><updated>2007-07-26T01:06:42.386-07:00</updated><title type='text'>User Interface Design Process</title><content type='html'>(1) Analysis: Understand your behavior and tasks&lt;br /&gt;(2) Interface Design: Work out details&lt;br /&gt;(3) Interface Construction: Develop prototypes or interface templates&lt;br /&gt;(4) Validation: Test the work products&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference &lt;a href="http://www.isii.com/style_guide/the_user_interface_design_process_overview.html"&gt;The User Interface Dsign Process Overview &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1171235363037667941?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1171235363037667941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1171235363037667941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1171235363037667941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1171235363037667941'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/user-interface-design-process.html' title='User Interface Design Process'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2354131515276889777</id><published>2007-07-25T22:47:00.000-07:00</published><updated>2007-07-26T04:58:37.913-07:00</updated><title type='text'>12 Performing User Interface Design</title><content type='html'>&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/user-interface-design-process.html"&gt;12.2.2 The Process (User Interface Design Process)&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/analysis-of-work-enviornment.html"&gt;12.3.4 Analysis of the Work Enviornment&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Miscellaneous Lists&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2354131515276889777?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2354131515276889777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2354131515276889777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2354131515276889777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2354131515276889777'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/12-performing-user-interface-design.html' title='12 Performing User Interface Design'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3983065371016145505</id><published>2007-07-25T21:28:00.001-07:00</published><updated>2007-07-25T21:42:33.658-07:00</updated><title type='text'>Program Design Language</title><content type='html'>&lt;b&gt;Program Design Language&lt;/b&gt; is a mix of pseudocode and natural language so that it can serve the purpose of developing code and software documents.&lt;br /&gt;&lt;br /&gt;Confusing? The existence of PDL explains that pseudocode alone is not good enough for documentation!&lt;br /&gt;&lt;br /&gt;Still Confusing! Have a look at a very good article &lt;a href="http://www.gamedev.net/reference/articles/article1384.asp"&gt;&lt;span class="title"&gt;Using PDL for Code Design and Documentation&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3983065371016145505?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3983065371016145505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3983065371016145505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3983065371016145505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3983065371016145505'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/program-design-language_25.html' title='Program Design Language'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-4333062055380507857</id><published>2007-07-25T21:06:00.000-07:00</published><updated>2007-07-25T21:09:29.021-07:00</updated><title type='text'>Basic Design Principles</title><content type='html'>&lt;ol&gt;&lt;li&gt;The Open-Closed Principle&lt;/li&gt;&lt;li&gt;The Liskov Substitution Principle&lt;/li&gt;&lt;li&gt;Dependency Inversion Principle&lt;/li&gt;&lt;li&gt;The Interface Segregation Principle&lt;/li&gt;&lt;li&gt;The Release Reuse Equivalence Principle&lt;/li&gt;&lt;li&gt;The Common Closure Principle&lt;/li&gt;&lt;li&gt;The Common Reuse Principle&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-4333062055380507857?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/4333062055380507857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=4333062055380507857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4333062055380507857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4333062055380507857'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/basic-design-principles.html' title='Basic Design Principles'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-5237809663441061934</id><published>2007-07-25T21:05:00.001-07:00</published><updated>2007-07-25T21:14:09.955-07:00</updated><title type='text'>Coupling</title><content type='html'>Content Coupling&lt;br /&gt;Common Coupling&lt;br /&gt;Control Coupling&lt;br /&gt;Stamp Coupling&lt;br /&gt;Data Coupling&lt;br /&gt;Routine Call Coupling&lt;br /&gt;Type Use Coupling&lt;br /&gt;Inclusion or Import Coupling&lt;br /&gt;External Coupling&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-5237809663441061934?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/5237809663441061934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=5237809663441061934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5237809663441061934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5237809663441061934'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/coupling.html' title='Coupling'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-8249132758777072541</id><published>2007-07-25T20:47:00.000-07:00</published><updated>2007-07-25T20:58:22.027-07:00</updated><title type='text'>Collaboration Diagram</title><content type='html'>Elements of a Collaboration diagram&lt;br /&gt;&lt;br /&gt;A Collaboration diagram have three main elements: object, Relation/Association and Messages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-8249132758777072541?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/8249132758777072541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=8249132758777072541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8249132758777072541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8249132758777072541'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/collaboration-diagram.html' title='Collaboration Diagram'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-6017902262087143528</id><published>2007-07-25T20:42:00.000-07:00</published><updated>2007-07-25T20:47:36.426-07:00</updated><title type='text'>OCL</title><content type='html'>Easy-to-learn Reference:&lt;br /&gt;&lt;a href="http://http://www.sciences.univ-nantes.fr/lina/atl/atldemo/oclturorial/"&gt;Interactive OCL Tutorial&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-6017902262087143528?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/6017902262087143528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=6017902262087143528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6017902262087143528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6017902262087143528'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/ocl.html' title='OCL'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-6257626054704902472</id><published>2007-07-25T20:26:00.001-07:00</published><updated>2007-07-26T05:04:32.730-07:00</updated><title type='text'>11 Modeling Component-Level Design</title><content type='html'>&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/component-diagram.html"&gt;11.1.1 An Object-Oriented View (Component Diagram)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/basic-design-principles.html"&gt;11.2.1 Basic Design Principles&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/coupling.html"&gt;11.2.4  Coupling&lt;/a&gt;&lt;/span&gt;&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/collaboration-diagram.html"&gt;11.3 Conducting Component-Level Deisgn (Collaboration Diagram)&lt;/a&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/ocl.html"&gt;11.4 Object Constraint Language&lt;/a&gt;&lt;/span&gt;&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/program-design-language_25.html"&gt;11.5.3 Program Design Language&lt;/a&gt;&lt;/span&gt;&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-6257626054704902472?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/6257626054704902472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=6257626054704902472' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6257626054704902472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6257626054704902472'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/11-component-level-design.html' title='11 Modeling Component-Level Design'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2367347745062699051</id><published>2007-07-25T09:47:00.000-07:00</published><updated>2007-07-25T20:21:27.918-07:00</updated><title type='text'>Component Diagram</title><content type='html'>In UML 2.0, a component is drawn as a rectangle with optional compartments stacked vertically.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2367347745062699051?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2367347745062699051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2367347745062699051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2367347745062699051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2367347745062699051'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/component-diagram.html' title='Component Diagram'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3994518743214147708</id><published>2007-07-25T08:02:00.000-07:00</published><updated>2007-07-25T08:11:30.892-07:00</updated><title type='text'>Agile Architecture Modeling</title><content type='html'>Same techniques as architecture modeling before, agile modeling puts emphasis on just enough modeling. The purposes are&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Improved productivity&lt;/strong&gt;: Some of the critical technical issues can be potentially avoided and therefore our software increases its software productivity.&lt;br /&gt;&lt;strong&gt;Reduced technical risk&lt;/strong&gt;: What we model doesn't mean what we have to build it. We should not  overbuild our system.  (This point is highly related to the above)&lt;br /&gt;&lt;strong&gt;Improved communication:&lt;/strong&gt; Our software team understand better what we think we are going to build and how we think that we will build it&lt;br /&gt;&lt;strong&gt;Scaling agile software development.&lt;/strong&gt;  Software architecture provides the technical direction required by sub-teams to define and guide their efforts within the overall project.&lt;br /&gt;&lt;br /&gt;For more information, please refer to &lt;a href="http://www.agilemodeling.com/essays/initialArchitectureModeling.htm"&gt;Agile Best Practice: Initial High-Level Architectural Modeling&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3994518743214147708?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3994518743214147708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3994518743214147708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3994518743214147708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3994518743214147708'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/agile-architecture-modeling.html' title='Agile Architecture Modeling'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-8179733510654088484</id><published>2007-07-25T03:55:00.000-07:00</published><updated>2007-07-25T03:59:16.257-07:00</updated><title type='text'>Exercise</title><content type='html'>This is a short report, &lt;a href="http://claymore.engineer.gvsu.edu/%7Eblaucha/c2d2/Structured%20Design%20Using%20Flowcharts.pdf"&gt;Structured Design Using Flowcharts&lt;/a&gt;, in which flowcharts are used instead of data flow diagrams? Which one will be more useful when you are writing a CRC application or a MasterMind game? Explain your answer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-8179733510654088484?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/8179733510654088484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=8179733510654088484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8179733510654088484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8179733510654088484'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/exercise_25.html' title='Exercise'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-5102307350613219830</id><published>2007-07-25T03:34:00.000-07:00</published><updated>2008-12-10T01:36:49.551-08:00</updated><title type='text'>Mapping Data Flow into a Software Architecture</title><content type='html'>&lt;div align="center"&gt;Question: How can we map the following diagram A into B?&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_4gSiG819sWo/Rqcp0u568FI/AAAAAAAAACE/kXO6w1MYq98/s1600-h/DFD.GIF"&gt;&lt;img id="BLOGGER_PHOTO_ID_5091083889686540370" style="margin: 0px auto 10px; display: block; text-align: center;" alt="" src="http://2.bp.blogspot.com/_4gSiG819sWo/Rqcp0u568FI/AAAAAAAAACE/kXO6w1MYq98/s320/DFD.GIF" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure A&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:arial;"&gt;V&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:arial;"&gt;V&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:arial;"&gt;V&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:arial;"&gt;V&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_4gSiG819sWo/RqcpgO568EI/AAAAAAAAAB8/Jynsp--6mIg/s1600-h/call.GIF"&gt;&lt;img id="BLOGGER_PHOTO_ID_5091083537499222082" style="margin: 0px auto 10px; display: block; text-align: center;" alt="" src="http://4.bp.blogspot.com/_4gSiG819sWo/RqcpgO568EI/AAAAAAAAAB8/Jynsp--6mIg/s320/call.GIF" border="0" /&gt; &lt;/a&gt;&lt;p align="center"&gt;Figure B&lt;/p&gt;&lt;p style="text-align: left;"&gt;Both diagrams are from &lt;span class="a"&gt;www.cs.njit.edu/~kirova/ppt/sec3e-e.ppt&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href="http://3.bp.blogspot.com/_4gSiG819sWo/Rqcnt-568CI/AAAAAAAAABs/-eqqWOyScII/s1600-h/DFD.GIF"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-5102307350613219830?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/5102307350613219830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=5102307350613219830' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5102307350613219830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5102307350613219830'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/mapping-data-flow-into-software.html' title='Mapping Data Flow into a Software Architecture'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4gSiG819sWo/Rqcp0u568FI/AAAAAAAAACE/kXO6w1MYq98/s72-c/DFD.GIF' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1144842263371558499</id><published>2007-07-25T01:28:00.000-07:00</published><updated>2008-12-10T01:36:49.819-08:00</updated><title type='text'>Call and Return Architecture</title><content type='html'>Example: This is an extremely common structure for many types of systems (page 307, Pressman)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_4gSiG819sWo/RqcOr-568BI/AAAAAAAAABk/QzipWjeNkV0/s1600-h/ldap-architecture.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5091054052548734994" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_4gSiG819sWo/RqcOr-568BI/AAAAAAAAABk/QzipWjeNkV0/s320/ldap-architecture.gif" border="0" /&gt;&lt;/a&gt; Source: &lt;a href="https://calnet.berkeley.edu/developers/documentation/v2TransitionGuide/index.html"&gt;https://calnet.berkeley.edu/developers/documentation/v2TransitionGuide/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1144842263371558499?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1144842263371558499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1144842263371558499' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1144842263371558499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1144842263371558499'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/call-and-return-architecture.html' title='Call and Return Architecture'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4gSiG819sWo/RqcOr-568BI/AAAAAAAAABk/QzipWjeNkV0/s72-c/ldap-architecture.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-68850834677794965</id><published>2007-07-25T01:22:00.000-07:00</published><updated>2008-12-10T01:36:50.042-08:00</updated><title type='text'>Layered Architecture</title><content type='html'>Example&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_4gSiG819sWo/RqcIiO567_I/AAAAAAAAABU/vkqwlfrW-i4/s1600-h/TCPIP.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5091047287975243762" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_4gSiG819sWo/RqcIiO567_I/AAAAAAAAABU/vkqwlfrW-i4/s320/TCPIP.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Source: &lt;a href="http://www.answers.com/topic/tcp-ip?cat=technology"&gt;http://www.answers.com/topic/tcp-ip?cat=technology&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-68850834677794965?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/68850834677794965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=68850834677794965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/68850834677794965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/68850834677794965'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/layered-architecture.html' title='Layered Architecture'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4gSiG819sWo/RqcIiO567_I/AAAAAAAAABU/vkqwlfrW-i4/s72-c/TCPIP.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-774145113914348674</id><published>2007-07-25T01:18:00.000-07:00</published><updated>2008-12-10T01:36:50.190-08:00</updated><title type='text'>Data-flow Architecture</title><content type='html'>Example&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_4gSiG819sWo/RqcHee567-I/AAAAAAAAABM/KdH-4Zn-_D0/s1600-h/pipelinegig.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5091046124039106530" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_4gSiG819sWo/RqcHee567-I/AAAAAAAAABM/KdH-4Zn-_D0/s320/pipelinegig.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Source: &lt;a href="http://portal.acm.org/citation.cfm?id=356687"&gt;http://portal.acm.org/citation.cfm?id=356687&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-774145113914348674?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/774145113914348674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=774145113914348674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/774145113914348674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/774145113914348674'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/data-flow-architecture.html' title='Data-flow Architecture'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4gSiG819sWo/RqcHee567-I/AAAAAAAAABM/KdH-4Zn-_D0/s72-c/pipelinegig.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1398182195197051086</id><published>2007-07-25T01:08:00.001-07:00</published><updated>2008-12-10T01:36:50.328-08:00</updated><title type='text'>Data-centered Architecture</title><content type='html'>Example&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_4gSiG819sWo/RqcFWO5679I/AAAAAAAAABE/r_UEnurvzHA/s1600-h/LogicInDB_fig1.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5091043783281930194" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_4gSiG819sWo/RqcFWO5679I/AAAAAAAAABE/r_UEnurvzHA/s320/LogicInDB_fig1.gif" border="0" /&gt;&lt;/a&gt; Source: &lt;a href="http://www.sqlsummit.com/Articles/LogicInTheDatabase.HTM"&gt;http://www.sqlsummit.com/Articles/LogicInTheDatabase.HTM&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1398182195197051086?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1398182195197051086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1398182195197051086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1398182195197051086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1398182195197051086'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/1031-data-centered-architecture.html' title='Data-centered Architecture'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4gSiG819sWo/RqcFWO5679I/AAAAAAAAABE/r_UEnurvzHA/s72-c/LogicInDB_fig1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3735036146005186065</id><published>2007-07-25T00:41:00.000-07:00</published><updated>2007-07-25T00:43:16.646-07:00</updated><title type='text'>Architectural Complexity</title><content type='html'>For software design, the complexity is &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;often&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;referred&lt;/span&gt; to the concept of coupling.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3735036146005186065?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3735036146005186065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3735036146005186065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3735036146005186065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3735036146005186065'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/architectural-complexity.html' title='Architectural Complexity'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7707499665723901639</id><published>2007-07-25T00:19:00.000-07:00</published><updated>2007-07-25T20:40:38.959-07:00</updated><title type='text'>Architecture Trade-Off Analysis Method</title><content type='html'>&lt;p&gt;According to &lt;a href="http://www.sei.cmu.edu/architecture/products_services/atam.html"&gt;SEI&lt;/a&gt;, The main part of the ATAM consists of nine steps separated into four groups: &lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Presentation&lt;/span&gt;, which involves exchanging ideas through presentations &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Investigation and analysis&lt;/span&gt;, which involves assessing key quality attribute requirements vis-a-vis architectural approaches &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Testing&lt;/span&gt;, which involves checking the results to date against the needs of all relevant stakeholders &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Reporting&lt;/span&gt;, which involves presenting the end results&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://www.sei.cmu.edu/architecture/products_services/atam.html"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sei.cmu.edu/publications/documents/00.reports/00tr004.html"&gt;http://www.sei.cmu.edu/publications/documents/00.reports/00tr004.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7707499665723901639?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7707499665723901639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7707499665723901639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7707499665723901639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7707499665723901639'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/architecture-trade-off-analysis-method.html' title='Architecture Trade-Off Analysis Method'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-772537354984459280</id><published>2007-07-24T23:57:00.000-07:00</published><updated>2007-07-25T00:01:30.056-07:00</updated><title type='text'>Describing Instantiations of the System</title><content type='html'>Before interpreting a System-definition, a consistent subset is chosen. This subset is called an instance of the System-definition. A system instance is an instantiation of a system type defined by a System-definition. (From &lt;a href="http://www.sintef.no/time/elb40/html/elb/sdl/sdl_z01.htm"&gt;System&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;What are the difference between sub-systems and instances? (Hints: sub-systems can be divided into more sub-systems)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-772537354984459280?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/772537354984459280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=772537354984459280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/772537354984459280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/772537354984459280'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/describing-instantiations-of-system.html' title='Describing Instantiations of the System'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-4107771728245186046</id><published>2007-07-24T23:15:00.000-07:00</published><updated>2007-07-24T23:33:36.566-07:00</updated><title type='text'>Refining the Architecture into Components</title><content type='html'>An archetype model is then refined into components.&lt;br /&gt;&lt;br /&gt;(1) If a conventional approach is chosen, components can be derived from the data flow model. See &lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/dfd-example.html"&gt;DFD Example&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(2) It is also possible to describe the more details in terms of functionality as shown in page 302 of the Pressman's book&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-4107771728245186046?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/4107771728245186046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=4107771728245186046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4107771728245186046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4107771728245186046'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/refining-architecture-into-components.html' title='Refining the Architecture into Components'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7067609974924502591</id><published>2007-07-24T22:30:00.000-07:00</published><updated>2007-07-24T23:06:36.684-07:00</updated><title type='text'>Defining Archetypes</title><content type='html'>An archetype is a generic, idealized model of a person, object, or concept from which similar instances are derived, copied, patterned, or emulated (&lt;a href="http://en.wikipedia.org/wiki/Archetype"&gt;wiki&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;For example, an archetype for a car: wheels, doors, seats, engine&lt;br /&gt;&lt;br /&gt;In software engineering, an archetype can be a number of major components to describe what we want to build.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7067609974924502591?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7067609974924502591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7067609974924502591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7067609974924502591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7067609974924502591'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/archetype-is-generic-idealized-model-of.html' title='Defining Archetypes'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2484618935544122665</id><published>2007-07-24T22:17:00.000-07:00</published><updated>2008-12-10T01:36:50.548-08:00</updated><title type='text'>Representing the system in Context</title><content type='html'>A System Context Diagram (SCD) is the highest level view of a system, showing a target system and its input and output from/to external actors.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_4gSiG819sWo/RqQg4-5674I/AAAAAAAAAAc/jImCRhG3LYA/s1600-h/marcoullisp_systems_dfd_context.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5090229642166202242" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_4gSiG819sWo/RqQg4-5674I/AAAAAAAAAAc/jImCRhG3LYA/s320/marcoullisp_systems_dfd_context.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;see &lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/dfd-example.html"&gt;DFD Example&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2484618935544122665?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2484618935544122665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2484618935544122665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2484618935544122665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2484618935544122665'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/representing-system-in-context.html' title='Representing the system in Context'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4gSiG819sWo/RqQg4-5674I/AAAAAAAAAAc/jImCRhG3LYA/s72-c/marcoullisp_systems_dfd_context.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-18458122983754533</id><published>2007-07-24T20:44:00.000-07:00</published><updated>2007-07-24T20:53:14.706-07:00</updated><title type='text'>10.2.2 Data Design at the Component Level</title><content type='html'>Low-level data design decisions should be deferred until late in the design process. Example:&lt;br /&gt;&lt;br /&gt;(1) Less Details&lt;br /&gt;Entity relationship Diagrams&lt;br /&gt;Business process Diagrams&lt;br /&gt;&lt;br /&gt;(2) More Details&lt;br /&gt;User feedback documentation&lt;br /&gt;&lt;br /&gt;(3) Very Details&lt;br /&gt;Have the above ready before you go to Server model diagrams which show tables, columns, and relationships within a database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-18458122983754533?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/18458122983754533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=18458122983754533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/18458122983754533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/18458122983754533'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/1022-data-design-at-component-level.html' title='10.2.2 Data Design at the Component Level'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-6822579187989967215</id><published>2007-07-24T19:58:00.000-07:00</published><updated>2007-07-24T20:26:10.453-07:00</updated><title type='text'>10.2 Data Design</title><content type='html'>In the analysis model, we may have designed  different data objects.  Example:&lt;br /&gt;customer_name&lt;br /&gt;customer_id&lt;br /&gt;&lt;br /&gt;In the data design, we complete them by defining strutures in details.&lt;br /&gt;Example:&lt;br /&gt;customer_name char&lt;br /&gt;customer_id int&lt;br /&gt;customer_last_updated date (system used only)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-6822579187989967215?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/6822579187989967215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=6822579187989967215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6822579187989967215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/6822579187989967215'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/102-data-design.html' title='10.2 Data Design'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-4922041605173741693</id><published>2007-07-24T19:41:00.000-07:00</published><updated>2007-07-24T19:46:44.198-07:00</updated><title type='text'>Exercise</title><content type='html'>When will we write software without design in reality? What will be the impact?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-4922041605173741693?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/4922041605173741693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=4922041605173741693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4922041605173741693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4922041605173741693'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/exercise.html' title='Exercise'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2555478564378384670</id><published>2007-07-24T19:26:00.000-07:00</published><updated>2007-07-31T03:59:16.431-07:00</updated><title type='text'>10 Creating an architechural design</title><content type='html'>&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/102-data-design.html"&gt;10.2 Data Design&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/1022-data-design-at-component-level.html"&gt;10.2.2 Data Design at Component Level&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/1031-data-centered-architecture.html"&gt;10.3.1  Data Centered Architecture&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/data-flow-architecture.html"&gt;10.3.1 Data Flow Architecture   &lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/layered-architecture.html"&gt;10.3.1 Layered Architecture&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/call-and-return-architecture.html"&gt;10.3.1  Call and Return Architecture&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/representing-system-in-context.html"&gt;10.4.1 Representing System in Context&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/archetype-is-generic-idealized-model-of.html"&gt;10.4.2 Archetype&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/refining-architecture-into-components.html"&gt;10.4.3 Refining the Architecture into Components&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/describing-instantiations-of-system.html"&gt;10.4.4 Describing instantiations of the System&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/architecture-trade-off-analysis-method.html"&gt;10.5.1 Architecture Trade-off-Analysis Method (ATAM)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/architectural-complexity.html"&gt;10.5.2 Architectural Complexity&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/mapping-data-flow-into-software.html"&gt;10.6.4 Transaction Mapping&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Miscellaneous Lists&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/agile-architecture-modeling.html"&gt;Agile Architecture Modeling&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/exercise_25.html"&gt;Exercise&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2555478564378384670?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2555478564378384670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2555478564378384670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2555478564378384670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2555478564378384670'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/10-creating-architechural-design.html' title='10 Creating an architechural design'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1561487946806294012</id><published>2007-07-23T23:10:00.000-07:00</published><updated>2007-07-23T23:19:03.040-07:00</updated><title type='text'>Pattern-Based Software Design</title><content type='html'>Design Patterns are successful solutions to a group of similar problems.&lt;br /&gt;&lt;br /&gt;Frameworks are semi-complete applications for development&lt;br /&gt;&lt;br /&gt;Classes are libraries that are self-contained modules&lt;br /&gt;&lt;br /&gt;Reference: see &lt;a href="http://www.cs.wustl.edu/~schmidt/PDF/patterns-intro4.pdf"&gt;http://www.cs.wustl.edu/~schmidt/PDF/patterns-intro4.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1561487946806294012?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1561487946806294012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1561487946806294012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1561487946806294012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1561487946806294012'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/pattern-based-software-design.html' title='Pattern-Based Software Design'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-5608061189602718971</id><published>2007-07-23T23:00:00.000-07:00</published><updated>2007-07-23T23:04:21.175-07:00</updated><title type='text'>? Design Model</title><content type='html'>Data Design Elements&lt;br /&gt;Architectural Design Elements&lt;br /&gt;Interface Design Elements&lt;br /&gt;Component-Level Design Elements&lt;br /&gt;Deployment-Level Design Elements&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-5608061189602718971?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/5608061189602718971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=5608061189602718971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5608061189602718971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5608061189602718971'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/design-model.html' title='? Design Model'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3463865516450574763</id><published>2007-07-23T22:37:00.000-07:00</published><updated>2007-07-23T22:47:57.881-07:00</updated><title type='text'>Design Concepts</title><content type='html'>Abstraction&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Procedural Abstraction&lt;/li&gt;&lt;li&gt;Data Abstraction&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Architecture&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Structural Model&lt;/li&gt;&lt;li&gt;Framework Model&lt;/li&gt;&lt;li&gt;Dynamic Model&lt;/li&gt;&lt;li&gt;Process Model&lt;/li&gt;&lt;li&gt;Functional Model&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Pattern&lt;/p&gt;&lt;p&gt;Modularity&lt;/p&gt;&lt;p&gt;Information Hiding&lt;/p&gt;&lt;p&gt;Functional Independence&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Cohesion&lt;/li&gt;&lt;li&gt;Coupling&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Refactoring&lt;/p&gt;&lt;p&gt;Design Classes&lt;/p&gt;&lt;ol&gt;&lt;li&gt;User Inferface Classes&lt;/li&gt;&lt;li&gt;Business Domain Classes&lt;/li&gt;&lt;li&gt;Process Classes&lt;/li&gt;&lt;li&gt;Pesistent Classes&lt;/li&gt;&lt;li&gt;System Classes&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3463865516450574763?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3463865516450574763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3463865516450574763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3463865516450574763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3463865516450574763'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/design-concepts.html' title='Design Concepts'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-708777152286030473</id><published>2007-07-23T01:36:00.000-07:00</published><updated>2007-07-23T01:38:07.507-07:00</updated><title type='text'>Software Requirements Specification</title><content type='html'>The characteristics of a great SRS should be:&lt;br /&gt;a) Correct&lt;br /&gt;b) Unambiguous&lt;br /&gt;c) Complete&lt;br /&gt;d) Consistent&lt;br /&gt;e) Ranked for importance and/or stability&lt;br /&gt;f) Verifiable&lt;br /&gt;g) Modifiable&lt;br /&gt;h) Traceable&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-708777152286030473?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/708777152286030473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=708777152286030473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/708777152286030473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/708777152286030473'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/software-requirements-specification.html' title='Software Requirements Specification'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7408186604479851693</id><published>2007-07-23T00:09:00.001-07:00</published><updated>2007-07-27T08:54:06.232-07:00</updated><title type='text'>9 Design Engineering</title><content type='html'>&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/design-concepts.html"&gt;9.3 Design Concepts&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/design-model.html"&gt;9.4 Design Model&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/pattern-based-software-design.html"&gt;9.5 Pattern-based Software Design&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Miscellaneous Lists&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/exercise.html"&gt;Exercise&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7408186604479851693?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7408186604479851693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7408186604479851693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7408186604479851693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7408186604479851693'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/9-design-engineering.html' title='9 Design Engineering'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-77735407324179155</id><published>2007-07-22T23:37:00.000-07:00</published><updated>2008-12-10T01:36:50.928-08:00</updated><title type='text'>Exercise of Analysis Model</title><content type='html'>How does the following diagram fit for a description of analysis model as "throughout analysis modeling, the software engineer's primary focus is on what not how. What objects does the system manuplate, what functions must the system perform, what behaviors does the system exhibit, what interfaces are defined, and what constraints apply?"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_4gSiG819sWo/RqRRFe5678I/AAAAAAAAAA8/F3mRC8keSe4/s1600-h/kk.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_4gSiG819sWo/RqRRFe5678I/AAAAAAAAAA8/F3mRC8keSe4/s320/kk.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5090282633472700354" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-77735407324179155?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/77735407324179155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=77735407324179155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/77735407324179155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/77735407324179155'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/exercise-of-analysis-model.html' title='Exercise of Analysis Model'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4gSiG819sWo/RqRRFe5678I/AAAAAAAAAA8/F3mRC8keSe4/s72-c/kk.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2843709831899875330</id><published>2007-07-22T20:44:00.000-07:00</published><updated>2007-07-22T20:45:01.238-07:00</updated><title type='text'>State Diagram</title><content type='html'>Please refer to "&lt;a href="http://www.developer.com/design/article.php/2238131"&gt;State Diagrm in UML&lt;/a&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2843709831899875330?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2843709831899875330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2843709831899875330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2843709831899875330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2843709831899875330'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/state-diagram.html' title='State Diagram'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3000620467220837739</id><published>2007-07-22T20:25:00.000-07:00</published><updated>2008-12-10T01:36:51.261-08:00</updated><title type='text'>DFD Example</title><content type='html'>DFD is expressed using an intermediate language similar to the C language. &lt;br /&gt;&lt;br /&gt;The images below are from the lecture notes passed out by Prof. Shubashish Dasgupta in September 2005. Please refer to http://www.marcoullis.com/KNOWLEDGE/SYSTEMS/marcoullisp_systems_process_modelling.html&lt;br /&gt;&lt;br /&gt;The DFD diagrams are produced in Demarco and Yourdon standard, different from &lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/flow-oriented-modeling.html"&gt;Gane and Sarson standard&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;DFD context level diagram&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_4gSiG819sWo/RqQg4-5674I/AAAAAAAAAAc/jImCRhG3LYA/s1600-h/marcoullisp_systems_dfd_context.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_4gSiG819sWo/RqQg4-5674I/AAAAAAAAAAc/jImCRhG3LYA/s320/marcoullisp_systems_dfd_context.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5090229642166202242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;DFD level 0 diagram &lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_4gSiG819sWo/RqQhkO5677I/AAAAAAAAAA0/N2AHk4SUV4o/s1600-h/marcoullisp_systems_dfd_zero.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_4gSiG819sWo/RqQhkO5677I/AAAAAAAAAA0/N2AHk4SUV4o/s320/marcoullisp_systems_dfd_zero.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5090230385195544498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;DFD level 1 diagram&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_4gSiG819sWo/RqQhI-5675I/AAAAAAAAAAk/dSQWOuqn7nQ/s1600-h/marcoullisp_systems_dfd_one.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_4gSiG819sWo/RqQhI-5675I/AAAAAAAAAAk/dSQWOuqn7nQ/s320/marcoullisp_systems_dfd_one.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5090229917044109202" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3000620467220837739?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3000620467220837739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3000620467220837739' title='72 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3000620467220837739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3000620467220837739'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/dfd-example.html' title='DFD Example'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4gSiG819sWo/RqQg4-5674I/AAAAAAAAAAc/jImCRhG3LYA/s72-c/marcoullisp_systems_dfd_context.gif' height='72' width='72'/><thr:total>72</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7420472973047589898</id><published>2007-07-22T20:12:00.000-07:00</published><updated>2008-12-10T01:36:51.465-08:00</updated><title type='text'>Flow-oriented modeling</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_4gSiG819sWo/RqQcyO5673I/AAAAAAAAAAU/fFNORYdi1ag/s1600-h/DFD.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_4gSiG819sWo/RqQcyO5673I/AAAAAAAAAAU/fFNORYdi1ag/s320/DFD.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5090225128155574130" /&gt;&lt;/a&gt;&lt;br /&gt;Please note that there are two standards: "Gane and Sarson Standard (above)" and "Demarco and Yourdon Standard"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7420472973047589898?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7420472973047589898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7420472973047589898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7420472973047589898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7420472973047589898'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/flow-oriented-modeling.html' title='Flow-oriented modeling'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4gSiG819sWo/RqQcyO5673I/AAAAAAAAAAU/fFNORYdi1ag/s72-c/DFD.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-5001937100390592210</id><published>2007-07-22T07:22:00.000-07:00</published><updated>2007-07-22T07:43:52.695-07:00</updated><title type='text'>Writing use cases</title><content type='html'>Please refer to &lt;a href="http://alistair.cockburn.us/index.php/Basic_use_case_template"&gt;Basic Use Case Template &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My short note is： &lt;br /&gt;&lt;br /&gt;(1) Define actors&lt;br /&gt;    E.g. "Customer", "Shipping System"&lt;br /&gt;&lt;br /&gt;(2) Write down names of scenarios (i.e. use cases) which may include a number of activities &lt;br /&gt;    E.g. "Create Account" , "Log In" , "Check Out" &lt;br /&gt;&lt;br /&gt;(3) Group the use cases as system boundary which defines the scope of what a system will be. &lt;br /&gt;&lt;br /&gt;(4) Use arrows showing which actors are involved in which use cases &lt;br /&gt;&lt;br /&gt;Then you can finish a high-level use diagram.&lt;br /&gt;&lt;br /&gt;More Explanation: http://www.developer.com/design/article.php/2109801&lt;br /&gt;Example: http://www.agilemodeling.com/images/models/useCaseDiagram.jpg&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-5001937100390592210?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/5001937100390592210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=5001937100390592210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5001937100390592210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/5001937100390592210'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/writing-use-cases.html' title='Writing use cases'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-479105853300886336</id><published>2007-07-22T06:32:00.000-07:00</published><updated>2007-07-22T06:33:03.293-07:00</updated><title type='text'>Tools to Draw Diagrams</title><content type='html'>(1) &lt;a href="http://www.osalt.com/dia"&gt;Dia &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-479105853300886336?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/479105853300886336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=479105853300886336' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/479105853300886336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/479105853300886336'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/tools-to-draw-diagrams.html' title='Tools to Draw Diagrams'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-1085090042078591064</id><published>2007-07-22T06:13:00.001-07:00</published><updated>2007-07-22T06:21:47.284-07:00</updated><title type='text'>Data Objects</title><content type='html'>Is a data object the same thing as an object-oriented class? No.&lt;br /&gt;&lt;br /&gt;Example &lt;br /&gt;&lt;em&gt;(1) Data Object implemented as a class&lt;/em&gt;&lt;br /&gt;public class Car {&lt;br /&gt;  private Engine engine;&lt;br /&gt;  private boolean can_load=false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;em&gt;(2) There can be reference within a class object to operations that act on the data.&lt;/em&gt; &lt;br /&gt;public class Car {&lt;br /&gt;  private Engine engine;&lt;br /&gt;  private boolean can_load=false;&lt;br /&gt;  public Car()&lt;br /&gt;  {&lt;br /&gt;      engine=  get_engine();&lt;br /&gt;  }&lt;br /&gt;  final  public boolean can_load()&lt;br /&gt;  {&lt;br /&gt;    return can_load;&lt;br /&gt;  }&lt;br /&gt;  private Engine get_engine()&lt;br /&gt;  {&lt;br /&gt;       Engine my_engine;&lt;br /&gt;       can_load=true;&lt;br /&gt;       my_engine=Engine.getobject(this) ;&lt;br /&gt;       can_load=false;&lt;br /&gt;       return my_engine;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Note: the source code is from http://www.ibm.com/developerworks/cn/java/l-single-call/index.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-1085090042078591064?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/1085090042078591064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=1085090042078591064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1085090042078591064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/1085090042078591064'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/data-objects.html' title='Data Objects'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2411030975176312735</id><published>2007-07-22T05:49:00.000-07:00</published><updated>2007-07-22T05:54:21.535-07:00</updated><title type='text'>Analysis Model Approaches</title><content type='html'>There are two main approaches&lt;br /&gt;&lt;br /&gt;(1) Structured Analysis &lt;br /&gt;    See &lt;a href="http://en.wikipedia.org/wiki/Data_flow_diagram"&gt;Data Flow Diagram &lt;/a&gt;on wiki&lt;br /&gt;&lt;br /&gt;(2) Object-oriented Analysis&lt;br /&gt;    See &lt;a href="http://en.wikipedia.org/wiki/Object_Oriented_Analysis#Object_Oriented_Analysis"&gt;object-oriented analysis&lt;/a&gt; on wiki&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2411030975176312735?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2411030975176312735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2411030975176312735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2411030975176312735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2411030975176312735'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/analysis-model-approaches.html' title='Analysis Model Approaches'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-3834243007617652715</id><published>2007-07-22T04:37:00.000-07:00</published><updated>2007-07-22T04:38:16.251-07:00</updated><title type='text'>Domain Analysis</title><content type='html'>Have a look at &lt;a href="http://en.wikipedia.org/wiki/Knowledge_domain"&gt;domain knowledge&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-3834243007617652715?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/3834243007617652715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=3834243007617652715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3834243007617652715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/3834243007617652715'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/domain-analysis.html' title='Domain Analysis'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-8486181911981638800</id><published>2007-07-22T04:21:00.000-07:00</published><updated>2007-07-22T04:29:45.380-07:00</updated><title type='text'>Analysis Rules of Thumb</title><content type='html'>It has been suggested that we should try to separate analysis from design. &lt;br /&gt;&lt;br /&gt;However, since software design will give feedback to requirments analysis, some design invariably occurs as part of analysis.&lt;br /&gt;&lt;br /&gt;Note that coding provides feedback to software design.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-8486181911981638800?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/8486181911981638800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=8486181911981638800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8486181911981638800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8486181911981638800'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/analysis-rules-of-thumb.html' title='Analysis Rules of Thumb'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7282502194348538774</id><published>2007-07-22T04:04:00.001-07:00</published><updated>2007-07-26T04:52:39.102-07:00</updated><title type='text'>8 Building The Analysis Model</title><content type='html'>&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/analysis-model.html"&gt;8.1 Analysis Model&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/analysis-rules-of-thumb.html"&gt;8.1.2 Analysis Rules of Thumb&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/domain-analysis.html"&gt;8.1.3 Domain Analysis&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/analysis-model-approaches.html"&gt;8.2 Analysis Model Approaches&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/data-objects.html"&gt;8.3.1 Data Objects&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/writing-use-cases.html"&gt;8.5.1 Writing Use Cases&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/flow-oriented-modeling.html"&gt;8.6 Flow-oriented Modeling&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/dfd-example.html"&gt;8.6.1 DFD Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/state-diagram.html"&gt;8.6.3 State Diagram&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Miscellaneous Lists&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/tools-to-draw-diagrams.html"&gt;Tools&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/exercise-of-analysis-model.html"&gt;Exercise&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/tools-to-draw-diagrams.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7282502194348538774?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7282502194348538774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7282502194348538774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7282502194348538774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7282502194348538774'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/8-analysis-model.html' title='8 Building The Analysis Model'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-311888463908772973</id><published>2007-07-22T03:55:00.001-07:00</published><updated>2007-07-26T04:51:57.015-07:00</updated><title type='text'>7 Requirements Engineering</title><content type='html'>&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/unit-7-requirements-engineering.html"&gt;7.2 Requirements Engineering Tasks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/requirment-management.html"&gt;7.2.7 Requirements Management&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/7-technical-representation.html"&gt;7.6 Technical Representation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/validating-requirments.html"&gt;7.8 Validating Requirements&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Miscellaneous Lists&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/software-requirements-specification.html"&gt;Software Requirments Specification&lt;/a&gt;&lt;br /&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/requirments-management-tool.html"&gt;Requirements Tools&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-311888463908772973?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/311888463908772973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=311888463908772973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/311888463908772973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/311888463908772973'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/7-requirements-engineering.html' title='7 Requirements Engineering'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-4727584032704542425</id><published>2007-07-22T03:35:00.000-07:00</published><updated>2007-07-22T03:58:02.419-07:00</updated><title type='text'>Technical representation</title><content type='html'>Examples &lt;br /&gt;&lt;br /&gt;(1) Use Case&lt;br /&gt;(2) Class Diagram&lt;br /&gt;(3) UML State Diagram&lt;br /&gt;(4) Flow Modeling&lt;br /&gt;(5) Analysis Patterns&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-4727584032704542425?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/4727584032704542425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=4727584032704542425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4727584032704542425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4727584032704542425'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/7-technical-representation.html' title='Technical representation'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-4252319773386795649</id><published>2007-07-22T03:28:00.000-07:00</published><updated>2007-07-22T03:38:26.662-07:00</updated><title type='text'>Analysis Model</title><content type='html'>The analysis model is the first &lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/7-technical-representation.html"&gt;technical representation &lt;/a&gt;of a system to be built.&lt;br /&gt;&lt;br /&gt;The model should covers:&lt;br /&gt;(1) what customers need&lt;br /&gt;(2) what software design can be&lt;br /&gt;(3) what can be validated once the software is built&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-4252319773386795649?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/4252319773386795649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=4252319773386795649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4252319773386795649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/4252319773386795649'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/analysis-model.html' title='Analysis Model'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-8539081377401509866</id><published>2007-07-22T02:53:00.000-07:00</published><updated>2007-07-22T02:54:36.291-07:00</updated><title type='text'>Requirments Management Tool</title><content type='html'>Here is an open source requirments tool.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/osrmt"&gt;http://sourceforge.net/projects/osrmt&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-8539081377401509866?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/8539081377401509866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=8539081377401509866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8539081377401509866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/8539081377401509866'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/requirments-management-tool.html' title='Requirments Management Tool'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2868418955701087511</id><published>2007-07-22T02:45:00.000-07:00</published><updated>2007-07-22T04:09:19.789-07:00</updated><title type='text'>Validating Requirments</title><content type='html'>Some requirments are unnecessary and some are ambiguous. &lt;br /&gt;&lt;br /&gt;Therefore, having an independent team such as Internal Audit help review the requirments so that no resource will be put for developing something unncessary.&lt;br /&gt;&lt;br /&gt;A review meeting can be held to answer:&lt;br /&gt;&lt;br /&gt;(1) Is each requirement consistent withe the overall objectives for the system/product?&lt;br /&gt;(2) ...&lt;br /&gt;(3) ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2868418955701087511?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2868418955701087511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2868418955701087511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2868418955701087511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2868418955701087511'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/validating-requirments.html' title='Validating Requirments'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-2933911834001202764</id><published>2007-07-21T22:23:00.000-07:00</published><updated>2007-07-22T03:51:25.269-07:00</updated><title type='text'>Requirments Management</title><content type='html'>&lt;strong&gt;Features tracability table&lt;/strong&gt; (See page 180 of the textbook)&lt;br /&gt;&lt;br /&gt;You get the requirments from people A , B , C&lt;br /&gt;&lt;br /&gt;A R01, R02 and Email R01 and R02 to A&lt;br /&gt;B R03, R04 and Email R01 and R02 to B&lt;br /&gt;C R05 and Email R01 and R02 to C&lt;br /&gt;&lt;br /&gt;Then you write down your specifications by module X, Y&lt;br /&gt;&lt;br /&gt;X A01, A02, A03&lt;br /&gt;Y A04, A05&lt;br /&gt;&lt;br /&gt;Distribute the specifiations to the project team.&lt;br /&gt;&lt;br /&gt;Having a traceability table helps manage the requirments and specifications.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Source traceability table &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dependency traceability table&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Subsystem traceability table&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Interface traceability table&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-2933911834001202764?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/2933911834001202764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=2933911834001202764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2933911834001202764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/2933911834001202764'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/requirment-management.html' title='Requirments Management'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9087893059528801352.post-7051346328165554530</id><published>2007-07-21T21:26:00.000-07:00</published><updated>2007-07-22T03:33:17.827-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit 7 Requirements Engineering'/><title type='text'>Requirements Engineering Tasks</title><content type='html'>&lt;strong&gt;Inception&lt;/strong&gt;: Have an idea what software is needed. For example, a supermarket needs a POS system&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Elicitation&lt;/strong&gt;: Define the objectives of the system, for example (i) to speed up the checkout process and (ii) faciliate price change&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Elaboration&lt;/strong&gt;: Understand how the system works, for example how do the cashiers interact with the system. The work product of elaboration is an &lt;strong&gt;&lt;a href="http://softwareengineeringnotes.blogspot.com/2007/07/analysis-model.html"&gt;analysis model&lt;/a&gt;&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Negotiation&lt;/strong&gt;: Talk to customers what functions cannot be done.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Specification&lt;/strong&gt;: build a set of written documents that clearly address what should be developed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Validation&lt;/strong&gt;: Examine the specification. This should ideally be done by an independent group of people who do not write up the specification.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9087893059528801352-7051346328165554530?l=softwareengineeringnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softwareengineeringnotes.blogspot.com/feeds/7051346328165554530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9087893059528801352&amp;postID=7051346328165554530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7051346328165554530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9087893059528801352/posts/default/7051346328165554530'/><link rel='alternate' type='text/html' href='http://softwareengineeringnotes.blogspot.com/2007/07/unit-7-requirements-engineering.html' title='Requirements Engineering Tasks'/><author><name>Software Engineering Notes</name><uri>http://www.blogger.com/profile/01151975812587615864</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
