24
CPSC 871 John D. McGregor MCS1 Conformance and Certification

CPSC 871 John D. McGregor MCS1 Conformance and Certification

Embed Size (px)

Citation preview

Page 1: CPSC 871 John D. McGregor MCS1 Conformance and Certification

CPSC 871

John D. McGregorMCS1

Conformance and Certification

Page 2: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Please read for Thursday

• http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5562808&tag=1

Page 3: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Basic elements

• Software development process

– Requirements – Design – Coding – Integration

• Validation & Verification

– Reviews– Analyses– Tests

Page 4: CPSC 871 John D. McGregor MCS1 Conformance and Certification

The basic set

• DO-178B (as well as A, C, D) are sets of guidelines for verifying software used in life critical systems in planes, trains, and automobiles as well as health care.

• Verification takes the form of an argument to “prove” that a product is safe.

• The argument is termed an “assurance case.”

Page 5: CPSC 871 John D. McGregor MCS1 Conformance and Certification

High-level process

• Requirements – captures functional and non-functional

• Design – structures the system based on non-functional requirements

• Coding – design translated to executable statements

• Integration – components from multiple teams are brought together to form larger portions of the system

Page 6: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Verification

• Software Verification Process Framework, consisting of three techniques to perform the validation of the process:– Reviews: Provide a qualitative assessment of

correctness– Analyses: Provide repeatable evidence of

correctness– Tests: Dynamic execution of the product

Page 7: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Reviews and Analyses of the Software Architecture

• Compatibility with the high-level requirements• Consistency• Compatibility with the target computer• Verifiability• Conformance to standards• Partitioning integrity

Page 8: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Reviews and Analyses of the Source Code

• Compliance with the software architecture• Conformance to standards• Accuracy and consistency• Think SONAR

Page 9: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Requirements-Based Testing Methods

• Requirements-based Software Integration Testing

• Requirements-Based Low-Level Testing• Structural Coverage Analysis Resolution• Dead code• Deactivated code

Page 10: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Software Configuration Management Process Activities

• Change Review• Configuration Status Accounting

• Must assure that the build contains the correct units

• Must assure that deployment packages must contain the correct units

Page 11: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Software Design Standards

• Naming conventions to be used.• Constraints on design, for example, exclusion

of recursion• Complexity restrictions, for example,

maximum level of nested calls

Page 12: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Software Code Standards

• Programming language(s) to be used and/or defined subset(s).

• Naming conventions for components, subprograms, variables, and constants.

• Conditions and constraints imposed on permitted coding conventions, such as the degree of coupling between software components

Page 13: CPSC 871 John D. McGregor MCS1 Conformance and Certification

An example of conformance testing

• http://files.ctia.org/pdf/CTIA_Bluetooth_CC_PMD_Rev_3.1.pdf

• Testing the conformance to the Bluetooth standard

• Many standards come complete with a test suite that evaluates conformance

• Not a substitute for product testing

Page 14: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Independent labs

• Labs become certified to test conformance• They must meet criteria• They may have to pay a fee to the standard

owner

Page 15: CPSC 871 John D. McGregor MCS1 Conformance and Certification

More on deployment

• Enterprise programs – big, handles lots of data, embodies the firm’s business

• Local programs – small, change quickly, embody a set of rules

• Create a complete package, often tools such as Ant are used to automate package creation from a tested script

• Many platforms usually mean multiple scripts

Page 16: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Deployment do’s & don’ts

• Have a common language for each type of release• All release activity is documented in an issue tracking system• Absolutely everything must be in version control• Each environment has a single, well-defined responsibility• A software version is represented by an SCM tag• Every step of the release process is scripted and can be run by

anyone with sufficient privileges• Plan for failure• Don’t treat servers like your laptop; nuke and pave!

Page 17: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Deployment

• Types of deployment– Media-based – a set of discs that contain an

application that validates the platform and installs– Web-based – software is downloaded and a file is

unzipped – Local service – Windows has a local service– Remote service – a remote service controls the

deployment

Page 18: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Administrative actions Publish to users Assign to users Assign to

computersAfter the administrator deploys the software, it is available for installation:

If an application is deployed in a GPO that is already applied to the user from a previous logon, it is available for installation in the current logon session

If an application is deployed in a GPO that is already applied to the user from a previous logon, it is available for installation in the current logon session

The next time the computer starts (reboot).

Typically, users install the software from:

The Add/Remove Programs in Control Panel.

Start menu shortcut.Desktop shortcut.Add/Remove Programs in Control Panel.

The software is already installed.

If the software is not installed and the user opens a file associated with the software, will the application install?

yes yes The software is already installed.

Can the users remove the software using the Add/Remove Programs in Control Panel?

Yes. Users can re-install the application from the Add/Remove Programs in Control Panel.

Yes. The software will be re-advertised immediately. This means that the shortcuts will be present in the users' desktops and they can re-install the application by clicking on a shortcut, for example.

No. Only the local administrator can remove the software. A user can run a repair on the software.

Page 19: CPSC 871 John D. McGregor MCS1 Conformance and Certification

The latest - DevOps

• An integration of development and operations teams

• Automation of deployment• Automation of feedback at all points• Paths of communication

Page 20: CPSC 871 John D. McGregor MCS1 Conformance and Certification

IBM’s perspective

• http://www.ibm.com/ibm/devops/us/en/• Download and read the DevOps for Dummies

book from this web site• Culture, Process, and Tools• Plan and measure• Develop and test• Release and deploy • Monitor and optimize

Page 21: CPSC 871 John D. McGregor MCS1 Conformance and Certification

LifeCycle

Page 22: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Case Study• This company is an online healthcare information provider offering consumers

information on improving health or treating an illness. Based in the United States, the company employs approximately 1,500 people. The company’s health information services systems consist of more than 200 applications.

• Business need: To quickly deliver an engaging customer experience with the most up-to-date information, this company needed a more efficient and reliable process to deploy new products and features.

• Solution: The organization implemented IBM® UrbanCode Deploy software to automate and improve its application deployment processes.

• Benefits: The company now achieves faster, continuous delivery of new functionality and value to customers. The solution helps reduce deployment risk and supports a more collaborative culture.

Page 23: CPSC 871 John D. McGregor MCS1 Conformance and Certification

Case study 2• Headquartered in Chicago, Cars.com is a leading destination for online car

shoppers, visited by more than 11 million users each month. The site offers credible and easy-to-understand information from consumers and experts that can help users formulate opinions on what to buy, where to buy and how much to pay for a car. The site includes comprehensive pricing information, side-by-side comparison tools, photo galleries, videos, editorial content and a large inventory of new and used vehicles. Founded in 1998, Cars.com is a division of Classified Ventures, LLC.

• Business need: To eliminate a backlog of projects and improve staff efficiency and morale, Cars.com wanted to overhaul its development processes, moving from waterfall methods to agile methodology.

• Solution: Working with IBM and IBM Business Partner Ascendant Technology, LLC, Cars.com implemented IBM Rational Build Forge and IBM Rational Automation Framework software.

• Benefits: Using the new platform, Cars.com company decreased the time to deploy releases by 77 percent. The company now averages 300 new product releases a year versus the 30 to 40 it deployed in the past.