Software LEIC/LETI. Lecture 21

Similar documents
CC532 Collaborative System Design

Unit 5: Unified Software Development Process. 3C05: Unified Software Development Process USDP. USDP for your project. Iteration Workflows.

Digital Systems Design

F. Tip and M. Weintraub REQUIREMENTS

SOFT 423: Software Requirements

Object-oriented Analysis and Design

UNIT-III LIFE-CYCLE PHASES

Domain Understanding and Requirements Elicitation

Model Based Systems Engineering with MagicGrid

SOFT 423: Software Requirements

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

University of Toronto. CSC340F Information Systems Analysis and Design

EE Lecture 15 (recorded Feb 9, 2011) Fri Feb 15, 2013

Introduction. Requirements Engineering: Why RE? What is RE? How to do RE? -> RE Processes. Why RE in SysE? Case Studies and The Standish Report

10. Personas. Plan for ISSD Lecture #10. 1 October Bob Glushko. Roadmap to the lectures. Stakeholders, users, and personas

Requirements Analysis aka Requirements Engineering. Requirements Elicitation Process

CSE 190: 3D User Interaction. Lecture #17: 3D UI Evaluation Jürgen P. Schulze, Ph.D.

This list supersedes the one published in the November 2002 issue of CR.

Designing for recovery New challenges for large-scale, complex IT systems

Testing in the Lifecycle

ABSTRACT I. INTRODUCTION

Defining Process Performance Indicators by Using Templates and Patterns

Racenet - Sports Gambling. Multi Maxa - MVP app built from scratch

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

CSC2106S Requirements Engineering

R3ST for Requirements Recovery of Legacy Runtime Code

An introduction to these key work products

Validation Plan: Mitchell Hammock Road. Adaptive Traffic Signal Control System. Prepared by: City of Oviedo. Draft 1: June 2015

Introduction to Software Requirements and Design

Introduction to adoption of lean canvas in software test architecture design

Bridging the Gap: Moving from Contextual Analysis to Design CHI 2010 Workshop Proposal

A Roadmap for Ethics-Aware Software Engineering

Components for virtual environments Michael Haller, Roland Holm, Markus Priglinger, Jens Volkert, and Roland Wagner Johannes Kepler University of Linz

Serious Games production:

TECHNICAL AND OPERATIONAL NOTE ON CHANGE MANAGEMENT OF GAMBLING TECHNICAL SYSTEMS AND APPROVAL OF THE SUBSTANTIAL CHANGES TO CRITICAL COMPONENTS.

Requirement Definition

Authentication Using Pulse-Response Biometrics

SOFT 437. Software Performance Analysis. What is UML? UML Tutorial

Lecture 9: Estimation and Prioritization" Project Planning"

Verification and Validation of Behavior Models using Lightweight Formal Methods

Software Requirements Specification

Design Science Research Methods. Prof. Dr. Roel Wieringa University of Twente, The Netherlands

Information and Communications Technology and Environmental Regulation: Critical Perspectives

Engineering, & Mathematics

! Role of RE in software and systems engineering! Current techniques, notations, methods, processes and tools used in RE

Welcome to this IBM podcast, Create Stable and. High Quality Software Creating Software That's Flexible and

Computer Science and Philosophy Information Sheet for entry in 2018

Industrial applications simulation technologies in virtual environments Part 1: Virtual Prototyping

How to prepare for a job interview: easy tips and questions to think about

UNIT IV SOFTWARE PROCESSES & TESTING SOFTWARE PROCESS - DEFINITION AND IMPLEMENTATION

Virtual prototyping based development and marketing of future consumer electronics products

Individual Test Item Specifications

+ + WHAT I AM WORKING ON AT THE MOMENT APPLICATION OF BEHAVIOURAL INSIGHTS IN SERVICE DESIGN CIRCULAR ECONOMY & SUSTAINABLE COMMUNITIES

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)

Motivation-oriented Scenario-based Gamification Design Method using the User Requirements Notation Modeling. Xiaozhou Li

Requirements Engineering Through Viewpoints

Advances and Perspectives in Health Information Standards

Course Overview; Development Process

Adopting Standards For a Changing Health Environment

A STEP BEYOND THE BASICS 6 Advanced Oscilloscope Tips

