[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.

Slides:



Advertisements
Similar presentations
Designing an Architecture 1.Design Strategy Decomposition Designing to Architecturally Significant Requirements Generate and Test This generate-and test.
Advertisements

S Y S T E M S E N G I N E E R I N G.
[ §4 : 1 ] 4. Requirements Processes I Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Requirements Definition Document.
Chapter 2 – Software Processes
Course Summary: Review of Software Engineering Requirements and Architecture Gruia-Catalin Roman and Christopher Gill CSE 436 Spring 2007 Department of.
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Software Testing and Quality Assurance
Introduction to Software Engineering
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
Software Requirements
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Overview of Software Requirements
Chapter 2: IS Building Blocks Objectives
SE 555 – Software Requirements & Specifications Introduction
1 Software Requirements Specification Lecture 14.
© Copyright 2011 John Wiley & Sons, Inc.
The Software Development Life Cycle: An Overview
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Typical Software Documents with an emphasis on writing proposals.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
CSI315 Web Applications and Technology Overview of Systems Development (342)
Requirements Analysis
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Software Requirements Engineering CSE 305 Lecture-2.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
SOFTWARE DESIGN.
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Lecture 7: Requirements Engineering
1 Introduction to Software Engineering Lecture 1.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
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.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 2 Information System Building Blocks.
2-1 A Federation of Information Systems. 2-2 Information System Applications.
Software Prototyping Rapid software development to validate requirements.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Requirements Validation
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Week 3: Requirement Analysis & specification
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.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
Process 4 Hours.
Classifications of Software Requirements
IEEE Std 1074: Standard for Software Lifecycle
Software Requirements analysis & specifications
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Presentation transcript:

[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification

[ §4 : 2 ] From Definition to Specification Requirements first must be defined Concrete, unambiguous, coherent statement of needs Acts as initial contract among customers, developers, etc. Allows customers, developers, etc. to plan ahead Requirements must then be specified Definitions are at too high a level to guide design Requirements must be refined and classified Separated into sub-requirements to pin down details Functional and non-functional requirements distinguished Requirements must be allocated to an architecture

[ §4 : 3 ] What Constitutes “Functional”? Type as input, value as output E.g., towards constructors and initialization methods Type as input and output E.g., towards allowed polymorphism and type conversions Value as input and output E.g., towards functions and operators Value as input, type as output E.g., towards classifiers and type identifiers … and combinations of these domains/ranges

[ §4 : 4 ] What about Time? Superficially, time seems (and often may be) non-functional E.g., when running faster is “a good thing” but does not change outcome However, some systems are inherently time-dependent E.g., human interaction, mechanical control, etc. Making system run too much faster or slower may be harmful In such cases, time must be treated as a functional element One technique is to transform time into events A timer or other device has a specified setting (e.g., rate) : Τ The device generates events at times governed by that setting :  f(Τ) Functional requirements can be written about Τ and f(Τ) Per a model that represents the relationship between Τ and f(Τ)

[ §4 : 5 ] 4.3 Specification The Software Requirements Specification (SRS) is a description of the functionality and constraints that must be delivered by the software precise detailed technical The SRS becomes the baseline for the entire software development process The boundary between the system and its environment must be known at this time The SRS assumes that the system functions have been allocated over an architecture

[ §4 : 6 ] Technical Contents The proper content of the SRS is determined by fundamental technical considerations having to do with how we view computing The specific form of an SRS reflects the specific computational model underlying the specification methodology being employed

[ §4 : 7 ] Specification after Elicitation

[ §4 : 8 ] Running Case Study: Elevator Consider the development of an elevator control system for a 10-story residential building.

[ §4 : 9 ] Centralized Controller All external interfaces have been identified The specification does not rule out a distributed implementation … … but provides a concrete high-level architecture to allow further specification and refinement

[ §4 : 10 ] Specification after Allocation

[ §4 : 11 ] Elevator Case Study, Continued The full technical specification cannot complete (and it may be expensive to start it) until all interfaces (internal and external) are well defined

[ §4 : 12 ] Distributed Controller Additional internal interfaces have been identified The specification rules out a centralized implementation Architecture is constrained accordingly Elevator controller

[ §4 : 13 ] 4.4 Verification Requirements verification is an activity directed towards the discovery of specification errors The ultimate goal is to ensure that the specification (when considered on its own) is correct consistent complete The verification must be carried out against a model (formal or informal) Formal and semi-formal specifications can be checked out by tools

[ §4 : 14 ] Verification Example: Elevator Door Control Logic Consider a deterministic finite state representation of the elevator movement logic Some errors can be detected simply by the nature of the model invalid initial state missing transitions non-deterministic transitions possible live-lock, etc.

[ §4 : 15 ] 4.5 Requirements Validation Concerned with establishing that specified requirements represent the needs of the customer and/or user Needs are not reflected by any model or document Thus, validation cannot be performed in a mechanical way Good communication is the key to a successful validation well-defined terminology well-written and simple specifications formal reviews rapid prototypes simulations

[ §4 : 16 ] Validation Example: Elevator Movement Policy Consider an elevator movement policy which takes the elevator up and down, from top to bottom, and services requests as it goes The policy satisfies the customer stated requirements every request is eventually serviced there is a defined upper bound on the time it takes for a request to be serviced Nevertheless the time it takes to service a request during low demand periods may be unacceptable unnecessary energy utilization emerges as a new issue the need for a better policy (and ideas about it) may emerge