You are on page 1of 200

PRODUCTION INFORMATION TRACKING SYSTEM

TIOH KEAT SOON

UNIVERSITI TEKNOLOGI MALYSIA


PRODUCTION INFORMATION TRACKING SYSTEM

TIOH KEAT SOON

A technical report submitted in partial fulfillment of the requirements for the


award of the degree of Master of Science (Computer Science – Real-Time
Software Engineering)

Centre for Advanced Software Engineering


Faculty of Computer Science and Information System
Universiti Teknologi Malaysia

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.

Throughout this industrial training, Mr. Mohd Ridzuan Bin Ahmad is my


supervisor. He has provided me comment and suitability of the project. He is the one
of the big contributor for this project. Without his guidance will not so success for
this project.

A special thank to staffs in Sensors department who has provided me the


project information. Especially Eng Wah Keong my industrial mentor, he has spent a
lot of time to fully support me.

Finally, I many thank to my family and Ms. Christina Kueh Lin Chee for
providing me moral support for this project.
iv

ABSTRACT

Production Information Tracking System is a multipurpose system that


consists of yield rejects report generation, tester frequency error retrieval, to generate
emergency response template, visual graphical of rejected IC, and data retention
issue management. Yield reject report is extracted from the data warehouse.
Previously, it was hard for the engineer to analyze the history of tester frequency
error. Engineer needs to utilize multi-system to generate the emergency response
template. The system provides the solution for these problems. Besides that, operator
can use the system to translate the number of the rejected pin of IC into graphical
visual. Managing the data retention is a daunting task. By providing the lot number,
the related information will be retrieved from database and exported to excel file. Lot
protocol can also be searched easily. This system can be run on any platform and it
does not require installation as long as the platform has a virtual machine.
v

ABSTRAK

“Production Information Tracking System” adalah sistem pelbagai fungsi


yang meliputi penjanaan laporan “yield reject”, mendapat “tester frequency error”,
menghasilkan “emergency response template”, menjana imej grafik bagi IC yang
ditolak, dan pengurusan laporan “data retention”. Laporan “Yield reject” is diekstrak
daripada pelbagai variasi pangkalan data. Berdasarkan proses semasa adalah susah
bagi jurutera untuk menganalisis sejarah “tester frequency error”. Jurutera
memperoleh data daripada pelbagai system sedia ada untuk menghasilkan
“emergency response template”. Ini boleh mengatasi masalah tersebut. Selain itu,
operator boleh menggunakan sistem ini untuk menterjemah jumlah pin IC yang rosak
ke gambaran visual. Pengendalian “data retention” adalah kerja yang rumit. Dengan
menggunakan “lot number”, kesemua data berkaitan akan diperoleh daripada
pangkalan data dan disimpan ke fail Excel. Maklumat “Lot protocol” juga boleh
dicari dengan mudah. Sistem ini dapat dilaksanakan di atas pelbagai system
pengoperasian dan tidak memerlukan intalasi individu jika mesin tersebut
mempunyai komponen “Virtual Machine”.
vi

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

2. SCOPES & OBJECTIVES 12


2.1 Vision 12
2.2 Project Objective 12-13
vii

2.3 Project Scope 13


2.4 Project Deliverables 14

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

3.3.3.3 Disadvantage of Incremental Model 38


3.3.4 Reason Waterfall model is chosen because 39

4. SYSTEM DEVELOPMENT METHODOLOGY 40


4.1 Analysis 40-41
4.2 Design 41-45
4.3 Implementation 46
4.4 Testing 46
4.5 Maintenance 47
4.6 Tools 47
4.6.1 Oracle SQL Developer 47-48
4.6.2 MySQL Query Browser 49-50
4.6.3 Macro 49-50
4.6.4 Eclipse 51

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

TABLE NO TITLE PAGE


Table 1.1 Infineon Technologies in Malaysia 3
Table 2.1 The list of deliverables 14
Table 3.1 The list of facility 19
Table 3.2 Summary of criteria Java is chosen 28
Table 3.3 Spiral model template 33-34
Table 5.1 Round number to binary number 56
xi

LIST OF FIGURES

FIGURE NO TITLE PAGE


Figure 1.1 Infineon Technologies company structure 2
Figure 3.1 Facility Flow 18
Figure 3.2 Assembly Flow 20-21
Figure 3.3 Data Relationship 22
Figure 3.4 Generated Lot Protocol 23
Figure 3.5 Waterfall methodology flow 29
Figure 3.6 Spiral model 33
Figure 3.7 Incremental Model 37
Figure 4.1 Use case diagram 42
Figure 4.2 Dynamic organization design 42
Figure 4.3 Sequence diagram 43
Figure 4.4 User interface design 44
Figure 4.5 Class diagram 45
Figure 4.6 Oracle SQL Developer 48
Figure 4.7 MySQL Query Browser 50
Figure 4.8 Macro 50
Figure 4.9 Eclipse 51
Figure 5.1 Production Information Tracking System
architecture 52
Figure 5.2 Data retention information output 53
Figure 5.3 Frequency tester error output 54
Figure 5.4 Emergency Response information 55
xii

Figure 5.5 IC’s pin failure output 57


Figure 5.6 Snapshot of Java connect to database connection
coding 58
Figure 5.7 Snapshot of Java save information to excel file 58
Figure 5.8 Snapshot of Java save extract data from database 59
xiii

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

1.1 Organization Background

Infineon consists of two main companies which are:

ƒ IFMY (Infineon Technologies Malaysia Sdn.Bhd)


ƒ IFLP (Infineon (Advanced Logic) Sdn.Bhd)

Infineon Technologies is a German based company which located in Munich,


Germany. It is a semiconductor manufacturer. Infineon has attained a very high
standard as Europe’s biggest manufacturer and second largest in the world. Since its
inauguration in 1973, Infineon Technologies Malaysia has been continuously
growing its operations by enlarging the manufacturing facilities, test-equipment and
adding new product. Nowadays, Infineon Technologies Malaysia also known as the
largest manufacturing sites of Infineon assembling & testing.
2

Figure 1.1: Infineon Technologies company structure


3

Table 1.1: Infineon Technologies in Malaysia

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 Mission & Vision:

1.2.1 Vision

ƒ To shape microelectronics by creating innovative products, leading edge


solutions and services for the benefit of our customers and shareholders.

1.2.2 Missions:

ƒ To create, manufacture and market the industry’s most advanced


microelectronics product.
ƒ To build upon our technological strengths to offer our customer a wade
range of leading edge solutions emphasizing communications, computer.
Chip cards and automotive applications.
ƒ To attract the best talent worldwide and translate advanced technologies
into value for our customers and shareholders.
ƒ To never stop thinking.
5

1.2.3 Values:

ƒ Never stop thinking


ƒ To strive for excellence in people and leadership
ƒ To act entrepreneurially for the sake of our customer
ƒ To win together

1.3 Core Business

In Infineon Technologies, employees here adapt to the period for self-


reflection and the needs in changing are observed more than just their name. The
organization has been restructured from eight business units to five main business
units. Customers are offered continuous leading edge products and comprehensive
solutions by Infineon.
6

For business unit, Infineon Technologies is divided into five departments


which are:

i) Automotive and Industrial

Produce power semiconductor, opto components, microcontrollers,


sensors and discrete semiconductor for automotive applications such as
power train management, dynamics systems and safety, body and
convenience systems and driver information and in-car entertainment
systems. Moreover, it has a wide range of products for industrial
applications such as drivers, controls, system for white gods, power
supplies and components.

ii) Communication and Peripherals

Produce semiconductors and systems for wired communication


applications based on television, PC or wired telephony technologies.
This is including communication ICs, computer peripheral components,
image and video devices, fiber optic components and infrared
components.
7

iii) Wireless Products

Produce semiconductors and complete system solutions for a range or


wireless application including cellular and cordless telephone system
and devices used in connection with GPS. Products include standardized
base-band ICs(logic and analog) and standardized and customized radio
frequency ICs.

iv) Memory Products

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.

v) Security & Chip Card ICs

Develop and manufacture security controller, security memory and


other semiconductor for use in applications requiring security, such as
telephone and credit card (banking), health and identity card, pay TV
and traffic control.
8

In order to maintain a constant products output to fulfill the market demand


and to increase the customer’s satisfaction, Infineon Malacca always seek for a better
way to improve the company operation in terms of Human Resource (HR), Financial
Controlling (FC), Information Technology (IT), Total quality Management (TQM),
Logistic (LOG) and Safety, Health & Environment (SHE).

i) Human Resource (HR)

This department consists of five sections which are the recruitment,


payroll, welfare, training and employee relations. All these sections
have their own responsibilities and play an important role in Infineon.

ii) Financial Planning (FC)

Also known as the PA, this department is responsible towards the


financial part of Infineon. It preserves customer satisfaction by
delivering on time and providing sophisticated and insightful financial
information.
9

iii) Information Technologies (IT)

The purpose of this department is to provide continuous improvement to


business process with IT capabilities. Besides, it is also responsible to
provide future IT landscape with central team to construct an IT
platform for future business needs.

iv) Total Quality Management (TQM)

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)

This department is responsible for sorting the new in-coming material


before channeling them to the other departments for production
purposes. Besides all the goods or products which ready to send to the
customers, will be transit here.
10

