Lecture (1) RE
Lecture (1) RE
Requirements Determination
n Requirements elicitation
• traditional methods and modern methods
n Requirements management
n Requirements document
2
1. Frombusiness processes to solution
envisioning
4
BPMN- Business Process Modeling Notation
n Developed by a consortium Business Process Management
Initiative
n Managed by the OMG within the task force Business Modeling
& Integration Domain Task Force (BMI DTF)
n Dedicated to modeling business processes defined as
activities that produce something of value to the organization
or to its external stakeholders
n UML activity diagrams – a competing notation
n A goal is to map these notations to an executable language
• in particular to the Business Process Execution Language
(BPEL) – a standard for process execution in systems based on
the Service Oriented Architecture (SOA)
5
Process hierarchy modeling
n A process may contain other processes (sub-
processes)
• A process has at least one input flow and one output flow
– When the process gains the control, it performs its activity,
typically by transforming the input flow into the output flow
6
Process hierarchy diagram - notation
Composite process
7
Process hierarchy model (advertising expenditure)
Advertising Expenditure Measurements
Measurement Collection
Measurement Verification
Measurement Valorization
8
BPMNflow objects
n BPMN offers four basic categories of
modeling elements:
• Flow objects:
– Events
– Activities
– Gateways
• Connecting objects
• Pools (Swimlanes)
• Artifacts
9
BPMN– events and activities
• An event is something that “happens”.
• There are various types of events, such as timer, error, or cancel.
10
BPMN- gateways
A gateway is used to control the divergence and convergence of multiple sequence flows.
11
BPMN– connecting objects
The connecting objects (or connectors) are used to connect flow objects
in order to define the structure of a business process.
• A sequence flow is used to show the order in which the activities will be performed in a process.
• A message flow is used to show the flow of messages (data) between two business entities (two process participants)
that are prepared to send and receive them.
• An association is used to associate flow objects or to associate artifact with a flow object.
12
BPMN– pools (swimlanes)
• A pool represents a business entity (participant) in a process.
•It acts as a “swimlane” mechanism to organize activities into separate visual categories
in order to illustrate different functional capabilities or responsibilities.
• Pools represent sets of self-contained processes.
• Accordingly, the sequence flow may not cross the boundary of a pool.
• Participants in various pools can communicate via message flows or associations to artifacts.
vertical pool
13
BPMN- artifacts
Artifacts provide additional modeling flexibility by allowing to extend the basic notation
to respond to specific modeling situations, such as for so-called vertical markets
(e.g. telecommunication, hospitals or banking).
group
data object
annotation
14
Business process model (advertising expenditure)
15
Solution envisioning
n Solution envisioning is a business value-
driven approach to delivering an IT service
(i.e. not merely a software system)
• to solve an As-Is business problem or
• to foster a To-Be business innovation.
n Solution envisioning makes a close
connection between business and IT
stakeholders and integrates business
strategy methods and software development
capabilities.
n It is about the three “E-s” – efficiency,
effectiveness, and edge.
16
Three phases of solution envisioning process
n Business capability exploration – determines business
capabilities understood as the capacities relating to how a
business IT solution can deliver specific results.
• This phase describes capability cases – solution ideas making
the business case for each capability.
n Solution capability envisioning – aims at developing the
capability case into a solution concept and at ensuring that the
solution is agreed upon by the stakeholders.
• The solution concept takes the business context as input and
produces future scenarios for new ways to work as output.
• The solution concept converges on the ultimate solution
architecture and is developed in solution envisioning workshops.
n Software capability design – decides on system
implementation technologies, develops software capability
architecture, and elaborates the business case with project
plans and risk analysis.
• Software capability design is an activity in software modeling.
17
Three phases of solution envisioning process
18
Implementation strategy and capability architecture
n In the first phase of the solution envisioning process,
capability cases function as multiple solution sketches to allow
many solution possibilities to be explored.
n Later on, the selected capability cases become technical
blueprints for the solution.
n Finally, three prevalent implementation strategies need to be
considered:
• Custom development
– performed in-house and/or
– contracted out to consulting and development firms.
• Package-based development that derives the solution by
customizing pre-existing software packages, such as COTS,
ERP or Customer Relationship Management (CRM) systems.
• Component-based development that builds the solution by
integrating software components sourced from multiple vendors
and business partners and likely to be based on SOA and/or
MDA.
19
2. Requirements elicitation
22
Functional and nonfunctional requirements
n Requirements elicitation
• concerned mostly with functional reqs
• ...but nonfunctional requirements cannot be
an afterthought
n Reviews and re-negotiations
n Requirements document
n A moving target even after the req doc is
signed off
• requirements management is concerned, inter
alia, with managing change and estimating the
impact of change on the project
23
Nonfunctional requirements
n Usability – ease of use
• documentation and help, training, user interface, error handling
n Reusability – ease of component reuse
n Reliability
• mean time between failures, graceful recovery, uninterrupted
availability, accuracy of results
• reliable = dependable (we can depend on it)
n Performance
• response time, transaction throughput, resource consumption,
concurrency level
n Efficiency – in terms of time and cost
n Supportability = understandability + maintainability +
scalability
n Other constraints
• policy decisions, legal issues, portability and interoperability
demands, timeliness of product delivery
24
Requirements elicitation
general time-
independent business
rules and processes
Domain Knowledge Use Case
Business Analyst
Requirements Requirements
Business Model
25
Traditional methods of requirements elicitation
n Include:
• Questionnaires
• Observation
26
Interviewing customers and domain experts
n With customers – mostly use case reqs
n With domain experts – frequently a straight knowledge transfer
n Structured (formal) interview
• Open-ended questions (unanticipated responses)
27
Interview – kinds of questions
n about specific details
• five Ws: what, who, when, where, and why.
n about vision for the future
n about alternative ideas
• these may be questions to an interviewee and suggestions
from the interviewer asking for opinions
n about minimally acceptable solution to the problem
• good usable systems are simple systems
n about other sources of information
• can discover important documents and other knowledge
sources unknown before to the interviewer
n soliciting diagrams
• drawn by an interviewee to explain business processes
may prove invaluable for understanding the requirements
28
Questionnaires
n In addition to interviews
n A passive technique
• advantage – time to consider the answers
• disadvantage – no possibility to clarify questions and answers
• who are the people which did not respond? how would they
respond?
n Close-ended questions
• Multiple-choice questions
– additional comments may be allowed
• Rating questions (e.g. strongly agree, agree, ...)
– when seeking opinions
• Ranking questions
– ranked with numbers, percent values, etc.
29
Observation
n In addition to interviews (and possibly questionnaires)
n When the user cannot convey sufficient information and/or
has only fragmented knowledge
n Three forms
• Passive
– no interruption or direct inmvolvement
– video camera may be used
• Active
• Explanatory
– explaining what is done when observed
n Should be carried for a prolonged time, at different times and
at different workloads
n People tend to behave differently when watched
• ‘work to rule’ is a form of industrial action
• ‘knowledge work’ is not susceptible to observation
30
Study of documents and software systems
n Always used, but may target portions of the system
• ERPSs
31
Modern methods of requirements elicitation
n Offer better insights at higher cost and effort
n Include:
• Prototyping
• Brainstorming
32
Prototyping
n ‘Quick and dirty’ solution to obtain feedback
n Two kinds:
• Throw-away prototype
• Evolutionary prototype
33
Brainstorming
n to form new ideas or to find a solution to specific problem by
putting aside judgment, criticism, social inhibitions and rules
n to reach consensus among stakeholders
n ‘cool’ analysis and decision making done afterwards
n The process:
• prior to meeting, the facilitator provides probortunity statement
(the problem/opportunity area)
– generic trigger questions to challenge the participants (e.g. what
features should the system support? what are the main ‘business
objects’?
• 12 to 20 participants around a table, feeling equal with the
facilitator “one of the crowd”
• answers to trigger questions recorded and passed around to
stimulate more answers/ideas
• answers/ideas get anonymous
• answers/ideas are discussed
• voting to prioritize answers/ideas
34
3. Requirements negotiation
and validation
39
Requirements dependency matrix
Requirement R1 R2 R3 R4
R1
R2 Conflict
R3
R4 Overlap Overlap
40
Requirements risks and priorities
n Risk is a threat to the project plan
n Risks determine project’s feasibility
n Risk analysis identifies requirements that are likely to cause
development difficulties
n Prioritization is needed to allow easy rescoping of the project
when faced with delays
n Risk categories
• Technical
• Performance
• Security
• Database integrity
• Development process
• Political
• Legal
• Volatility
41
4. Requirements management
44
Requirements hierarchies
n Parent-child relationships
n Reflect varying abstraction levels
1. "The system shall schedule the next
phone call to a customer upon
telemarketer's request."
1. “The system shall activate Next Call push
button upon entry to Telemarketing Control
form or when the previous call has terminated.”
2. “The system shall remove the call from the top
of the queue of scheduled calls and make it the
current call.”
3. etc.
45
Change management
n A requirement may change, be removed, or
a new requirement may be added
n Downstream cost of change
n Strong management policies needed to
• document change requests,
• to assess a change impact,
• and to effect the changes
n Requirements changes should be stored
and tracked by a software configuration
management tool
46
Requirements traceability
n A critically important part, of change
management
n More in Chapter 9
47
5. Requirements business model
Project planning
Business
Use Case
Use Case
Model
Model
System
Scope Implementation
Model Model
Business
Class
Class
Model
Model
Design
Requirements Requirements
Determination Specification
Model
50
Context diagram - notation
51
Business use case diagram- notation
communication
relationship
Business actor =
primary and/or secondary
(external/internal dichotomy)
55
Business use case diagram- telemarketing
56
Business glossary
Term definition
1. P r o je c t P r e lim in a r ie s
1 .1 P u rp o se a n d S c o p e o f th e P ro d u c t
1 .2 B u sin e ss C o n te x t
1 .3 S ta k e h o ld e rs
1 .4 Id e a s fo r S o lu tio n s
1 .5 D o c u m e n t O v e rv ie w
2 . S y ste m S e r v ic e s
2 .1 T h e S c o p e o f th e S yste m
2 .2 F u n c tio n R e q u ire m e n ts
2 .3 D a ta R e q u ire m e n ts
3 . S y ste m C o n str a in ts
3 .1 In te rfa c e R e q u ire m e n ts
3 .2 P e rfo rm a n c e R e q u ire m e n ts
3 .3 S e c u rity R e q u ire m e n ts
3 .4 O p e ra tio n a l R e q u ire m e n ts
3 .5 P o litic a l a n d Le g a l R e q u ire m e n ts
3 .6 O th e r C o n stra in ts
4 . P ro je c t M a tte rs
4 .1 O p e n Is s u e s
4 .2 P re lim in a ry S c h e d u le
4 .3 P re lim in a ry B u d g e t
A p p e n d ic e s
G lo ssa ry
B u sin e ss D o c u m e n ts a n d F o rm s
R e fe re n c e s
62
Project preliminaries
n Targets managers and decision makers
n Begins with purpose and scope of the
project
n Makes a business case for the system
n Identifies stakeholders
n Offers initial ideas for the solution
• including off-the-shelf solutions
• off-the-shelf does not dispense with the need for
RASD
n Includes an overview of the rest of the
document
63
Systemservices
n Dedicated to the definition of system
services - what the system must
accomplish
n Likely to account for more than half of the
entire document
n Contains high-level requirements business
models
• Context diagram (the system scope)
• Business use case diagram (function
requirements)
• Business class diagram (data requirements)
– main attributes, but no operations
• Business glossary moved to the Appendix
64
System constraints
n Dedicated to the definition of system
constraints - how the system is constrained
when accomplishing services with regard to
• Interface requirements
– ‘look and feel’ only
• Performance requirements
– response times, but also reliability, availability,
throughput indicators
• Security requirements
– access privileges
• Operational requirements
– hardware/software environment
• Political and legal requirements
• Other constraints
– usability
– maintainability
65
Project matters
n Open issues
• Future requirements
• Current requirements to be implemented in the
future – enhancements
• Potential problems when the system is deployed
n Preliminary schedule
• Human and other resources
• Planning charts (PERT, Gantt)
n Preliminary budget
• Project cost – range rather than figure
• In some cases, better estimation possible (e.g.
function point analysis)
66
Summary
n The analysis of business processes drives development of
information systems
n The choice of implementation strategy determines the capability
architecture of the system
n Requirements determination is about discovering requirements
and documenting them
n Two lines of discovery – the discovery from the domain knowledge
and from the use cases
n Methods of requirements elicitation include interviewing
customers and domain experts, questionnaires, observation, study of
documents and software systems, prototyping, JAD and RAD
n Requirements negotiation and validation to resolve overlaps and
conflicts
n Requirements have to be managed
n Requirements business model uses diagrams – Context Diagram,
Business Use Case Diagram, and Business Class Diagram
n The resulting document is called the Requirements Document
69