Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Information System Design IT60105 Lecture 3 System Requirement Specification.
22 September Fundamental Steps STEPS  Requirements  Design  Implementation  Integration  Test  Deployment  Maintenance MODELS Waterfall.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
A summary of the PSS-05 URD template
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
S R S S ystem R equirements S pecification Specifying the Specifications.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: IEEE Standard, Daniel Amyot.
Software Requirement Specification(SRS)
Requirements Engineering
The Software Development Life Cycle: An Overview
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Lecture 18: Specifications
Software Requirements Specification (SRS) Complete description of external behavior of software system Complete description of external behavior.
Typical Software Documents with an emphasis on writing proposals.
Chapter 1: The Database Environment and Development Process
Software Engineering Modern Approaches
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Software Engineering Modern Approaches
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
An Introduction to Software Architecture
Software System Engineering: A tutorial
ECE450 – Software Engineering II
Software Engineering Modern Approaches
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
1 Lecture 5.2.b: Requirements Specifications (IEEE 830) Dr. John MacCarthy UMBC CMSC 615 Fall, 2006.
Standard SRS Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering Lecture.
Software Requirements Presented By Dr. Shazzad Hosain.
Software Requirements Engineering CSE 305 Lecture-2.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Lecture 7: Requirements Engineering
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
3 September Sources of requirements  People Stakeholders ○ Who are the stakeholders? Issues: ○ Conflicting requirements ○ Wants vs. needs Helping.
Systems Development Life Cycle
1 Quality Attributes of Requirements Documents Lecture # 25.
OHTO -01 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
1. The Requirements Process Requirements Input Example
© 2010 John Wiley & Sons Ltd. Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
System Requirements Specification
Software Requirements Specification Document (SRS)
CSC480 Software Engineering Lecture 7 September 16, 2002.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
CS646: Software Design and Architectures Introduction and Overview †  Definitions.  The general design process.  A context for design: the waterfall.
Milestone Two – Reach Across Houston (RAH) Tuesday, June 14, Team:Matthew Edwards Thomasina Coates Michelle Graham James Henrydoss James McNicholas.
 System Requirement Specification and System Planning.
I&C Lab Seminar Procedure for the Software Requirements Specification for Safety Critical Systems Seo Ryong Koo Korea Advanced Institute Science.
Daniel Amyot, University of Ottawa Based on slides by Gunter Mussbacher (2009) and Stéphane Somé (2008) with material from these standards: IEEE ,
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
CSC480 Software Engineering
System Requirements Specification
Chapter 6: Principles of Requirements Analysis
Software Requirements Specification (SRS) Template.
Requirements Document
Requirement Analysis.
Requirements Engineering Lecture 6
Computer System Validation
Presentation transcript:

Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1

© 2010 John Wiley & Sons Ltd. Chapter 10: Principles of Requirements Analysis 2

Learning goals of this chapter Why the term requirements analysis ? What is the value of writing down requirements? Where do requirements come from? What is the difference between high- level and detailed requirements? What is the difference between functional and non-functional requirements? How do you document requirements? What does traceability mean? How do agile methods handle requirements? What are good tips for student project requirements analysis? Requirements analysis Design Implementation Testing Maintenance Planning The Software Development Lifecycle Phase most relevant to this chapter is shown in bold © 2010 John Wiley & Sons Ltd. 3

The Meaning of Requirements Analysis The process of understanding what’s wanted and needed in an application. For example, you may know that you want a colonial house in New England, but you may not know that you will probably need a basement for it. We express requirements in writing to complete our understanding and to create a contract between developer and customer. 4

Relatively high Relatively low Sources of Requirements: People vs. Other (adapted from Brackett [Br]) Approximate % of requirements gathered from people Type of application highly constrained unconstrained missile guidance system flight control system for airliner enhancement to corporate payroll system factory control system corporate payroll system Encounter video game decision support system for military tactics © 2010 John Wiley & Sons Ltd. 5

Non-Functional Requirements  Quality attributes  Reliability and Availability (observed faults, average up time)  Performance (speed, throughput, storage)  Security (malicious and non-malicious compromise of data or functionality)  Maintainability (cost to maintain)  Portability (move to a different operating enviroment)  Constraints on the application or its development  External interfaces that the application “talks to”  Hardware  Other software  Communication with external agents  User interfaces  Error handling 6

