Transcript Document
Design, construction, & unit testing
Software Engineering
Semester Project
Chih-Hong Jeng & Farn Wang
fall 2006
1
Deadline and what you need to prepare
Deadline: 2006/11/21
(by Prof. Wang’s schedule)
It seems to be difficult to finish it on time
You have to ask for sure.
What you need to prepare for submission:
A demonstration of your current progress, i.e.,
your program must run in some way…
A written report specifying your functionalities, a
brief manual.
Your code, your test data.
2
Implementation
Problems relating to Rational Rose®:
Lack of integration with current software
developing IDE.
You have to write your code outside Rose®.
When you use Java as your developing platform,
the code generation and reverse engineering
requires IBM VisualAge
VisualAge is totally out of date, but you can still find it.
Not included in IBM Academic Initiative, use trial version.
Now everyone uses Eclipse, Netbeans, Jbuilder or…
Rational Software Architect support the integration of
Java into Eclipse.
3
So…
If you are using Java platform, I encourage
you to switch your platform into IBM XDE
developer for Java.
It has Eclipse bundled in it.
Although it remains an older product.
But I’m trying to import Rose project into XDE
What about the one using C++?
Yes, it supports the translation from model to
standard C++ and Visual C++ 6.0
But I think that you will not use those old tools.
4
Good Gospel!
You may use what ever IDE you like to
implement your code.
Use UML as your guideline toward your
implementation.
As you submit your code, you may have to spend
some time describing the relation between your
code and your diagram.
But make sure that you perform unit testing.
In Java, this is achieved by using JUnit.
5
JUnit
JUnit is a testing framework. By applying the
tools it offered, you may reduce the
probability writing “wrong” test programs.
It has been bundled in various IDEs.
It’s a tool enabling you to perform unit testing
with ease.
You don’t have to use “system.out.println(“”);”
Java NetBeans, Borland JBuilder, Eclipse…
In JUnit you have to "Keep the bar green to
keep the code clean."
6
Using JUnit to check correctness:
Sample GCD calculator
7
A glance of Netbeans IDE
Main part of calculating GCD
Appearance of window
8
GCD.java
public class GCD {
/** Creates a new instance of GCD */
public GCD() {
}
public int use_gcd(int num1, int num2) {
int r = 0;
while(num2 != 0) {
r = num1 % num2;
num1 = num2;
num2 = r;
}
return num1;
}
}
9
Tools Create JUnit tests
We want to generate JUnit test
case template of GCD.java
10
The content of GCDTest.java
(All these contents are generated automatically)
Modify it based on your understanding of the GCD module!
// Assertion: Check if the expected result and
generated result are the same!
11
A simple modification of test cases
Note that all these fixtures can be managed.
Visit www.Junit.org for more!
12
Execute the Unit Test
When the word is green, it means that it passes;
When the word is red, it means that it fails.
13
End
14