vi) Safety, Health &Environment (SHE)

This department is responsible to help to protect all the employees in


Infineon Technologies from the accidents and conserving the
environment. Their mission is to create and sustain a culture that
produces world-class safety, health and environmental performance in
ways that lead to continual improvement in productivity, quality, cost,
delivery and morale.

1.4 Project Background

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

There might have possibility of wrong calculation by the operator. Therefore


engineer might receive wrong information.

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.

To overcome the problem, Production Information Tracking System is


proposed with the capability to 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.
CHAPTER 2

SCOPES & OBJECTIVES

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.

2.2 Project Objective

ƒ 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

ƒ To implement IEEE software documentation standards in the system


development.

2.3 Project Scope

The subsystem can support multiplatform environment 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.

The functionality and feature of the system are as follows:

ƒ Calculate reject unit percentage.


ƒ Display reject unit in graph with display various information.
ƒ Link to external files. E.g. Lot Protocol.
ƒ Generate information to excel files.
ƒ Identify pin of IC failure
ƒ Retrieve yield, data retention, and lot history information.
14

2.4 Project Deliverables

Table 2.1: The list of deliverables

No Deliverables Recipient Attachment


1 Gantt Chart Academic Mentor A
2 SRS i. Academic Mentor Separate Document
ii. Industrial Mentor
3 SDD i. Academic Mentor Separate Document
ii. Industrial Mentor
4 STD i. Academic Mentor Separate Document
ii. Industrial Mentor
5 STR i. Academic Mentor Separate Document
ii. Industrial Mentor
6 Prototype i. Academic Mentor Demonstration
ii. Industrial Mentor Prototype
7 Final Report Academic Mentor -
CHAPTER 3

LITERATURE STUDY

3.1 Data Analysis

3.1.1 Lot

It is a batch of units with specified number of quantity (e.g. 10000 pieces)


and with unique identifier (e.g. VM819103M04).
16

3.1.2 Generic Yield Calculation

Yield means percentage.

i) Single Processes for Single and Multiple Lot

Yield=Quantity Out/Quantity In* 100 %

Quantity Out = Good unit produced.


Quantity In = Total units produced.

ii) Multiple Processes for Single and Multiple 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 %

P_1st = First process


P2 = Second process
P_LAST = Last process

3.1.3 Data Retention

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.4 Emergency Response Template

Engineer need to get the lot information to complete the Emergency


Response Template (ERT) which summarizes information required for further
investigation if the lot has any problems caused during the process.

3.1.5 IC Pin Detection

It is part of functionality in the Production Information Tracking System. By


convert the tester result from round value to binary value and provide a visual
graphical interface for the unit (Refer to figure 5.5).

3.1.6 Chip ID

It is product’s unit identification. Normally it is marked on the IC.


18

3.1.7 Lot Protocol

A file contains lot information with test measurement result.

3.1.8 Facility Flow

LGEH

PAEH

AEHMS

TEHMS

WAVEMS

VKLMS

Figure 3.1: Facility Flow


19

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:

Table 3.1: The list of facility

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

3.1.9 Assembly Process Flow

ISSU/SPLIT

DIE BOND

WIRE BOND

GLOPTOP

VISION INPECTION

100% INSPECTION

MOULDING

PMC

DESTRESS

D&P(GA)
21

100% INSPECTION

LM& TF

Figure 3.2: Assembly Flow

These processes are in the AEHMS facility. It is also known as assembly


facility. Rejected lot from one process will not be processed on the next process. The
lot must flow in sequence.

3.1.10 Data Relationship

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

Figure 3.3: Data Relationship


1...* 1…1 1…* 1…*
PACKAGE BAU DEVICE LOT PROCESS
NUMBER NUMBER FLOW
23

3.1.11 Generated Lot Protocol

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.

Generate lot protocol

File Server

Slave Database Server


Replica database

Master Database Server

Figure 3.4: Generated Lot Protocol


24

3.2 Technology

3.2.1 Visual Basic .NET

Visual Basic.NET is the latest version of Visual Basic [14]. Feature as below:

i) It is also compliant with the common language specification. .NET


support old style Visual Basic 6.0.
ii) It is modeled on the .NET framework. Communication from different
languages is possible as long as the languages understand the .NET
framework.
iii) It is an object-oriented language (abstraction, encapsulation, inheritance,
and polymorphism features).
iv) It supports easy multithreading programming because it just needs a few
line of statement.
v) Automatically release unused object by garbage collector this will
reduce leak memory management.
vi) It supports better exception handling compare to Visual Basic 6.0.
vii) Build Robust Windows-based Applications [11] due to the drag-and-
drop design and code behind forms.
viii) Build application with various types of languages with zero learning
curve as long as the languages are supported by .NET. Example learning
VB.NET can also be applied to ASP.NET because the syntax is same.
ix) Many components have been developed in .NET such as web service.
25

3.2.2 C Programming

C programming is a traditional programming. Feature as below [13]:

i) It provides fast program execution because it provides pointer


manipulation capabilities.
ii) It imposes few constraints on the programmer.
iii) It allows low level access to information and commands such as driver
development.
iv) It is a high level language.
v) It is a useful language for both systems programming and general
purpose programs.
vi) It is lack of type lacking.
vii) It use of modularity.
viii) Sections of code can be stored in libraries for re-use in future programs.
ix) There are many features in the C language not in other languages such
as pointer.
x) C is lack of built in I/O capabilities because this will slow down
program execution.
26

3.2.3 C++ Programming

C++ is a set of C programming. Feature as below:

i) It provide better manage complexity [15]. Functions and methods is


group under class type. This will reduce programming statement.
ii) It provides fast program execution because it supports pointer
manipulation capabilities.
iii) It imposes few constraints on the programmer.
iv) It allows low level access to information and commands such as driver
development.
v) It is a useful language for both systems programming and general
purpose programs.
vi) It is lack of type lacking.
vii) There are many features in the C language not in other languages such
as pointer.
viii) C is lack of built in I/O capabilities because this will slow down
program execution.
ix) It is an object oriented programming, this can reduce coding complexity.
27

3.2.4 Java Programming

Java is an open source programming. Feature as below [16]:

i) It provides developer to develop client application, server application,


and java application.
ii) It is compiled in byte codes which can run on the fly.
iii) Java virtual machine can be implemented directly in the hardware such
as driver.
iv) Java platform is the predefined set of Java classes that exist on every
Java installation. The Java platform can be extended with optional
packages (formerly called standard extensions).
v) Sun ships VM implementations for operating system such as Solaris,
Microsoft Windows and Linux platforms.
vi) Other vendor also provides Java interpreters for their platforms.
vii) Java virtual machine also support on Mobile device and PalmOS.
viii) Increase execution speed for code by JIT compilation.
ix) Many packages have been created such as networking, security, and etc.
x) It allows end user to choose any operating system to run Java
application.
xi) It is an object oriented programming, this can reduce complexity.
xii) It provides powerful exception handling.
xiii) It also provide powerful multithreading because just need a few line of
programming statement.
xiv) Automatically execute garbage collector, this can reduce leak memory
management.
xv) Java application no needs to install on operating system because it is
portable.
28

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.

Table 3.2: Summary of criteria Java is chosen

Criteria C C++ VB.NET Java


Object
Oriented × √ √ √
Programming
Automatically
Execute
× × √ √
Garbage
Collector
Platform
Independent × × × √
29

3.3 Software Methodologies

3.3.1 Waterfall Model

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

Figure 3.5: Waterfall methodology flow


30

The phases in Waterfall development model are [2]:

i) Requirement Analysis and Design

Analyst collects and studies the requirement. On this phase, analyst


can change the requirement if incorrect. It is expensive to overcome the phase
if previous phase is incomplete, so it is vital for analyst very care on during
the phase.

ii) Implementation

Transform design to programming during this phase. Programming


that is chosen to do the implementation such as C, C++, Java, and etc.

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

Any unexpected result from user input, change on software operation,


and other system change after delivered to user should be maintain by
developer.

3.3.1.1 Advantage of Waterfall Model [1][3]:

i) It is an enforced disciplined approach. It means each phase must


complete before process next phase.
ii) It is documentation driven, that is, documentation is produced at every
stage.
iii) Model is simple.
iv) It is easy to understand.
v) It is cheaper. This is because the problems detected at the earlier phase
are cheaper rather than next phase.
vi) Good progress tracking due to clear development stages.
vii) Testing is inherent to every phase of the waterfall model.

3.3.1.2 Disadvantage of Waterfall Model [1]:

i) Cost Estimation is difficult when customer’s requirement is unclear.


ii) Need many specialists on each phase due to lack of requirement
management flexibility.
32

iii) Mistake on earlier stage may carry over to the last phase because
feedback from user is based on the end of implementation.

3.3.1.3 Where to Use the Waterfall Model [4]

If the requirement is known very well then this application is suitable to


implement. Besides that, develop a new system based on existing product design
then this is also suitable to implement.

3.3.2 Spiral model

The spiral development model is a risk-driven process model generator [7].


The approach is to decrease risk and increase system definition ensuring stakeholder
commitment to feasible and come up with a system solution.

The highlighted terms justify further explanation:

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

Figure 3.6: Spiral model

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

Table 3.3: Spiral model template

Template Explaination Example Phase


