1 Software Engineering I The Requirements Phase Adrian Als & Paul Walcott.

Slides:



Advertisements
Similar presentations
Information technology solutions development Fundamentals of Information Technology Session 3.
Advertisements

SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
1 Estimating Software Development Using Project Metrics.
Slide 10.1 CHAPTER 10 REQUIREMENTS PHASE. Slide 10.2 Overview l Requirements elicitation l Requirements analysis l Rapid prototyping l Human factors l.
Systems Analysis and Design 9th Edition
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Evaluation. formative 4 There are many times throughout the lifecycle of a software development that a designer needs answers to questions that check.
System Design and Analysis
Computers: Tools for an Information Age
Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Part 2: Requirements Days 7, 9, 11, 13 Chapter 2: How to Gather Requirements: Some Techniques to Use Chapter 3: Finding Out about the Users and the Domain.
IMS1805 Systems Analysis Topic 6: Analysis as a process within a process.
ICS 463, Intro to Human Computer Interaction Design: 8. Evaluation and Data Dan Suthers.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
The Agile vs. Waterfall Methodologies Systems Development:  the activity of creating new or modifying / enhancing existing business systems.  Objectives.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
Introduction to Systems Analysis and Design Trisha Cummings.
Foundation Degree IT Project Methodologies (for reference)
S/W Project Management
UHD-CMS-Chp91 Requirements Phase Chapter 9. UHD-CMS-Chp92 Requirements Phase What must the new product be able to do? What the client needs?
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Chapter 5: Requirement Engineering Process Omar Meqdadi SE 2730 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Requirements Engineering
PRJ566 Project Planning and Management
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Statistics Monitor of SPMSII Warrior Team Pu Su Heng Tan Kening Zhang.
Human Computer Interaction
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Process Improvement l Understanding, Modelling and Improving the Software Process.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing Requirements.
1 Technical & Business Writing (ENG-315) Muhammad Bilal Bashir UIIT, Rawalpindi.
CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik Adapted from Schach (2004) Chapter.
ICT IGCSE.  Introducing or changing a system needs careful planning  Why?
Systems Life Cycle A2 Module Heathcote Ch.38.
Requirement Elicitation Process Lesson 3. Requirements Elicitation  Is the process to find out the requirements for an intended software system by communicating.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Information Gathering Prototypes Structured Walkthrough.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
Chapter 3: Software Project Management Metrics
PROJECT WORK System Development Cycle. OVERVIEW Project work for the HSC course follows five stages of the traditional system development cycle. The SDC.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Team Skill 6: Building the Right System Assessing Requirements Quality (29)
Systems Development Life Cycle
© The McGraw-Hill Companies, Software Project Management 4th Edition Step Wise: An approach to planning software projects Chapter 2.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Advanced S/w Eng - s/w productivity issues 1 Software Productivity Issues Why do software projects fail? Advanced Software Engineering COM360 University.
Requirements Engineering Process
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
A BRIEF LOOK AT THE COMPONENTS THAT MAKE UP THE SYSTEM LIFE CYCLE.
Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing.
Software Project Management
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
User Interface Evaluation Introduction Lecture #15.
A brief look at the components that make up the system life cycle.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
1 Requirements Determination (Analysis) Lecture 3 Courtesy to Dr.Subhasish Dasgupta.
PROCESS ASSESSMENT AND IMPROVEMENT. Process Assessment  A formal assessment did not seem financially feasible at the onset of the company’s process improvement.
Information Technology Project Management, Seventh Edition.
Concepts of Engineering Module 2 Test Review. Review Questions Design problems are broken down into sub- problems because smaller problems must be solved.
Case Study of Agile Development Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
User-centred system design process
Topic for Presentaion-2
Systems Analysis and Design
EKT 421 SOFTWARE ENGINEERING
Foundation Degree IT Project
Lecture # 7 System Requirements
Requirements Analysis Techniques
Presentation transcript:

1 Software Engineering I The Requirements Phase Adrian Als & Paul Walcott

2 Requirements Analysis  Goal is to get a clear understanding of the client’s needs  May require examination of a current manual system  May require appraisal of a current computerised system  Requires members from client and developer organisation to meet

3 Requirements Goals  Attempt to identify problems in the current system  Avoid blindly taking statements about the client’s wants e.g. a wish list  Attempt to determine the real needs of the client  Recognise that the client is not always aware of all the needs  Overcome any lack of computer-literacy on the part of the client  Correctly interpret client’s requests even if not stated in the best way possible

4 Requirements Gathering Techniques  Interviewing  Questionnaires  Client Documents  Observations  Scenarios  Rapid Prototypes

5 Interviewing/Questionnaires 1.May be structured or unstructured 2.Structured interview has specific closed ended questions 3.Unstructured interview has open ended questions which allow varied responses 1.Overcomes the burden of multiple interviews 2.Can be filled out by large numbers of people 3.Lacks interactivity 4.Must be carefully designed

6 Client Documents/Observations  Analysing documents in an organisation tells you a lot about the organisation  Detailed information can be captured  Types of data used can be traced  Use of video cameras can capture what happens in the office  Persons can go into the office environment and observe, then write reports  May be privacy issues  May be legal issues

7 Scenarios  A scenario is an attempt to predict how a given product may be used by client  The client then informs the developer of where the scenario deviates from what normally happens in practice  Can result in new requirements being discovered by the developer

8 Rapid Prototypes  Quickly implemented sketch of what some aspect of finished product ought to be  Client representatives allowed to investigate and experiment with prototype  Developer representatives watch and make notes of what they see  Rapid prototype changed many times until both developers and users are satisfied  May become basis for specifications

9 Rapid Prototype Development  May require an interpreted language such as java, smalltalk or UNIX shell programming lang.  May require a 4GL such as Oracle or PowerBuilder  Must be capable of rapid on-the-spot modification and redeployment

10 Testing During Requirements  Testing is a part of every phase of development  If Rapid Prototype is built then SQA group must ensure that the right persons from the client organisation experiment with it.

11 Software Tools  Interpreted languages ( Rapid Prototyping)  4GLs  CASE tools

12 Requirements Metrics  We need to have ways of measuring how successfully our requirements phase is being handled

13 Requirements Volatility  This is an analysis of how often requirements change during this phase  Ideally there is a convergence towards the “real needs” or “actual requirements” of the client  By measuring this rate of convergence we can estimate how successful the efforts in this phase has been

14 Overall Requirements Volatility  Instead of measuring the rate of convergence in the requirements phase we may look at the rate of change over the entire project  Good requirements teams will have fewer changes to their work over the life of the project than bad teams

15 Analysis of “Frequency of Use”  We can examine how successful a requirement is by how often it is actually used by the client in a prototype  Features which are heavily used may indicate the need for optimisation  Features which are seldom used may indicate the need to re-examine whether it ought to be part of the requirements