Sistemi ICT per il Business Networking

Similar documents
Development Process Bennett, McRobb and Farmer 1

Introduction of RUP - The Rational Unified Process

Ingegneria del Software Corso di Laurea in Informatica per il Management

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

The Top Thrill Dragster

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

The software process

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

2009 Spring. Software Modeling & Analysis. - Software Process Model. Lecturer: JUNBEOM YOO

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

An Overview of Software Process

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Software Development Methodologies

A COMPARATIVE ANALYSIS OF THREE KNOWLEDGE AREAS OF THE GUIDE TO THE SOFTWARE ENGINEERING BODY OF KNOWLEDGE WITH THE RATIONAL UNIFIED PROCESS

Software Development Methodologies. CSC 440: Software Engineering Slide #1

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Software development processes: from the waterfall to the Unified Process

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

Object-Oriented and Classical Software Engineering

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007

7. Model based software architecture

Comp435 Object-Oriented Design. Requirements and Use Cases. Requirements Analysis. Outline. Requirements Analysis. Requirements change

Software Engineering Modern Approaches

Software Engineering and Software Engineers

Software Engineering

Rational Unified Process

Requirements Engineering

The Systems Development Lifecycle

Essentials of IBM Rational Requirements Composer, v3. Module 4: Creating a use-case model

2009 Spring. Software Modeling & Analysis. Introduction to OSP. Lecturer: JUNBEOM YOO

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

Chapter 1 Software Process

Rational Unified Process (RUP) in e-business Development

Software Modeling & Analysis

Requirements Analysis

Chapter 3 Prescriptive Process Models

ADM The Architecture Development Method

Chapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Software development processes: from the waterfall to the Unified Process

Software Processes 1

What Is the Rational Unified Process?

Introduction to Software Engineering

Test Workflow. Michael Fourman Cs2 Software Engineering

03. Perspective Process Models

MSO Lecture 2. Wouter Swierstra (adapted by HP) September 14, 2017

What are requirements? Basics of Requirement Engineering. Definition of a Stakeholder. Stated Vs. Real Requirements. Stated Vs.

RUP and XP Part II: Valuing Differences

A New Divide & Conquer Software Process Model

Chapter 3 Software Process Model

Software Engineering

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

CSE 435 Software Engineering. Sept 14, 2015

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

Requirements Analysis. Overview

Credit where Credit is Due. Lecture 2: Software Engineering (a review) Goals for this Lecture. What is Software Engineering

CSEB233: Fundamentals of Software Engineering. Software Requirements Part 1 Understanding Requirements Engineering

The Unified Software Development Process

A Comparison Between Two Software Engineering Processes, RUP And Waterfall Models

Verification and Validation

MTAT Software Engineering Management

Coverage Analysis and Improvement of the Role Definitions of the Bombardier Software Engineering Process

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

CS/IT Secure Software Construction

TOGAF usage in outsourcing of software development

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008

Processes and Life- Cycles. Kristian Sandahl

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

Processes and Life- Cycles. Kristian Sandahl

REQUIREMENTS ENGINEERING

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

making money from customer use of kiosk attracting more customers to the store saving money if the kiosk replaces manual operations

Course Introduction and Overview

CMPT 275 Software Engineering

<Project Name> Development Case

Project Scope Management

Chapter 4 Requirements Elicitation

Requirements Engineering and Agile Methodology

Arcade Game Maker Product Line - Concep of Operations

The Strengths and Weaknesses of Software Architecture Design in the RUP, MSF, MBASE and RUP-SOA Methodologies: A Conceptual Review

Pertemuan 2. Software Engineering: The Process

RIGHTNOW A C E


CHAPTER 2 LITERATURE SURVEY

TOGAF 9.1 in Pictures

Syllabus. REQB Certified Professional for Requirements Engineering. Advanced Level Requirements Manager

[Name] [ ID] [Contact Number]

Software Life Cycle. Main Topics. Introduction

Rational Software White Paper TP 174

Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 21 st, Requirements Engineering

The Benefits of Software Architecting

(c) Addison Wesley Chapter 1. ! Software production is an art. ! Two groups. ! Main causes of software failures

Introduction to Systems Analysis and Design

Adopting Agile in an FDA Regulated Environment

Transcription:

Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Requirements Engineering Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 UP Phases 1. Inception approximate vision, business case, scope, vague estimates. 2. Elaboration refined vision, iterative implementation of the core architecture, resolution of high risks, identification of most requirements and scope, more realistic estimates. 3. Construction iterative implementation of the remaining lower risk and easier elements, and preparation for deployment. 4. Transition beta tests, deployment. 2 1