The goals of the
Objectives Significantly improve software quality
software project
34

Within three years


Limitations which
Without large-scale capital investment
Constraints the project must
Without radical change to company
meet
standards
Reuse existing certified software
Possible ways to
Introduce formal specification and
Alternatives achieve the
verification
objectives
Invest in testing and validation tools
No cost effective quality improvement
possible
Potential risks for Quality improvements may increase costs
Risks
this phase excessively
New methods might cause existing staff to
leave
Literature survey, Pilot project, Survey of
Risk Strategies for potential reusable components,
Resolution reducing the risks Assessment of available tool support, Staff
training and motivation seminars
Experience of formal methods is limited -
very hard to quantify improvements
Results of applying
Limited tool support available for
Results risk resolution
company standard development system
strategies
Reusable components available but little
reuse tool support
Explore reuse option in more detail
Development plans
Plans Develop prototype reuse support tools
for the next phase
Explore component certification scheme
Resources needed
Commitment Fund further 18-month study phase
to achieve the plans
35

3.3.2.1 Spiral model may apply where:

It is suitable for not very complicated decision making and unstable system.
The project is large then it is also suitable to implement it.

3.3.2.2 Advantage of Spiral Model [5]

i) Focuses on risk in early development so that problems can be solved as


soon as possible.
ii) Supports the reuse of existing solutions.
iii) Repeating same activities in order to address the problems.
iv) It is more able to solve the predicted changes that software development
generally entails.
v) For those delay on design process can use this model earlier because the
requirement can be redefined again on next cycle.
vi) Focuses on quality assurance in early development.

3.3.2.3 Disadvantage of Spiral Model [5]

i) Risk is assessed as the project is developed. Not very suitable for


contractual software development.
ii) It needs knowledgeable staff because it is risk driven.
iii) Project success is highly dependent on the risk analysis phase.
iv) It is costly.
36

v) User may feel insecure.

3.3.3 Incremental Model

Incremental model is one of the processes to decompose project become


smaller. This could reduce the risk of developing the incorrect requirement.
Architecture is decomposed to small chunk of work is one of the scope in Increment
model.

Complete on each iteration of system will process on next iteration of system.


Each iteration works like Waterfall model. Entire requirement is satisfied after entire
iteration is completed.

Incorrect requirement can be corrected in time. The risk is customer may


dissatisfy with the small set of completed requirements.
37

Figure 3.7: Incremental Model

3.3.3.1 Incremental software development model may be applicable to projects


where [9]:

i) User need to see the system progress rather than documentation.


ii) Project deadline is hard to be determined then it is suitable to use this
model, at least user able to use it first and incremental later.
iii) Project that impossible to meet the dateline then this is also suitable to
use because one or more incremental for that date and later for others
incremental.
38

3.3.3.2 Advantage of Incremental Model [8]

i) Progress of software development is visible to user rather than buried in


documents.
ii) User can see the system and provide the feedback.
iii) User can use early release to gain experience.
iv) Reduce complexity by decompose big project to small project.
v) No need many developers to build the system.
vi) There is a working system at all times.
vii) It solves the problem by break down into sub-problems.
viii) More stable artifacts due to the feedback from users throughout the
development.

3.3.3.3 Disadvantage of Incremental Model [8]

i) Each additional build has somehow to be incorporated into the existing


structure without degrading the quality of what has been build to date.
ii) User may simply change requirement.
iii) System design is difficult when number degree of part of the system is
increase.
iv) Duplicate on coding may exist.
v) Whole software development may need to restructure when integrate all
the part.
vi) The incremental models can easily degenerate into the build and fix
approach.
39

3.3.4 Reason Waterfall model is chosen because:

i) It is just a small program. The requirement is very well understood.


ii) The model is suitable for this short time industrial training.
iii) User needs an instant output from system development.
CHAPTER 4

SYSTEM DEVELOPMENT METHODOLOGY

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.

For interview activities, the stakeholder identified were manager, senior


engineer, technician, and operator. Refer to Appendix B for example of the interview
question.

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.

As for this project, the previous mentioned methods are sufficient in


conducting the requirement gathering and analysis. The outcome of this phase was
then documented in the software requirement specification (SRS) based on IEEE-
830-1998 document standard. This document will become the input for the next
phase; design phase. Figure 4.0 shows the use case diagram built based on the
requirement gathered.

4.2 Design

During this phase, analyzed requirements are transformed into design.


Activities that were carried out during this phase are to develop system architecture,
user interface, UML diagram and other design that defined in SDD. There were
twenty six classes being implemented for this project and documented in SDD. From
the architecture, there is one configuration file and a jar executable. The jar
executable will be updated once there is a latest jar executable in server site.
42

<<extend>>

Generate Yield Reject Manage Data Retention Generate Data Retention Report
Graph

Search Frequency Error

<<extend>>
Calculate Pin of IC

User Search Emergency Response Generate Emergency Response


Template

Select Menu
Generate Yield Report

Figure 4.1: Use case diagram

appConfig.ini

MainMenu.jar

Figure 4.2: Dynamic organization design


: 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)

Figure 4.3: Sequence Diagram


43
44

Figure 4.4: User interface design


45

<<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()

Figure 4.5: Class diagram


46

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.

The IDE used to develop the system is Eclipse. It is an open source


application that support Java based software development. Eclipse also provides
capability to debug system error.

4.4 Testing

In this phase, each module is tested to ensure that the identified


functionalities are fulfilled. The test procedures and test cases are documented in the
software test description (STD) based on IEEE-829-1998. The result of this phase is
documented in STR.
47

4.5 Maintenance

This system will be regularly maintained in order to solve any unexpected


bug and to cater for new requirements.

4.6 Tools

The three main tools used in developing the system are as follows:

i) Eclipse is the tool used to implement the project.


ii) Rational Rose is to generate the UML diagram.
iii) MySQL Query Browser and Oracle SQL Developer are used to browse
databases.

4.6.1 Oracle SQL Developer

Oracle SQL Developer is a graphical tool for database development [20].

i) This tool provides edit and executes SQL or PL/SQL statement.


ii) It can save to various format of file.
iii) It can runs on various operating system such as Linux, Windows, and
etc.
48

iv) It was developed in Java leveraging the Oracle JDeveloper IDE


framework.
v) Support two types JDBC, which are JDBC Thin driver and JDBC Type
2 driver.
vi) It can create report.
vii) It provide user with ability to migrate the database object.

Figure 4.6: Oracle SQL Developer


49

4.6.2 MySQL Query Browser

It is a graphical tool for manipulate MySQL Database Server. Below is the


feature [18]:

i) It support drag-and-drop manage queries.


ii) The integrated environment provides Query Toolbar, Script Editor,
Result Window to compare multiple queries, Object Browser to manage
database, Database Explorer to select table, Table Editor to manipulate
tables, and Inline Help to instant help access to selected object.
iii) It provides customizable view.
iv) It allows browsing query history to re-execute previous query.
v) It makes visual tools to quickly build queries.
vi) Manage multiple queries easily.
vii) Easily debug stored procedure.

4.6.3 Macro

i) Macro is a software development tool.


ii) Macro use Visual Basic syntax to build the system.
iii) It is useful for Visual Basic developer.
iv) Provide easily debug software.
50

Figure 4.7: MySQL Query Browser

Figure 4.8: Macro


51

4.6.4 Eclipse

Eclipse is a graphical tool for application development. Feature as below


[19]:

i) Eclipse is built by Java Programming.


ii) It is open source.
iii) It provides plug-ins, and come with standard set of plug-ins.
iv) It supports other languages.
v) The tools support for JSP, Servlets, XML, and others.
vi) More developer will use it and create a community around it.

Figure 4.9: Eclipse


CHAPTER 5

PROJECT DISCUSSION

5.1 Overall Production Information Tracking System Architecture

MySQL Oracle Server


Database Database

Intranet

Figure 5.1: Production Information Tracking System architecture


53

5.2 User Interface Development

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.

5.2.1 Identifying Data Retention

Chip Id and EEPROM information are extracted from MYSQL database by


the Production Information Tracking System. All the information can be exported
into excel file. Lot Protocol file can be easily called to display the file. Data are
extracted from multiple tables in the database.

Figure 5.2: Data retention information output


54

5.2.2 Retrieve Tester Frequency Error

Frequencies of tester errors are extracted from MYSQL database by pressing


the Search button and by choosing the appropriate dates. Simple SQL command is
used to implement the searching process.

Figure 5.3: Frequency tester error output


55

5.2.3 Retrieve Emergency Response information

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.

Figure 5.4: Emergency Response information


56

5.2.4 Identifying IC’s pin failure

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:

Table 5.1: Round number to binary number

Round Binary
3 11
300 111100
3000 101110111000
57

Figure 5.5: IC’s pin failure output

5.3 Coding Implementation

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.6: Snapshot of Java connect to database connection coding

Figure 5.7 is an example of syntax built to write the information into an excel
file.

Figure 5.7: Snapshot of Java save information to excel file


59

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.

Figure 5.8: Snapshot of Java save extract data from database


CHAPTER 6

CONCLUSION

6.1 Project Outcome

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:

i) Engineer is able to retrieve and identify information easily.


ii) Operator can use the system to produce an accuracy result.

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:

i) The system needs Microsoft Excel or Open Office to be installed in


