Lecture 1: Processes, Requirements, and Use Cases

Similar documents
Requirements Analysis. Overview

Requirements Analysis

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

Object-Oriented Analysis/Design and Use Cases Object Oriented Analysis and Design

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

Rational Unified Process

Development Process Bennett, McRobb and Farmer 1

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

Requirements Engineering and Agile Methodology

Requirements Use Cases

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

Scrum, Creating Great Products & Critical Systems

PART II Inception. Chapter 4 Inception is Not the Requirements Phase. development cycle. phase. iteration. inc. elaboration construction transition

Global Information Systems: Development Frameworks. Prof. Dr. Jan M. Pawlowski Autumn 2013

Sistemi ICT per il Business Networking

A New Divide & Conquer Software Process Model

Processes and Life- Cycles. Kristian Sandahl

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

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Requirements Engineering. Andreas Zeller Saarland University

Chapter 1 Systems Development in an Organization Context

Inception. Describe the vision and business case for this project. Determine if the enterprise should build or buy the necessary system.

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

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

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

Requirements Engineering

RUP and XP Part II: Valuing Differences

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

Requirements for an MDM Solution

03. Perspective Process Models

Unifying Systems and Software Teams: A Holistic Approach to Systems Development

The Art of Agile Practice

Software Engineering Lecture 5 Agile Software Development

Two Branches of Software Engineering

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

Object-Oriented Analysis and Design PART1: ANALYSIS

Software Life Cycle. Main Topics. Introduction

Note 10: Software Process

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Types of S/W Requirements. Levels of S/W Requirements

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

status Homework 2 posted:

Prof. Dr. Liggesmeyer, 1. Quality Management of Software and. Processes and QM. Systems. QMSS Processes and QM


Task 1: Multiple Choice (25%)

Object-Oriented & Classical Soft Engineering

Agile Acquisition. Peter Modigliani 10 Dec 12. Presented to: Mr. Koen Gijsbers. General Manager NATO Communications and Information Agency

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 10. * Construction, Installation and Operations * Agile Method Software Development

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

Reducing Business Risk

Agile Software Requirements. Matthew Renze Iowa State University COMS 409 Software Requirements

Learning Objectives. Agile Modeling and. Major Topics. Prototyping. Patched Up Prototype. Agile Modeling, but First. Prototyping

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

CMPT 275 Software Engineering

Joined-up Requirements: Business Goals to System Tests

Verint Engagement Management Solution Brief. Overview of the Applications and Benefits of

The Top Thrill Dragster

The software process

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

Stop the Test Automation ROI-based Justification Insanity. Bob Galen President & Principal Consultant RGCG, LLC

Quality Management of Software and Systems: Processes and QM

Agile Requirements with User Stories. Overview

The Basic Waterfall Model. Software Process Models. Concurrent Development. (Concurrent Development) The Agile Critique of the Waterfall

Requirement Engineering for Non-Functional Requirements

Software Engineering Fall 2014

RESEARCHERS and practitioners have realized that

The Product Manager and the Product Development Process. Martin Cagan Silicon Valley Product Group

Chapter 3 Agile Software Development

Applying Process Document Standarization to INGENIAS

SUSE Unified Delivery Process

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY

Introduction to Agile and Scrum

Course Organization. Lecture 1/Part 1

PART 1: INTRODUCTION. Purpose of the BIZBOK Guide. What is Business Architecture?

Working Towards Lightweight Enterprise Architectures: the Process, frameworks, standards, and models

Chapter 3 Software Process Model

Successful Service Virtualization

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Levels of S/W Requirements. Types of S/W Requirements

Challenges with Sizing and Estimating Enterprise Information Systems

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

IBM Cloud Garage Method Field Guide

Software Engineering 1

Chapter 1 Software Process

Enterprise Modeling. Why? Agent-oriented EM. Business Modeling Using UML. (Goal-oriented EM in Requirements Elicitation) Conventional Techniques

Babu Madhav Institute of Information Technology, UTU 2017

Product Line Engineering Lecture PLE Principles & Experiences (2)

Large Scale Systems Design G52LSS

Oracle Identity Manager 11g: Essentials

CSE320 :: Gurbakash Phonsa: Assistant Professor : CSE. Software Engineering

Usability/user interface design in agile processes

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

Bringing the End User to the Table

Software Reviews Since Acquisition Reform Architecture-Driven Considerations

"Session-based Exploratory Testing on Agile Projects"

SAP BUSINESS GROUP AGILE FOR SAP SOLUTIONS

Model Driven Development Needs More Than Product Models

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

A practical guide to governance of enterprise-scale Agile projects. 4 October 2011

