• No results found

INTEGRATED DATA RETRIEVAL SYSTEM

N/A
N/A
Protected

Academic year: 2021

Share "INTEGRATED DATA RETRIEVAL SYSTEM"

Copied!
154
0
0

Loading.... (view fulltext now)

Full text

(1)

SIM UNIVERSITY

SCHOOL OF SCIENCE AND TECHNOLOGY

INTEGRATED DATA RETRIEVAL SYSTEM

STUDENT

: PRAVEEN KURIAN (PI: B0704606)

SUPERVISOR : MR. KUMBAR SHANKARAPPA

PROJECT CODE : JAN2011/ENG/069

A project report submitted to SIM University

in partial fulfilment of the requirements for the degree of

Bachelor of Electronics Engineering

(2)

ABSTRACT

Integrated Data Retrieval System is a mission-critical, user friendly and powerful

software solution built based on an imperative objective of retrieving and analyzing the

test data and histories for the semiconductor company that I am currently working for.

It helps Quality & Reliability Assurance (QRA) team with readily available results and

data for analysis and further follow up for manufacturing improvements in future.

This report consists of 7 chapters. Chapter 1 describes the objectives and approaches of

this project in details. Chapter 2 emphasizes on the Literature Review of IDRS and the

software tools used for developing the system. Chapter 3 explains software

development process with Unified Model Language (UML) diagrams and database

design diagrams.

Chapter 4 shows the system testing and results of the developed IDRS system and also

displays the functions and flows of the system. Chapter 5 discusses on the project

management with a Gantt chart. Chapter 6 is the conclusion and recommendations

which explains the achieved objectives and recommendations for future enhancements.

Lastly, chapter 7 is the critical review and reflection which discusses some of the

problems that were encountered during the project and their solutions. Concurrently, it

also discusses about the learning and reflections from this project.

(3)

ACKNOWLEDGEMENT

I would like to express my deep gratitude to SIM University

for providing an

astounding opportunity and a friendly atmosphere in their organization for the

development of this Integrated Data Retrieval System for my current Semiconductor

Company.

I am especially grateful to my Project Supervisor Mr.Kumbar Shankarappa

for his

invaluable superintendence, sustained and invaluable help and advices to accomplish

the project successfully.

I am thankful to my friends who gave their constant encouragement and support in all

the phases of my project work.

I am highly grateful to my beloved parents and colleagues for their valuable support

throughout the course of the project. Thanks to all whoever supported me by providing

valuable advises and comments.

(4)

TABLE OF CONTENTS

ABSTRACT...i

ACKNOWLEDGEMENT...iii

TABLE OF CONTENTS...iv

LIST OF FIGURES...v

CHAPTER 1: INTRODUCTION ... ....1

1.1 Introduction ... 1

1.2 Objectives ... 1

1.3 Overall Objectives ... 1

1.4 Scope deliverables and boundaries ... 3

1.5 Proposed approach ... 3

1.5.1 Waterfall model...4

1.5.2 Processes List...6

CHAPTER 2: LITERATURE REVIEW ... 7

2.1 Background study ... 7

2.2 Motivation ... 8

2.3 Technology Selection ... 9

2.4 IDRS (Integrated Data Retrieval System) Terminology ... ..10

2.5 Software Tools ... 10

2.5.1 .Net Framework...10

2.5.2 Visual Studio 2010...12

2.5.3 C Sharp...12

2.5.4 ASP .Net...12

2.5.5 Internet Information Services (IIS)...12

2.5.6 MS SQL Server 2008 R2...12

(5)

CHAPTER 3: SOFTWARE DEVELOPMENT ... 14

3.1 IDRS Software Overview ... 14

3.2 IDRS Front-end Flow Layout ... 15

3.3 Client server architecture for IDRS Desktop application ... 17

3.4 Three tier Architecture for web application ... 17

3.5 SMS Gateway Integration ... 17

3.6 Use Cases Diagram ... 18

3.7 Use cases of Integrated Data Retrieval System ... 19

3.8 Class Diagrams of IDRS Desktop application ... 21

3.9 Class Diagram of IDRS Web application ... 22

3.10 Database Design ... 23

3.11 Sequence Diagram for IDRS ... 24

3.11.1 Login Use Case...24

3.11.2 Add new RMA use case...25

3.11.3 Add new SLT use case...25

3.11.4 Add new SMT use case...26

3.11.5 Add new Visual data...27

3.11.6 Search module details...27

3.11.7 Messaging service...28

3.12 Overview of software components developed ... ..28

CHAPTER 4: TESTING AND RESULTS ... 29

4.1 Testing Objectives ... 29

4.2 Software Testing Methods ... 30

4.2.1 White - Box Testing...30

4.2.2 Black - Box Testing...30

4.3 Software Testing Strategy ... 30

4.3.1 Unit Testing...30

4.3.2 Integration Testing...31

4.3.3 Validation Testing...31

4.3.4 System Testing...31

4.4 Test Cases for IDRS Desktop Application ... 31

(6)

4.4.2. Add a new user Test...33

4.4.3. Search module details by lot ID...35

4.4.4. Add RMA data...36

4.4.5. Add SMT details...39

4.4.6 Add SLT details...40

4.4.7 Add visual data...43

4.5 Web application ... 44

4.6 Messaging service ... 46

CHAPTER 5: PROJECT MANAGEMENT ... 54

5.1 Project Planning ... 54

5.2 Project Initiation ... 54

5.3 Design and Development ... 54

5.4 Testing & Troubleshooting ... 55

5.5 Project Completion ... 55

5.6 Effort Calculation ... 55

5.7 Resources Required ... 59

CHAPTER 6: CONCLUSION AND RECOMMENDATIONS ... 60

6.1 Conclusion ... 60

6.2 Recommendations ... 60

6.2.1 Desktop application...60

6.2.2 Web application...60

6.2.3 Message Gateway...61

CHAPTER 7: CRITICAL REVIEW AND REFLECTIONS ... 62

7.1 Problem 1: Inexperience in Project Management. ... 62

7.2 Problem 2: Inexperience in software tools ... 62

7.3 Reflections ... 63

(7)

APPENDICES ... 65

APPENDIX A: IDRS Windows application source code ... 65