order to view the report.
ii) Macro is needed to generate graph on excel due to Java limitation.
iii) Security access not implemented.

Despite some limitations of the project, the project outcome still achieved its
goals and meets the customer’s requirements.

6.1 Future Work

The following are suggestions that can be implemented for the future in order
to enhance the system:

i) To have more Java component and advance technologies especially


on various existing commercial product such as access VBA.
ii) Security access for certain people only such as login.
62

For the purpose of the software maintenance and upgrading, 3 event log
management files are proposed:

i) System error log (e.g. unable to open file)


ii) Requirement error log (e.g. operator scan wrong lot number)
iii) Transaction log (e.g. successful and failure transaction)

6.2 Conclusion

Production Information Tracking System was developed as a tool to retrieve,


identify, calculate, and generate report on specific requirement to meet the
customer’s requirements. Manual recording and calculation by human can cause a lot
of problems.

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.

The system was developed based on MVC framework. Java is an object


oriented languages; it can create a platform independent application. The system is
now can be run on any platform as long as Java virtual machine is installed.
63

REFERENCES

1. Paquest. Waterfall Model - Paquet


http://newton.cs.concordia.ca/~paquet/wiki/index.php/Waterfall_Model

2. System Development Life Cycle


www.startvbdotnet.com/sdlc/sdlc.aspx

3. Adrian Als & Charles Greenidge. Waterfall Model


http:// scitec.uwichill.edu.bb/cmp/online/cs22l/waterfall_model.htm

4. Reed Sorensen. Comparison of Software Development Methodologies -


January 1995
http://www.stsc.hill.af.mil/crosstalk/1995/01/Comparis.asp

5. Paquet. Spiral model - Paquet


http://newton.cs.concordia.ca/~paquet/wiki/index.php/Spiral_model

6. Onine CS Modules: The Spiral Model


http://courses.cs.vt.edu/~csonline/SE/Lessons/Spiral/index.html

7. STSC CrossTalk - The Spiral Model as a Tool for Evolutionary ...


http://www.stsc.hill.af.mil/crosstalk/2001/05/boehm.html
64

8. Paquet. Incremental models - Paquet


http://newton.cs.concordia.ca/~paquet/wiki/index.php/Incremental_models

9. Incremental lifecycle model


http://www.softdevteam.com/Incremental-lifecycle.asp

10. Software Development Lifecycle Models The Basic Types


http://www.idt.mdh.se/~rld/doc/Software%20Development%20Lifecycle%20
Models%20The%20Basic%20Types.pdf

11. vb.net advantage


http://www.kudos-india.com/technology/vb_dot_net1.htm

12 vb.net advantage
http://www.kudos-india.com/technology/vb_dot_net2.htm

13. The C Programming Language


http://www.engin.umd.umich.edu/CIS/course.des/cis400/c/c.html

14. Pooja Bembey, Kuljit Kaur. Microsoft Visual Basic .NET Professional
Projects. Premier Press. 2002

15. Herbert Schildt, The CompleteReference, Java 2. McGraw-HIll Companies,


Inc. 2002

16. David Flanagan, Java in a Nutshell, 5th Edition. O'Reilly. 2002

17. Jonathan Knudsen, Patrick Niemeyer. Learning Java, 3rd Edition. O'Reilly.
2005

18. MySQL :: MySQL Query Browser


http://www.mysql.com/products/tools/query-browser/
65

19. David Gallardo. Getting started with the Eclipse Platform


http://www-128.ibm.com/developerworks/opensource/library/os-
ecov/?Open&ca=daw-ec-dr

20. Oracle SQL Developer Tutorial


http://st-curriculum.oracle.com/tutorial/SQLDeveloper/index.htm
APPENDIX A

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:

1. What is data retention?


2. When emergency response template is needed?
3. What is yield?
4. How machine detect rejected IC?
5. What is the purpose to calculate yield?
6. Where the database located?
APPENDIX C

Software Requirement Specification

(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.3 Definitions, acronyms, and abbreviations


ƒ Data Retention - By right system written to IC should CDE12345678 but
the data flip to FFFFFFFFFFF. This can be detected by comparison
written and reading back.
ƒ Emergency Response Template - It is a template consists of various
information related to the lot which is hold for engineer to release the lot.
ƒ IC Pin Detection - It is a calculator system for converting decimal value
to binary value and gives a graphical interface to which pins are failure.
ƒ Chip ID - It is IC identification.
ƒ Yield – Percentage
ƒ TCP/IP – Transmission Control Protocol / Internet Protocol
ƒ PC – Personal Computer
ƒ JRE – Java Runtime Environment

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.

2.1 Product perspective

2.1.1 User Interface


a) Engineer uses it to identify chip’s information.

Figure 2.0: Data retention interface

3
b) Engineer uses it to retrieve the tester frequency error.

Figure 2.1: Frequency of tester error interface

c) Engineer uses it to retrieve the emergency response information.

Figure 2.2: Emergency response interface

4
d) Operator uses it to calculate the tester number.

Figure 2.3: IC pin detection interface

e) Engineer uses it to trace and calculate the yield.

Figure 2.4: Yield interface

5
f) Engineer or operator can choose the relevant menu item.

Figure 2.5: Main page (menu selection) interface

g) Engineer can view the yield report

Figure 2.6: Yield report

6
2.1.2 Software interface
ƒ JRE version 1.5
ƒ Macro Excel
ƒ Excel file

2.1.3 Communication interface


TCP/IP is used to communicate between Production Information
Tracking System with database.

2.2 Product functions


The functionality and feature as follow:
ƒ Calculate reject unit percentage.
ƒ Display reject unit in graph with display various information.
ƒ Link to external files. E.g. Lot Protocol.
ƒ Generate information to excel files.
ƒ Identify pin of IC failure
ƒ Retrieve yield, data retention, and lot history information.

2.3 User characteristics


Users who want to develop this system must have knowledge of Java
programming, database management, mathematic and basic data
communication.

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.

2.5 Assumptions and dependencies


ƒ Assume user has knowledge of data retention, Microsoft Excel,
emergency response template, and tester error.

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.

2.6 Apportioning of requirements


Log file and security feature will be delay until next future version of the
system.

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

Manage Data Retention Generate Data Retention Report

Search Frequency Error

<<extend>>

Search Emergency Response Generate Emergency Response


Template

User Generate Yield Report

Generate Yield Reject


Graph

Calculate Pin of IC

Select Menu

Figure 3.0: Use case diagram

9
3.2 Functions
3.2.1 Use Case Manage Data Retention (SRS-REQ-001)

Manage Data Retention


User

Figure 3.1: Use Case Diagram of Manage Data Retention.

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

Manage Data Retention Generate Data Retention Report

Figure 3.2: Use Case Diagram of Generate Data Retention Report.


.
Brief Description
This use case is initiated by the user. It provides the capabilities for
the Production Information Tracking System to generate data
retention report.
Pre-Condition(s)
1. Data Retention user interface is initiated.
2. User search data retention record. (SRS-REQ-001)
Flow of Event(s)
Basic Flow(s)
1. User press Generate button.
2. System get file name from configuration file.
3. System display dialog for save the file.
4. System gets the location of the file from user key in.
5. User specifies the file name and press OK button.
6. System connects to the database.
7. System gets data from database.
8. System generate file in excel format.
9. Use case end.
Alternative Flow(s)
Not Applicable.
Exception Flow(s)
[E1: File Created Error]
Error message shall be shown on the User Interface.

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)

Generate Yield Reject Report


User

Figure 3.3 Use Case Diagram of Generate Yield Reject Report.


.
Brief Description
This use case is initiated by the user. It provides the capabilities for
the Production Information Tracking System to generate yield
reject report.
Pre-Condition(s)
1. Yield user interface is initiated.
Flow of Event(s)
Basic Flow(s)
1. User press Generate button.
2. System get file name from configuration file.
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.
6. System connects to the database.
7. System gets data from database.
8. System generate file in excel format.
9. System saves the file.
10. Use case end.
Alternative Flow(s)
Not Applicable.

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)

Search Frequency Error


User

Figure 3.4 Use Case Diagram of Search Frequency of Error.


.
Brief Description
This use case is initiated by the user. It provides the capabilities for
the Production Information Tracking System to search Frequency
of Error.
Pre-Condition(s)
Frequency of Error User Interface is initiated.
Flow of Event(s)
Basic Flow(s)
1. User key in event data, machine name, date from and
date to.
2. User press Search button.
3. System clear grid.
4. System read database configuration from configuration
file.
5. System connects to the database.
7. System get event data, machine name, date from and
date to from user interface.
8. System populates data from database.
9. If data found the system display info.
10. System closes database connection.
11. Use case end.

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)

Search Emergency Response


User

Figure 3.5: Use Case Diagram of Emergency Response Record.


.
Brief Description
This use case is initiated by the user. It provides the capabilities for
the Production Information Tracking System to search Emergency
Response Record.
Pre-Condition(s)
Emergency Response User Interface is initiated.
Flow of Event(s)
Basic Flow(s)
1. User key in lot number.
2. User press Search button.
3. System clear grid.
4. System read database configuration from configuration
file.
5. System connects to the database.
7. System gets lot number from user interface.
8. System populate data from database
9. If data found the system display info.
10. System closes database connection.
11. Use case end.
Alternative Flow(s)
Not Applicable

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

