OHTO -01 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it.

Slides:



Advertisements
Similar presentations
ICT Class System Life Cycle.  Large systems development projects may involve dozens of people working over several months or even years, so they cannot.
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,
Lecture 5: Requirements Specifications
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
Lecture 13 Revision IMS Systems Analysis and Design.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Karolina Muszyńska Based on
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
S R S S ystem R equirements S pecification Specifying the Specifications.
Software Requirement Specification(SRS)
Requirements Engineering
The Software Development Life Cycle: An Overview
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
S/W Project Management
Lecture 18: Specifications
CS 4310: Software Engineering Lecture 3 Requirements and Design.
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.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Requirements specification Copyright, 2001 © Jerzy R. Nawrocki Quality Management.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
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.
ITEC224 Database Programming
Requirements Engineering How do we keep straight what we are supposed to be building?
ECE450 – Software Engineering II
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Standard SRS Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering Lecture.
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.
Requirements Engineering ments_analysis.
Requirements Documentation CSCI 5801: Software Engineering.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Lecture 7: Requirements Engineering
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,
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
(SRS) SOFTWARE REQUIREMENT SPECIFICATION(SRS) 1. Topics to be discussed.. What is an SRS? Purpose of an SRS Who reads the SRS? Who writes the SRS? Characteristics.
Systems Development Life Cycle
Requirements Validation
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Systems Development AIMS 2710 R. Nakatsu. Overview Two philosophies of systems development –Systems Development Life Cycle (SDLC) –Prototyping Alternative.
Software Requirements Specification (SRS)
System Requirements Specification
Software Requirements Specification Document (SRS)
CSC480 Software Engineering Lecture 7 September 16, 2002.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Unit F451 Computer Fundamentals Components of a Computer System Software Data: Its representation, structure and management in information.
 System Requirement Specification and System Planning.
SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS
Requirements Engineering (continued)
SYSTEM ANALYSIS AND DESIGN
CSC480 Software Engineering
System Requirements Specification
Requirements Analysis
Software Requirements Specification Document
Chapter 6: Principles of Requirements Analysis
CEN 5035, Software Engineering
Lecture # 7 System Requirements
SOFTWARE ENGINEERING LECTURE 2
Requirements Document
Requirement Analysis.
Requirements Engineering Lecture 6
Presentation transcript:

OHTO -01 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it.

OHTO -01 THE BASIC WATERFALL MODEL Requirements analysis Maintenance Testing Implementation Design

OHTO -01 PROTOTYPING FOR REQUIREMENT ANALYSIS Requirements analysis - V&V Maintenance - V&V Testing - V&V Quick Implementa- tion - V&V Design - V&V V&V = Verification and Validation Quick Design - V&V Implementation - V&V

OHTO -01 REQUIREMENTS ANALYSIS Aims at producing a requirements specification. Is generally the most crucial phase of an average software project - if it succeeds then a complete failure is unlikely. The requirements specification can be used as a basis for a contract. If so, then the requirements specification will also be eventually used to evaluate if the software fulfills the requirements.

OHTO -01 … REQUIREMENTS ANALYSIS First the requirements must somehow be extracted. As users generally can not work with formal specifications, natural language specifications must often be used Then the requirements must be documented to be used in the later stages of software development. Now a more formal specification method may be possible.

OHTO -01 REQUIREMENT SPECIFICATION DESCRIPTION TECHNIQUES Natural language - Understandable for users Graphical languages - Simple languages (like ER) work well in practice, but are usually not designed for other purposes than requirement specification. General formal languages - Usually much too difficult to understand even for an above average user - You may be able to verify the system, but how can you verify the requirements?

OHTO -01 GOOD REQUIREMENTS SPECIFICATION QUALITIES Complete Accurate Unambiguous Verifiable (How can you verify ”user friendliness”?) Consistent Modifiable (also the requirements change) Traceable (where has each requirement come from?)

OHTO -01 OVERALL STRUCTURE FOR REQ. SPEC. (Ansi/IEEE Standard 830) 1. Introduction 1.1. Purpose 1.2. Scope 1.3. Definitions, Acronyms and Abbreviations 1.4. References 1.5. Overview 2. General Description 2.1. Product Perspective 2.2. Product Functions 2.3. User Characteristics 2.4. General Constraints 2.5. Assumptions and Dependencies 3. Specific Requirements

OHTO -01 ANSI/IEEE: Specific requirements 3. Specific requirements 3.1. Functional Requirements 3.2. External Interface Requirements 3.3. Performance Requirements 3.4 Design Constraints Standards Compliance Hardware Limitations … 3.5. Attributes Security Maintainability … 3.6. Other Requirements Data Base …

OHTO -01 ANSI/IEEE: FUNCTIONAL REQUIREMENTS 3.1. Functional Requirements Functional Requirement Introduction Inputs Processing Outputs Functional Requirement 2 … 3.1.n Functional Requirement n

OHTO -01 REQUIREMENTS SPECIFICATION - AN EXAMPLE A specification for an imaginary library system From Van Vliet’s book

OHTO -01 TECHNIQUES FOR GETTING THE REQUIREMENTS FROM USERS Asking - Interview - Questionnaire - ”Brainstorming” sessions Analysing an existing system - We must understand how the new system will differ from any old such system Analysing the environment - e.g. process analysis Prototyping - Gives best feedback and more formal specifications but can be expensive

OHTO -01 REQUIREMENTS ANALYSIS - What can go wrong? Missing specifications - Happens often - Experience helps - Sometimes it is impossible to notice Contradictions - Do not document the same thing many times - Integrate different users’ views with the users Noise - Do not include material which does not contain relevant information

OHTO -01 REQUIREMENT SPECIFICATION - What can go wrong? (2) Documenting a solution rather than the problem - If the users know some information technology, they want to start solving the problem as they express it. - Many formal (also graphical) methods tend to direct the process into this. Unrealistic requirements - Although we model the problem rather than the solution, it is good to have some idea of what is possible.

OHTO -01 WHO SHOULD DO REQUIREMENT SPECIFICATION? Someone who can communicate with the users Someone who has experience Someone who knows similar systems and/or the application area Someone who knows what is possible and how (and how much work is roughly needed).