1 Requirements Analysis CIS 375 Bruce R. Maxim UM-Dearborn.

Slides:



Advertisements
Similar presentations
Lecture 8 Systems Analysis: Concept and Principles
Advertisements

Lecture # 2 : Process Models
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
May 2, May 2, 2015May 2, 2015May 2, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA.
Design Concepts and Principles
Analysis Concepts, Principles, and Modeling
7.1 A Bridge to Design & Construction
1 R&D SDM 1 Software Project Management Requirements Analysis 2010 Theo Schouten.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Unit-III Requirements Engineering
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
CS 501: Software Engineering
Requirements Analysis Concepts & Principles
Analysis Concepts and Principles
Fundamentals of Information Systems, Second Edition
SE 555 Software Requirements & Specification Requirements Validation.
Introduction to Software Engineering Dr. Basem Alkazemi
Overview of Software Requirements
Analysis Concepts and Principle.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
Chapter 2 The process Process, Methods, and Tools
Requirements Analysis
Business Analysis and Essential Competencies
Requirements Engineering How do we keep straight what we are supposed to be building?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
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. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Software Engineering Management Lecture 1 The Software Process.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 11 Analysis Concepts and Principles
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
Requirements Gathering How do we find out what we are supposed to be building?
Lecture-3.
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Chapter 4 프로세스 모델 Process Models
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.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Systems Development Life Cycle
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.
Software Engineering Lecture 11: System Analysis.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirement Engineering
Requirements Analysis
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Requirements Gathering
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
 System Requirement Specification and System Planning.
Requirements Analysis
Software Engineering Management
Requirements Analysis Scenes
Requirements Management
Chapter 5 Understanding Requirements.
Presentation transcript:

1 Requirements Analysis CIS 375 Bruce R. Maxim UM-Dearborn

2 Requirements Analysis Software engineering task bridging the gap between system requirements engineering and software design. Provides software designer with a model of: –system information –function –behavior Model 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.

3 Analysis Objectives Identify customer’s needs. Evaluate system for feasibility. Perform economic and technical analysis. Allocate functions to system elements. Establish schedule and constraints. Create system definitions.

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

5 Management Questions How much effort put towards analysis? Who does the analysis? Why is it so difficult? Bottom line - who pays for it?

6 Feasibility Study Economic feasibility –cost/benefit analysis Technical feasibility –hardware/software/people, etc. Legal feasibility Alternatives –there is always more than one way to do it

7 System Specification Introduction. Functional data description. Subsystem description. System modeling and simulation results. Products. Appendices.

8 Requirements Requirement –features of system or system function used to fulfill system purpose. Focus on customer’s needs and problem, not on solutions: –Requirements definition document (written for customer). –Requirements specification document (written for programmer; technical staff).

9 Types of Requirements - 1 Functional requirements: –input/output –processing. –error handling. Non-functional requirements: –Physical environment (equipment locations, multiple sites, etc.). –Interfaces (data medium etc.). –User & human factors (who are the users, their skill level etc.).

10 Types of Requirements - 2 Non-functional requirements (continued): –Performance (how well is system functioning). –Documentation. –Data (qualitative stuff). –Resources (finding, physical space). –Security (backup, firewall). –Quality assurance (max. down time, MTBF, etc.).

11 Requirement Validation Correct? Consistent? Complete? –Externally - all desired properties are present. –Internally - no undefined references. Each requirement describes something actually needed by the customer. Requirements are verifiable (testable)? Requirements are traceable.

12 Requirements Definition Document General purpose of document. System background and objectives. Description of approach. Detailed characteristics of proposed system (data & functionality). Description of operating environment.

13 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 –assess meeting effectiveness Interview cross section of users when many users are anticipated.

14 F.A.S.T. - 1 Facilitated application specification technique Meeting between customers and developers at a neutral site (no home advantage). Goals –identify the problem –propose elements of solution –negotiate different approaches –specify preliminary set of requirements

15 F.A.S.T. - 2 Rules for participation and preparation established ahead of time. Agenda suggested –brainstorming encouraged Facilitator appointed. Definition mechanism –sheets, flipcharts, wallboards, stickers, etc.

16 Q.F.D. - 1 Quality Function Deployment Customer’s needs imply technical requirements: –Normal requirements (minimal functional & performance). –Expected requirements (important implicit requirements, i.e. ease of use). –Exciting requirements (may become normal requirements in the future, highly prized & valued).