Search Emergency Response Generate Emergency Response


Template

Figure 3.6: Use Case Diagram of Generate Emergency Response


Template.
.
Brief Description
This use case is initiated by the user. It provides the capabilities for
the Production Information Tracking System to generate
Emergency Response Template.
Pre-Condition(s)
1. Emergency Response User Interface is initiated.
2. User search Emergency Response Record. (SRS-REQ-005)
Flow of Event(s)
Basic Flow(s)
1. User press Generate button.
2. System get file name from configuration file.
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.
6. System connects to the database.
7. System gets data from database.
8. System generate file in excel format.
9. Use case end.
Alternative Flow(s)
Not Applicable.

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)

Generate Yield Reject


User
Graph

Figure 3.7: Use Case Diagram of Generate Emergency Response


Graph.
.
Brief Description
This use case is initiated by the user. It provides the capabilities for
the Production Information Tracking System to generate
Emergency Response Template.
Pre-Condition(s)
1. Yield Reject Report is initiated.
2. Yield Reject Template is generated. (SRS-REQ-006)
Flow of Event(s)
Basic Flow(s)
1. User opens Yield Reject Report.
2. System generates bar graph.
3. Use case end.
Alternative Flow(s)
Not Applicable
Exception Flow(s)
Not Applicable
Post-Condition(s)
Graph is generated in yield reject report.
Rule(s)
Not Applicable

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

Figure 3.8 Use Case Diagram of Calculate Pin of IC.


.
Brief Description
This use case is initiated by the user. It provides the capabilities for
the Production Information Tracking System to calculate pin of IC.
Pre-Condition(s)
1. Calculate Pin of IC user interface is initiated.
Flow of Event(s)
Basic Flow(s)
1. User key in values.
2. User press Calculate button.
3. For each value user key in the system calculate the
values and display good or failure pin.
4. Use case end.
Alternative Flow(s)
1. User press Reset button.
2. System reset failure pin.
3. Use case end.
Exception Flow(s)
Not Applicable.
Post-Condition(s)
Failure pin will turn from grey color into red color.

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

Figure 3.9: Use Case Diagram of Select Menu


.
Brief Description
This use case is initiated by the user. It provides the capabilities for
select the Production Information Tracking System’s menu.
Pre-Condition(s)
1. User activates the system.
Flow of Event(s)
Basic Flow(s)
1. User activates the system.
2. System look up for configuration file.
3. System updates latest application.
4. System checks application filename.
5. System display Menu.
6. User press About menu item.
6. System display About user interface.
7. Use case end.
Alternative Flow(s)
[DataRetention Interface]
1. Repeat Basic Flow 1 to 5.
2. User press DataRetention menu item.
3. System display DataRetention user interface.
4. Use case end.

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


User should get the feedback from database less than 5 seconds except
network bottleneck.

3.4 Logical database requirements


Number of concurrent users should be available. Information from
database such as lot information should be retrieved.

3.5 Design constraints

3.5.1 Standards compliance


ƒ Design diagram should use UML.
ƒ Software should be implemented using MVC framework and
object oriented style.
ƒ Connection to database should use portability connector.
ƒ Output report must use Microsoft Excel file.

3.6 Software system attributes


ƒ MySQL database
ƒ Oracle database
ƒ Production Information Tracking System

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.

Reference Requirement Description


Manage Data SRS-REQ-001 1. Search Data Retention record.
Retention 2. Link lot protocol.
Generate Data SRS-REQ-002 1.Generate report
Retention
Report
Generate Yield SRS-REQ-003 1. Generate report.
Reject Report
Search SRS-REQ-004 1. Search Frequency Error record.
Frequency of
Error
Search SRS-REQ-005 1. Search Emergency Response
Emergency record
Response
Record

Generate SRS-REQ-006 1. Generate Emergency Response


Emergency template.
Response
Template
Generate Yield SRS-REQ-007 1. Generate yield reject graph.
Reject Graph
Calculate Pin SRS-REQ-008 1. Calculate pin of IC.
of IC

29
Select Menu SRS-REQ-009 1. Menu selection.

3.6.5 Portability
Java is platform independence so it can run on any platform.

3.7 Organizing the specific requirements


3.7.1 Objects

DatabaseConnection
conn : Connection
DatabaseTy pe {Oracle,My sql} : enum

DatabaseConnection()
getConnection()
closeConnection()

Conf iguration LotProtocolStorage


DataRetentionModel
Emergency Model props : Properties total : int = 0
Y ieldModel ErrorFrequency Model data2 : Vector<String>
st : Statement path : String
rs : ResultSet data : Vector<Vector> = new Vector<Vector>()
rs : ResultSet rs : ResultSet serv erConf igurationPathFile : String link()
st : Statement rs2; : ResultSet
st : Statement localConf igurationPathFile : String LotProtocolStorage()
st : Statement
Emergency Model() y ield : String = "Y ield.xls"
ErrorFrequency Model() rs : ResultSet
populateData() Y ieldModel() dataRetention : String = "DataRetention.xls"
populateData() populateData()
close() emergency : String = "Emergency .xls"
close() DataRetentionModel()
close() oracleUserName : String populateData()
oraclePassword : String close()
my sqlUserName : String
my sqlPassword : String

Emergency Controller Y ieldController getConstValue() ErrorFrequecy Controller DataRetentionController ICPinController


v Emergency : Emergency View v Y ield : Y ield startUpConf iguration() v ErrorFrequency : ErrorFrequency v ICPin : ICPin
v DataRetention : DataRetention
getKey Value()
Emergency Controller() Y ieldController() Conf iguration() ErrorFrequecy Controller() ICPinController()
DataRetentionController()
actionPerf ormed() actionPerf ormed() actionPerf ormed() actionPerf ormed() actionPerf ormed()
AboutController
calculate()
v About : About

AboutController()
actionPerf ormed()

Emergency View ErrorFrequency


Y ield About DataRetention ICPin
lstBatch : JList txtDateFrom : JFormattedTextField
cY ield : Y ieldController cAbout : AboutController txtLot : JTextField grp : JPanel
lstASIC : JList txtDateTo : JFormattedTextField
chooser : JFileChooser txtSof tBin : JFormattedTextField grpT : JPanel
txtLotNumber : JTextField data2 : Vector<String>
txtDateFrom : JFormattedTextField About() data : Vector<Vector> = new Vector<Vector>() pin : Vector<JLabel>
txtProduct : JTextField data : Vector<Vector> = new Vector<Vector>()
txtDateTo : JFormattedField head : Vector<String> grpPin : Vector = new Vector()
txtDev iceId : JTextField txtEv entData : JTextField
cLotProtocol : DataRetentionController row : JLabel
txtPrintedDateCode : JTextField table : JTable
getDateFrom() scrollPane : JScrollPane chooser : JFileChooser
txtPackageTy pe : JTextField getPinVector()
getDateTo() cErrorFrequency : ErrorFrequecy Controller scrollPane : JScrollPane
txtNumberof Part : JTextField ICPin()
getFilePath() cmbMachine : JComboBox table : JTable
txtCustomer : JTextField display FailurePin()
Y ield()
txtIncomingDate : JTextField reset()
display ErrorMessage() getDateFrom() getLotNumber()
txtResponseTime : JTextField display GoodPin()
display Dialog() getDateTo() getSof tBin()
txtCustomerFD : JTextField
getEv entData() getFilePath()
txtShippingDate : JTextField
getMachineName() getVectorData()
txtDispatchNumber : JTextField
ErrorFrequency () DataRetention()
txtLocation : JTextField
display Inf o() display ErrorMessage()
txtQuantity : JTextField
clearGrid() display Dialog()
txtSearch : JTextField
display ErrorMessage() display Inf o()
txtDateA : JTextField
clearGrid()
txtTimeA : JTextField
txtDateT : JTextField MainPageController
txtTimeT : JTextField v MainPage : MainPage
txtDateS : JTextField
txtlTimeS : JTextField MainPageController()
txtDescriptionD : JTextField ExcelWorkBook
actionPerf ormed()
txtDescriptionS : JTextField f ile : File
txtDescriptionSPC : JTextField wb : HSSFWorkbook
txtDescriptionSBA : JTextField
txtPressureOf f set : JTextField getWorkbook()
MainPage
txtStatusWB : JTextField ExcelWorkBook()
cEmergency : Emergency Controller menuBar : JMenuBar sav e()
chooser : JFileChooser menu : JMenu
menuItem : JMenuItem
getSearchLotNumber() cMainPage : MainPageController
getDev iceId()
getPrintedDateCode() MainPage()
Emergency Template DataRetentionReport
getProduct() Y ieldReport
getPackageTy pe() sheet1 : HSSFSheet sheet1 : HSSFSheet
sheet1 : HSSFSheet
getNumberof Part() MainMenu
getCustomer() Emergency Template() DataRetentionReport()
Y ieldReport()
getIncomingDate() main() exportExcel() exportExcel()
exportExcel()
getResponseTime() terminateFileNameIncorrect() sav e() sav e()
sav e()
getCustomerFD() updateApplication()
getShippingDate()
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()

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

Software Design Description

