Case Study: Inception Phase. L. ch. 3-5



Similar documents
Classical Software Life Cycle Models

I219 Software Design Methodology

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

General Problem Solving Model. Software Development Methodology. Chapter 2A

What is a life cycle model?

SOFTWARE PROCESS MODELS

Software Requirement Specification

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Time Monitoring Tool Software Development Plan. Version <1.1>

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

The Rap on RUP : An Introduction to the Rational Unified Process

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Development Methodologies

2. Analysis, Design and Implementation

Project Management Step Wise. Sunday, 4 November 12

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Requirements / Use Case Specification

System development lifecycle waterfall model

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

2. Analysis, Design and Implementation

3C05: Unified Software Development Process

Non-Functional Requirements

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

(Refer Slide Time: 01:52)

CS4507 Advanced Software Engineering

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

How To Adopt Rup In Your Project

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Supporting Workflow Overview. CSC532 Fall06

Software Project Management using an Iterative Lifecycle Model

Iterative Project Management 1

Plan-Driven Methodologies

COMP 354 Introduction to Software Engineering

Unit I. Introduction

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Bookstore Inventory System Software Requirements Specification. Version 1.0

To introduce software process models To describe three generic process models and when they may be used

Software Engineering. Objectives. Designing, building and maintaining large software systems

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

A Rational Development Process

Ob j ect-oriented Project Management with UML

An Approach to Software Architecture Description Using UML

(BA122) Software Engineer s Workshop (SEW)

Software Development Process Models

Eclectic Computing. Time Tracking Tool Software Architecture Document. Version <1.3>

Application of software product quality international standards through software development life cycle

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)

How To Understand The Software Process

6 Contracts and Scenarios in the Software Development Process

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

Karunya University Dept. of Information Technology

Software Engineering. Software Engineering. Software Costs

IV. Software Lifecycles

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Software Lifecycles Models

Test Cases Design for Software Database Provisioning Development

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The most suitable system methodology for the proposed system is drawn out.

Software Life Cycle Processes

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)

Lecture 3 Software Development Processes

RUP iteration planning

Software Development Methodologies

The Unified Software Development Process

Example IEEE software project management plan (SPMP)

Verification of Good Design Style of UML Models

Real Web Project Management : Case Studies and Best Practices from the Trenches Thomas J. Shelford Gregory A. Remillard

The IconProcess: A Web Development Process Based on RUP

Agile Unified Process

MDE Adoption in Industry: Challenges and Success Criteria

A Comparison of SOA Methodologies Analysis & Design Phases

Software Design Models, Tools & Processes *

Domain modeling: Leveraging the heart of RUP for straight through processing

Unit 1 Learning Objectives

Analysis and Design with UML

Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.

How To Design An Information System

Software Process for QA

Chapter 3 Technology adapted

6 USE CASES. Introduction. Chapter 6. Objectives. The indispensable first step to getting the things you want out of life: decide what you want.

Chapter 1 The Systems Development Environment

High-level Design. What is software architecture?

Title: Topic 3 Software process models (Topic03 Slide 1).

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

1. Introduction 1.1 Methodology

Work Breakdown Structure (WBS) Emanuele Della Valle

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

VAIL-Plant Asset Integrity Management System. Software Development Process

Surveying and evaluating tools for managing processes for software intensive systems

ISO 9001:2000 Its Impact on Software

Transcription:

Case Study: Inception Phase L. ch. 3-5

An Example System Let s consider a familiar example: a POS system A learning strategy: Learn ideas and concepts on the POS system UML itself is among those ideas/concepts Apply ideas/concepts to a UML editor tool We first discuss the POS domain (L chap. 3) this prepares us to learn OOA/D using the POS example which in turn prepares us to use OOA/D on the UML tool system

The POS System Domain: a Case Study POS = Point Of Sale POS systems are typically used for retailing Supermarkets, bookstores, etc. use POS systems They are ubiquitous nowadays They are important to build right or the grocery store has to close! Walmart uses two, just in case Objects are good for building them with

