<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-17034046</id><updated>2011-04-21T19:31:42.698-07:00</updated><title type='text'>小Q部屋</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17034046.post-114554663558106210</id><published>2006-04-20T08:15:00.000-07:00</published><updated>2006-04-20T08:23:55.593-07:00</updated><title type='text'>Software design patterns</title><content type='html'>&lt;span style="color:#009900;"&gt;In such many kinds of design patterns, the really let me understand is adapter design pattern.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;The Adapter design pattern converts the interface of a component into an interface that the client expects. This interface is called ClientInterface. An Adapter class provides the glue between ClientInterface and LegacyClass.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;The other design pattern i still need to get understand through more revision.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17034046-114554663558106210?l=quinniechung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/114554663558106210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17034046&amp;postID=114554663558106210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/114554663558106210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/114554663558106210'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/2006/04/software-design-patterns.html' title='Software design patterns'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17034046.post-114495092337471025</id><published>2006-04-13T10:12:00.000-07:00</published><updated>2006-04-13T10:55:23.413-07:00</updated><title type='text'>Why do software projects fail so often?</title><content type='html'>&lt;strong&gt;&lt;span style="color:#990000;"&gt;Why do software projects fail so often?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;I have find a relative article talking about this question:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One of the most pervasive myths in the software industry is that the failure of software projects is due to the technical nature of these projects.&lt;br /&gt;Projects fail or go awry because some basic issues aren't taken care of. And if you'd like to know what these issues are, then here are the Top Ten of them, with the first four certainly being the biggest offenders, and the top one the biggest project killer of all-&lt;br /&gt;&lt;br /&gt;(1) The goal of the project isn't defined properly&lt;br /&gt;&lt;br /&gt;(2) The Goal of the project is defined properly but then changes to it aren't controlled.&lt;br /&gt;&lt;br /&gt;(3) The project is planned properly but then it isn't resourced as was planned&lt;br /&gt;&lt;br /&gt;(4) The project is planned such that it has no contingency&lt;br /&gt;&lt;br /&gt;(5) The project isn't planned properly&lt;br /&gt;&lt;br /&gt;(6) The project isn't led properly&lt;br /&gt;&lt;br /&gt;(7) The expectations of project participants aren't managed.&lt;br /&gt;&lt;br /&gt;(8) The project is planned properly but then progress against the plan is not monitored and controlled properly&lt;br /&gt;&lt;br /&gt;(9) Project reporting is inadequate or non-existent&lt;br /&gt;&lt;br /&gt;(10) When projects get in to trouble, people believe the problem can be solved by some simple action e.g. work harder, extend the deadline, add more resources&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;reference:&lt;/span&gt; &lt;a href="http://www.etpint.com/whyfail.htm"&gt;http://www.etpint.com/whyfail.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;color:#990000;"&gt;The importance of software project management&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;project planning and a good work breakdown structure is very importance.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Building a Plan:&lt;/strong&gt;&lt;br /&gt;~Brainstorm all required and poossible activities.&lt;br /&gt;~Group items logically&lt;br /&gt;~Order by time sequence&lt;br /&gt;~Identify milestones and checkpoints where you will monitor the wrok&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Be S-M-A-R-T about goals:&lt;/strong&gt;&lt;br /&gt;~&lt;strong&gt;S&lt;/strong&gt;pecific: The more precise the target, the greater the chance to hit it&lt;br /&gt;~&lt;strong&gt;M&lt;/strong&gt;easurable: If it's not measureable, it's out of control&lt;br /&gt;~&lt;strong&gt;A&lt;/strong&gt;greed to: Stakeholder concurrence. If they don't agree now...&lt;br /&gt;~&lt;strong&gt;R&lt;/strong&gt;eachable: If you determine it can't be done...&lt;br /&gt;~&lt;strong&gt;T&lt;/strong&gt;imely: Well-defined milestones&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Work Breakdown Strueture:&lt;/strong&gt;&lt;br /&gt;~Delineation of all significant work&lt;br /&gt;~Task decomposition and assignment of responsibilities&lt;br /&gt;~Framework for scheduling, budgeting, and tracking&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17034046-114495092337471025?l=quinniechung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/114495092337471025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17034046&amp;postID=114495092337471025' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/114495092337471025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/114495092337471025'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/2006/04/why-do-software-projects-fail-so-often.html' title='Why do software projects fail so often?'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17034046.post-114490968074903050</id><published>2006-04-12T23:17:00.000-07:00</published><updated>2006-04-13T11:04:28.700-07:00</updated><title type='text'>What is test-driven development?</title><content type='html'>&lt;span style="color:#006600;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:times new roman;color:#660000;"&gt;&lt;strong&gt;What is TDD?&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="font-size:130%;color:#006600;"&gt;Test-Driven Development (TDD) is a &lt;/span&gt;&lt;a title="Computer programming" href="http://en.wikipedia.org/wiki/Computer_programming"&gt;&lt;span style="font-size:130%;color:#006600;"&gt;computer programming&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;color:#006600;"&gt; technique that involves writing &lt;/span&gt;&lt;a title="Test case" href="http://en.wikipedia.org/wiki/Test_case"&gt;&lt;span style="font-size:130%;color:#006600;"&gt;test cases&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;color:#006600;"&gt; first and then implementing the code necessary to pass the tests. The goal of test-driven development is to achieve rapid feedback and implements the "illustrate the main line" approach to constructing a program. This technique is heavily emphasized in &lt;/span&gt;&lt;a title="Extreme Programming" href="http://en.wikipedia.org/wiki/Extreme_Programming"&gt;&lt;span style="font-size:130%;color:#006600;"&gt;Extreme Programming&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;color:#006600;"&gt;.&lt;br /&gt;Practitioners emphasize that test-driven development is primarily a &lt;/span&gt;&lt;a title="Software engineering" href="http://en.wikipedia.org/wiki/Software_engineering"&gt;&lt;span style="font-size:130%;color:#006600;"&gt;method of designing software&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;color:#006600;"&gt;, not just a method of testing. The method is also used for removal of &lt;/span&gt;&lt;a title="Software bug" href="http://en.wikipedia.org/wiki/Software_bug"&gt;&lt;span style="font-size:130%;color:#006600;"&gt;software defects&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:130%;color:#006600;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:times new roman;color:#006600;"&gt;I like to describe TDD with this simple formula:&lt;br /&gt;TDD = TFD + refactoring.&lt;br /&gt;TDD completely turns traditional development around. Instead of writing functional code first and then your testing code as an afterthought, if you write it at all, you instead write your test code before your functional code. Furthermore, you do so in very small steps – one test and a small bit of corresponding functional code at a time. A programmer taking a TDD approach refuses to write a new function until there is first a test that fails because that function isn’t present. In fact, they refuse to add even a single line of code until a test exists for it. Once the test is in place they then do the work required to ensure that the test suite now passes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;color:#006600;"&gt;Once your code works, you then refactor it to ensure that it's remains of high quality. This sounds simple in principle, but when you are first learning to take a TDD approach it proves require great discipline because it is easy to “slip” and write functional code without first writing a new test. One of the advantages of pair programming (Williams and Kessler 2002) is that your pair helps you to stay on track.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman;color:#006600;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;Test-Driven Development Cycle&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;color:#660000;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;1. Write the test&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#006600;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;It begins with writing a test. In order to write a test, the developer must understand the specification and the requirements clearly. This is accomplished through &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a title="Use case" href="http://en.wikipedia.org/wiki/Use_case"&gt;&lt;span style="font-family:times new roman;font-size:130%;color:#006600;"&gt;use cases&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;font-size:130%;color:#006600;"&gt; and &lt;/span&gt;&lt;a title="User story" href="http://en.wikipedia.org/wiki/User_story"&gt;&lt;span style="font-family:times new roman;font-size:130%;color:#006600;"&gt;user stories&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#006600;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:times new roman;"&gt;. The design document covers all the test scenarios and exception conditions.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#006600;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;strong&gt;2. Write the code&lt;/strong&gt;&lt;br /&gt;The next step is to make the test pass by writing the code. This step forces the programmer to take the perspective of a client by seeing the code through its interfaces. This is the design driven part of test-driven development. As part of test calibration, your code should fail the test meaningfully the first time around.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#006600;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;strong&gt;3. Run the automated tests&lt;/strong&gt;&lt;br /&gt;The next step is to run the automated test cases and observe if they pass or fail. If they pass, the programmer can be more confident that the code meets the test cases as written. If there are failures, the code did not meet the test cases..&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="color:#006600;"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;4. Refactor&lt;/strong&gt;&lt;br /&gt;The final step is the &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a title="Refactoring" href="http://en.wikipedia.org/wiki/Refactoring"&gt;&lt;span style="font-family:times new roman;font-size:130%;color:#006600;"&gt;refactoring&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#006600;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:times new roman;"&gt; step and any code clean-up necessary will occur here. The test cases are then re-run and observed.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color:#006600;"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;strong&gt;5. Repeat&lt;/strong&gt;&lt;br /&gt;The cycle will then repeat itself and start with either adding additional functionality or fixing any errors.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;color:#660000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman;color:#3333ff;"&gt;Reference website:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman;color:#3333ff;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Test_driven_development#Requirements"&gt;http://en.wikipedia.org/wiki/Test_driven_development#Requirements&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman;color:#3333ff;"&gt;&lt;a href="http://www.agiledata.org/essays/tdd.html#PartingThoughts"&gt;http://www.agiledata.org/essays/tdd.html#PartingThoughts&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:85%;color:#660000;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17034046-114490968074903050?l=quinniechung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/114490968074903050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17034046&amp;postID=114490968074903050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/114490968074903050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/114490968074903050'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/2006/04/what-is-test-driven-development.html' title='What is test-driven development?'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17034046.post-114456176824608696</id><published>2006-04-08T22:21:00.000-07:00</published><updated>2006-04-13T11:07:20.073-07:00</updated><title type='text'>Software Quality: What makes a program code good?</title><content type='html'>&lt;span style="color:#663366;"&gt;As I am the boss to select, I think i will consider about:&lt;br /&gt;&lt;br /&gt;Good readability&lt;br /&gt;Easy understandable&lt;br /&gt;Easy maintain&lt;br /&gt;Good framwork&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17034046-114456176824608696?l=quinniechung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/114456176824608696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17034046&amp;postID=114456176824608696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/114456176824608696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/114456176824608696'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/2006/04/software-quality-what-makes-program.html' title='Software Quality: What makes a program code good?'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17034046.post-113714822394887589</id><published>2006-01-13T01:55:00.000-08:00</published><updated>2006-01-13T02:39:23.970-08:00</updated><title type='text'>Software Engineering Certification Programs: What Can You Learn from Them?</title><content type='html'>&lt;span style="color:#990000;"&gt;To compare the CSDP program with our textbook, the areas that are not include in our textbook are in below:&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;(highlight with red color is cover in textbook)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;These are the topic which are not cover in textbook:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;&lt;em&gt;I. Business Practices and Engineering Economics&lt;br /&gt;IV. Software Construction&lt;br /&gt;VI. Software Maintenance&lt;br /&gt;IX. Software Engineering Process&lt;br /&gt;XI. Software Quality&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;strong&gt;This is the topic which cover in textbook: &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;span style="color:#ff0000;"&gt;&lt;em&gt;VII. Software Configuration Management&lt;/em&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;These are part of the areas that are not cover in our text book:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#330099;"&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;II. Software Requirements&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style="color:#660000;"&gt;&lt;span style="color:#990000;"&gt;A. Requirements Engineering Process&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;B. Requirements Elicitation &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;span style="color:#ff0000;"&gt;C. Requirements Analysis&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;D. Software Requirements Specification &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;E. Requirements Validation &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;F. Requirements Management&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;a name="V"&gt;&lt;/a&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;V. Software Testing&lt;/span&gt; &lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;span style="color:#990000;"&gt;A. Types of Tests &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;B. Test Levels &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;C. Testing Strategies &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;D. Test Design &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;E. Test Coverage of Code &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;F. Test Coverage of Specifications &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;G. Test Execution &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;H. Test Documentation &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;span style="color:#ff0000;"&gt;I. Test Management&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name="VIII"&gt;&lt;/a&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color:#000066;"&gt;VIII. Software Engineering Management&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;span style="color:#990000;"&gt;A. Measurement&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;B. Organizational Management and Coordination&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;span style="color:#990000;"&gt;C. Initiation and Scope Definition&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;D. Planning&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;span style="color:#990000;"&gt;E. Software Acquisition&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;F. Enactment&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;G. Risk Management&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;H. Review and Evaluation&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;I. Project Close Out&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;span style="color:#990000;"&gt;J. Post-closure Activities &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name="X"&gt;&lt;/a&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#000066;"&gt;X. Software Engineering Tools and Methods&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;A. Management Tools and Methods &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;B. Development Tools and Methods&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;C. Maintenance Tools and Methods&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;D. Support Tools and Methods &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;This is the topic i have not classify it:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;span style="color:#006600;"&gt;&lt;strong&gt;&lt;em&gt;III. Software Design&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;span style="color:#006600;"&gt;&lt;strong&gt;Reason:&lt;/strong&gt;&lt;/span&gt; We have cover on system design in our textbook, but i am not so clear and sure about, are system design and software design are two kinds of things? &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#660000;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17034046-113714822394887589?l=quinniechung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/113714822394887589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17034046&amp;postID=113714822394887589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/113714822394887589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/113714822394887589'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/2006/01/software-engineering-certification.html' title='Software Engineering Certification Programs: What Can You Learn from Them?'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17034046.post-113713013105594722</id><published>2006-01-12T20:00:00.000-08:00</published><updated>2006-01-12T21:33:25.113-08:00</updated><title type='text'>Stuff that lets agile software developers show off what they believe in</title><content type='html'>&lt;strong&gt;&lt;span style="color:#990000;"&gt;"YAGNI"&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;In software engineering, &lt;span style="color:#ff6666;"&gt;YAGNI&lt;/span&gt;, short for &lt;span style="color:#ff6666;"&gt;'You Ain't Gonna Need It'&lt;/span&gt;, is a reminder for programmers that one should never add functionality until it is necessary. The temptation to write code to that is not necessary at the moment, but is perceived to be necessary in the future, has some overlooked disadvantages:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;br /&gt;Delays what the programmer was originally working on. &lt;/li&gt;&lt;li&gt;&lt;br /&gt;There is a chance that the requirements for the software will change and the functionality will become either different or unneeded. By applying the YAGNI principle, the programmer has not wasted time in adding the redundant functionality and no longer has to waste additional time debugging the code. The code is also less cluttered as a result. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In another website &lt;span style="color:#ff6666;"&gt;YAGNI&lt;/span&gt; also short for &lt;span style="color:#ff6666;"&gt;'You Aren't Gonna Need It', &lt;/span&gt;&lt;span style="color:#000000;"&gt;but both the meaning are same.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Reference websites:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/YAGNI"&gt;&lt;span style="color:#3333ff;"&gt;http://en.wikipedia.org/wiki/YAGNI&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://c2.com/cgi/wiki?YouArentGonnaNeedIt"&gt;&lt;span style="color:#3333ff;"&gt;http://c2.com/cgi/wiki?YouArentGonnaNeedIt&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#990000;"&gt;&lt;strong&gt;"JsUnit"&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#ff6666;"&gt;JSunit&lt;/span&gt; is some javascript and an HTML page in which you can include fragments of javaScript to be tested. It provides some asserts and a way of calling all of the test functions on your page plus an output of success or failure. Its really strong point is that it runs in a browser so you get to check for compatibility. The weak point is that it doesn't scale nicely like JUnit, it's difficult to envision suites of tests under this framework. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Reference Websites:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://xpdeveloper.org/cgi-bin/oldwiki.cgi?JsUnit"&gt;&lt;span style="color:#3333ff;"&gt;http://xpdeveloper.org/cgi-bin/oldwiki.cgi?JsUnit&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://c2.com/cgi/wiki?JsUnit"&gt;&lt;span style="color:#3333ff;"&gt;http://c2.com/cgi/wiki?JsUnit&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.jsunit.net"&gt;&lt;span style="color:#3333ff;"&gt;http://www.jsunit.net&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#3333ff;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://jsunit.berlios.de/"&gt;&lt;span style="color:#3333ff;"&gt;http://jsunit.berlios.de/&lt;/span&gt;&lt;/a&gt; &lt;a href="http://xpdeveloper.org/cgi-bin/oldwiki.cgi?JsUnit"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17034046-113713013105594722?l=quinniechung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/113713013105594722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17034046&amp;postID=113713013105594722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/113713013105594722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/113713013105594722'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/2006/01/stuff-that-lets-agile-software.html' title='Stuff that lets agile software developers show off what they believe in'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17034046.post-113712476571776279</id><published>2006-01-12T19:59:00.000-08:00</published><updated>2006-01-12T20:00:40.940-08:00</updated><title type='text'>UML Tools</title><content type='html'>&lt;span style="color:#993399;"&gt;I have try the uml tools, and i am most favourite on Poseidon for UML, maybe it is the first try of the others, the firs timage is good than the others, and i find the other tools is more difficult to installs.WHen I using Poseidon for UML, although it is the first time to use it, i can find the function button easily, the interface is user friendly. I feel that it’s as like as using the “paint” of the window.But some selection items at the bottom still need time to try to use it.&lt;br /&gt;In before, I have use another program call “Dia” to draw the uml diagram, it is easy to use also. But to compare with Poseidon for UML, I think Poseidon for UML is more professional and easy to control.&lt;br /&gt;Type in “Dia” in search engine, you can see many related website, here is one of the reference website of “Dia”,http://www.gnome.org/projects/dia/&lt;br /&gt;Have u ever heard this program? ^^&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17034046-113712476571776279?l=quinniechung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/113712476571776279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17034046&amp;postID=113712476571776279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/113712476571776279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/113712476571776279'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/2006/01/uml-tools.html' title='UML Tools'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17034046.post-112826976306352132</id><published>2005-10-02T09:04:00.000-07:00</published><updated>2005-10-02T09:16:03.066-07:00</updated><title type='text'>About the basic software engineering skill</title><content type='html'>&lt;p&gt;&lt;span &gt;Software engineering is the &lt;/span&gt;&lt;span &gt;profession&lt;/span&gt;&lt;span &gt; that creates and maintains &lt;/span&gt;&lt;span &gt;software applications &lt;/span&gt;&lt;span &gt;by applying technologies and practices&lt;/span&gt;&lt;span &gt; from computer science&lt;/span&gt;&lt;span &gt;, project management&lt;/span&gt;&lt;span &gt;, engineering&lt;/span&gt;&lt;span &gt;, application domains&lt;/span&gt;&lt;span &gt; and other fields.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span &gt;Software&lt;/span&gt;&lt;span &gt; is the set of directions that enables computer hardware&lt;/span&gt;&lt;span &gt; to perform useful work. In the last decades of the twentieth century, cost reductions in computer hardware led to software becoming a ubiquitous component of the devices used by industrialized societies.&lt;/span&gt;&lt;/p&gt;&lt;span &gt;Software engineering is  the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17034046-112826976306352132?l=quinniechung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/112826976306352132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17034046&amp;postID=112826976306352132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/112826976306352132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/112826976306352132'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/2005/10/about-basic-software-engineering-skill.html' title='About the basic software engineering skill'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17034046.post-112746042406375954</id><published>2005-09-23T00:26:00.000-07:00</published><updated>2005-09-23T00:37:58.803-07:00</updated><title type='text'>mY nEW bLOG</title><content type='html'>&lt;span style="color:#6666cc;"&gt;Yesterday is the first tutorial for software engineering, we have to create a blog as a communication with our lecturer and classmate. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;It's so intersting to do this on the first lesson, because "blog" is a quite strange vocabulary for me. &lt;/span&gt;&lt;span style="color:#6666cc;"&gt;In before, I just heard "online diary", something like that. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;TO do something that bring out our intersting on the first lesson, although it's not about the subject, but i will feel that is a good beginning for the further learning on this subject.^_______________^"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17034046-112746042406375954?l=quinniechung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://quinniechung.blogspot.com/feeds/112746042406375954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17034046&amp;postID=112746042406375954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/112746042406375954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17034046/posts/default/112746042406375954'/><link rel='alternate' type='text/html' href='http://quinniechung.blogspot.com/2005/09/my-new-blog.html' title='mY nEW bLOG'/><author><name>Quinnie~Q~*</name><uri>http://www.blogger.com/profile/06206736542459128804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