(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.3 Definitions and acronyms


ƒ Data Retention - By right system written to IC should
CDE12345678 but the data flip to FFFFFFFFFFF. This can be
detected by comparison written and reading back.
ƒ Emergency Response Template - It is a template consists of
various information related to the lot which is hold for engineer to
release the lot.
ƒ IC Pin Detection - It is a calculator system for converting decimal
value to binary value and gives a graphical interface to which pins
are failure.
ƒ Chip ID - It is IC identification.
ƒ Yield – Percentage
ƒ TCP/IP – Transmission Control Protocol / Internet Protocol
ƒ PC – Personal Computer
ƒ JRE – Java Runtime Environment

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

3.1.1 Boundary Module


This module provides to user interface.

CSC Boundary
(from Logical View)

<<boundary>> <<boundary>>
About ICPin

<<boundary>> <<boundary>>
DataRetention EmergencyView

<<boundary>> <<boundary>>
ErrorFrequency MainPage

Figure 3.0: Boundary package

3.1.2 Controller Module


This module provides to control business logic.

CSC Controller
(from Logical View)

<<control>> <<control>>
AboutController ErrorFrequecyController

<<control>> <<control>>
DataRetentionController ICPinController

<<control>> <<control>>
EmergencyController MainPageController

<<control>>
YieldController

Figure 3.1: Controller package

3
3.1.3 Module Entity
This module provides to access to database and storage location.

CSC Entity
(from Logical View)

<<entity>> <<entity>> <<entity>>


Configuration DataRetentionReport ErrorFrequencyModel

<<entity>> <<entity>> <<entity>>


DatabaseConnection EmergencyModel ExcelWorkBook

<<entity>> <<entity>> <<entity>>


DataRetentionModel EmergencyTemplate LotProtocolStorage

<<entity>> <<entity>>
YieldModel YieldReport

Figure 3.2: Entity package

3.2 Data decomposition

3.2.1 Product description


Lot - lot number
Soft bin - failure category of unit
Chip id - IC identification
EE Prom – data written on IC
Device id – device unique number
Printed date code – date code
Product – product unique number
Package type - package type
Customer – customer name
Incoming Date – incoming date
Location – production place

4
DDM – to hold problem lot
ASIC Batch – ASIC unique number
Yield – percentage of pass or reject lot
Quantity – shipping quantity

3.2.2 Machine description


Machine name – machine name
Error type – machine down category
Event date – date time of machine down

4. Dependency description
The dependency description specifies the relationships among entities. It
identifies the dependent entities, describes their coupling, and identifies the
required resources.

4.1 Inter module dependencies

4.1.1 Independent Module


Boundary Module
Entity Module

4.1.2 Dependent Module


Controller Module – depend on boundary and entity module.

5
4.2 Inter process dependencies
i) Dynamic organization

appConfig.ini

MainMenu.jar

Figure 3.3: Dynamic organization diagram

ii) Process package dependency

CSC Boundary CSC Controller CSC Entity

Figure 3.4: Process package dependency diagram

ii) Inter process boundary and controller dependency

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)

Figure 3.5: Inter process boundary and controller dependency


diagram

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)

<<entity>> <<entity>> <<entity>>


<<control>> <<control>> DatabaseConnection EmergencyModel ExcelWorkBook
(from CSC Entity) (from CSC Entity) (from CSC Entity)
DataRetentionController ICPinController
(from CSC Controller) (from CSC Controller)

<<entity>> <<entity>> <<entity>>


<<control>> <<control>> DataRetentionModel EmergencyTemplate LotProtocolStorage
EmergencyController MainPageController (from CSC Entity) (from CSC Entity) (from CSC Entity)
(from CSC Controller) (from CSC Controller)

<<control>> <<entity>> <<entity>>


YieldController YieldModel YieldReport
(from CSC Entity) (from CSC Entity)
(from CSC Controller)

Figure 3.6: Inter process controller and entity dependency diagram

4.3 Data dependencies


Initialization boundary, object will pass to controller. Data in boundary
will be updated by controller module. Database object and Microsoft
Excel object are created in controller module. Exception information and
data in entity will pass to controller module then boundary module to
display information.

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.

5.1 Module interface

5.1.1 Boundary module interface


Boundary can be interfaced by controller module only.

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.

5.1.3 Entity module interface


To interface entity module, controller module need to initialized
entity module.

8
5.2

: User : ICPin : ICPinController


Process interface

1. User press Reset button. pressResetButton()


2. System reset failure pin. actionPerformed(err : String)

reset( )

Figure 5.0: IC pin detection (reset)


5.2.1 User press reset on IC pin detection interface

9
: DataRetention : DataRetentionController : Configuration
: User

1. User press Generate button. pressGenerateButton() E3 Unknown Error


2. System get file name from
configuration file.
3. System display dialog for save actionPerformed(ae : ActionEvent)
the file.
4. System gets the location of getKeyValue(keyName : String)
the file from user key in.
5. User press Cancel button.
displayDialog(file : File)

pressCancelButton()
5.2.2 User cancel generate data retention report

Figure 5.1: Generate data retention report (cancel)

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

Figure 5.2: Generate emergency response template (cancel)

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

Figure 5.3: Generate yield reject report (cancel)

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

link(lotNumber : String, operation : String)

Figure 5.4: 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)

Figure 5.5: Launch calculate IC pin detection


5.2.6 User launches system to calculate IC pin detection

14
: DataRetention : DataRetentionController : Configuration : DataRetentionReport : ExcelWorkBook
: User

1. User press Generate button. pressGenerateButton() E3 Unknown Error


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 specifies the file name displayDialog(file : File)
and press OK button. pressOKButton() if file name
6. System connects to the specified
database.
7. System gets data from
database. getFilePath( )
8. System generate file in excel getConstValue(name : String)
format.
9. System save the file.
DataRetentionReport(String fileName : )
getWorkbook( )

getVectorData( )
5.2.7 User generate data retention report

exportExcel(data : Vector<Vector>)
getFilePath( )

save(fileName : String)

Figure 5.6: Generate data retention report

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)

Figure 5.7: Generate emergency response template

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)

populateData(String dateFrom : , String dateTo : )

exportExcel(rs : ResultSet)
getFilePath( )

Figure 5.8: Generate yield reject report


save(fileName : String)

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( )

if data not populateData(lotNumber : String, softBin : int)


null getConnection( )

displayInfo(data : Vector<Vector>)

Figure 5.9: Manage data retention


close( )
closeConnection( )

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( )

Figure 5.10: Search emergency response

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( )

Figure 5.11: Search error frequency


displayInfo(rs : ResultSet)
close( )
closeConnection( )

20
retention
: DataRetention : DataRetentionController
: User
Retention

1. User press Generate pressGenerateButton()


button.
2. If error found display error
message. actionPerformed(ae : ActionEvent)

displayErrorMessage(err : String)

Figure 5.12: Exception manage data retention and generate data


5.2.13 Exception Manage Data Retention and Generate Data

21
: User
: EmergencyView : EmergencyController

emergency response
1. User press Generate pressGenerateButton()
button.
2. If error found display error
Emergency Response

message. actionPerformed(ae : ActionEvent)

displayErrorMessage(err : String)

Figure 5.13: Exception search emergency response and generate

22
5.2.14 Exception Search Emergency Response and Generate
: User : Yield : YieldController

1. User press Generate


button. pressGenerateButton()
2. If error found display error
message. actionPerformed(e : ActionEvent)

displayErrorMessage(err : String)
5.2.15 Exception Generate Yield Report

Figure 5.14: Exception generate yield report

23
: ErrorFrequency : ErrorFrequecyController
: User

1. User press Generate


button. pressGenerateButton()
2. If error found display error
message.
actionPerformed(e : ActionEvent)

displayErrorMessage(err : String)
5.2.16 Exception Search Error Frequency

Figure 5.15: 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()

Figure 5.16: View About interface

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)

Figure 5.17: Select menu


pressAboutButton()
About( )

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)

Figure 5.18: 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)

Figure 5.19: Select menu (yield)

28
: User : MainPage : ErrorFrequency : MainPageController : ErrorFrequecyController

1. User press ErrorFrequency pressDataRetentionMenu()


menu item. actionPerformed(e : ActionEvent)
2. System display
ErrorFrequency user ErrorFrequency( )
interface.

ErrorFrequecyController(vErrorFrequency : ErrorFrequency)
5.2.21 Alternative Select Menu (Error Frequency)

Figure 5.20: 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)

Figure 5.21: Select menu (IC pin)

30
: MainPage : EmergencyView : MainPageController : EmergencyController
: User

1. User press pressDataRetentionMenu()


actionPerformed(e : ActionEvent)
EmergencyView menu
item.
2. System display EmergencyView( )
EmergencyView user
interface.
EmergencyController(vEmergency : EmergencyView)
5.2.23 Alternative Select Menu (Emergency Response)

Figure 5.22: Select menu (emergency response)

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.

6.1 Module detailed design

6.1.1 Boundary module detailed design

6.1.1.1 CSU ICPin (SDD-REQ-001)


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 >>
ICPin
(from CSC Boundary)
grp : JPanel
grpT : JPanel
pin : Vector<JLabel>
grpPin : Vector = new Vector()
row : JLabel

getPinVector()
ICPin()
display FailurePin()
reset()
display GoodPin()

Figure 6.0: ICPin Class

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.

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()

