Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.

Slides:



Advertisements
Similar presentations
Requirements Specification and Management
Advertisements

Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng, Sp2003) Supplementary: Using and Extending UML.
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Approaching a.
Introduction to Software Engineering Dr. Basem Alkazemi
Overview of Software Requirements
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
Introduction To System Analysis and design
Chapter 4 Requirements Engineering
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Part 2: Design Methodology Object-Oriented Modeling and Design
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Software Requirements Engineering CSE 305 Lecture-2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing Requirements.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Analysis and Design. PROCESS OVERVIEW A software development process provides a basis for the organized production.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Where do we start? How do we proceed?
Requirements Validation
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Use Case Textual Analysis
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Prof. Hany H. Ammar, CSEE, WVU, and
Requirement Engineering
Software Requirements Specification Document (SRS)
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
CS223: Software Engineering
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Unified Modeling Language
Requirements Elicitation and Elaboration
Requirements Elicitation – 1
Chapter 9 Requirements Modeling: Scenario-Based Methods
Unified Modeling Language
Engineering Quality Software
Presentation transcript:

Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT

Software Engineering CSE470: Requirements Analysis 2 Requirements Specify functionality model objects and resources model behavior Specify data interfaces type, quantity, frequency, reliability providers, receivers operational profile (expected scenarios) stress profile (worst case scenarios)

Software Engineering CSE470: Requirements Analysis 3 Requirements Specify interfaces Control interfaces (APIs) User interfaces - functionality and style Hardware interfaces Specify error handling Identify potential modifications

Software Engineering CSE470: Requirements Analysis 4 Requirements Identify necessary constraints performance, security, reliability Identify areas of risk alternatives to be explored Specify validation plans Specify documentation to be provided

Software Engineering CSE470: Requirements Analysis 5 Analysis Principles Document reason for specific requirements Prioritize requirements High, medium, low Ignore implementation details Need to know feasible solutions can be developed If feasibility is a concern, then propose alternatives to be explored Be prepared to change

Software Engineering CSE470: Requirements Analysis 6 Reviewing a requirements document Is it ambiguous? Carefully define terms and use these terms Is it consistent? Is it complete? Vague requirements Omitted requirements Is it verifiable? Is it realistic? Does it plan for change? Does it not overly constrain the problem? Have alternatives been considered and explored? Is it clearly presented? Precise, concise, clear diagram complex objects and behaviors Is it what the customer wants?

Software Engineering CSE470: Requirements Analysis 7 Why is requirements analysis difficult? Communication: misunderstandings between the customer and the analyst Analyst doesn’t understand the domain Customer doesn’t understand alternatives and trade- offs Problem complexity Inconsistencies in problem statement Omissions/incompleteness in problem statement Inappropriate detail in problem statement

Software Engineering CSE470: Requirements Analysis 8 Why is requirements analysis difficult? Need to accommodate change Hard to predict change Hard to plan for change Hard to forsee the impact of change

Software Engineering CSE470: Requirements Analysis 9 First Law of Software Engineering “ No matter where you are in the system lifecycle, the system will change, and the desire to change it will persist throughout the lifecycle.”

Software Engineering CSE470: Requirements Analysis 10 Reasons for changing requirements Poor communication Inaccurate requirements analysis Failure to consider alternatives New users New customer goals New customer environment New technology Competition Software is seen as malleable Changes made after the requirements are approved increase cost and schedule

Software Engineering CSE470: Requirements Analysis 11 Requirements Products Specification document Agreement between customer and developer Validation criteria for software Preliminary users manual Prototype If user interaction is important If resources are available Review by customer and developer Iteration is almost always required

Software Engineering CSE470: Requirements Analysis 12 Analysis: Steps to follow Obtain a problem statement Develop use cases (depict scenarios of use) Build an object model and data dictionary Develop a dynamic model state and sequence diagrams Verify, iterate, and refine the models Produce analysis document

Software Engineering CSE470: Requirements Analysis 13 Use Cases High-level overview of system use Identify scenarios of usage Identify actors of the system: External entities (e.g., users, systems, etc.) Identify system activities Draw connections between actors and activities Identify dependencies between activities (i.e., extends, uses)

Software Engineering CSE470: Requirements Analysis 14 Analysis: Object Model Organization of system into classes connected by associations Shows the static structure Organizes and decomposes system into more manageable subsystems Describes real world classes and relationships

Software Engineering CSE470: Requirements Analysis 15 Analysis: Object Model Object model precedes the dynamic model because static structure is usually better defined less dependent on details more stable as the system evolves

Software Engineering CSE470: Requirements Analysis 16 Analysis: Object Model Information comes from The problem statement and use cases Expert knowledge of the application domain  Interviews with customer  Consultation with experts  Outside research performed by analyst General knowledge of the real world

Software Engineering CSE470: Requirements Analysis 17 Object Model: Steps to follow Identify classes and associations nouns and verbs in a problem description Create data dictionary entry for each Add attributes Combine and organize classes using inheritance

Software Engineering CSE470: Requirements Analysis 18 Analysis: Dynamic model Shows the time dependent behavior of the system and the objects in it Expressed in terms of states of objects and activities in states events and actions State diagram summarizes permissible event sequences for objects with important dynamic behavior

Software Engineering CSE470: Requirements Analysis 19 Dynamic Model: Steps to follow Use cases provide scenarios of typical interaction sequences Identify events between objects (Sequence Diagram) Prepare an event trace for each scenario Build state diagrams Match events between objects to verify consistency

Software Engineering CSE470: Requirements Analysis 20 Analysis: Iteration Analysis model will require multiple passes to complete Look for inconsistencies and revise Look for omissions/vagueness and revise Validate the final model with the customer