Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.

Slides:



Advertisements
Similar presentations
Understanding Requirements Unit II
Advertisements

Requirements Specification and Management
7.1 A Bridge to Design & Construction
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 7 Requirements Engineering
1 R&D SDM 1 Software Project Management Requirements Analysis 2010 Theo Schouten.
Chapter 5 Understanding Requirements
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Unit-III Requirements Engineering
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
1 R&D SDM 1 Software Project Management Requirements Analysis 2009 Theo Schouten.
Requirements Analysis Concepts & Principles
Requirements (recap)‏
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
Understanding Requirements. Requirements Engineering
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
UML - Development Process 1 Software Development Process Using UML (2)
Requirements Analysis
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Requirements Engineering How do we keep straight what we are supposed to be building?
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Software Engineering Lecture No:13. Lecture # 7
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 7 Requirements Engineering Elements of software requirement gathering.
Requirements. Terminology: Requirements XYZ Requirements gathering (also known as “requirements elicitation”) : what is to be accomplished, how the system.
Chapter 7 Requirements Engineering
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Lecture-3.
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
By Germaine Cheung Hong Kong Computer Institute
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
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.
Requirements
Chapter: Requirement Engineering. Requirements Engineering  Requirement: A function, constraint or other property that the system must provide to fill.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
 System Requirement Specification and System Planning.
CS 4500: Software Development Mondays and Wednesdays 2:50-4: Snell Engineering Center.
Chapter: Requirement Engineering
Requirements Analysis Scenes
Elaboration & Negotiation Process
Requirements Elicitation and Elaboration
Requirements Elicitation – 1
Software Requirements analysis & specifications
Chapter 7 Requirements Engineering
Chapter 5 Understanding Requirements
Chapter 7 Requirements Engineering
Requirements Engineering Tasks
Chapter 5 Understanding Requirements
Chapter 5 Understanding Requirements.
Presentation transcript:

Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.

INTRODUCTION Requirement engineering helps software engineer to better understand the problem they will work to solve which consist of the set of tasks that lead to an understanding of what the business impact of the software will be. what the customer wants and how the end user will interact with the software. 2Prepared By:Jay A.Dave.

INTRODUCTION Software engineers sometime refer as system engineer or analyst in the IT world, and this is the duty of him/her. This is most required as designing and building the most elegant program that solves wrong problem serves no one’s needs and that is why it is important to know what customer wants before one begin to design and code computer based systems. 3Prepared By:Jay A.Dave.

INTRODUCTION Now it is very much important to know the steps involved in the process so the very first step begins with the inception which is the task that helps the customers to define what is required and there it has to be elaborated where basic requirements are fined and modified As the customer defines the problem. 4Prepared By:Jay A.Dave.

Inception software engineers use context-free questions to establish a basic understanding of the problem, the people who want a solution, the nature of the solution, and the effectiveness of the collaboration between customers and developers). How does the software project get started? 5Prepared By:Jay A.Dave.

Inception Is there a single event that catalyst for new computer based system or product, or does the need evolve over time? There is no definitive answer for such question. In some cases a casual conversation is all that is needed to participate a major software engineering effort, in general, most projects begin when a business need is identified or a potential new market or service is discovered. 6Prepared By:Jay A.Dave.

Inception Stakeholders from the business community define business case for the idea, try to identify the breadth and depth of the market, do a rough feasibility analysis, and identify a working description of the projects scope. All of this information is subject to change. At project inception software engineering ask a set of context-free question. The intent is to establish a basic understanding of the problem, the people who want a solution, the nature of the solution that is desired, and the effectiveness of preliminary communication and collaboration between the customer and developer. 7Prepared By:Jay A.Dave.

Elicitation find out from customers what the product objectives are, what is to be done, how the product fits into business needs, and how the product is used on a day to day basis). certainly seems simple enough- ask the customer, the users, and others what the objective for the system or product are, what is to be completed, how the system or product fits in to the needs of business and finally how the system or product is to be used on day-to-day basis. But it isn’t simple enough. There are few important facts about requirement elicitation. 8Prepared By:Jay A.Dave.

Elicitation Problem of scope: the boundary of the system is ill-defined or the customers/users specify unnecessary technical details that may confuse, rather than clarify overall system objectives. Problem of understanding: the customer/users are not completely sure of what is needed, have a poor understanding of the capabilities and limitations of their computing environment, do not have full understanding of the problem domain, have trouble communicating needs to system engineer, omit information that is believed to be obvious, specify requirements that conflict with the need of other customers/users, or specify requirements that are unstable or untestable. 9Prepared By:Jay A.Dave.