Figure 6.1: DataRetention Class

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.

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()

Figure 6.2: EmergencyView Class

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.

6.1.1.4 CSU ErrorFrequency (SDD-REQ-004)


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 >>
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()

Figure 6.3: ErrorFrequency Class

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.

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()

Figure 6.4: Yield Class

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.

5.1.1.6 CSU MainPage (SDD-REQ-006)


This paragraph describes the CSC Boundary class. All the
attributes and functions are described in detail. The algorithm for
each function is detailed here.

36
<<boundary >>
MainPage
(from CSC Boundary)
menuBar : JMenuBar
menu : JMenu
menuItem : JMenuItem
cMainPage : MainPageController

MainPage()

Figure 5.5: MainPage Class

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.

6.1.2 Controller module detailed design


6.1.2.1 CSU ErrorFrequencyController (SDD-REQ-201)
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>>
ErrorFrequecy Controller
(from CSC Controller)
v ErrorFrequency : ErrorFrequency

ErrorFrequecy Controller()
actionPerf ormed()

Figure 6.6: ErrorFrequencyController Class

Class type : Controller


Responsibility : This CSU is responsible to handle
the controller of CSCI Production
Information Tracking System and

37
activate the appropriate process
when it tests the input.

6.1.2.2 CSU DataRetentionController (SDD-REQ-202)


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>>
DataRetentionController
(from CSC Controller)
v DataRetention : DataRetention

DataRetentionController()
actionPerf ormed()

Figure 6.7: DataRetentionController Class

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.

6.1.2.3 CSU ICPinController (SDD-REQ-203)


This paragraph describes the CSC Controller class. All the
attributes and functions are described in detail. The algorithm for
each function is detailed here.

38
<<control>>
ICPinController
(from CSC Controller)
v ICPin : ICPin

ICPinController()
actionPerf ormed()
calculate()

Figure 6.8: ICPinController Class

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.

6.1.2.4 CSU EmergencyController (SDD-REQ-204)


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>>
Emergency Controller
(from CSC Controller)
v Emergency : Emergency View

Emergency Controller()
actionPerf ormed()

Figure 6.9: EmergencyController Class

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.

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()

Figure 6.10: MainPageController Class

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.

6.1.2.6 CSU YieldController (SDD-REQ-206)


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>>
Y ieldController
(from CSC Controller)
v Y ield : Y ield

Y ieldController()
actionPerf ormed()

Figure 6.11: YieldController Class

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.

6.1.3 Entity module detailed design


6.1.3.1 CSU Configuration (SDD-REQ-301)
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 >>
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()

Figure 6.12: Configuration Class

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.

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()

Figure 6.13: DatabaseConnection Class

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.

6.1.3.3 CSU DataRetentionModel (SDD-REQ-303)


This paragraph describes the CSC Entity class. All the attributes
and functions are described in detail. The algorithm for each
function is detailed here.

42
<<entity >>
DataRetentionModel
(from CSC Entity)
data2 : Vector<String>
data : Vector<Vector> = new Vector<Vector>()
rs2; : ResultSet
st : Statement
rs : ResultSet

DataRetentionModel()
populateData()
close()

Figure 6.14: DataRetentionModel Class

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.

6.1.3.4 CSU YieldModel (SDD-REQ-304)


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 ieldModel
(from CSC Entity)
rs : ResultSet
st : Statement

Y ieldModel()
populateData()
close()

Figure 6.15: YieldModel Class

Class type : Entity


Responsibility : This CSU is responsible to handle the
entity of CSCI Production Information
Tracking System and activate the

43
appropriate process
when it tests the input.

6.1.3.5 CSU DataRetentionReport (SDD-REQ-305)


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 >>
DataRetentionModel
(from CSC Entity)
data2 : Vector<String>
data : Vector<Vector> = new Vector<Vector>()
rs2; : ResultSet
st : Statement
rs : ResultSet

DataRetentionModel()
populateData()
close()

Figure 6.16: DataRetentionReport Class

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.

6.1.3.6 CSU EmergencyModel (SDD-REQ-306)


This paragraph describes the CSC Entity class. All the attributes
and functions are described in detail. The algorithm for each
function is detailed here.

44
<<entity >>
Emergency Model
(from CSC Entity)
st : Statement
rs : ResultSet

Emergency Model()
populateData()
close()

Figure 6.17: EmergencyModel Class

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.

6.1.3.7 CSU EmergencyTemplate (SDD-REQ-307)


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 >>
Emergency Template
(from CSC Entity)
sheet1 : HSSFSheet

Emergency Template()
exportExcel()
sav e()

Figure 6.18: EmergencyTemplate Class

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.

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()

Figure 6.19: YieldReport Class

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.

6.1.3.9 CSU ErrorFrequencyModel (SDD-REQ-309)


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 >>
ErrorFrequency Model
(from CSC Entity)
rs : ResultSet
st : Statement

ErrorFrequency Model()
populateData()
close()

Figure 6.20: ErrorFrequencyModel Class

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.

6.1.3.10 CSU ExcelWorkBook (SDD-REQ-310)


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 >>
ExcelWorkBook
(from CSC Entity)
f ile : File
wb : HSSFWorkbook

getWorkbook()
ExcelWorkBook()
sav e()

Figure 6.21: ExcelWorkBook Class

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.

6.1.3.11 CSU LotProtocolStorage (SDD-REQ-311)


This paragraph describes the CSC Entity class. All the attributes
and functions are described in detail. The algorithm for each
function is detailed here.

47
<<entity >>
LotProtocolStorage
(from CSC Entity)
total : int = 0

link()
LotProtocolStorage()

Figure 6.22: LotProtocolStorage Class

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.

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

Software Test Description

