Software Quality Characteristics of a Well-engineered Software
1.3 Software Quality Assurance and Techniques
Software quality assurance is a subset of software engineering that ensures that all deliverables and work products are meet, and they comply with user requirements and standards. It is considered as one of the most important activity that is applied throughout the software development process. Its goal is to detect defects before the software is delivered as a final product to the end-users. It encompasses a quality management approach, effective software engineering technology methods and tools, formal technical reviews, a multi-tiered testing strategy, control of software documentation and the changes made to it, a procedure to assure compliance with software development standards, and measuring and reporting mechanism.1.3.1 Software Quality
A software has quality if it is fit for use, i.e., it is working properly. In order for it to work properly, it should conform to explicitly stated functional and performance requirements users external characteristics, explicitly documented development standards quality standards, and implicit characteristics developers internal characteristics that are expected of all professionally developed software. Three important points should be raised from the definition of software quality. 1. Software Requirements are the foundation from which quality is measured. It is necessary to explicitly specify and prioritize them. 2. Standards define a set of development criteria that guide the manner by which the software is engineered. 3. Implicit characteristics must be identified and documented; they influence the way software is developed such as good maintainability.1.3.2 Characteristics of a Well-engineered Software
To define a well-engineered software, one takes a look at specific characteristics that the software exhibits. Some of them are enumerated below: • Usability. It is the characteristic of the software that exhibits ease with which the user communicates with the system. • Portability. It is the capability of the software to execute in different platforms and architecture. • Reusability. It is the ability of the software to transfer from one system to another. • Maintainability. It is the ability of the software to evolve and adapt to changes over time. It is characterized by the ease of upgrading and maintaining. • Dependability. It is the characteristic of the software to be reliable, secure and safe. • Efficiency. It is the capability of the software to use resources efficiently. Software Engineering 12 J.E.D.I1.3.3 Software Quality Assurance Activities
Parts
» | Komputasi | Suatu Permulaan
» Quality Focus Process Method Tools
» What is quality? How do we define quality?
» Software Quality Characteristics of a Well-engineered Software
» Software Quality Assurance Activities Formal Technical Reviews
» Types of Software Process Models
» Understanding Systems | Komputasi | Suatu Permulaan
» End-users Understanding People in the Development Effort
» What is documentation? Criteria for Measuring Usability of Documents
» Abstraction Encapsulation Review of Object-oriented Concepts
» Modularity Hierarchy Review of Object-oriented Concepts
» Project Assignment Object-oriented Process Model
» Modeling Activity Unified Modeling Language UML
» UML Baseline Diagrams Unified Modeling Language UML
» Requirements Engineering Concepts | Komputasi | Suatu Permulaan
» Inception Requirements Engineering Tasks
» Elaboration Negotiation Requirements Engineering Tasks
» Specification Validation Requirements Engineering Tasks
» Management Requirements Engineering Tasks
» Scenario Modeling Requirements Analysis and Model
» Requirements Model Validation Checklist
» InvoiceNumber : Numeric Here, an attribute named InvoiceNumber contains a numeric value.
» Ternary association which is a relationship of three or more objects of
» The Analysis Model Analysis Model Validation Checklist
» Requirements Traceability Matrix RTM
» Requirements Metrics | Komputasi | Suatu Permulaan
» The Design Model Design Engineering Concepts
» Describing the Package Diagram Developing the Architectural Design
» Software Architecture Validation Checklist
» Developing the Data Design Model
» Report Design Interface Design
» Forms Design Interface Design
» Basic Component Design Principles Component-level Design Guidelines
» Component Diagram Developing the Software Component
» Project Assignment Design Model Validation Checklist
» Mapping the Design Deliverables to the Requirements Traceability Matrix Design Metrics
» Creating the Data Design Model Creating the Interface Design Creating the Control Design
» Project Assignment Programming Standards and Procedures
» Using Pseudocodes Control Structure Guidelines Documentation Guidelines
» Implementing Packages | Komputasi | Suatu Permulaan
» Abstract Classes Implementing Controllers
» Interfaces Why do we use Interfaces?
» Interface vs. Abstract Class Interface vs. Class Creating Interfaces
» Relationship of an Interface to a Class Inheritance among Interfaces
» Implementing Java Database Connectivity JDBC
» AWT GUI Components Implementing the Graphical User Interface
» Layout Managers Implementing the Graphical User Interface
» Controlling the Version of the Software
» Introduction to Software Testing
» White-Box Testing Techniques Software Test Case Design Methods
» Black-Box Testing Techniques Software Test Case Design Methods
» Testing your Programs | Komputasi | Suatu Permulaan
» Test-driven Development Steps Test-driven Development Methodology
» Testing Java Classes with JUnit
» Testing the System | Komputasi | Suatu Permulaan
» Mapping the Software Testing Deliverable to the RTM Test Metrics
» Project Assignment Software Project Management
» Problem Identification and Definition
» The Project Team Structure Project Responsibility Chart
» Project Work Breakdown Structure WBS
» Work Breakdown Schedule Format
» Size-oriented Metrics- Lines of Codes LOC Function-Oriented Metrics: Function Points FP
» Project Estimations | Komputasi | Suatu Permulaan
» The Risk Table Risk Management
» Risk Identification Checklist Risk Management
» Baseline Software Configuration Tasks
» Writing the Project Plan Project Assignment Case Tools
Show more