Analysis Concepts and Principles

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Understanding Requirements Unit II
Lecture 8 Systems Analysis: Concept and Principles
Analysis Concepts, Principles, and Modeling
Requirements Elicitation Techniques
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
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 R&D SDM 1 Software Project Management Requirements Analysis 2009 Theo Schouten.
Requirements Analysis Concepts & Principles
Nov. 14, 2007 Systems Engineering ä System ä A set or arrangement of things so related as to form a unity or organic whole. ä A set of facts, principles,
Introduction to Software Engineering Dr. Basem Alkazemi
Analysis Concepts and Principle.
1 Requirements Analysis and Specification Requirements analysis.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
1 Requirements Analysis and Specification Requirements analysis.
1 Requirements Analysis CIS 375 Bruce R. Maxim UM-Dearborn.
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 4 Requirements Engineering
Understanding Requirements. Requirements Engineering
Requirements Analysis
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Business Analysis and Essential Competencies
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Requirement Engineering Tasks Inception Elicitation Problems of scope Problems of understanding Problems of Volatility Elaboration Scenarios Negotiation.
Software Engineering Lecture No:13. Lecture # 7
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
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.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Chapter 11 Analysis Concepts and Principles
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.
Lecture 7: Requirements Engineering
Requirements Gathering How do we find out what we are supposed to be building?
Lecture-3.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
1 Chapter 11 Analysis Concepts and Principles. 2 Requirements Analysis.
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.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Software Engineering Lecture 11: System Analysis.
Requirement Engineering
28/08/2006SE6161 Prinsip dan Konsep Analisis Analysis Concepts and Principles.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Requirements Gathering
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 7 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
Requirements Analysis
Requirements Elicitation Techniques
Requirements Analysis Scenes
CV-1: Vision The overall vision for transformational endeavors, which provides a strategic context for the capabilities described and a high-level scope.
Requirements Management
Chapter 9 Requirements Modeling: Scenario-Based Methods
Chapter 5 Understanding Requirements
Requirements Engineering Tasks
Chapter 5 Understanding Requirements
Chapter 5 Understanding Requirements.
Presentation transcript:

Analysis Concepts and Principles Lecture7 Analysis Concepts and Principles Overview After system engineering is completed, software engineers need to look at the role of software in the proposed system. Software requirements analysis is necessary to avoid creating a software product that fails to meet the customer's needs. Data, functional, and behavioral requirements are elicited from the customer and refined to create a specification that can be used to design the system. Software requirements work products must be reviewed for clarity, completeness, and consistency.

Requirements Analysis Software engineering task that bridges the gap between system level requirements engineering and software design. Provides software designer with a representation of system information, function, and behavior that can be translated to data, architectural, and component-level designs. Expect to do a little bit of design during analysis and a little bit of analysis during design.

Software requirements analysis Figure:-7.1:- Analysis as a bridge between system engineering and software design System engineering Software requirements analysis Software design

Software Requirements Analysis Phases Problem recognition Evaluation and synthesis (focus is on what not how) Modeling Specification Review

Software Requirements Elicitation Customer meetings are the most commonly used technique. Use context free questions to find out customer's goals and benefits, identify stakeholders, gain understanding of problem, determine customer reactions to proposed solutions, and assess meeting effectiveness. If many users are involved, be certain that a representative cross section of users is interviewed.

Facilitated Action Specification Techniques (FAST) Meeting held at neutral site, attended by both software engineers and customers. Rules established for preparation and participation. Agenda suggested to cover important points and to allow for brainstorming. Meeting controlled by facilitator (customer, developer, or outsider). Definition mechanism (flip charts, stickers, electronic device, etc.) is used. Goal is to identify problem, propose elements of solution, negotiate different approaches, and specify a preliminary set of solution requirements.

Quality Function Deployment (QFD) Translates customer needs into technical software requirements. Uses customer interviews, observation, surveys, and historical data for requirements gathering. Customer voice table (contains summary of requirements) Normal requirements (must be present in product for customer to be satisfied) Expected requirements (things like ease of use or reliability of operation, that customer assumes will be present in a professionally developed product without having to request them explicitly) Exciting requirements (features that go beyond the customer's expectations and prove to be very satisfying when they are present) Function deployment (used during customer meetings to determine the value of each function required for system) Information deployment (identifies data objects and events produced and consumed by the system) Task deployment (examines the behavior of product within it environment) Value analysis (used to determine the relative priority of requirements during function, information, and task deployment)

Use-Cases Scenarios that describe how the product will be used in specific situations. Written narratives that describe the role of an actor (user or device) as interaction with the system occurs. Use-cases are designed from the actor's point of view. Not all actors can be identified during the first iteration of requirements elicitation, but it is important to identify the primary actors before developing the use-cases.

Analysis Principles The information domain of the problem must be represented and understood. The functions that the software is to perform must be defined. Software behavior must be represented. Models depicting information, function, and behavior must be partitioned in a hierarchical manner that uncovers detail. The analysis process should move from the essential information toward implementation detail.

Information Domain Encompasses all data objects that contain numbers, text, images, audio, or video. Information content or data model (shows the relationships among the data and control objects that make up the system) Information flow (represents the manner in which data and control objects change as each moves through the system) Information structure (representations of the internal organizations of various data and control items)

Intermediate data and control Output object(s) Input object(s) Transform #1 Transform #2 Figure:7.2:-Information flow and transformation Data/control store

Modeling Data model (shows relationships among system objects) Functional model (description of the functions that enable the transformations of system objects) Behavioral model (manner in which software responds to events from the outside world)

Partitioning Process that results in the elaboration of data, function, or behavior. Horizontal partitioning is a breadth-first decomposition of the system function, behavior, or information, one level at a time. Vertical partitioning is a depth-first elaboration of the system function, behavior, or information, one subsytem at a time.