APPENDIX B: IDRS Web application source code ... 114

APPENDIX C: Messaging Service source code ... 121

APPENDIX D: Meeting Logs ... 133

(8)

LIST OF FIGURES

1.1 Overview of IDRS system Architecture

2

1.2 Waterfall Model

4

3.1 Overview of IDRS Software Modules

14

3.2 Front-End Flow Layout of IDRS

15

3.3 Client-Server Architecture style

16

3.4 Three-tier Architecture style

17

3.5 Use cases diagram of IDRS

18

3.6 Overall class diagram of IDRS Client application

21

3.7 Overall class diagram of IDRS Web application

22

3.8 IDRS Database design

23

3.9 Login sequence diagram

24

3.10 Add new RMA sequence diagram

25

3.11 Add new SLT sequence diagram

25

3.12 Add new SMT sequence diagram

26

3.13 Add new Visual Data sequence diagram

27

3.14 Search Module Details sequence diagram

27

3.15 Messaging Service sequence diagram

28

4.1 Login Page

32

4.2 Overview Page

33

4.3 Add User

34

4.4 Missing fields

34

4.5 Search module details

35

4.6 New RMA

37

4.7 RMA Error Message 1

37

4.8 RMA Error Message 2

38

4.9 Save RMA

38

4.10 SMT Error

39

4.11 Add SMT

40

4.12 Add SLT

41

4.13 SLT Errors

42

4.14 Visual data

43

(9)

4.15 Save Visual data

43

4.16 Overview page

44

4.17 Search page

45

4.18 Module Details page

46

4.19 SMS Help

47

4.20 SMS Login validation

48

4.21 SMS RMA Details

49

4.22 SMS SMT Result

50

4.23 SMS SLT Result

51

4.24 SMS Visual Test

52

4.25 SMS Comment Function

53

5.1: Gantt chart – Project Initiation & Design and Development Phase

57

(10)

LIST OF TABLES

1.1 Processes List

6

1.2 System Components

7

3.1 Main Software components created for Windows Application

29

3.2 Main Software components created for Web Application

29

3.3 Other software components

29

4.1: Unit and Test Validation for Login

33

4.2: Unit and Test Validation for „Add new user‟

35

4.3: Unit and Test Validation for Search function

36

4.4: Unit and Test Validation for „New RMA‟

39

4.5: Unit and Test Validation for „SMT‟

40

4.6: Unit and Test Validation for „SMT‟

42

4.7: Unit and Test Validation for Visual data

44

4.8: Unit and Test Validation for Search function in Web application

45

4.9: Unit and Test Validation for Search function in Messaging Service

46

5.1: Project tasks list

55

(11)

CHAPTER 1: INTRODUCTION

1.1 Introduction

Analysis of data and test results is the most tedious job for the engineers in any

semiconductor company simply due to the inaccessibility of the huge amount of data

available across different application systems at various servers. All these data would

need to be consolidated by a system on a single interface for a successful analysis which

will play an important role in further manufacturing improvements of the product in

future.

1.2 Objectives

The objective of the project is to develop a Web and Windows based Data Retrieving

System with integrated SMS gateway functionalities for my current semiconductor

manufacturing Company. This system is developed based on an imperative objective of

entering, retrieving and analyzing the customer-returned module details and test data for

the company.

This system helps the Quality & Reliability Assurance (QRA) team with readily

available results and data for analysis and further follow up for the future manufacturing

improvements.

1.3 Overall Objectives

Retrieving and analyzing of wafer lot histories, shipping histories & test results from

various servers is one of the mind-numbing jobs for the engineers in my company as any

other semiconductor manufacturing companies.

Integrated Data Retrieval System

(IDRS) is a mission critical system consisting of both Windows and Web based

applications with a single database and SMS integration that supports employees to

retrieve test data across the company. The QRA team in the company needs this data

whenever a failure is reported from any of its customers. It will then be very useful to

have an application that can orderly display out the history and test results of

semiconductor devices.

(12)

Figure 1.1: Overview of IDRS system Architecture

In this system, the following features should be implemented:

1) Windows and Web based applications for retrieving data from servers and databases

and to display it out in a graphical & user-friendly manner for analytical purposes.

2) A database for data storage to speed up the overall process by avoiding the real time

communication with multiple servers.

3) An integrated SMS gateway for anytime anywhere data retrieval from the system and

to provide updates to the system.

(13)

1.4 Scope deliverables and boundaries

The scope of the project is to develop a Windows as well as web-based Data

management system with SMS functionalities. This system consists of two main

components: a Windows based application used for managing all the product details

including various test results and a web-based application for employees to get the

overview of the status of the pending modules through intranet. An anytime anywhere

reporting and data management functionality using SMS gateways is also implemented.

1.5 Proposed approach

Systems Development Life Cycle or Software Development Life Cycle is a process of

developing software with regards to the requirements through investigation, analysis,

design, implementation and maintenance. Many methodologies or SDLC models have

been created to manage the complex process of software development. They are:

Waterfall: a linear framework

Prototyping: an iterative framework

Incremental: a combined linear-iterative framework

Spiral: a combined linear-iterative framework

Rapid application development (RAD): an iterative framework

Extreme Programming

Waterfall method has been selected as the development methodology for this project as

it has the appropriate principles for IDRS development.

(14)

1.5.1 Waterfall model

Figure 1.2: Waterfall Model

Waterfall is the simplest and systematic software process model with a sequential or 'top

down' development approach in which the output of each stage becomes the input for the

next. This model has the following stages:

1.5.1.1

Project Planning

Project planning based on all the requirements is to be done at this phase. Both

the functionalities and constraints have to be gathered and as the requirements to

plan the project properly. A requirement Specification Document should be

created as a guideline for the next phase of the model.

1.5.1.2 System Analysis

Further analysis based on the end-user requirement has to be done in System

Analysis phase. It refines the functions and operation of the application to

accomplish the project goal impeccably.

(15)

1.5.1.3 System Design

Overall system architecture is developed during this phase using the requirements

gathered in the planning phase. The main components of the intended system including

programming language, architecture, platform, database, algorithms, interfaces and

many other details are established during Design phase.

1.5.1.4 Implementation

