D9223468 3C 93 2
Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 )
Java C C (function) C (reusability) eat(chess1, chess2) eat() chess1.eat(chess2) UML C (encapsulation) (inheritance) (polymorphism) C C C size C 2 epaper(2005 )
Study Plan Coding Compile (Time Log) Test ( ) Refactoring Report (class diagram) Java Java Quality Assurance System; JQAS JQAS jar Java web 1A-8A UML UML compile compile compile Testing Refactoring = ( X ) / 1 function point; FP[1] 1 3 epaper(2005 )
FP/m = ( - ) / X 100% 1A Hello World Hello World 2005/3/7 Java 5 JDK 5 Java ( 1-5) 5 Hello World ( 1-5) 5 Hello World Time Log ( ) Java2 [3] Java 45 Study Hello World Java IDE JCreator 15 Plan JCreator 7 Coding classstaticpublic C printf()java System.out.println() 0 Compile 0 Test 0 Refactoring 8 Report 4 epaper(2005 )
1 1 (%) 1 1 () 10 7-30% () 120 75-37.5% 3 (FP/m) 0.25 0.28 12% (class diagram) J2SDK( Java2 Software development kit) (SUN) Java J2SDK Java IDE JCreator JCreator Java C functionprintf() System.out.println() classpublicstatic (String[] arg) 2A Counting Line of Code Counting Line of Code 2005/3/10 5 epaper(2005 )
4 ( 1-5) 5 5 java ( 1-5) 5 5 (code) 4 (comment) 5 ( / ) 2 35 Study 22 Plan 112 Coding 38 Compile Time Log ( ) Java C Java Java Java JCreator Java (expression) method 28 Test 5 Refactoring 24 Report.java 1 2 (%) 6 epaper(2005 )
2 2 () 150 187-24.6% () 240 248-3.3% 6 (FP/m) 3.75 4.5 20% Java I/O I/O FileInputStream InputStreamReader BufferedReader FileOutputStream OutputStreamWriterBufferedWriter Java InputStreamReader BufferedReadedr( ) String Composition( ) Cascading( ) Java C C Java 3A File Process File Process 2005/3/12 ( 1-5) 7 epaper(2005 )
5 3 5 System.in URL 5 " "http" ( 1-5) 5 5 rename 5 5 2A 3A 5 5 52 Study 28 Plan 122 Coding 28 Compile 26 Test Time Log ( ) JavaURL String split method Java Arrays.sort() API Java URL File exists() split("\\s") Java check rename 12 Refactoring 25 Report 1 8 epaper(2005 )
3 (%) 1 1 () 200 145-27.5% () 240 293 22% 5 (FP/m) 4.1 2.4 40.6% URL Internet System.inSystem.out Java (run time) String split method API String compareto(string anotherstring) Arrays.sort() 9 epaper(2005 )
Java C ASCII Java 4A Define Class Define class 2005/3/17 ( 1-5) 4 5 Date ( 1-5) 5 HomeworkTimeLogge 5 coding 4 5 5 Eclipse 5 source\format 5 (public method) 5 class Time Log ( ) JavaDate Eclipse 43 Study Java API Java API Date method 21 Plan method 10 epaper(2005 )
104 Coding 32 Compile method 21 Test 12 Refactoring format method field 30 Report Javadoc API ˇ 3 2 (%) 2 2 () 150 101-32.6% () 180 263 46.1% 6 (FP/m) 5 2.3 53.9% 11 epaper(2005 )
field( ) method( ) Date gettime()java 1970 tolocalestring() method EclipseEclipse IBM Java IDE Eclipse API jar plug-in Java Eclipse http://www.taiwan.cnet.com/enterprise/topic/0,2000062938,20096842,00.htm 5A Project Manager Project Manager 2005/4/4 GUI ( 1-5) 5 GUI(Graphics User Interface) ( 1-5) 12 epaper(2005 )
5 JFrame GUI ID ( ) 1-5 5 = + + 5 4 load 5 class 5 5 Eclipse project--> Generate Javadoc API. API (id, name, description)student information time log APIcode 131 Study 45 Plan 189 Coding 42 Compile Time Log ( ) AWTSwing (delegation event model) (implements) (interface) (inheritance) Java API GUI (Constructor) Java 45 Test 52 Refactoring 21 Report Javadoc API 3 2 (%) 13 epaper(2005 )
4 4 () 500 425-15% () 600 525-12.5% 10 (FP/m) 8.3 8-2% 14 epaper(2005 )
AWT(Abstract Windowing Toolkit) ( ) AWT Java Applet AWT Swing Java Swing AWT SUN AWT Swing Swing Matthew Robinson & Pavel Vorobiev Swing [4] Swing http://www.manning.com/books/robinson2 Adobe PhotoshopMP3 Apple ipod http://www.adobe.com/ http://www.apple.com.tw/ Javadoc API Javadoc API @param Javadoc API 6A Object Design- Using UML 15 epaper(2005 )
Object Design- Using UML 2005/4/29 ( 1-5) 4 UML ( 1-5) 5 http://www.omondo.com/ Omondo(free UML) Eclipse 5 ATM 7.4 5 2 Dispatching Repairpeople 4 word UML 5 15 Study 12 Plan Time Log ( ) Omondo Omondo Instance Variables method 0 Coding Coding 0 Compile Compile 0 Test Test 0 Refactoring Refactoring 20 Report class diagramsequence diagram 16 epaper(2005 )
3 1 (%) 1 1 () 0 0 0 () 60 47-21.6 3 (FP/m) 0 0 0 17 epaper(2005 )
System Dynamic Model with Sequence Diagram Class Diagram UML Omondo UML Eclipse UML UML UML UML 1. 2. Omondo Sequence Diagram message( ) 3. 4. 5. Omondo (method) Class Diagram method namereturn typeargument privatepublicstatic Omondo 6. Instance Variables ( ) Omondo getx()setx() method 7. method UML UML 18 epaper(2005 )
Omondo Power Design UML 7A System Integration System Integration 2005/5/6 GUI ( 1-5) 5 ( 1-5) 5 5 5 5 3 LOC 5 5 5 test driver 5 GUI Time Log ( ) 0 Study 75 Plan 585 Coding reuse 5A.java 5A copy method testdriver static 55 Compile Compile 19 epaper(2005 )
65 Test 71 Refactoring.java 26 Report 5 3 (%) 4 3 () 1000 989-1.1% () 600 877 46.1% 10 (FP/m) 16.6 11.2-32% 20 epaper(2005 )
21 epaper(2005 )
reuse (test Driver) test Driver test Driver statictest Driver method return test Driver ( ) 8A MVC and Thread MVC and Thread 2005/6/3 MVC ( 1-5) 5 MVC Java ( 1-5) 5 MVC 5 controller 22 epaper(2005 )
5 view 5 view 5 page481multiple thread controller thread controller 5 4 5 checklist R1-R8 34 Study 18 Plan 89 Coding Time Log ( ) MVC JQA MVC multi thread AWT MVC Java controller view JQA MVC controller-market multi thread view AWT 12 Compile Compile 23 Test 8 Refactoring 1-00 40 20 MVC MVC 10 Report 6 2 (%) 2 2 () 200 158-21% () 180 186 3.3% 6 (FP/m) 6.6 5.0-23% 23 epaper(2005 )
MVC(ModelViewController) Controller Model ObserverMVC MVC Model View View Model Java MVC MVC MVC Model ( )NumberView ( )GraphicView ( )MarketContrllor ( ) PeopleContrller ( ) Java Java 24 epaper(2005 )
2 Pass Assembler 2Pass Assembler 2005/5/10 ( 1-5) 5 SIC Assembler ( 1-5) 5 (Intermediate) 5 (List) 5 (Object) 5 Time Log ( ) 42 Study SIC 2Pass Assembler SIC 2Pass Assembler Java 33 Plan Pass1Pass2 Pass1 tab 681 Coding (Intermediate) Pass2 List Object 33 Compile Compile 25 epaper(2005 )
28 Test 21 Refactoring Pasa1Pass2 16 Report 8 4 (%) 4 4 () 500 575 15 () 900 854-5.1 12 (FP/m) 6.6 8.0-21 26 epaper(2005 )
HTEST 00100000107A T00107A1E1410334820390010362810303010154820613C100300102A0C103900102D T00101E150C10364820610810334C0000454F46000003000000 T0020391E041030001030E0205D30203FD8205D2810303020575490392C205E38203F T0020571C1010364C0000F1004096041030E02079302064509039DC20792C1036 T00207373820644C000005 E001000 (Assembler) Java Assembler ( ) ( ) Pass1Pass2 binary-search Java JQASJava Quality Assurance System JQAS 27 epaper(2005 )
(Y :LOC) (Y : ) Line of Code; LOC 0 5A-7A Java 28 epaper(2005 )
6A 6A UML (Y ) (Y ) java 7A 29 epaper(2005 )
(Y / ) Java 5A7A8A Coding 30 epaper(2005 )
compiler testing compiler testing Report 5% () 1A-8A Java Java EclipseUML MVC UML 10 J2SDK 7 Java 10 (1-10) 9 10 Composition( ) Cascading( ) 10 Java 8 9 10 9 8 10 8 Eclipse 9 GUI 10 (delegation event mode) 10 Eclipse API 10 8 Omendo 7 UML 10 UML 8 10 test Driver 31 epaper(2005 )
10 MVC 9 9 AWT [1] R.S. Pressman. Software Engineering A Practitioner s Approach. Mc graw Hill.2001. [2] D.M. Arnow, S. Dexter and G. Weiss. Introduction Programming Using Java. Pearson, Addison Wesley, 2004. [3]. Java2 2003. [4] M. Robinson and P. VorobievSwing 2003 [5] Java http://www.javaworld.com.tw/jute/ [6] W.S. Humphrey. A Discipline for Software Engineering. Addison Wesley, 1995. 32 epaper(2005 )