IS550: Software requirements engineering Dr. Azeddine Chikh 1. Introduction and basic concepts.

Slides:



Advertisements
Similar presentations
Computer Science Department
Advertisements

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,
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Task Descriptions as Functional Requirements Soren Lauesen
Introduction to Software Engineering
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Plancher til Anskaffelse og kravspecifikation, Forår 2007 Lauesen: Software requirements - Styles and techniques 9. Checking and validation De fleste af.
Anskaffelse og kravspecifikation SR3_Functions - undtagen tasks.
Software Requirements
Fundamentals of Information Systems, Second Edition
Computers: Tools for an Information Age
1 Software Requirements Specification Lecture 14.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Slides for: Software requirements - Styles and techniques Soren Lauesen 3. Functional requirement styles January 2007 Slides covered by the compendium.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
S R S S ystem R equirements S pecification Specifying the Specifications.
1 Principles of Information Systems, Ninth Edition Chapter 13 Systems Development: Design, Implementation, Maintenance, and Review.
Welcome to CMPE003 Personal Computer Concepts: Hardware and Software Winter 2003 UC Santa Cruz Instructor: Guy Cox.
SQA Work Procedures.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Systems Analysis and Design: The Big Picture
Introduction to Software Quality Assurance (SQA)
Typical Software Documents with an emphasis on writing proposals.
ISO Tor Stålhane IDI / NTNU. What is ISO ISO 9001 was developed for the production industry but has a rather general structure ISO describes.
Transaction Processing Systems and System Development Life Cycle
Chapter 8: Systems analysis and design
Slides for Software requirements Styles and techniques Soren Lauesen 9. Checking and validation August 2006 © 2002, Pearson Education retains the copyright.
Requirements Analysis
IS550: Software requirements engineering
Feasibility Study.
Ravi Block Application Software Module 1.8.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
© 2007 by Prentice Hall 1 Introduction to databases.
Systems Development: Design, Implementation, Maintenance, and Review
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Requirements Engineering Southern Methodist University CSE 7316 – Chapter 3.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
MIS 105 LECTURE 1 INTRODUCTION TO COMPUTER HARDWARE CHAPTER REFERENCE- CHP. 1.
The Software Development Process
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Systems Development Life Cycle
MIS 7003 MBA Core Course in MIS Professor Akhilesh Bajaj The University of Tulsa Introduction to S/W Engineering © All slides in this presentation Akhilesh.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Week 3: Requirement Analysis & specification
System Requirements Specification
IS444: Modern tools for applications development Dr. Azeddine Chikh.
Software Requirements Specification Document (SRS)
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
IS550: Software requirements engineering Dr. Azeddine Chikh 5. Special interfaces - combined styles.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Requirements in the product life cycle Chapter 7.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
What is a Computer An electronic, digital device that stores and processes information. A machine that accepts input, processes it according to specified.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
 System Requirement Specification and System Planning.
Principles of Information Systems Eighth Edition
Classifications of Software Requirements
Fundamentals of Information Systems, Sixth Edition
Software acquisition and requirements SR3_Functions - except tasks
Systems Analysis and Design
System Requirements Specification
UNIT II.
Information Systems, Ninth Edition
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

IS550: Software requirements engineering Dr. Azeddine Chikh 1. Introduction and basic concepts

Soren Lauesen, "Software Requirements: Styles & Techniques" Addison-Wesley Professional 2002, 608 pp, ISBN- 10: ISBN-13: Text

Contract Analysis Reqspec Op & maint Design Program Test Demands Elicitation Stakeholders Verification Validation Tacit demands & reqs Tracing: Forwards... Backwards... Req. management: Changing reqs 1. The role of requirements 3

Tacit demands : are necessary – we cannot specify everything Elicitation and analysis : finding and structuring requirements Validation: the customers check that requirements match demands Verification: checking that the product fulfills the requirements 4

1. The role of requirements Tracing : is needed to compare requirements against other information. There are 4 types of tracing Forward: Tracing from requirements to program Tracing from demands to requirements Backward: Tracing from program to requirements Tracing from requirements to demands 5

1. The role of requirements Req. management : in spite of attempts to get it right the first time requirements change during development. It must be easy to update the specification, add new requirements, and asses the consequences of change. 6

2. Project types There are many types of project: in-house development buying commercial software tenders and contracts, etc. Requirements have different roles in different types of projects Sometimes the project type is unknown 7

2. Project types Project typesCustomerSupplier In-houseUser dept.IT dept. Prod. devel.MarketingSW dept. Time & materialsCompanySW house COTSCompany(Vendor) TenderCompanySupplier Contract devel.CompanySW house Sub-contractingSupplierSW house Unknown Inhouse? COTS? 8

2. Project types In-house development : The system is developed inside a company for the company’s own use. The customer and the supplier are departments of the same company Larger companies: banks, insurance comp., … Product development : The product is a commercial software to be marketed by a company The development project is carried out inside the company. The customer is the marketing department and the supplier the development department 9

2. Project types Time and materials based development: A software house develops the system on a time-and- materials base, i-e the customer pays the costs, for instance month by month Requirements are informal (unwritten) and develop over time Over time, the parties tend to realize that such projects can easily get out of control. COTS purchase: Commercial Off The Shelf that we can buy from the market (more or less off the shelf) : MS-Office, development tools, hospital and bank systems We distinguish COTS purchase (fully off the shelf) from COTS based (including some tailor-made configuration or extension) 10

2. Project types Tender: The costumer company starts a tender process and sends out a request for proposal (RFP). Several suppliers are invited to submit proposals The tender documentation contains an elaborate requirement specification The customer selects the best proposal Contract development: A supplier company develops or delivers a system to the customer company. The requirements specification and the contract specify what is to be delivered The two parties will often work together for some time to write the requirements and the contract. The system may be tailor-made or a COTS-based system with extensions 11

