SWE 513: Software Engineering

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Advertisements

CSE 470 : Software Engineering The Software Process.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
1 SWE 513: Software Engineering Requirements II. 2 Details in Requirements Requirements must be specific Examples -- university admissions system Requests.
SWE Introduction to Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
SWE Introduction to Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 8 Requirements I.
CS 501: Software Engineering
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
Software Engineering General Project Management Software Requirements
CS 5150 Software Engineering
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 7 Requirements I.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 7 Requirements I.
CS 5150 Software Engineering
CS 501: Software Engineering Fall 2000
CS 501: Software Engineering Fall 2000 Lecture 5 (a) Documentation (b) Requirements Analysis.
CS 501: Software Engineering
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 7 Requirements I.
CS 501: Software Engineering Fall 2000 Lecture 6 (a) Requirements Analysis (continued) (b) Requirements Specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Chapter 3 Software Processes.
Requirements Engineering
CS 4310: Software Engineering Lecture 3 Requirements and Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CS 360 Lecture 5.  Requirements define the function of the system from the client’s viewpoint.  They establish the system's functionality, constraints,
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
Software Requirements Presented By Dr. Shazzad Hosain.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Engineering Management Lecture 1 The Software Process.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 3 Feasibility Studies.
Lecture 2 Developing Requirements
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 8 Requirements Analysis and Specification.
Chapter 4 Software Requirements
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
CS 5150 Software Engineering Lecture 7 Requirements 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
MADALINA CROITORU Software Engineering week 3 Madalina Croitoru IUT Montpellier.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
CS 501: Software Engineering Fall 1999 Lecture 4 (a) Documentation (b) Requirements Analysis.
Software Requirements. Objectives: l To introduce the concepts of user and system requirements l To describe functional / non-functional requirements.
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.
CS 501: Software Engineering Fall 1999 Lecture 5 (a) Requirements Analysis (continued) (b) Requirements Specification.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
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)
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 7 Requirements I.
REQUIREMENTS ANALYSIS CONCEPTS & PRINCIPLES. Requirement  IEEE defines Software Requirements as:  A condition or capability needed by user to solve.
Software Engineering Management
Classifications of Software Requirements
Presentation on Software Requirements Submitted by
Chapter 4 Requirements Engineering (1/3)
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
CS 501: Software Engineering
CS 501: Software Engineering Fall 1999
Chapter 2 Software Processes
Requirements Analysis
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

SWE 513: Software Engineering Requirements I

Feedback in the Waterfall Model Requirements Analysis System design Program design Coding Unit & Integration Testing System Testing Acceptance Testing Operation & Maintenance

Iterative Refinement Concurrent Activities Initial Version Requirements Outline Description Intermediate Versions Design Implementation Final Version

From an Old Exam Question A computing system is likely to need some sort of database (i) At what stage in the waterfall process, would the decision be made to use a relational database? Give the reasons for your answer. (ii) At what stage in the waterfall process, would the decision be made to use an Oracle database? Give the reasons for your answer. (iii) At what stage in the waterfall process would the database schema be specified? Give the reasons for your answer.

From an Old Exam Question (Answer) A requirement is a statement of need as expressed by a client. The client's requirements are that the system collects certain data, saves it, and carries out specified processes, e.g., displaying it, performing calculations, etc. The decision of how to store and manipulate the data (e.g., using the relational database model) is usually not a requirement of the client. It comes later, as part of the design. However. During the feasibility study it is important to know about relational databases, such as Oracle, and to study their capabilities.

Why are Requirements Important? Causes of failed software projects (Standish Group study, 1994) Incomplete requirements 13.1% Lack of user involvement 12.4% Lack of resources 10.6% Unrealistic expectations 9.9% Lack of executive support 9.3% Changing requirements & specifications 8.8% Lack of planning 8.1% System no longer needed 7.5% The most common mistake is to build the wrong system!

Evolution of Requirements • If the requirements definition is wrong, the system will be a failure. • With complex systems, understanding of requirements always continues to improve. Therefore... • The requirements definition must evolve. • Its documentation must be kept current (but clearly identify versions).

Goals During the Requirements Phase • Understand the requirements in detail (analysis) • Describe the requirements in a manner that is clear to the client • Ensure that the client understands the description of the requirements and their implications • Describe the requirements in a manner that is clear to the people who will design and implement the system

The Requirements Process Feasibility Study Requirements Analysis Requirements Definition Requirements Specification Feasibility Report System Models Definition of Requirements Requirements Document Specification of Requirements

Functional Requirements Requirements about the functions that the system must perform Functionality Data Interfaces Users and human factors

Example of Functional Requirements BU Registration System • Support for complex digital objects. (How many? What size?) • Access management. (What users? What objects? Policies?) • Identification. (Which identification system?) • Information hiding. (Where are the interfaces?) • Open protocols and formats. (How are these chosen?) • Integration with existing systems (What legacy systems must be accommodated?).

Non-Functional Requirements Requirements about the context in which the system is built Documentation and training Resources Security Physical environment Quality assurance

Examples of Functional and Non-Functional Requirements Privacy Functional requirement: Usage data for management of system Non-functional requirement: Usage data must not identify individuals Minimizing records Retain all required records Discard all other records

Non-Functional Requirements Product requirements performance, reliability, portability, etc... Organizational requirements delivery, training, standards, etc... External requirements legal, interoperability, etc... Marketing and public relations

Example of Non-Functional Requirements Example: Library System Hardware and software systems (IBM/Unix) Database systems (Oracle) Programming languages (C and C++) Regulations covering government contracting Importance of developing a system that will be respected by other major libraries

Unspoken Requirements Example: Resistance to change Departmental friction Management strengths and weaknesses

Requirements Analysis and Definition High-level abstract description of requirements: • Specifies external system behavior • Comprehensible by customer, management and users Should reflect accurately what the customer wants: • Services that the system will provide • Constraints under which it will operate Described in a Requirements Document that can be understood by the client.

Requirements Analysis 1. Identify the stakeholders: • Who is affected by this system? Client Senior management Production staff Computing staff Customers etc., etc., etc.,

Requirements Analysis 2. Understand the requirements in depth: • Domain understanding Examples: Philips light bulbs • Understanding of the real requirements of all stakeholders

Interviews with Clients Client interviews are the heart of requirements analysis and definition. Allow plenty of time. Clients may have only a vague concept of requirements. • Prepare before you meet with them • Keep full notes • If you don't understand, delve further • Repeat what you hear • Small group meetings are often most effective Clients often confuse the current system with the underlying requirement.

Viewpoint Analysis Example: University Admissions System • Applicants • University administration Admissions office Financial aid office Special offices (e.g., athletics, development) • Computing staff Operations Software development and maintenance • Academic departments

Requirements Analysis 3. Organize the requirements: • Classification into coherent clusters (e.g., legal requirements) • Recognize and resolve conflicts (e.g., functionality v. cost v. timeliness)