Slide 1 CS 310 Ch 6: Software Requirements Requirements engineering: establishing the services that the customer requires from a system and the constraints.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Requirements
Introduction to Software Engineering Dr. Basem Alkazemi
Software Engineering COMP 201
Introduction to Software Engineering
Software Requirements
SWE Introduction to Software Engineering
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Software Requirements
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
CS 425/625 Software Engineering Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
1 To introduce the concepts of user and system requirements To introduce the concepts of user and system requirements To describe functional and non- functional.
Overview of Software Requirements
1 CSC-3324: Chapter 4 Title: What is a requirement? Mandatory reading: Sommerville 6, 7 th ed., Chap.: 7.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
Software Engineering Chapter 6 Software requirements
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements 2.
Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Slide 1 Chapter 4 Software Requirements. Slide 2 Objectives l To introduce the concepts of user and system requirements l To describe functional and non-functional.
Chapter 4 – Requirements Engineering
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville Software Engineering Slide 1 Software Requirements l Definition: Description and Specifications of a system l Topics covered: Functional.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
AGU COE/COC Software Engineering CSE 402 / CSC 308 Slide 1 Requirements engineering l The process of establishing the services that the customer requires.
Adaptive Processes © Adaptive Processes Simpler, Faster, Better Software Requirements.
Software Requirements Presented By Dr. Shazzad Hosain.
소프트웨어공학 강좌 1 Chap 4. Software Requirements - Descriptions and specifications of a system - Soo-Mi Choi
Software Requirements Descriptions and specifications of a system.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
Software Requirements. Objectives l To introduce the concepts of user and system requirements l To describe functional and non-functional requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Chapter 4 Software Requirements
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
 To introduce the concepts of user and system requirements  To describe functional and non-functional requirements  To explain how software requirements.
Software Requirements Software Requirements - adopted & adapted from I. Sommerville, 2004.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 / 54 Software Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
1 Software Requirements Descriptions and specifications of a system Descriptions and specifications of a system.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Software Engineering Chapter 6 Software requirements Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Requirements Analysis
Software Engineering, 8th edition. Chapter 6 1 Courtesy: ©Ian Sommerville 2006 March 05 th, 2009 Lecture # 8 Software Requirements.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 6 Slide 1 Software Requirements.
Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Engineering, COMP201 Slide 1 Software Requirements.
Software Requirements
Chapter 5 – Requirements Engineering
Software Requirements
Software Requirements
Software Requirements
Software Requirements
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Slide 1 CS 310 Ch 6: Software Requirements Requirements engineering: establishing the services that the customer requires from a system and the constraints under which it operates and is developed Requirements: descriptions of the system services and constraints that are generated during requirements engineering

Slide 2 Hypothetical Problem: set up a Software Assistance Center What are the requirements? are we thinking the whole system or just the programming Is there any organization to this? How would you present this to Dean Miller-Bernal? How would you present this to someone who will build it?

Slide 3 What is a requirement? What the system should do, not how what: maintain student grades how: store student grades in a MySQL database with web front-end Range: a high-level abstract statement of a service or of a system constraint a detailed mathematical function (how grades are calculated) Inevitable since requirements may be the basis for a bid - therefore open to interpretation be the basis for the contract - therefore detailed Both may be called requirements Our goal: make them as specific as possible

Slide 4 Levels of requirement User requirements statements in natural language plus diagrams of the services the system provides and its operational constraints–written for system users who don’t have detailed technical knowledge problems »lack of clarity: precision can make the document difficult to read »requirements confusion: functional and non-functional mixed-up »amalgamation: several different requirements lumped together System requirements (more detailed than user requirements) a structured document setting out detailed descriptions of the system services may be used as part of the system contract serves as a basis for building the system and for acceptance testing Don't separate these in your project, aim for a complete, detailed document

Slide 5 User versus system requirement Comment: I don’t make this distinction. A spec should contain the details. System requirements specification 1.1 The system will store grades for each student enrolled in CS 10x 1.2 These grades will be retained for 5 years 1.3 TAs must logon to enter or change student grades 1.4 TAs may change grades only in courses to which they have been granted permission 1.4 The system will log each change to a grade 1.5 A student must logon and can see only grades in courses she is taking 1.6 The system will log each failed login attempt User requirement definition 1 The system will allow TAs to enter grades for each student in CS 10x 2 The system will allow students to check their current grade

Slide Functional and non-functional requirements Functional services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations the system will allow TAs to enter grades for each student in CS 10x Non-functional constraints on the system services such as timing constraints, constraints on the development process, standards, etc. the system will be available 24/7 Domain requirements that come from the application domain of the system and reflect characteristics of that domain e.g. the laws of physics e.g. how grades are calculated

Slide 7 Non-functional requirements * * How the product must behave

Slide 8 Examples Product requirement all communication between the system and the user shall be transferred in XML Organizational requirement the system development process and deliverable documents shall conform to the process and deliverables defined in XYZCo-SP-STAN-05 External requirement the system shall not disclose any personal information about customers apart from their name and reference number to the operators of the system

Slide 9 Requirements measures

Slide 10 Back to the Software Assistance Center How about these? it will be staffed by smart people they will answer questions it will be open a lot the room will be nice Do: me 5-10 representative functional and non functional requirements

Slide 11 So, how do we write specifications? Natural language ambiguous over-flexible (one can say the same thing may be said several ways) lack of modularization Alternatives -various more formal notations structured natural language (my favorite) using a standard form using a program design language (PDL)

Slide 12 Structured NL specification

Slide 13 Form-based node specification

Slide 14 Sequence diagram of ATM withdrawal

Slide 15 PDL interface description

Slide Software requirements document The official statement of what the developers must build Not a design document. As far as possible, it describes what the system should do, not how what: maintain author, title, and price in a database how: store author, title, and price at locations x-y It should be easy to read/change the basis for system design the basis for system testing a reference tool for maintenance (NO) forethought about the system life cycle (NO, only as requirements)

Users of a requirements document no

Slide 18 Guidelines for writing requirements Use a standard format for all requirements Use language consistently. Use “shall” for mandatory requirements, “should” for desirable requirements (I don't believe "desirable" requirements belong) Avoid computer jargon Be concise remove extra words do not cover a requirement more than once Avoid ambiguity

Slide 19 Exercise Rewrite the following requirements so that they may be objectively validated. You may make any reasonable assumptions about them. The software system shall provide acceptable performance under maximum load conditions The system interface shall use a character set as available on the standard terminal If the system fails in operation, there should be a minimal loss of data The software development process used shall ensure that all of the required reviews have been carried out The software will be well-written The software must be developed in such a way that it can be used by inexperienced users

Slide 20 Requirements document structure Introduction: describe need for the system and how it fits with business objectives System models: define models showing system components and relationships Functional requirements: the services to be provided Non-functional requirements: constraints on the system and the development process Appendices. e.g. glossary: define technical terms used system hardware platform database requirements (as an ER model perhaps) This differs somewhat from the text