Chapter 1System requirements

In this chapter, we develop claimed requirements. Firstly,we describe functional requirements. In this section we explain the requirements and we present system’s use case diagrams. Then, we indicate the non-functional requirements.

  1. Functional requirements

We start in this section by express requirements and the identification of the different use case of this system.

I.1.Requirements Expression

The essential functions of this system are to learn patterns of PCBs and inspect them. In addition the system allows:

  • Learning management (consulting and suppress learning).
  • Inspection management (consulting and suppress learning).
  • Possibility to choose the pattern of referenced PCB to inspect the images of PCB in entry.
  • Inspections results consultation by PCB and between choosed dates.
  • Consultation of different states of inspection for an PCB
  • Statistics generation.

Our application will permit all this requirements to its users. To simplify comprehension of our application, follow we present some UML’s use case diagrams. The first give a global preview. The second, the third and the last use case diagrams give additional details for use cases presented in the first diagram. But before this we present the different users of our application. They can have the role of an administrator or an inspector.

Figure 1System’s users

Inspector : this user can do the following functionality:

  • PCBs inspection,
  • Inspections consultation,
  • Statistics consultation.

Administrator: in addition to inspector functionality, following ones are permitted:

  • Learning system,
  • Learning consultation and suppression,
  • Inspections consultation and suppression,
  • System configuration
  • User configuration

Follow we present the global use case diagram of our system.

Figure 2 System's general use case diagram

Figure 3 present the learning management use case. This use case in addition to learning use case, permit consulting and deleting learning, too. To learn system is the most important process because inspection depends on this phase.

Figure 3 PCB Learning management use case diagram

Figure 3 use case diagram explication

Learning PCB

Constraints: the administrator should connect to the system. Configuration folder’s parameters for saving image already saved.

Scenarios: the user chooses the image of the correct PCB pattern. The administrator must choose front off PCB learning option or back PCB learning or distance learning.

Learning Consultation

Constraints: the administrator should connect to the system. Learning already saved

Scenarios: the user chooses date interval to search learning. The system returns learning’s images and information.

Learning Suppression

Constraints: the administrator should connect to the system. Learning already saved

Scenarios: the user chooses date interval to search learning. The system returns learning’s images and information. User chooses learning to be deleted.

In the diagram of figure 4 we focus on inspection use case. The main functionality of this diagram is to inspect PCB. But user can also consult and delete inspections.

Figure 4PCB Inspection management use case diagram

Figure 4 use case diagram explication

 PCB Inspection

Constraints: the administrator should connect to the system. Configuration folder’s parameters for saving image already saved.

Scenarios: the user chooses the reference of PCB pattern. Administrator must choose front off PCB inspection option or back PCB inspection or distance inspection. System inspects the images of PCB in entry of system and return results.

Inspection Consultation

Constraints: the administrator should connect to the system. Inspection already saved

Scenarios: the user chooses date interval to search an inspection or enter the PCB ID. The system returns inspection information.

InspectionSuppression

Constraints: the administrator should connect to the system. Inspection already saved

Scenarios: the user chooses date interval to search inspection. The system returns inspection’s images and information. User chooses inspection to be deleted.

The last diagram is a system configuration. The administrator can manage application’s users and their roles. Also, he enters folder’s parameters to save learning and inspection images.

Figure 5System configuration use case diagram

Figure 5 use case diagram explication

Folder’s Parameter management

Constraints: the administrator should connect to the system.

 Scenarios: theuser chooses the paths where system will save learning and inspection images

User management

Constraints: the administrator should connect to the system.

Scenarios: Administrator enters new user information and assigns role for him. This use case permits deleting user, too.

Role management

Constraints: the administrator should connect to the system.

 Scenarios: the administrator can update roles of application users on choosing the appropriate role.

Steps for learning system are presented by their execution order in the following sequence diagram:

Figure 6 learning system sequence diagram

User initiate the process by given the image of pattern PCB to be learned and enter information about this pattern. Then, he choose the kind of learning (front off PCB learning, back PCB learning, distance Learning). The system executes the operation and save image and its features in PCB’s data base.

The next diagram describes tasks to apply to inspect PCB in entry of system.

Figure 7 PCB inspection sequence diagram

Inspector chooses inspection option (front off PCB inspection, back PCB inspection, or distance inspection) and PCB pattern. The system load PCB features from PCB data base. After grabbing image, system inspects PCB and returns the results of inspection.

  1. Non-functional requirements

Those requirements are list of constraints that system should operate under such as:

Reusability: some modules of this project can be reused in other projects such as image analyses modules and learning modules.

Conviviality: System interface should be elegant and simple to manipulate.

Availability: System should be always available unless in the period of maintenance by administrator.

Reliability: System should return good results and process properly.

  1. Conclusion

In this chapter, we have presented the functional and the non-functional requirements. In order to do better to define the specificity of our system, we will synthesize in the next chapter a comparative study between actual methods to inspect PCBs, the architecture of machine vision system and the different defects in PCB.