Object-Oriented and Classical Software Engineering

Transcription:

Lecture 1: Processes, Requirements, and Use Cases 1

Development Processes Early Days: evolve a system Build and fix Leads to chaos Need for intelligent design Waterfall Model Requirements, Design, Code, Tests, Maintenance 2

Rational Unified Process Iterative, incremental development: Development cycle: results in a release Iteration phases: Inception, Elaboration, Construction, Transition Phase activities: Business Modeling, Requirements, Design, Implementation, Test, Deployment, Configuration & Change, Project Management, Environment (tools, process design) 3

Factors for Success and the RUP Iterative development: develop part of the functionality, explore designs such as GUI Daily builds: incorporate new code into (partially) complete system; rapid feedback via testing Team experience in shipping multiple products Early focus on building and evaluating a cohesive system architecture (Product Development Practices that Work, MIT Sloan Management Review, 42:2, 2001) 4

Lightweight vs Heavyweight Process Formal, heavyweight: strict phases with defined formal documentation, often not iterative Agile: adjust to application, activities in one phase differently weighted Extreme programming: smaller projects, all staff eye to eye, paired programming, tests as specifications -> little formal documentation other than code 5

Introduction to Requirements Basic but not sole step in inception Types of requirements: FURPS Functionality Usability Reliability Performance Supportability 6

Some OO Terminology Responsibility function that must be performed. E.g. hiring personal, searching a data base for a record Role abstract entity that performs the role E.g. project leader, DB class Actor concrete entity that plays a role to fulfill some responsibility. E.g. Fred Bloggs, DB class instance 7

Actors and RUP External object that interacts with system - external = assumed, already given Causes input events, receives output Examples from POS: cashier, customer, product info database (assumed external) 8

Use Cases Story of system usage, basic RUP requirements method; Functionality aspect of requirements Scenario: Specific use of a system, interaction between actors and system Use case: collection of related scenarios Use case documentation Individual use cases: tables, paragraphs Actors / Use case interactions: use case diagrams 9

Use Case Table - Example Dater 1. Log in 4. Choose get-date 6. Enter prefs 7. Logs out System responsibility 2. Determine valid 3. Display dater menu 5. Display criteria input form 7. Find date 8. Display date data 10

Paragraph Style - Sections Primary Actor(s) Stakeholders and interests Preconditions Postconditions Happy Case Alternative Cases Special Requirements Variations (technology, data) Frequency Open Issues 11

Stakeholders Developers, users, marketing, customers, regulators Use case describes part of contract between stakeholders and developers E.g. Dating system daters, administrator, developers 12

Preconditions Pre-conditions and Postconditions What we will assume to be true before a system use Postconditions What we guarantee to be true afterwards Contracts: pre and post conditions 13

Happy Cases Main Flow: normal or main flow of control in a use case Alternatives: minor success flows, error flows, exceptions Branches or subcases of main flow Refinements of abstract functionality 14

Finding Use Cases Not single steps, not whole complex processes. E.g. Dating system: not log on, not DS usage, but Dater Asks for a Date Elementary Business Process Abstract from concrete to intentional E.g. concrete: enter card, enter PIN intentional: user identifies himself Use cases satisfy user/actor goals 15

Finding Actors/Roles Types of Actors Primary, supporting, and offstage actors MetaRoles: system initiation and termination, updates Events and who causes them 16

Use Case Diagrams Show actors/roles and use cases they interact with Shows relationships between use cases Alternative subcases e.g. administrator updates DS database Delete a member, Add a member Uses subcase e.g. member/administrator uses system Log on sub use case Data-base component 17

Sample Use Case Diagram 18

Tips Do not get caught up constructing Use Case Diagrams Use intentional use cases during requirements, concrete during design Avoid tables if they are too restrictive Accept that inception use cases will be incomplete or some will lack detail 19

System Increments System increments Horizontal: one layer or tier at at time Vertical: one or more threads or complete functional uses Use Cases and system increments Choose a subset of the uses cases 20

Use Cases and System Increments Initial and subsequent increments Selection Factors Risk: of remaining, are some complex, ambiguous, uncertain usability Coverage: want to touch on all major functionality in early iterations, principal data flows, happy cases Criticality: critical to business enterprise Architectural: start up, stripped down vertical functionality 21

DS Use Case Groupings Use cases by class of user Member Administrator Unauthorized user Use case by member user functionality GetADate SetMemberData 22

DS First Increment Choice Use Case: member logs on and asks to get a date, system returns a date from DB or reports no date present Rationale Criticality Coverage Missing supporting functionality Administrator enters members Members enter their properties Will need to preload the DB with data 23