The software process

Similar documents
INCOSE Certification for Systems Engineers & Systems Engineering: Fundamental Maxims

Software Quality Engineering Courses Offered by The Westfall Team

Microsoft Exam

Software Quality Engineering Courses Offered by The Westfall Team

1.1.3 In order to achieve effective time management there must be:

Marking Guide Page 1. Install and Optimise Operating System Software

Model-Based Design Maturity: Benchmarking the Automotive Industry Vinod Reddy Manager, Consulting Services

The SAM Optimization Model. Control. Optimize. Grow SAM SOFTWARE ASSET MANAGEMENT

Configuration management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 1

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

Configuration management. Configuration management. Objectives. Configuration management. Topics covered. System families

System Support Engineering Module 2.3 Element 002 System Analysis. Tutor: Dr John Stavenuiter Version: January 2015 [WS]

SE351 Roadmap. SE351a: Software Project & Process Management. W3.2: Software Development Lifecycles

Software Engineering

Introduction to Software Engineering

Migrate with Altiris.

Quality Assurance for Systems Engineering (INSE 6280/2-WW)

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

A Sad Story. Info IV IT Project Management. How to Avoid Troubled Projects. Why IT-Projects Fail

Info IV IT Project Management. A Sad Story. Why IT-Projects Fail. Prof. Dr. Peter Müller. Standish Group Research Study CHAOS 1995

TCC/SHORE TRANSIT BUS MAINTENANCE FACILITY - PHASE II

Solutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung

CMMI V2.0 MODEL AT-A-GLANCE. Including the following views: Development Services Supplier Management. CMMI V2.0 outline BOOKLET FOR print.

Project Report Template (Sem 1)

Oracle Technical Cloud Consulting Services Descriptions. January 25, 2018

LVC-IA EC WBS/Dictionary Dictionary

CHAPTER 7 DESIGN AND IMPLEMENTATION OF AN APPLICATION LAYER ORIENTED ARCHITECTURE FOR RFID SYSTEMS

SATURN th Annual SEI Architecture Technology User Network Conference

Administering System Center Configuration Manager and Intune (20696C)

LVC-IA EC WBS/Dictionary Dictionary

IBM Tivoli Endpoint Manager for Lifecycle Management

SE310 Analysis and Design of Software

Comparison Matrix ISO 9001:2015 vs ISO 9001:2008

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

7. Model based software architecture

OUTLINE Project purpose Product development cycle Phase 1: scoping Phase 2: conceptualisation Phase 3: design

2 Why is systems development difficult and risky? 3 How do businesses use the systems development life cycle (SDLC) process?

Advantage Risk Management. Evolution to a Global Grid

Design of Information Systems 1st Lecture

Software Process 2/12/01 Lecture #

Appendix C: MS Project Software Development Plan and Excel Budget.

ISO/IEC INTERNATIONAL STANDARD. Software and systems engineering Tools and methods for product line technical management

Chapter 4 Requirements Elicitation

NATO Integrated Quality Requirements for Software throughout the Life Cycle

CMMI FOR SERVICES, THE PREFERRED CONSTELLATION WITHIN THE SOFTWARE TESTING FUNCTION OF A SOFTWARE ENGINEERING ORGANIZATION

JTI-CS CFP06-REG-01-09

Agile versus? Architecture

The Work Breakdown Structure in the Systems Engineering Process. Abstract. Introduction

BT Advise Compute Quick Start

Using Agile Software Development to Create an Operational Testing Tool

Integrating the SBC Toolchain John Hogg CTO Zeligsoft

Retail Business Intelligence Solution

Liuzhou, Guangxi, China. *Corresponding author. Keywords: Manufacturing process, Quality management, Information technology.

Research on software systems dependability at the OECD Halden Reactor Project

Ed Wentling Environmental Regulatory Specialist, B&W, KVB- Enertec Products September 23, 2015

APS Cleaning Quality Management System Scope of Certification The provision of commercial and industrial cleaning services throughout Queensland.

TOPIC DESCRIPTION SUPPLEMENT for the SYSTEMS ENGINEERING SURVEY DESCRIPTION

An advisory circular may also include technical information that is relevant to the standards or requirements.

What are IT Architects and what do they do all day?

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT

St Louis CMG Boris Zibitsker, PhD