Documentary Heritage Development Framework. Mark Levene Library and Archives Canada

Addressing the Challenges of Radar and EW System Design and Test using a Model-Based Platform

Hacking User Experience in a Repository Service:

SWEN 256 Software Process & Project Management

Contact info.

Live Agent for Administrators

A Model-Driven Approach to Systems-of-Systems Engineering

AIEDAM Special Issue: Sketching, and Pen-based Design Interaction Edited by: Maria C. Yang and Levent Burak Kara

ARGUING THE SAFETY OF MACHINE LEARNING FOR HIGHLY AUTOMATED DRIVING USING ASSURANCE CASES LYDIA GAUERHOF BOSCH CORPORATE RESEARCH

Inside the black-box. children rights in the digital age. Conceição Costa José Rogado Carla Sousa Sara Henriques

Course Overview; Development Process

CHAPTER 1 INTRODUCTION TO THE GUIDE

2. What is Text Mining? There is no single definition of text mining. In general, text mining is a subdomain of data mining that primarily deals with

Computer Systems Research: Past and Future

Systems Engineering Overview. Axel Claudio Alex Gonzalez

design thinking IS computational thinking mark d gross cmu school of architecture (computational design lab)

Analysis of the electrical disturbances in CERN power distribution network with pattern mining methods

Chapter 7 Requirements Engineering

FORESIGHT METHOD HORIZONS. Module. Introduction to Foresight for Canada Beyond 150

Virtual Testing of Autonomous Vehicles

Personas & scenarios. TUTORIAL 3 Shyamli Sindhwani

Socio-cognitive Engineering

Methodology for Agent-Oriented Software

Frontier Technology Futures: Support to the DFID Bangladesh Country Office

Lecture # 4 Network Analysis

Enabling Model-Based Design for DO-254 Compliance with MathWorks and Mentor Graphics Tools

ADAS Development using Advanced Real-Time All-in-the-Loop Simulators. Roberto De Vecchi VI-grade Enrico Busto - AddFor

Approximating Complex Arithmetic Circuits with Formal Error Guarantees: 32-bit Multipliers Accomplished

Live Agent for Administrators

UX: THE KEY TO SUCCESS FOR YOUR PROJECTS

Grundlagen des Software Engineering Fundamentals of Software Engineering

Agile Non-Agile. Previously on Software Engineering

Teleoperation and System Health Monitoring Mo-Yuen Chow, Ph.D.

IS 525 Chapter 2. Methodology Dr. Nesrine Zemirli

Course Overview; Development Process

A SERVICE-ORIENTED SYSTEM ARCHITECTURE FOR THE HUMAN CENTERED DESIGN OF INTELLIGENT TRANSPORTATION SYSTEMS

Modern Digital System Design Using VHDL: A Practical Introduction

CHAPTER 1 DESIGN AND GRAPHIC COMMUNICATION

Countering Capability A Model Driven Approach

A MODEL-DRIVEN REQUIREMENTS ENGINEERING APPROACH TO CONCEPTUAL SATELLITE DESIGN

Transcription:

Software Engineering @ LEIC/LETI Lecture 21

Last Lecture Offline concurrency patterns (continuation) Object-relational behavioral patterns Session state patterns

Presentation logic Services Domain logic Remote access Data access Remote Service Database Transaction Manager

Remote access Remote Service Presentation logic T R A Services N S Domain logic A C T I O N S Data access Database Transaction Manager

Today Requirements Engineering

Requirements Engineering no man s land

Understand what needs to be solved

Problem

Problem

Problem Solution

Problem Solution becames

becames Problem Solution Problem

becames Problem Solution Problem

becames Problem Solution Problem Solution

The scope

User Requirements

User Requirements

User Requirements

User Requirements

User Requirements System Requirements

User Requirements System Requirements

the solution from the user perspective User Requirements System Requirements

the solution from the user perspective the problem from the developers perspective User Requirements System Requirements

the solution from the user perspective the problem from the developers perspective User Requirements System Requirements The Problem Space

(Fig 4.1, Sommerville)

(Fig 4.2, Sommerville)

Functional and Non-functional Requirements system behaviour and its constraints

create an account

create an account transactions should execute in less than 1 second