2. Project types Sub-contracting: A subcontractor develops or delivers part of the system to a main contractor, who delivers the total system to a customer. Sub-contracting can be requirements-based or time-and-materials based without written requirements Situation unknown: In many cases the customer doesn’t know what should do. Should he buy a COTS system or have the system developed in-house ? Should he try to integrate several products or should he contract with someone else to do it? High-level requirements can help to resolve these issues. They may help compare the alternatives from a cost/benefit and risk perspective. 12

3. Contents of ReqSpec Functional requirements, each interface: Record, compute, transform, transmit Theory: F(input, state) -> (output, state) Function list, pseudo-code, activity diagram Screen prototype, support tasks xx to yy System Platform: HW, OS, DB Spreadsheet Ext. products: Sensors, dev. Special SW User groups Quality reqs: Performance Usability Maintainability... Other deliverables: Documentation Install system Convert data Train users... Managerial reqs: Delivery time Legal Intellectual properties Development... Helping the reader: Background (Rationale) Business goals Definitions Diagrams... Organizing the parts: Best-known standard : IEEE 830 Interfaces Data requirements: System state: Database, comm. states Input/output formats 13

4. Problems observed in practice Relatively few problems in data and functional requirements Serious problems ensuring efficient task support and meeting business goals Quality requirements : important, but what should be written ? Parts to help the reader : important, but often ignored 14

4. Problems observed in practice Roster planning, Midland Hospital (old project) R47.It must be possible to attach a duty type code (first duty, end duty, etc.) to the individual employee. R144.The supplier must ensure that pay tables are updated no later than a month after new collective agreements,... R475.The system must be able to calculate the financial consequences of a given duty roster - in hours and in money terms. Prevent R479.The system must give notice if a duty roster implies use of a temporary worker for more than three months. R669.The system must give understandable messages in text form in the event of errors, and instruct the user on what to do. User tasks supported? Business goals obtained? 15

5. Domain and product level Product : the system to be delivered Product-level requirements : specify what should come in and out of the product. Domain : the product and its immediate users and other surroundings Domain-level requirements : describe the activities that go on outside the product – in the domain. The req. are to support those activities Quality req. can be at a product level as well as at a domain level. Example :performance 1: Product level : response time for the computer system (1) 2 : Domain level : performance time for a user task = manual time + (1) Clients : people served by the domain System : the product, the domain, or software plus hardware ? 16

Product Platform Control computers User activities Domain I/O Product I/O Domain Clients “Business” domain Actors? Elevators Product-level reqs: The product shall accept the following input:... Domain-level req: The product shall support the following user activities: Domain and product level 17

5. Domain and product level Redefined limits Product Control computers User activities Domain Clients “Business” domain 18

6. The goal-design scale A requirement must specify what the system should do without specifying how. Goal-level requirement : why the customer wants to spend money on the product Domain-level requirement : supports user tasks xx to yy Product-level requirement : a function to be provided by the product Design-level requirement : details of the product interface 19

6. The goal-design scale R1. Our pre-calculations shall hit within 5% R2. Product shall support cost recording and quotation with experience data R3. Product shall have recording and retrieval functions for experience data R4. System shall have screen pictures as shown in app. xx Goal-level requirement Domain-level requirement Product-level requirement Design-level requirement Which requirement to choose? If the supplier is A vendor of business applications? A software house - programmers? PriceWaterhouseCoopers? 20

6. The goal-design scale Neural diagnostics System shall have mini keyboard with start/stop button,... Why? Possible to operate it with “left hand”. Why? Both hands must be at the patient. Why? Electrodes, bandages, painful... Ask “why” 21

6. The goal-design scale In general it is an advantage to include “business” goals’, domain descriptions and - using more caution - examples. Recommendations : Why+ How Measuring neural response is a bit painful to the patient. Electrodes must be kept in place... So both hands should be at the patient during a measurement. R1:It shall be possible to perform the commands start, stop,... with both hands at the patient. Might be done with mini keyboard (wrist keys), foot pedal, voice recognition, etc. Domain - why Req. Example - how 22

7. Typical project models Product-level requirements : elicited from users. A lot of work Domain-level requirements : describe user tasks. Much faster. Two-step approach : domain-level first, design-level later with careful checks Contracts and price structure : can reduce risks. 23

7. Typical project models Traditional: Product-level reqs Ask users, study documents,... extract features/functions. Intro, [business goals]... System limits, e.g. context diagram Data reqs, e.g. data model, data descr. Product-level funct. reqs, e.g. features Critical quality reqs Fast approach: Domain-level Describe user tasks, study documents... Intro, [business goals, BPR tasks]... System limits, e.g. context diagram Data reqs, e.g. verbal data descr. Domain-level reqs, e.g. Tasks & Support [Trace analysis: goals to tasks] Critical quality reqs Two-step approach: Domain-level + design-level All the fast-approach stuff + Design-level reqs, e.g. prototypes, comm.protocols Approaches 24

7. Typical project models Recommended project models Project type:Trad.DomainTwo-step In-house?OKOK Product dev.?OK Time & mat.?OKOK COTS business?OK COTS toolsOK Tender COTS?OK Tender tailor?OK  OK  Contract COTS?OK Contract tailor?OK  OK  Sub-contractOKOK MaintenanceOK  Variable price ? Used, but dubious Project model 25

7. Typical project models Contracts and prices Contract typeAnalysisDesignProgram Analysis only Design & dev. All-in-one Development 26