CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik Adapted from Schach (2004) Chapter.

Slides:



Advertisements
Similar presentations
Chapter 2: Software Process
Advertisements

SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
Software Development Life-Cycle Models
Ch2: Software Life Cycles Housekeeping  Feedback from Wednesday  Structured vs. Object Oriented Paradigm Structured: Data is an argument, functions separate,
Systems Analysis and Design in a Changing World, 6th Edition
1 Software Engineering I The Requirements Phase Adrian Als & Paul Walcott.
Slide 10.1 CHAPTER 10 REQUIREMENTS PHASE. Slide 10.2 Overview l Requirements elicitation l Requirements analysis l Rapid prototyping l Human factors l.
AN OVERVIEW BY JAMIE STARKE The Role of Prototyping.
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Human Computer Interface. HCI and Designing the User Interface The user interface is a critical part of an information system -- it is what the users.
Chapter 6 Prototyping, RAD, and Extreme Programming
Chapter 8 Prototyping and Rapid Application Development
Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1.
© Lethbridge/Laganière 2001 Chapter 7: Focusing on Users and Their Tasks1 7.1 User Centred Design (UCD) Software development should focus on the needs.
Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
From Scenarios to Paper Prototypes Chapter 6 of About Face Defining requirements Defining the interaction framework.
Slide 10C.52 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Chapter 13: Designing the User Interface
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Chapter 8: Systems Development Please turn your cell phone off.
Introduction to Interactive Media 02. The Interactive Media Development Process.
Lecture Outline 11 The Development of Information Systems Chapter 8 page 390+
Software Development Stephenson College. Classic Life Cycle.
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?
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Guidelines and Prototypes CS774 Human Computer Interaction Spring 2004.
1 DENIM: An Informal Web Site Design Tool Inspired by Observations of Practice CS 376 – Research Topics in HCI 11/01/2005 Tony Tulathimutte.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
MULTIMEDIA DEVELOPMENT
Introduction to Interactive Media The Interactive Media Development Process.
CS540 Software Design Lecture 2 1 Lecture 2: Software Design Methods Anita S. Malik Adapted from Budgen (2003) Chapter 3 and Schach.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Requirements Elicitation Process Lecture-8.
HCI – Prototyping. Why Prototype?  Prototyping is a well understood and used technique in design engineering where products are tested via a model prototype.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
CHAPTER TEN AUTHORING.
Lecture 14 & 15: Object- Oriented Analysis Anita S. Malik Adapted from Schach (2004) Chapter 12.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Originated by K.Ingram, J.Westlake.Edited by N.A.Shulver Use Case Scripts What is a Use Case Script? The text to describe a particular Use Case interaction.
Lecture 18: Object-Oriented Design – Interaction and State Diagrams Anita S. Malik Adapted from Schach (2004) Chapter 12.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Ch 10: Requirements CSCI Requirements Workflow 1.Acquire basic understanding of the application domain (banking, automobile manufacturing) 2.Identify.
Software Engineering User Interface Design Slide 1 User Interface Design.
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
Systems Analysis and Design in a Changing World, 6th Edition
Software Prototyping Rapid software development to validate requirements.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Slide 10.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen.
Requirements Analysis
CS223: Software Engineering Lecture 8: Requirement Engineering.
William H. Bowers – Specification Techniques Torres 17.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
DOCUMENTATION REF: Essentials of IT (Hamilton et al) Chapter 1.
Software Engineering Zhang Shuang Software College, NEU
Lesson Objectives 1) Review the steps involved in problem solving 2) Review the stages of the System Life Cycle 3) Describe what prototyping is and the.
Pepper modifying Sommerville's Book slides
Prototyping in the software process
Software Prototyping.
CS 321: Human-Computer Interaction Design
The Role of Prototyping
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Chapter 8 Prototyping and Rapid Application Development
Requirements Analysis Techniques
Lesson 2 Prototyping.
Presentation transcript:

CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik Adapted from Schach (2004) Chapter 10

CS540 Software Design 2Lecture 5 Requirements Phase Process of discovering the client’s requirements Process of discovering the client’s requirements Misconception Misconception Must determine what client wants Must determine what client wants “I know you believe you understood what you think I said, but I am not sure you realize that what you heard is not what I meant!” “I know you believe you understood what you think I said, but I am not sure you realize that what you heard is not what I meant!” Must determine client’s needs Must determine client’s needs Familiarity with application domain Familiarity with application domain

CS540 Software Design 3Lecture 5 Requirements Analysis Techniques Interviewing (primary technique) Interviewing (primary technique) Structured interviews Structured interviews unstructured interviews unstructured interviews Questionnaires Questionnaires Forms analysis Forms analysis Video cameras Video cameras Use Cases/Scenarios Use Cases/Scenarios Rapid prototyping Rapid prototyping