Two Branches of Software Engineering

Acquiring IT Applications and Infrastructure

NASA Procedural Requirements

Project Management Body of Knowledge (PMBoK)

Buy:

Corporate Capabilities Statement

Validation, Verification and MER Case Study

Chapter 3 Agile Software Development. Part 1b

AC235. SAP Convergent Charging 4.1 COURSE OUTLINE. Course Version: 15 Course Duration: 5 Day(s)

Object-Oriented and Classical Software Engineering

design system integration for aero engine design

Hyperion Planning. Ahmad Bilal 8/31/2010

Software Development Life Cycle:

THE DEVOPS MATURITY CURVE. Justin Vaughan-Brown CA Technologies

Software Engineering. Lecture 1: Introduction

The Life of a Program

TOWARDS DEFINING SOFTWARE DEVELOPMENT PROCESSES IN DO-178B WITH OPENUP

High Tech Firm Controls IT Costs and Improves Staff, Customer Communications

SE curriculum in CC2001 made by IEEE and ACM: What is Software Engineering?

SAP Solution Manager for SAP Business Suite 7

MODULE Explain briefly the different types of system models that might be created during the system analysis phase. 2. Write short notes on

Reuse Concepts. Portable. Reuse. Easily modifying a product as a whole to run under another compiler, OS, or hardware architecture

Building High Assurance Systems with SAFe 4.0

Quality Management of Software and Systems: Processes and QM

Wits Transnet Centre of Systems Engineering

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson

This document describes the overall software development process of microcontroller software during all phases of the Company Name product life cycle.

exam. Number: Passing Score: 800 Time Limit: 120 min File Version: Microsoft

Our Lines of Business

Evolution of the Data Warehouse at the Russian Railways. Igor Movchikov, Head of R&D department

Juha Halminen Teollisuuden Voima Oy Olkiluoto, Finland. Lic. Tech. Risto Nevalainen Finnish Software Measurement Association ry FiSMA Espoo, Finland

Load DynamiX Enterprise 5.2

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY

Validation, Verification and MER Case Study

Plan, Deploy and Configure Microsoft InTune

Agile and Secure Can We Be Both? San Antonio AITP. August 15 th, 2007

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Session Nine: Functional Safety Gap Analysis and Filling the Gaps

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Transcription:

The software process Process product

Process properties Cost Effort Hours worked Punctuality Outline Activities Production (requirements, design, implementation), verification, management Phases Development, operation, maintenance Comparison with traditional engineering System and Software process

Activities Goal Produce software s, data, code with defined, predictable process properties cost, duration and product properties functionality, reliability,..

How to achieve the goal? From the bottom up We need the final thing Executable code But we do not write the executable Source code code

But the source code is large Several physical units Files and directories Several logical units Functions classes design Packages Subsystems So, what units? How do we define and organize them? But, exactly, what the software should do? Add numbers, count cars, forecast weather, control mobile phone, support administration of company? requirements

The production activities Requirement engineering What the software should do Architecture and design What units and how organized Implementation Write source code, (executable code) Integrate units Logical dependencies The production activities (2) Logically, each activity depends on the previous ones To design, one must know the requirements To implement, one must know the design and the requirements First approach is to do these activities in sequence See waterfall model later In practice feedbacks and recycles must be provided Requirements and design are written down in s

Production activities Requirements engineering Requirement. Implement unit Implement unit Unit Unit Integrate units System Ok, we did it Does it work? Is it doing what it should do? Or Did we understand the requirements correctly? Did we implement the requirements correctly?

The V & V activities V & V = verification and validation Control that the requirements are correct Externally: did we understand what the customer/user wants? Internally: is the consistent? Control that the design is correct Externally: is the design capable of supporting the requirements Internally: is the design consistent? Control that the code is correct Externally: is the code capable of supporting the requirements and the design? Internally: is the code consistent (syntactic checks) Production + VV activities Requirements engineering Requirement VV requirements Requirement. VV design Implement unit Implement unit Unit Unit VV unit VV unit Unit Unit Integrate units System VV system System

Well, seems a lot of work Who does what, when? With what resources? How much will it cost, when will we finish? Where are the s and units? Who can modify what? Are we doing it state of the art? The management activities Project management Assign work and monitor progress Estimate and control budget Configuration management Identify, store s and units Keep track of relationships and history Quality assurance Define quality goals Define how work will be done Control results

