Professional Documents
Culture Documents
SEPTEMBER 2008
iii
ACKNOWLEDGEMENTS
First and foremost, I would like to thanks for those who has contributed to
make this project successful. I am also extremely grateful to the many reviewers.
Finally, I many thank to my family and Ms. Christina Kueh Lin Chee for
providing me moral support for this project.
iv
ABSTRACT
ABSTRAK
TABLE OF CONTENTS
NO TITLE PAGE
DECLARATION ii
ACKNOWLEDGEMNET iii
ABSTRACT iv
ABSTRAK v
TABLE OF CONTENS vi-ix
LIST OF TABLES x
LIST OF FIGURES xi-xii
LIST OF ABBREVIATIONS xiii
1 INTRODUCTION 1
1.1 Organization Background 1-3
1.2 Mission & Vision 4
1.2.1 Vision 4
1.2.2 Mission 4
1.2.3 Values 5
1.3 Core Business 5-10
1.4 Project Background 10-11
3. LITERATURE STUDY 15
3.1 Data Analysis 15
3.1.1 Lot 15
3.1.2 Generic Yield Calculation 16
3.1.3 Data Retention 16
3.1.4 Emergency Response Template 17
3.1.5 IC Pin Detection 17
3.1.6 Chip ID 17
3.1.7 Lot Protocol 18
3.1.8 Facility Flow 18-19
3.1.9 Assembly Process Flow 20-21
3.1.10 Data Relationship 21-22
3.1.11 Generated Lot Protocol 23
3.2 Technology 24
3.2.1 Visual Basic .NET 24
3.2.2 C Programming 25
3.2.3 C++ Programming 26
3.2.4 Java Programming 27-28
3.3 Software Methodologies 29
3.3.1 Waterfall Model 29-31
3.3.1.1 Advantage of Waterfall Model 31
3.3.1.2 Disadvantage of Waterfall Model 31-32
3.3.1.3 Where to Use the Waterfall Model 32
3.3.2 Spiral model 32-34
3.3.2.1 Spiral model may apply where 35
3.3.2.2 Advantage of Spiral Model 35
3.3.2.3 Disadvantage of Spiral Model 35-36
3.3.3 Incremental Model 36
3.3.3.1 Incremental software development model
may be applicable to projects where 37
3.3.3.2 Advantage of Incremental Model 38
viii
5. PROJECT DISCUSSION 52
5.1 Overall Production Information Tracking System
Architecture 52
5.2 User Interface Development 53
5.2.1 Identifying Data Retention 53
5.2.2 Retrieve Tester Frequency Error 54
5.2.3 Retrieve Emergency Response information 55
5.2.4 Identifying IC’s pin failure 56
5.3 Coding Implementation 57-59
6. CONCLUSION 60
6.1 Project Outcome 60-61
6.2 Future Work 61-62
6.3 Conclusion 62
REFERENCES 63-65
Appendices A-F 66
x
LIST OF TABLES
LIST OF FIGURES
LIST OF ABBREVIATIONS
PC - Personal Computer
JIT - Just in time
SRS - Software Requirement Specification
SDD - Software Design Document
STD - Software Test Description
STR - Software Test Report
IDE - Interface Development Editor
VBA - Visual Basic for Applications
VM - Virtual Machine
Etc - Etcetera
E.g - For example
CHAPTER 1
INTRODUCTION
Infineon
Business Production Notes
Subsidiary
Power Semiconductors
- 400
and Discretes
Infineon
Semiconductor for employees
Technologies Automotive and
- 11 billion
Industrial application,
(Malaysia) Sdn.Bhd pieces/year
‘Backend communications and
customer markets.
production’
Infineon - 900
Logic Products for
(Assembly &
Technologies communications, employees
Test) automotive and Industrial
(Advanced Logic) - 400 million
applications.
Sdn.Bhd In Malacca pieces / year
Memory products for - 1000
Qimonda Desktop and Notebook.
employees
(MELAKA) Sdn. PCs, consumer products
Bhd (DVD and MP3 player, - 250million
Mobile Phones etc) pieces/year
- 700
employees
“Frontend
(2006)
Infineon production” Wafer-technology for
- 1700
Automotive and
Technologies (Wafer
Industrial Power employees
(Kulim) Sdn.Bhd Production applications.
(2008)
In Kulim)
- 100K wafer
starts per
month
4
1.2.1 Vision
1.2.2 Missions:
1.2.3 Values:
Produce the first working DRAM made on 300mm (120) wafer, to our
revolutionary new generation of 1 Gigabyte DRAM modules. The
memory products are setting the standard for smaller, more powerful,
more readily available memory technology.
This department will ensure the quality of the incoming materials and
give services to maintain the very best quality of the products produced
by the Infineon’s Business Unit before sending to the valued customers.
v) Logistic(LOG)
In order for the engineer to identify data retention information and generate
data retention report, they need to gather the information from machine’s user
interface located in the production and search the lot protocol information in the
server. In the same time, to monitor the machine problems, the operators need to
manually keep track of the machine problems and then report it to the engineer. This
may cause incorrect result due to human error such as forgetting to keep track,
writing wrong information, and etc.
For the current practice if the production lot has any problems caused during
the process, the engineer need to get the information from various type of system
tools in order to complete the Emergency Response Template (ERT) which
summarizes information required for further investigation. Such processes are very
time consuming.
Beside that, to find out which pin in the IC having failure, engineer need the
help from operator to calculate the result from tester and convert it to binary form.
11
In addition, engineer needs to create a report for yield reject every week by
using multiple applications. This may causes engineer consume a lot of time to use
the applications to create a report.
2.1 Vision
To develop tracking software that resolves human error and reduce time
consumption, which will be used by all the engineers and operators, thus helping
them to work effectively and efficiency.
To have a standard tool for data identifying and to shorten the data
identifying cycle time.
To help operator to view and to identify lot history (e.g lot number, asic
wafer number, date assembly, and etc).
To provide details of the yield rejects breakdown and improvement
activities.
13
LITERATURE STUDY
3.1.1 Lot
Yield= ( Qty Out P_1st x Qty Out P2 x .... x Qty Out P_LAST) / (Qty In P_1st
x Qty In P2 x .... x Qty In P_LAST) * 100 %
Data retention deal with identifying incorrect data written into EEPROM. For
example, CDE12345678 should be written into EEPROM however the data flip to
FFFFFFFFFFF, caused by unknown situation. This can be detected by comparing the
value written in the EEPROM to the exact value.
17
3.1.6 Chip ID
LGEH
PAEH
AEHMS
TEHMS
WAVEMS
VKLMS
Facility is a location for running production. Figure 3.0 shows the lot
flow from one location to another location in sequence. LGEH is a location for
product collection. VKLMS is a location to ship out from production. Below is the
facility description:
Facility Description
LGEH Die Bank
PAEH Pre Assembly, Sawing
AEHMS Assembly Process
TEHMS Testing Process
WAVEMS In Transit to VKL
Lot No terminated after accepted by
VKLMS
VKL
20
ISSU/SPLIT
DIE BOND
WIRE BOND
GLOPTOP
VISION INPECTION
100% INSPECTION
MOULDING
PMC
DESTRESS
D&P(GA)
21
100% INSPECTION
LM& TF
One package has many bau numbers. One bau number has only one device.
One device may have many lot numbers. One lot number may go through many
process flows. Figure 3.2 shows that data relationship in database.
22
The master database server replicate database to the slave database server.
Lot protocol is saved into the file server by the component service in slave database
server. Purpose of generate lot protocol from slave database server is due to load
balancing. Figure 3.3 shows that how the lot protocol is generated.
File Server
3.2 Technology
Visual Basic.NET is the latest version of Visual Basic [14]. Feature as below:
3.2.2 C Programming
Table 3.2 shows that Java is able to fulfill the three criteria which are
important in object oriented programming language. With this summary, Java is
chosen as the programming language to develop the system.
The Waterfall development model follows a strict linear flow through the
phases of requirements analysis, design, implementation, testing, and maintenance
[1]. The Waterfall model is document driven. The document must be completed on
first phase before go to next phase. It is not recommended to go back once the phase
is completed. Figure 3.5 shows the step for implementation.
Analysis
Figure
Design
Implementation
Testing
Maintenance
ii) Implementation
iii) Testing
The whole will be tested once each separated module is tested. The
testing is to make sure interfacing, intended platform, and expected result is
correctly. In this phase also need to make sure free of bug.
31
iv) Maintenance
iii) Mistake on earlier stage may carry over to the last phase because
feedback from user is based on the end of implementation.
i) Risk can cause a system fail from minor impact situation. List down the
risk is important in the development.
ii) Time taken and what to do next are the question in the risk
considerations.
iii) Risk can be reduced if performed multiple cycles.
33
Boehm (1988) used the template below for risk assessment during the
development of a software productivity tool [6]. The rows of the template
represented diverse management elements of the project. A new instance of the
template is created to review the status of the project and decided whether the risks
were too great to continue for each new phase. To show the use of the template, the
rows have been filled with a fabricated example phase (Sommerville 1996).
It is suitable for not very complicated decision making and unstable system.
The project is large then it is also suitable to implement it.
4.1 Analysis
During this phase, a few methods were used to collect information in order to
understand the problem domain. Those methods were interviewing people, the
product’s documentation, referencing and analyzed of the existing database
information.
Product’s information can be retrieved from the existing manual. The manual
is full of resource about the product characteristic information. In order to understand
rejected IC, this manual is vital for the developer to understand how the IC works.
41
Analyzing the database structure is the most critical process. The database
server has the feature of replication. It consists of master and slave. Master will
replicate the database to slave. Instant updated database is on the master site. It is
important to analyze the correct database because there are more than thousand
databases in the database server.
4.2 Design
<<extend>>
Generate Yield Reject Manage Data Retention Generate Data Retention Report
Graph
<<extend>>
Calculate Pin of IC
Select Menu
Generate Yield Report
appConfig.ini
MainMenu.jar
A1 Reset All
keyInData()
1. User key in values.
2. User press Calculate
button. loop calculate to
pressCalculateButton() display failure pin or
3. For each value user key
in the system calculate display or display
the values and display good pin
actionPerformed(err : String)
good or failure pin.
calculate( )
displayFailurePin(pin : JLabel)
displayGoodPin(pin : JLabel)
<<entity >>
DatabaseConnection
(from CSC Entity)
conn : Connection
DatabaseTy pe {Oracle,My sql} : enum
DatabaseConnection()
getConnection()
closeConnection()
<<entity >>
<<entity >> <<entity >>
<<entity >> LotProtocolStorage
<<entity >> <<entity >> DataRetentionModel
Emergency Model Conf iguration (from CSC Entity)
YieldModel ErrorFrequency Model (from CSC Entity)
(from CSC Entity) (from CSC Entity) total : int = 0
(from CSC Entity) (from CSC Entity) data2 : Vector<String>
st : Statement props : Properties
rs : ResultSet rs : ResultSet data : Vector<Vector> = new Vector<Vector>()
rs : ResultSet path : String link()
st : Statement st : Statement rs2; : ResultSet
serv erConf igurationPathFile : String LotProtocolStorage()
localConf igurationPathFile : String st : Statement
Emergency Model() YieldModel()
y ield : String = "Y ield.xls" ErrorFrequency Model() rs : ResultSet
populateData() populateData()
dataRetention : String = "DataRetention.xls" populateData()
close() close()
emergency : String = "Emergency .xls" close() DataRetentionModel()
oracleUserName : String populateData()
oraclePassword : String close()
my sqlUserName : String
<<control>> <<control>> <<control>> <<control>>
my sqlPassword : String
Emergency Controller YieldController ErrorFrequecy Controller <<control>> ICPinController
(from CSC Controller) (from CSC Controller) (from CSC Controller) DataRetentionController (from CSC Controller)
getConstValue()
v Emergency : Emergency View v Yield : Yield v ErrorFrequency : ErrorFrequency (from CSC Controller) v ICPin : ICPin
startUpConf iguration()
getKey Value() v DataRetention : DataRetention
Emergency Controller() YieldController() ErrorFrequecy Controller() ICPinController()
Conf iguration()
actionPerf ormed() actionPerf ormed() actionPerf ormed() DataRetentionController() actionPerf ormed()
<<control>> actionPerf ormed() calculate()
AboutController
(from CSC Controller)
v About : About
<<boundary >> <<boundary >> AboutController() <<boundary >> <<boundary >> <<boundary >>
Emergency View Yield actionPerf ormed() ErrorFrequency DataRetention ICPin
(from CSC Boundary) (from CSC Boundary) (from CSC Boundary)
(from CSC Boundary) (from CSC Boundary)
lstBatch : JList cY ield : Y ieldController txtDateFrom : JFormattedTextField txtLot : JTextField grp : JPanel
lstASIC : JList chooser : JFileChooser txtDateTo : JFormattedTextField txtSof tBin : JFormattedTextField grpT : JPanel
<<boundary >>
txtLotNumber : JTextField txtDateFrom : JFormattedTextField data2 : Vector<String> data : Vector<Vector> = new Vector<Vector>() pin : Vector<JLabel>
About
txtProduct : JTextField txtDateTo : JFormattedField data : Vector<Vector> = new Vector<Vector>() head : Vector<String> grpPin : Vector = new Vector()
(from CSC Boundary)
txtDev iceId : JTextField txtEv entData : JTextField cLotProtocol : DataRetentionController row : JLabel
cAbout : AboutController
txtPrintedDateCode : JTextField getDateFrom() table : JTable chooser : JFileChooser
txtPackageTy pe : JTextField getDateTo() scrollPane : JScrollPane scrollPane : JScrollPane getPinVector()
About()
txtNumberof Part : JTextField getFilePath() cErrorFrequency : ErrorFrequecy Controller table : JTable ICPin()
txtCustomer : JTextField Yield() cmbMachine : JComboBox display FailurePin()
txtIncomingDate : JTextField display ErrorMessage() getLotNumber() reset()
txtResponseTime : JTextField display Dialog() getDateFrom() getSof tBin() display GoodPin()
txtCustomerFD : JTextField getDateTo() getFilePath()
txtShippingDate : JTextField getEv entData() getVectorData()
txtDispatchNumber : JTextField getMachineName() DataRetention()
txtLocation : JTextField ErrorFrequency () display ErrorMessage()
txtQuantity : JTextField display Inf o() display Dialog()
txtSearch : JTextField clearGrid() display Inf o()
txtDateA : JTextField display ErrorMessage() clearGrid()
<<control>>
txtTimeA : JTextField MainPageController
txtDateT : JTextField (from CSC Controller)
txtTimeT : JTextField v MainPage : MainPage
txtDateS : JTextField <<entity >>
txtlTimeS : JTextField MainPageController() ExcelWorkBook
txtDescriptionD : JTextField actionPerf ormed() (from CSC Entity)
txtDescriptionS : JTextField f ile : File
txtDescriptionSPC : JTextField wb : HSSFWorkbook
txtDescriptionSBA : JTextField <<boundary >>
txtPressureOf f set : JTextField MainPage getWorkbook()
txtStatusWB : JTextField (from CSC Boundary) ExcelWorkBook()
cEmergency : Emergency Controller sav e()
menuBar : JMenuBar
chooser : JFileChooser
menu : JMenu
menuItem : JMenuItem
getSearchLotNumber()
cMainPage : MainPageController
getDev iceId()
<<entity >> <<entity >> <<entity >>
getPrintedDateCode()
MainPage() YieldReport Emergency Template DataRetentionReport
getProduct()
(from CSC Entity) (from CSC Entity) (from CSC Entity)
getPackageTy pe()
getNumberof Part() sheet1 : HSSFSheet sheet1 : HSSFSheet sheet1 : HSSFSheet
<<Domain>>
getCustomer() MainMenu
getIncomingDate() YieldReport() Emergency Template() DataRetentionReport()
getResponseTime() exportExcel() exportExcel() exportExcel()
main() sav e() sav e() sav e()
getCustomerFD()
terminateFileNameIncorrect()
getShippingDate()
updateApplication()
getDispatchNumber()
getLocationM()
getQuantity ()
getDateA()
getTimeA()
getDateT()
getTimeT()
getDateS()
getlTimeS()
getDescriptionD()
getDescriptionS()
getDescriptionSPC()
getDescriptionSBA()
getPressureOf f set()
getStatusWB()
getSearch()
getWaf erNumber()
getWaf erSensor()
getFilePath()
Emergency View()
display Inf o()
display ErrorMessage()
display Dialog()
4.3 Implementation
During this phase, java and macro were used based on the earlier design. The
system was implemented from scratch. During the development, Internet and some
reference books were used.
4.4 Testing
4.5 Maintenance
4.6 Tools
The three main tools used in developing the system are as follows:
4.6.3 Macro
4.6.4 Eclipse
PROJECT DISCUSSION
Intranet
The user interfaces were developed based on users’ need and the design
written in SDD. The next section will discuss further on generation report, template
and data extraction.
Users are also given the facilities to extract relevant lot information from
Oracle database. This information can then be exported to an excel file which format
can be predefined by the users. Process engineer will proceed for further
investigation based on the information.
Failure results from tester are in round number. Visual graphical ICs’ failure
pin are displayed when value are key in. Each IC with fourteen pins, there are ten IC
(Refer to figure 5.5). The pin will be turned to red color if the pin is failure. This is
important for engineer to further investigate the unit problems.
Calculation Method:
Round Binary
3 11
300 111100
3000 101110111000
57
The figure 5.6 shows the snapshot of the Java syntax in order to connect to
Oracle and MySQL database. For Oracle, oracle.jdbc.driver.OracleDriver is used as
the provider while com.mysql.jdbc.Driver is for MySQL database.
58
Figure 5.7 is an example of syntax built to write the information into an excel
file.
Figure 5.8 shows how the data is extracted from database by using Java
syntax. getConnection() this function is from DatabaseConnection class which is use
to execute SQL command.
CONCLUSION
Based on the end product of this project, it can be assumed the objective set
in chapter 2 are achieved. The Production Information Tracking System is able to
perform data retention identification, retrieve frequency of tester error, generate
Emergency Response Template, identifying IC’s pin failure, and generate yield reject
report. The system’s contributions towards the stakeholders are as follows:
No major constraints and challenges can be found in this project and the
project was implemented based on the schedule planned earlier.
61
However, for this version of the system identified limitations are as follows:
Despite some limitations of the project, the project outcome still achieved its
goals and meets the customer’s requirements.
The following are suggestions that can be implemented for the future in order
to enhance the system:
For the purpose of the software maintenance and upgrading, 3 event log
management files are proposed:
6.2 Conclusion
The system was developed to reduce human error and reduce time
consumption task. This system will continue to improve in order to make a world
class system.
REFERENCES
12 vb.net advantage
http://www.kudos-india.com/technology/vb_dot_net2.htm
14. Pooja Bembey, Kuljit Kaur. Microsoft Visual Basic .NET Professional
Projects. Premier Press. 2002
17. Jonathan Knudsen, Patrick Niemeyer. Learning Java, 3rd Edition. O'Reilly.
2005
Gantt Chart
START END 1/4/2008 1/5/2008 1/6/2008 1/7/2008 1/8/2008 1/9/2008
Planning 14/4/2008 20/4/2008
Analysis
Interviewing 21/4/2008 15/5/2008
SRS Document 1/5/2008 20/5/2008
Design
GUI Design 21/5/2008 8/6/2008
SDD Document 9/6/2008 30/6/2008
Implementation
Java Coding 1/7/2008 10/8/2008
Testing
STD Document 11/8/2008 25/8/2008
STR Template 26/8/2008 31/8/2008
Maintenance 1/9/2008 10/9/2008
Deliverable 11/9/2008 13/9/2008
APPENDIX B
Interview Questions
Questions being asked during interview session:
(SRS)
1. Introduction
This section provides an overview of Production Information Tracking System
project.
1.1 Purpose
The purpose of this document is to describe behavior and functionality of the
Production Information Tracking System. This document is intended to be
viewed by software developer and other stakeholder.
1.2 Scope
Part of the subsystem can support multiplatform such as UNIX and Windows.
This system is suitable for those who need to gain information from
heterogeneous database specifically for identifying yield, data retention, detect
pin of IC failure, and retrieve frequency error and emergency response
information.
1
1.4 References
Type Name
UML Use Cases Patterns and Blueprints
(Addison Wesley Professional)
UML Requirements in Context (Addison
Wesley)
UML The Unified Modeling Language
User Guide (Addison Wesley)
UML The Unified Modeling Language
Reference Manual (Addison
Wesley)
UML Mastering UML with Rational Rose
2002 (SYBEX)
JAVA Hardcore Java (O'Reilly)
JAVA Java Pocket Guide (O'Reilly)
JAVA Special Edition Using Java 2
Standard Edition (Que)
SRS IEEE Standard for Software
Requirement Specification, IEEE
830-1998
1.5 Overview
The rest of the SRS document is provide more specific details of system
functionality and behavior. Section 2 describe about product, user
characteristic, constraints, and assumptions. Section 3 describe specific
requirement using UML techniques.
2
2. Overall Description
This section describes the general factors that affect the product and its
requirements.
3
b) Engineer uses it to retrieve the tester frequency error.
4
d) Operator uses it to calculate the tester number.
5
f) Engineer or operator can choose the relevant menu item.
6
2.1.2 Software interface
JRE version 1.5
Macro Excel
Excel file
2.4 Constrains
The system should be written in Java programming.
The output report must be Microsoft Excel format.
JRE 1.5 is used to run the program.
7
Assume user’s PC has TCP/IP network connection.
Assume user has install JRE 1.5 and above.
Assume user has install Microsoft Excel.
3. Specific requirements
This section describe all of the software requirements to a level of detail sufficient
to enable designers to design a system to satisfy those requirements, and testers to
test that the system satisfies those requirements.
8
3.1 External interfaces
<<extend>>
<<extend>>
Calculate Pin of IC
Select Menu
9
3.2 Functions
3.2.1 Use Case Manage Data Retention (SRS-REQ-001)
Brief Description
This use case is initiated by the user. It provides the capabilities for
the Production Information Tracking System to search data
retention information.
Pre-Condition(s)
1. Data Retention user interface is initiated.
Flow of Event(s)
Basic Flow(s)
1. User key in lot number and soft bin.
2. User press Search button.
3. System clear grid.
4. System read database configuration from configuration
file.
5. System connects to the database.
6. System gets lot number and soft bin from user interface.
7. System populate data from database
8. System display info.
9. System closes database connection.
10. Use case end.
10
Alternative Flow(s)
1. User key in lot number and soft bin
2. User press Link button.
3. System get lot number and soft bin from user key in.
4. System links the lot protocol.
5. Use case end.
Exception Flow(s)
[E1: Connection Error]
Error message shall be shown on the User Interface.
[E2: File Does Not Exist]
Error message shall be shown on the User Interface.
[E3: Exception Class Name Unknown Error]
Error message shall be shown on the User Interface.
Post-Condition(s)
Relevant information is displayed.
Rule(s)
Not Applicable.
Constraint(s)
Not Applicable.
Note(s)
Not Applicable.
GUI
Refer to 2.1.1
11
3.2.2 Use Case Generate Data Retention Report (SRS-REQ-002)
<<extend>>
12
[E2: Exception Class Name Unknown Error]
Error message shall be shown on the User Interface.
[E3: User press Cancel button]
Use case end.
Post-Condition(s)
Report is generated in Excel format.
Rule(s)
Not Applicable.
Constraint(s)
Not Applicable.
Note(s)
Not Applicable.
GUI
Refer to 2.1.1
13
3.2.3 Use Case Generate Yield Reject Report (SRS-REQ-003)
14
Exception Flow(s)
[E1: File Created Error]
Error message shall be shown on the User Interface.
[E2: Exception Class Name Unknown Error]
Error message shall be shown on the User Interface.
[E3: User press Cancel button]
Use case end.
Post-Condition(s)
Report is generated in Excel format.
Rule(s)
Date To must greater than Date From
Constraint(s)
Not Applicable.
Note(s)
Not Applicable.
GUI
Refer to 2.1.1
15
3.2.4 Use Case Search Frequency of Error (SRS-REQ-004)
16
Alternative Flow(s)
Not Applicable
Exception Flow(s)
[E1: Connection Error]
Error message shall be shown on the User Interface.
[E2: Date To must greater than Date From]
Error message shall be shown on the User Interface.
[E3: Exception Class Name Unknown Error]
Error message shall be shown on the User Interface.
Post-Condition(s)
Result of tester error is displayed.
Rule(s)
Date To must greater than Date From
Constraint(s)
Not Applicable.
Note(s)
Not Applicable.
GUI
Refer to 2.1.1
17
3.2.5 Use Case Search Emergency Response Record (SRS-REQ-005)
18
Exception Flow(s)
[E1: Connection Error]
Error message shall be shown on the User Interface.
[E2: Exception Class Name Unknown Error]
Error message shall be shown on the User Interface.
Post-Condition(s)
Result of emergency response record is displayed.
Rule(s)
Not Applicable.
Constraint(s)
Not Applicable.
Note(s)
Not Applicable.
GUI
Refer to 2.1.1
19
3.2.6 Use Case Generate Emergency Response Template (SRS-REQ-
006)
<<extend>>
20
Exception Flow(s)
[E1: Connection Error]
Error message shall be shown on the User Interface.
[E2: File Created Error]
Error message shall be shown on the User Interface.
[E3: Exception Class Name Unknown Error]
Error message shall be shown on the User Interface.
[E4: User press Cancel button]
Use case end.
Post-Condition(s)
Report is generated in Excel format.
Rule(s)
Not Applicable
Constraint(s)
Not Applicable.
Note(s)
Not Applicable.
GUI
Refer to 2.1.1
21
3.2.7 Use Case Generate Yield Reject Graph (SRS-REQ-007)
22
Constraint(s)
Not Applicable.
Note(s)
Not Applicable.
GUI
Refer to 2.1.1
23
3.2.8 Use Case Calculate Pin of IC (SRS-REQ-008)
Calculate Pin of IC
User
24
Rule(s)
Good pin is grey color.
Failure pin is red color.
Constraint(s)
Not Applicable.
Note(s)
Not Applicable.
GUI
Refer to 2.1.1
25
3.2.9 Use Case Select Menu (SRS-REQ-009)
Select Menu
User
26
[Yield Interface]
1. Repeat Basic Flow 1 to 5.
2. User press Yield menu item.
3. System display Yield user interface.
4. Use case end.
[ErrorFrequency Interface]
1. Repeat Basic Flow 1 to 5.
2. User press ErrorFrequency menu item.
3. System display ErrorFrequency user interface.
4. Use case end.
[ICPin Interface]
1. Repeat Basic Flow 1 to 5.
2. User press ICPin menu item.
3. System display ICPin user interface.
4. Use case end.
[EmergencyView Interface]
1. Repeat Basic Flow 1 to 5.
2. User press EmergencyView menu item.
3. System display EmergencyView user interface.
4. Use case end.
Exception Flow(s)
Not Applicable.
Post-Condition(s)
System is activated.
Rule(s)
Not Applicable.
Constraint(s)
Not Applicable.
Note(s)
Not Applicable.
27
GUI
Refer to 2.1.1
3.6.1 Reliability
The reliability depends on the system attributes. Oracle and
MySQL database is quite stable in data management system.
MySQL has the capability of doing replication as a backup. The
database also implemented in RAID 10.
28
3.6.2 Availability
The system should be finished implemented 1/September/2008.
User in the company can use the system by using the intranet of
the company.
3.6.3 Security
To improve the security, the passwords of the databases are
invisible to users.
3.6.4 Maintainability
Database is maintained by MySQL and Oracle. There is no
additional maintainability is needed.
The following table traces all the requirements which are essential
in CSCI Production Information Tracking System.
29
Select Menu SRS-REQ-009 1. Menu selection.
3.6.5 Portability
Java is platform independence so it can run on any platform.
DatabaseConnection
conn : Connection
DatabaseTy pe {Oracle,My sql} : enum
DatabaseConnection()
getConnection()
closeConnection()
AboutController()
actionPerf ormed()
30
3.8 Supporting information
3.8.1 Table of contents and index
1. Introduction 1
1.1 Purpose 1
1.2 Scope 1
1.3 Definitions, acronyms, and abbreviations 1
1.4 References 2
1.5 Overview 2
2. Overall Description 3
2.1 Product perspective 3
2.1.1 User Interface 3-6
2.1.2 Software interface 7
2.1.3 Communication interface 7
2.2 Product functions 7
2.3 User characteristics 7
2.4 Constrains 7
2.5 Assumptions and dependencies 7
2.6 Apportioning of requirements 8
3. Specific requirements 8
3.1 External interfaces 9
3.2 Functions 10
3.2.1 Use Case Manage Data Retention 10-11
3.2.2 Use Case Generate Data Retention Report 12-13
3.2.3 Use Case Generate Yield Reject Report 14-15
3.2.4 Use Case Search Frequency of Error 16-17
3.2.5 Use Case Search Emergency Response Record 18-19
3.2.6 Use Case Generate ERT 20-21
3.2.7 Use Case Generate Yield Reject Graph 22-23
3.2.8 Use Case Calculate Pin of IC 24-25
3.2.9 Use Case Select Menu 26-28
3.3 Performance requirements 28
31
3.4 Logical database requirements 28
3.5 Design constraints 28
3.5.1 Standards compliance 28
3.6 Software system attributes 28
3.6.1 Reliability 28
3.6.2 Availability 29
3.6.3 Security 29
3.6.4 Maintainability 29-30
3.6.5 Portability 30
3.7 Organizing the specific requirements 30
3.7.1 Objects 30
32
APPENDIX D
(SDD)
1. Introduction
This section provides a design of Production Information Tracking System
project.
1.1 Purpose
These documents shows how the system will be structured to satisfy the
requirements identified in the software requirements specification IEEE
Standard 830-1998.
1.2 Scope
This document includes a description of the software structure, software
components, interfaces, and data necessary for the implementation
phase.
1
2. References
Type Name
UML Use Cases Patterns and Blueprints
(Addison Wesley Professional)
UML Requirements in Context (Addison
Wesley)
UML The Unified Modeling Language
User Guide (Addison Wesley)
UML The Unified Modeling Language
Reference Manual (Addison
Wesley)
UML Mastering UML with Rational Rose
2002 (SYBEX)
JAVA Hardcore Java (O'Reilly)
JAVA Java Pocket Guide (O'Reilly)
JAVA Special Edition Using Java 2
Standard Edition (Que)
SDD IEEE Standard for Software Design
Descriptions, IEEE 1016-1998
3. Decomposition description
The decomposition description records the division of the software system
into design entities. It describes the way the system has been structured and
the purpose and function of each entity. For each entity, it provides a
reference to the detailed description via the identification attribute.
2
3.1 Module decomposition
CSC Boundary
(from Logical View)
<<boundary>> <<boundary>>
About ICPin
<<boundary>> <<boundary>>
DataRetention EmergencyView
<<boundary>> <<boundary>>
ErrorFrequency MainPage
CSC Controller
(from Logical View)
<<control>> <<control>>
AboutController ErrorFrequecyController
<<control>> <<control>>
DataRetentionController ICPinController
<<control>> <<control>>
EmergencyController MainPageController
<<control>>
YieldController
3
3.1.3 Module Entity
This module provides to access to database and storage location.
CSC Entity
(from Logical View)
<<entity>> <<entity>>
YieldModel YieldReport
4
DDM – to hold problem lot
ASIC Batch – ASIC unique number
Yield – percentage of pass or reject lot
Quantity – shipping quantity
4. Dependency description
The dependency description specifies the relationships among entities. It
identifies the dependent entities, describes their coupling, and identifies the
required resources.
5
4.2 Inter process dependencies
i) Dynamic organization
appConfig.ini
MainMenu.jar
CSC Controller
CSC Boundary
<<control>> <<control>>
AboutController ErrorFrequecyController
<<boundary>> <<boundary>> (from CSC Controller) (from CSC Controller)
About ICPin
(from CSC Boundary) (from CSC Boundary)
<<control>> <<control>>
<<boundary>> <<boundary>> DataRetentionController ICPinController
(from CSC Controller) (from CSC Controller)
DataRetention EmergencyView
(from CSC Boundary) (from CSC Boundary)
<<control>> <<control>>
EmergencyController MainPageController
<<boundary>> <<boundary>> (from CSC Controller) (from CSC Controller)
ErrorFrequency MainPage
(from CSC Boundary) (from CSC Boundary)
<<control>>
YieldController
(from CSC Controller)
6
iii) Inter process controller and entity dependency
CSC Entity
CSC Controller
<<entity>> <<entity>> <<entity>>
Configuration DataRetentionReport ErrorFrequencyModel
<<control>> <<control>> (from CSC Entity) (from CSC Entity)
(from CSC Entity)
AboutController ErrorFrequecyController
(from CSC Controller) (from CSC Controller)
5. Interface description
The entity interface description provides everything designers, programmers,
and testers need to know to correctly use the functions provided by an entity.
This description includes the details of external and internal interfaces not
provided in the software requirements specification.
7
5.1.2 Controller module interface
To interface controller module, boundary module need to
initialized controller module. To be interfaced, the controller
module has the boundary object.
8
5.2
reset( )
9
: DataRetention : DataRetentionController : Configuration
: User
pressCancelButton()
5.2.2 User cancel generate data retention report
10
: EmergencyView : EmergencyController : Configuration
: User
E1 Unknown Error
1. User press Generate pressGenerateButton()
button.
2. System get file name from
configuration file. actionPerformed(ae : ActionEvent)
3. System display dialog for
save the file. getKeyValue(keyName : String)
4. System gets the location
of the file from user key in.
5. User press Cancel button. pressCancelButton() displayDialog(file : File)
5.2.3 User cancel generate emergency response template
11
: Yield : Configuration : YieldController
: User
E1 Unknown Error
pressGenerateButton()
1. User press Generate button.
2. System get file name from actionPerformed(e : ActionEvent)
configuration file.
3. System display dialog for getDateFrom( )
save the file.
4. System gets the location of getDateTo( )
the file from user key in.
5. User press Cancel button.
getKeyValue(keyName : String)
displayDialog(file : File)
getFilePath( )
getConstValue(name : String)
pressCancelButton()
5.2.4 User cancel generate yield reject report
12
: User : DataRetention : DataRetentionController : LotProtocolStorage
keyInData()
1. User key in lot number and
soft bin E3 File does not exist
2. User press Link button. pressLinkButon()
3. System get lot number and
soft bin from user key in. actionPerformed(ae : ActionEvent)
4. System links the lot
protocol. LotProtocolStorage( )
getLotNumber( )
getSoftBin( )
5.2.5 User launches lot protocol
13
: ICPin : ICPinController
: User
A1 Reset All
keyInData()
1. User key in values.
2. User press Calculate
button. loop calculate to
pressCalculateButton() display failure pin or
3. For each value user key
in the system calculate display or display
the values and display good pin
actionPerformed(err : String)
good or failure pin.
calculate( )
displayFailurePin(pin : JLabel)
displayGoodPin(pin : JLabel)
14
: DataRetention : DataRetentionController : Configuration : DataRetentionReport : ExcelWorkBook
: User
getVectorData( )
5.2.7 User generate data retention report
exportExcel(data : Vector<Vector>)
getFilePath( )
save(fileName : String)
15
: EmergencyView : EmergencyController : Configuration : EmergencyTemplate : ExcelWorkBook
: User
E1 Unknown Error
1. User press Generate pressGenerateButton()
button.
2. System get file name from actionPerformed(ae : ActionEvent)
configuration file.
3. System display dialog for getKeyValue(keyName : String)
save the file.
4. System gets the location
of the file from user key in. displayDialog(file : File)
5. If user specify the file name pressOKButton() if file name
and press OK button. specified
6. System connects to the
database.
getFilePath( )
7. System gets data from
database.
8. System generate file in EmergencyTemplate(fileName : String)
excel format. getWorkbook( )
9. System save the file. getSearchLotNumber( )
getDeviceId( )
getPrintedDateCode( )
getProduct( )
getPackageType( )
getNumberofPart( )
getCustomer( )
getIncomingDate( )
getResponseTime( )
getCustomerFD( )
getShippingDate( )
getDispatchNumber( )
getLocationM( )
getQuantity( )
getDateA( )
getTimeA( )
getDateT( )
getTimeT( )
getDateS( )
getlTimeS( )
getDescriptionD( )
getDescriptionS( )
getDescriptionSPC( )
getDescriptionSBA( )
getPressureOffset( )
getStatusWB( )
getWaferNumber( )
getWaferSensor( )
exportExcel(lotNumber : String, deviceId : String, printedDateCode : String, product : String, packageType : String,
numberofPart : String, customer : String, incomingDate : String, responseTime : String, customerFD : String,
shippingDate : String, dispatchNumber : String, location : String, quantity : String, dateA : String, timeA : String, dateT :
String, timeT : String, dateS : String, timeS : String, descriptionD : String, descriptionS : String, descriptionSPC : String,
descriptionSBA : String, pressureOffset : String, statusWB : String, waferNumber : String, waferSensor : String)
getFilePath( )
5.2.8 User generate emergency response template
save(fileName : String)
16
: Yield : YieldController : Configuration : YieldReport : YieldModel : ExcelWorkBook
: User
1. User press Generate
button.
E1 Unknown Error
2. System get file name from
pressGenerateButton()
configuration file.
3. System display dialog for
actionPerformed(e : ActionEvent)
save the file.
4. System gets the location of getDateFrom( )
the file from user key in.
5. If user specify the file name getDateTo( )
and press OK button.
6. System connects to the
database. getKeyValue(keyName : String)
7. System gets data from
database. displayDialog(file : File)
8. System generate file in
excel format.
9. System saves the file. getFilePath( ) if file name
specified
pressOKButton()
getConstValue(name : String)
YieldReport(String fileName : )
getWorkbook( )
getKeyValue(keyName : String)
getKeyValue(keyName : String)
getKeyValue(keyName : String)
getConstValue(name : String)
5.2.9 User generate yield reject report
getConstValue(name : String)
YieldModel(serverName : String, portNumber : String, dataSource : String, userName : String, password : String, typeDB : DatabaseType)
exportExcel(rs : ResultSet)
getFilePath( )
17
: User : DataRetention : DataRetentionController : Configuration : DataRetentionModel : DatabaseConnection
keyInData() if action is
1. User key in lot number and A1: Link Lot Protocol search button
soft bin. pressSearchButton()
2. User press Search button. E1: Connection Error
3. System clear grid. actionPerformed(ae : ActionEvent) E2: Unknown Error
4. System read database
configuration from configuration clearGrid( )
file.
5. System connects to the getKeyValue(keyName : String)
database. getKeyValue(keyName : String)
7. System gets lot number and
soft bin from user interface. getKeyValue(keyName : String)
8. System populate data from
database getConstValue(name : String)
9. System display info.
10. System closes database getConstValue(name : String)
connection.
5.2.10 User manage data retention
DataRetentionModel(serverName : String, portNumber : String, dataSource : String, userName : String, password : String, typeDB : DatabaseType)
DatabaseConnection(serverName : String, portNumber : String, dataSource : String, userName : String, password : String, typeDB : DatabaseType)
getLotNumber( )
getSoftBin( )
displayInfo(data : Vector<Vector>)
18
: EmergencyView : EmergencyController : Configuration : EmergencyModel : DatabaseConnection
: User
if action is
keyInData()
search button
1. User key in lot number.
2. User press Search button. pressSearchButton() E1: Connection Error
3. System clear grid. E2: Unknown Error
4. System read database actionPerformed(ae : ActionEvent)
configuration from
configuration file. getKeyValue(keyName : String)
5. System connects to the
database. getKeyValue(keyName : String)
7. System gets lot number from
user interface.
8. System populate data from getKeyValue(keyName : String)
database
9. If data found the system
display info. getConstValue(name : String)
10. System closes database
connection.
getConstValue(name : String)
EmergencyModel(String serverName : , String portNumber : , String dataSource : , String userName : , String password : , DatabaseType typeDB : )
DatabaseConnection(serverName : String, portNumber : String, dataSource : String, userName : String, password : String, typeDB : DatabaseType)
getSearchLotNumber( )
5.2.11 User search emergency response
populateData(lotNumber : String)
getConnection( )
displayInfo(data : Vector)
close( )
closeConnection( )
19
: ErrorFrequency : ErrorFrequecyController : Configuration : ErrorFrequencyModel : DatabaseConnection
: User
if action is
keyInData()
1. User key in event data, machine search button
name, date from and date to.
chooseDate() E1: Connection Error
2. User press Search button.
3. System clear grid. E2: Unknown Error
4. System read database
configuration from configuration pressSearchButton()
file.
5. System connects to the
actionPerformed(e : ActionEvent)
database.
7. System get event data, machine
name, date from and date to clearGrid( )
from user interface.
getKeyValue(keyName : String)
8. System populates data from
database.
9. If data found the system display getKeyValue(keyName : String)
info.
10. System closes database
getKeyValue(keyName : String)
connection.
getConstValue(name : String)
getConstValue(name : String)
ErrorFrequencyModel(serverName : String, portNumber : String, dataSource : String, userName : String, password : String, typeDB : DatabaseType)
DatabaseConnection(serverName : String, portNumber : String, dataSource : String, userName : String, password : String, typeDB : DatabaseType)
5.2.12 User search error frequency
getDateFrom( )
getDateTo( )
getEventData( )
getMachineName( )
if rs not null
populateData(machineName : String, eventData : String, dateFrom : String, dateTo : String)
getConnection( )
20
retention
: DataRetention : DataRetentionController
: User
Retention
displayErrorMessage(err : String)
21
: User
: EmergencyView : EmergencyController
emergency response
1. User press Generate pressGenerateButton()
button.
2. If error found display error
Emergency Response
displayErrorMessage(err : String)
22
5.2.14 Exception Search Emergency Response and Generate
: User : Yield : YieldController
displayErrorMessage(err : String)
5.2.15 Exception Generate Yield Report
23
: ErrorFrequency : ErrorFrequecyController
: User
displayErrorMessage(err : String)
5.2.16 Exception Search Error Frequency
24
: User : About : AboutController
1. User press OK button.
pressOKButton()
2. System terminate the
user interface. actionPerformed(e : ActionEvent)
5.2.17 User view About interface
dispose()
25
: MainMenu : MainPage : About : AboutController : MainPageController : Configuration
: User
activateSystem()
1. User activate the system.
2. System look up for
configuration file.
3. System update latest main(String[] args : )
application.
4. System check application startUpConfiguration( )
filename.
5. System display Menu.
6. System display About user
interface. A1 Data Retention
getKeyValue(keyName : String)
A2 Yield
getKeyValue(keyName : String)
5.2.18 User select menu
A3 Frequency Error
A4 ICPin
getKeyValue(keyName : String) A5 Emergency Response
updateApplication( )
getKeyValue(keyName : String)
terminateFileNameIncorrect( )
MainPage( )
actionPerformed(e : ActionEvent)
AboutController(vAbout : About)
26
: MainPage : DataRetention : MainPageController : DataRetentionController
: User
1. User press
pressDataRetentionMenu()
DataRetention menu actionPerformed(e : ActionEvent)
item.
2. System display
DataRetention( )
DataRetention user
interface.
DataRetentionController(vDataRetention : DataRetention)
5.2.19 Alternative Select Menu (Data Retention)
27
: MainPage : Yield : MainPageController : YieldController
: User
pressDataRetentionMenu()
1. User press Yield menu actionPerformed(e : ActionEvent)
item.
2. System display Yield Yield( )
user interface.
YieldController(vYield : Yield)
5.2.20 Alternative Select Menu (Yield)
28
: User : MainPage : ErrorFrequency : MainPageController : ErrorFrequecyController
ErrorFrequecyController(vErrorFrequency : ErrorFrequency)
5.2.21 Alternative Select Menu (Error Frequency)
29
: User : MainPage : ICPin : MainPageController : ICPinController
pressDataRetentionMenu()
1. User press ICPin menu actionPerformed(e : ActionEvent)
item.
2. System display ICPin ICPin( )
user interface.
ICPinController(vICPin : ICPinController)
5.2.22 Alternative Select Menu (IC Pin)
30
: MainPage : EmergencyView : MainPageController : EmergencyController
: User
31
6. Detailed design
The detailed design description contains the internal details of each design
entity. These details include the attribute descriptions for identification,
processing, and data. This attribute information should be provided for all
design entities.
<<boundary >>
ICPin
(from CSC Boundary)
grp : JPanel
grpT : JPanel
pin : Vector<JLabel>
grpPin : Vector = new Vector()
row : JLabel
getPinVector()
ICPin()
display FailurePin()
reset()
display GoodPin()
32
6.1.1.2 CSU DataRetention (SDD-REQ-002)
This paragraph describes the CSC Boundary class. All the
attributes and functions are described in detail. The algorithm for
each function is detailed here.
<<boundary >>
DataRetention
(from CSC Boundary)
txtLot : JTextField
txtSof tBin : JFormattedTextField
data : Vector<Vector> = new Vector<Vector>()
head : Vector<String>
cLotProtocol : DataRetentionController
chooser : JFileChooser
scrollPane : JScrollPane
table : JTable
getLotNumber()
getSof tBin()
getFilePath()
getVectorData()
DataRetention()
display ErrorMessage()
display Dialog()
display Inf o()
clearGrid()
33
6.1.1.3 CSU EmergencyView (SDD-REQ-003)
This paragraph describes the CSC Boundary class. All the
attributes and functions are described in detail. The algorithm for
each function is detailed here.
<<boundary >>
Emergency View
(from CSC Boundary)
lstBatch : JList
lstASIC : JList
txtLotNumber : JTextField
txtProduct : JTextField
txtDev iceId : JTextField
txtPrintedDateCode : JTextField
txtPackageTy pe : JTextField
txtNumberof Part : JTextField
txtCustomer : JTextField
txtIncomingDate : JTextField
txtResponseTime : JTextField
txtCustomerFD : JTextField
txtShippingD ate : JTextField
txtDispatchNumber : JTextField
txtLocation : JTextField
txtQuantity : JTextField
txtSearch : JTextField
txtDateA : JTextField
txtTimeA : JTextField
txtDateT : JTextField
txtTimeT : JTextField
txtDateS : JTextField
txtlTimeS : JTextField
txtDescriptionD : JTextField
txtDescriptionS : JTextField
txtDescriptionSPC : JTextField
txtDescriptionSBA : JTextField
txtPressureOf f set : JTextField
txtStatusWB : JTextField
cEmergency : Emergency Controller
chooser : JFileChooser
getSearchLotN umber()
getD ev iceId()
getPrintedD ateCode()
getProduct()
getPackageTy pe()
getN umberof Part()
getC ustomer()
getIncomingDate()
getR esponseTime()
getC ustomerFD()
getShippingDate()
getD ispatchNumber()
getLocationM()
getQuantity ()
getD ateA()
getTimeA()
getD ateT()
getTimeT()
getD ateS()
getlTimeS()
getD escriptionD()
getD escriptionS()
getD escriptionSPC()
getD escriptionSBA()
getPressureOf f set()
getStatusWB()
getSearch()
getWaf erNumber()
getWaf erSensor()
getFilePath()
Emergency View()
display Inf o()
display ErrorMessage()
display Dialog()
34
Class type : Boundary
Responsibility : This CSU is responsible to handle the
user interface of CSCI Production
Information Tracking System and
activate the appropriate process when it
tests the input.
<<boundary >>
ErrorFrequency
(from CSC Boundary)
txtDateFrom : JFormattedTextField
txtDateTo : JFormattedTextField
data2 : Vector<String>
data : Vector<Vector> = new Vector<Vector>()
txtEv entData : JTextField
table : JTable
scrollPane : JScrollPane
cErrorFrequency : ErrorFrequecy Controller
cmbMachine : JComboBox
getDateFrom()
getDateTo()
getEv entData()
getMachineName()
ErrorFrequency ()
display Inf o()
clearGrid()
display ErrorMessage()
35
6.1.1.5 CSU Yield (SDD-REQ-005)
This paragraph describes the CSC Boundary class. All the
attributes and functions are described in detail. The algorithm for
each function is detailed here.
<<boundary >>
Y ield
(from CSC Boundary)
cY ield : Y ieldController
chooser : JFileChooser
txtDateFrom : JFormattedTextField
txtDateTo : JFormattedField
getDateFrom()
getDateTo()
getFilePath()
Y ield()
display ErrorMessage()
display Dialog()
36
<<boundary >>
MainPage
(from CSC Boundary)
menuBar : JMenuBar
menu : JMenu
menuItem : JMenuItem
cMainPage : MainPageController
MainPage()
<<control>>
ErrorFrequecy Controller
(from CSC Controller)
v ErrorFrequency : ErrorFrequency
ErrorFrequecy Controller()
actionPerf ormed()
37
activate the appropriate process
when it tests the input.
<<control>>
DataRetentionController
(from CSC Controller)
v DataRetention : DataRetention
DataRetentionController()
actionPerf ormed()
38
<<control>>
ICPinController
(from CSC Controller)
v ICPin : ICPin
ICPinController()
actionPerf ormed()
calculate()
<<control>>
Emergency Controller
(from CSC Controller)
v Emergency : Emergency View
Emergency Controller()
actionPerf ormed()
39
6.1.2.5 CSU MainPageController (SDD-REQ-205)
This paragraph describes the CSC Controller class. All the
attributes and functions are described in detail. The algorithm for
each function is detailed here.
<<control>>
MainPageController
(from CSC Controller)
v MainPage : MainPage
MainPageController()
actionPerf ormed()
<<control>>
Y ieldController
(from CSC Controller)
v Y ield : Y ield
Y ieldController()
actionPerf ormed()
40
Class type : Controller
Responsibility : This CSU is responsible to handle the
controller of CSCI Production
Information Tracking System and
activate the appropriate process
when it tests the input.
<<entity >>
Conf iguration
(from CSC Entity)
props : Properties
path : String
serv erConf igurationPathFile : String
localConf igurationPathFile : String
y ield : String = "Y ield.xls"
dataRetention : String = "DataRetention.xls"
emergency : String = "Emergency .xls"
oracleUserName : String
oraclePassword : String
my sqlUserName : String
my sqlPassword : String
getConstValue()
startUpConf iguration()
getKey Value()
Conf iguration()
41
6.1.3.2 DatabaseConnection (SDD-REQ-302)
This paragraph describes the CSC Entity class. All the attributes
and functions are described in detail. The algorithm for each
function is detailed here.
<<entity >>
DatabaseConnection
(from CSC Entity)
conn : Connection
DatabaseTy pe {Oracle,My sql} : enum
DatabaseConnection()
getConnection()
closeConnection()
42
<<entity >>
DataRetentionModel
(from CSC Entity)
data2 : Vector<String>
data : Vector<Vector> = new Vector<Vector>()
rs2; : ResultSet
st : Statement
rs : ResultSet
DataRetentionModel()
populateData()
close()
<<entity >>
Y ieldModel
(from CSC Entity)
rs : ResultSet
st : Statement
Y ieldModel()
populateData()
close()
43
appropriate process
when it tests the input.
<<entity >>
DataRetentionModel
(from CSC Entity)
data2 : Vector<String>
data : Vector<Vector> = new Vector<Vector>()
rs2; : ResultSet
st : Statement
rs : ResultSet
DataRetentionModel()
populateData()
close()
44
<<entity >>
Emergency Model
(from CSC Entity)
st : Statement
rs : ResultSet
Emergency Model()
populateData()
close()
<<entity >>
Emergency Template
(from CSC Entity)
sheet1 : HSSFSheet
Emergency Template()
exportExcel()
sav e()
45
6.1.3.8 CSU YieldReport (SDD-REQ-308)
This paragraph describes the CSC Entity class. All the attributes
and functions are described in detail. The algorithm for each
function is detailed here.
<<entity >>
Y ieldReport
(from CSC Entity)
sheet1 : HSSFSheet
Y ieldReport()
exportExcel()
sav e()
<<entity >>
ErrorFrequency Model
(from CSC Entity)
rs : ResultSet
st : Statement
ErrorFrequency Model()
populateData()
close()
46
Class type : Entity
Responsibility : This CSU is responsible to handle the
entity of CSCI Production Information
Tracking System and activate the
appropriate process
when it tests the input.
<<entity >>
ExcelWorkBook
(from CSC Entity)
f ile : File
wb : HSSFWorkbook
getWorkbook()
ExcelWorkBook()
sav e()
47
<<entity >>
LotProtocolStorage
(from CSC Entity)
total : int = 0
link()
LotProtocolStorage()
48
Table of Contents
1. Introduction 1
1.1 Purpose 1
1.2 Scope 1
1.3 Definitions and acronyms 1
2. References 2
3. Decomposition description 2
3.1 Module decomposition 3
3.1.1 Boundary Module 3
3.1.2 Controller Module 3
3.1.3 Module Entity 4
3.2 Data decomposition 4
3.2.1 Product description 4-5
3.2.2 Machine description 5
4. Dependency description 5
4.1 Inter module dependencies 5
4.1.1 Independent Module 5
4.1.2 Dependent Module 5
4.2 Inter process dependencies 6
4.3 Data dependencies 7
5. Interface description 7
5.1 Module interface 7
5.1.1 Boundary module interface 7
5.1.2 Controller module interface 8
5.1.3 Entity module interface 8
5.2 Process interface 9
5.2.1 User press reset on IC pin detection interface 9
5.2.2 User cancel generate data retention report 10
5.2.3 User cancel generate emergency response template 11
5.2.4 User cancel generate yield reject report 12
49
5.2.5 User launches lot protocol 13
5.2.6 User launches system to calculate IC pin detection 14
5.2.7 User generate data retention report 15
5.2.8 User generate emergency response template 16
5.2.9 User generate yield reject report 17
5.2.10 User manage data retention 18
5.2.11 User search emergency response 19
5.2.12 User search error frequency 20
5.2.13 Exception Manage Data Retention and Generate Data Retention 21
5.2.14 Exception Search ER and Generate Emergency Response 22
5.2.15 Exception Generate Yield Report 23
5.2.16 Exception Search Error Frequency 24
5.2.17 User view About interface 25
5.2.18 User select menu 26
5.2.19 Alternative Select Menu (Data Retention) 27
5.2.20 Alternative Select Menu (Yield) 28
5.2.21 Alternative Select Menu (Error Frequency) 29
5.2.22 Alternative Select Menu (IC Pin) 30
5.2.23 Alternative Select Menu (Emergency Response) 31
6. Detailed design 32
6.1 Module detailed design 32
6.1.1 Boundary module detailed design 32
6.1.1.1 CSU ICPin (SDD-REQ-001) 32
6.1.1.2 CSU DataRetention (SDD-REQ-002) 33
6.1.1.3 CSU EmergencyView (SDD-REQ-003) 34-35
6.1.1.4 CSU ErrorFrequency (SDD-REQ-004) 35
6.1.1.5 CSU Yield (SDD-REQ-005) 36
5.1.1.6 CSU MainPage (SDD-REQ-006) 36-37
6.1.2 Controller module detailed design 37
6.1.2.1 CSU ErrorFrequencyController (SDD-REQ-201) 37-38
6.1.2.2 CSU DataRetentionController (SDD-REQ-202) 38
50
6.1.2.3 CSU ICPinController (SDD-REQ-203) 38-39
6.1.2.4 CSU EmergencyController (SDD-REQ-204) 39
6.1.2.5 CSU MainPageController (SDD-REQ-205) 40
6.1.2.6 CSU YieldController (SDD-REQ-206) 40-41
6.1.3 Entity module detailed design 41
6.1.3.1 CSU Configuration (SDD-REQ-301) 41
6.1.3.2 DatabaseConnection (SDD-REQ-302) 42
6.1.3.3 CSU DataRetentionModel (SDD-REQ-303) 42-43
6.1.3.4 CSU YieldModel (SDD-REQ-304) 43-44
6.1.3.5 CSU DataRetentionReport (SDD-REQ-305) 44
6.1.3.6 CSU EmergencyModel (SDD-REQ-306) 44-45
6.1.3.7 CSU EmergencyTemplate (SDD-REQ-307) 45
6.1.3.8 CSU YieldReport (SDD-REQ-308) 46
6.1.3.9 CSU ErrorFrequencyModel (SDD-REQ-309) 46-47
6.1.3.10 CSU ExcelWorkBook (SDD-REQ-310) 47
6.1.3.11 CSU LotProtocolStorage (SDD-REQ-311) 47-48
51
APPENDIX E
(STD)
A.1 Production Information Tracking System Test Documentation
A.1.1 Scope
This test document is based on IEEE STD 829-1998.
The following functions are the functionality of Production Information Tracking
System:
STWW-YY-ZZ
ST represents Production Information Tracking System.
1
1. Test plan identifier
ST03-01--01
2. Introduction
2.1 Objectives
A system test plan for the Production Information Tracking System should support the
following objectives:
To have a standard tool for data identifying and shorten the data identifying
cycle time.
To help operator to overview and identifying on lot history (e.g. lot number,
asic wafer number, date assembly, and etc).
User friendly tool for all level staff to view the lot history.
Using this tool to details the yield rejects breakdown and improvement
activities.
2.2 Background
Production Information Tracking System is developed from scratch. Production
Information Tracking System which consists of identify data retention information,
retrieve machine’s frequency of error, create an Emergency Response Template, visual
graphical IC with calculation and yield reject extraction report. This is a new system. The
system extracts data from relational database and datawarehouse from heterogeneous
database such as Oracle and MySQL Server. The database store tested data from Tester
and package information from end user in production.
2.3 Scope
The scope covers full testing on the Production Information Tracking System. This
includes user procedures, as well as programs and job control. In addition to broadly
testing functionality, external interfaces and recovery will also be evaluated.
2.4 References
IEEE STD 829-1998
3. Test items
Developer will change the version if new system is developed.
The following documents will provide the basis for defining correct operation:
Production Information Tracking System Software Requirement Specification (ST01-01)
Production Information Tracking System Software Design Description (ST02-01)
4. Features to be tested
The following list describes the features that will be tested:
2
ST03-02-02-01 Generate Data Retention Report
ST03-02-03-01 Generate Yield Reject Report
ST03-02-04-01 Search Frequency of Error
ST03-02-05-01 Search Emergency Response Record
ST03-02-06-01 Generate Emergency Response Template
ST03-02-07-01 Generate Yield Reject Graph
ST03-02-08-01 Calculate Pin of IC
6. Approach
The following are the techniques used to judge the comprehensiveness of the testing
effort.
Data Type Testing – Check input constraint.
Date to greater or equal to date from testing – Check date comparison.
Network connection testing – Check if no network connection.
I/O testing – Check existence of file.
Expected Result – Check the expected output.
9. Test deliverables
The following documents will be included:
System Test Plan
System Test Design Specifications
System Test Case Specifications
System Test Procedure Specifications
System Test Logs
System Test Incident Report Log
System Test Incident Reports
System Test Summary Report
Software:
Production Information Tracking System
3
Windows 2000
Oracle database and MySQL database are available
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
12. Responsibilities
The developer will provide the test items. One of the engineers will test the system.
14. Schedule
N/A
4
A.2 System test procedure specification
A.2.1.2. Purpose
This procedure describes the step need to execute in the test design specification for
Manage Data Retention (ST03-02-01-01). The procedure describes the execution of the
test case described in test case specification (ST03-03-YY-01).
A.2.1.3.3 Proceed.
1. User key in lot number and soft bin.
2. User press Search button.
3. User press Link button
A.2.1.3.4 Measure
1. System display info.
2. Lot protocol is generated
5
A.2.2.1. Test procedure specification identifier
ST03-04-02-01 Generate Data Retention Report
A.2..22. Purpose
This procedure describes the step.
A.2.2.3.3 Proceed.
1. User search data retention record.
2. User press Generate button.
3. System display dialog for save the file.
4. User specifies the file name and press OK button
A.2.2.3.4 Measure
System generate file in excel format.
6
A.2.3.1. Test procedure specification identifier
ST03-04-03-01 Generate Yield Reject Report
A.2.3.2. Purpose
This procedure describes the step need to execute in the test design specification for
Generate Yield Reject Report (ST03-02-02-01). The procedure describes the execution of
the test case described in test case specification (ST03-03-YY-01).
A.2.3.3.3 Proceed.
1. User press Generate button.
2. System display dialog for save the file.
3. System gets the location of the file from user key in.
4. If user specify the file name and press OK button.
A.2.3.3.4 Measure
Report is generated in Excel format
7
A.2.4.1. Test procedure specification identifier
ST03-04-04-01 Search Frequency of Error
A.2.4.2. Purpose
This procedure describes the step need to execute in the test design specification for
Search Frequency of Error (ST03-02-03-01). The procedure describes the execution of
the test case described in test case specification (ST03-03-YY-01).
A.2.4.3.3 Proceed.
1. User key in event data, machine name, date from and date to.
2. User press Search button.
A.2.4.3.4 Measure
Result of tester error is displayed
8
A.2.5.1. Test procedure specification identifier
ST03-04-05-01 Search Emergency Response Record
A.2.5.2. Purpose
This procedure describes the step need to execute in the test design specification for
Search Emergency Response Record (ST03-02-04-01). The procedure describes the
execution of the test case described in test case specification (ST03-03-YY-01).
A.2.5.3.3 Proceed.
1. User key in lot number.
2. User press Search button.
A.2.5.3.4 Measure
Result of emergency response record is displayed
9
A.2.6.1. Test procedure specification identifier
ST03-04-06-01 Generate Emergency Response Template
A.2.6.2. Purpose
This procedure describes the step need to execute in the test design specification for
Generate Emergency Response Template (ST03-02-05-01). The procedure describes the
execution of the test case described in test case specification (ST03-03-YY-01).
A.2.6.3.3 Proceed.
1. User press Generate button.
2. System display dialog for save the file.
3. If user specify the file name and press OK button.
A.2.6.3.4 Measure
Report is generated in Excel format
10
A.2.7.1. Test procedure specification identifier
ST03-04-07-01 Generate Yield Reject Graph
A.2.7.2. Purpose
This procedure describes the.
A.2.7.3.3 Proceed.
1. Yield Reject Template is generated.
2. User opens Yield Reject Report.
A.2.7.3.4 Measure
Graph is generated in yield reject report
11
A.2.8.1. Test procedure specification identifier
ST03-04-08-01 Calculate Pin of IC
A.2.8.2. Purpose
This procedure describes the step.
A.2.8.3.3 Proceed.
1. User key in values.
2. User press Calculate button.
A.2.8.3.4 Measure
Failure pin will turn from grey color into red color.
12
A.3 System test design specification
Invalid
Type alphabet on soft bin textbox ST03-03-04-01
Network is offline ST03-03-05-01
Link lot protocol if file does not exist ST03-03-06-01
13
A.3.2.1. Test design specification identifier
ST03-02-02-01
Invalid
Type alphabet on date from and date to textbox ST03-03-09-01
Date to is less than or equal to date from ST03-03-10-01
14
A.3.3.1. Test design specification identifier
ST03-02-03-01
Invalid
Type alphabet on date from and date to textbox ST03-03-12-01
15
A.3.4.1. Test design specification identifier
ST03-02-04-01
Invalid
Network is offline ST03-03-14-01
16
A.3.5.1. Test design specification identifier
ST03-02-05-01
Invalid
Network is offline ST03-03-16-01
17
A.4 System test case specification
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
18
A.4.2.1. Test case specification identifier
ST03-03-05-01
ST03-03-14-01
ST03-03-16-01
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
19
A.4.3.1. Test case specification identifier
ST03-03-01-01
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
20
A.4.4.1. Test case specification identifier
ST03-03-04-01
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
21
A.4.5.1. Test case specification identifier
ST03-03-03-01
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
22
A.4.6.1. Test case specification identifier
ST03-03-06-01
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
23
A.4.7.1. Test case specification identifier
ST03-03-07-01
ST03-03-11-01
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
24
A.4.8.1. Test case specification identifier
ST03-03-10-01
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
25
A.4.9.1. Test case specification identifier
ST03-03-08-01
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
26
A.4.10.1. Test case specification identifier
ST03-03-09-01
ST03-03-12-01
Hardware:
PC
Network cable
Communication Protocols:
TCP/IP
27
Table of Contents
28
APPENDIX F
(STR)
Software Testing Report
1
press Generate button.
3. System display dialog for
save the file.
4. System gets the location
of the file from user key
in.
5. If user specify the file
name and press OK
button.
2
1. Emergency Response Report is generated in Excel
User Interface is initiated. format
2. User key in lot number
and press search
Emergency Response
Record
3. User press Generate
button.
4. System display dialog for
save the file.
5. If user specify the file
name and press OK
button.
Calculate Pin of IC
1. Calculate Pin of IC user Failure pin will turn from
interface is initiated grey color into red color.
2. User key in values.
3. User press Calculate
button.
4. For each value user key
in the system calculate
the values and display
3
good or failure pin.