Requirements Analysis. SE 555 Software Requirements & Specification

Similar documents
Requirement Analysis

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

(Team Name) (Project Title) Software Design Document. Student Name (s):

SE 1: Software Requirements Specification and Analysis

Lecture 8 Requirements Engineering

Software Design Document (SDD) Template (summarized from IEEE STD 1016)

Lecture 9 Requirements Engineering II

Requirements Engineering Process

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

Oracle Data Modelling & Database Design Course Content:35-40hours

Checklist for Requirements Specification Reviews

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE

Architectural Blueprint

Lecture 16: (Architecture IV)

CS487 Midterm Exam Summer 2005

Software specification and modelling. Requirements engineering

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

Lesson 06. Requirement Engineering Processes

Requirements Engineering. Contents. Functional requirements. What is a requirement?

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

1: Specifying Requirements with Use Case Diagrams

Software Modeling & Analysis. - Introduction to SASD - Structured Analysis. Lecturer: JUNBEOM YOO

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

index_ qxd 7/18/02 11:48 AM Page 259 Index

Elements of Requirements Style

CSC Advanced Object Oriented Programming, Spring Overview

13/11/2017. Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

Business Modelling. PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e. Early phase of development Inputs: Activities: informal specification

Review Sources of Architecture. Why Domain-Specific?

Oracle Data Modeling and Relational Database Design

Overview. What is system analysis and design? Tools and models Methodologies

Use Case Design. FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003

Natural Language Specification

Quality Software Requirements By J. Chris Gibson

Requirements Engineering

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Chapter 4 Objectives

Process Modeling. Wei-Tsong Wang 1 IIM, NCKU

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Systems Analysis and Design in a Changing World, Fourth Edition

Ch 4: Requirements Engineering. What are requirements?

Software Design. Software design is a blueprint or a plan for a computerbased solution for system

Chapter 5, Analysis: Dynamic Modeling

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

Ch t 8 Chapter 8. System Models

Objectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements...

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

VANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques

Oracle Banking Reference Process Models

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

Quality Software Requirements By J. Chris Gibson

Chapter 5, Analysis: Dynamic Modeling

Elements of Requirements Style

Software Architectures. Lecture 6 (part 1)

Engineering Design Notes III Conceptual Design. EE 498/499 Capstone Design Classes Klipsch School of Electrical & Computer Engineering

Experiment no 4 Study of Class Diagram in Rational Rose

Requirements Engineering process

<Company Name> <Project Name> Software Requirements Specification For <Subsystem or Feature> Version <1.0>

Chapter 5, Analysis: Dynamic Modeling

Structured Analysis and Structured Design

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs

17-Design. Jackson System Development (JSD) Step 1: Entity/action step. Student Loan Example. CMPSCI520/620 Design ***DRAFT*** 11/4/04

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement?

Requirements. CxOne Standard

Lab 16: Visio Introduction

Work with design rules that can be applied to check and enforce the integrity and consistency of your

Lecture 17: (Architecture V)

350 Index 2005 GOAL/QPC

Software design descriptions standard

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Software Design Report

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

Object-Oriented Analysis and Design Using UML

The Unified Modeling Language (UML ) Using Enterprise Architect 13.x or 14.x

Progress Report. Object-Oriented Software Development: Requirements elicitation and analysis. Object-oriented analysis, design, implementation

SE351a: Software Project & Process Management. 13 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

Index. brief description section (Use Case Specification documents), 138 Browser window (Rational Rose), 257 Business Rules document, 212

Object Oriented Analysis and Design - Part2(Design)

Appendix A - Glossary(of OO software term s)

PROGRAM SPECIFICATION INTRODUCTION

Requirements Elicitation

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Department of Computer Science and Engineering The University of Texas at Arlington

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology

System Analysis and Design

Chapter : Analysis Modeling

Software Engineering Unit 4- Requirement Analysis and Specification

Enterprise Architect. User Guide Series. Requirement Models. Author: Sparx Systems Date: 15/07/2016 Version: 1.0 CREATED WITH

A l Ain University Of Science and Technology

Software Development Methodologies

Software Architectures

Structured Analysis and Design

System Models. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

The Web Service Sample

DATABASE SYSTEMS. Chapter 5 Entity Relationship (ER) Modelling DESIGN IMPLEMENTATION AND MANAGEMENT INTERNATIONAL EDITION ROB CORONEL CROCKETT