Coding and Testing are the key components in Implementation stage. Software program

is to be written and integrated based on the inputs from Design phase.

1.5.1.5 Testing

The implemented software module has to be tested in this phase after the final

integration for errors, bugs and interoperability.

1.5.1.6 Operations/ Maintenance

The performance of the fully developed and tested system will be monitored in this

phase to adapt accordingly with any changes after implementation.

(16)

1.5.2 Processes List

Table 1.1 Processes List

Process

Description

Output

Skill

Project

Initiation

-Research

-Map activities to Software

Life Cycle Model

-Project Plan

-Gantt Chart

- Initial Project

Proposal

- Project Plan

- Project Management

Requirement

-Define and Develop

Software Requirement

-Define Interface

Requirement

-Prioritize and Integrate

Software Requirements

Final Report

- Software

Engineering

Design

-Perform Architectural

Design

-Design Database

-Design Interface

-Perform Detailed Design

Final Report

- UML Design

- Database

normalization

- Database Design

- Software

Engineering

Implementation

-Create Test Data

-Create Source

-Plan Integration

-Perform Integration

- Final report

- Software

product

- Software

Engineering

- Application Server

- ASP .Net, MSSQL,

C#, Visual Studio

2010

Verification and

Validation

-Plan Testing

-Develop Test Requirements

--Execute the Tests

- Final report

- Software

(17)

CHAPTER 2: LITERATURE REVIEW

2.1 Background study

Data management and analysis are the critical requirements for the engineers in any

Semiconductor manufacturing company. Currently the data is hosted in several servers

and databases making it difficult for the users to retrieve them at the required time and

place. This inaccessibility makes the work process slow. For the case of my company,

the modules that are returned from the customers after failure detection are tested at

different testers for detailed analysis of the failure. Further analysis of those test results

located at different servers and databases is required at a single interface to conclude the

root cause of the failure.

In today‟s world of high competition where organizations are trying to meet their

customers‟ needs at the earliest and best possible ways, speed is very critical. Customers

have several choices in the industry. So, it is how well we meet the customer‟s need and

at the earliest that wins us the major customers. By having an application that compiles

and organizes all the necessary data, it makes the life of QRA engineers much easier and

allows them to serve their customers needs at a faster pace.

The System comprises of the following components:

System Components

Server

Client

Request Validation

Data Processing

Reporting

Web UI

Database Layer

User Authentication

SMS Gateway

Windows UI

(18)

2.2 Motivation

Strategic change is necessary for any organization to meet the needs of the fast moving

world. Software systems are the one handling and solving almost all the complex tasks

in any company nowadays and obviously the overall performance of the company or the

department will rely upon the performance of such systems. Here comes the need of

having an up to date software system with current technologies implemented.

These are some of the main features and benefits of Windows Systems compared to the

current system based on

Text-based interface (TUI) used in my company which

becomes the motivational factor to me to choose the project. They are:

Compatibility

o

The software is designed to operate on the existing infrastructure at my

semiconductor company. The application is designed to support

interoperability with existing databases in the company.

Scalability

o

The software‟s architecture is designed to support scalability at any point

of time. New capabilities can be added to the software without making

major changes to the underlying architecture.

Maintainability

o

The application will have a built in self update engine that can update

itself to newer versions whenever available.

Fault tolerance

o

The software will be resistant to and able to recover from component

failures at client pc.

Modularity

o

The software is designed with well-defined and independent components

that lead to better maintainability in the future.

Reusability

o

The software will be capable to add more features with slight changes.

Also web service allows calling from cross platforms that will help in the

future to easily port the client application to various different operating

systems varying from desktops to various mobile handhelds.

(19)

Reliability

o

The software will be able to perform all the required functions with least

errors and at higher speeds.

Security

o

The software will be hardened against to withstand hostile acts and

influences using higher standard encryptions.

Usability

o

The interface will be highly intuitive and graphical where the target

audience can analyze data in an effective manner.

Robustness

o

The software will be able to operate under stress or tolerate certain

unpredictable or invalid input. This consideration will also include the

minimum requirements for the client system, for e.g. The software will be

designed with resilience to low memory conditions

2.3 Technology Selection

The software design will be based on object oriented programming concept, where an

object contains encapsulated data and procedures grouped together to represent an

entity. An object oriented program is described by the interaction between these objects.

Object oriented design is the discipline of the objects and their interactions to solve a

problem that was identified and documented during object oriented analysis. Our

software will be based on the composite reuse principle that favours polymorphic

composition of objects over inheritance.

Our system will be deployed in a client-server architecture that enables roles and

responsibilities of a computing system to be distributed among several independent

computers that are known each other only through a network. This creates an additional

advantage of greater ease of maintenance. For example it is possible to replace, repair,

upgrade or even relocate the server while the clients remains both unaware and un

affected by the changes.

(20)

All data is stored on the servers that have better, security, access controls and resources

to guarantee that only those clients with appropriate permissions can access the data.

Since the data storage is centralized, updates to that data are far easier to administer. Our

system can function with multiple different clients with different capabilities with ease.

2.4 IDRS (Integrated Data Retrieval System) Terminology

These are some of the IDRS terminologies that will be used in this project.

1.

RMA

- Returned Module Authorization is a generic term which

represents a returned module from customer

2.

SMT

- Single Module Testing is type of bench top, electrical testing.

3.

SLT

- System Level Testing is another type of test on different

platforms.

4.

LOT ID

- A unique module Identification ID

5.

Visual

- Visual Test using Microscope

6.

Part number - Unique idenfier of a module design

7.

Serial number - Reference number for a module either by customer or

manufacturer

2.5 Software Tools

This section describes the software tools that this project is utilizing and the reasons to

use them.

2.5.1 .Net Framework

.Net Framework is a general software development platform which provides a

platform-independent framework that enables developers to quickly build, deploy, and manage

Web-based applications, smart client applications, and XML Web services applications

based on a Virtual Machine that offers independence to a programmer. Multiple

programming languages like C#, Visual Basic .Net and managed C++ can be used to

develop any software using this object-oriented programming (OOP) model.

Side-by-side execution of code and decentralized registration of components are the key benefits

of .Net. The platform-independence feature enables businesses to quickly integrate their

(21)