Elicitation Problem of volatility: the requirements changes over the time. 10Prepared By:Jay A.Dave.

Elaboration (focuses on developing a refined technical model of software functions, features, and constraints using the information obtained during inception and elicitation). The information is obtained from the customer inception and elicitation is expanded and refined during elaboration. This requirement engineering activity focus on developing a refined technical model of software functions features and constraints. 11Prepared By:Jay A.Dave.

Elaboration Elaboration Is an analysis modeling action that is composed of number of modeling and refinement task. Elaboration is driven by the creation and refinement of user scenarios that describes how the end user will interact with the system. 12Prepared By:Jay A.Dave.

Elaboration. Each user scenario is parsed to exact analysis classes business domain entries that are visible to end user. The attribute of each analysis classes are defined and services that are required for each classes are identified. The relationships and collaboration between classes are identified and variety of supplementary UML (unified modeling language) diagrams are produced. 13Prepared By:Jay A.Dave.

Elaboration The end result of elaboration is an analysis model that defines the informational functional and behavioral domain of the problem. 14Prepared By:Jay A.Dave.

Negotiation (requirements are categorized and organized into subsets, relations among requirements identified, requirements reviewed for correctness, requirements prioritized based on customer needs). It is not unusual for customer and user to ask for more than can be achieved, given limited business resources. 15Prepared By:Jay A.Dave.

Negotiation. It is also relatively common for different customers or users to propose conflicting requirements, arguing that their version is “essential for our special needs”. The requirement engineer must reconcile these conflicts through a process of negotiation. Customer, users and other stakeholders are asked to rank requirements and then discuss conflicting requirements and then discuss conflicts in priority. 16Prepared By:Jay A.Dave.

Negotiation Risk associated with each requirement are identified and analyzed. Rough estimates of development effort are made and used to assess the impact of each requirement on project cost and delivery time. Using an active approach, requirements are eliminated, combined, and/or modified so that each party achieves some measure of satisfaction 17Prepared By:Jay A.Dave.

Specificaion written work products produced describing the function, performance, and development constraints for a computer based system. In the contest of computer based system and software the term specification means different things to different people. A specification can be a written document as set of graphical models a formal mathematical model a collection of usage scenarios a prototype or any combination of these. 18Prepared By:Jay A.Dave.

Specificaion written work products produced describing the function, performance, and development constraints for a computer based system. In the contest of computer based system and software the term specification means different things to different people. A specification can be a written document as set of graphical models a formal mathematical model a collection of usage scenarios a prototype or any combination of these. 19Prepared By:Jay A.Dave.

Specification However it is sometimes necessary to remain flexible when a specification is to be developed. For large systems a written document combining natural language description and graphical models may be the best approach.. However usage scenarios may be all that are required for smaller product or system that resides within very well understood technical environments. 20Prepared By:Jay A.Dave.

Specification The specification is the final work product produced by the requirement engineer. It describes the function and performance of computer based system and the constraints that will govern its development. 21Prepared By:Jay A.Dave.

Requirements validation formal technical reviews used to examine the specification work products to ensure requirement quality and that all work products conform to agreed upon standards for the process, project, and product. 22Prepared By:Jay A.Dave.

Requirements validation The work product produced as a consequence of requirements engineering are assessed for quality during a validation step. Requirement validation examines the specification to ensure that all software requirements have been stated unambiguously, inconsistencies, omissions, errors have been detected and corrected and that work product confirms to the standard established for the process the project and the product. 23Prepared By:Jay A.Dave.

Requirements validation The primary requirement validation mechanism is the formal technical. The review team that validates requirements includes software engineers, customers, users and other stockholders who examine the specification looking for errors in content or interpretation areas where classification is required, missing information, and inconsistencies conflicting requirements. 24Prepared By:Jay A.Dave.

Requirements management Set of activities that help project team to identify, control, and track requirements and changes as project proceeds Many of these activities are identical to those that make up the software configuration management (SCM) process. Requirements are first identified, tagged with a unique identifier and classified by type (functional, data, behavioral, interface, or output) 25Prepared By:Jay A.Dave.

Requirements management Traceability tables (e.g., features, source, dependency, subsystem, interface) are developed and updated any time a requirement is modified) Database systems are invaluable in helping software teams track requirement changes 26Prepared By:Jay A.Dave.

Elements of Analysis model 27Prepared By:Jay A.Dave.

Use-Case 28Prepared By:Jay A.Dave.

Data flow diagram of level Prepared By:Jay A.Dave.

State Diagram 30Prepared By:Jay A.Dave.

Class modelling 31Prepared By:Jay A.Dave.

Activity Diagram 32Prepared By:Jay A.Dave.