CS540 Software Design 4Lecture 5 Interviews Structured Interviews: Specific pre-planned close ended questions are posed e.g., ‘How many….’, ‘How often….’, ‘How fast….’ Structured Interviews: Specific pre-planned close ended questions are posed e.g., ‘How many….’, ‘How often….’, ‘How fast….’ Unstructured Interviews: Open-ended questions are asked e.g., ‘What do you think about….’ Unstructured Interviews: Open-ended questions are asked e.g., ‘What do you think about….’ Interviewer prepares a written report outlining the results of the interview Interviewer prepares a written report outlining the results of the interview

CS540 Software Design 5Lecture 5 Scenarios Scenarios are another widely used technique for requirements elicitation Scenarios are another widely used technique for requirements elicitation Includes expected sequence of events as well as all exceptions Includes expected sequence of events as well as all exceptions List actions comprising the scenario, a storyboard, series of diagrams depicting the sequence of events etc. are some techniques used for depicting scenarios List actions comprising the scenario, a storyboard, series of diagrams depicting the sequence of events etc. are some techniques used for depicting scenarios Starting state, expected sequence of events, finishing state and exceptions to the expected sequence Starting state, expected sequence of events, finishing state and exceptions to the expected sequence Use Cases are widely used form of scenarios: pre conditions, normal flow, post conditions (Discussed in detail in Object-Oriented Analysis) Use Cases are widely used form of scenarios: pre conditions, normal flow, post conditions (Discussed in detail in Object-Oriented Analysis)

CS540 Software Design 6Lecture 5 Rapid Prototype Hastily built (“rapid”) Hastily built (“rapid”) Key functionality Key functionality What the client sees What the client sees Experimentation and change Experimentation and change

CS540 Software Design 7Lecture 5 Human Factors Client and intended users must interact with the user interface Client and intended users must interact with the user interface Human-computer interface (HCI) Human-computer interface (HCI) Menu, not command line Menu, not command line “Point and click” “Point and click” Windows, icons, pull-down menus Windows, icons, pull-down menus Human factors must be taken into account Human factors must be taken into account Lengthy sequence of menus Lengthy sequence of menus Expertise level of interface Expertise level of interface Uniformity of appearance Uniformity of appearance Advanced psychology vs. common sense? Advanced psychology vs. common sense? Rapid prototype of HCI obligatory Rapid prototype of HCI obligatory

CS540 Software Design 8Lecture 5 Rapid Prototype as Specification Technique No specification phase No specification phase Rapid prototype replaces specification document Rapid prototype replaces specification document

CS540 Software Design 9Lecture 5 Rapid Prototyping as Specification Technique Specifications: Rapid prototype plus list of additional features Specifications: Rapid prototype plus list of additional features Advantages Advantages Speed Speed No ambiguities, omissions, contradictions No ambiguities, omissions, contradictions Disadvantages Disadvantages Specification document is contract Specification document is contract Testing requires specifications Testing requires specifications Maintenance requires specifications Maintenance requires specifications Conclusion: Do not use rapid prototype as specifications Conclusion: Do not use rapid prototype as specifications

CS540 Software Design 10Lecture 5 Testing Requirements Aim: establish client’s real needs Aim: establish client’s real needs Users should be given the opportunity to review requirements document or experiment with rapid prototype (if there is one) so that their feedback and suggestions can be implemented in the final product after approval from the client (Note: Client may not be the user of the product) Users should be given the opportunity to review requirements document or experiment with rapid prototype (if there is one) so that their feedback and suggestions can be implemented in the final product after approval from the client (Note: Client may not be the user of the product) Issues must reach client Issues must reach client Requirements should be numbered for requirements traceability Requirements should be numbered for requirements traceability

CS540 Software Design 11Lecture 5 Metrics for the Requirements Phase Measure of requirements volatility – how frequently the requirements change during the requirements phase and after the requirements phase Measure of requirements volatility – how frequently the requirements change during the requirements phase and after the requirements phase How often is a screen used or not used when clients and users experiment with the prototype system How often is a screen used or not used when clients and users experiment with the prototype system

CS540 Software Design 12Lecture 5 Challenges of the Requirements Phase Employees of the client organization feel threatened by computerization Employees of the client organization feel threatened by computerization Requirements team members must be able to negotiate Requirements team members must be able to negotiate The client’s needs may have to be scaled down The client’s needs may have to be scaled down Key employees of the client organization may not have the time for essential in-depth discussions Key employees of the client organization may not have the time for essential in-depth discussions Flexibility and objectivity are essential Flexibility and objectivity are essential

CS540 Software Design 13Lecture 5 Air Gourmet Case Study Ref: (Schach 2004) pages 308 through 311 Ref: (Schach 2004) pages 308 through 311 Airlines provide ‘special dietary requirements’ food to their passengers Airlines provide ‘special dietary requirements’ food to their passengers Advantages and disadvantages Advantages and disadvantages What does Air Gourmet do? What does Air Gourmet do? What modifications does Air Gourmet want in its system? What modifications does Air Gourmet want in its system? The text suggests building a prototype. How would the interview technique work? The text suggests building a prototype. How would the interview technique work?