Top Banner
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems Department
46

is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

Jan 03, 2016

Download

Documents

donna-albert

is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011. College Of Computer Science and Information, Information Systems Department. Requirement Engineering. Objectives. What is Requirement Engineering? Task and Process of Requirement Engineering - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS

LECTURER : NOUF ALMUJALLY

22 – 10 – 2011

College Of Computer Science and Information, Information Systems Department

Page 2: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

2 Requirement Engineering

Page 3: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

3

Objectives

• What is Requirement Engineering?

• Task and Process of Requirement

Engineering

• Requirement Engineering Technology

• Software Requirement Specification and

Review

Page 4: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

4

Questions?

• If you are required to develop a library information software system, what will you do firstly?

• What functions that the system may have?• What behaviors that the system may have?• What performances that the system may

have?• What is the scope and boundary of the

software?• ……. Etc.

Page 5: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

5

Software Requirement

• To understand customers’ requirements about the software to be developed is extremely important

• Software requirement• Customers’ needs about the developed software,

including functions, performance, design constraints, schedule, etc.

• Sample of software requirements• Function: borrow book, renew book, …• Performance: the time of query book must be lower

1second• Constraints: software should be deployed and run under• windows OS• Schedule: development period is 6 months

Page 6: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

6

Requirement Engineering

• What is requirement engineering ?

• The process to obtain customers or end-users

requirements of software

• includes a set of tasks that lead to an

understanding of software requirements

• Helps software engineers to better

understand the problem they will work to

solve

Page 7: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

7

Who Does IT?

• Stakeholders : are individuals who affect or are affected by the software product• Customers: request, purchase, and/or pay for the

software product in order to meet their business objectives.

• End-users: use the product directly or use the product indirectly by receiving reports, outputs, or other information generated by the product

• The requirements analyst: responsible for eliciting the requirements from the customers, users, and other stakeholders, analyzing the requirements, writing the requirements specification, and communicating the requirements to development and other stakeholders

Page 8: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

8

Who Does IT?

• The designers: responsible for translating the requirements into the software’s architectural and detailed designs that specify how the software will be implemented.

• The developers: responsible for implementing the designs by creating the software products.

• The project managers: responsible for planning, monitoring, and controlling the project and guiding the software development team to the successful delivery of the software

Page 9: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

9

Importance of Requirement Engineering

• Basis and precondition of software development

• If you do not know what the problems are, you will

have no way to know how to solve

• Without it, the resulting software has a high

possibility of not meeting customers’ needs

• Establishes a solid base for design and construction• Standard to check whether the developed

software meets customers or end-users’ requirements

Page 10: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

10

Importance of Requirement Engineering

Page 11: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

11

Complexity of Requirement Engineering

• Customers are unable to express requirements explicitly Typically, they can not tell you what they want

clearly

• The requirements that customers or end-users present are often incomplete inaccurate inconsistent

• Software requirements are often extremely complex and large scale

Page 12: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

12

Problems and Challenges

• If the above problems can not be solved, the developed software will be incorrect Lost the desired functions of customers Implemented functions are not the right

ones that customers or end-users want

• Therefore, technologies and methods are necessary to support requirement engineering

Page 13: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

13Task and Process of Requirement Engineering

Page 14: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

14

Task of Requirement Engineering

• Obtain and understand software requirements in a complete, consistent and accurate way, and generate software requirement specification (SRS) document.

Page 15: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

15

Process of Requirement Engineering

Requirement engineering is completed through the following seven activities:• Inception• Elicitation• Elaboration• Negotiation• Specification• Validation• Management

Page 16: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

16

Inception (1/2)

• Purpose• Identify and discuss with stakeholders• Anyone who benefits in a direct or indirect way

from the system which is being developed: Customers, end-users, consultants, product engineers, software engineers

• Approach• Find and create stakeholders list• Ask: “who else do you think I should talk to?” to

find more• Result

• A list of stakeholders

Page 17: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

17

Inception (2/2)

• Questions when interacting with stakeholders:• Who is behind the request for this work?• Who will use the solution?• What will be the economic benefit of a

successful solution• Is there another source for the solution that

you need?

Page 18: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

18

Elicitation (1/3)

requirements gathering

Purpose• Elicit requirements from all stakeholders• Identify the problem• Define the scope of problem• Propose elements of the solution• Negotiate different approaches, and• Specify a preliminary set of solution

requirements

Page 19: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

19

Elicitation (2/3)

Approach• Meetings are conducted and attended by

both software engineers and customers• Rules for preparation and participation

are established• An agenda is suggested• A "facilitator" (can be a customer, a

developer, or an outsider) controls the meeting

Page 20: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

20

Elicitation (3/3)

Result: elicitation work products• A statement of need and feasibility• A bounded statement of scope for the system or product• A list of stakeholders who participated in requirements

elicitation• A description of the system’s technical environment• A list of requirements and the domain constraints that

apply to each• A set of usage scenarios that provide insight into the use

of the system or product under different operating conditions

• Any prototypes developed to better define requirements

Page 21: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

21

Elaboration (1/2)

Purpose• Create a refined analysis model of

software functions, features, and constraints for analyzing

Approach• Modelling, refinement• Scenario-based

• Use-case - descriptions of the interaction between an “actor” and the system

