05. Standards

Standards

Groups of international experts sharing knowledge to develop solutions to common problems found in a range of activities.

Standards help with:

Some organizations:

Problems:

Understanding the standard does not mean you understand how to apply them/implement the solution or attain quality.

One of UC’s (5th?) student management system:

Quality and Service Standards

IEEE Standard 1012: system, software, and hardware verification and validation.

Determines if requirements are:

4 integrity levels.

Verification and Validation (V & V)

Comparison:

Verification:

Validation:

Software integrity level (SIL)

  1. Negligible consequences if element fails - mitigation not required
  2. Minor consequences if element fails - complete mitigation possible
  3. Serious consequences if element fails
  1. Grave consequences - no mitigation possible

NASA matrix:

Consequences
     ^
     | SIL3      SIL4
     |
     | SIL1      SIL2
     --------------->
      Error Potential

Engineering V Model

Waterfall-type development lifecycle. On the left, the requirements and design are verified and validated; on the right, the system is verified and validated.

Stakeholder  <------------------------ User acceptance
requirements        Validates            testing
     \                                      ^
      \                                    /
       v             Verifies             /
      System   <---------------- System integration
    requirements                      testing
         \                              ^
          \                            /
           v         Verifies         /
       Subsystem  <-----------  Integration
      requirements               Testing
             \                     ^
              \                   /
               v     Verifies    /
      Unit/component <-------  Unit
        requirements         testing
                  \            ^
                   \          /
                    v        /
                   Development

Task: SENG302 Verification and Validation

Verification (remember; verification requires artifacts that the assessor can view):

Did we have enough work products/artifacts to validate?

Design decisions: if not recorded, harder to validate/verify

Validation:

As a customer to a SENG302 team, how does the team give confidence that they can deliver?

Problem: a large number of software projects fail. Why?

How can a software company ensure high-quality, low failure, high predictability and consistency?

Capability Maturity Model

Military software contracts were often late, failed, or went over-budget. The US DoD Software Engineering Institute developed the capability maturity model to quantify how mature a software business and assess its practices, process and behaviors.

Five aspects of CMM:

  1. Maturity levels
  2. Key process areas (KPA):
  1. Goals:
  1. Common features:
  1. Key practices

Maturity levels:

  1. Initial:
  1. Repeatable:
  1. Defined:
  1. Managed (capable):
  1. Optimizing (efficient):
Capability Maturity Model Integrity (CMMI)

Successor to CMM by the Carnegie Mellon University.

Focuses more on results rather than activities when compared to the CMM.

CMM is based heavily on the paper trail; CMMI focused more on strategy (but still a lot of paper/documentation).

  1. Initial
  2. Managed
  1. Defined
  1. Quantitatively managed
  1. Optimized

Models for:

Appraisals:

Pros and Cons

Pros:

Cons:

Immaturity Models

Businesses that are below level 1: anti-patterns to avoid.