UP Phases This is not the old "waterfall" or sequential lifecycle of first defining all the requirements, and then doing all or most of the design. Inception is not a requirements phase; rather, it is a kind of feasibility phase, where just enough investigation is done to support a decision to continue or stop. Elaboration is not the requirements or design phase; rather, it is a phase where the core architecture is iteratively implemented, and high risk issues are mitigated. 3 Elaboration phase Elaboration ends when the high risk issues have been resolved, the architectural core or skeleton is complete, and "most" requirements are understood. At the end of elaboration, it is possible to more realistically estimate the remaining effort and duration for the project. 4 2

Phases and iterations 5 UP Disciplines The UP describes work activities (e.g. writing a use case) within disciplines Discipline: a set of activities (and related artifacts) in one subject area (e.g. the activities within requirements analysis) Artifact: any work product (e.g. code, Web graphics, database schema, text documents, diagrams, models, ). 6 3

UP Disciplines 7 Requirements Requirement: a statement of a system service or constraint. Capabilities and conditions to which the system must conform. Service statement a business rule that must be obeyed at all times (e.g. salaries are paid on Wednesdays ) a computation that the system must carry out (e.g. calculate salesperson commission based on the sales in the last month using a particular formula ) Constraint statement a restriction on the system s behavior ( only direct managers can see the salary information of their staff ) a restriction on the system s development ( we must use those development tools ) 8 4

Requirements determination To identify, analyze and negotiate requirements with the customers This does not refer to the waterfall attitude of attempting to fully define and stabilize the requirements in the first phase of a project, but rather "a a systematic approach to finding, documenting, organizing, and tracking the changing requirements of a system in the context of inevitably changing and unclear stakeholder's wishes Important terms: Changing: the UP embraces change in requirements as a fundamental driver Finding: skillful elicitation via techniques such as use case writing and requirements workshops 9 Types of Requirements: FURPS+ Functional: features, capabilities, security Usability: human factors, help, documentation Reliability: frequency of failure, recoverability, predictability Performance: response times, accuracy, availability, resource usage Supportability: adaptability, maintainability, internationalization, configurability Others: Implementation: resource limitations, languages, tools, hardware Interface: constraints imposed by interfacing with external systems Operations: system management in its operational setting Packaging Legal: licensing, FURPS + 10 5

Types of Requirements Important. There are several systems of requirements categorization and quality attributes published in books and by standards organizations, such as ISO 9126 (which is similar to the FURPS+ list), and several from the Software Engineering Institute (SEI) In common usage, requirements are categorized as functional (behavioral) or non-functional (everything else) 11 Several techniques: Requirements determination Structured and non-structured interviews Questionnaires Analysis of existing documents Rapid prototyping Attention to overlapping and contradicting requirements Output: requirements document (text, diagrams, tables, no formal models) a contract between developers and customers 12 6

Functional requirements: Use-Case Model Requirements artifacts system features list of the Vision artifact, which summarizes highlevel requirements that are elaborated in other documents Other requirements: in the use cases they relate to Supplementary Specifications artifact Glossary: terms used in the requirements encompasses the concept of the data dictionary 13 Development case 14 7

Requirements specification Important. Ideally, the specification models should (if possible) be independent from the hardware/software platform on which the system is to be deployed Remember: it concerns with WHAT!!! 15 The only constant is change: Some Problems with the Waterfall Lifecycle: Requirements Inflexibility the stakeholders change their minds or cannot fully envision what they want until they see a concrete system the market changes Waterfall: lack of responsiveness to changing user wishes or market opportunities Iterative development Iterative development: not all requirements are specified before design and implementation, and requirements are not stabilized until after at least several iterations 16 8

Requirements Inflexibility: Mitigation with iterative processes 1. A subset of core requirements is defined The team chooses a subset of those to design and implement (based usually on highest risk or business value) 2. Stakeholders meet in a second one- or two-day requirements workshop, intensively review the partial system, and clarify and modify their requests. 3. Iteration of incrementally implementing the system 4. Stakeholders meet in a third requirements workshop, and refine again 5. A somewhat realistic plan and estimate of the remaining work is possible 6. 17 References Understanding requirements Understanding requirements (Capitolo libro Applying UML and patterns ) 18 9

Other references The Rational Unified Process An Introduction by Philippe Kruchten The Unified Software Development Process by Jacobson, Booch, and Rumbaugh Software Engineering Body of Knowledge (SWEBOK), available at www.swebok.org The SEI (www.sei.cmu.edu) has several proposals related to quality requirements The ISO 9126, IEEE Std 830, and IEEE Std 1061 are standards related to requirements and quality attributes, and available on the Web at various sites 19 10