systems, information, and devices, thereby helping users collaborate and communicate

effectively.

This execution environment consists of two major components:

1. Common Language Runtime (CLR)

The common Language Runtime manages the intrinsic features like memory

management, code execution, thread execution, code safety verification, compilation

and other system services. The Runtime enforces the code access security and

robustness by implementing a type-and-code infrastructure called the common type

system (CTS). It will also enhance the performance, developer productivity and

memory management by using sophisticated technologies below:

Common Type System (CTS)

Common Language Specification (CLS)

Just-in-Time Compiler (JIT)

Virtual Execution System (VES)

2. Base Class Library (BCL)

All the functionalities for the developers are available in .Net framework through a Class

Library which has got the features like Windows Forms for GUI, ADO.Net for Database

access and ASP.Net for web development. This Class Library is a collection of reusable

types that tightly integrate with the common language runtime.

The framework's Base Class Library provides:

user interface

data access

database connectivity

cryptography

web application development

numeric algorithms

(22)

2.5.2 Visual Studio 2010

Microsoft Visual Studio is the Integrated Development Environment (IDE) used to

develop this project. It includes a code editor, an integrated debugger and other built in

tools like forms designer for building various applications and enhancing functionality.

It suits for the project because of the multi language support and other built in features

mentioned.

2.5.3 C Sharp

C# is a multi paradigm programming language developed by Microsoft intended to be a

simple, object oriented language for .Net framework. I had selected C#.Net because of

the rapid application development capabilities of .NET and also the visual tools

available. C# is the most advanced and latest programming language comparing to

VB.Net and lot of tutorials and samples are available for C# will make the development

much faster and easier.

2.5.4 ASP .Net

ASP .Net is an application framework developed by Microsoft for building web

applications, web services and web sites. It allows programmers to develop dynamic

applications using any .Net supported language which can be managed by Common

Language Runtime (CLR) in .Net framework.

2.5.5 Internet Information Services (IIS)

IIS is a web server application with essential extensions provided by Microsoft to use

with Windows Operating System which will play a vital role in most of the Microsoft

Server products. .NET based solutions can only be hosted on IIS and couldn‟t be hosted

on apache or Linux based environments. Since our web service is developed using .NET

technologies, IIS is the best option for the hosting.

2.5.6 MS SQL Server 2008 R2

SQL Server is a rational database server for storing and retrieving data requested by

software applications. It is developed by Microsoft intending to used with local as well

as network applications. Even though mySQL is widely popular and free to user, I had

(23)

selected MSSQL because our solution is fully based on windows and .NET, it will be

easy and faster to use a native compatible database for better manageability,

compatibility and scalability also easy to sync with multiple database if necessary.

Moreover MSSQL Express is free to use and perfectly suits our requirements.

2.5.7 MS Office

Microsoft Office Visio 2007: It simplified the process of drawing and designing UML

and database. With this tool, the developer can focus more on the design not on the

drawing instead.

Microsoft Excel 2007: Excel is used to generate the report of the details for a particular

module or the total pending modules.

(24)

CHAPTER 3: SOFTWARE DEVELOPMENT

3.1 IDRS Software Overview

Business Objects

Database access layer

Database

User Management

and

Administration

Returned Module

Authorization (RMA)

Test results

Reporting

SLT

SMT

VISUAL

ADO.NET

SQL Server

Application

Users

RMA

SLT

SMT

Visual Data

SMS

Gateways

Figure 3.1: Overview of IDRS Software Modules

Figure 3.1 shows the overview of software components that are intended to be designed

in this project. The main modules in the business objects are user management and

administration, RMA, Test results and reporting modules. The data access layer is

managed by the ADO.NET library. Microsoft SQL Server 2008 R2 is used as database

management system (DBMS).

(25)

3.2 IDRS Front-end Flow Layout

Login page

User authentication

Welcome page

Add New User Add RMA module

View RMA module and test

results

Add SLT test details

Add SMT test

details Add visual data Invalid

password or username

Prompt error message

Figure 3.2: Front-End Flow Layout of IDRS

Figure 3.2 displays the front-end IDRS flow layout. Basically, the foremost page of this

system is the login page. There are three options in this page which are:

1.

registers for new user account,

2.

Login to the IDRS system.

After the user login to the system, they may utilize the functionalities of the system

pertaining to their access right role.

Welcome page can be accessed upon successful login and it will display out the status of

all the pending modules entered into the system by various users. Almost all the details

except the test results will be available on this page.

There are four buttons displayed on the main page; they are:

Overview

„Overview‟ button is to check the status of all the pending modules entered into the

system as explained above.

(26)

Search

All the details including test results of any particular module can be viewed by using

this function by entering the unique Lot ID assigned with every module. Test result

status is shown in

New Lot

A new RMA module lot can be created using this function by entering all the details

with a unique Lot ID.

Test Results

There are three types of tests can be added into our system related to any returned

module. They are:

i.

SMT (Single Module Test)

It is a kind of electrical testing with the help of a bench top tester. All the

information can be added and modified using this particular function.

ii.

SLT (System Level Test)

System Level Test details need to be added to the system using this

functionality.

iii.

Visual Test

All kinds of Visual defects found on the returned modules need to be updated

to the system with pictures. Two images can be saved to the system by

browsing them from the local drives.

(27)

3.3 Client server architecture for IDRS Desktop application

Figure 3.3: Client- Server Architecture style

3.4 Three tier Architecture for web application

Figure 3.4: Three-tier Architecture style

3.5 SMS Gateway Integration

A highly scalable Messaging gateway is integrated with the system to enable truly

mobile cross platform mobile functionality. The messaging system is capable of

handling concurrent connections between multiple gateways consisting of GSM

modems as well SMPP connections. The system will automatically load balance

between multiple gateways using Round Robin.

(28)

SMS can be send at a speed of 12 SMS per second. Heavy traffic to the system can be

easily handled by adding SMPP connections which can handle 700 to 20,000 SMS per

second depending on the service provider.

3.6 Use Cases Diagram

Staff

Add a new user Add a new user Add a new user

Add RMA module

View RMA details

Add SLT details

Add SMT details

Add Visual data

Reporting Service

Messaging Service Admin

(29)

