1 Design, construction, & unit testing Software Engineering Semester Project Chih-Hong Jeng & Farn Wang fall 2006.

Slides:



Advertisements
Similar presentations
CASE tools Upper CASE tools: support for the analysis and design Lower CASE tools: support for construction and maintenance 1980s… Nowadays… Integrated.
Advertisements

By SAG Objectives Cross platform QA Automation for web applications Scheduling the automation Automatically build the test scripts Generate the.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Academic Advisor: Prof. Ronen Brafman Team Members: Ran Isenberg Mirit Markovich Noa Aharon Alon Furman.
Integrated Development Environments. Today We Will: Discuss what IDE’s are used for Go over the Eclipse IDE: –What is Eclipse? –How to install and set.
CS 2511 Fall  Windows:  Start->Specialized Academic Software- >Programming Languages->NetBeans->NetBeans IDE x.y.z  where x.y.z is a version.
Presentation Outline What is JUnit? Why Use JUnit? JUnit Features Design of JUnit Downloading JUnit Writing Tests – TestCase – TestSuite Organizing The.
Copyright © 2001 by Wiley. All rights reserved. Chapter 1: Introduction to Programming and Visual Basic Computer Operations What is Programming? OOED Programming.
Red-Green-Refactor! EclipseCon 2008 Kevin P. Taylor, Nicolaus Malnick Test-Driven Development (TDD) for Eclipse RCP.
L OUISIANA T ECH U NIVERSITY College of Engineering and Science INTRODUCTION RATIONAL ROSE BORLAND TOGETHER VISUAL PARADIGM CONCLUSIONS.
1 Develop a large software with IBM Rational ® Software Engineering Semester Project Chih-Hong Jeng & Farn Wang fall 2006.
By: Taylor Helsper.  Introduction  Test Driven Development  JUnit  TDD Example  Conclusion.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
Mobile Application for SAT Preparation Preliminary Project Plan By Project Team: Hi5 Anant Kambli Amit Shukla Ajaykumar Aswathappa Prabin Gautam Rama K.
Fall CIS 764 Database Systems Engineering L3: Two Assignments Relating to J2EE.
Technical Overview.
Software Testing. Definition To test a program is to try to make it fail.
Learning Objectives Data and Information Six Basic Operations Computer Operations Programs and Programming What is Programming? Types of Languages Levels.
Progressive Disclosure Diagramming Techniques Haytham Siala Tel:
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Selenium automated testing in Openbravo ERP Quality Assurance Webinar April 8th, 2010.
Computing and SE II Chapter 18: Tools and Environments Er-Yu Ding Software Institute, NJU.
Chapter 1.4 Programming languages Homework Due: Monday, August 11, 2014.
JUnit in Action SECOND EDITION PETAR TAHCHIEV FELIPE LEME VINCENT MASSOL GARY GREGORY ©2011 by Manning Publications Co. All rights reserved. Slides Prepared.
Unit and Functional Testing Your Flex Applications Mike Nimer Dir. Of Engineering nomee.com.
Sadegh Aliakbary Sharif University of Technology Spring 2012.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
JCreator Tonga Institute of Higher Education. Programming with the command line and notepad is difficult. DOS disadvantages  User Interface (UI) is not.
Testing in NetBeans. SWC Testing The ideal test: When the test is passed, the product is ready for delivery! Ideal – but (almost) impossible –Number of.
Generic API Test tool By Moshe Sapir Almog Masika.
Distributed Java Programming Distributed Java Programming Setting up a Java Development Environment.
© 2011 IBM Corporation MDD Support for Struts in RSA  Helps accelerate Struts Application development  Architects can communicate Struts application.
9/2/ CS171 -Math & Computer Science Department at Emory University.
First BlueJ Day Houston, 2006 Unit Testing with BlueJ Bruce Quig Deakin University.
DEV-8: OpenEdge® Architect – Extensibility & Third Party Integration Sunil Belgaonkar Principal Software Engineer Architect Phillip Magnay.
Session # 3 Prepared by: Amanullah Quadri. Rational Software Modeler and Eclipse  Development Platform integrated with Eclipse.  Results in a richer.
Introduction to JUnit 3.8 SEG 3203 Winter ‘07 Prepared By Samia Niamatullah.
Eclipse 24-Apr-17.
Technical Overview The Fastest Way to Create Architecture!
A tool for test-driven development
Simple Java Unit Testing with JUnit 4 and Netbeans 6.1 Kiki Ahmadi JUG-Bonek.
SilkTest 2008 R2 SP1: Silk4J Introduction. ConfidentialCopyright © 2008 Borland Software Corporation. 2 What is Silk4J? Silk4J enables you to create functional.
What is Eclipse? Campbell D McCausland Principal Engineer Tiger Development Team.
Development with Eclipse Software Engineering Prof. Werner Krandick.
Sadegh Aliakbary Sharif University of Technology Spring 2011.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Scalatest. 2 Test-Driven Development (TDD) TDD is a technique in which you write the tests before you write the code you want to test This seems backward,
Sept. 25, 07.  jGrasp.org jGrasp.org  An Integrated Development Environment with Visualizations for Improving Software Comprehensibility  jGRASP is.
1 CSC 216 Lecture 3. 2 Unit Testing  The most basic kind of testing is called unit testing  Why is it called “unit” testing?  When should tests be.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
CIT 590 Intro to Programming Lecture 13. Some Eclipse shortcuts CTRL + SHIFT + F – format file (proper indentation etc). Please do this before you submit.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
Now what? 1.  I have short-listed projects I am interested in  I know the types of projects I would like to pursue  I have an idea of the resources.
Using Rational Rose XDE Month Day, Year. Agenda Training Plan Overview XDE Review Next Steps.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect V7.5 Module 13: Traceability with WebSphere Business.
Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful.
1 Using Rational Rose ® to construct UML diagrams.
Software Design– Unit Testing SIMPLE PRIMER ON Junit Junit is a free simple library that is added to Eclipse to all automated unit tests. The first step,
Health and Safety Executive Health and Safety Executive CDM 2007 Designers Version: September 07.
PRG 420 Entire Course FOR MORE CLASSES VISIT PRG 420 Week 1 Individual Assignment Hello world PRG 420 Week 2 Individual Assignment.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Getting Started with JUnit Getting Started with JUnit The benefits and ease of writing and running JUnit test cases and test suites. The benefits and ease.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Test-driven development (TDD)
Design and Implementation of Web services-oriented Application
Chapter One: An Introduction to Programming and Visual Basic
Introduction to JUnit IT323 – Software Engineering II
Presentation transcript:

1 Design, construction, & unit testing Software Engineering Semester Project Chih-Hong Jeng & Farn Wang fall 2006

2 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.

3 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.

4 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 But I think that you will not use those old tools.

5 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.

6 JUnit JUnit is a testing framework. By applying the tools it offered, you may reduce the probability writing “ wrong ” test programs. It ’ s a tool enabling you to perform unit testing with ease. You don ’ t have to use “ system.out.println( “  ” ); ” It has been bundled in various IDEs. Java NetBeans, Borland JBuilder, Eclipse … In JUnit you have to "Keep the bar green to keep the code clean."

7 Using JUnit to check correctness: Sample GCD calculator

8 A glance of Netbeans IDE Appearance of window Main part of calculating GCD

9 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; } }

10 We want to generate JUnit test case template of GCD.java Tools  Create JUnit tests

11 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!

12 A simple modification of test cases Note that all these fixtures can be managed. Visit for more!

13 Execute the Unit Test When the word is green, it means that it passes; When the word is red, it means that it fails.

14 End