The Software Quality Challenge - csactor

Breaking

csactor

computer science , software engineering ,information system and information technology lesson series like data structure and algorithm , computer networking , programming , database , web development , operating system , information system , digital marketing and business study.

Sunday, March 17, 2019

The Software Quality Challenge


The Software Quality Challenge








The differences between software and other industrial products

1. High complexity, as compared to other industrial products 

2. Invisibility of the product 

3. Opportunity to detect defects (“bugs”) are limited the product development phase


1. Product complexity

Product complexity can be measured by the number of operational modes the product permit. 

• An industrial product, even an advanced machine, does not allow for more than a few thousand modes of operations, created by the combinations of its different machine settings. 

• Looking at a typical software package one can find millions of software operation possibilities.

2.Product visibility

• Where as the industrial products are visible, software products are invisible. 

• Most of the defects in an industrial products can be detected during the manufacturing process. 

• Moreover the absence of a part in an industrial product is, as a highly visible (Imagine a door missing from you new car)

3.Product development and production process

The phases at which the possibility of detecting defects in an industrial products may arise in; 

• Product development : The designer and quality assurance (QA) staff check and test the product prototype in order to detect its defects 

• Product production Planning : During this phase the production process and tools are designed and prepared. In some products there is a need for a special production line to be designed and built. This provides additional opportunities to inspect the product. 

• Manufacturing : QA procedures are applied to detect failures of the products themselves. Defects in the detected in the first period of manufacturing can usually be corrected by a change in the product’s design or material, or in the production tools .



The environments for which SQA methods are developed


Software are developed by many individuals and in different situations fulfills a variety of needs; 

• Pupils and students development software as a part of their education 

• Software amateurs develop software as a hobby 

• Professionals in engineering, economics, management and fields develop software to assist them in their work, to perform calculations, summarize research and survey activities etc. 

• Software development professionals (system analysts and programmers) develop software products or firmware as a professional career .

The main characteristics of SQA environment

1. Being contracted 

2. Subjection to customer–supplier relationship 

3. Requirement for teamwork 

4. Need for cooperation and coordination with other development teams 

5. Need for interfaces with other software systems 

6. Need to continue carrying out a project while the team changes 

7. Need to continue maintaining the software system for years.


1. Contractual conditions

• The commitments and conditions defined in the contract between the software developer and the customer 

• The activities of software development and maintenance need to cope with; 

 A defined list of functional requirements that the developed software and its maintenance need to fulfill 
 The project budget 
 The project timetable

2. Customer – supplier relationship

• Throughout the process of software development and maintenance, activities are under the oversight of the customer. 

• The project team has to cooperate continuously with the customer. 

• Such relationship do not usually exist when software is developed by non-software professionals. 


3. Required teamwork


Three factors usually motivate the establishment of a project team rather than assigning the project to one professional 

 Timetable requirements 
 The need for a variety of specializations in order to carry out the project 
 The wish to benefit from professional mutual support and review for enhancement of project quality.


4. Cooperation and coordination with other teams


In these cases, cooperation may be required with; 

Other software development teams in the same organization 
Hardware development teams in the same organization 
Software and hardware development teams of other suppliers Customer software and hardware development teams that take part in the project’s development.


5.Interfaces with others s/w systems


• Most software systems include interfaces with other software packages. One can identify the following main types of interfaces; 

 Input interfaces, where other software systems transmit data to your software system 
 Output interfaces, where your software system transmits processed data to other software systems  Input and output interfaces to the machine’s control board, as in medical and laboratory control systems, Salary processing software.


6.The need to continue carrying out a project despite team member changes


•It is quite common for team members to leave the team during the project development period whether 

 owing to promotions to higher level jobs, 
 switch in employers, 
 transfers to another city/branch etc 

• Training the newly appointed people


7. The need to continue carrying out s/w maintenance for an extended period

•During the service period, the need for maintenance




No comments:

Post a Comment