As described in Figure 3.3, there are two actual types of human users i.e. administrator

and staff. Admin will be able to perform any of the use cases and the user is only

restricted to modify anything related to user management.

3.7 Use cases of Integrated Data Retrieval System

3.7.1 Add a new user

This case allows the actor with administrative right to add a new user to the system. The

new user would have a default staff access control.

3.7.2 Add RMA module

RMA module in our system indicates any module returned by customer for failure

analysis. All the main details such as part number, serial number, customer name and

product family need to be added with each module to the system. This use case allows

user with either admin or staff access control to add new RMA module details.

3.7.3 View RMA details

All the details including Test results of any particular module can be retrieved using the

unique Lot ID assigned to the module. This use case allows user with either admin or

staff access control to view and modify RMA module details in particular by their LOT

ID.

3.7.4 Add SLT details

System Level Test details of a module can be captured to the system using this

functionality. This use case allows user with either admin or staff access control to add

System Level Test details.

3.7.5 Add SMT details

Basic electrical checking of a module is performed during Single module Test. This use

case allows user with either admin or staff access control to add Single Module Test

details.

(30)

3.7.6 Add visual data

Cosmetic damages found during visual test of a module need to be captured in the

system with images of those defecfts. This use case allows user with either admin or

staff access control to add visual Test details.

3.5.7 Reporting service

Reporting service allows user with either admin or staff access control to generate RMA

module details and test results from the corresponding page itself to an excel sheet.

3.7.8 Messaging service - An integrated SMS Gateway functionality has been added to

the system through which users can interact with the system using their mobile phones

by sending the queries and comments in a predefined format. The query formats are:

<username> <password> <action> <Lot ID>. Available actions are „RMA‟ for getting

module details, „VT” for visual test results, „SMT‟ for SMT results, “SLT” for retrieving

SLT results and “CMT‟ for making comments to any particular module in the system.

The comment will be displayed under the „SMS Comments‟ section in the overview

page after sending it to the number assigned to IDRS system.Messaging service allows

user with either admin or staff access control to view or update RMA module details and

test results through short messaging service (SMS) using any GSM enabled mobile

device.

(31)

3.8 Class Diagrams of IDRS Desktop application

Figure 3.6: Overall class diagram of IDRS Client application

Figure 3.4 shows the overall class diagram of IDRS Windows application. The fields

and methods used in each class are also shown in the figure.

(32)

3.9 Class Diagram of IDRS Web application

Figure 3.7: Overall class diagram of IDRS Web application

Figure 3.5 shows the overall class diagram of IDRS Web application. The fields and

methods used in each class are also shown in the figure.

(33)

3.10 Database Design

(34)

3.11 Sequence Diagram for IDRS

Sequence diagram for the desktop and web interfaces are explained below.

3.11.1 Login Use Case

Figure 3.9 Login sequence diagram

Figure 3.11 shows the sequence diagram for the user login case. The user enters his/her

login details and clicks the "Login” button in the frmLogin.cs form.

This click event triggers btnLoginClick() function which calls Validate Login() in

LoginValidation.cs class. This class validates the login details against the database.

SQLClass.cs class manages the database connection and returns the connection string

back to LoginValidation.cs class. If the validation is successful, a new session is started

else an error prompt is displayed.

: Admin : Admin

: frmLogin.cs

: frmLogin.cs : LoginValidation.cs : LoginValidation.cs : SqlClass.cs : SqlClass.cs

User Login

Validate user login input

Connect to Database

Return data Return Login Result

Displays form on successful login

(35)

3.11.2 Add new RMA use case

Figure 3.10 Add new RMA sequence diagram

Figures 3.12 shows sequence diagram for add a new RMA use case. The front-end view

for this use case is frmAddNewRMA.cs[design]. The btnSave_Click() function is

triggered on the button click which validates the user input. On successful validation,

InsertData() function is called, to insert data into the database table tbl_RMA.

3.11.3 Add new SLT use case

: Admin : Admin

: frmSLTTest.cs

: frmSLTTest.cs : SqlClass.cs : SqlClass.cs

Enter new SLT Test Results

Connect to database

Return data

Display success message

: Admin : Admin

: frmAddNewRMA.cs

: frmAddNewRMA.cs : SqlClass.cs : SqlClass.cs

Enter new RMA Details

Connect to database

Return data

(36)

Figure 3.13 shows sequence diagram for „add new SLT‟ use case. The front-end view

for this use case is frmSLTTest.cs[design]. The btnSave_Click() function is triggered on

the button click which validates the user input. On successful validation, InsertData()

function is called, to insert data into the database table tbl_slt_test.

3.11.4 Add new SMT use case

: Admin : Admin

: frmSMTTest.cs

: frmSMTTest.cs : SqlClass.cs : SqlClass.cs

Enter new SMT Test Results

Connect to database

Return data

Display success message

Figure 3.12 Add new SMT sequence diagram

Figures 3.14 shows sequence diagram for add new SLT use case. The front-end view for

this use case is frmSMTTest.cs[design]. The btnSave_Click() function is triggered on

the button click which validates the user input. On successful validation,

InsertUpdateData() function is called, to insert or update data into the database table

tbl_smt_test.

(37)

3.11.5 Add new Visual data

Enter new Visual Data : Admin

: Admin

: frmVisualTest.cs

: frmVisualTest.cs : SqlClass.cs : SqlClass.cs

Connect to database

Return data

Display success message

Figure 3.13 Add new Visual Data sequence diagram

Figure 3.15 shows sequence diagram for add new Visual data use case. The front-end

view for this use case is frmVisualTest.cs[design]. The btnSave_Click() function is

triggered on the button click which validates the user input. On successful validation,

InsertUpdateData() function is called, to insert or update data into the database table

tbl_visual_test.

3.11.6 Search module details

: Admin : Admin

: frmViewModule.cs

: frmViewModule.cs : SqlClass.cs : SqlClass.cs

Search module details

Connect to database

Return data Display module details by LOT ID

(38)

Figure 3.16 shows sequence diagram for add new Visual data use case. The front-end

view for this use case is frmViewModule.cs[design]. The btnSearch_Click() function is

triggered on the button click which validates the user input. On successful validation,