create an account transactions should execute in less than 1 second process an adventure

create an account transactions should execute in less than 1 second process an adventure system is unavailable 5 minutes per day maximum

create an account transactions should execute in less than 1 second process an adventure system is unavailable 5 minutes per day maximum only authorized users can use the system

create an account transactions should execute in less than 1 second process an adventure system is unavailable 5 minutes per day maximum only authorized users can use the system

Is Login functional or non-functional?

(Fig 4.3, Sommerville)

(Fig 4.4, Sommerville)

(Fig 4.5, Sommerville)

Qualities of Requirements

complete Qualities of Requirements

complete consistent Qualities of Requirements

complete consistent measurable Qualities of Requirements

Is it easy to achieve the qualities aimed for requirements?

Completeness do they capture all relevant aspects

Consistent different stakeholders security vs availability

Measurable the system should resist attacks

Software Requirements Document

(Fig 4.16, Sommerville)

(Fig 4.17, Sommerville)

How to describe requirements?

(Fig 4.11, Sommerville)

what about test cases? (Fig 4.11, Sommerville)

natural language (Fig 4.12, Sommerville)

structured natural language (Fig 4.13, Sommerville)

tabular specification (Fig 4.14, Sommerville)

graphical notation (Fig 4.15, Sommerville)

formal specification

formal specification what is the difference from a tabular specification?

formal specification what is the difference from a tabular specification? wait for Dafny and see ;)

Requirements Engineering Process

(Fig 4.6, Sommerville)

Requirements Elicitation and Analysis

(Fig 4.7, Sommerville)

(Fig 4.7, Sommerville) interviewing

interviewing ethnography (Fig 4.7, Sommerville)

interviewing ethnography stories (Fig 4.7, Sommerville)

interviewing ethnography stories scenarios (Fig 4.7, Sommerville)

(Fig 4.9, Sommerville)

(Fig 4.10, Sommerville)

Requirements Validation

(Fig 4.18, Sommerville)

TYPES (Fig 4.18, Sommerville)

TYPES validity checks (real needs) (Fig 4.18, Sommerville)

TYPES validity checks (real needs) consistency checks (Fig 4.18, Sommerville)

TYPES validity checks (real needs) consistency checks completeness checks (Fig 4.18, Sommerville)

TYPES validity checks (real needs) consistency checks completeness checks realism checks (Fig 4.18, Sommerville)

TYPES validity checks (real needs) consistency checks completeness checks realism checks verifiability (measure) (Fig 4.18, Sommerville)

TYPES validity checks (real needs) consistency checks completeness checks realism checks verifiability (measure) VALIDATION (Fig 4.18, Sommerville)

TYPES validity checks (real needs) consistency checks completeness checks realism checks verifiability (measure) VALIDATION (Fig 4.18, Sommerville) reviews

TYPES validity checks (real needs) consistency checks completeness checks realism checks verifiability (measure) VALIDATION (Fig 4.18, Sommerville) reviews prototyping

TYPES validity checks (real needs) consistency checks completeness checks realism checks verifiability (measure) VALIDATION (Fig 4.18, Sommerville) reviews prototyping test-case generation

Requirements Management

Planning

Planning large number of requirements

Planning large number of requirements

Planning identification large number of requirements

Planning identification large number change management of requirements

Planning identification large number of requirements change management traceability

Planning identification large number of requirements change management traceability tool support

(Fig 4.19, Sommerville) Requirements Change Management

Agile Requirements

stories Agile Requirements

value stories and dimension Agile Requirements

value stories and dimension Agile Requirements product backlog

value stories and dimension Agile Requirements product backlog can be changed

value stories and dimension Agile Requirements product backlog can be changed sprint backlog

value stories and dimension Agile Requirements product backlog can be changed sprint backlog preserve goal

Complete specifications are not always possible S, P, and E systems?

Lehman s Law

Different classifications of software systems

In S-systems the problem is formally defined math library

Implement the specification

P-systems implement a model of the problem chess game

Define the abstraction and implement it

E-systems implements a model of the problem, which becomes part of the reality automated stock trading

Define the abstraction, implement it, and change the world

The impact of Lehman s Law on Requirements Engineering? the requirements are a model of reality and models change