is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 17 – 10 – 2011
is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011
-
Upload
donna-albert -
Category
Documents
-
view
36 -
download
5
description
Transcript of is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011
![Page 1: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/1.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/2.jpg)
2 Requirement Engineering
![Page 3: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/7.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/10.jpg)
10
Importance of Requirement Engineering
![Page 11: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/13.jpg)
13Task and Process of Requirement Engineering
![Page 14: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/20.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/22.jpg)
22
Use-case
![Page 23: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/24.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/26.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/27.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/28.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/29.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/30.jpg)
30Technology of Requirement Engineering
![Page 31: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/31.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/32.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/33.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/34.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/35.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/36.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/37.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/38.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/39.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/40.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/41.jpg)
41Software Requirement Specification and Review
![Page 42: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/42.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/43.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/44.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/45.jpg)
45
Questions ??
![Page 46: is 466 Advanced topics in information Systems Lecturer : Nouf Almujally 22 – 10 – 2011](https://reader033.fdocuments.us/reader033/viewer/2022042822/568135c1550346895d9d2311/html5/thumbnails/46.jpg)
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.