GETRMADetails() function is called, to fetch data from the database table tbl_RMA

based on search criteria.

3.11.7 Messaging service

Figure 3.15 Messaging Service sequence diagram

3.12 Overview of software components developed

View

Controller

Data Access

Database table

frmAddNewRMA

frmAddNewRMA.cs

SQLClass.cs

tbl_RMA

FrmOverview

FrmOverview.cs

SQLClass.cs

tbl_rma

frmSLTTest

frmSLTTest.cs

SQLClass.cs

tbl_slt_test

frmSMTTest

frmSMTTest.cs

SQLClass.cs

tbl_smt_test

: Admin : Admin : frmMdiMain.cs : frmMdiMain.cs : SqlClass.cs : SqlClass.cs Accept SMS request Connect to database Return data Return response

(39)

Table 3.1: Main software components created for Windows application

View

Controller

Data Access

Database table

Login.aspx

SQLClass.cs

tbl_RMA

Default.aspx

FrmOverview.cs

SQLClass.cs

tbl_rma

Viewmoduledetails.aspx

frmViewModule.cs

SQLClass.cs

tbl_slt_test

Table 3.2: Main software components created for Web application

Additional feature

Description

Reporting

Custom made excel exporting functionality

SMS Gateway

Messaging functionalities

Table 3.3: Other software components

CHAPTER 4: TESTING AND RESULTS

4.1 Testing Objectives

Software testing is an investigation conducted to validate and verify the purpose of a

computer program. It helps to assure the functionalities of the program and understand

the risks in implementing the software.

Main objectives of testing are:

1. To find bugs or errors when executing a computer program.

2. To meet the functional requirement of the stakeholder.

frmVisualTest

frmVisualTest.cs

SQLClass.cs

tbl_visual_test

(40)

4.2 Software Testing Methods

Software testing methods are generally classified into White box and Black box testing.

4.2.1 White - Box Testing

White box testing is a method for testing the internal working of a computer program. A

white box test case guarantees all independent paths within a program to be executed at

least once, tests whether all logical decisions are on their true or false sides and tests for

infinite loops.

Most commonly used white box testing technique is the Basis path testing which enables

the test case designer to derive a logical work flow of a procedural design and use this

guideline to design a set of execution paths. Test cases are derived from these set of

execution paths which guarantee that every paths are executed at least once.

4.2.2 Black - Box Testing

Black-box testing focuses on testing the functional requirements of the software. Internal

working of a software program or algorithm is not taken into consideration during black

box testing. Black-box testing aims at finding incorrect or missing functions, interface

errors, errors in data structures or external data base access, behavior or performance

errors, initialization and termination errors.

4.3 Software Testing Strategy

Software testing strategy is developed depending upon the requirements during

definition phase. The various testing methods outlined in our project planning phase are:

4.3.1 Unit Testing

A unit is a smallest individual function or program of a source code A unit can be a class

or interface. These unit are independent from other methods, functions, stubs and

(41)

Unit testing is a testing practice which ensures that these units are fit for use .Unit

testing is a type of white box testing which is conducted in parallel with other forms of

testing.

4.3.2 Integration Testing

After unit testing, it is necessary to ensure that these units work well when integrated

with the source code. The main issues faced during integration are data loss during

transition from interface to interface and effect of one function on another.

To address these issues, we use Integration testing technique. Integration testing is a

systematic technique for constructing the program structure while at the same time

conducting tests to uncover errors associated with interfacing. The objective is to take

unit tested components and build a program structure that has been dictated by design.

4.3.3 Validation Testing

At the end of integration testing when the interfacing errors have been revealed and

corrected, we begin validation testing. Validation testing can be defined as technique

which ensure that the software functions as expected during the initiation phase.

Requirements document outlined during the design phase forms the basis of validation

testing.

4.3.4 System Testing

System testing is a form of black box testing which does not require the knowledge

about the inner working of the code. System testing ensures that the software works

properly on any available hardware systems.

4.4 Test Cases for IDRS Desktop Application

(42)

Figure 4.1 Login Page

Figure 4.1 shows the login screen. The user enters his/her username and password in

their corresponding textboxes.

On unsuccessful login,

1. An error message "Incorrect password" is displayed if password is incorrect for the

username

2. An error message "User does not exist" is displayed if username is incorrect.

3. An error message "Cannot be empty" is displayed if either username or password is

empty.

Unit and Validation Test records

S/N

Unit Test case

description

Test Input

Expected

Output

Result

1.

Successful

login.

Enter Username and

Password.

Overview screen is

displayed.

OK

2.

Incorrect

password login

Enter Username and

Password.

Error message"Incorrect

password" is displayed.

OK

3.

Incorrect

username login

Enter Username and

Password.

Error message " User does

not exist " is displayed.

OK

4.

Login with

either username

or password.

Enter either

Username or

password

Error message " Cannot be

empty" is displayed.

OK

(43)

After entering the data, user clicks the 'Login' button. On successful login, the user is

directed to the 'Overview ' screen i.e. Figure 4.2.

Figure 4.2 Overview Page

4.4.2. Add a new user Test

To add a new user Go to File > New User which opens a pop up form to enter new user

details. After entering the new user login name and password, re-enter the same

password again for confirmation.

Click the Save button. On successful user creation a message "Successfully added new

user". (Figure 4.4)

(44)

Figure 4.3 Add User

If data is missing for any of the above fields, "All fields required" message is displayed.

Figure 4.4: Missing fields

(45)

S/N

Unit Test case

description

Test Input

Expected

Output

Result

1.

Add a new

user

1. Enter the new user

name and Password.

2. Re-enter the same

password.

Successfully added a

new user message

box is displayed.

OK

2.

Validate add

new user

Enter data with missing

fields.

All fields required

message is displayed.

OK

Table 4.2: Unit and Test Validation for „Add new user‟

4.4.3. Search module details by lot ID

Figure 4.5 Search module details

Press "View Module" button in the menu bar to go to the "View module" screen. In the

Search Module screen, module details can be searched by LOT ID.

To view the module and test results, enter the LOT ID and Click the "Search" button.

The module details and test results corresponding to the LOT ID will be displayed

below.

(46)

The test results for the module will be displayed on the right hand side of the screen(

Figure 4.5)