(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:

A.1.2 Naming Conventions


The naming conventions that follow are used throughout the Production Information
Tracking System.

STWW-YY-ZZ
ST represents Production Information Tracking System.

WW represents item type:


01 Software Requirement Specification identifier
02 Software Design Description identifier
03 Software Testing Description identifier

XX represents sub item type:


01 sub item identifier

YY represents sub item type:


01 within sub item identifier

ZZ represents version number:


01 version number 1
02 version number 2

The following is Software Test Description’s naming convention:


ST03-01-YY-01 Test Plan identifier
ST03-02-YY-01 Test Design Specification identifier
ST03-03-YY-01 Test Case Specification identifier
ST03-04-YY-01 Test Procedure Specification identifier
ST03-05-YY-01 Test Item Transmittal Report identifier
ST03-06-YY-01 Test Log identifier
ST03-07-YY-01 Test Incident Report identifier
ST03-08-YY-01 Test Summary identifier

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:

Test design specification number Description


ST03-02-01-01 Manage Data Retention

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

5. Features not to be tested


User press cancel on appeared dialog box because no output to be displayed. Unknown
error exception also not to be tested due to this error is caught under unknown situation.

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.

7. Item pass/fail criteria


Each feature must pass all of its test procedure, test design, and test case in order to pass
this test.

8. Suspension criteria and resumption requirements


N/A

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

10. Testing tasks


N/A

11. Environmental needs

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.

13. Staffing and training needs


One of the staff will be selected to test the system. Training will be provided.

14. Schedule
N/A

15. Risks and contingencies


During the testing:
If system failure, developer will do the debug.
If hardware failure, developer will use another PC to test the system.

4
A.2 System test procedure specification

A.2.1.1 Test procedure specification identifier


ST03-04-01-01 Manage Data Retention

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. Procedure steps


A.2.1.3.1 Setup
1. Data Retention user interface is initiated.

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

A.2.1.3.5 Wrap up.


Clear the text box data.

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. Procedure steps


A.2.2.3.1 Setup
1. Data Retention user interface is initiated.

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.

A.2.2.3.5 Wrap up.


Clear the text box data.

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. Procedure steps


A.2.3.3.1 Setup
1. Yield user interface is initiated.

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

A.2.3.3.5 Wrap up.


Clear the text box data.

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. Procedure steps


A.2.4.3.1 Setup
Frequency of Error User Interface is initiated

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

A.2.4.3.5 Wrap up.


Clear the text box data.

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. Procedure steps


A.2.5.3.1 Setup
1. Emergency Response User Interface is initiated

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

A.2.5.3.5 Wrap up.


Clear the text box data.

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. Procedure steps


A.2.6.3.1 Setup
1. Emergency Response User Interface is initiated.
2. User search Emergency Response Record

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

A.2.6.3.5 Wrap up.


Clear the text box data.

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. Procedure steps


A.2.7.3.1 Setup
1. Yield Reject Report is initiated

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

A.2.7.3.5 Wrap up.


Clear the text box data.

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. Procedure steps


A.2.8.3.1 Setup
1. Calculate Pin of IC user interface is initiated

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.

A.2.8.3.5 Wrap up.


Clear the text box data.

12
A.3 System test design specification

A.3.1.1. Test design specification identifier


ST03-02-01-01

A.3.1.2. Features to be tested


ƒ Data type Expression
ƒ Network Connection
ƒ File Does Not Exist

A.3.1.3. Approach refinements


Before testing begins, all input is keyed in. Feature will be tested valid and invalid
condition.
Below are the conditions to execute the step:
ƒ Soft bin input should numeric number.
ƒ Network is online.
ƒ Lot protocol exists.

A.3.1.4. Test identification


Valid
ƒ Type numeric on soft bin textbox ST03-03-01-01
ƒ Network is online ST03-03-02-01
ƒ Link lot protocol if file exist ST03-03-03-01

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

A.3.1.5. Feature pass/fail criteria


Each feature must pass all of its test cases in order to pass this test.

13
A.3.2.1. Test design specification identifier
ST03-02-02-01

A.3.2.2. Features to be tested


ƒ Data Type Expression
ƒ Date Evaluation

A.3.2.3. Approach refinements


Before testing begins, all input is keyed in. Feature will be tested valid and invalid
condition.
Below are the conditions to execute the step:
ƒ Date from and date to input should be date format.
ƒ Date from is less than Date to

A.3.2.4. Test identification


Valid
ƒ Type date on date from and date to textbox. ST03-03-07-01
ƒ Date from is less than or equal to Date to. ST03-03-08-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

A.3.2.5. Feature pass/fail criteria


Each feature must pass all of its test cases in order to pass this test.

14
A.3.3.1. Test design specification identifier
ST03-02-03-01

A.3.3.2. Features to be tested


ƒ Data Type Expression

A.3.3.3. Approach refinements


Before testing begins, all input is keyed in. Feature will be tested valid and invalid
condition.
Below are the conditions to execute the step:
ƒ Date from and date to input should be date format.

A.3.3.4. Test identification


Valid
ƒ Type date on date from and date to textbox. ST03-03-11-01

Invalid
ƒ Type alphabet on date from and date to textbox ST03-03-12-01

A.3.3.5. Feature pass/fail criteria


Each feature must pass all of its test cases in order to pass this test.

15
A.3.4.1. Test design specification identifier
ST03-02-04-01

A.3.4.2. Features to be tested


ƒ Network Connection

A.3.4.3. Approach refinements


Before testing begins, all input is keyed in. Feature will be tested valid and invalid
condition.
Below are the conditions to execute the step:
ƒ Network should online

A.3.4.4. Test identification


Valid
ƒ Network is online ST03-03-13-01

Invalid
ƒ Network is offline ST03-03-14-01

A.3.4.5. Feature pass/fail criteria


Each feature must pass all of its test cases in order to pass this test.

16
A.3.5.1. Test design specification identifier
ST03-02-05-01

A.3.5.2. Features to be tested


ƒ Network Connection

A.3.5.3. Approach refinements


Before testing begins, all input is keyed in. Feature will be tested valid and invalid
condition.
Below are the conditions to execute the step:
ƒ Network should online

A.3.5.4. Test identification


Valid
ƒ Network is online ST03-03-15-01

Invalid
ƒ Network is offline ST03-03-16-01

A.3.5.5. Feature pass/fail criteria


Each feature must pass all of its test cases in order to pass this test.

17
A.4 System test case specification

A.4.1.1 Test case specification identifier


ST03-03-02-01
ST03-03-13-01
ST03-03-15-01

A.4.1.2. Test items


Network is online before execute the procedure.

A.4.1.3. Input specifications


Press relevant button to execute the procedure.

A.4.1.4. Output specifications


No error message is displayed. The relevant output is performed that state in the test
procedure specification.

A.4.1.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

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

A.4.2.2. Test items


Disconnect the network before execute the procedure.

A.4.2.3. Input specifications


Press relevant button to execute the procedure.

A.4.2.4. Output specifications


System display “Connection Error!”

A.4.2.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

Hardware:
PC
Network cable

Communication Protocols:
TCP/IP

19
A.4.3.1. Test case specification identifier
ST03-03-01-01

A.4.3.2. Test items


Type in numeric on soft bin textbox and execute the procedure described in test
procedure specification.

A.4.3.3. Input specifications


2 in numeric expression

A.4.3.4. Output specifications


System displayed the relevant information without error message.

A.4.3.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

Hardware:
PC
Network cable

Communication Protocols:
TCP/IP

20
A.4.4.1. Test case specification identifier
ST03-03-04-01

A.4.4.2. Test items


Type in numeric on soft bin textbox and execute the procedure described in test
procedure specification.

A.4.4.3. Input specifications


2 in alphabet expression

A.4.4.4. Output specifications


System displayed the relevant information without error message but the input is changed
automatically to previous correct value.

A.4.4.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

Hardware:
PC
Network cable

Communication Protocols:
TCP/IP

21
A.4.5.1. Test case specification identifier
ST03-03-03-01

A.4.5.2. Test items


Execute the procedure described in test procedure specification. Link lot protocol if file
exist.

A.4.5.3. Input specifications


Press Export button.

A.4.5.4. Output specifications


Relevant lot protocol is displayed.

A.4.5.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

Hardware:
PC
Network cable

Communication Protocols:
TCP/IP

22
A.4.6.1. Test case specification identifier
ST03-03-06-01

A.4.6.2. Test items


Execute the procedure described in test procedure specification. Link lot protocol if file
does not exist.

A.4.6.3. Input specifications


Press Export button.

A.4.6.4. Output specifications


Relevant lot protocol is not displayed.

A.4.6.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

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

A.4.7.2. Test items


Execute the procedure described in test procedure specification. Type date on date from
and date to textbox.

A.4.7.3. Input specifications


Press relevant button.

A.4.7.4. Output specifications


System display information without error message.

A.4.7.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

Hardware:
PC
Network cable

Communication Protocols:
TCP/IP

24
A.4.8.1. Test case specification identifier
ST03-03-10-01

A.4.8.2. Test items


Execute the procedure described in test procedure specification. Type date to is less than
or equal to date from.

A.4.8.3. Input specifications


Press relevant button.

A.4.8.4. Output specifications


System display “Date to must greater or equal to date from!”

A.4.8.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

Hardware:
PC
Network cable

Communication Protocols:
TCP/IP

25
A.4.9.1. Test case specification identifier
ST03-03-08-01

A.4.9.2. Test items


Execute the procedure described in test procedure specification. Type date from is less
than or equal to date to.

A.4.9.3. Input specifications


Press relevant button.

A.4.9.4. Output specifications


System display information without error message.

A.4.9.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

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

A.4.10.2. Test items


Execute the procedure described in test procedure specification. Type alphabet to date
from and date to

A.4.10.3. Input specifications


Press relevant button.

A.4.10.4. Output specifications


System display information without error message but the date from and date to textbox
is changed to previous correct date.

A.4.10.5. Environmental needs


Software:
Production Information Tracking System
Windows 2000
Oracle database and MySQL database are available

Hardware:
PC
Network cable

Communication Protocols:
TCP/IP

27
Table of Contents

A.1 Production Information Tracking System Test Documentation 1


A.1.1 Scope 1
1. Test plan identifier 2
2. Introduction 2
2.1 Objectives 2
2.2 Background 2
2.3 Scope 2
2.4 References 2
3. Test items 2
4. Features to be tested 2-3
5. Features not to be tested 3
6. Approach 3
7. Item pass/fail criteria 3
8. Suspension criteria and resumption requirements 3
9. Test deliverables 3
10. Testing tasks 3
11. Environmental needs 3-4
12. Responsibilities 4
13. Staffing and training needs 4
14. Schedule 4
15. Risks and contingencies 4
A.2 System test procedure specification 5-12
A.3 System test design specification 13-17
A.4 System test case specification 18-27

28
APPENDIX F

Software Test Report

(STR)
Software Testing Report

Manage Data Retention


1. Data Retention user System display info.
interface is initiated.
2. User key in lot number
and soft bin.
3. User press Search button.

1. Data Retention user Lot protocol is generated


interface is initiated.
2. User key in lot number
and soft bin
3. User press Link button.
4. System get lot number
and soft bin from user
key in.

1. Disconnect LAN Connection Error


2. User key in lot number
and soft bin.
3. User press Search button.

1. Delete the lot protocol File Does Not Exist


initiated.
2. User key in lot number
and soft bin
3. User press Link button.

Generate Data Retention Report


1. Data Retention user System generate file in
interface is initiated. excel format.
2. User search data
retention record.
3. User press Generate
button.
4. System display dialog for
save the file.
5. User specifies the file
name and press OK
button.

Generate Yield Reject Report


1. Yield user interface is Report is generated in Excel
initiated. format.
2. User key in date and

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.

1. Yield user interface is Date to is greater or equal


initiated. to date from
2. User key in date from
greater than date to and
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.

Search Frequency of Error


1. Frequency of Error User Result of tester error is
Interface is initiated displayed
2. User key in event data,
machine name, date from
and date to.
3. User press Search button.

Search Emergency Response Record


1. Emergency Response Result of emergency
User Interface is initiated response record is displayed
2. User key in lot number.
3. User press Search button.

1. Disconnect LAN Connection Error


2. Emergency Response
User Interface is initiated
3. User key in lot number.
4. User press Search button.

Generate Emergency Response Template

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.

1. Disconnect LAN Connection Error


2. Emergency Response
User Interface is initiated.
3. User key in lot number
and press search
Emergency Response
Record.
4. User press Generate
button.
5. System display dialog for
save the file.
6. If user specify the file
name and press OK
button.

Generate Yield Reject Graph


1. Yield Reject Report is Graph is generated in yield
initiated. reject report.
2. Yield Reject Template is
generated.
3. User opens Yield Reject
Report.

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.

You might also like