Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.

Slides:



Advertisements
Similar presentations
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Software Requirements
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 1.Gain agreement on the problem definition. 2.Understand the root causes 3.Identify the.
SE 555 – Software Requirements & Specifications Introduction
Use Case Analysis – continued
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Object Oriented Analysis and Design Using the UML
Chapter 4 Requirements Engineering
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
An Introduction to Software Architecture
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Requirements Presented By Dr. Shazzad Hosain.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Approaching a Problem Where do we start? How do we proceed?
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Business Modeling with UML Virtusa Training Group (2005) Trainer: Ojitha Kumanayaka Duration: 1 hours.
1 Quality Attributes of Requirements Documents Lecture # 25.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Requirements Engineering
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Software Requirements Specification Document (SRS)
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering Lecture 10: System Engineering.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
 System Requirement Specification and System Planning.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – Part 4 Analysis Mechanisms.
Process 4 Hours.
UNIT 1.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Software Development Process Using UML Recap
From Use Cases to Implementation
Presentation transcript:

Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour

2 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Why important ? establish a clear understanding of the problem so that potential solutions can be effectively weighted Key business requirements must be defined, including the ROI justification for each proposed alternatives can the be measured to determine which best solves the stated problem Without this requirements analysis, a UML- based approach may only help to deliver the wrong application faster and cheaper.

3 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL UML for OOAD training scope

4 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL The requirement pyramid Needs: Things that the stakeholder believe that the system needs to do. Features: Informal statement of system capabilities. Features have no precise definition and/or consistent level of abstraction. Requirements: Individual statements of conditions and capabilities to which system must conformed. Note: The separation of the problem domain form the solution domain indicates that the subject of the requirements specification is the solution rather than the problem.

5 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Need, Feature, Requirement Need, Feature and Requirement Relationship among the three kinds is expressed using traceability. There is no hierarchical decomposition of needs into features into requirements. Instead, these concepts are largely orthogonal, expressing different views of the system for different audiences. Needs and features are mainly to establish the context for the application of the use-case modeling approach.

6 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Use Case Relationship With Use Case Features can be mapped to the use cases. The granularity of the features and the use cases are very different. There can be many features provided by a single use case, or a feature could be provided by more than one use cases. The use case model itself is a vehicle for organizing the software requirements in an easy to manage way.

7 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Functional & Nonfunctional Requirements Functional Requirements: Actions that a system must be able to perform without taking physical constraints in to considerations. Nonfunctional Requirements: Describe the attribute of the system required. With Use Case Use cases place the functional requirements into the context of a user. Use case can also be used to capture any nonfunctional requirements that are specific to the use cases. Misconceptions related to Use Cases Use cases are nothing else than capturing functional requirements. Nonfunctional requirements are captured apart from the use cases.

8 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Why need use case For human kind always expecting mental model to simply the complexity. Stakeholder Mental Model is obvious. Need simple mental model that consistently applied throughout the design for developers. Use cases explore, form, and refine the mental model of how the system will work. Use case should describe how the system is used and what it does for its Stakeholders Use case Model Use case Details

9 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Example Cost of Good Sold (COGS)

10 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Use Cases in Architecture (4+1) Use case driven, architecture centric iterative and incremental process Architecture is the set of significant decisions about The organization of system software Interfaces of the structural elements and their composition. Behavior as specified in collaborations Composition of behavioral and structural elements to subsystems The static and dynamic elements and their interfaces, their collaboration & composition The use case model of a system encompasses the use cases that describe the behavior of the system as seen by its end users and developers. Use case model doesn’t specify the organization of a software system.

11 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Use Case Driven Approach

12 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Model relations to Other Models

13 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Use Case Driven Process First of all, what is a use case ? A use case is a sequence of actions that the system performs for its actors. How to use use-case in the generic process Use to capture functional and non-functional requirements Use case drive the process since most activities such as analysis, design, test and deployment performed starting from the use case. Sometime project estimations done from use cases. Analysis Model The analysis model is a detailed specification of the requirements and work as first cut of at design model, although it is model of its own. Analysis model is different from the design model in that it is a conceptual model rather than a blueprint of the implementation. Represent conceptual realization of use case model and input to the design model.

14 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Use Case Driven Process… cont… Design Model Hierarchical model with relationships Use case realization is collaborative complete realization of use case model with help of analysis model The design model is also a blueprint of the implementation.

15 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Use Case driven generic process

16 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Risk mitigation

17 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL IEEE 830 Documentation standards for Requirements Specification Unambiguous -- Every statement has one interpretation. Terms are clear and well defined. Complete -- All significant requirements are included. No items have been left for future definition. Verifiable -- All features specified as part of the project have a corresponding test to determine whether they have been successfully delivered. Consistent -- Conflicting terminology, contradictory required actions, and impossible combinations are notably absent. Modifiable -- Redundancy is absent; index and contents are correct. Traceable -- Each referenced requirement is uniquely identified. Correct -- Every stated requirement represents something required of the system to be built. This may sound obvious, but it is surprisingly easy to include extraneous requirements, or requirements that really pertain to a separate system entirely.

18 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL No time for requirements… "We don't have time to figure out what we need to build and deliver. If we don't start coding now…“ Never experience proper requirement analysis and no idea of its advantages. Over value themselves. Not responsibility of stakeholder requirements or investment Lack of knowledge in software processes even in Software Engineering Generally not well in managing things Ready to accept failures "We don't have time to gather requirements. If we don't start coding right now, we'll never meet our deadline."

19 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirements from GIP

20 Copyright ©2004 Virtusa Corporation | CONFIDENTIAL USA UK INDIA SRI LANKA