Unit and Validation Test records

S/N

Unit Test case

description

Test Input

Expected

Output

Result

1.

To view module

details and test

results

Enter the LOT ID and

Click the "Search"

button

Module details and

test results will be

displayed.

OK

2.

Display error

message for an

invalid LOT ID

Enter the LOT ID and

Click the "Search"

button

Display the error

message

OK

Table 4.3: Unit and Test Validation for Search function

4.4.4. Add RMA data

To add RMA details, go to "Add Data" > "New RMA item(s)" which loads a Data entry

form for RMA (Figure 4.6).

(47)

RMA number and Module LOT ID are mandatory data fields. If the user fails to fill up

these fields the system prompts them with an error message as shown in the Figure 4.7

and Figure 4.8.

Figure 4.7 RMA Error Message 1

Figure 4.8 RMA Error Message 2

Click the "Save" button after entering the data. A success message (Figure 4.9) will be

displayed on successful save operation.

(48)

Figure 4.9 Save RMA

Unit and Validation Test records

S/N

Unit Test case

description

Test Input

Expected

Output

Result

1.

To add new

RMA details.

Enter the RMA data details

and click the "Save"

button.

"Successfully

saved data" is

displayed.

OK

2.

Validate

"Module LOT

ID" field.

Click the "Save" button

after omitting the module

lot id data entry.

"Module LOT ID

cannot be empty"

is displayed.

OK

3.

Validate "RMA

Number" field.

Click the "Save" button

after omitting the RMA

Number data entry.

" RMA Number

cannot be empty"

is displayed.

OK

(49)

4.4.5. Add SMT details

To add SMT details, go to "Add Data" > "SMT results" which loads a Data entry form

for SMT.

ATE EMP is a mandatory data field. If the user fails to fill up this field the system

prompts them with an error message as shown in the Figure 4.10.

Figure 4.10 SMT Error

Click the "Save" button after entering the data. A success message (Figure 4.11) will be

displayed on successful save operation.

(50)

Figure 4.11 Add SMT

Unit and Validation Test records

S/N

Unit Test case

description

Test Input

Expected

Output

Result

1.

To add new

SMT details.

Enter the SMT data details

and click the "Save" button.

"Successfully

saved data" is

displayed.

OK

2.

Validate “ATE

EMP“ field.

Click the "Save" button after

omitting the ATE EMP data

entry.

"ATE EMP

cannot be empty"

is displayed.

OK

Table 4.5: Unit and Test Validation for „SMT‟

(51)

Figure 4.12: Add SLT

To add SLT details, go to "Test Results" >"New Test Result" >"SLT" which loads a

Data entry form for SLT.

SLT EMP and System model are mandatory data fields. If the user fails to fill up any of

these fields, the system prompts with an error message as shown in the Figure 4.13.

(52)

Figure 4.13: SLT Errors

Unit and Validation Test records

S/N

Unit Test

case

description

Test Input

Expected

Output

Result

1.

To add new

SLT details.

Enter the SLT data details and

click the "Save" button.

"Successfully saved

data" is displayed.

OK

2.

Validate

“SLT EMP“

field.

Click the "Save" button after

omitting the SLT EMP data

entry.

"SLT EMP cannot

be empty" is

displayed.

OK

3

Validate

“System

Model“ field.

Click the "Save" button after

omitting the System Model

data entry.

"System Model

cannot be empty" is

displayed.

OK

4

Validate “Lot

ID“ field.

Click the "Save" button after

omitting the Lot ID data entry.

"Lot ID cannot be

empty" is

displayed.

OK

(53)

4.4.7 Add visual data

To add visual data, go to "Add Data" > "Visual data " which loads a Data entry form for

visual data.

Select the LOT ID from the drop down and Select the test result i.e. "Pass" or "Fail".

Images can be uploaded by clicking the "Browse" buttons as shown in the figure. A

preview of the image uploaded is shown on successful upload.

Click the "Add new" button after entering the data. A success message (Figure 4.12) will

be displayed on successful save operation.

Figure 4.14 Visual data

(54)

Unit and Validation Test records

S/N

Unit Test case

description

Test Input

Expected

Output

Result

1.

To add new

visual data

details.

Enter the visual data details

and click the "Add new"

button.

"Successfully saved

visual test results" is

displayed.

OK

2.

Upload

images.

Click the Browse and

Select the image from form,

Image preview will

be displayed.

OK

Table 4.7: Unit and Test Validation for Visual data

4.5 Web application

Figure 4.13 shows the overview page of the web application. Details of all the pending

modules are displayed on this page as in Desktop application. This is the page displayed

upon successful login to the system.

(55)

Press "View Module Details" button in the menu bar to go to the "Module Details" page.

Module details of any module can be searched by LOT ID in particular.

To view the results, enter the LOT ID and Click the "Submit" button. The module details

corresponding to the LOT ID will be displayed below as in Figure 4.15.

Figure 4.17: Search page

Unit and Validation Test records

S/N

Unit Test case

description

Test Input

Expected

Output

Result

1.

To view module

details

Enter the LOT ID and

Click the "Submit" button

Module details will

be displayed.

OK

2.

Display error

message for an

invalid LOT ID

Enter the LOT ID and

Click the "Submit" button

Display the error

message

OK

(56)

Figure 4.18: Module Details page

4.6

Messaging service

To receive RMA module details on any mobile device, send an SMS as mentioned in the

use case.

S/N

Unit Test case

description

Test Input

Expected

Output

Result

1.

To view module

details

Send SMS with RMA

action

Module details will

be displayed

OK

2.

Validate SMS

format

Send SMS

Invalid message

format. Reply

HELP to get

available options

OK

3.

Validate LOT

ID or ACTION

Send SMS

No data to display

OK

4.

To view SLT

details

Send SMS with SLT action

SLT details will be

displayed

OK

5.

To view SMT

details

Send SMS with SMT

action

SMT details will be

displayed

OK

6.

To view visual

details

Send SMS with visual data

action

Visual data details

will be displayed

OK

(57)

Help

„Help‟ is the query to get the latest formats that need to be followed to retrieve the data

from the system. All the formats will be sent to the number as shown in Figure 4.16.

(58)

Login Validation

