Senin, 04 Juni 2012

Context of SQA

What is Software Quality???

Software quality  is an abstract concept. Its presence can be difficult to define, but its absence easy to see within moments. 
The quality of a software is hard to define and so much different than a industrial product, that is why software quality have many uniqueness. The differences can be seen below;
1. The Complexity
     Software products usually very complex and allowing for very large number of operational options, thus for industrial products the degree of complexity much lower and allow few operational number
2.  Visibility Products
         Hard for software to detect any bugs or error, because it can't be seen. Unlike industrial products which is very easy to detect machine error. 
 Software consist of 4 components (IEEE & ISO) :
  • Computer programs ("Code")
  • Procedures
  • Documentation
  • Data necessary for operating the software system
Software Quality Assurance include the 4 software components quality to monitor the software engineering processes and method used to ensure quality. Ex; Code Quality, Quality of Procedures, Quality of the documentation and the quality of the necessary software data.

There are many errors, faults, and failures on software which related to software quality assurance, because software errors are the cause of poor software quality. Many causes of software errors, like the points bellow:

1. Faulty Requirement Definition

The faulty definition of requirements usually caused by the client which not clear in giving the requirement list which can cause the software errors. The most common errors are:
- Erroneous definition of requirements
- Absence of vital requirements
- Incomplete definition of requirement
(Ex: The use cases often don't provide enough detail for developers to know what to build. Because the user do not derive specific software functional requirements 

2. Client-Developer Communication Failures

Communication is very important, especially when you work in team which include many different people. There will be a lot differentiation when delivering the material. Misundertstanding in a project can caused a major failure moreover in a development process. These 3 most failure in a client-developer communication failures based on Daniel Gallin;
- Misunderstanding of the client's instructions stated in the requirements document. 
- Misunderstanding of the client's requirements changes presented to the developer in written form during the development period.
- Misundstanding of the client's requirements changes presented orally to the developer during the development period. 
- Misunderstanding of the client's respones to the design problems presented by the developers.

3. Deliberate Deviation from Software Requirements

 In some cases, deviation are deliberately made by the developer from the documented requirements, this thing can caused software errors.The errors in this case usualy by the changin of the products. The most common deviation are:
- The developer reuses software modules 
- Due to the time or budget pressures
- Due to the unapproved improvements (Ex; disregard rquirements that seem inor to the developer)

4.Logical Design Errors


Logical design is the cause of the fatal error of manufacturing or software development. This error occurs because some of the omissions committed by the programmer  or developer in the early initation of the program. Such errors can be errors in determining the program algorithn which includes error theory is used. For example, errors in the calculation formula, execution process, erroneous algorithms that represent software requirements, omission of required software system states and erroneous definition of boundary conditions.

5. Coding Errors

No matter what language is used when coding, there are common errors that can lead to big problems, if they’re not dealt with early. These coding errors can result in severe breaches in security and unstable platforms, costing time, effort and money to repair.

Recently, even big companies like Sony have suffered from programming errors requiring extensive fixes to protect their customer’s private information online. One small error in the coding required the removal of part of the Sony PlayStation Network. Users were asked to reset their passwords and cancel their credit cards as the result of hackers accessing an exploitable security flaw.
Each language has its own set of parameters and issues, but common coding errors are common for one reason – everyone makes them. The trick is to recognize them and resolve them early in the programming process.
Besides that coding error can be made because of these example below;
- Misunderstanding the design documentation
- Linguistic errors in the programming language
- Errors in data selection
Read more: Common Types of Coding Errors http://techgyo.com/index.php/common-types-of-coding-errors/#ixzz1xJP8NEdk


So, all of the software errors lead us into the definition of what is software quality? what is the relation between the software errors and the software quality? 

Software quality is when the product features, system, component or process meet specified requirements and the customer needs and give customer satisfaction.

0 komentar:

Posting Komentar