+ All Categories
Home > Documents > 1 An Agent-Oriented Methodology for Requirements Elicitation Luiz Marcio Cysneiros Dept. of Math and...

1 An Agent-Oriented Methodology for Requirements Elicitation Luiz Marcio Cysneiros Dept. of Math and...

Date post: 31-Dec-2015
Category:
Upload: sara-bell
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
45
1 An Agent-Oriented Methodology for Requirements Elicitation Luiz Marcio Cysneiros Luiz Marcio Cysneiros Dept. of Math and Stat Dept. of Math and Stat Information Technology Information Technology Program Program York University York University Eric Yu Eric Yu Department of Computer Science – Department of Computer Science – University of Toronto University of Toronto
Transcript

1

An Agent-Oriented Methodology for Requirements Elicitation

Luiz Marcio CysneirosLuiz Marcio CysneirosDept. of Math and StatDept. of Math and Stat

Information Technology ProgramInformation Technology ProgramYork UniversityYork University

Eric YuEric YuDepartment of Computer Science Department of Computer Science

– University of Toronto– University of Toronto

2

Users and Basic Functionality

The users of the hotel are hotel managers, hotel administrator, hotel housekeeping staff, restaurant/bar staff, and food and beverage inventory staff.

Hotel managers

Extend/restrict access rights to different employees Retrieve from and store information in the database View administrative reports Update price list

Hotel customers Browse the hotel website View hotel rooms availability and their prices Create account Check and update their personal information Book reservation online

Hotel Administrators View administrative reports

Housekeeping staff Retrieve the room status and schedule the cleaning based on the room

occupancy. Order the cleaning supplies and room products

Restaurant/Bar staff Bill customers Add charges to the hotel guest accounts (using their electronic keys)

Food/Beverage inventory staff Order supplies when they reach critical point

3

Economic Feasibility

1. Development Costs

Supporting Detail For Salaries and Wages Team Member Salary/Wage for Project

Project leader $90,000 Senior systems analyst $83,000 Systems analyst $72,500 Programming analyst $100,000 Programmers $61,000 Systems programmers $49,000 Total salaries and wages $455,500 Supporting Detail For Equipment and Installation

Equipment/Installation Equipment Cost 2 Servers $20,000 5 Desktop computers $9,500 10 Routers $1,500 2 Laser printers $1,200 Ethernet cable $600 600 Electronic door locks $60,000 Website domain name + hosting $100 Total equipment costs $92,900

4

Supporting Detail For Facilities Hotel Facilities Facilities Cost

Use of 10 hotel rooms for the duration of the project (6 months)

$27,000

Use of restaurant (3 meals a day) for the duration of the project (6 months)

$60,000

Use of hotel meeting room for the duration of the project (6 months)

$1,000

Total facilities costs $88,000

Supporting Detail For Support Staff Supporting Detail For Support Staff

Support Staff Support Staff Cost

Network wiring staff $10,000

Electrician $5,000

Contractor (for lock installation) $12,500

Total support staff costs $27,500

Supporting Detail For Licenses Supporting Detail For Licenses

Licenses Licenses Cost

5 Windows XP licenses $2,100

2 Oracle licenses $4,000

Total licenses costs $6,100

5

Summary Of Development Costs For York Hotel Summary Of Development Costs For York Hotel

Expenses Category Amount

Salaries and wages $455,500

Equipment/installation $92,900

Training $85,500

Facilities $88,000

Utilities $1,000

Support Staff $27,500

Licenses $6,100

Total $756,500

6

Supporting Detail For Connectivity Supporting Detail For Connectivity

Service Annual Cost

Internet connectivity $720

VPN connectivity $2,500

Total connectivity costs $3,220

Supporting Detail For Equipment Maintenance Supporting Detail For Equipment Maintenance

Equipment Annual Cost

2 Servers $10,000

5 Desktop computers $12,000

2 Laser printers $1,000

Network $12,500

Hotel website $7,200

Total maintenance costs $42,700

7

1.Benefits Benefits For York Hotel 1.Benefits Benefits For York Hotel

Benefit/cost saving Amount

Increased efficiency in booking hotel reservations

$150,000

Increased earnings due to web presence (increasing at 40% per year)

$510,000

Increased efficiency in inventory management

$80,000

Increased earnings due to more efficient reservation system

$125,000

Increased earnings due to more efficient room management

$140,000

Increased earnings due to introduction of self checkout process

$115,000

Total annual benefits $1,120,000

8

1.Financial Calculations 1.Financial Calculations Cost

benefit analysis

Year 0 Year 1 Year 2 Year 3 Year 4 Year 5 Total

Value of benefits

- $1,120,000 $1,324,000 $1,609,600 $2,009,440 $2,569,216

Discount factor (10%)

1 0.9091 0.8264 0.7513 0.6830 0.6209

Present value of benefits

- $1,018,192 $1,094,153.60