An error message of “invalid user name or password” will be returned in case of an

invalid entry of either username or password as shown in Figure.

(59)

RMA Details

Details of any pending module can be retrieved to any phone by sending an SMS to the

system in the format shown in Figure 4.17.

(60)

Test Results

Any test result of a particular module can be retrieved with its Lot ID by sending an

SMS to the system in a suitable format as shown in below figures. Detailed result will be

sent to the mobile within seconds after sending the SMS.

(61)

SLT Results

(62)

Visual Test

(63)

Comment Function

Comment can be added to any particular module on the client system by sending an

SMS in the format shown in Figure 4.21.

(64)

CHAPTER 5: PROJECT MANAGEMENT

5.1 Project Planning

The below table and Gantt chart consists of four main phases of the project. These

phases are:

1.

Project initiation

2.

Design and Development

3.

Testing & Troubleshooting

4.

Project completion.

Below are the brevity description for each main phase and its sub tasks.

5.2 Project Initiation

i.

Research on Software tools – Comprehensive search has been done on

internet to get an insight into the software tools.

ii.

Research on current products in market – Research on current systems to get

a better understanding of the design and architecture.

iii.

Project Proposal – Write a detailed proposal to describe what is this project

about, why this project and how to make this project a success.

iv.

Learning how to use software tool – To learn how to use software such as

Microsoft Visual Studio 2010 and SQL Server express 2008 R2.

5.3 Design and Development

i.

Define and Develop Software Requirement – Using UML notation such as

use case to define and develop the requirement.

ii.

Interface Requirement – Using Human Computer Interaction (HCI) skill as a

guideline for interface requirement.

iii.

Prioritize and Integrate Software Requirements – List the most significant

requirement first and then integrate them as a whole.

(65)

iv.

Design Architectural Design – Using the requirements as the input, concept

of UML static and dynamic models as the processor to produce the

architectural design of IDRS System.

v.

Design Database – Modelling the IDRS database using Entity-Relationship

model and normalize the database using Fourth Normal Form technique.

vi.

Design Detailed Design – Add in the details and finalize all the designs.

vii.

Preparation for Examination Period

5.4 Testing & Troubleshooting

i.

Create Test Data – To produce the data for testing purposes in the later part.

ii.

Create Source – Write the source code using C#, ASP .Net

iii.

Perform Integration – execute the integration plan accordingly to produce the

actual IDRS system.

iv.

Plan Testing – Plan testing activities such as component inspection, usability

tests, unit testing, integration testing and system testing.

v.

Develop Test Requirements – Develop and document the test requirement.

vi.

Execute the Tests – run the planned tests and document the result.

5.5 Project Completion

Basically, this main phase is to produce the final report, poster and preparation for the

poster presentation to obtain the grading for this project.

(66)

5.6 Effort Calculation

Tasks and Schedule for Capstone Project

S/N

Task Name

Duration

Start

End

Effort

(hrs)

Project Initiation Phase

74

1

Project Discussion with supervisor

1 Day

12-Feb-11

12-Feb-11

2

2

Research on the existing Projects.

3 Days

13-Feb-11

15-Feb-11

6

3

Literature research

18 Days

16-Feb-11

5-Mar-11

40

4

Preparation of Proposal

12 Days

21-Feb-11

4-Mar-11

20

5

Review and Submit Proposal

3 Days

5-Mar-11

7-Mar-11

6

Design and Development Phase

206

6

Learn more about SQL

18 Days

18-Feb-11

7-Mar-11

20

7

Start design the database schema

10 Days

26-Feb-11

7-Mar-11

15

8

Create database and Setup proper hosting

environments

20 Days

09-Mar-11

28-Mar-11

15

9

Design database

30 Days

20- Mar-11

18-Apr-11

60

10

Develop client application features

30 days

1-Apr-11

29-Apr-11

60

13

Preparation of the Interim report

20 Days

18-Apr-11

07-May-11

30

14

Review and Submit of interim report

2 Days

07-May-11

09-May-11

6

Testing & Troubleshooting Phase

392

15

Prepare and test the program using visual

studio.

7 Days

11-May-11

18-May-11

15

16

Test the modules

21 Days

19-May-11

08-Jun-11

40

17

debug and troubleshoot the system

40 Days

10-Jun-11

20-Jul-11

50

18

Research on more functions to implement on

the system and clear the drawbacks

54 Days

21-jul-11

12-Sep-11

120

19

Discuss with Tutor on the evaluation and

further

Improvement of this project

3 Days

13-Sep-11

15-Sep-11

9

Final Report Phase

20

Preparation of Final Report

50 Days

16-Sep-11

5-Nov-11

100

21

Discuss with tutor on Final Report

1 Day

06-Nov-11

06-Nov-11

3

22

Review and Submit Final Report

8 Days

07-Nov-11

14-Nov-11

20

23

Prepare Poster presentation

18 Days

16-Nov-11

03-Dec-11

35

(67)

Phase

Effort Hours

Project Initiation Phase

74 hrs

Design and Development Phase

206 hrs

Testing & Troubleshooting Phase

200 hrs

Final Report Phase

192 hrs

Total Hrs

672 hrs

Total Man-Days

103 days

Table 5.2: Total Effort hours

As having a full-time job and other UniSIM modules‟ commitment, it is literally

impossible to dedicate 6.5 hours per day to this project. Hence, the average hour that can

be spend on this project day is 2 hours, then 672 hours (336 days x 2 hours = 672 hours)

will be invested. As a result, it falls into the UniSIM requirement which is 400 - 600

hours. So the total effort required for this project is 103 days (672 hours / 6.5

man-day hours = 103 man-man-days).

(68)

Figure 5.1: Gantt chart – Project Initiation & Design and Development Phase

(69)

Figure 5.2: Gantt chart – Testing & Troubleshooting and Final Report Phase

Planned Effort

Actual Effort

(70)

5.7 Resources Required

The required resources for making this project successful are:

Computer to run the so

Figure

Figure 1.1: Overview of IDRS system Architecture  In this system, the following features should be implemented:
Figure 1.2: Waterfall Model
Figure 3.1: Overview of IDRS Software Modules
Figure 3.2: Front-End Flow Layout of IDRS
+7

References

Related documents