Facts About POS Systems They handle customer payments so they work in real time They incorporate cash registers What else do they incorporate? They record what is sold This enables tracking inventory

More Aspects of POS Systems Fault-tolerance is important Especially fail-softness Generic POS systems must have generality They must adapt to different clients i.e. different sales environments different hardware platforms Therefore at standard points in the sale Custom code must be invoked Note the mix of generic and custom This provides an information systems analysis challenge

Layered Structure and the POS System Complex systems have a layered structure Example: fig., next slide

Slightly modified from Larman Figure 3.1. What layer(s) are emphasized in VB? C? C++? Java? Device interfacing? OOA/D? What might an analogous figure look like for a course registration system or UML editor?

Creating the POS System Recall the phases (in alphabetical order) Construction, Elaboration, Inception, Transition What do these mean? What is their order? Let s recall a Figure (2.3/2.6, 2 nd /3 rd eds., and next slide)

Inception and the Fountain Model Recall the UP diagram: What corresponds to inception in a typical non-iterative life cycle model?

Inception (See L. Ch. 4) Inception is about: the project s scope, vision, and business case scope: What it will do, in general terms Try this: pick something in the scope of the UML or registration system, and something outside the scope vision: The problem and its solution Try this: pick something in the vision of the UML or registration system, and something outside the vision business case: See next slide

The Business Case Source: mostly quoted from: http://www.arsanjani.org/businessmodeling/lesson%203%20-%20rup.pdf Purpose of the Business Case is to develop an economical plan for realizing the project vision. Assessment of the return on investment (ROI) provided by the project. This justifies the project and establishes its economic constraints. If justified: the project should proceed. If not, cancel it! The business case should not delve deeply into problem specifics It should argue compellingly why the project is needed. It must be brief, so it is easy for project team members to understand and remember. At critical milestones, the Business Case is re-examined to see if estimates of expected return and cost are still accurate Worst case discontinue project (recall spiral model see fig) This is better than continuing the project! How do these points apply to the UML or registration system?

Spiral Model (an elaborated waterfall) note risk analyses Source: http://www.srl.cam.ac.uk/genepi/boadicea/boadicea_interface.html, after Boehm, B., 1988, A spiral model for software development and enhancement, Computer, 21, 5, 61-72.

Inception in Two Bullets Project scope, project vision, and the business case Reach stakeholder agreement on the project vision and business case

Artifacts Often Started During Inception Artifact = a thing made by people (same root as artificial ) Vision and business case Use-Case model (to be covered later) Supplementary Specification Glossary (of domain terms) Risk List and Risk Management Plan (Risks and what-if responses) (Rapid) prototypes (i.e. throw-away code) Iteration Plan (what to do in 1 st elaboration iteration) Phase Plan (guesstimate of phase efforts & durations) Software Development Plan (resources of all kinds needed) Development Case (what UP items apply to this project) Let s apply a few of these to the UML or registration system now

Requirements (E.g. Larman ch. 5) What the system should do and under what conditions in general terms Does this differ from specifications? Does this differ from scope? UP assumes requirements can change over time Must therefore be able to iteratively change them Think of a requirement that might be added to the UML or registration system later Problems with requirements have major effects on project time, budget, and overall success Why? Early problems are hard to fix later (recall Figure, next) The UP uses the FURPS+ framework (after figs.)

(This figure adapted from Schach via http://www.csc.calpoly.edu/~csturner/courses/508lecture1.ppt) Relative cost to fix a fault that could have been fixed in requirements

http://www.osl.iu.edu/~lums/swc/www/xp. html Figure 26.1: The Cost of Change

FURPS+ Framework for Requirements F is for Functionality features, capabilities, security U is for Usability human factors, help, documentation R is for Reliability MTBF, recoverability, predictability P is for Performance response times, throughput, accuracy, availability, resource usage S is for Supportability adaptability, maintainability, internationalization, configurability + is for extra stuff (legal, packaging, )

FURPS+ Framework (cont.) Let s apply FURPS+ to the UML or registration system