$1,209,292.48

$1,372,447.52

$1,595,226.21

$6,289,311.81

Development cost

$756,500

$756,500

Recurring cost

$146,620 $146,620 $146,620 $146,620 $146,620

Discount factor (10%)

1 0.9091 0.8264 0.7513 0.6830 0.6209

Present value of

costs

- $133,292.24

$121,166.77 $110,155.61 $100,141.46 $91,036.36 $555,792.44

PV of net benefits and

costs

$756,500

$884,899.76

$972,986.83 $1,099,136.87

$1,272,306.06

$1,504,189.85

Cumulative NPV

$756,500

$128,399.76

$216,486.83 $342,636.87 $515,806.06 $747,689.85

Payback period

0 year + $756,500 / ($756,500 + $216,486.83) = 0 year + 0.77 = 281 days = 9.5 months

5 Year return on

investment

($6,289,311.81 – ($756,500 + $555,792.44)) / ($756,500 + $555,792.44) = 379.26%

9

10

• Guest Reservation Subsystem:– Goal: Accept and process room reservations

• Functional Requirements List: 1) The system must accept reservations from clients, agencies and clerks of the

Hotel

2) The system must provide information regarding room availability to clients and hotel staff

3) The system must distinguish between different types of clients

4) The system must distinguish between different types of rooms

5) The system must support flexible rates and cancellation policies

6) The system must ensure that a credit card is provided for all reservations

7) The system must provide the hotel staff with information regarding reservations and customer profiles in order for them to organize and prioritize their work

11

• Non-Functional Requirements List:8. Reservations must be Web-based

9. Availability information must be accurate and up-to-date

10. All Web-based transactions must be secure

11. Information provided to the hotel staff must be accurate and up-to-date in order to be reliable

12. The system must facilitate communication with external agencies

12

Motivation

• Take for example the health care domain• Healthcare professionals, patients, and even

family members would be supported in their interactions and decision making by various kinds of software agents personalized to meet

• Each actor would be able to personalize their systems eventually implicating in refusing to provide some services

• Agent-orientation has been emerging as a new paradigm to deal with these kinds of systems.

13

Motivation

focus has been on:• Analysis• Design

very little coverage of:• Requirements

– what does it mean to do RE, given the AO characteristics?

We need to prevent

history from

repeating itself:

Requirements

modelling concepts

being driven from

programming!!

•Structured Analysis

from Structured

Programming

•OOA from OOD, OOP

•AOA from AOP ??

14

How to elicit, specify, validate requirements for AO systems?

• behavioral requirements– NB: autonomy, pro-activeness, …

– human-computer cooperation

– agent-agent cooperation

– …

• non-functional requirements– Privacy

– usability

– security

– reliability

– survivability

– scalability

– …

•AO systems may require

new RE techniques

•Could lead to

fundamental questions

about RE itself, e.g., due

to autonomy, openness,

15

What we Aim • Define an Agent-Oriented Methodology for

Requirements elicitation • This methodology

– Is based on the i* Framework

– Provide methods and tools for understanding and modelling the current state of the domain (Non-Intentional Dimension)

– Provide methods and tools for understanding and modelling the goals that underlies the current process (Intentional Dimension)

– Provide methods and tools to introduce new alternatives and systematically evaluate them.

• This methodology intends to be well defined so it can be repeatedly used in a consistent manner

16

The Methodology at a glance

• Identify the common terms used in the domain (Using the Language Extended Lexicon)

• Identify the main Agents involved in the process and how they relate to each other

• Identify Main Dependencies• Identify The Main Tasks

• Identify the Main Goals• Identify the Softgoals • Look For alternative Ways

Current Process (Basically Non-Intentional)

Current Process (Basically Non-Intentional)

System-to-be System-to-be

17

The i* Framework

• Supports goal-orientation & agent-orientation• Deals with non-functional requirements• Concepts in i* graphical notation:

– intentional elements• goal, task, resource, softgoal, belief

– intentional links• dependency, means-ends, decomposition, contribution,

correlation

– Actors• Agent, role and Position

– 2 Models:• Strategic Dependencies

• Strategic Rationales

18

The i* framework – 1. Strategic Dependencies

• Who do I depend on for what?

19

The i* framework – 2. Strategic Rationales

• Why? How? How else?

20

What is the LEL ?

• Aims to register the vocabulary used in the UofD

• It is based on a system of symbols composed of Notions and Behavioral Responses

• Notions specify the meaning of the symbol (denotation)

• Behavioral Responses register the results driven from the symbol utilization (connotation)

• Its construction is based on the minimum vocabulary and circularity principles

21

22

• Basically, we use Semi-Structured interviews

with the identified actors and Document

Reading

• Validate the Lexicon with Stakeholders !!

• Do it frequently !

23

Build a First Approach for the Social Context

• Can and Must happen in parallel with the LEL construction

