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

<channel>
	<title>Thomaset2000's Room &#187; IDIC</title>
	<atom:link href="http://thomaset2000.com/category/education/idic/feed/" rel="self" type="application/rss+xml" />
	<link>http://thomaset2000.com</link>
	<description>A room to share what I know and what you know</description>
	<lastBuildDate>Sun, 11 Apr 2010 15:01:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Easy Decimal to Binary conversion tips</title>
		<link>http://thomaset2000.com/2009/02/easy-decimal-to-binary-conversion-tips/</link>
		<comments>http://thomaset2000.com/2009/02/easy-decimal-to-binary-conversion-tips/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 12:37:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[Binary]]></category>
		<category><![CDATA[binary conversion]]></category>
		<category><![CDATA[binary to decimal conversion]]></category>
		<category><![CDATA[C1003]]></category>
		<category><![CDATA[decimal to binary conversion]]></category>
		<category><![CDATA[Mathematics for Computing]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=262</guid>
		<description><![CDATA[Hi! I want to share a method to easily convert a decimal number into binary number and vice versa. I learned this method of converting decimal to binary while I was studying for my C1003 Mathematics for Computing.
The Basic Concept
The basic concept of this method is looking at the fact that we just need to [...]]]></description>
			<content:encoded><![CDATA[<p>Hi! I want to share a method to easily convert a decimal number into binary number and vice versa. I learned this method of converting decimal to binary while I was studying for my <a href="http://thomaset2000.com/?p=86">C1003 Mathematics for Computing</a>.</p>
<p><strong>The Basic Concept</strong></p>
<p>The basic concept of this method is looking at the fact that we just need to add one zero each time we multiply the decimal equivalent of a binary number by 2 (two).</p>
<p>Let me give an example:</p>
<p><span id="more-262"></span></p>
<p>The binary equivalent for decimal number 2 is 10 (one zero), then if we multiply the 2 with 2 we will get 4 (2*2 = 4), the binary equivalent of 4 is 100 (one zero zero).</p>
<p>Let&#8217;s take a look at the table below</p>
<table style="height: 104px;" border="1" cellspacing="0" cellpadding="0" width="150">
<tbody>
<tr>
<td>
<h2><strong>Decimal</strong></h2>
</td>
<td></td>
<td>
<h2><strong>Binary</strong></h2>
</td>
</tr>
<tr>
<td>1</td>
<td>=</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>=</td>
<td>10</td>
</tr>
<tr>
<td>4</td>
<td>=</td>
<td>100</td>
</tr>
<tr>
<td>8</td>
<td>=</td>
<td>1000</td>
</tr>
<tr>
<td>16</td>
<td>=</td>
<td>10000</td>
</tr>
<tr>
<td>32</td>
<td>=</td>
<td>100000</td>
</tr>
</tbody>
</table>
<p>The table above shows the equivalence of six decimal number with the binary number. You can see that if we multiply the decimal number by two then we will get the same binary number with one extra zero e.g. two is equal to one zero and four is equal to one zero zero. From this simple concept, we can convert decimal to binary and binary to decimal easily.</p>
<p><strong>Decimal to Binary Conversion</strong></p>
<p>First, let us try to apply the basic concept above to convert decimal number into binary number. Let see at the following example:</p>
<p><strong>Convert decimal number 20 (twenty) into binary</strong></p>
<p>To convert twenty into binary let us look at the table that we make earlier</p>
<table style="height: 104px;" border="1" cellspacing="0" cellpadding="0" width="150">
<tbody>
<tr>
<td>
<h2><strong>Decimal</strong></h2>
</td>
<td></td>
<td>
<h2><strong>Binary</strong></h2>
</td>
</tr>
<tr>
<td>1</td>
<td>=</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>=</td>
<td>10</td>
</tr>
<tr>
<td>4</td>
<td>=</td>
<td>100</td>
</tr>
<tr>
<td>8</td>
<td>=</td>
<td>1000</td>
</tr>
<tr>
<td>16</td>
<td>=</td>
<td>10000</td>
</tr>
<tr>
<td>32</td>
<td>=</td>
<td>100000</td>
</tr>
</tbody>
</table>
<p>Then we try to make 20 (twenty) from the decimal numbers that we found in our table above. Since we have 1, 2, 4, 8, 16, and 32 the best way to make 20 is to add 4 and 16 since 4 + 16 = 20.<br />
So we take 4 and 16 from the table, 4 is equal to 100 (one zero zero) and 16 is equal to 10000 (one zero zero zero zero). The final step is to add these two binary number and make it looks like this :<br />
20 = 4 + 16 = 100 + 10000 = 10100 (one zero one zero zero)<br />
So, in the end we get that decimal number 20 = 10100 (one zero one zero zero) in binary number.</p>
<p><strong>Binary to Decimal Conversion</strong></p>
<p>Now, we are going to look on how we apply our simple concept to convert a binary number into decimal number. Let us consider the following example :</p>
<p><strong>Convert binary number 10101 (one zero one zero one) into decimal number</strong></p>
<p>To convert this binary number, we still use our table</p>
<table style="height: 104px;" border="1" cellspacing="0" cellpadding="0" width="150">
<tbody>
<tr>
<td>
<h2><strong>Decimal</strong></h2>
</td>
<td></td>
<td>
<h2><strong>Binary</strong></h2>
</td>
</tr>
<tr>
<td>1</td>
<td>=</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>=</td>
<td>10</td>
</tr>
<tr>
<td>4</td>
<td>=</td>
<td>100</td>
</tr>
<tr>
<td>8</td>
<td>=</td>
<td>1000</td>
</tr>
<tr>
<td>16</td>
<td>=</td>
<td>10000</td>
</tr>
<tr>
<td>32</td>
<td>=</td>
<td>100000</td>
</tr>
</tbody>
</table>
<p>From this table, we will break the binary 10101 like this:<br />
10101 = 10000 + 100 + 1</p>
<p>So we get that 10101 consist of 10000, 100, and 1. Then lets look at the table, we will get this:</p>
<p>10101 = 10000 + 100 + 1 = 16 + 4 + 1 = 21 (twenty one, a decimal number)</p>
<p>Yes thats all! simple isn&#8217;t it??</p>
<p>Do you have any comment on this? maybe you have something to ask me or want to discuss with me about this?<br />
Feel free to use the comment box below (<a href="http://thomaset2000.com/?p=262">click here if you cannot see the comment box</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/easy-decimal-to-binary-conversion-tips/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Done posting all IDIC assignments! yay!</title>
		<link>http://thomaset2000.com/2009/02/done-posting-all-idic-assignments-yay/</link>
		<comments>http://thomaset2000.com/2009/02/done-posting-all-idic-assignments-yay/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 12:09:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[C1001]]></category>
		<category><![CDATA[C1002]]></category>
		<category><![CDATA[C1003]]></category>
		<category><![CDATA[C1004]]></category>
		<category><![CDATA[C1005]]></category>
		<category><![CDATA[C1006]]></category>
		<category><![CDATA[C1022]]></category>
		<category><![CDATA[C1025]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=248</guid>
		<description><![CDATA[Finally! I&#8217;m done posting all the assignments that I get in my IDIC (International Diploma in Computing) course that I take in Informatics Computer School Singapore during Term 3 2007 until Term 1 2008.
The assignments that I have uploaded are for these modules:
Term 3 2007:

C1006 Computer Networks
C1025 Structured Query Language (SQL)
C1003 Mathematics for Computing
C1004 HTML [...]]]></description>
			<content:encoded><![CDATA[<p>Finally! I&#8217;m done posting all the assignments that I get in my IDIC (International Diploma in Computing) course that I take in Informatics Computer School Singapore during Term 3 2007 until Term 1 2008.<br />
The assignments that I have uploaded are for these modules:</p>
<p><span style="text-decoration: underline;"><strong>Term 3 2007:</strong></span></p>
<ol>
<li><a href="http://thomaset2000.com/?p=14">C1006 Computer Networks</a></li>
<li><a href="http://thomaset2000.com/?p=60">C1025 Structured Query Language (SQL)</a></li>
<li><a href="http://thomaset2000.com/?p=86">C1003 Mathematics for Computing</a></li>
<li><a href="http://thomaset2000.com/?p=100">C1004 HTML &amp; Java script</a></li>
</ol>
<p><span style="text-decoration: underline;"><strong>Term 1 2008:</strong></span></p>
<ol>
<li><a href="http://thomaset2000.com/?p=149">C1001 &#8211; Computers and Information Processing</a></li>
<li><a href="http://thomaset2000.com/?p=156">C1002 &#8211; Program Design</a></li>
<li><a href="http://thomaset2000.com/?p=215">C1005 &#8211; C Programming</a></li>
<li><a href="http://thomaset2000.com/?p=164">C1022 &#8211; Introduction to Java</a></li>
</ol>
<p>Now, since I have done posting my assignments in IDIC, I will start to post my assignments for International Advanced Diploma in Computing (IADIC). So stay tuned! you can subscribe to my blog&#8217;s feed <a href="http://feeds2.feedburner.com/thomaset2000/bcDq?format=xml">by clicking here</a> so you won&#8217;t miss when the new post is published <img src='http://thomaset2000.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>See you later!! <img src='http://thomaset2000.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/done-posting-all-idic-assignments-yay/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>C1005 C Programming Project Term 1 2008, Part 2, Documentation 2 final</title>
		<link>http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-2-documentation-2/</link>
		<comments>http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-2-documentation-2/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 12:56:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[C Programming]]></category>
		<category><![CDATA[C1005]]></category>
		<category><![CDATA[project documentation]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=236</guid>
		<description><![CDATA[This is the third post in C1005 C programming post series. You can see the previous post by clicking here.
6. Testing
6.1. Testing &#8211; Test plan






Test Case


Test   Objective




1

To test that the program will be closed   after user enter the wrong user name or password for three times.



2

To test that the main menu [...]]]></description>
			<content:encoded><![CDATA[<p>This is the third post in C1005 C programming post series. You can see the previous post by clicking <a href="http://thomaset2000.com/?p=224">here</a>.</p>
<p><strong><span style="text-decoration: underline;">6. Testing</span></strong></p>
<p><strong><span style="text-decoration: underline;">6.1. Testing &#8211; Test plan</span></strong></p>
<p><strong><span style="text-decoration: underline;"><span id="more-236"></span><br />
</span></strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="595">
<tbody>
<tr>
<td width="91">
<p align="center"><a name="_Hlk192428523"><strong>Test Case</strong></a></p>
</td>
<td width="504">
<p align="center"><strong>Test   Objective</strong></p>
</td>
</tr>
<tr>
<td width="91">
<p align="center"><a name="_Hlk192428759"><strong>1</strong></a></p>
</td>
<td width="504">To test that the program will be closed   after user enter the wrong user name or password for three times.</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>2</strong></p>
</td>
<td width="504">To test that the main menu appear after   signing in as administrator</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>3</strong></p>
</td>
<td width="504">To test the entry range for the main menu   choice</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>4</strong></p>
</td>
<td width="504">To test that add member module appear   after user choose &#8216;1&#8242; from main menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>5</strong></p>
</td>
<td width="504">To test that Name field has minimum limit   of three characters</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>6</strong></p>
</td>
<td width="504">To test that Name field has maximum limit   of thirty characters</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>7</strong></p>
</td>
<td width="504">To test that Name field accepts alphabets   only</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>8</strong></p>
</td>
<td width="504">To test that Gender field accepts &#8216;M&#8217; or   &#8216;F&#8217; only</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>9</strong></p>
</td>
<td width="504">To test that NRIC/Passport field has   minimum limit of 7 characters</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>10</strong></p>
</td>
<td width="504">To test that NRIC/Passport field has   maximum limit of 9 characters</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>11</strong></p>
</td>
<td width="504">To test that NRIC/Passport field accepts   alphanumeric data only</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>12</strong></p>
</td>
<td width="504">To test that Contact field has minimum   limit of 6 digits</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>13</strong></p>
</td>
<td width="504">To test that Contact field has maximum   limit of 16 digits</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>14</strong></p>
</td>
<td width="504">To test that Contact field accepts numeric   data only</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>15</strong></p>
</td>
<td width="504">To test that Nationality field only accept   two characters</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>16</strong></p>
</td>
<td width="504">To test that Nationality field accepts   alphabets only</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>17</strong></p>
</td>
<td width="504">To test that Occupation field has minimum   limit of 4 characters</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>18</strong></p>
</td>
<td width="504">To test that Occupation field has maximum   limit of 15 characters</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>19</strong></p>
</td>
<td width="504">To test that Occupation field accepts   alphabet only</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>20</strong></p>
</td>
<td width="504">To test that question to save can be   answered by &#8216;Y&#8217; or &#8216;N&#8217; only</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>21</strong></p>
</td>
<td width="504">To test that question to add more record   accept &#8216;Y&#8217; or &#8216;N&#8217; only</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>22</strong></p>
</td>
<td width="504">To test that the record is not saved if   user choose not to save it</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>23</strong></p>
</td>
<td width="504">To test that the record is saved if the   user choose to save it</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>24</strong></p>
</td>
<td width="504">To test that new member form appear if   user choose to add more record</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>25</strong></p>
</td>
<td width="504">To test that main menu appear if user   choose not to add more record</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>26</strong></p>
</td>
<td width="504">To test that that delete member module   appear after user choose &#8216;2&#8242; from the main menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>27</strong></p>
</td>
<td width="504">To test that warning message appear if ID   not found in delete member module</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>28</strong></p>
</td>
<td width="504">To test that record is displayed if ID is   found in delete member module</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>29</strong></p>
</td>
<td width="504">To test that record is deleted if user   confirmed to delete the record</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>30</strong></p>
</td>
<td width="504">To test that display member module appear   after user choose &#8216;3&#8242; from main menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>31</strong></p>
</td>
<td width="504">To test that next 10 records appear after   the first 10 records when there are more than 10 records saved in the file</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>32</strong></p>
</td>
<td width="504">To test that search member module appear   after user choose &#8216;4&#8242; from main menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>33</strong></p>
</td>
<td width="504">To test that a warning appear when the   searched ID is not found in search member module</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>34</strong></p>
</td>
<td width="504">To test that record is displayed when the   ID is found in search member module</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>35</strong></p>
</td>
<td width="504">To test that the search form is reset when   the user choose to search for another record</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>36</strong></p>
</td>
<td width="504">To test that main menu appear if the user   choose not to search for any more record</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>37</strong></p>
</td>
<td width="504">To test that edit member module appear   after user choose &#8216;5&#8242; from the main menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>38</strong></p>
</td>
<td width="504">To test that a warning appear when the   searched ID is not found in edit member module</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>39</strong></p>
</td>
<td width="504">To test that record is displayed when the   ID is found in edit member module</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>40</strong></p>
</td>
<td width="504">To test that pointer move to Name field if   user choose &#8216;1&#8242; in edit choice</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>41</strong></p>
</td>
<td width="504">To test that pointer move to Gender field   if user choose &#8216;2&#8242; in edit choice</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>42</strong></p>
</td>
<td width="504">To test that pointer move to NRIC/Passport   field if user choose &#8216;3&#8242; in edit choice</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>43</strong></p>
</td>
<td width="504">To test that pointer move to Contact field   if user choose &#8216;4&#8242; in edit choice</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>44</strong></p>
</td>
<td width="504">To test that pointer move to Nationality   field if user choose &#8216;5&#8242; in edit choice</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>45</strong></p>
</td>
<td width="504">To test that pointer move to Occupation   field if user choose &#8216;6&#8242; in edit choice</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>46</strong></p>
</td>
<td width="504">To test that main menu appear if the user   choose &#8216;7&#8242;  in edit choice</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>47</strong></p>
</td>
<td width="504">To test that edit member module re-appear   if user choose to edit another record</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>48</strong></p>
</td>
<td width="504">To test that main menu appear if user   choose not to edit another record</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>49</strong></p>
</td>
<td width="504">To test that help menu appear after user   choose &#8216;6&#8242; in main menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>50</strong></p>
</td>
<td width="504">To test that &#8220;about super gamers&#8221;-help   appear if user choose &#8216;1&#8242; in help menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>51</strong></p>
</td>
<td width="504">To test that &#8220;about super gamers customer   registration system&#8221;-help appear if user choose &#8216;2&#8242; in help menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>52</strong></p>
</td>
<td width="504">To test that &#8220;How to add a new   record&#8221;-help appear if user choose &#8216;3&#8242; in help menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>53</strong></p>
</td>
<td width="504">To test that &#8220;How to delete a member   record&#8221;-help appear if user choose &#8216;4&#8242; in help menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>54</strong></p>
</td>
<td width="504">To test that &#8220;How to display all member   records&#8221;-help appear if user choose &#8216;5&#8242; in help menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>55</strong></p>
</td>
<td width="504">To test that &#8220;How to search a member   record&#8221;-help appear if user choose &#8216;6&#8242; in help menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>56</strong></p>
</td>
<td width="504">To test that &#8220;How to edit an existing   member record&#8221;-help appear if user choose &#8216;7&#8242; in help menu</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>57</strong></p>
</td>
<td width="504">To test that guest main menu appear when   signing-in as guest</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>58</strong></p>
</td>
<td width="504">To test that only search module can be   used by guest</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>59</strong></p>
</td>
<td width="504">To test that guest can use search module</td>
</tr>
<tr>
<td width="91">
<p align="center"><strong>60</strong></p>
</td>
<td width="504">To test that guest search module just show   limited amount of information about a record</td>
</tr>
</tbody>
</table>
<p><strong><span style="text-decoration: underline;">6.2. Testing &#8211; Test Case &amp; Result</span></strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="122" valign="top">
<p align="center"><strong>Test case</strong></p>
</td>
<td width="421" valign="top">
<p align="center"><strong>1</strong></p>
</td>
</tr>
<tr>
<td width="122" valign="top">Objectives</td>
<td width="421">To test that the program will be closed after user enter   the wrong user name or password for three times.</td>
</tr>
<tr>
<td width="122" valign="top">Test action</td>
<td width="421">Write a wrong user name and password three times</td>
</tr>
<tr>
<td width="122" valign="top">Expected result</td>
<td width="421" valign="top">Trying chance   become 0 and program closed</td>
</tr>
<tr>
<td width="122" valign="top">Actual result</td>
<td width="421" valign="top">As shown below</td>
</tr>
<tr>
<td width="122" valign="top">Conclusion</td>
<td width="421" valign="top">Successful</td>
</tr>
</tbody>
</table>
<p>Before:</p>
<p>(Screen shot here)</p>
<p>After:</p>
<p>(Screen shot here)</p>
<p>Repeat this step for all test cases</p>
<p><strong><span style="text-decoration: underline;">6.3 Testing &#8211; Test Log</span></strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="89">
<p align="center"><strong>Test Case</strong></p>
</td>
<td width="108">
<p align="center"><strong>Test Result</strong></p>
</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>1</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>2</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>3</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>4</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>5</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>6</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>7</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>8</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>9</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>10</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>11</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>12</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>13</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>14</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>15</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>16</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>17</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>18</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>19</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>20</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>21</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>22</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>23</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>24</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>25</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>26</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>27</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>28</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>29</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>30</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>31</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>32</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>33</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>34</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>35</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>36</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>37</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>38</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>39</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>40</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>41</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>42</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>43</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>44</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>45</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>46</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>47</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>48</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>49</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>50</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>51</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>52</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>53</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>54</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>55</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>56</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>57</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>58</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>59</strong></p>
</td>
<td width="108">successful</td>
</tr>
<tr>
<td width="89" valign="bottom">
<p align="right"><strong>60</strong></p>
</td>
<td width="108">successful</td>
</tr>
</tbody>
</table>
<p><strong><span style="text-decoration: underline;">7.0 Program Implementation</span></strong></p>
<p><strong><span style="text-decoration: underline;">7.1 Hardware &amp; Software Configuration</span></strong></p>
<p><strong><span style="text-decoration: underline;">7.1.1 Hardware Configuration</span></strong></p>
<p>i.      Minimum Pentium 4</p>
<p>ii.      Hard disk</p>
<p>iii.      128 Mb RAM</p>
<p>iv.      CD-ROM</p>
<p>v.      Keyboard</p>
<p>vi.      Mouse</p>
<p>vii.      Color monitor</p>
<p><strong><span style="text-decoration: underline;">7.1.2 Software Configuration</span></strong></p>
<p>i.      Windows XP or Windows Vista-32</p>
<p>ii.      Borland C++</p>
<p><strong><span style="text-decoration: underline;">7.2 User Manual</span></strong></p>
<p><strong><span style="text-decoration: underline;">a) CD contents</span></strong></p>
<p>The CD that come with this documentation come with some items:</p>
<ol type="1">
<li><span style="text-decoration: underline;">ThomasC1005Project.exe</span></li>
</ol>
<p>This is the executable program; you can run the program by double clicking this application.</p>
<ol type="1">
<li><span style="text-decoration: underline;">Source Code &#8211; folder</span></li>
</ol>
<p>This folder contains the original source code for &#8220;Super Gamers Customer Registration System&#8221;. The file name of the source code is &#8220;ThomasC1005Project.c&#8221;. You can use this file to see the program&#8217;s source code or use it to run the program using a C compiler.</p>
<ol type="1">
<li><span style="text-decoration: underline;">Support software &#8211; folder</span></li>
</ol>
<p>There are some items in this folder that related to C programming:</p>
<p>Ø  <span style="text-decoration: underline;">C compiler &#8211; folder</span></p>
<p>This folder contains the C compiler &#8220;freecommandLinetools.exe&#8221; that you can install if you don&#8217;t have any java compiler in your computer.</p>
<p>If you choose to install this compiler, after installing it, you will need to copy the &#8220;ilink32.cfg&#8221; and &#8220;bcc32.cfg&#8221; which is in this folder, and paste these file to the bin folder of your compiler.</p>
<p>The default folder is &#8220;c:\\borland\bcc55\bin&#8221;</p>
<p>But if your computer already have a C compiler, you won&#8217;t need to install this compiler.</p>
<p>Ø  <span style="text-decoration: underline;">Borland C++ 5.02 &#8211; folder</span></p>
<p>This folder contains the installer for Borland C++ 5.02 IDE, just install it if you want to use this program to compile and run the source code. But if you plan to compile and run the source code using command prompt, you don&#8217;t need to install this program.</p>
<p>In case you want to install this program, just open this folder and double-click on setup.exe, then just follow the installation wizard.</p>
<ol type="1">
<li>Documentation and drop box &#8211; folder</li>
</ol>
<p>This folder contains the soft-copy of this documentation and also the mydropbox report.</p>
<ol type="1">
<li><span style="text-decoration: underline;">Readme.txt</span></li>
</ol>
<p>This is a text file created using notepad that contain information about the CD contents.</p>
<p><strong><span style="text-decoration: underline;">b) Operating Guide</span></strong></p>
<p><strong>b.1) </strong><strong><span style="text-decoration: underline;">Starting the program</span></strong></p>
<p><strong>b.1.1) </strong>Insert the CD to your CD-ROM<strong></strong></p>
<p><strong>b.1.2) </strong>Open the CD contents<strong></strong></p>
<p><strong>b.1.3) </strong>Double-click on &#8220;ThomasC1005Project.exe&#8221;<strong></strong></p>
<p><strong>b.1.4) </strong>You will now see the login screen<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.2) </strong><strong><span style="text-decoration: underline;">Login</span></strong></p>
<p><strong>b.2.1) </strong><strong>Login as administrator</strong><strong></strong></p>
<p><strong>b.2.1.1) </strong>You will be able to use full feature of this program while signed -in as administrator<strong></strong></p>
<p><strong>b.2.1.2) </strong>Enter user name : <strong>admin</strong><strong></strong></p>
<p><strong>b.2.1.3) </strong>Enter password : <strong>admin123</strong><strong></strong></p>
<p><strong>b.2.1.4) </strong>Press enter<strong></strong></p>
<p><strong>b.2.1.5) </strong>After a notification that administrator access granted, press enter.<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.2.2) </strong><strong>Login as guest</strong><strong></strong></p>
<p><strong>b.2.2.1) </strong>Guest profile don&#8217;t need any password, but it has very limited access to the program feature<strong></strong></p>
<p><strong>b.2.2.2) </strong>Enter user name : <strong>guest</strong><strong></strong></p>
<p><strong>b.2.2.3) </strong>Leave the password field blank<strong></strong></p>
<p><strong>b.2.2.4) </strong>Press enter<strong></strong></p>
<p><strong>b.2.2.5) </strong>After a notification that you sign in as guest, press enter.<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.3) </strong><strong><span style="text-decoration: underline;">Administrator profile guide</span></strong></p>
<p><strong>b.3.1) </strong><strong><span style="text-decoration: underline;">Main menu</span></strong></p>
<p><strong>b.3.1.1) </strong>After signing-in as administrator, you will see the main menu<strong></strong></p>
<p><strong>b.3.1.2) </strong>You can see the list of choice, and choose by entering the module number.<strong></strong></p>
<p><strong>b.3.1.3) </strong>Enter your choice and press enter to use the corresponding module.<strong></strong></p>
<p><strong>b.3.1.4) </strong>Choose &#8216;1&#8242; to open add member module<strong></strong></p>
<p><strong>b.3.1.5) </strong>Choose &#8216;2&#8242; to open delete member module<strong></strong></p>
<p><strong>b.3.1.6) </strong>Choose &#8216;3&#8242; to open display member module<strong></strong></p>
<p><strong>b.3.1.7) </strong>Choose &#8216;4&#8242; to open search member module<strong></strong></p>
<p><strong>b.3.1.8) </strong>Choose &#8216;5&#8242; to open edit member module<strong></strong></p>
<p><strong>b.3.1.9) </strong>Choose &#8216;6&#8242; to open help menu<strong></strong></p>
<p><strong>b.3.1.10) </strong>Choose &#8216;7&#8242; to exit the program<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.3.2) </strong><strong><span style="text-decoration: underline;">Adding new member record</span></strong></p>
<p><strong>b.3.2.1) </strong>Open the add member module by choosing &#8216;1&#8242; from main menu<strong></strong></p>
<p><strong>b.3.2.2) </strong>You will see a form with fields that needs to be filled<strong></strong></p>
<p><strong>b.3.2.3) </strong>The first field is member ID field, this is an auto-number field<strong></strong></p>
<p><strong>b.3.2.4) </strong>Your pointer will start at name field, and move down to the next field sequentially after you finish filling a field with correct data<strong></strong></p>
<p><strong>b.3.2.5) </strong>Enter alphabets with length from 3 to 30 for name field<strong></strong></p>
<p><strong>b.3.2.6) </strong>Enter &#8216;M&#8217; or &#8216;F&#8217; for gender field<strong></strong></p>
<p><strong>b.3.2.7) </strong>Enter alphanumeric with length from 7 to 9 for NRIC/Passport field<strong></strong></p>
<p><strong>b.3.2.8) </strong>Enter numeric data with length from 6 to 16 for contact field<strong></strong></p>
<p><strong>b.3.2.9) </strong>Enter two characters country code for nationality field. For example: Singapore &#8211; sg / Indonesia &#8211; id / India &#8211; in / China &#8211; cn<strong></strong></p>
<p><strong>b.3.2.10) </strong>Enter alphabets with length from 4 to 15 for occupation field<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.3.3) </strong><strong><span style="text-decoration: underline;">Delete a member record</span></strong></p>
<p><strong>b.3.3.1) </strong>Open delete member module by choosing &#8216;2&#8242; from main menu<strong></strong></p>
<p><strong>b.3.3.2) </strong>You will be asked to enter the ID of the record that you want to delete<strong></strong></p>
<p><strong>b.3.3.3) </strong>Enter the ID and press enter<strong></strong></p>
<p><strong>b.3.3.4) </strong>If the ID is not found, a warning message will appear and you can press any key to go back to main menu<strong></strong></p>
<p><strong>b.3.3.5) </strong>If the ID is found, the record will be displayed<strong></strong></p>
<p><strong>b.3.3.6) </strong>You will be asked for confirmation to delete the record<strong></strong></p>
<p><strong>b.3.3.6.1) </strong>Answer &#8216;<strong>Y</strong>&#8216; and press enter to delete the record, a message confirming that the record has been deleted will appear and you will back to main menu after pressing any key.<strong></strong></p>
<p><strong>b.3.3.6.2) </strong>Answer &#8216;<strong>N</strong>&#8216; and press enter to cancel deleting the record, and you will back to main menu<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.3.4) </strong><strong><span style="text-decoration: underline;">Display member records</span></strong></p>
<p><strong>b.3.4.1) </strong>Open the display member record by choosing &#8216;3&#8242;  from main menu<strong></strong></p>
<p><strong>b.3.4.2) </strong>The first 10 member records will be displayed.<strong></strong></p>
<p><strong>b.3.4.3) </strong>If there are less than 10 records, you will back to main menu after you press any key<strong></strong></p>
<p><strong>b.3.4.4) </strong>If there are more than 10 records, after you press any key, the next 10 records will be displayed on the screen<strong></strong></p>
<p><strong>b.3.4.5) </strong>Press any key after the last record displayed to go back to main menu<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.3.5) </strong><strong><span style="text-decoration: underline;">Search a member record</span></strong></p>
<p><strong>b.3.5.1) </strong>Open the search member module by choosing &#8216;4&#8242; from main menu<strong></strong></p>
<p><strong>b.3.5.2) </strong>You will be asked to enter the ID of the record that you want to search<strong></strong></p>
<p><strong>b.3.5.3) </strong>Enter the ID and press enter<strong></strong></p>
<p><strong>b.3.5.4) </strong>If the ID is not found, a warning message will appear<strong></strong></p>
<p><strong>b.3.5.5) </strong>If the ID is found, the corresponding record will be displayed<strong></strong></p>
<p><strong>b.3.5.6) </strong>After the record is found or not found, you will be asked whether you want to search for another record<strong></strong></p>
<p><strong>b.3.5.6.1) </strong>Choose &#8216;<strong>Y&#8217;</strong> to search for another record<strong></strong></p>
<p><strong>b.3.5.6.2) </strong>Choose &#8216;<strong>N</strong>&#8216; to go back to the main menu<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.3.6) </strong><strong><span style="text-decoration: underline;">Edit a member record</span></strong></p>
<p><strong>b.3.6.1) </strong>Open edit member module by choosing &#8216;5&#8242; from the main menu<strong></strong></p>
<p><strong>b.3.6.2) </strong>You will be asked to enter the ID of the record that you want to edit<strong></strong></p>
<p><strong>b.3.6.3) </strong>Enter the ID and press enter<strong></strong></p>
<p><strong>b.3.6.4) </strong>If the ID is not found, a warning message will appear<strong></strong></p>
<p><strong>b.3.6.5) </strong>If the ID is found, the corresponding record will be displayed<strong></strong></p>
<p><strong>b.3.6.6) </strong>Now you will have options to choose which field to edit from the record.<strong></strong></p>
<p><strong>b.3.6.7) </strong>You can see the option below the displayed record, enter the option number as your choice<strong></strong></p>
<p><strong>b.3.6.8) </strong>Enter your choice and press enter<strong></strong></p>
<p><strong>b.3.6.8.1) </strong>Choose &#8216;1&#8242; to edit the member&#8217;s name<strong></strong></p>
<p><strong>b.3.6.8.2) </strong>Choose &#8216;2&#8242; to edit the member&#8217;s gender<strong></strong></p>
<p><strong>b.3.6.8.3) </strong>Choose &#8216;3&#8242; to edit the member&#8217;s NRIC/Passport<strong></strong></p>
<p><strong>b.3.6.8.4) </strong>Choose &#8216;4&#8242; to edit the member&#8217;s contact<strong></strong></p>
<p><strong>b.3.6.8.5) </strong>Choose &#8216;5&#8242; to edit the member&#8217;s nationality<strong></strong></p>
<p><strong>b.3.6.8.6) </strong>Choose &#8216;6&#8242; to edit the member&#8217;s occupation<strong></strong></p>
<p><strong>b.3.6.8.7) </strong>Choose &#8216;7&#8242; to exit edit member module and back to main menu<strong></strong></p>
<p><strong>b.3.6.9) </strong>After you edit a field or after your target record is not found, you will be asked whether you want to edit another record<strong></strong></p>
<p><strong>b.3.6.9.1) </strong>Choose &#8216;<strong>Y</strong>&#8216; to edit another record.<strong></strong></p>
<p><strong>b.3.6.9.2) </strong>Choose &#8216;<strong>N</strong>&#8216; to go back to the main menu<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.3.7) </strong><strong><span style="text-decoration: underline;">Help menu</span></strong></p>
<p><strong>b.3.7.1) </strong>Open the help menu by choosing &#8216;6&#8242; from main menu<strong></strong></p>
<p><strong>b.3.7.2) </strong>Help menu will be displayed and you will see the option list<strong></strong></p>
<p><strong>b.3.7.3) </strong>Enter the number of the option as your choice<strong></strong></p>
<p><strong>b.3.7.4) </strong>Enter your choice and press enter to see the corresponding help<strong></strong></p>
<p><strong>b.3.7.4.1) </strong>Choose &#8216;1&#8242; to see help about super gamers<strong></strong></p>
<p><strong>b.3.7.4.2) </strong>Choose &#8216;2&#8242; to see help about super gamers customer registration system<strong></strong></p>
<p><strong>b.3.7.4.3) </strong>Choose &#8216;3&#8242; to see help about how to use add member module<strong></strong></p>
<p><strong>b.3.7.4.4) </strong>Choose &#8216;4&#8242; to see help about how to use delete member module<strong></strong></p>
<p><strong>b.3.7.4.5) </strong>Choose &#8216;5&#8242; to see help about how to use display member module<strong></strong></p>
<p><strong>b.3.7.4.6) </strong>Choose &#8216;6&#8242; to see help about how to use search member module<strong></strong></p>
<p><strong>b.3.7.4.7) </strong>Choose &#8216;7&#8242; to see help about how to use edit member module<strong></strong></p>
<p><strong>b.3.7.4.8) </strong>Choose &#8216;8&#8242; to exit help menu and go back to the main menu<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.3.8) </strong><strong><span style="text-decoration: underline;">Exit the program</span></strong></p>
<p><strong>b.3.8.1) </strong>You can exit and close the program by choosing &#8216;7&#8242; from main menu<strong></strong></p>
<p><strong>b.3.8.2) </strong>A closing message will be displayed<strong></strong></p>
<p><strong>b.3.8.3) </strong>Press any key to exit and close the program<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.4) </strong><strong><span style="text-decoration: underline;">Guest profile guide</span></strong></p>
<p>Guest profile cannot use most of the program&#8217;s module</p>
<p><strong>b.4.1) </strong><strong><span style="text-decoration: underline;">Guest &#8211; main menu</span></strong></p>
<p><strong>b.4.1.1) </strong>After signing in as guest, you will see the main menu for guest<strong></strong></p>
<p><strong>b.4.1.2) </strong>You can see that even there are many option written, only option number 4, 6, and 7 is highlighted with different color, this means that you can just choose these 3 options<strong></strong></p>
<p><strong>b.4.1.3) </strong>Enter your choice number and press enter<strong></strong></p>
<p><strong>b.4.1.3.1) </strong>Choose &#8216;4&#8242; to open guest-search member module<strong></strong></p>
<p><strong>b.4.1.3.2) </strong>Choose &#8216;6&#8242; to open guest-help menu<strong></strong></p>
<p><strong>b.4.1.3.3) </strong>Choose &#8216;7&#8242; to exit the program<strong></strong></p>
<p><strong>b.4.2) </strong><strong><span style="text-decoration: underline;">Guest &#8211; search a member record</span></strong></p>
<p><strong>b.4.2.1) </strong>Open the guest-search member module by choosing &#8216;4&#8242; from guest-main menu<strong></strong></p>
<p><strong>b.4.2.2) </strong>You will be asked to enter the ID of the record that you want to search<strong></strong></p>
<p><strong>b.4.2.3) </strong>Enter the ID and press enter<strong></strong></p>
<p><strong>b.4.2.4) </strong>If the ID is not found, a warning message will appear<strong></strong></p>
<p><strong>b.4.2.5) </strong>If the ID is found, the corresponding record will be displayed<strong></strong></p>
<p><strong>b.4.2.6) </strong>The information you will see from a record is limited to just 3 fields because only administrator profile can see the complete information from a record<strong></strong></p>
<p><strong>b.4.2.7) </strong>After the record is found or not found, you will be asked whether you want to search for another record<strong></strong></p>
<p><strong>b.4.2.7.1) </strong>Choose &#8216;<strong>Y&#8217;</strong> to search for another record<strong></strong></p>
<p><strong>b.4.2.7.2) </strong>Choose &#8216;<strong>N</strong>&#8216; to go back to the main menu<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.4.3) </strong><strong><span style="text-decoration: underline;">Guest &#8211; Help menu</span></strong></p>
<p><strong>b.4.3.1) </strong>You use the help menu in the same way as administrator profile<strong></strong></p>
<p><strong>b.4.3.2) </strong>Please refer to the administrator guide about help menu &#8220;<strong>b.3.7)</strong>&#8220;<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong>b.4.4) </strong><strong><span style="text-decoration: underline;">Exit the program</span></strong></p>
<p><strong>b.4.4.1) </strong>Please refer to the administrator guide about exiting the program &#8220;<strong>b.3.8)</strong>&#8220;<strong></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong><span style="text-decoration: underline;">8. Conclusion</span></strong></p>
<p>In conclusion, this program (Super Gamers Customer Registration System) can work properly to manage the member records like add new member record, delete member record, display, search, and also edit an existing member record. In spite of that this program is working properly, this program is not yet perfect. There are some strengths and weakness in this program. And also we need to do further enhancements to the program in the future.</p>
<p><strong><span style="text-decoration: underline;">8.1. Program Strengths</span></strong></p>
<p>First, let&#8217;s see at the strengths of this program. This program will help the company to manage its member records. With 5 useful module that is the add member module, delete member module, display member module, search member module, and edit member module. These five modules are enough to help the company staff to manage the member records more effectively. This program also equipped with some validation rules for each field in member record such as data length validation and also data type validation to prevent human error when entering a new member record.</p>
<p>Additionally, this program has its own help menu in the program to help the user use each module correctly and prevents error when using the program.</p>
<p>Finally, this program is protected with user name and password. So, it prevents unauthorized person to use the program. Only user that signed-in as administrator can use full feature of the program.</p>
<p><strong><span style="text-decoration: underline;">8.2. Program Weakness</span></strong></p>
<p>There are some weaknesses in this program, especially in the validation rules for record fields. For example, validation for NRIC/Passport field just checks the length of characters and also makes sure that the input data is alphanumeric, but it cannot validate that the entered NRIC / Passport is a valid passport or NRIC number format. This problem also occurs to the occupation field, the validation rule cannot make sure that the input data is a valid occupation.</p>
<p>Additionally, because I can&#8217;t find out how to validate a valid e-mail address, so this program don&#8217;t have e-mail address field which is important these days.</p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong><span style="text-decoration: underline;">8.3. Program Enhancements</span></strong></p>
<p><strong> </strong>After we see the program&#8217;s strength and weakness, some improvements can be done in the future. Maybe, we can add features like printing all the member records, so user can print any record when it&#8217;s needed.</p>
<p>Adding e-mail field to the record with proper validation rules can be done in the future. After we have the e-mail address from all members, maybe we can add feature like sending e-mail to all user to send an announcement or advertising if there is something new from the company.</p>
<p>Some more possible enhancements can be added to the program, like maybe we can add a feature to count monthly attendance of a customer, and then use that data to calculate a special discount or give the member a special reward.</p>
<p>Do you have any comment on this? maybe you have something to ask me or want to discuss with me about this?Or maybe you are IDIC student and taking this module also?<br />
Feel free to use the comment box below (<a href="http://thomaset2000.com/?p=236">click here if you cannot see the comment box</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-2-documentation-2/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>C1005 C Programming Project Term 1 2008, Part 2, Documentation 1</title>
		<link>http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-2-documentation-1/</link>
		<comments>http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-2-documentation-1/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 12:21:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[C Programming]]></category>
		<category><![CDATA[C1005]]></category>
		<category><![CDATA[project documentation]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=224</guid>
		<description><![CDATA[I have posted the proposal for this module in the previous post. Now I will start to post the documentation of this module&#8217;s project.
TABLE OF CONTENTS




Chapter


Sections


Description


Page









Cover page

1









Table of Contents

2




1




Current System

3




2




Proposed New System

5




3




Program Specification









3.1

Specification &#8211; file specification

7







3.2

Specification &#8211; processing &#38; validation

7







3.3

Messages used in this program

11







3.4

Specification &#8211; screen design

13




4




Program Design &#8211; Pseudocode

31




5




Program Listing

48




6




Testing









6.1

Testing &#8211; Test plan

123







6.2

Testing &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>I have posted the proposal for this module in the <a href="http://thomaset2000.com/?p=215">previous post</a>. Now I will start to post the documentation of this module&#8217;s project.</p>
<p align="center"><strong>TABLE OF CONTENTS</strong></p>
<table border="0" cellspacing="0" cellpadding="0" width="508">
<tbody>
<tr>
<td width="79" valign="top">
<p align="center"><strong>Chapter</strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>Sections</strong></p>
</td>
<td width="269" valign="top">
<p align="center"><strong>Description</strong></p>
</td>
<td width="81" valign="top">
<p align="center"><strong>Page</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top">Cover page</td>
<td width="81" valign="top">
<p align="center"><strong>1</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top">Table of Contents</td>
<td width="81" valign="top">
<p align="center"><strong>2</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong>1</strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top"><strong>Current System</strong></td>
<td width="81" valign="top">
<p align="center"><strong>3</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong>2</strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top"><strong>Proposed New System</strong></td>
<td width="81" valign="top">
<p align="center"><strong>5</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong>3</strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top"><strong>Program Specification</strong></td>
<td width="81" valign="top">
<p align="center"><strong></strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>3.1</strong></p>
</td>
<td width="269" valign="top">Specification &#8211; file specification</td>
<td width="81" valign="top">
<p align="center"><strong>7</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>3.2</strong></p>
</td>
<td width="269" valign="top">Specification &#8211; processing &amp; validation</td>
<td width="81" valign="top">
<p align="center"><strong>7</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>3.3</strong></p>
</td>
<td width="269" valign="top">Messages used in this program</td>
<td width="81" valign="top">
<p align="center"><strong>11</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>3.4</strong></p>
</td>
<td width="269" valign="top">Specification &#8211; screen design</td>
<td width="81" valign="top">
<p align="center"><strong>13</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong>4</strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top"><strong>Program Design &#8211; Pseudocode</strong></td>
<td width="81" valign="top">
<p align="center"><strong>31</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong>5</strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top"><strong>Program Listing</strong></td>
<td width="81" valign="top">
<p align="center"><strong>48</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong>6</strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top"><strong>Testing</strong></td>
<td width="81" valign="top">
<p align="center"><strong></strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>6.1</strong></p>
</td>
<td width="269" valign="top">Testing &#8211; Test plan</td>
<td width="81" valign="top">
<p align="center"><strong>123</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>6.2</strong></p>
</td>
<td width="269" valign="top">Testing &#8211; Test case and result</td>
<td width="81" valign="top">
<p align="center"><strong>125</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>6.3</strong></p>
</td>
<td width="269" valign="top">Testing &#8211; Test log</td>
<td width="81" valign="top">
<p align="center"><strong>185</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong>7</strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top"><strong>Program Implementation</strong></td>
<td width="81" valign="top">
<p align="center"><strong></strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>7.1</strong></p>
</td>
<td width="269" valign="top">Hardware &amp; Software Configuration</td>
<td width="81" valign="top">
<p align="center"><strong>187</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>7.2</strong></p>
</td>
<td width="269" valign="top">User manual</td>
<td width="81" valign="top">
<p align="center"><strong>188</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top">a) CD contents</td>
<td width="81" valign="top">
<p align="center"><strong>188</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top">b) Operating Guide</td>
<td width="81" valign="top">
<p align="center"><strong>190</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong>8</strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="269" valign="top"><strong>Conclusion</strong></td>
<td width="81" valign="top">
<p align="center"><strong></strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>8.1</strong></p>
</td>
<td width="269" valign="top">Program Strengths</td>
<td width="81" valign="top">
<p align="center"><strong>196</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>8.2</strong></p>
</td>
<td width="269" valign="top">Program Weakness</td>
<td width="81" valign="top">
<p align="center"><strong>196</strong></p>
</td>
</tr>
<tr>
<td width="79" valign="top">
<p align="center"><strong></strong></p>
</td>
<td width="78" valign="top">
<p align="center"><strong>8.3</strong></p>
</td>
<td width="269" valign="top">Program Enhancements</td>
<td width="81" valign="top">
<p align="center"><strong>197</strong></p>
</td>
</tr>
</tbody>
</table>
<p><strong></strong></p>
<p><strong><span style="text-decoration: underline;">1.0 CURRENT SYSTEM</span></strong></p>
<p>Super Gamers (SG) is a gaming center in Singapore that rent games from various game consoles for everyone to play on the shop. A group of university student founded it in 2001. SG was so famous among gamers in Singapore because it allows the member to play games with affordable price, vast selection of game console, and has a wide collection of games ranging from old era games to the most recent games. No wonder, SG has so many customers and keep increasing every year because of its excellent reputation.</p>
<p><span id="more-224"></span></p>
<p>Currently, Super Gamer&#8217;s staffs do their daily job with this system:</p>
<ul class="unIndentedList">
<li>When there is a customer who wants to play a game in a particular game console, he/she has to register to be a SG&#8217;s member. To do this, the staff will write down all required information about the new customer including what console he want to play (e.g. PS2/XBOX360/Wii) in a printed form, then manually assign him/her with a member ID.</li>
</ul>
<ul class="unIndentedList">
<li>If there is a member who want to change his personal detail like his/her phone number, address, etc. The staff needs to open the member document and search manually for the member&#8217;s file, then after the staff found it the information can be edited.</li>
</ul>
<ul class="unIndentedList">
<li>When the staff need to check or search information about a member, the staff will need to manually search the member files manually, which can be difficult in a large number of members.</li>
</ul>
<ul class="unIndentedList">
<li>If there is a member who are inactive for a long period of time, the staff will need to remove the membership of that particular member. To do this, again the staff have to manually search for the intended member&#8217;s file then throws it away from member document.</li>
</ul>
<p>This current system is complicated and has some problem:</p>
<p><strong>a. </strong><strong>Slow process</strong></p>
<p>The process of adding new member data and search for a particular member or game title will be very tiring and time consuming when the list of member is huge. This problem becomes worse because the company get new members every week.</p>
<p><strong>b. </strong><strong>Human Error</strong></p>
<p>With that manual system, the risk of human error is increased. The staff can be too tired and make mistake when creating, editing, searching, or deleting the record of a member.</p>
<p><strong><span style="text-decoration: underline;">2.0 PROPOSED NEW SYSTEM</span></strong></p>
<p>In order to solve the problems of the Super Gamer&#8217;s current system, SG will need to implement a new system for its member registration and management.</p>
<p>This new system will make the member management activity become more efficient and reduce the risk of human error.</p>
<p><span style="text-decoration: underline;">The features of the new system are:</span></p>
<p><strong>a. </strong><strong><span style="text-decoration: underline;">Add member module</span></strong></p>
<p>It allows easier process to add record of new member, including his/her information like Name, Gender, NRIC/Passport, Contact Number, etc.</p>
<p>After the user choose Add member module from the main menu, user will see a form that have all the required information fields for a particular member. The first field is the member ID that will be automatically assigned by the system; this will avoid the risk that there are two members with the same ID. Then user can start filling up all the required fields, there are total 7 fields that needs to be completed: User ID, Name, Name, Gender, NRIC/Passport, Contact number, Nationality, and Occupation. Each field come with its own validation rule, for example Contact number field must be filled with numbers only and also it cannot be too short or too long, these validation rules for each field will help to preserve data integrity.</p>
<p><strong>b. </strong><strong><span style="text-decoration: underline;">Search member module</span></strong></p>
<p>It is used to search the data and information of a particular member that the staff needs to know.</p>
<p>When user opens this module, he/she will be prompted to enter the ID for the record that he/she wants to search. If the record found, all the information about the record will be displayed, if not, there will be a message to tell the user that there is no record with that ID. After that, user will be asked if he/she wants to search for another record.</p>
<p><strong>c. </strong><strong><span style="text-decoration: underline;">Edit member module</span></strong></p>
<p>This module is used to change or edit some information about a member. This edit member module is very useful especially when a member change his personal particular like his/her contact number or maybe the user entered the wrong data when he/she add a member and now the user wants to correct it without deleting the existing record.</p>
<p>When user opens this module, he/she will be prompted to enter the ID for the record that he/she wants to edit. If the record found, all the information about the record will be displayed, if not, there will be a message to tell the user that there is no record with that ID. In case the record is found, now the user can choose to edit what field in this record. Finally, the user will be asked if he/she wants to edit another record.</p>
<p><strong>d. </strong><strong><span style="text-decoration: underline;">Display member module</span></strong></p>
<p>The user can display the entire member list with this module. After the user chooses to enter display member module from the main menu, user will see the list of all the member records. It&#8217;s very simple and easy to use.</p>
<p><strong>e. </strong><strong><span style="text-decoration: underline;">Delete member module</span></strong></p>
<p>This module is to delete any member data when the user needs to do so. After the user select to enter delete member module from the main menu he/she will be prompted to enter the ID for the record that he/she wants to delete. If the record found, all the information about the record will be displayed, if not, there will be a message to tell the user that there is no record with that ID. Then, the program will ask confirmation from the user whether he/she really wants to delete this record or not. Finally, the user will be asked if he/she wants to delete another record.</p>
<p><strong><span style="text-decoration: underline;">3.0 PROGRAM SPECIFICATION</span></strong></p>
<p><strong><span style="text-decoration: underline;">3.1 Specification &#8211; File Specification</span></strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="38">
<p align="center"><strong>No.</strong></p>
</td>
<td width="101">
<p align="center"><strong>Item Name</strong></p>
</td>
<td width="171">
<p align="center"><strong>Description</strong></p>
</td>
<td width="93">
<p align="center"><strong>Data Type</strong></p>
</td>
<td width="72">
<h4>Size</h4>
</td>
<td width="76">
<p align="center"><strong>Range</strong></p>
</td>
</tr>
<tr>
<td width="38" valign="top">
<p align="center">1.</p>
</td>
<td width="101">
<p align="center">mem_name</p>
</td>
<td width="171">
<p align="center">Member Name</p>
</td>
<td width="93">
<p align="center">Char</p>
</td>
<td width="72">
<p align="center">30</p>
</td>
<td width="76">A-Z, a-z</td>
</tr>
<tr>
<td width="38" valign="top">
<p align="center">2.</p>
</td>
<td width="101">
<p align="center">Mem_gender</p>
</td>
<td width="171">
<p align="center">Member Gender</p>
</td>
<td width="93">
<p align="center">Char</p>
</td>
<td width="72">
<p align="center">1</p>
</td>
<td width="76">
<p align="center">M / F</p>
</td>
</tr>
<tr>
<td width="38" valign="top">
<p align="center">3.</p>
</td>
<td width="101">
<p align="center">mem_nric</p>
</td>
<td width="171">
<p align="center">NRIC / Passport No.</p>
</td>
<td width="93">
<p align="center">Char</p>
</td>
<td width="72">
<p align="center">14</p>
</td>
<td width="76">
<p align="center">A-Z, 0-9</p>
</td>
</tr>
<tr>
<td width="38" valign="top">
<p align="center">4.</p>
</td>
<td width="101">
<p align="center">Mem_contact</p>
</td>
<td width="171">
<p align="center">contact number</p>
</td>
<td width="93">
<p align="center">Char</p>
</td>
<td width="72">
<p align="center">16</p>
</td>
<td width="76">
<p align="center">0-9</p>
</td>
</tr>
<tr>
<td width="38" valign="top">
<p align="center">5.</p>
</td>
<td width="101">
<p align="center">Mem_nation</p>
</td>
<td width="171">
<p align="center">Member Nationality</p>
</td>
<td width="93">
<p align="center">Char</p>
</td>
<td width="72">
<p align="center">2</p>
</td>
<td width="76">
<p align="center">A-Z, a-z</p>
</td>
</tr>
<tr>
<td width="38" valign="top">
<p align="center">6.</p>
</td>
<td width="101">
<p align="center">mem_job</p>
</td>
<td width="171">
<p align="center">Member Occupation</p>
</td>
<td width="93">
<p align="center">Char</p>
</td>
<td width="72">
<p align="center">15</p>
</td>
<td width="76">
<p align="center">A-Z, a-z</p>
</td>
</tr>
<tr>
<td width="38" valign="top">
<p align="center">7.</p>
</td>
<td width="101">
<p align="center">Id</p>
</td>
<td width="171">
<p align="center">Member&#8217;s ID</p>
</td>
<td width="93">
<p align="center">Int</p>
</td>
<td width="72">
<p align="center">-</p>
</td>
<td width="76">
<p align="center">1-999</p>
</td>
</tr>
</tbody>
</table>
<p><strong><span style="text-decoration: underline;">Note*:</span></strong></p>
<p>The records for this program will be saved as a file named &#8220;<strong>tsg.dat</strong>&#8220;. The location of this file will be &#8220;<strong>c:\\tsg.dat</strong>&#8220;.</p>
<p><strong><span style="text-decoration: underline;">3.2 Specification- Processing and Validations</span></strong></p>
<p>1.      <strong>Name</strong></p>
<p>v  Name field accepts alphabets only, it&#8217;s a character array that able to accept up to 30 characters. User can enter both lowercase or upper case and also space in this field. This name field is designed to contain both the member&#8217;s first name and last name.</p>
<p>v  There is a minimum and maximum length for this name field. The minimum length is 3 characters and the maximum length is 30 characters. If user entered a name less than the minimum or more than the maximum length, a warning message &#8220;<strong>Name length must be 3 to 30 characters only!</strong>&#8221; will appear and the user will need to try again.</p>
<p>v  If the user try to enter data other than alphabet in this field, a warning message &#8220;<strong>Name must be alphabets only&#8230;</strong>&#8221; will appear and the user will need to try again.</p>
<p><strong></strong></p>
<p>2.      <strong>Gender</strong></p>
<p>v  Gender field only accepts two possible inputs: &#8220;M&#8221; or &#8220;F&#8221;, either the lowercase or the uppercase. If the user entered another value, a warning message &#8220;<strong>Gender must be M or F!!</strong>&#8221; will appear and the user will need to try again.</p>
<p>3.      <strong>NRIC / Passport</strong></p>
<p>v  NRIC or Passport number field accepts alphanumeric entry with length from 7 characters to 9 characters.</p>
<p>v  If user enter less than 7 characters, a warning message &#8220;<strong>NRIC/Passport too short..</strong>&#8221; will appear and the user will need to try again.</p>
<p>v  If user enter more than 9 characters, a warning message &#8220;<strong>NRIC/Passport too long..&#8221;</strong> will appear and the user will need to try again.</p>
<p>v  If user tries to enter data other than alphanumeric (e.g. punctuations), a warning message &#8220;<strong>Invalid! Only Accept Alphabets &amp; Number&#8230;</strong>will appear and the user will need to try again.</p>
<p>4.      <strong>Contact Number</strong></p>
<p>v  Contact number field accepts numeric data only with length from 6 until 16 digits.</p>
<p>v  If user enter less than 6 digits, a warning message &#8220;<strong>Contact No. cannot be less than 6 digits..&#8221;</strong> will appear and the user will need to try again.</p>
<p>v  If user enter less than 16 digits, a warning message &#8220;<strong>Contact No. cannot be more than 16 digits..</strong>&#8221; will appear and the user will need to try again.</p>
<p>v  If tries to enter data other than numeric digit, a warning message &#8220;<strong>Invalid! Only Accept Number&#8230;</strong>&#8221; will appear and the user will need to try again.</p>
<p><strong></strong></p>
<p>5.      <strong>Nationality</strong></p>
<p>v  Nationality field accepts member&#8217;s nationality in two characters code (e.g. Singapore &#8211; sg).</p>
<p>v  If user enter less than 2 characters or more than 2 characters in this field, a warning message &#8220;<strong>Nationality code is 2 characters only&#8230;</strong>&#8220;will appear and the user will need to try again.</p>
<p>v  If user enter a data other than alphabet (e.g. number), a warning message &#8220;<strong>Invalid! Only Accept Alphabets&#8230;</strong>&#8221; will appear and the user will need to try again.</p>
<p>6.      <strong>Occupation</strong></p>
<p>v  Occupation field accepts alphabet entry with length from 4 to 15 characters.</p>
<p>v  If user enter less than 4 characters, a warning message &#8220;<strong>Contact Too Short!minimum of 4 characters for occupation field..&#8221;</strong> will appear and the user will need to try again.</p>
<p>v  If user enter less than 15 digits, a warning message &#8220;<strong>Too Long!Occupation field accepts maximum of 15 characters</strong>&#8221; will appear and the user will need to try again.</p>
<p>v  If tries to enter data other than alphabet into this field, a warning message &#8220;<strong>Invalid! Only Accept Alphabets&#8230;</strong>&#8221; will appear and the user will need to try again.</p>
<p>7.      <strong>ID</strong></p>
<p>v  This field contains the member identification number or member&#8217;s ID.</p>
<p>v  The data type of this field is integer</p>
<p>v  Member ID will be assigned automatically by this software to avoid duplicate member ID.</p>
<p>v  If there is no other record, member ID will start from 1, then it will incremented by 1 for subsequent record.</p>
<p><strong></strong></p>
<p>8.      <strong>Login Screen</strong></p>
<p>v  This Screen will ask for user name and password from the user at the beginning of the software, login is required to ensure that only authorized user can use the program.</p>
<p>v  There are two profile in this program</p>
<p>v  The first profile is administrator profile which can be accessed by entering &#8220;<strong>admin</strong>&#8221; as user name, and &#8220;<strong>admin123</strong>&#8221; as the password. Administrator profile has full access to the program.</p>
<p>v  The second profile is guest profile which can be accessed by entering &#8220;<strong>guest</strong>&#8221; as user name, and leaves the password field blank. Guest profile has a very limited access to the program feature, guest profile only able to use the search member module and the help menu.</p>
<p>v  User is given total three chances to enter the correct user name and password. If user entered the wrong user name or password, a warning &#8220;<strong>invalid user name or password, try again.</strong>&#8221; and also &#8220;<strong>you have x more chance(s) to try</strong>&#8221; will appear on the screen.</p>
<p>v  If the user fail to enter the correct user name and password for three times, this message will be displayed &#8220;<strong>Sorry, try again next time..</strong>&#8220;, &#8220;<strong>Press any key to exit&#8230;</strong>&#8221; and the program will be closed after the user press any key.</p>
<p><strong><span style="text-decoration: underline;">3.3 Messages used in this program</span></strong></p>
<p><strong>1) </strong><strong>Add Member Module</strong></p>
<p>Ø  Save Record[Y/N]?:_</p>
<p>Ø  In case of invalid choice, this message will appear &#8220;<strong>Invalid choice,please try again&#8230;</strong>&#8221;</p>
<p>Ø  Add more record[Y/N]?_</p>
<p><strong>2) </strong><strong>Delete Member Module</strong></p>
<p>Ø  If the file is empty, this message will appear &#8220;<strong>Error, No record in the file</strong>&#8220;.</p>
<p>Ø  confirm delete[Y/N]?_</p>
<p>Ø  In case if the ID for the record to be deleted is not found, this message will appear &#8220;<strong>Not Found</strong>&#8220;.</p>
<p><strong>3) </strong><strong>Display Member Module</strong></p>
<p>Ø  After all the records displayed, this message will appear &#8220;<strong>Back to main menu</strong>&#8220;. So, after the user press any key, it will bring the screen back to main menu.</p>
<p>Ø  If there are more than 10 records, after the first 10 records are displayed, this message will appear &#8220;<strong>Next Record</strong>&#8220;. After the user press any key, the next 10 records will be displayed on the screen.</p>
<p><strong>4) </strong><strong>Search Member Module</strong></p>
<p>Ø  If the file is empty, this message will appear &#8220;<strong>Cannot open file</strong>&#8220;.</p>
<p>Ø  In case that the target record is not found, this message will appear <strong>&#8220;&#8212;&#8212;&#8211;Unable To Find The Record&#8212;&#8212;&#8212;</strong>&#8220;.</p>
<p>Ø  Search for Another Record[Y/N]?_</p>
<p><strong></strong></p>
<p><strong>5) </strong><strong>Edit Member Module</strong></p>
<p>Ø  If the file is empty, this message will appear &#8220;<strong>Cannot open file</strong>&#8220;.</p>
<p>Ø  Choice[1-7]:_</p>
<p>Ø  In case of invalid choice, this message will appear &#8220;<strong>Invalid choice</strong>&#8220;, &#8220;<strong>Press any key and Try again</strong>&#8221;</p>
<p>Ø  Edit another record[Y/N]?</p>
<p><strong>6) </strong><strong>Help Menu</strong></p>
<p>Ø  Enter your choice[1-8]:_</p>
<p>Ø  In case of invalid choice, this message will appear &#8220;<strong>Invalid!! Choice must be 1-8 only&#8230;</strong>&#8221;</p>
<p><strong><span style="text-decoration: underline;">Note*</span></strong>:</p>
<p>Beside the main administrator profile that user can access by entering &#8220;<strong>admin</strong>&#8221; as the user name and &#8220;<strong>admin123</strong>&#8221; as the password. User can also sign in as guest by entering &#8220;<strong>guest</strong>&#8220;<strong> </strong>as user name and type no password.</p>
<p>When signing-in as guest, some module will be disabled. Only Search Member module and Help Menu can be accessed by the user when signing-in as guest. The information provided when using the search module as a guest will also limited to just three information: member ID, Name, and gender.</p>
<p><strong><span style="text-decoration: underline;">3.4 Specification &#8211; Screen Design</span></strong></p>
<p>This part contain a lot of picture and screen shots, so I will give just one example for the first point, login screen.</p>
<p><strong>3.4.1) </strong><strong>Login Screen</strong></p>
<p><strong><img class="alignnone size-full wp-image-231" title="login-screen-design" src="http://thomaset2000.com/wp-content/uploads/login-screen-design.jpg" alt="login-screen-design" width="387" height="195" /></strong></p>
<p><strong><img class="alignnone size-full wp-image-230" title="login-screen-2" src="http://thomaset2000.com/wp-content/uploads/login-screen-2.jpg" alt="login-screen-2" width="677" height="340" /><br />
</strong></p>
<p><strong></strong></p>
<p><strong>3.4.2) </strong><strong>Main Menu</strong></p>
<p><strong></strong></p>
<p><strong>3.4.3) </strong><strong>Add Member Module</strong></p>
<p><strong></strong></p>
<p><strong>3.4.4) </strong><strong>Delete Member Module</strong></p>
<p><strong></strong></p>
<p><strong>3.4.5) </strong><strong>Display Member Module</strong></p>
<p><strong></strong></p>
<p><strong>3.4.6) </strong><strong>Search Member Module</strong></p>
<p><strong></strong></p>
<p><strong>3.4.7) </strong><strong>Edit Member Module</strong></p>
<p><strong></strong></p>
<p><strong>3.4.8) </strong><strong>Help Menu</strong></p>
<p><strong></strong></p>
<p><strong>3.4.9) </strong><strong>About Super Gamers &#8211; Help</strong></p>
<p><strong></strong></p>
<p><strong>3.4.10) </strong><strong>About Super Gamers Customer Registration System &#8211; Help</strong></p>
<p><strong></strong></p>
<p><strong>3.4.11) </strong><strong>How to add new member record &#8211; Help</strong></p>
<p><strong></strong></p>
<p><strong>3.4.12) </strong><strong>How to delete a member record &#8211; Help</strong></p>
<p><strong></strong></p>
<p><strong>3.4.13) </strong><strong>How to display all member records &#8211; Help</strong></p>
<p><strong></strong></p>
<p><strong>3.4.14) </strong><strong>How to search a member record &#8211; Help</strong></p>
<p><strong></strong></p>
<p><strong>3.4.15) </strong><strong>How to edit an existing member record &#8211; Help</strong></p>
<p><strong></strong></p>
<p><strong>3.4.16) </strong><strong>Guest &#8211; Main Menu</strong></p>
<p><strong></strong></p>
<p><strong>3.4.17) </strong><strong>Guest &#8211; Search Member Module</strong></p>
<p><strong></strong></p>
<p><strong>3.4.18) </strong><strong>Exit Screen</strong></p>
<p><strong><span style="text-decoration: underline;">4.0 Program Design &#8211; Pseudocode</span></strong></p>
<p><strong>4.1) </strong><strong>Main</strong></p>
<p>DO</p>
<p>CALL login screen</p>
<p>ENDDO</p>
<p><strong>4.2) </strong><strong>Login Screen</strong></p>
<p>DO</p>
<p>DISPLAY login form</p>
<p>CALL User name &amp; password validation</p>
<p>ENDDO</p>
<p><strong>4.3) </strong><strong>User name &amp; password validation</strong></p>
<p>DO</p>
<p>SET attempt to 1</p>
<p>DO</p>
<p>WHILE not valid AND attempt &lt; 4</p>
<p>GET User name</p>
<p>GET Password</p>
<p>IF User name AND Password is valid</p>
<p>DO</p>
<p>SET valid to true</p>
<p>CALL Main menu</p>
<p>ENDDO</p>
<p>ELSE</p>
<p>DO</p>
<p>SET valid to false</p>
<p>Increase attempt by 1</p>
<p>ENDDO</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p>ENDDO</p>
<p><strong></strong></p>
<p><strong>4.4) </strong><strong>Main Menu</strong></p>
<p>DO</p>
<p>WHILE valid_choice is false</p>
<p>DISPLAY main menu</p>
<p>GET choice</p>
<p>DO</p>
<p>CASE</p>
<p>Choice &#8211; 1</p>
<p>DO</p>
<p>CALL Add module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 2</p>
<p>DO</p>
<p>CALL Delete module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 3</p>
<p>DO</p>
<p>CALL Display module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 4</p>
<p>DO</p>
<p>CALL Search module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 5</p>
<p>DO</p>
<p>CALL Edit module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 6</p>
<p>DO</p>
<p>CALL Help menu</p>
<p>SET valid_choice to true</p>
<p>Choice &#8211; 7</p>
<p>DO</p>
<p>CALL Exit screen</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; default</p>
<p>DO</p>
<p>DISPLAY error message</p>
<p>SET valid_choice to false</p>
<p>ENDDO</p>
<p>ENDCASE</p>
<p>ENDDO</p>
<p>ENDDO</p>
<p><strong>4.5) </strong><strong>Add Member Module</strong></p>
<p>DO</p>
<p>WHILE choice &#8216;Y&#8217;</p>
<p>DO</p>
<p>OPEN sgfile</p>
<p>DISPLAY record fields</p>
<p>CALL Confirm name validation module</p>
<p>CALL Validate gender module</p>
<p>CALL Confirm NRIC validation module</p>
<p>CALL Confirm contact validation module</p>
<p>CALL Confirm Nationality validation module</p>
<p>CALL Confirm Occupation validation module</p>
<p>GET save_choice</p>
<p>IF save_choice &#8211; &#8216;Y&#8217;</p>
<p>DO</p>
<p>WRITE record to sgfile</p>
<p>CLOSE sgfile</p>
<p>ENDDO</p>
<p>ELSE</p>
<p>DO</p>
<p>CLOSE sgfile</p>
<p>ENDDO</p>
<p>ENDIF</p>
<p>DO</p>
<p>WHILE valid_choice is false</p>
<p>GET choice</p>
<p>IF choice &#8211; &#8216;Y&#8217;</p>
<p>SET valid_choice to true</p>
<p>ELSE</p>
<p>IF choice &#8211; &#8216;N&#8217;</p>
<p>SET valid_choice to true</p>
<p>ELSE</p>
<p>SET valid_choice to false</p>
<p>ENDIF</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p>ENDDO</p>
<p>ENDDO</p>
<p><strong>4.6) </strong><strong>Validate name length module</strong></p>
<p>DO</p>
<p>WHILE valid is false</p>
<p>GET mem_name</p>
<p>IF length of mem_name &lt; 3 OR length of mem_name &gt; 30</p>
<p>DISPLAY warning message</p>
<p>SET valid to false</p>
<p>ELSE</p>
<p>SET valid to true</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p><strong></strong></p>
<p><strong>4.7) </strong><strong>Validate name data type module</strong></p>
<p>DO</p>
<p>SET idx to 0</p>
<p>WHILE idx &lt; length of mem_name</p>
<p>c &lt;- mem_name[idx]</p>
<p>IF c is not alphabet OR c is not space</p>
<p>DISPLAY warning message</p>
<p>RETURN false</p>
<p>ELSE</p>
<p>RETURN true</p>
<p>ENDIF</p>
<p>Increment idx by 1</p>
<p>ENDDO</p>
<p><a name="OLE_LINK6"></a><a name="OLE_LINK5"></a></p>
<p>DO</p>
<p>WHILE validate name data type module return false</p>
<p>CALL validate name length module</p>
<p>ENDDO</p>
<p><strong>4.9) </strong><strong>Validate gender module</strong></p>
<p>DO</p>
<p>WHILE valid is false</p>
<p>GET mem_gender</p>
<p>IF mem_gender not equal to &#8216;M&#8217; OR mem_gender not equal to &#8216;F&#8217;</p>
<p>DISPLAY warning message</p>
<p>SET valid to false</p>
<p>ELSE</p>
<p>SET valid to true</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p><strong></strong></p>
<p><strong>4.10) </strong><strong>Validate NRIC length module</strong></p>
<p>DO</p>
<p>WHILE valid is false</p>
<p>GET mem_nric</p>
<p>IF length of mem_nric &lt; 7</p>
<p>DISPLAY warning message</p>
<p>SET valid to false</p>
<p>ELSE</p>
<p>IF length of mem_nric &gt; 9</p>
<p>DISPLAY warning message</p>
<p>SET valid to false</p>
<p>ELSE</p>
<p>SET valid to true</p>
<p>ENDIF</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p><strong>4.11) </strong><strong>Validate NRIC data type module</strong></p>
<p>DO</p>
<p>SET idx to 0</p>
<p>WHILE idx &lt; length of mem_nric</p>
<p>c &lt;- mem_nric[idx]</p>
<p>IF c is not alphabet OR c is not digit</p>
<p>DISPLAY warning message</p>
<p>RETURN false</p>
<p>ELSE</p>
<p>RETURN true</p>
<p>ENDIF</p>
<p>Increment idx by 1</p>
<p>ENDDO</p>
<p><strong></strong></p>
<p><strong>4.12) </strong><strong>Confirm NRIC validation module</strong></p>
<p>DO</p>
<p>WHILE validate NRIC data type module return false</p>
<p>CALL validate NRIC length module</p>
<p>ENDDO</p>
<p><strong>4.13) </strong><strong>Validate contact length module</strong></p>
<p>DO</p>
<p>WHILE valid is false</p>
<p>GET mem_contact</p>
<p>IF length of mem_contact &lt; 6</p>
<p>DISPLAY warning message</p>
<p>SET valid to false</p>
<p>ELSE</p>
<p>IF length of mem_contact &gt; 16</p>
<p>DISPLAY warning message</p>
<p>SET valid to false</p>
<p>ELSE</p>
<p>SET valid to true</p>
<p>ENDIF</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p><strong>4.14) </strong><strong>Validate contact data type module</strong></p>
<p>DO</p>
<p>SET idx to 0</p>
<p>WHILE idx &lt; length of mem_contact</p>
<p>c &lt;- mem_contact[idx]</p>
<p>IF c is not digit</p>
<p>DISPLAY warning message</p>
<p>RETURN false</p>
<p>ELSE</p>
<p>RETURN true</p>
<p>ENDIF</p>
<p>Increment idx by 1</p>
<p>ENDDO</p>
<p><strong>4.15) </strong><strong>Confirm contact validation module</strong></p>
<p>DO</p>
<p>WHILE validate contact data type module return false</p>
<p>CALL validate contact length module</p>
<p>ENDDO</p>
<p><strong>4.16) </strong><strong>Validate nationality length module</strong></p>
<p>DO</p>
<p>WHILE valid is false</p>
<p>GET mem_nation</p>
<p>IF length of mem_nation not equal to 2</p>
<p>DISPLAY warning message</p>
<p>SET valid to false</p>
<p>ELSE</p>
<p>SET valid to true</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p><strong>4.17) </strong><strong>Validate nationality data type module</strong></p>
<p>DO</p>
<p>SET idx to 0</p>
<p>WHILE idx &lt; length of mem_nation</p>
<p>c &lt;- mem_nation[idx]</p>
<p>IF c is not alphabet</p>
<p>DISPLAY warning message</p>
<p>RETURN false</p>
<p>ELSE</p>
<p>RETURN true</p>
<p>ENDIF</p>
<p>Increment idx by 1</p>
<p>ENDDO</p>
<p><strong></strong></p>
<p><strong>4.18) </strong><strong>Confirm nationality validation module</strong></p>
<p>DO</p>
<p>WHILE validate nationality data type module return false</p>
<p>CALL validate nationality length module</p>
<p>ENDDO</p>
<p><strong>4.19) </strong><strong>Validate occupation length module</strong></p>
<p>DO</p>
<p>WHILE valid is false</p>
<p>GET mem_job</p>
<p>IF length of mem_job &lt; 4</p>
<p>DISPLAY warning message</p>
<p>SET valid to false</p>
<p>ELSE</p>
<p>IF length of mem_job &gt; 15</p>
<p>DISPLAY warning message</p>
<p>SET valid to false</p>
<p>ELSE</p>
<p>SET valid to true</p>
<p>ENDIF</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p><strong>4.20) </strong><strong>Validate occupation data type module</strong></p>
<p>DO</p>
<p>SET idx to 0</p>
<p>WHILE idx &lt; length of mem_job</p>
<p>c &lt;- mem_job[idx]</p>
<p>IF c is not alphabet</p>
<p>DISPLAY warning message</p>
<p>RETURN false</p>
<p>ELSE</p>
<p>RETURN true</p>
<p>ENDIF</p>
<p>Increment idx by 1</p>
<p>ENDDO</p>
<p><strong>4.21) </strong><strong>Confirm occupation validation module</strong></p>
<p>DO</p>
<p>WHILE validate occupation data type module return false</p>
<p>CALL validate occupation length module</p>
<p>ENDDO</p>
<p><strong>4.22) </strong><strong>Delete Member Module</strong></p>
<p>DO</p>
<p>GET target_id</p>
<p>OPEN sgfile</p>
<p>OPEN temp</p>
<p>DO</p>
<p>WHILE not end of sgfile</p>
<p>IF target_id equals to member.id</p>
<p>COPY record from file to target record</p>
<p>ELSE</p>
<p>COPY record from file to temp file</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p>IF target_id is found</p>
<p>DISPLAY target record</p>
<p>GET user choice</p>
<p>IF user choice &lt;- &#8216;Y&#8217;</p>
<p>DELETE sgfile</p>
<p>RENAME temp to sgfile</p>
<p>CLOSE sgfile</p>
<p>CALL main menu</p>
<p>ELSE</p>
<p>DELETE temp</p>
<p>CLOSE sgfile</p>
<p>ENDIF</p>
<p>ELSE</p>
<p>DISPLAY warning message</p>
<p>CLOSE sgfile</p>
<p>DELETE temp</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p><strong>4.23) </strong><strong>Display Member Module</strong></p>
<p>DO</p>
<p>SET counter to 0</p>
<p>OPEN sgfile</p>
<p>DO</p>
<p>WHILE not end of file</p>
<p>DISPLAY record</p>
<p>ADD counter by 1</p>
<p>IF counter equal to 10</p>
<p>DISPLAY message</p>
<p>GET user response</p>
<p>Clear screen</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p>ENDDO</p>
<p><strong>4.24) </strong><strong>Search Member Module</strong></p>
<p>DO</p>
<p>WHILE choice &#8216;Y&#8217;</p>
<p>GET target_id</p>
<p>OPEN sgfile</p>
<p>SET idx to 1</p>
<p>DO</p>
<p>WHILE not end of file</p>
<p>IF target_id equals to record idx</p>
<p>SET found to true</p>
<p>ELSE</p>
<p>SET found to false</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p>IF found is true</p>
<p>DISPLAY record</p>
<p>ELSE</p>
<p>DISPLAY warning message</p>
<p>ENDIF</p>
<p>CLOSE sgfile</p>
<p>DO</p>
<p>WHILE flag is false</p>
<p>GET user choice</p>
<p>IF choice &#8211; &#8216;Y&#8217;</p>
<p>SET flag to true</p>
<p>ELSE</p>
<p>IF choice &#8211; &#8216;N&#8217;</p>
<p>SET flag to true</p>
<p>ELSE</p>
<p>SET flag to false</p>
<p>ENDIF</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p><strong>4.25) </strong><strong>Edit Member Module</strong></p>
<p>DO</p>
<p>WHILE choice &#8211; &#8216;Y&#8217;</p>
<p>GET target_id</p>
<p>OPEN sgfile</p>
<p>SET idx to 1</p>
<p>DO</p>
<p>WHILE not end of file</p>
<p>IF target_id equals to record idx</p>
<p>SET found to true</p>
<p>ELSE</p>
<p>SET found to false</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p>IF found is true</p>
<p>DISPLAY record</p>
<p>GET user choice</p>
<p>CASE</p>
<p>User choice &#8211; 1</p>
<p>EDIT name</p>
<p>User choice &#8211; 2</p>
<p>EDIT gender</p>
<p>User choice &#8211; 3</p>
<p>EDIT NRIC/Passport</p>
<p>User choice &#8211; 4</p>
<p>EDIT contact</p>
<p>User choice &#8211; 5</p>
<p>EDIT nationality</p>
<p>User choice &#8211; 6</p>
<p>EDIT occupation</p>
<p>ENDCASE</p>
<p>ELSE</p>
<p>DISPLAY warning message</p>
<p>ENDIF</p>
<p>DO</p>
<p>WHILE flag is false</p>
<p>GET user choice</p>
<p>IF choice &#8211; &#8216;Y&#8217;</p>
<p>SET flag to true</p>
<p>ELSE</p>
<p>IF choice &#8211; &#8216;N&#8217;</p>
<p>SET flag to true</p>
<p>ELSE</p>
<p>SET flag to false</p>
<p>ENDIF</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p><strong></strong></p>
<p><strong>4.26) </strong><strong>Help Menu</strong></p>
<p>DO</p>
<p>WHILE valid_choice is false</p>
<p>DISPLAY help menu</p>
<p>GET choice</p>
<p>DO</p>
<p>CASE</p>
<p>Choice &#8211; 1</p>
<p>DO</p>
<p>CALL About Super Gamers module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 2</p>
<p>DO</p>
<p>CALL About Super Gamers Customer Registration System module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 3</p>
<p>DO</p>
<p>CALL How to add new member record module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 4</p>
<p>DO</p>
<p>CALL How to delete a member record module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 5</p>
<p>DO</p>
<p>CALL How to display all member records module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 6</p>
<p>DO</p>
<p>CALL How to search a member record module</p>
<p>SET valid_choice to true</p>
<p>Choice &#8211; 7</p>
<p>DO</p>
<p>CALL How to edit an existing record module</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; 8</p>
<p>DO</p>
<p>CALL main menu</p>
<p>SET valid_choice to true</p>
<p>ENDDO</p>
<p>Choice &#8211; default</p>
<p>DO</p>
<p>DISPLAY error message</p>
<p>SET valid_choice to false</p>
<p>ENDDO</p>
<p>ENDCASE</p>
<p>ENDDO</p>
<p>ENDDO</p>
<p><strong>4.27) </strong><strong>Help &#8211; About Super Gamers</strong></p>
<p>DO</p>
<p>DISPLAY Help &#8211; About Super Gamer</p>
<p>CALL help menu</p>
<p>ENDDO</p>
<p><strong></strong></p>
<p><strong>4.28) </strong><strong>Help &#8211; About Super Gamers Customer Registration System</strong></p>
<p>DO</p>
<p>DISPLAY Help &#8211; About Super Gamers Customer Registration System module</p>
<p>CALL help menu</p>
<p>ENDDO</p>
<p><strong>4.29) </strong><strong>Help &#8211; How to add new member record</strong></p>
<p>DO</p>
<p>DISPLAY Help &#8211; How to add new member record module</p>
<p>CALL help menu</p>
<p>ENDDO</p>
<p><strong>4.30) </strong><strong>Help &#8211; How to delete a member record</strong></p>
<p>DO</p>
<p>DISPLAY Help &#8211; How to delete a member record module</p>
<p>CALL help menu</p>
<p>ENDDO</p>
<p><strong>4.31) </strong><strong>Help &#8211; How to display all member records</strong></p>
<p>DO</p>
<p>DISPLAY Help &#8211; How to display all member records module</p>
<p>CALL help menu</p>
<p>ENDDO</p>
<p><strong>4.32) </strong><strong>Help &#8211; How to search a member record</strong></p>
<p>DO</p>
<p>DISPLAY Help &#8211; How to search a member record module</p>
<p>CALL help menu</p>
<p>ENDDO</p>
<p><strong>4.33) </strong><strong>Help &#8211; How to edit an existing record</strong></p>
<p>DO</p>
<p>DISPLAY Help &#8211; How to edit an existing record module</p>
<p>CALL help menu</p>
<p>ENDDO</p>
<p><strong></strong></p>
<p><strong>4.34) </strong><strong>Exit Screen</strong></p>
<p>DO</p>
<p>DISPLAY message</p>
<p>End program</p>
<p>ENDDO</p>
<p><strong></strong></p>
<p><strong><span style="text-decoration: underline;">5.0 Program Listing</span></strong></p>
<p>To be continued in <a href="http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-2-documentation-2/">the next post….</a></p>
<p>Do you have any comment on this? maybe you have something to ask me or want to discuss with me about this?Or maybe you are IDIC student and taking this module also?<br />
Feel free to use the comment box below (<a href="http://thomaset2000.com/?p=224">click here if you cannot see the comment box</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-2-documentation-1/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>C1005 C Programming Project Term 1 2008, Part 1, Proposal</title>
		<link>http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-1-proposal/</link>
		<comments>http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-1-proposal/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 12:04:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[C Programming]]></category>
		<category><![CDATA[C1005]]></category>
		<category><![CDATA[Proposal]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=215</guid>
		<description><![CDATA[Hi! This is the last module that I take in my IDIC (International Diploma in Computing) course, C Programming! Similar to C1004 HTML, this is a project based module that requires me to create a simple program using C language.
The documents that need to be submitted in this module are:

Project Proposal
Project Documentation
Working program (using C [...]]]></description>
			<content:encoded><![CDATA[<p>Hi! This is the last module that I take in my IDIC (International Diploma in Computing) course, C Programming! Similar to <a href="http://thomaset2000.com/?p=100">C1004 HTML</a>, this is a project based module that requires me to create a simple program using C language.</p>
<p>The documents that need to be submitted in this module are:</p>
<ol>
<li>Project Proposal</li>
<li>Project Documentation</li>
<li>Working program (using C language)</li>
</ol>
<p>An issue that me and my friends get when we start this project is to find an IDE (Integrated Development Environment)/Development software. Finally, we decided to use Borland C++ 5.02 it works quite good with only few errors.</p>
<p>The program that we need to create for this module is a program that have these five basic functions:</p>
<ol>
<li>Add data</li>
<li>Display data</li>
<li>Update/Edit data</li>
<li>Search data</li>
<li>Delete data</li>
</ol>
<p>Additionally,<br />
<span id="more-215"></span><br />
the data should be stored in a .dat file. I will post my project proposal in this post and followed by my project documentation in the next post.</p>
<p align="center"><strong>C1005 </strong></p>
<p align="center"><strong>C PROGRAMMING</strong></p>
<p align="center"><strong>PROJECT PROPOSAL</strong></p>
<p align="center"><strong> </strong></p>
<p align="center"><strong> </strong></p>
<p align="center"><strong> </strong></p>
<p align="center"><strong>&#8220;Game  Center Customer Registration System&#8221;</strong><strong></strong></p>
<p align="center"><strong> </strong></p>
<p align="center"><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Student Name                        : Thomas Setiabudi</strong></p>
<p><strong>Student ID                              : 018800004137</strong></p>
<p><strong>Lecturer Name                      :  Mrs. Maniam Latha</strong></p>
<p><strong>Proposal submission date     :</strong></p>
<p><strong>Center Code                          : 0188 (Singapore)</strong></p>
<p><strong> </strong></p>
<p><strong>I. </strong><strong>Introduction</strong></p>
<p><strong>I.1. </strong><strong>Company Profile</strong></p>
<p>Super Gamers (SG) is a gaming center in Singapore that rent games from various game consoles for everyone to play on the shop. A group of university student founded it in 2001. SG was so famous among gamers in Singapore because it allows the member to play games with affordable price, vast selection of game console, and has a wide collection of games ranging from old era games to the most recent games. No wonder, SG has so many customers and keep increasing every year because of its excellent reputation.</p>
<p><strong> </strong></p>
<p><strong>I.2. </strong><strong>Current System</strong></p>
<p>Currently, Super Gamer&#8217;s staffs do their daily job with this system:</p>
<ul class="unIndentedList">
<li> When there is a customer who wants to play a game in a particular game console, he/she has to register to be a SG&#8217;s member. To do this, the staff will write down all required information about the new customer including what console he want to play (e.g. PS2/XBOX360/Wii) in a printed form, then manually assign him/her with a member ID.</li>
</ul>
<ul class="unIndentedList">
<li> If there is a member who want to change his personal detail like his/her phone number, address, etc. The staff needs to open the member document and search manually for the member&#8217;s file, then after the staff found it the information can be edited.</li>
</ul>
<ul class="unIndentedList">
<li> When the staff need to check or search information about a member, the staff will need to manually search the member files manually, which can be difficult in a large number of members.</li>
</ul>
<ul class="unIndentedList">
<li> If there is a member who are inactive for a long period of time, the staff will need to remove the membership of that particular member. To do this, again the staff have to manually search for the intended member&#8217;s file then throws it away from member document.</li>
</ul>
<p>This system is complicated and has some problem:</p>
<p><strong>a. </strong><strong>Slow process</strong></p>
<p>The process of adding new member data and search for a particular member or game title will be very tiring and time consuming when the list of member is huge. This problem becomes worse because the company get new members every week.</p>
<p><strong>b. </strong><strong>Human Error</strong></p>
<p>With that manual system, the risk of human error is increased. The staff can be too tired and make mistake when creating, editing, searching, or deleting the record of a member.</p>
<p><strong> </strong></p>
<p><strong>I.3. </strong><strong>New System</strong></p>
<p>In order to solve the problems of the Super Gamer&#8217;s current system, SG will need to implement a new system for its member registration and management.</p>
<p>This new system will make the member management activity become more efficient and reduce the risk of human error.</p>
<p><span style="text-decoration: underline;">The features of the new system are:</span></p>
<p><strong>a. </strong><strong><span style="text-decoration: underline;">Add member module</span></strong></p>
<p>It allows easier process to add record of new member, including his/her information like name, gender, occupation, NRIC, etc.</p>
<p><strong>b. </strong><strong><span style="text-decoration: underline;">Search member module</span></strong></p>
<p>It is used to search the data and information of a particular member that the staff needs to know.</p>
<p><strong>c. </strong><strong> <span style="text-decoration: underline;">Edit member module</span></strong></p>
<p>This module is used to change or edit some information about a member.</p>
<p><strong>d. </strong><strong><span style="text-decoration: underline;">Display member module</span></strong></p>
<p>The staff can display all the member list with this module.</p>
<p><strong>e. </strong><strong> <span style="text-decoration: underline;">Delete member module</span></strong></p>
<p>This module is to delete any member data when the staff needs to do so.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p><strong>II. </strong><strong>Benefits of The New System</strong></p>
<p>After Super Gamers implement the new system, they will get some benefits such as:</p>
<p>a.         Faster membership application process</p>
<p>b.      Easier to edit any member&#8217;s data</p>
<p>c.          Ability to display the list of all member</p>
<p>d.      Reduce human error risk in processing the membership data</p>
<p>e.          Better membership management, especially for large number of members</p>
<p><strong>III. </strong><strong>Hardware and Software Requirements</strong></p>
<ul class="unIndentedList">
<li> <strong>Hardware Requirement</strong></li>
</ul>
<p>i.      Minimum Pentium 4</p>
<p>ii.      Hard disk</p>
<p>iii.      128 Mb RAM</p>
<p>iv.      CD-ROM</p>
<p>v.      Keyboard</p>
<p>vi.      Mouse</p>
<p>vii.      Color monitor</p>
<ul class="unIndentedList">
<li> <strong>Software Requirement</strong></li>
</ul>
<p>i.      Windows XP or Windows Vista-32</p>
<p>ii.      Borland C++</p>
<p><strong> </strong></p>
<p><strong>IV. </strong><strong>Conclusion</strong></p>
<p>In conclusion, Super Gamers needs to implement new system to manage its rapid growing member number. The new system will replace the old system that is complicated, slow, and prone to human error. Additionally, the new system will improve Super Gamers capability to manage its members effectively.</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>V. </strong><strong>Comments</strong></p>
<p align="center">__________________________________________________________________</p>
<p align="center">__________________________________________________________________</p>
<p align="center">__________________________________________________________________</p>
<p align="center">__________________________________________________________________</p>
<p align="center">__________________________________________________________________</p>
<p align="center">__________________________________________________________________</p>
<p align="center">__________________________________________________________________</p>
<p><strong>Lecturer Signature:</strong></p>
<p><strong>____________________________</strong></p>
<p>To be continued in <a href="http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-2-documentation-1/">the next post….</a></p>
<p>Do you have any comment on this? maybe you have something to ask me or want to discuss with me about this?Or maybe you are IDIC student and taking this module also?<br />
Feel free to use the comment box below (<a href="http://thomaset2000.com/?p=215">click here if you cannot see the comment box</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/c1005-c-programming-project-term-1-2008-part-1-proposal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C1022 Introduction to Java Term 1 2008 assignment</title>
		<link>http://thomaset2000.com/2009/02/c1022-introduction-to-java-term-1-2008-assignment/</link>
		<comments>http://thomaset2000.com/2009/02/c1022-introduction-to-java-term-1-2008-assignment/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 07:05:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[C1022]]></category>
		<category><![CDATA[Introduction to Java]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=164</guid>
		<description><![CDATA[Hi! 
This time I will post the assignment that I get for C1022 Introduction to Java module in Term 1 2008.
SECTION A
A1.      Write Java statements to accomplish each of the following:
a)      Declare a variable &#8216;reply&#8217; to be of type char.
char reply; 
b)      To compare the contents of both variables &#8216;pass&#8217; and &#8216;word&#8217; of type String.
pass.compareTo [...]]]></description>
			<content:encoded><![CDATA[<p>Hi! <img src='http://thomaset2000.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
This time I will post the assignment that I get for C1022 Introduction to Java module in Term 1 2008.</p>
<p>SECTION A</p>
<p>A1.      Write Java statements to accomplish each of the following:</p>
<p>a)      Declare a variable &#8216;reply&#8217; to be of type char.</p>
<p><strong>char reply; </strong></p>
<p>b)      To compare the contents of both variables &#8216;pass&#8217; and &#8216;word&#8217; of type String.</p>
<p><strong>pass.compareTo (word) &gt; 0;</strong></p>
<p><strong>pass.compareTo (word) == 0;</strong></p>
<p><strong>pass.compareTo (word) &lt; 0;</strong></p>
<p><strong>pass.compareTo (word) &gt; 0;</strong></p>
<p><strong>pass.equals (word);</strong></p>
<p><strong>pass.equalsIgnoreCase (word);</strong></p>
<p><strong> </strong></p>
<p>c)      To assign a float value 2.5 to a variable &#8216;number.</p>
<p><strong>float number = 2.5f;</strong></p>
<p>d)     Display a message &#8216;happy new year&#8217; using a method from the Systems class.</p>
<p><strong><span id="more-164"></span></strong></p>
<p><strong>System.out.println(&#8220;happy new year&#8221;);</strong></p>
<p>e)      Declare a method &#8216;view&#8217; that does not return a value and has no arguments.</p>
<p><strong>public static void view()</strong></p>
<p><strong>{</strong></p>
<p><strong> System.out.println(&#8220;A method without arguments.&#8221;);</strong></p>
<p><strong>}</strong></p>
<p>A2.      Draw the following symbols used in a program flowchart:</p>
<p>a)      Process</p>
<p><img class="alignnone size-full wp-image-168" title="process" src="http://thomaset2000.com/wp-content/uploads/process.jpg" alt="process" width="114" height="53" /></p>
<p>b)      Connector</p>
<p><img class="alignnone size-full wp-image-165" title="connector" src="http://thomaset2000.com/wp-content/uploads/connector.jpg" alt="connector" width="65" height="63" /></p>
<p>c)      Input</p>
<p><img class="alignnone size-full wp-image-167" title="input-output" src="http://thomaset2000.com/wp-content/uploads/input-output.jpg" alt="input-output" width="101" height="40" /></p>
<p>d)     Decision</p>
<p><img class="alignnone size-full wp-image-169" title="selection" src="http://thomaset2000.com/wp-content/uploads/selection.jpg" alt="selection" width="89" height="65" /></p>
<p>e)      Start</p>
<p><img class="alignnone size-full wp-image-170" title="start-end" src="http://thomaset2000.com/wp-content/uploads/start-end.jpg" alt="start-end" width="99" height="54" /></p>
<p><strong> </strong></p>
<p>A3.      State which of the following statements are CORRECT or INCORRECT.</p>
<p>a)      It is not an error not to end a Java file name with the .java extension. <strong>Incorrect</strong></p>
<p>b)      Omitting the semicolon at the end of a statement is a syntax error. <strong>correct</strong></p>
<p>c)      The + operator can be used for string concatenation. <strong>Correct</strong></p>
<p>d)     Infinite loops are caused when the loop-continuation condition in an iteration structure never becomes false.  <strong>Correct</strong></p>
<p>e)      The method toUpperCase() converts any string or character to its uppercase equivalent. <strong>Correct</strong></p>
<p>f)       A TextField must be created with initial text and with or without a specified size. <strong>Incorrect</strong></p>
<p>g)      A loop that never ends is called an infinite loop. <strong>Correct</strong></p>
<p>h)      To import an entire package of classes, an asterisk(*) can be used as a wildcard symbol to represent all the classes in a package. <strong>Correct</strong></p>
<p><strong> </strong></p>
<p>A4.      Identify the layout manager, component or method which will perform the following:</p>
<p>a)      A window component into which a user can type a single line of text data.</p>
<p><strong>Textfield</strong></p>
<p><strong> </strong></p>
<p>b)      A built-in class that holds text that can be displayed within an applet.</p>
<p><strong>Label</strong></p>
<p><strong> </strong></p>
<p>c)      A component which is used to display a series of items from which the user may select one or more items.</p>
<p><strong>List</strong></p>
<p>d)     The user requires the name entered to be stored in lower case.</p>
<p><strong>toLowerCase()</strong></p>
<p><strong> </strong></p>
<p>e)      A window component which allows the user to click to trigger a specific action.</p>
<p><strong>Button</strong></p>
<p>f)       A layout manager which allows the programmer to arrange the window components into five areas: north, south, east, west and center.</p>
<p><strong>BorderLayout</strong></p>
<p><strong> </strong></p>
<p>A5.      State the value of each of the following Boolean expressions.</p>
<p>a)      2 + 17 * 3 = = 21              <strong>False</strong></p>
<p>b)      17 / 2 + 2.5 * 3 &gt;= 18       <strong>False</strong></p>
<p>c)      25 % 10 * 5 &lt; 40               <strong>True</strong></p>
<p>d)     27 % 9 != 4                       <strong>True</strong></p>
<p>e)      18 / 2 + 6 / 2 != 12            <strong>False</strong></p>
<p>f)       (3 + <img src='http://thomaset2000.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> % 5 &gt;= 5                <strong>False</strong></p>
<p>A6.      Identifiers are names that are given to variables, classes or methods. List the THREE requirements which must be met when declaring identifiers.</p>
<p><strong>1. </strong><strong>Identifier must begin with letter, an underscore ( _ ), or a dollar sign ( $ ).</strong></p>
<p><strong>2. </strong><strong>Identifier cannot have any space or other symbols.</strong></p>
<p><strong>3. </strong><strong>There is no maximum length of characters that must be used in identifier.</strong></p>
<p>A7.      Name any TWO types of access modifier that define the circumstances under which a class or class members in programs can be accessed.</p>
<p><strong>Types of access modifier :</strong></p>
<p><strong>1. </strong><strong><span style="text-decoration: underline;">Public</span></strong></p>
<p><strong>2. </strong><strong><span style="text-decoration: underline;">Private</span></strong></p>
<p><strong><span style="text-decoration: underline;"> </span></strong></p>
<p><strong> </strong></p>
<p align="center"><strong>SECTION B</strong></p>
<p align="center"><strong> [60 marks]</strong></p>
<p align="center"><strong>Answer ALL questions in this section.</strong></p>
<p>B1.      a) Identify and correct the errors in each of the following codes:</p>
<p>i) The following should print whether integer &#8216;value&#8217; is odd or even:</p>
<p>switch(value % 2)</p>
<p>{</p>
<p>case 0 : System.out.println(&#8220;Even integer&#8221;);</p>
<p>case 1 : System.out.println(&#8220;Odd integer&#8221;);</p>
<p>}</p>
<p><strong><span style="text-decoration: underline;">a. Error Identification:</span></strong></p>
<p><strong>There are some errors in the above code. First, the variable &#8220;value&#8221; hasn&#8217;t been declared. Second, there is no &#8220;break&#8221; statement at the end of each case; we will need the break statement at the end of each case to terminate the switch structure.</strong></p>
<p><strong> </strong></p>
<p><strong><span style="text-decoration: underline;">b. Correction:</span></strong></p>
<p><strong> The correct form of the above code will be as the following code:</strong></p>
<p><strong> </strong></p>
<p><strong>int value = 3;</strong></p>
<p><strong>switch(value % 2)</strong></p>
<p><strong> {</strong></p>
<p><strong> case 0 : System.out.println(&#8220;Even integer&#8221;);</strong></p>
<p><strong> break;</strong></p>
<p><strong> case 1 : System.out.println(&#8220;Odd integer&#8221;);</strong></p>
<p><strong> break;</strong></p>
<p><strong> }</strong></p>
<p><strong> </strong></p>
<p>ii) public static void float(int a);</p>
<p>{</p>
<p>int a;</p>
<p>System.out.println(a);</p>
<p>}</p>
<p><strong><span style="text-decoration: underline;">a. Error Identification:</span></strong></p>
<p><strong>The errors of the above code are:</strong></p>
<p><strong>1. </strong><strong>It use a Java reserved word (&#8220;float&#8221;) as the method name.</strong></p>
<p><strong>2. </strong><strong>It places the semicolon (;) at the end of the method header.</strong></p>
<p><strong>3. </strong><strong>It declare a variable &#8220;a&#8221; but &#8220;a&#8221; has been used as the method argument, so it shouldn&#8217;t use &#8220;a&#8221; as the name of variable inside the method.</strong></p>
<p><strong>4. </strong><strong>The variable in the method didn&#8217;t have any value, so it cannot be printed.</strong></p>
<p><strong> </strong></p>
<p><strong><span style="text-decoration: underline;">b. Correction:</span></strong></p>
<p><strong>The correct form of the above code will be as the following code:</strong></p>
<p><strong> </strong></p>
<p><strong>public static void MyMethod(int a);</strong></p>
<p><strong> {</strong></p>
<p><strong> int b = a + 1;</strong></p>
<p><strong> System.out.println(b);</strong></p>
<p><strong> }</strong></p>
<p><strong> </strong></p>
<p>b)</p>
<p><img class="alignnone size-full wp-image-166" title="flowchart" src="http://thomaset2000.com/wp-content/uploads/flowchart.jpg" alt="flowchart" width="309" height="272" /></p>
<p>Write a Java segment to represent the above flowchart.</p>
<p><strong>import java.io.*;</strong></p>
<p><strong>public class WhileLoop </strong></p>
<p><strong>{</strong></p>
<p style="padding-left: 30px;"><strong> public static void main(String[] args)throws Exception</strong></p>
<p style="padding-left: 30px;"><strong> {</strong></p>
<p style="padding-left: 60px;"><strong> BufferedReader input = new BufferedReader (new InputStreamReader(System.in));</strong></p>
<p style="padding-left: 60px;"><strong> // Declares the variable</strong></p>
<p style="padding-left: 60px;"><strong> int total = 0;</strong></p>
<p style="padding-left: 60px;"><strong> int number;</strong></p>
<p style="padding-left: 60px;"><strong> </strong></p>
<p style="padding-left: 60px;"><strong> // Prompt the user to enter a number</strong></p>
<p style="padding-left: 60px;"><strong> System.out.print(&#8220;Enter a number: &#8220;);</strong></p>
<p style="padding-left: 60px;"><strong> number = Integer.parseInt(input.readLine());</strong></p>
<p style="padding-left: 60px;"><strong> // While-loop that will continue as long as the entered number is more than 0</strong></p>
<p style="padding-left: 60px;"><strong>while (number &gt; 0)</strong></p>
<p style="padding-left: 60px;"><strong> {</strong></p>
<p style="padding-left: 90px;"><strong> // accumulate total variable with the number entered from the user</strong></p>
<p style="padding-left: 90px;"><strong> total = total + number;</strong></p>
<p style="padding-left: 90px;"><strong> System.out.println(&#8220;Enter 0 or negative number to display the total&#8221;);</strong></p>
<p style="padding-left: 90px;"><strong> System.out.println(&#8220;Or enter positive number to continue accumulating numbers&#8221;);</strong></p>
<p style="padding-left: 90px;"><strong> System.out.print(&#8220;Enter a number: &#8220;);</strong></p>
<p style="padding-left: 90px;"><strong> number = Integer.parseInt(input.readLine());</strong></p>
<p style="padding-left: 60px;"><strong> }</strong></p>
<p style="padding-left: 60px;"><strong>// Display the value of variable &#8220;total&#8221; when user enter 0 or negative number</strong></p>
<p style="padding-left: 60px;"><strong> System.out.println(&#8220;The total is &#8221; + total);</strong></p>
<p style="padding-left: 30px;"><strong> }</strong></p>
<p><strong>}</strong></p>
<p>c) List and explain briefly any THREE benefits of object-oriented programming.</p>
<p><strong>Benefits of object-oriented programming</strong></p>
<p><strong>1. </strong><strong>Reusability</strong></p>
<p><strong>We can reuse objects, classes, and methods that we have made before. This benefit make our job easier because we don&#8217;t have to repeat making a same object, we just need to make an object once and use it anytime we need it.</strong></p>
<p><strong> </strong></p>
<p><strong>2. </strong><strong>Adaptability</strong></p>
<p><strong>Adaptability means that Java programs can run in any environment. It is platform independent. So, as long as there is a Java compiler and Java Virtual Machine installed within a system, it can run any Java program.</strong></p>
<p><strong> </strong></p>
<p><strong>3. </strong><strong>Maintainability</strong></p>
<p><strong>Because we can easily reuse any object that we have made before, it is also easy for us to maintain the Java program because we can edit any object independently without interfering the other object.</strong></p>
<p>B2.</p>
<p>a) Explain the difference between a counter-controlled repetition and a sentinel    controlled repetition.</p>
<p><strong>Difference between counter-controlled repetition and sentinel controlled repetition:</strong></p>
<p><strong>1. </strong><strong>Counter Controlled Repetition</strong></p>
<p><strong>Counter-controlled repetition is a definite repetition. It means that we know exactly how many times the repetition will occur in a counter-controlled repetition. Furthermore, the number of repetition happen in counter-controlled repetition is controlled by a control variable. The control variable will have an initial value that will be incremented or decremented every time a repetition occurs. So, we will be able to know precisely how many repetition/loops will happen in this type of repetition.</strong></p>
<p><strong> </strong></p>
<p><strong>2. </strong><strong>Sentinel Controlled Repetition</strong></p>
<p><strong>Sentinel-controlled repetition is an indefinite repetition. It means that we don&#8217;t know how many loops will occur in a sentinel-controlled repetition. There is a sentinel value which indicates the end of the loop. When the sentinel value is entered, the loop will be end. So, we won&#8217;t know precisely how many loops will occur in this type of repetition.</strong></p>
<p><strong> </strong></p>
<p>b)</p>
<p>i) Write a method header &#8216;hypotenuse&#8217; that takes two values &#8217;side1&#8242; and &#8217;side2&#8242; of type double and returns a double result.</p>
<p><strong>public static double hypotenuse(double side1, double side2)</strong></p>
<p>ii) Declare an array called &#8216;realnumbers&#8217;, which is a one dimensional array to store</p>
<p>numbers of type float. Assuming that the size of the array is 10</p>
<p><strong>float realnumbers[] = new float[10];</strong></p>
<p>c) Explain the meaning of the following Java statements.</p>
<p>i) Button calbutton = new Button(&#8220;calculate&#8221;);</p>
<p><strong>The Java statement means that we make a button. We name the button as &#8220;calbutton&#8221; and then we give the button a label that is &#8220;calculate&#8221;</strong></p>
<p><strong> </strong></p>
<p>ii) g.drawLine(30, 50, 100, 50);</p>
<p><strong>It means that we draw a horizontal line which start from this coordinate </strong></p>
<p><strong>(30, 50) until this coordinate (100, 50);</strong></p>
<p>iii) int[] marks = {56, 70, 80};</p>
<p><strong>It means we declare a one dimensional array &#8220;marks&#8221; then we initialize three values in this array, that is 56, 70, and 80.</strong></p>
<p><strong> </strong></p>
<p>d) Write a Java program using the drawRoundRect() method from the paint() method to draw a circle with the arguments as follows:</p>
<p>x1 and y1 : both 30</p>
<p>width and height : both 100</p>
<p>Assuming Graphics object g as the argument to the paint() method.</p>
<p><strong>import java.awt.*;</strong></p>
<p><strong>import java.applet.*;</strong></p>
<p><strong> </strong></p>
<p><strong>public class DrawRoundRect extends Applet</strong></p>
<p><strong>{</strong></p>
<p><strong> public void paint(Graphics g) </strong></p>
<p><strong> {</strong></p>
<p><strong> g.drawRoundRect(30,30,100,100,100,100);</strong></p>
<p><strong> }</strong></p>
<p><strong>}</strong></p>
<p><a href="../?p=105"></a></p>
<p>Do you have any comment on this? maybe you have something to ask me or want to discuss with me about this?Or maybe you are IDIC student and taking this module also?<br />
Feel free to use the comment box below (<a href="http://thomaset2000.com/?p=164">click here if you cannot see the comment box</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/c1022-introduction-to-java-term-1-2008-assignment/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>C1002 Program Design Term 1 2008 assignment, part 2 final</title>
		<link>http://thomaset2000.com/2009/02/c1002-program-design-term-1-2008-assignment-part-2/</link>
		<comments>http://thomaset2000.com/2009/02/c1002-program-design-term-1-2008-assignment-part-2/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 06:22:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[C1002]]></category>
		<category><![CDATA[Program Design]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=160</guid>
		<description><![CDATA[This is the second part of my C1002 Term 1 2008 assignment, this post will contain my answer, while you can see the questions in the previous post.
Answer for question 1
JSP diagram:

Function List:
1.      Initialize variables
2.      Get the first letter
3.      Capture the weight of the letter
4.      Calculate postage value
5.      Scan the stamp&#8217;s value
6.      Send letter
7.      Increase [...]]]></description>
			<content:encoded><![CDATA[<p></strong>This is the second part of my C1002 Term 1 2008 assignment, this post will contain my answer, while you can see the questions <a href="http://thomaset2000.com/?p=156" target="_blank">in the previous post</a>.</p>
<h1>Answer for question 1</h1>
<p><span style="text-decoration: underline;">JSP diagram:</span></p>
<p><img class="alignnone size-full wp-image-161" title="jsp" src="http://thomaset2000.com/wp-content/uploads/jsp.jpg" alt="jsp" width="451" height="360" /></p>
<p>Function List:</p>
<p>1.      Initialize variables</p>
<p>2.      Get the first letter</p>
<p>3.      Capture the weight of the letter</p>
<p>4.      Calculate postage value</p>
<p>5.      Scan the stamp&#8217;s value</p>
<p>6.      Send letter</p>
<p>7.      Increase &#8220;paid letter&#8221; counter</p>
<p>8.      Reject letter</p>
<p>9.      Increase &#8220;underpaid letter&#8221; counter</p>
<p>10.  Print output for current letter</p>
<p>11.  Get next letter</p>
<p>12.  Output Summary</p>
<p>13.  End Program</p>
<p>Condition List:</p>
<p>1.      C1 = Letter box not empty</p>
<p>2.      C2 = Stamp value &gt;= Postage value</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Answer for question 2</strong></p>
<p><span style="text-decoration: underline;">Decision table for the college: </span></p>
<p>a)      <span style="text-decoration: underline;">List of Conditions:</span></p>
<p>i.        Student age less than 21.</p>
<p><span id="more-160"></span></p>
<p>ii.      Student holds an IDCS qualification.</p>
<p>iii.    Student has O level qualification with four credits.</p>
<p>b)      <span style="text-decoration: underline;">List of Actions:</span></p>
<p>i.        Enroll student for ADCS</p>
<p>ii.      Enroll student for IDCS</p>
<p>iii.    Enroll student for Entry test</p>
<p>c)      <span style="text-decoration: underline;">Number of rules</span> = R = 2<sup>c</sup> = 2<sup>3</sup> = 8</p>
<p>d)     <span style="text-decoration: underline;">Decision Table:</span></p>
<p><span style="text-decoration: underline;"> </span></p>
<table border="1" cellspacing="0" cellpadding="0" width="530">
<tbody>
<tr>
<td width="201"><a name="OLE_LINK4"></a><a name="OLE_LINK3"></a></p>
<p align="center">
</td>
<td width="41">
<p align="center">R1</p>
</td>
<td width="41">
<p align="center">R2</p>
</td>
<td width="41">
<p align="center">R3</p>
</td>
<td width="41">
<p align="center">R4</p>
</td>
<td width="41">
<p align="center">R5</p>
</td>
<td width="41">
<p align="center">R6</p>
</td>
<td width="41">
<p align="center">R7</p>
</td>
<td width="41">
<p align="center">R8</p>
</td>
</tr>
<tr>
<td width="201">Age less than 21?</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
</tr>
<tr>
<td width="201">IDCS qualification?</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
</tr>
<tr>
<td width="201">O level with four credits?</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
</tr>
<tr>
<td width="201">Enroll student for ADCS</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
</tr>
<tr>
<td width="201">Enroll student for IDCS</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
</tr>
<tr>
<td width="201">Enroll student for Entry test</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
</tr>
</tbody>
</table>
<p>e) <span style="text-decoration: underline;">Revised Decision Table:</span></p>
<p>From the table above, we can combine R1, R2, R5, and R6. In addition, we can also combine R7 and R8</p>
<p>The result</p>
<table border="1" cellspacing="0" cellpadding="0" width="366">
<tbody>
<tr>
<td width="201">
<p align="center">
</td>
<td width="41">
<p align="center">R1</p>
</td>
<td width="41">
<p align="center">R3</p>
</td>
<td width="41">
<p align="center">R4</p>
</td>
<td width="41">
<p align="center">R7</p>
</td>
</tr>
<tr>
<td width="201">Age less than 21?</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
</tr>
<tr>
<td width="201">IDCS qualification?</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
</tr>
<tr>
<td width="201">O level with four credits?</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">Y</p>
</td>
<td width="41">
<p align="center">N</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
</tr>
<tr>
<td width="201">Enroll student for ADCS</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
</tr>
<tr>
<td width="201">Enroll student for IDCS</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
</tr>
<tr>
<td width="201">Enroll student for Entry test</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
<td width="41">
<p align="center">X</p>
</td>
<td width="41">
<p align="center">-</p>
</td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Answer for question 3</strong></p>
<p>(a)    <span style="text-decoration: underline;">Stages of SDLC (System Development Life Cycle):</span></p>
<p><a name="OLE_LINK2"></a><a name="OLE_LINK1">1)      Initial Study</a></p>
<p>2)      System Analysis and Design</p>
<p>3)      Program Design</p>
<p>4)      Development</p>
<p>5)      Testing</p>
<p>6)      Implementation</p>
<p>7)      Live Running and Maintenance</p>
<p>8)      Review</p>
<p>(b)   <span style="text-decoration: underline;">Explanation about each stage in SDLC:</span></p>
<p>1)      <span style="text-decoration: underline;">Initial Study</span></p>
<p>In this stage, user tells the problem that exists to a system analyst. Then, the system analyst will conduct an initial study that will cover some issues such as what the problem is, is it possible to solve the problem, the benefit of the new system, and how much the time and cost needed to develop a new system to solve the problem.</p>
<p>The result of this SDLC stage is a feasibility report. This report contain information how the solution of the problem is feasible comparing the cost and the benefit of the solution.</p>
<p>Finally, the system analyst will show the feasibility report to the user because no further progress will made without any approval from the user. Once the user approves it, a system analyst can proceed to the next stage, System Analysis and Design.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p>2)      <span style="text-decoration: underline;">System Analysis and Design</span></p>
<p>There are two main activities in this stage, Analysis and Design:</p>
<p>a)      <span style="text-decoration: underline;">Analysis</span></p>
<p>The system analyst will analyze the new system&#8217;s requirements. To do this, a system analyst may use some techniques such as interview, polling, questionnaire, prototyping, etc. The objective is to find what the user needs the new system to do. All the information gathered by system analyst will be documented using tools like Data Flow Diagram (DFD) or Run Chart. This analysis activity will produce a requirement specification, which will verified by the user to confirm that the system analyst&#8217;s findings is correct.</p>
<p>b)      <span style="text-decoration: underline;">Design</span></p>
<p>Based on the previous findings, the system analyst will design a system according to the user requirements. Using tools like DFD or System Flowchart, the result of this activity is a system specification. A System specification includes information like information flow, file storage organization, program&#8217;s requirements, and the outline of the user&#8217;s manual.</p>
<p>To make sure that the system specification is accurate, the user, manager, and the system analyst review this system specification. Once the user accepts this system specification, the system analyst can go to the next step of SDLC, Program Design.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p><span style="text-decoration: underline;"> </span></p>
<p>3)      <span style="text-decoration: underline;">Program Design</span></p>
<p>This stage of SDLC will produce a program specification. Program specification developed based on the system specification, which is the result of the previous stage.</p>
<p>A program specification consists of Program description and objectives, Input specification, Output specification, and the processing requirement and it developed by the system analyst or a senior programmer.</p>
<p>Tools used in this stage are Jackson Structured Programming (JSP), Pseudocode, Flowchart, or Decision Table. Tool used in a program design based upon the agreement on method used to do the program design.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p>4)      <span style="text-decoration: underline;">Development</span></p>
<p>The main function of the development stage is to convert the program design into a workable solution, or in another words we can say that this stage is where the programmers write the actual programming codes.</p>
<p><span style="text-decoration: underline;">Two main activities involved in this stage are:</span></p>
<ul class="unIndentedList">
<li> File Creation</li>
<li> Application Program Creation</li>
</ul>
<p>Besides those two main activities, there is another thing that needs to be done in this stage, that is documentation. Documentation is important since there are many file created in this stage. A proper documentation will help all the programmers and also the user to get better understanding about the developed system.</p>
<p>The documentation is done for Input and Output Specification, Data Dictionary, and Operating Instruction.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p>5)      <span style="text-decoration: underline;">Testing</span></p>
<p>After the development stage, we continue with the testing and debugging stage. We have to take note that the main purpose in testing stage is to find the program&#8217;s error and to check whether the program worked according to the user&#8217;s requirements. It&#8217;s not just to prove that the program is working. Furthermore, we need to understand that it&#8217;s almost impossible to achieve a 100% error free program, so generally the aim is to achieve at least 95% error free program.</p>
<p>Program testing carried out based on the testing plan that has been prepared by the system analyst or senior programmer. If there are some errors discovered, changes could be made to the previous stages.</p>
<p>The results of testing stage are test log, test plan, test data, and test result.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p>6)      <span style="text-decoration: underline;">Implementation</span></p>
<p>After the development and the testing stage have been carried out properly, now the new system is ready to be implemented. The system analyst will be the one who is responsible in this stage.</p>
<p>There are some actions covered in this stage:</p>
<ul class="unIndentedList">
<li> Release Documentation, to familiarize the user with the new system</li>
<li> User Training, to give the user better understanding about the new system</li>
<li> Data Conversion, to convert data from the old system to the new system</li>
<li> Control procedures of changeover.</li>
</ul>
<p>Additionally, there are some methods to do the changeover such as pilot changeover, parallel changeover, direct changeover, and phased/gradual changeover</p>
<p><span style="text-decoration: underline;"> </span></p>
<p><span style="text-decoration: underline;"> </span></p>
<p>7)      <span style="text-decoration: underline;">Live Running and Maintenance</span></p>
<p>After successful implementation, now the new system is fully functional in daily activities. The program maintenance should be carried out to make sure that the system always runs in harmony with the company&#8217;s requirements. If there are some changes like change on government policy, change on business requirement, or there is a bug in the system, some modification to the system will need to be done. The modified program will need to be tested and new documentation needs to be produced.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p>8)      <span style="text-decoration: underline;">Review</span></p>
<p>After the system has runs for a length of time, a review to the system is need to be carried out. This review is done by a person who doesn&#8217;t involved in the system development to make sure the objectivity of the review.</p>
<p>The review covers about how the system meets the objectives, cost, performance, standards, and recommendation for the system.</p>
<p>The review will be used to decide whether a maintenance needs to be done or the system will need to be re-designed. If in a case that the system needs to be re-designed, then the system analyst will conduct initial study, this process completes the System Development Life Cycle (SDLC).</p>
<p><span style="text-decoration: underline;"> </span></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Answer for question 4</strong></p>
<p>(a)    Explanation about Linear Search and Binary Search</p>
<p>1.      Linear Search</p>
<p>Linear search is a sequential searching method. In linear search method, it will compare the search value with the first item or the first record in the list first. In this case, an index is used to point to the first record in the list. If the search value and the first record value is not equal, then it will continue comparing the search value with the next record, and keep going in sequence until it finds the value or until the end of the list if the search value is not found in the list.</p>
<ul class="unIndentedList">
<li> <span style="text-decoration: underline;">Advantages of Linear Search method</span></li>
</ul>
<p>i.      It is simple and easy to implement.</p>
<p>ii.      It works fast if the search value mostly located in the beginning of a list.</p>
<ul class="unIndentedList">
<li> <span style="text-decoration: underline;">Disadvantages of Linear Search method</span></li>
</ul>
<p>i.      It will be very slow if the search is mostly at the end of the list or if the search is not on the list because it will need to check all the records in the list</p>
<p>ii.      It is unproductive</p>
<p>2.      Binary Search</p>
<p>Binary search is a more efficient searching method compared to the linear search method. In binary search, there are some steps done to search something in a list.</p>
<p>First, it will sort the records in the list (generally in ascending order). Second, it will compare the search value with the middle record. Third, if the search value is not equal with the middle record, it will see if the search value is greater or lesser than the middle record, if it greater than the middle record, then it will search on the greater half of the list and vice versa. With this method, the search area is reduced into half in every step, so the searching process will be fast.</p>
<ul class="unIndentedList">
<li> <span style="text-decoration: underline;">Advantages of Binary Search method</span></li>
</ul>
<p>i.      It is fast and efficient to search in a very long list</p>
<p>ii.      It is faster than linear search</p>
<ul class="unIndentedList">
<li> <span style="text-decoration: underline;">Disadvantages of Binary Search method</span></li>
</ul>
<p>i.      It is more difficult and complicated than the simple linear search method</p>
<p>ii.      It is less productive than linear search method when implemented on a short list</p>
<p>(b)   Linear Search algorithm in pseudocode</p>
<p>Let&#8217;s assume that there are M numbers of records in the list, and n is the index value.</p>
<p>DO</p>
<p style="padding-left: 30px;">SET n to 1</p>
<p style="padding-left: 30px;">SET Isfound to false</p>
<p style="padding-left: 30px;">Get first record</p>
<p>DO</p>
<p style="padding-left: 30px;">WHILE (Isfound = false) and (n &lt;= M)</p>
<p style="padding-left: 30px;">IF numbArr[n] = target_record</p>
<p style="padding-left: 60px;">THEN</p>
<p style="padding-left: 60px;">Display (&#8216;Number found at record number &#8216;, i)</p>
<p style="padding-left: 60px;">Set Isfound to true</p>
<p style="padding-left: 30px;">ELSE</p>
<p style="padding-left: 60px;">Increase n by 1</p>
<p style="padding-left: 30px;">ENDIF</p>
<p>ENDDO</p>
<p>IF (Isfound = false)</p>
<p style="padding-left: 30px;">THEN</p>
<p style="padding-left: 30px;">Display (&#8216;Sorry, the number is not found.&#8217;)</p>
<p>ENDIF</p>
<p>ENDDO</p>
<p>(c)    A sample  <em>program</em> for binary search. (Using Java)</p>
<p>public class MyBinarySearch</p>
<p>{</p>
<p style="padding-left: 30px;">public static void main(String[] args) throws Exception</p>
<p style="padding-left: 30px;">{</p>
<p style="padding-left: 60px;">int lowR=0, highR=5, middle=0;</p>
<p style="padding-left: 60px;">boolean isfound = false;</p>
<p style="padding-left: 60px;">char[] myArr = {&#8216;T&#8217;, &#8216;H&#8217;, &#8216;O&#8217;, &#8216;M&#8217;, &#8216;A&#8217;,'S&#8217;};</p>
<p style="padding-left: 60px;">System.out.print(&#8220;Please enter the character that you want to search: &#8220;);</p>
<p style="padding-left: 60px;">char myChar=Character.toUpperCase((char)System.in.read());</p>
<p style="padding-left: 60px;">System.in.read();</p>
<p style="padding-left: 60px;">while (lowR&lt;=highR &amp;&amp; !isfound)</p>
<p style="padding-left: 60px;">{</p>
<p style="padding-left: 90px;">middle=(lowR+highR)/2;</p>
<p style="padding-left: 90px;">if (myChar==myArr[mid])</p>
<p style="padding-left: 90px;">{</p>
<p style="padding-left: 120px;">System.out.println(&#8220;item no &#8220;+middle+ &#8221; : &#8220;+ myArr[middle]);</p>
<p style="padding-left: 120px;">isfound = true;</p>
<p style="padding-left: 90px;">}</p>
<p style="padding-left: 90px;">else</p>
<p style="padding-left: 90px;">if (myChar&lt;myArr[middle])</p>
<p style="padding-left: 120px;">highR = middle &#8211; 1;</p>
<p style="padding-left: 90px;">else</p>
<p style="padding-left: 120px;">lowR = middle + 1;</p>
<p style="padding-left: 60px;">}</p>
<p style="padding-left: 60px;">if (isfound == false)</p>
<p style="padding-left: 60px;">System.out.println(&#8220;Sorry, that character is not found.&#8221;);</p>
<p style="padding-left: 30px;">}</p>
<p>}</p>
<p>(d) Bubble Sorting (In respect to Binary Search)</p>
<p>We have discussed before that the first step of a Binary Search is to sort the records in a list in ascending or descending order. We can use Binary Search only after the records are sorted, so we need a sorting method to sort the records in the list that is Bubble Sorting.</p>
<p>Bubble Sorting is a sorting method. It works by comparing the first record of the list to the second record, if they are not in correct order then interchange will occur, then it will continue by comparing the second record with the third record and so on, until it reaches the end of the list then it is considered as one pass. Bubble sort will go through few predetermined number of pass.</p>
<p>The advantage of using Bubble Sorting is that Bubble Sorting make use of efficient algorithm to sort data items less than 50.</p>
<p><span style="text-decoration: underline;">Example of bubble sorting:</span></p>
<p>Assume that we have this array: MyArr = {D, C, A, E, B}</p>
<p>Then we want to sort our array in ascending order, then some pass will occur until the array is sorted properly:</p>
<p>1) First pass           :           C, A, D, B, E</p>
<p>2) Second pass      :           A, C, B, D, E</p>
<p>3) Third pass         :           A, B, C, D, E</p>
<p>The array is completely sorted after the third pass in this example, but in real bubble sort there is a predetermined number of pass, so even the data has been sorted, the bubble sort will keep checking each record until it reach the predetermined number of pass, this is the disadvantage of bubble sort that make it slow.</p>
<p>To overcome that problem, Improved Bubble Sorting is introduced. Improved Bubble Sorting use the same algorithm with Bubble Sorting but additionally it make use of flag to track down if there is any data interchange in a pass, if there is no data interchange that means the list has been sorted properly, then the sorting process will end there.</p>
<p><a href="../?p=105"></a></p>
<p>Do you have any comment on this? maybe you have something to ask me or want to discuss with me about this?Or maybe you are IDIC student and taking this module also?<br />
Feel free to use the comment box below (<a href="http://thomaset2000.com/?p=160">click here if you cannot see the comment box</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/c1002-program-design-term-1-2008-assignment-part-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>C1002 Program Design Term 1 2008 assignment, part 1</title>
		<link>http://thomaset2000.com/2009/02/c1002-program-design-term-1-2008-assignment-part-1/</link>
		<comments>http://thomaset2000.com/2009/02/c1002-program-design-term-1-2008-assignment-part-1/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 06:13:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[C1002]]></category>
		<category><![CDATA[Program Design]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=156</guid>
		<description><![CDATA[Hi! This post is about my C1002 Program Design assignment that I take in Term 1 2008, this post will contain the assignment&#8217;s questions only, I will post the answer in the next post.
These are the questions:
Question 1 
Scenario
 
The Post-office in country X still using a manual way of weighting the letters and check [...]]]></description>
			<content:encoded><![CDATA[<p>Hi! This post is about my C1002 Program Design assignment that I take in Term 1 2008, this post will contain the assignment&#8217;s questions only, I will post the answer in the next post.</p>
<p>These are the questions:</p>
<p><strong>Question 1 </strong></p>
<p><strong>Scenario</strong></p>
<p><strong> </strong></p>
<p>The Post-office in country X still using a manual way of weighting the letters and check whether the senders have paid enough postage. The government wants the mail service to be computerized so the mailing process will be faster.</p>
<p>The proposed system is as follows:</p>
<p>All letters will go through machine A to capture the weight, and the computer will automatically calculate the postage value that the sender supposes to pay. Machine B will scan the value of the stamp and compare the value of the stamp with the required postage value. If the postage value is greater then the stamp&#8217;s value, a message will display on the screen so the operator can take action accordingly. This program will display number of letters that the postage are underpaid and paid correctly in the summary before the program end.</p>
<p><span id="more-156"></span></p>
<p><strong> </strong></p>
<p>Based on above scenario draw a <strong><em>JSP</em></strong> diagram .List down the <strong><em>function and condition</em></strong> involved.</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Question 2                                                                                  [10 marks]</strong></p>
<p><strong> </strong></p>
<p>A college has decided on the following guidelines for enrolling students.</p>
<p>Construct a Limited Entry decision table to describe the guidelines:</p>
<ul class="unIndentedList">
<li> If the student&#8217;s age is less than 21, and they hold an IDCS qualification,</li>
</ul>
<p>enroll them for ADCS.</p>
<ul class="unIndentedList">
<li> If the student&#8217;s age is less than 21, and they have O level qualifications</li>
</ul>
<p>with 4 credits, enroll them for IDCS.</p>
<ul class="unIndentedList">
<li> All other students aged less than 21 should take the Entry Test.</li>
</ul>
<ul class="unIndentedList">
<li> If the student&#8217;s age is greater than or equal to 21, and they hold an</li>
</ul>
<p>IDCS qualification, enroll them for ADCS.</p>
<ul class="unIndentedList">
<li> All other students aged 21 or more should be enrolled for IDCS.</li>
</ul>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Question 3                                                                                     [40 Marks]</strong></p>
<p><strong> </strong></p>
<p>You are working as an  IT Consultant in a local software company. There are 3 info-com students in your department currently doing their internship. You have been assigned to guide them in their internship. They were requesting you to help them in understanding the various stages of System Development Life Cycle (SDLC). With the given case study:</p>
<p>(a)                List various stages of System Development  Life Cycle                                   [8marks]</p>
<p>(b)               Explain each SDLC stages listed in Q3 (a)                                                    [32 marks]</p>
<p><strong> </strong></p>
<p><strong>Question 4                                                                                     [35 Marks]</strong></p>
<p>Basically, there are two searching methods available to search a given list of data, they are <em>Linear Search</em> and <em>Binary Search</em>.</p>
<p>(a)                Explain these searching methods                                                                   [12 Marks]</p>
<p>(b)               Write out the Linear Search algorithm in pseudocode.                                 [10 Marks]</p>
<p>(c)                Write down a sample  <em>program</em> for binary search.                                       [10 Marks]</p>
<p>(d)       In respect to binary search , Describe &#8220;Bubble Sorting&#8221;?                                [3 marks]</p>
<p>To be continued in <a href="http://thomaset2000.com/2009/02/c1002-program-design-term-1-2008-assignment-part-2/">the next post….</a></p>
<p>Do you have any comment on this? maybe you have something to ask me or want to discuss with me about this?Or maybe you are IDIC student and taking this module also?<br />
Feel free to use the comment box below (<a href="http://thomaset2000.com/?p=156">click here if you cannot see the comment box</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/c1002-program-design-term-1-2008-assignment-part-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>C1001 Computers &amp; Information Processing Term 1 2008 assignment</title>
		<link>http://thomaset2000.com/2009/02/c1001-computers-information-processing-term-1-2008-assignment/</link>
		<comments>http://thomaset2000.com/2009/02/c1001-computers-information-processing-term-1-2008-assignment/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 06:08:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[C1001]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=149</guid>
		<description><![CDATA[Hi! I would like to post my C1001 Computers and Information Processing module&#8217;s assignment, this was my assignment in Term 1 2008. Well, basically this module is the most basic module in IDIC (International Diploma in Computing) course. The assignment also just consist of simple questions and answer, not much research or self study need [...]]]></description>
			<content:encoded><![CDATA[<p>Hi! I would like to post my C1001 Computers and Information Processing module&#8217;s assignment, this was my assignment in Term 1 2008. Well, basically this module is the most basic module in IDIC (International Diploma in Computing) course. The assignment also just consist of simple questions and answer, not much research or self study need to be done.</p>
<p>So, here is my assignment:</p>
<p><span style="text-decoration: underline;">1. Three Types of Scanners:</span></p>
<p><strong>a) </strong><strong>Optical Scanner</strong></p>
<p>Optical Scanner is an input device that works using bright light that moves across paper or the document. After that, the image reflected through series of mirror and converted to digital signal by the software.</p>
<p>The image is stored as rows and columns of dots called bitmap.</p>
<p><strong> </strong></p>
<p><strong>b) </strong><strong>Optical Reader (e.g. Optical Mark Reader)</strong></p>
<p>Optical Reader is a device that able to read characters, marks, or codes from a paper, document, or any physical medium. Then convert it to digital signal that can be processed by the computer.</p>
<p>Kinds of Optical Reader are:</p>
<p><span id="more-149"></span></p>
<ul class="unIndentedList">
<li> Optical Character Recognition (OCR)</li>
</ul>
<p>ü  Scan printed text and convert it to a text document in computer.</p>
<ul class="unIndentedList">
<li> Optical Mark Reader (OMR)</li>
</ul>
<p>ü  Scan and read hand-drawn mark (e.g. Exam paper)</p>
<ul class="unIndentedList">
<li> Bar Code Scanner</li>
</ul>
<p>ü  Read bar codes</p>
<p>ü  UPC (Universal Product Code)</p>
<p><strong> </strong></p>
<p><strong>c) </strong><strong>Magnetic Ink Character Recognition (MICR)</strong></p>
<p>MICR is a device used to scan and read text or code printed with magnetized ink.</p>
<p>Generally, MICR is used in banking environment. For example, a bank use MICR to read the code printed with magnetized ink on a cheque paper.<strong></strong></p>
<p><span style="text-decoration: underline;"> </span></p>
<h4>2. Check digit for student-id 336137 with mod 11 check digit system</h4>
<p>Appending check digit:</p>
<p>Ø  <strong>Assign weight to true data:</strong></p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="84" valign="top">True data</td>
<td width="30" valign="top">3</td>
<td width="30" valign="top">3</td>
<td width="30" valign="top">6</td>
<td width="30" valign="top">1</td>
<td width="30" valign="top">3</td>
<td width="30" valign="top">7</td>
</tr>
<tr>
<td width="84" valign="top">Weightage</td>
<td width="30" valign="top">7</td>
<td width="30" valign="top">6</td>
<td width="30" valign="top">5</td>
<td width="30" valign="top">4</td>
<td width="30" valign="top">3</td>
<td width="30" valign="top">2</td>
</tr>
</tbody>
</table>
<p>7*2      = 14</p>
<p>3*3      =   9</p>
<p>1*4      =   4</p>
<p>6*5      = 30</p>
<p>3*6      = 18</p>
<p><span style="text-decoration: underline;">3*7      = 21</span> <sub>+</sub></p>
<p>96</p>
<p>Ø  The sum = 96, then we divide it by modulus 11</p>
<p>96 mod 11, gives quotient 8 and remainder 8</p>
<p>Ø  Modulus 11 is subtracted by remainder 8 to get the check digit</p>
<p><strong>Check digit = 11-8 = 3</strong></p>
<p>Ø  The check digit &#8220;3&#8243; is  appended to the right of the original student id 336137, which result to be 3361373.</p>
<p>Ø  To verify whether 3361373 is correct, we multiply it with the weight and then see if the sum is divisible by 11.</p>
<table border="0" cellspacing="0" cellpadding="0" width="571">
<tbody>
<tr>
<td width="54">
<p align="center">
</td>
<td width="50">
<p align="center">3</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">3</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">6</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">1</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">3</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">7</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">3</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="24">
<p align="center">
</td>
</tr>
<tr>
<td width="54">
<p align="center">Weight</p>
</td>
<td width="50">
<p align="center">7</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">6</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">5</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">4</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">3</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">2</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="43">
<p align="center">1</p>
</td>
<td width="26">
<p align="center">
</td>
<td width="24">
<p align="center">
</td>
</tr>
<tr>
<td width="54">
<p align="center">
</td>
<td width="50">
<p align="center">(3*7)</p>
</td>
<td width="26">
<p align="center">+</p>
</td>
<td width="43">
<p align="center">(3*6)</p>
</td>
<td width="26">
<p align="center">+</p>
</td>
<td width="43">
<p align="center">(6*5)</p>
</td>
<td width="26">
<p align="center">+</p>
</td>
<td width="43">
<p align="center">(1*4)</p>
</td>
<td width="26">
<p align="center">+</p>
</td>
<td width="43">
<p align="center">(3*3)</p>
</td>
<td width="26">
<p align="center">+</p>
</td>
<td width="43">
<p align="center">(7*2)</p>
</td>
<td width="26">
<p align="center">+</p>
</td>
<td width="43">
<p align="center">(3*1)</p>
</td>
<td width="26">
<p align="center">=</p>
</td>
<td width="24">
<p align="center">99</p>
</td>
</tr>
</tbody>
</table>
<p>The sum is 99 which is divisible by 11, that mean the check digit is correct.</p>
<p><span style="text-decoration: underline;"> </span></p>
<p><span style="text-decoration: underline;"> </span></p>
<p><span style="text-decoration: underline;">3. Comparison Table</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="118" valign="top"></td>
<td width="118">
<p align="center">PC</p>
</td>
<td width="118">
<p align="center">Minicomputer</p>
</td>
<td width="118">
<p align="center">Mainframe</p>
</td>
<td width="118">
<p align="center">Supercomputer</p>
</td>
</tr>
<tr>
<td width="118">
<p align="center">Physical Size</p>
</td>
<td width="118">
<p align="center">Small</p>
</td>
<td width="118">
<p align="center">Big</p>
</td>
<td width="118">
<p align="center">Bigger</p>
</td>
<td width="118">
<p align="center">Very Big</p>
</td>
</tr>
<tr>
<td width="118">
<p align="center">Number of Simultaneously   connected users</p>
</td>
<td width="118">
<p align="center">1-10</p>
</td>
<td width="118">
<p align="center">4000</p>
</td>
<td width="118">
<p align="center">&gt;4000</p>
</td>
<td width="118">
<p align="center">Biggest number of users   support</p>
</td>
</tr>
</tbody>
</table>
<p><span style="text-decoration: underline;"> </span></p>
<h1>4.</h1>
<p>a) Basic Network Topologies</p>
<p><span style="text-decoration: underline;">i)   Bus Topology</span></p>
<p><img class="alignnone size-full wp-image-151" title="bus" src="http://thomaset2000.com/wp-content/uploads/bus.jpg" alt="bus" width="315" height="132" /></p>
<p>In a network with bus topology, each computer is connected to a central cable called as the backbone cable. There is a terminator attached at both ends of the backbone cable that terminate transmission signal and prevents ringing. Bus topology is a passive topology where each computer in the network just listens to the signal from backbone cable and not responsible to move the data signal to other computer in the network. If there is a data being transmitted, all computers in the network will actually receive the data signal but only the computer with the right address will accept the transmission signal, the rest will just disregard it. Bus topology relies on the main cable (backbone). It&#8217;s easy to implement in small network but not suitable for a big network.</p>
<p><span style="text-decoration: underline;">ii)  Star Topology</span></p>
<p><span style="text-decoration: underline;"><img class="alignnone size-full wp-image-154" title="star" src="http://thomaset2000.com/wp-content/uploads/star.jpg" alt="star" width="243" height="166" /><br />
</span></p>
<p>In a network with star topology, each computer is connected to a central controller called as the hub. The hub manages the communication between computers that connected to it. It provides switching service for computers in the network, so a computer who wants to do a data transmission to another computer will send the data to the hub first, and then the hub will relay the data to the intended recipient computer. It is easy to add or remove a computer in star topology. Additionally, this topology support large number of computers in the network. The down side of this topology is when the hub is broken, the entire network will also fail to work.</p>
<p><span style="text-decoration: underline;">iii) Ring Topology</span></p>
<p><span style="text-decoration: underline;"><img class="alignnone size-full wp-image-153" title="ring" src="http://thomaset2000.com/wp-content/uploads/ring.jpg" alt="ring" width="209" height="166" /><br />
</span></p>
<p>In a ring topology, all the computers in the network is connected by a main cable that form a circular ring from first computer to the next computer and so on until it connects back to the first computer. Ring topology is an active network topology where in this topology each computer is responsible of moving data signal to the next computer in the ring. This topology uses a token passing mechanism, a token that moves from one computer to another. Only a computer with a token can use the main cable to start data transmission for a limited amount of time before it has to pass the token to the next computer. So, each computer in ring topology has equal access to the communication medium. This topology is good to handle network with heavy traffic and time sensitive transaction, but it is difficult to modify this network and also if one computer failed to work, the entire network will be fail also.</p>
<p><span style="text-decoration: underline;">iv) Mesh Topology</span></p>
<p><span style="text-decoration: underline;"><img class="alignnone size-full wp-image-152" title="mesh" src="http://thomaset2000.com/wp-content/uploads/mesh.jpg" alt="mesh" width="174" height="166" /><br />
</span></p>
<p>In mesh topology, each computer has a dedicated connection to every computer in the network. This network will guarantee privacy and also fast data transfer between computers in the network because there is no network traffic. But this topology has a downside because it needs a massive amount of cable which is very expensive when applied to a big network with a lot of computers.</p>
<p>4. b) Physical communication media</p>
<p>i) <span style="text-decoration: underline;">Types of physical communication media:</span></p>
<p>Ø  Twisted pair cable</p>
<p>o   Un-shielded twisted pair (UTP)</p>
<p>o   Shielded twisted pair (STP)</p>
<p>Ø  Coaxial cable</p>
<p>Ø  Fiber Optic Cable</p>
<p>ii) <span style="text-decoration: underline;">Comparison of different types of physical communication media:</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="118">
<p align="center"><strong>Factor</strong></p>
</td>
<td width="118">
<p align="center"><strong>UTP</strong></p>
</td>
<td width="118">
<p align="center"><strong>STP</strong></p>
</td>
<td width="118">
<p align="center"><strong>Coaxial</strong></p>
</td>
<td width="118">
<p align="center"><strong>Fiber   Optic</strong></p>
</td>
</tr>
<tr>
<td width="118">
<p align="center"><strong>Cost</strong></p>
</td>
<td width="118">
<p align="center">Cheapest</p>
</td>
<td width="118">
<p align="center">Moderate</p>
</td>
<td width="118">
<p align="center">Moderate</p>
</td>
<td width="118">
<p align="center">Most Expensive</p>
</td>
</tr>
<tr>
<td width="118">
<p align="center"><strong>Installation</strong></p>
</td>
<td width="118">
<p align="center">Easy</p>
</td>
<td width="118">
<p align="center">Fairly Easy</p>
</td>
<td width="118">
<p align="center">Fairly Easy</p>
</td>
<td width="118">
<p align="center">Difficult</p>
</td>
</tr>
<tr>
<td width="118">
<p align="center"><strong>Bandwidth</strong></p>
</td>
<td width="118">
<p align="center">10 Mbps</p>
</td>
<td width="118">
<p align="center">16 Mbps</p>
</td>
<td width="118">
<p align="center">10 Mbps</p>
</td>
<td width="118">
<p align="center">100 Mbps -</p>
<p align="center">1 Gbps</p>
</td>
</tr>
<tr>
<td width="118">
<p align="center"><strong>Node Capacity for 1 cable segment</strong></p>
</td>
<td width="118">
<p align="center">2</p>
</td>
<td width="118">
<p align="center">2</p>
</td>
<td width="118">
<p align="center">30 (10Base2)</p>
<p align="center">100 (10Base5)</p>
</td>
<td width="118">
<p align="center">2</p>
</td>
</tr>
<tr>
<td width="118">
<p align="center"><strong>Affected by Attenuation</strong></p>
</td>
<td width="118">
<p align="center">High</p>
</td>
<td width="118">
<p align="center">High</p>
</td>
<td width="118">
<p align="center">Low</p>
</td>
<td width="118">
<p align="center">Lowest</p>
</td>
</tr>
<tr>
<td width="118">
<p align="center"><strong>Vulnerability to </strong></p>
<p align="center"><strong>EMI (Electromagnetic Interference)</strong></p>
</td>
<td width="118">
<p align="center">Most Vulnerable</p>
</td>
<td width="118">
<p align="center">Less Vulnerable than UTP</p>
</td>
<td width="118">
<p align="center">Less Vulnerable than UTP</p>
</td>
<td width="118">
<p align="center">Not Affected by EMI</p>
</td>
</tr>
</tbody>
</table>
<p><span style="text-decoration: underline;"> </span></p>
<p><span style="text-decoration: underline;">5. Difference between serial printer and line printer</span></p>
<p>a)      <span style="text-decoration: underline;">Serial Printer</span></p>
<p>A serial printer is a kind of printer that prints one character at a time. The speed of this kind of printer is measured in characters per second (cps), for example is the dot-matrix printer.</p>
<p>b)      <span style="text-decoration: underline;">Line Printer</span></p>
<p>Different from serial printer that prints a character at a time, a Line Printer is a printer that able to print an entire line at a time. The speed of Line Printer is measured in Lines per minute (lpm). Shuttle-matrix printer is an example of line printer.</p>
<p><a href="../?p=105"></a></p>
<p>Do you have any comment on this? maybe you have something to ask me or want to discuss with me about this?Or maybe you are IDIC student and taking this module also?<br />
Feel free to use the comment box below (<a href="http://thomaset2000.com/?p=149">click here if you cannot see the comment box</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/c1001-computers-information-processing-term-1-2008-assignment/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Start posts for my second IDIC term</title>
		<link>http://thomaset2000.com/2009/02/start-posts-for-my-second-idic-term/</link>
		<comments>http://thomaset2000.com/2009/02/start-posts-for-my-second-idic-term/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 05:54:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[IDIC]]></category>
		<category><![CDATA[Informatics]]></category>

		<guid isPermaLink="false">http://thomaset2000.com/?p=147</guid>
		<description><![CDATA[Hello!! I just finished posting all my modules assignment for my Term 3 2007 in Informatics Computer School Singapore for IDIC (International Diploma in Computing) course. Now I will start to posts my Term 1 2008 in IDIC. The modules that I take in this term are:

C1001 &#8211; Computers and Information Processing
C1002 &#8211; Program Design
C1005 [...]]]></description>
			<content:encoded><![CDATA[<p>Hello!! I just finished posting all my modules assignment for my Term 3 2007 in Informatics Computer School Singapore for IDIC (International Diploma in Computing) course. Now I will start to posts my Term 1 2008 in IDIC. The modules that I take in this term are:</p>
<ol>
<li><a href="http://thomaset2000.com/?p=149">C1001 &#8211; Computers and Information Processing</a></li>
<li><a href="http://thomaset2000.com/?p=156">C1002 &#8211; Program Design</a></li>
<li><a href="http://thomaset2000.com/?p=215">C1005 &#8211; C Programming</a></li>
<li><a href="http://thomaset2000.com/?p=164">C1022 &#8211; Introduction to Java</a></li>
</ol>
<p>I will start with the C1001 assignment first, stay tuned! <img src='http://thomaset2000.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://thomaset2000.com/2009/02/start-posts-for-my-second-idic-term/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
