Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,

Slides:



Advertisements
Similar presentations
Requirements Specification and Management
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
:: 1 :: What is a requirement? Standard Definition Something the product must do or a quality the product must have. More Ways to Characterize Something.
Introduction To System Analysis and Design
Software Testing and Quality Assurance
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.
Topics Creating DFD Physical and logical DFD Event driven modeling
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Approaching a.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
Introduction to Software Engineering Dr. Basem Alkazemi
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
USE Case Model.
Introduction To System Analysis and design
The Software Development Life Cycle: An Overview
S/W Project Management
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Business Analysis and Essential Competencies
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Part 2: Design Methodology Object-Oriented Modeling and Design
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
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?
CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision.
MODULE 3 Analysis and system design
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.
Systems Analysis and Design in a Changing World, Fourth Edition
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.
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.
Where do we start? How do we proceed?
Requirements Validation
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
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.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Smart Home Technologies
Requirement Engineering
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.
Prepared by Amira Selim 31 st October 2009 Revised by Dahlia Biazid Requirements Analysis.
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.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Fundamentals of Information Systems, Sixth Edition
Systems Design.
Requirements Elicitation – 1
By Dr. Abdulrahman H. Altalhi
Unified Modeling Language
Engineering Quality Software
Presentation transcript:

Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity, frequency, reliability »providers, receivers »operational profile (expected scenarios) »stress profile (worst case scenarios)

Dillon: CSE470: ANALYSIS2 Requirements l Specify interfaces »Control interfaces (APIs) »User interfaces - functionality and style »Hardware interfaces l Specify error handling l Identify potential modifications

Dillon: CSE470: ANALYSIS3 Requirements l Identify necessary constraints »performance, security, reliability l Identify areas of risk »alternatives to be explored l Specify validation plans l Specify documentation to be provided

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

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

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

Dillon: CSE470: ANALYSIS7 Why is requirements analysis difficult? l Need to accommodate change »Hard to predict change »Hard to plan for change »Hard to forsee the impact of change

Dillon: CSE470: ANALYSIS8 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.”

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

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

Dillon: CSE470: ANALYSIS11 Analysis: Steps to follow l Obtain a problem statement l Build an object model and data dictionary l Develop a dynamic model l Construct a functional model l Verify, iterate, and refine the models l Produce analysis document

Dillon: CSE470: ANALYSIS12 Analysis: Object model l 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

Dillon: CSE470: ANALYSIS13 Analysis: Object Model l Object model precedes the dynamic model and the functional model because »static structure is usually better defined »less dependent on details »more stable as the system evolves »easiest model for customer to understand

Dillon: CSE470: ANALYSIS14 Analysis: Object Model l Information comes from »The problem statement »Expert knowledge of the application domain –Interviews with customer –Consultation with experts –Outside research performed by analyst »General knowledge of the real world

Dillon: CSE470: ANALYSIS15 Object Model: Steps to follow l Identify classes and associations »nouns and verbs in a problem description l Create data dictionary entry for each l Add attributes l Combine and organize classes using inheritance

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

Dillon: CSE470: ANALYSIS17 Dynamic Model: Steps to follow l Prepare scenarios of typical interaction sequences l Identify events between objects l Prepare an event trace for each scenario l Build state diagrams l Match events between objects to verify consistency

Dillon: CSE470: ANALYSIS18 Analysis: Functional Model l Shows how values are computed l Data flow diagrams show processes and data flows »processes correspond to activities or actions in dynamic model »data flows correspond to objects or attributes in object model l Best constructed after the object model and dynamic model

Dillon: CSE470: ANALYSIS19 Functional Model: Steps to follow l Identify input and output values l Build data flow diagrams showing functional dependencies l Describe the functions l Identify constraints l Specify optimization criteria

Dillon: CSE470: ANALYSIS20 Analysis: Iteration l Analysis model will require multiple passes to complete l Look for inconsistencies and revise l Look for omissions/vagueness and revise l Validate the final model with the customer