The whole picture Requirements engineering Requirement VV requirements Requirement. VV design Implement unit Implement unit Unit Unit VV unit VV unit Unit Unit Integrate units System VV system System Project management Configuration management Quality assurance The whole picture (2) Requirement engineering Requirement inspection Requirement Architecture and design inspection Implementation Test, code inspection Software system Configuration management Project management

Phases Beyond development Development is only the first part of the game Operate the software Deployment, operation Modify the software Maintenance End up retirement

The main phases developers Development release deployment users Operation Maintenance retirement developers time months years Maintenance Can be seen as a sequence of developments First development usually longer Next developments constrained by previous ones and related choices If dev_0 chooses java, next developments are in Java If dev_0 chooses client server model, next developments keep C/S

Maintenance developers Development_0 release0 deployment users Operation retirement Maintenance Dev_1 Dev_2 Dev_3 rel_1 rel_2 rel_3 developers time months years Maintenance Development and maintenance do the same activities (requirement, design, etc) But in maintenance an activity is constrained by what has been done before After years, the constraints are so many that changes become impossible

Maintenance R0 D0 I0 Development_0 users Operation Maintenance Dev_1 Dev_2 Dev_3 R1 D1 I1 R3 D3 I3 time Development_0 Req_0 developed from scratch _0 developed from req_0 Impl_0 developed from design_0 Development_1 Req_1 from Req_0 (and Des_0, Impl_0) Des_1 from Req_1 Impl_1 from Des_1

ISO/IEC 12207 Primary processes Supporting processes Acquisition Documentation Supply Configuration management Development Operating Quality management Maintenance Organisational processes Management Improvement Infrastructure Training Scenarios in development Scenario 1: IT to support businesses Development: several months Operation: years Maintenance: years, up to 60% of overall costs Scenario 2: consumer software (games) Development: months Operation: months (weeks) Virtually no maintenance

Scenarios in development Scenario 3: Operating System Development: years Operation: years Maintenance: years, up to 60% of overall costs Scenario 31: Commercial OS (MS) 2, 3 years to develop Several years maintenance Patches issued every day Major releases (Service Pack) at long intervals In parallel development of a new release Cfr W3.1, 95, NT, 2000, XP, Vista, 7, In summary, top down

Phases developers Development deployment retirement release users Operation Maintenance developers time months years Development, activities Requirement engineering Requirement inspection Requirement Architecture and design inspection Implementation Test, code inspection Software system Configuration management Project management

Comparison with traditional engineering The software process Not new Just applying engineering approach to software production What do aeronautics engineers do?

Production + test activities Requirement definition ( what ) airplane, civil usage capacity > 400 people range > 12000km, Noise level < xdb, consumption <.., acquisition cost < y$, operation cost < w $/year high level design ( how ) Blueprints of the airplane Definition of subsystems Avionics, structure, engines Mathematical models Structural (wings and frame) Thermodinamic (engines) low level design Further definition of subsystems In several cases subcontracted or acquired (engine) implementation Implementation of each subsystem unit test Verification that subsystem complies to its specification

Integration Put subsystems together (ex. wing + frame) Integration test Test the assemblies Acceptance test Does it fly? Certification FAA or other tests that it flies and issues a certificate (a defined and long list of checks) Management activities project management project planning project tracking budgeting, accounting configuration management Parts and assemblies change control Quality management Quality handbook Quality plan roles

Is there a difference? Traditional engineering Hundreds year old Theory from physics or other hard science, laws and mathematical models Maturity of customers and managers Software engineering 60 years old Limited theories and laws. More a social science? Variable maturity of customers and managers System and software process

System vs. software Different types of software require different processes Stand alone software software process Embedded software system process The system process System requirements System design Software development Requirements, design, implementation, test, integration System integration and test

The system process System Requirements engineering System Requirement System design System design Hardware development (requirement, design, implementation, test) Hardware System integration, test Software process (requirement, design, implementation, test) Software System Summary Main phases are development, operation, maintenance Development has production, control and management activities The software process is the reference framework for techniques and tools For embedded software the software process is part of the system process Different categories of processes organize these activities in different ways