Selasa, 19 Juni 2012

Software quality factors

Classifications of software requirements into software quality factors

McCall’s factor model

  • Product operation factors: Correctness, Reliability, Efficiency, Integrity, Usability.
  • Product revision factors: Maintainability, Flexibility, Testability.
  • Product transition factors: Portability, Reusability, Interoperability.

Product operation software quality factors

 

Organizing for quality assurance

The software development organizational structure

  • Top management
  • Department managers
  • Project managers

The quality assurance organizational framework

 

Management and its role in software quality assurance

Top management’s quality assurance activities

  • Assure the quality of the company’s software products and software maintenance services
  • Communicate the importance of product and service quality in addition to customer satisfaction to employees at all levels
  • Assure satisfactory functioning and full compliance with customer requirements
  • Ensure that quality objectives are established for the organization’s SQA system and that its objectives are accomplished
  • Initiate planning and oversee implementation of changes necessary to adapt the SQA system to major internal as well as external changes related to the organization’s clientele, competition and technology
  • Intervene directly to support resolution of crisis situations and minimize damages
  • Ensure availability of resources required by SQA systems

The SQA unit and other actors in the SQA system

  • SQA unit members
  • SQA trustees
  • SQA committee members
  • SQA forum members

The SQA unit

SQA trustees and their tasks

  • Unit-related tasks
  • Organization-related tasks

SQA committees and their tasks

SQA committees can be either permanent or ad hoc

SQA forums – tasks and methods of operation

  • SQA procedure improvements and implementation
  • Quality metrics
  • Corrective actions – analysis of failure and success cases
  • Quality system issues – development and implementation of new tools
  • Quality line management problems – daily operational software quality problems brought before it by quality managers from every level

The future of SQA

Facing the future: SQA challenges

  • Growing complexity and size of software packages
  • Growing integration and interface requirements
  • Shorter project schedules
  • Growing intolerance of defective software products

Facing the future: SQA capabilities

  • Extended use of CASE tools
  • Expanded use of professional standards
  • Extended use of automated testing
  • Expanded software reuse.

Senin, 18 Juni 2012

Standards, certification and assessment

The benefits of use of standards

  • The ability to apply software development and maintenance methodologies and procedures of the highest professional level
  • Better mutual understanding and coordination among development teams but especially between development and maintenance teams
  • Greater cooperation between the software developer and external participants in the project
  • Better understanding and cooperation between suppliers and customers, based on the adoption of known development and maintenance standards as part of the contract

The organizations involved in standards development

  • IEEE (Institute of Electrical and Electronics Engineers) Computer Society
  • ISO (International Organization for Standardization)
  • DOD (US Department of Defense)
  • ANSI (American National Standards Institute)
  • IEC (International Electrotechnical Commission)
  • EIA (Electronic Industries Association)

Classification of SQA standards

 


Quality management standards

The scope of quality management standards

  • Enable a software development organization to demonstrate consistent ability to assure that its software products or maintenance services comply with acceptable quality requirements
  • Serve as an agreed basis for customer and supplier evaluation of the supplier’s quality management system
  • Support the software development organization’s efforts to improve quality management system performance and enhance customer satisfaction through compliance with the standard’s requirements

ISO 9001 and ISO 9000-3

ISO 9001 :
  • applies to the processes that create and control the products and services an organisation supplies
  • prescribes systematic control of activities to ensure that the needs and expectations of customers are met
  • is designed and intended to apply to virtually any product or service, made by any process anywhere in the world 
ISO 9000-3 :
  • Develop the organization’s SQA system
  • Implement the organization’s SQA system
  • Undergo certification audits.

Capability Maturity Models – CMM and CMMI assessment methodology

The principles of CMM

  • Application of more elaborate management methods based on quantitative approaches increases the organization’s capability to control the quality and improve the productivity of the software development process.
  • The vehicle for enhancement of software development is composed of the five-level capability maturity model
  • Process areas are generic; they define the “what”, not the “how”

SQA project process standards – IEEE software engineering standards

The main benefits gained by use of project process standards are:
  • The ability to apply the most professional software development and maintenance methodologies available.
  • The ability to apply state-of-the-art project process procedures.
  • Better mutual understanding and coordination among teams, especially between development and maintenance teams.
  • Greater cooperation between the software developer and external participants in the project.
  • Better understanding and cooperation between suppliers and customers, based on incorporation of known standards within the contract.

Structure and content of IEEE software engineering standards

  • Conceptual standards
  • Prescriptive standards of conformance
  • Guidance standards

IEEE/EIA Std 12207 – software life cycle processes


 


Management components of software quality

basic SQA management tools offered here are:

  • Project progress control
  • Software quality metrics
  • Software quality costs

Project progress control

The main components of project progress control are:

  • Control of risk management activities
  • Project schedule control
  • Project resource control
  • Project budget control.

Control of risk management activities

This refers to the software development risk items identified in the preproject stage, those listed in contract review and project plan documents, together with other risk items identified throughout the project’s progress

Project schedule control

This deals with the project’s compliance with its approved and contracted timetables. Follow-up is based mainly on milestones, milestones set in contracts, especially dates for delivery of specified software
products to the customer or completion of a development activity, generally receive special emphasis

Project resource control