• Starting Picking up all the Symbols of the LEL classified as subject. They are all strong candidates to be agents

• For each one of the symbols that you picked up to be an agent, look if any other agent is present in the notions of this symbol

• Symbols Classified as verbs can be either a task/goal or a role. Be careful.

• Ex:

24

25

26

Building a First-Cut Dependency Model

• Identify Main Dependencies – Identify Main Tasks

– Identify Main Resources

• Do it using a mix of semi-structured interviews, document reading, observation and protocol analysis.

• Always check to be sure that you are using LEL symbols in SD models

• Eventually use non-intentional process models as Workflow, DFD or UML diagrams

• Some Hard and Soft goal may eventually be elicited during this process but we will not be targeting it

CurrentProcessCurrentProcess

27

Identify Main Dependencies

• Whenever two symbols appear in the same sentence and both are subjects you may be facing a relationship among actors

• This kind of sentences may also hide tasks, goals and resources

• For each actor already found ask :On whom you depend on to do your job ?

What other people / devices do you interact with ?

28

B

A

Claim

Softgoal

Resource

Goal

Task

Correlation LinkContribution LinkDependency Link

Decomposition LinkMeans-End Link

Position

Agent

Role

Finding Main Tasks/Goals and Resources Dependencies

29

Elaborating on Processes and Rationales

• Find the main tasks for each Actor – Use SR Models

• Tasks are frequently easier to elicit then goals

• In many of the projects where KAOS was used the goals underlying the process were implicit and not really visible in the first place [Van Lamsweerde 98]

• Findings in the SD model can help building SR model and vice-versa

30

Elaborating on Processes and Rationales

• Symbols classified as verbs are candidates to be tasks in both SD and SR models

• Behavioral Responses in symbols that represent actors frequently hide a goal or a task

• Tasks can later become goals once one finds out that the depender does not care on how the dependee will perform this task

31

Elaborating on Processes and Rationales

• Common Questions :– For each actor found :

• What is this person responsible for ?

• What are the processes in which this person is involved ?

• Note that although we are focused on getting the current process and not the reasons behind it, sometimes these reason will become quite clear and hence should be modeled.

32

Elaborating on Processes and Rationales

• Use scenarios to refine tasks and to expand an actor.

For example :– In What possible scenarios could Nurse be involved ?

• Assess Patient

• Start discharging

• Coordinate discharging Process

– Describe the scenarios that are pertinent to the problem , validate them with the stakeholders and model them into SR models

33

34

Elaboration on the Intentional Dimension

• Once the current process is modelled (“what”) it is time to find out the “whys”.

• Try to determine not only agents goals but most of all organizational goals. What underlies the current process

• What are the reasons that led the stakeholder to establish them ?

• Why people do certain tasks ?

35

Identify Main Goals• Check all the existing tasks to see if they don’t hide any goals

• To each activity or cluster of activities ask: – Why this agent need to perform this task ?– Why it has to be performed this way ?– Are there alternative ways of doing that ?– Keep asking why so you can get to high-level goals

– What is wrong with the process ?– What should be changed ?– What could be better ?– Which goals are not satisfied ? Why ?

36

Identify Main Goals• Use mainly semi-structured interviews and document readings.

Eventually, protocol analysis and JAD Sections can be useful

• Check out for the need of privacy !

• This is not a top-down activity and neither bottom-up !

37

Intentional Dimension - Modeling Softgoals

• For each goal try to ask yourself and the stakeholder what NFR would be desirable.– Do we need Safety ?

– Do we need Accuracy ?

– Do we need Performance ? ……

• Whenever the answer is yes, represent it in the model and refine it as in NFR Framework– Refinement can be either top-down or bottom-up,

most likely to be a mix of both

• Answers from the previous step could bring up some softgoals

38

• Evaluate models for interdependencies (both positive and negative)– Evaluate different graphs for the same type of NFR– Evaluate graphs involving NFR that are frequently

conflicting (e.g. Usability and Security)– If the number of graphs is not too large pair wise

different graphs (excluding those previously compared)

• Negotiate with the stakeholders the different designs that could result from different ways of satisfying these NFR

• Agent-Oriented process naturally deals with different viewpoints

39

40

Exploring Further Alternatives

• Find all the goals not yet satisfied and decide how this goal will be achieved (choose among different way)

• At the end, all top goals (hard and soft) must be satisfied

• If we introduce new actors (both human or software agents) can we improve the process ?

• If we relocate responsibilities can we improve the process ?

• Eventually, turn the SR models into SD models or even into non-intentional models as WF so stakeholder can better visualize the final solution

41

42

43

The Case Study

• We conducted a case study involving 3 major hospital in Toronto

• Specifically, we studied the discharging process and the different ways it can be improved

• We got to a different solution involving the introduction of a new human agent supported by a new software agent.

• One of the hospitals is using the new process with good results

44

1

23

4

5

67

45


Recommended