Chapter 2 Overview of the Design Methodology

Transcription:

Requirements Analysis

Goals of Requirements Analysis Create requirements containing sufficient detail and of high enough quality to allow realistic project planning as well as successful design and implementation. Scrutinize requirements for errors, conflicts, omissions and boundaries.

Requirements Analysis Practices Analyze feasibility Allocate requirements to subsystems Create prototypes where necessary Model the requirements Prioritize the requirements Define system boundaries and interfaces Create consistent data definitions

Requirements Analysis Checklist Premature Design Does the requirement include premature design or implementation information? Combined Requirements Does the description of a requirement describe a single requirement or could it be broken down into several different requirements? Unnecessary Requirements Is the requirement gold plating? That is, is the requirement a cosmetic addition to the system which is not really necessary. Use of Non-standard Components Does the requirement mean that non-standard hardware or software must be used?

Requirements Analysis Checklist cont d Conformance with Business Goals Is the requirement consistent with the business goals defined in the introduction to the requirements document/ Requirements Ambiguity Is the requirement ambiguous i.e. could it be read in different ways by different people? Requirements Realism Is the requirement realistic given the technology which will be used to implement the system? Requirements Testability Is the requirement testable? Is it stated in such a way that a test can be derived to show if the system meets the requirement?

Requirements Analysis Artifacts System Boundaries Context Diagram Requirements Modeling Class Diagrams, Activity State Diagrams, Interaction Diagrams, Sequence Diagrams, Data Flow Diagrams, Entity-Relationship Diagrams Data Definition Data Dictionary Requirements Priority Prioritization Matrix Requirements Definition, Risk Mitigation, Feasibility Prototypes

Context Diagram - Purpose Highlights the boundary between the system and the outside world. Highlights the people, organizations, and outside systems that interact with the system under development. Special case of the data flow diagram.

Context Diagram - Notation Process - Represents the proposed system Terminator - Represents the external entities Flow - Represents the in and out data flows

Context Diagram - Example Customer Application Bills Credit Customer Service Payment Corporate Accounting System Account Summary Credit Card Processing Overdue Accounts Payment Transaction Collection Company Store

Use-Case Analysis Use-case analysis is where the requirements meet object-orientation Recall: in the Unified Process, the use-case model is the primary artifact in the requirements model In use-case analysis, identify the classes which perform a use-case flow of events Distribute the use-case behavior to those classes Identifying the responsibility of the classes Develop use case realizations that model the collaborations between instances of the identified classes How the class instances work together to deliver the requirements The result is a first-draft, rough-cut of the system object model An abstraction of the design model; refined during design

Use-Case Analysis - Steps Supplement the Use-Case Description For each use-case realization Find classes from use-case behavior Distribute use-case behavior to classes For each resulting analysis class Describe responsibilities Describe attributes and associations Qualify architectural analysis mechanisms Unify analysis classes Checkpoints

Analysis Classes: A First Step Towards Executables Use-Cases Analysis Classes Design Elements Source Code Executables Use-Case Analysis

Data Flow Diagram - Purpose Provides a means for functional decomposition. Primary tool in analysis to model data transformation in the system.

Data Flow Diagram - Notation Represents functions in the system (transforms Inputs into Outputs) Represents the external entities that the System communicates with Represents data flows Represents data stores (a collection of data at rest )

DFD Example from Text

Data Dictionary A repository that defines the data elements or attributes used in the system It is not the project glossary Makes it easy to find info about the data Avoids redundancy and maintenance issues, over being in various func. req. Have it as an appendix in your SRS (project)

Primary data element DD Notation Where an element does not need or require further decomposition Defined with a comment * text * Data type, size, range of values etc. are presented. Composition: + Used to show multiple data items Optional items are enclosed in () Iteration: min:max {item} Used to show that mult instances of an item can appear Selection: [item item] When a data element can be of a set of discrete values

Customer Name Phone Number DD Examples

DD Notation Entry comprised of: (and listed in alphabetical order) Name: its name Aliases: if it goes by another name as well Used in: the use cases it is present in, by id and name Description: the notation goes here Notes: any special notes about it

Entity Relationship Diagram (ERD) - Purpose A graphical representation of the data layout of a system at a high level of abstraction. Defines data elements and their inter-relationships in the system.

Entity Relationship Diagram - Text Example