This focuses on professional human resources but it can deal with other assets as well. For real-time software systems and firmware, software development and testing facilities resources typically demand the most exacting control.

Project budget control

The main budget items demanding control are:

  • Human resources
  • Development and testing facilities
  • Purchase of COTS software
  • Purchase of hardware
  • Payments to subcontractors

Software quality metrics

Objectives of quality measurement

The metrics are used for comparison of performance data with indicators, quantitative values such as:
  • Defined software quality standards
  • Quality targets set for organizations or individuals
  • Previous year’s quality achievements
  • Previous project’s quality achievements
  • Average quality levels achieved by other teams applying the same development tools in similar development environments
  • Average quality achievements of the organization
  • Industry practices for meeting quality requirements.

Classification of software quality metrics

The first classification category distinguishes between life cycle and other phases of the software system:

  • Process metrics, related to the software development process
  • Product metrics, related to software maintenance
The second classification category refers to the subjects of the measurements:

  • Quality
  • Timetable
  • Effectiveness (of error removal and maintenance services)
  • Productivity
A sizeable number of software quality metrics involve one of the two following measures for system size:

  • KLOC (thousands of code lines)
  • Function points

Process metrics

Software development process metrics can fall into one of the following categories:
  • Software process quality metrics
  • Software process timetable metrics
  • Error removal effectiveness metrics
  • Software process productivity metrics.

Product metrics

Process productivity metrics










 Implementation of software quality metrics

  • Definition of software quality metrics – relevant and adequate for teams, departments, etc.
  • Regular application by unit, etc.
  • Statistical analysis of collected metrics data. 

Limitations of software metrics

  • Budget constraints in allocating the necessary resources (manpower, funds, etc.) for development of a quality metrics system and its regular application.
  • Human factors, especially opposition of employees to evaluation of their activities.
  • Uncertainty regarding the data’s validity, rooted in partial and biased reporting.

Costs of software quality

Objectives of cost of software quality metrics

  • Control budgeted expenditures
  • Previous year’s failure costs

The classic model of cost of software quality

  • Costs of control
  • Costs of failure of control

An extended model for cost of software quality

Application of a cost of software quality system

  • Definition of a cost of software quality model and array of cost items specifically for the organization, department, team or project
  • Definition of the method of data collection.
  • Application of a cost of software quality system, including thorough follow-up.
  • Actions to be taken in response to the findings produced.

Problems in the application of cost of software quality metrics

  • Inaccurate and/or incomplete identification and classification of quality costs
  • Negligent reporting by team members and others
  • Biased reporting of software costs, especially of “censored” internal and external costs
  • Biased recording of external failure costs

Rabu, 06 Juni 2012

SQA architecture

SQA System - an SQA architecture


SQA system components can be classified into six classes:
  • Pre-project quality components
  • Project life cycle quality components
  • Infrastructure error preventive and improvement components
  • Software quality management components
  • Standardization, certification and SQA assessment components
  • Organizing for SQA – the human components

Pre-project components

The SQA components belonging here are meant to improve the preparatory steps taken prior to initiating work on the project itself:

  • Contract review
Software may be developed within the framework of a contract negotiated with a customer or in response to an internal order originating in another department
  • Development and quality plans
Once a software development contract has been signed or a commitment made to undertake an internal project for the benefit of another department of the organization, a plan is prepared of the project (“development plan”) and its integrated quality assurance activities (“quality plan”)

Software project life cycle components

The main components are:
  • Reviews
  • Expert opinions
  • Software testing
  • Software maintenance
  • Assurance of the quality of the subcontractors’ work and the customer supplied parts.

Infrastructure components for error prevention and improvement

SQA components includes:
  • Procedures and work instructions
  • Templates and checklists
  • Staff training, retraining, and certification
  • Preventive and corrective actions
  • Configuration management
  • Documentation control.

Management SQA components

Components include:
  • Project progress control (including maintenance contract control)
  • Software quality metrics
  • Software quality costs.

SQA standards, system certification, and assessment components

External tools offer another avenue for achieving the goals of software quality assurance. Specifically, the main objectives of this class of components are:
  1. Utilization of international professional knowledge.
  2. Improvement of coordination with other organizations’ quality systems.
  3. Objective professional evaluation and measurement of the achievements of the organization’s quality systems.

Organizing for SQA – the human components

The main objectives of the SQA organizational base are as follows:
  • To develop and support implementation of SQA components.
  • To detect deviations from SQA procedures and methodology.
  • To suggest improvements to SQA components.
Although the entire SQA organizational base shares these objectives, each segment of the organizational base concentrates on specific tasks.

Rabu, 23 Mei 2012

Software Quality Metrics

Dalam gambar ini, akan menjelaskan tentang beberapa pengukuran untuk dapat memastikan kualitas dari sebuah software, sehingga kualitas tersebut dapat terjaga. Berbagai macam pengukuran - pengukuran yang ada untuk memastikan qualitas software akan dipetakan secara keseluruhan pada gambar berikut

Rabu, 22 Februari 2012

Rancang Bangun Aplikasi Penggajian di Fakultas Teknologi Informasi

Anggota Kelompok :

Mochammad Adji Firmansyah     5209100003
Sonny Ariyanto Prabowo            5209100017