requirements engineering cscu 411 ch 9. learning objectives to understand that requirements...

23
Requirements Engineering CSCU 411 Ch 9

Upload: austen-mcdaniel

Post on 30-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Requirements Engineering

CSCU 411 Ch 9

Page 2: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

LEARNING OBJECTIVES

• To understand that requirements engineering is a cyclical process involving three types of activity: elicitation, specification, and validation

• To appreciate the role of social and cognitive issues in requirements engineering

• To be able to distinguish a number of requirements elicitation techniques

• To be aware of the contents of a requirements specification document

• To Know various techniques and notations for specifying requirements

• To be aware of different perspectives and aspects that may be distinguished in modeling requirements

Page 3: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Library

• List of books by…

• List of books with XXXX in title

• List of books an topic XXXX

• List of books that arrived after a date

Page 4: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Library

• Store info on books ordered but not received

• Store customer info and date books are due

Page 5: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Library Design

• System?– O/S– DBMS– User interface (terminals, PCs) How Many

• Type of user– General– Members– Staff

• Permissions– Read– Read/Write– PRINT

Page 6: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Library Design

• Size of DB– Search types– Growth– Limits?

• Response time– Search results

• Local• Other branches?

• Cost– Software– Hardware– Training

• Procedures change• Some staff become redundant

– Is it worth it?• Non technical aspects

Page 7: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Library Design

• Requirements elicitation

• Requirements specification

• Requirements validation and verification

Page 8: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of
Page 9: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Requirements Elicitation

• Functionalism (objective-order)

• Social-relativism (subjective-order)

• Radical-structuralism (objective-correct)

• Neohumanism (subjective-conflict)

• Democratic

• Network

Page 10: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Requirements Elicitation Techniques

Page 11: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Requirements Elicitation

• Task Analysis– What normally happens– What we wish happened– What can happen– What we decide on– Scenarios

Page 12: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Business Process Redesign (BPR)

• 1. Identify processes for innovation.

• 2. Identify change levers

• 3. Develop process visions

• 4. Understand the existing process

• 5. Design and prototype

Page 13: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

THE REQUIREMENTS SPECIFICATION DOCUMENT• A requirements specification should be correct• A requirements specification should be unambiguous• A requirements specification should be complete• A requirements specification should be (internally)

consistent• Requirements should be ranked for importance or stability• A requirements specification should be verifiable• A requirements specification should be modifiable• A requirements specification should be traceable

Page 14: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

THE REQUIREMENTS SPECIFICATION DOCUMENT• Details we must look at

– Mode. Systems may behave differently depending on the mode of operation

– User class. Different functionality Day be offered to different classes of users (login type)

– Objects. Requirements may be classified according to the objects in the real world

– Response. Some systems are best described by placing together functions that generate response

– Functional hierarchy. When no other classification fits

Page 15: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

REQUIREMENTS SPECIFICATION TECHNIQUES • Noise• Silence• Over-specification• Contradictions• Ambiguity • Forward references• Wishful thinking

Page 16: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Entity-Relationship Modeling

Page 17: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

State Machines

Page 18: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Structured Analysis Design

Page 19: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

SADT and our Library

Page 20: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

A MODELING FRAMEWORK

• The business perspective

• The information perspective

• The functionality perspective

• The implementation perspective

Page 21: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

A MODELING FRAMEWORK

• Consider the following:– Goals and constraints– Function In to Out

• Fees • Members• (white Box)

– Data• Types, attrib, relations, constraints

– Organization• Structure• Quality of work

– Technical Structure• Hardware• Users• Infrastructure

– Distribution• Locations• Machines

Page 22: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of
Page 23: Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of

Verification and Validation

• Checking against the requirements document– Correct – Complete– No ambiguity– Consistency