Software Specification and Configuration Management

Slides:



Advertisements
Similar presentations
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Advertisements

MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
Overview Finite State Machines
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 13 Developing and Managing Information Systems.
Configuration Management
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
CSSE 375 Software Construction and Evolution: Configuration Management
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Software Configuration Management
Software Configuration Management (SCM)
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
ITEC 3220M Using and Designing Database Systems
1 Configuration Management “The Cookbook Approach”
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Quality Assurance
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Over View of CENELC Standards for Signalling Applications
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Configuration Control (Aliases: change control, change management )
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
Learning Objectives Today we will Learn: The different methods of implementation The differences between user and technical documentation.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
Advanced Higher Computing Science
ITIL: Service Transition
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Methodologies and Algorithms
Software Specification and Software Reuse - BELLA LPA experiment
Software Testing.
Software Configuration Management
Software Configuration Management CSC-532
Software Project Configuration Management
Software Quality Control and Quality Assurance: Introduction
Chapter 10, Software Configuration Management
Database Development (8 May 2017).
System Design, Implementation and Review
Chapter 11: Software Configuration Management
Software Configuration Management
Introduction to Visual Basic 2008 Programming
Software Specification Tools
Chapter 18 Maintaining Information Systems
Modern Systems Analysis and Design Third Edition
How SCADA Systems Work?.
System Design.
Software Configuration Management
Software Documentation
Software Requirements
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Applied Software Implementation & Testing
Engineering Processes
Chapter 4 Automated Tools for Systems Development
Introduction to Systems Analysis and Design
Software Development Process
Chapter 11: Software Configuration Management
Lesson 1 Understanding Software Quality Assurance
Combinational Logic - An Overview
Chapter 1: The Database Environment
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
CS310 Software Engineering Lecturer Dr.Doaa Sami
The Database Environment
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Combinational Logic - An Overview
Modern Systems Analysis and Design Third Edition
Presentation transcript:

Software Specification and Configuration Management Patrick Bong LBNL Interlock SME

Requirements, Specification and Configuration Management These concepts are critical to software design and control of safety interlock software at LBNL. Requirements Provides the description of the project and the interactions of the components Specification Provides the details of implementation Configuration Management Provides the control over the deployment of new and modified software

Requirements Document Introduction Project/Facility overview Assumptions and dependencies System Description Protective boundaries Protective devices Warning devices User interfaces System Requirements Protective functions Administrative functions Performance requirements RAMS (reliability, availability, maintainability) This is the top level document to which all others must comply We assume there’s going to be an accelerator, depending on funding. The accelerator is housed in a bunker with 2 doors. Interlock switch detects the position of the door. Emergency off buttons 2 interior locations. Warning sign above door with redundant lights. Warning lights inside enclosure. Warning annunciator inside enclosure. Telephone at each door. The system description does not necessarily need to describe the functionality that the requirements will provide.

Software Specification The software specification provides the details of how the software is going to operate. The software specification must always conform to the details provided in the Requirements document. The software specification may be embedded in the requirements document.

Types of Specification Verbose Provides a detailed explanation of the interaction between inputs and outputs. Truth tables Provides the logic for a single function. Graphical Uses logical symbols to describe functions.

Specification of Search and Clear

Verbose Search and Clear Search and clear must be started from the HMI and completed sequentially by turning the key switch at each search and clear station. When the key is turned at the first search and clear station, Access Control must be disabled preventing access to the exclusion zone while the search is in progress. The search and clear will be limited to a 3 minute time period, after which the circuit will reset requiring the search process to be re-started from the HMI. The search and clear process is completed by turning the High‑Energy Mode Key Selector to High-E Mode.

Truth Table

Graphical Specification

Comparison A good specification uses a combination of the specification types to provide programmer guidance and help manage the software development cycle. Verbose Very similar to the description in the requirements document. Must be extremely detailed to guide software development. Truth table Very detailed description of the function, but difficult to follow and understand the complete impact to the overall logic. Software can be derived directly from tables. Graphical specification Better representation of the overall logic. Logic may need to be parsed during software development.

Software Configuration Management The purpose of Software Configuration Management is to establish and maintain the integrity of the software throughout a project's life cycle. Software Configuration Management involves evaluating, coordinating, approving (or disapproving) and implementing changes in hardware or software or documentation from the initial concept through design, implementation, testing, baselining, building, release, and maintenance.

The 3 Things Process document Software version control system Provides SSQA guidance and defines; Reviews and testing Labeling Software version control Document control Software problem reporting Software version control system Source code management and revision control system Document control system Document management system

Software Version Control Systems Git Git is an open source distributed Source Control System CVS Free software client-server Revision Control System. Perforce Version Control System that stores all activity in a centralized database. ClearCase  Software Configuration Management system that also supports design-data management of electronic design documents.

Revision, Source and Version Control Technically… Revision Control is the generic term for managing versions of documents or code. Source Control offers revision control with branching and merging which are not always available in all revision tools Version Control is a more general term than Source Control in that it manages version of anything (sources or binaries, or any kind of documents). Software Configuration Management includes change management up to release, including versioning

Conclusion The Requirements document is the top level document to which all others must comply Prepare the software specification to allow rapid development of the software. When bugs are found ask, “Is this a result of an error in the system requirements?” Use a software Version Control System to track revisions in safety software.