Page 22: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

22

Use-case

Page 23: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

23

Elaboration (2/2)

Approach• Behaviour-based: state diagram• Flow-oriented: data flow diagram

Result• Requirement analysis model of software,

which defines the informational, functional and behavioral domain of problem

Page 24: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

24

Negotiation

Purpose• Conflict requirements• Unpractical requirements with limited resources• Agree on a deliverable system that is realistic for

developers and customers

Approach• Identify the potential conflict and unpractical requirements• Rank requirements and discuss conflicts• Reconcile these conflicts through negotiation• Eliminate, combined and modified requirements

Result: agreed software requirements

Page 25: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

25

Specification

Purpose• Create the documents of software requirements

Approach• A written document• A set of models• A formal mathematical• A collection of user scenarios (use-cases)• A prototype

Result• Software requirement specification (SRS)

Page 26: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

26

Validation (1/3)

Purpose• To find the errors or missing information in SRS

A review mechanism that looks for• Errors in content or interpretation• Areas where clarification may be required• Missing information• Inconsistencies (a major problem when large products or

systems are engineered)• Conflicting or unrealistic (unachievable) requirements.

Result• Validated software requirement specification

Page 27: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

27

Validation (2/3)

Questions when validating• Is each requirement consistent with the overall

objective for the system/product?

• Have all requirements been specified at the proper level of abstraction? That is, do some requirements provide a level of technical detail that is inappropriate at this stage?

• Is the requirement really necessary or does it represent an add-on feature that may not be essential to the objective of the system?

• Is each requirement bounded and unambiguous?

Page 28: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

28

Validation (3/3)

Questions when validating (cont.)• Do any requirements conflict with other

requirements?

• Is each requirement achievable in the technical environment that will house the system or product?

• Is each requirement testable, once implemented?

• Does the requirements model properly reflect the information, function and behavior of the system to be built?

Page 29: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

29

Management

• Requirement management is a set of activities that help the project team identify, control, and track requirements and changes to requirements at any time as the project proceeds• Each requirement is assigned a unique

identifier

Page 30: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

30Technology of Requirement Engineering

Page 31: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

31

Requirements Elicitation Techniques

• Interviewing and questionnaires• Requirements workshops• Brainstorming• Storyboards• Use Cases• Prototyping

Page 32: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

32

Requirement Modelling and Analyzing

• Problem Decomposition• Abstract• Modelling• Multiple Viewpoints• Prototype

Page 33: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

33

Problem Decomposition

• What is problem decomposition?• Decompose big problem into small

problems• Decrease and control problem complexity

• Sample of problem decomposition• Reader management• Book management• Book borrow

Page 34: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

34

Abstract (1/2)

• What is abstract?• Catch the related parts and discard the

unrelated parts• To grasp the essence and core of problem

Page 35: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

35

Abstract (2/2)

• Abstract of reader (related parts)• Name• Department• Photo• Type• Email• Telephone• Mobile

• Abstract of reader (unrelated parts) Height Age Thesis Father Blood Supervisor

Page 36: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

36

Modelling (1/3)

• What is model of system• Model is the simplification of the real system and it

encompasses the related parts of system, ignores the unrelated parts of system

• Software requirement model describes the requirement of system to be developed in an accurate way

• Why modelling• Simplify the description and analysis of software

requirement• Specify the software requirements from multiple

viewpoints and different levels

Page 37: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

37

Modelling (2/3)

• Methods for requirement modeling• Data flow requirement modelling• Object-oriented modelling

Page 38: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

38

Modelling (3/3)

• Sample of modeling: Data Flow Diagram

Page 39: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

39

Multiple Viewpoint

• What is multiple viewpoint• To describe and analyze software

requirements from multiple viewpoints and different levels

• To grab the customers’ requirements in a complete and clear way

Page 40: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

40

Prototyping

• What is prototype?• Prototype is the intuitive and simple model of

systems to be developed.• It mainly focuses on the operation style,

process and interface.

• Why prototype?• Prototype as interaction media between

developers and customers• Prototype can easily find the problems of

software requirements

Page 41: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

41Software Requirement Specification and Review

Page 42: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

42

Software Requirement Specification (SRS)

• Software requirements should be written as a Document

• The SRS fully describes what the software will do and how it will be expected to perform.

• Functions and Behaviours E.g., borrow book, renew book

• Performances Response time should be less than 1 second

• Design constraints Running under Windows XP

• Others Schedule: 6 months

Page 43: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

43

Review of SRS

• Reviews is necessary before SRS is to be submitted formally to designers

• Who participate in the reviews• Customers and end-users• Requirement analysts• Software designer

Page 44: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

44

Attributes of a Good Requirement Specification

• Verifiability: Can the requirements be checked?• Consistency: Are there any requirements

conflicts?• Completeness: Are all functions required by the

customer included?• Comprehensibility: Is the requirement properly

understood?• Adaptability: Can the requirement be changed

without a large impact on other requirements?• Traceable: Is the origin of the requirement

clearly stated?

Page 45: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

45

Questions ??

Page 46: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011

46

What should you do this week ?

• Review the lectures.• Monday is review lecture, please print the

slides.• If you have any question related to the

assignment please ask me during the tutorial, by email or during the consultation hours.