17 Q.F.D. - 2 Function Deployment: –Determines value of required function. Information Deployment: –Focuses on data objects and events produced or consumed by the system. Task Deployment: –product behavior and implied operating environment.

18 Q.F.D. - 3 Value Analysis makes use of: –Customer interviews. –Observations. –Surveys. –Historical data. to create –Customer Voice Table –extract expected requirements –derive exciting req.

19 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 it interacts with the system. Use-cases 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.

20 User Profile - Example Full Control (Administrator) Read/Write/Modify All (Manager) Read/Write/Modify Own (Inspector) Read Only (General Public)

21 Use Case Example - 1 Read Only Users –The read-only users will only read the database and cannot insert, delete or modify any records. Read/Write/Modify Own Users –This level of users will be able to insert new inspection details, facility information and generate letters. They will be also able to modify the entries they made in the past.

22 Use Case Example - 2 Read/Write/Modify All Users –This level of users will be able to do all the record maintenance tasks. They will be able to modify any records created by any users. Full Control Users –This is the system administrative level which will be able to change any application settings, as well as maintaining user profiles.

23

24

25

26 Analysis Principles Information domain of problem must be presented & understood. Models depicting system information, functions, and behavior should be developed. Models and problems must be partitioned in a manner that uncovers detail in layers. Analysis proceeds from essential information toward implementation detail Must be traceable.

27 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 manner in which data and control objects change as each moves through system Information structure –representations of the internal organizations of various data and control items

28 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

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

30 Requirements Views Essential view –presents the functions to be accomplished and the information to be processed while ignoring implementation Implementation view –presents the real world realization of processing functions and information structures Avoid the temptation to move directly to the implementation view and assuming that the essence of the problem is obvious.

31 Specification Principles - 1 Separate functionality from implementation. A process-oriented specification language is needed. Specification must encompass the system containing the software component. Specification must encompass the environment. System specification = cognitive model.

32 Specification Principles - 2 Specification must be operational (talk about how it works). Must be tolerant of incompleteness and easy to add to. Specification must be localized and loosely coupled (pieces of things are independent of each other).

33 Specification Representation Representation format and content should be relevant to the problem. Information contained within the specification should be nested. Diagrams and other notational forms should be restricted in number and consistent in use. Representations should be revisable.

34 Specification Review Conducted by customer and software developer. Once approved, the specification becomes a contract for software development. The specification is difficult to test in a meaningful way. Assessing the impact of specification changes is hard to do.

35 Requirements Review Goals & objectives review. Compare requirements to goals & objectives. Consider system operating environment. Assess and document all risks in system developmental operation. Discuss testing procedure.

36 Evaluating Specification Techniques - 1 Requirements are understandable to naive user. Requirements form basis for design and testing. Automated requirements checking? Requirements form external view of system.

37 Evaluating Specification Techniques - 2 Technique aid in organizing and structuring requirements. Technique for prototyping. Automatic test case generation from requirements. Appropriate for application.

38 Prototyping and Specification Throwaway prototyping –prototype only used as a demonstration of product requirements –finished software is engineered using another paradigm Evolutionary prototyping –prototype is refined to build the finished system Customer resources must be committed to evaluation and refinement of the prototype. Customer must be capable of making requirements decisions in a timely manner.

39 Evolutionary Rapid Prototyping

40 E.R.P. Process Goal is to write less throw away code than spiral model Starts with project plan and plans for software evolution Risks/Unknowns favoring ERP use: –Customer requirements –Technology –Interfaces

41 E.R.P. Risks Premature delivery. Premature design selection. Features in prototype can get lost in final product. There is a tendency to choose efficiency of production over product modifiability.

42 E.R.P. Advice Focus on what will take least amount of programming time over maintainability. With rapid prototyping don’t write code until ready. Spiral model any code written may be thrown out after risk assessment.

43 E.R.P. Analysis What. When. Cost. Completion. Re-use. Contingencies. Rewards.

44 Implementation and Testing 1.Code. 2.Test. 3.Debug. 4.Go to 1 (repeat).

45 Each Spin Cycle Each module is evaluated and rated: –Leave as is. –Rewrite. –Replace with existing code. –Discard, is no longer needed.

46 Re-implementation Symptoms Prototype contains spaghetti code. Prototype cannot be extended to meet full user requirements. Work to fix time implies less work to start again.