© 2010 John Wiley & Sons Ltd. Examples of Constraints  Platform  e.g., the application must execute on any 1GH Linux computer  Development Media  e.g., the application must be implemented in Java  e.g., Rational Rose must be used for the design 7

© 2010 John Wiley & Sons Ltd. External Interface Requirements  Hardware  e.g., “the application must interface with a model 1234 bar code reader”  Software  e.g., “the application shall use the company’s payroll system to retrieve salary information”  e.g., “the application shall use version 1.1 of the Apache server”  Communications  e.g., “the application shall communicate with human resources applications via the company intranet”  e.g., “the format used to transmit “article expected” messages to cooperating shipping companies shall use XML standard published at 8

© 2010 John Wiley & Sons Ltd. Step 1: Know your user (H 2 ) Step 2: Understand the business function in question (H) Step 3: Apply principles of good screen design (H, D 3 ) Step 4: Select the appropriate kind of windows (H, D) Step 5: Develop system menus (H, D) Step 6: Select the appropriate device-based controls (H) Step 7: Choose the appropriate screen-based controls (H) Step 8: Organize and lay out windows (H, D) Step 9: Choose appropriate colors (D) Step 10: Create meaningful icons (H, D) Step 11: Provide effective message, feedback, & guidance (D) Steps for Constructing User Interfaces 1 1 adapted from Galitz 2 a high-level requirement process 3 a detailed requirement process 9

© 2010 John Wiley & Sons Ltd. Examples of Error Handling Options  Ignore  Warn user  Allow unlimited retries  Log and proceed anyway  Substitute default values  Shut down 10

IEEE SRS Table of Contents 1. Introduction 1.1.Purpose 1.2.Scope 1.3.Definitions, acronyms & abbreviations 1.4.References 1.5.Overview 2. Overall description 2.1.Product perspective System interfaces User interfaces Hardware interfaces Software interfaces Communications interfaces Memory constraints Operations Site adaptation requirements 2.2.Product functions 2.3.User characteristics 2.4.Constraints 2.5.Assumptions and dependencies 2.6 Apportioning of requirements 3. Specific requirements -- see Figure 9 Appendixes © 2010 John Wiley & Sons Ltd. 11

3.1 External interfaces 3.2 Functional requirements -- organized by feature, object, user class, etc. 3.3 Performance requirements 3.4 Logical database requirements 3.5 Design constraints Standards compliance 3.6 Software system attributes Reliability Availability Security Maintainability Portability 3.7 Organizing the specific requirements System mode -- or User class -- or Objects (see right) -- or Feature -- or Stimulus -- or Response -- or Functional hierarchy -- or 3.8 Additional comments IEEE Detailed Requirements © 2010 John Wiley & Sons Ltd. 12

Traceability requirementdesign element test inspection code accommodates implements relates to inspection verifies validates verifies inspection verifies relates to © 2010 John Wiley & Sons Ltd. 13

A Change In a Requirement Causes Changes In Other Artifacts Artifact Original versionRevised version Require- ment The title of a DVD shall consist of between 1 and 15 English characters. The title of a DVD shall consist of between 1 and 15 characters, available in English, French and Russian. Design element Code class DVD { String title …. } class DVD { Title title …. } class Title… Inspection report Inspection # 672: 4 defects; Follow-up inspection #684. Inspection # 935: 1 defect; no follow-up inspection required. Test report Test # 8920 …Test # … © 2010 John Wiley & Sons Ltd. 14

Agile Requirements Analysis Develop common vision Specify user stories and acceptance tests Write tests for detailed requirement Code detailed requirement Each cycle: beginning Each cycle: end Each test © 2010 John Wiley & Sons Ltd. 15

Updating Project Plan After Obtaining High-Level Requirements Status after initial draft Status after obtaining high-level requirements Milestones Initial More milestones; more specific Risks Identify initial risks Retire risks identified previously; identify more risks now that more is known about the project Schedule Very rough Preliminary project schedule Personnel Designate high-level requirements engineers Designated engineers for detailed requirements analysis Cost Estimation Very rough First estimates based on job content 16 © 2010 John Wiley & Sons Ltd.

Typical Schedule Following High-Level Requirements Analysis High-levelHigh-level © 2010 John Wiley & Sons Ltd. 17