1 requerements in the software lifecycle. 2 requirements challenge complex hci : always complicate...
TRANSCRIPT
![Page 1: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/1.jpg)
1
Requerements in the Software Lifecycle Requerements in the Software Lifecycle
![Page 2: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/2.jpg)
2
Requirements Challenge• Complex
HCI : Always complicate and complex
• Eliciting Requirements Need to be always exploring
Many possible solutions
No right or wrong
What is the problem again ?
![Page 3: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/3.jpg)
3
Once more What is RE ?• A systematic process of developing requirements
through an iterative and co-operative process of analyzing the problem, documenting the resulting observations in a variety of representation formats, and checking the accuracy of the understanding gained.
[MaCaulay – Requirements Engineering (applied Computing)]
![Page 4: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/4.jpg)
4
Software Myths (From Easterbrook Lectures)
• Cost of Software is Lower than cost of physical devices
• Software is easy to change
• Computers are more reliable than physical devices
• Software can be formally proved to be correct
• Software reuse increases safety and reliability
• Computers reduce risk over mechanical systems
![Page 5: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/5.jpg)
5
Why do we develop a software ?• Competition, critical facts
• New technology has been developed
• New Requirements
• Company is growing Business is changing
• Something Changed in your world
• Continue a previous project
![Page 6: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/6.jpg)
6
Professional Responsibility• Competence
Never misrepresent your level of competence
• Confidentiality Respect confidentiality of ALL Stakeholders
• Stakeholders
How customers are linked and how is it important ?
Who are the Stakeholders ?
customerusers
clients
OwnerEspecialist
Partner
Third party clients
Investor
clients
Non-clients
![Page 7: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/7.jpg)
7
Professional Responsibility• Intellectual property rights
Respect protection on ideas, design, patterns ….
• Data Protection Check the Law to see how personal data should be handled
Whatever you learn here should be constantly check during the whole lifecycle
![Page 8: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/8.jpg)
8
Managing Projects• What can a Manager Control ?
Resources - Money, Personal, tools, facilities ..
Product – What and how the system will do things – (Control the scope)
Time create detailed schedules Check milestonesChange schedule and milestonesBe pro-active
Risk What are the risks in the project
o Different scope/solutions may have different risksWhich risks can we live withIf risk is too high how should we proceede
o Brace for collision ?o Revisit the scope or possible alternatives ?
![Page 9: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/9.jpg)
9
Management• Measure !!
If you can’t measure your process/project you can not manage it
• Have a clear notion of the desired goals and objectives
• Plan ahead
• Assume things will go wrong
• Monitor and adjust it as frequently as needed
• Keep the environement Calm
Productive
Informed (when possible)
![Page 10: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/10.jpg)
10
Why do we start a project ?• Why ?
Problem drivenExisting system present problemsIncompleteness
Changes in the domainWhen something relevant arises in business or its environmentCurrent system can not handle new businesses Change in Law
New opportunitiesNew technology can improve business New markets have arisenNew upper management
![Page 11: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/11.jpg)
11
Source of Requirements• Customer
A specific customer have a specific need
• Market May want to sell to a large number of clients (e.g. ERP)
Need to reach new customers
Marketing identifies ne wopportunities
• Social Related Systems that do not seek profit
Open software Scientific research
• Mix We do have a client but we want to leave it open to explorer larger set
of customers late.
![Page 12: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/12.jpg)
12
Most Common types of systems• Information systems
Support an organization
Database is part of the system
More than 70% of all software
Payroll
Accounting
Customer relation
Student Enrollment
• Control Systems Control process (hardware) in real time
Flight Control
Nuclear power plant
Elevators
• Generic Provide services to other systems
Search enginesCredit Card processingM
![Page 13: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/13.jpg)
13
Software Lifecycles• Waterfall
![Page 14: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/14.jpg)
14
Software Lifecycles
![Page 15: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/15.jpg)
15
Software Lifecycles
![Page 16: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/16.jpg)
1616
Rational Unified Process
![Page 17: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/17.jpg)
17
System Lifecycle
![Page 18: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/18.jpg)
18
Software lifecycle
![Page 19: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/19.jpg)
19
Software Lifecycles
![Page 20: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/20.jpg)
20
Software Lifecycles
![Page 21: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/21.jpg)
21
What is a System• Part of a reality that can be observed and interact with the
environment Every system has a boundary
Get inputs and send outputs
Almost always composed of smaller sub-systems
• Examples Cars, weather, universe, Cardiovascular
Operating Systems
Database Servers
Organizations
• Not Systems Numbers
Letters
![Page 22: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/22.jpg)
22
![Page 23: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/23.jpg)
23
Types of Systems• Natural Systems
Ecosystems, weather, human body
• Abstract Systems Mathematical equations, computer programs
• Designed Systems Cars, planes, phones, internet
• Human Activity Systems Organization, markets, clubs
• Information Systems MIS
Transaction Processing
Real-Time Control
![Page 24: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/24.jpg)
24
Software Systems• Hard to define precisely
• Composed of abstract ideas
• Different people may have different understandings
• The system doesn’t really exists Talking about systems helps to understand it
• The system is a Theory of how some part of the world operates
![Page 25: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/25.jpg)
25
System Boundary• The part of the world that interacts with the system
Every system has a subsystem
The environment in itself is a system
• Choosing Boundaries Maximize modularity
Telephone system – switches, phone lines, handsets, users, account
Desktop Computer - ?
TipsExclude things that have no functional effect on the systemExclude things that influence the system but cannot be influenced or
controlled by the systemInclude things that can be strongly influenced or controlled by the system
![Page 26: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/26.jpg)
26
A Place to Start• Nowadays almost always there is a system in place
Studying what we have prompts to requirements and helps to avoid past mistakes
• Using what we have Can reduce costs Makes it easier to break problems downs
But Can mislead you too !!
• Is the problem presented to us the real problem ?
![Page 27: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/27.jpg)
27
Starting in a Nutshell• Stakeholders
How customers are linked and how is it important ?
Who are the Stakeholders ?
customerusers
clients
OwnerEspecialist
Partner
Third party clients
Investor
clients
Non-clients
![Page 28: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/28.jpg)
28
Starting in a Nutshell• Boundaries
How do you scope the problem ?
How far should we go ?
Time constraints ?
Budget constraints ?
• Goals and Scenarios Helps understanding what, who, when, why
May not be too easy to determine
• Feasibility Cost vs Benefit analysis
• Risk Continuous Risk Management
![Page 29: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/29.jpg)
29
vz
![Page 30: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/30.jpg)
30
• Subject World Things that need to be used in the information system
Account, Transaction in a bank account, Collision Alert
• Usage World The environment where the future system will operate
People
o Managero Clerko Customer
Business Process
o Withdraw moneyo Evasive Action (Plane)
![Page 31: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/31.jpg)
31
• System World What the system does within its operational environment
What are the information needed ?
What functions should be performed ?System records log of useSystem gives account BalanceSystem monitors patient
• Development World Process
Team
Schedule
Qualities (Non-Functional Requirements)System to be delivered in 12 monthsTeam should not exceed 12 people
![Page 32: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/32.jpg)
3232
Developing a Project Schedule1. Identify individual tasks for each activity
• Top-down or bottom-up approach
2. Estimate the size of each task (time and resources) – optimistic, pessimistic and expected times
3. Determine the sequence for the tasks4. Schedule the tasks• Charting methods (Appendix C)
PERT/CPM (Project Evaluation and Review Technique/Critical Path Method) chart shows the relationships based on tasks or activities Defines tasks that can be done concurrently or not and
critical path
Gantt chart shows calendar information for each task as a bar chart Shows schedules well but not dependencies as well
![Page 33: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/33.jpg)
3333
![Page 34: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/34.jpg)
3434
![Page 35: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/35.jpg)
3535
Gantt Chart• Tasks represented by vertical bars
• Vertical tick marks are calendar days and weeks
• Shows calendar information in a way that is easy
• Bars may be colored or darkened to show completed tasks
• Vertical line indicates today’s date
![Page 36: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/36.jpg)
3636
![Page 37: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/37.jpg)
3737
Further Preparations
• Staffing the ProjectDevelop a resource plan Identify and request technical staff Identify and request specific user staffOrganize the project team into work groupsConduct preliminary training and team-building
![Page 38: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/38.jpg)
3838
2. Confirming Project FeasibilityEconomic feasibility – cost-benefit analysisOrganizational and cultural feasibility
E.g. low level of computer literacy, fear of employment loss
Technological feasibilityProposed technological requirements and available expertise
Schedule feasibilityHow well can do in fixed time or deadline (e.g. Y2K projects)
Resource feasibilityAvailability of team, computer resources, support staff
• Economic FeasibilityThe analysis to compare costs and benefits to see whether
the investment in the development of the system will be more beneficial than than costly
![Page 39: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/39.jpg)
3939
• Costs
Development costs : salaries and wages, equipment and installation, software and licenses, consulting fees and payments to third parties, training, facilities, utilities and tools, support staff, travel and miscellaneous
Sources of Ongoing Costs of Operations: connectivity, equipment maintenance, computer operations, programming support, amortization of equipment, training and ongoing assistance (help desk), supplies
![Page 40: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/40.jpg)
4040
• BenefitsTangible benefits - examples
Reducing staff (due to automation)Maintaining constant staffDecreasing operating expensesReducing error rates (due to automation)Ensuring quicker processing and turnaboutCapturing lost discountsReducing bad accounts or bad credit lossesReducing inventory or merchandise lossCollecting accounts receivable more quicklyCapturing income lost due to “stock outs”Reducing the cost of goods with volume discountsReducing paperwork costs
![Page 41: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/41.jpg)
4141
• Benefits Intangible benefits – examples
Increased customer satisfactionSurvivalSafety of a Patient The need to develop in-house expertise
Note - also can have intangible costs for a projectreduced employee morallost productivitylost customer or sales
![Page 42: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/42.jpg)
4242
Conducting the feasibility study
• Each category of cost is estimated• Salaries and wages are calculated based on
staffing requirements• Other costs such as equipment, software
licenses, training are also estimated• A summary of development costs and annual
operating costs is created• A summary of benefits is created• Net present value (NPV) – present value of
benefits and costs, is calculated for e.g. 5 year period
• Decision is made to proceed with project or not
![Page 43: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/43.jpg)
4343
![Page 44: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/44.jpg)
4444
Job Time Salary Total
Project Manager
12 months
90,000 90,000
System Analyst (3)
9 months 75,000 168,750
Programmers (6)
7 months 50,000 175,000
Network Designer
5 months 70,000 29,166
462,916
![Page 45: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/45.jpg)
4545
![Page 46: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/46.jpg)
4646
![Page 47: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/47.jpg)
4747
![Page 48: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/48.jpg)
48
![Page 49: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/49.jpg)
49
Ok. How Elicitation fits ?• First part of Requirements Process
• But it goes throughout the whole software
• Never stops
![Page 50: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/50.jpg)
50
• Another Definition for Requirements: An externally Observable Characteristic of a Desired System
• 2 Buttons in a mouse If the user needs 2 buttons this is a requirement
If the user only need a way of moving slides back and forth, this is too detailed to be a requirement
![Page 51: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/51.jpg)
51
Tackling the problem not the solution
My Elevator is too slow• My Elevator is slow
•You have a throughput problem not a speed problem !
![Page 52: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/52.jpg)
52
Tackling the problem not the solution
• Well it’s a problem because people complaint about the lines
•Why is that a problem ?
• Solution ????
• My Elevator is slow
•How better should it be?
As better as needed for stopping complaints
![Page 53: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/53.jpg)
53
Basic Needs for Elicitation
(Questions from Polya)
• What is unknown?
• Do you know any related problem?
• Can you reinvent the problem?
![Page 54: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/54.jpg)
54
Elicitation
Elicit [Var. elicit + make it clearer + extract]1.discover, make explicit, get as much
information as possible to understand the object being studied.
![Page 55: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/55.jpg)
55
Elicitation
• Identify sources of information
• Gather facts
• Communication
![Page 56: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/56.jpg)
56
Elicitation• Gathering information may be hard
Communication can be difficult (different languages and knowledge)
Stakeholder may be (often are) hard to meetThey may have conflicting objectivesStakeholder often have different viewpoints regarding the
same thingKnowledge is usually distributed among many different
sourcesThe mere presence of an outsider may change the processHidden agendasFear of change
![Page 57: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/57.jpg)
57
Who is related to the software?
interested
customer
developers
users
clients
OwnerEspecialist
Partner
Third party clients
Investor
Quality Control (QC)Technical writers
Software Engineer
clients
Non-clients
![Page 58: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/58.jpg)
58
Identifying Sources of Information• Actors in the Universe of Discourse
Clients Users Developers
• Documents• Books• Software Systems• COTS
![Page 59: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/59.jpg)
59
Criteria
• Experience
• Knowledge about the domain
• Volume of investment
• What the stakeholder does daily
![Page 60: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/60.jpg)
60
Sources of Information
UofD
UofDSource of Information = { a,b,c,d,e,f} U {g,h}
![Page 61: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/61.jpg)
61
Heuristics to identify sources of information
• Who is the client?• Who owns the system?• Is there any customized system available?• What are the books related to the application?• Is it possible to reuse software artifacts? • What are the documents most cited by the actors of
UofD?
![Page 62: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/62.jpg)
62
Facts gathering
• Document Reading• Observation• Interviews• Reunions • Questionnaires• Anthropology• Active participation from actors• Protocol Analysis• Reverse Engineering• Reuse
![Page 63: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/63.jpg)
63
Tacit Knowledge
• The kind of knowledge that is trivial for the actor being interviewed but not for the interviewer
• Because it is trivial, people almost never remebers to mention it. The interviewer in his/her turn, not knowing about the tacit knowledge can not ask about it.
![Page 64: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/64.jpg)
64
Psychological Considerations• Experts are not used to describing what they do
3 Stage model of learningCognitive – verbal rehearsal of tasksAssociative – reinforcement through repetitionAutonomous – compiled
• Representational Problems Experts don’t have the language to describe their knowledge
No verbal language are preciseRE and Users must work together to understand each other
• Brittleness Knowledge is created not extracted
Knowledge models are abstractions of reality - has to be selectiveBrittleness caused by the simplifying assumption – instead of adding more
knowledge a better (more comprehensive) model is needed
![Page 65: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/65.jpg)
65
![Page 66: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/66.jpg)
66
![Page 67: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/67.jpg)
67
![Page 68: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/68.jpg)
68
![Page 69: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/69.jpg)
69
![Page 70: 1 Requerements in the Software Lifecycle. 2 Requirements Challenge Complex HCI : Always complicate and complex Eliciting Requirements Need to be always](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f305503460f94c4b944/html5/thumbnails/70.jpg)
70