This document provides an overview of business modeling concepts, including:
1) The purpose of business modeling is to understand the target organization, current problems, and requirements for a new system. Models describe processes, roles, and responsibilities.
2) Business modeling is related to requirements, analysis and design, and environment disciplines.
3) Key concepts include the scope of business modeling, activity-based costing, business architecture, business patterns, e-business development, and modeling large organizations.
This document provides an overview of business modeling concepts, including:
1) The purpose of business modeling is to understand the target organization, current problems, and requirements for a new system. Models describe processes, roles, and responsibilities.
2) Business modeling is related to requirements, analysis and design, and environment disciplines.
3) Key concepts include the scope of business modeling, activity-based costing, business architecture, business patterns, e-business development, and modeling large organizations.
This document provides an overview of business modeling concepts, including:
1) The purpose of business modeling is to understand the target organization, current problems, and requirements for a new system. Models describe processes, roles, and responsibilities.
2) Business modeling is related to requirements, analysis and design, and environment disciplines.
3) Key concepts include the scope of business modeling, activity-based costing, business architecture, business patterns, e-business development, and modeling large organizations.
Introduction to Business Modeling Purpose Relation to Other Disciplines Concepts Scope of Business Modeling Activity-Based Costing Business Architecture Business Patterns e-Business Development Modeling Large Organiations Purpose !he purposes of "usiness modeling are# !o understand the structure and the dynamics of the organiation in $hich a system is to "e deployed %the target organiation&' !o understand current pro"lems in the target organiation and identify improvement potentials' !o ensure that customers( end users( and developers have a common understanding of the target organiation' !o derive the system re)uirements needed to support the target organiation' !o achieve these goals( the "usiness modeling discipline descri"es ho$ to develop a vision of the ne$ target organiation( and "ased on this vision de*ne the processes( roles( and responsi"ilities of that organiation in a "usiness use-case model and a "usiness o"+ect model' Complementary to these models( the follo$ing artifacts are developed# Supplementary Business Speci*cation ,lossary Relation to Other Disciplines !he "usiness modeling discipline is related to other disciplines( as follo$s# !he Requirements discipline uses "usiness models as an important input to understanding re)uirements on the system' !he Analysis & Design discipline uses "usiness entities as an input to identifying entity classes in the design model' !he Environment discipline develops and maintains supporting artifacts( such as the Business-Modeling ,uidelines' Business Modeling : Concepts Scope of Business Modeling Activity-Based Costing Business Architecture Business Patterns e-Business Development Modeling Large Organiations Costing Concepts: Activity-Based Costing Topics -ntroduction Calculating the performance of a "usiness process -dentifying areas of improvement .ote# Portions of this content are dra$n from the user/s guide for the Rational Rose Activity- Based Costing Lin0( a product developed and sold "y 1nsem"le Systems %http#22$$$'ensem"le-systems'com2&' Introduction Top Top Activity-based costing (ABC) is a methodology that measures the cost and performance of activities( resources( and cost o"+ects' Resources are assigned to activities( then activities are assigned to cost o"+ects "ased on their use' Activity-"ased costing recognies the causal relationships of cost drivers to activities 3PLR445' Activity-"ased costing is a"out# Measuring "usiness process performance( activity "y activity' 1stimating the cost of "usiness process outputs "ased on the cost of the resources used in producing the product' -dentifying opportunities to improve process e6ciency and e7ectiveness' Activity costs are used as the )uantitative measurement' -f activities have unusually high costs or it they don/t add value( they "ecome targets for re-engineering' Activity-based management (ABM) is a "road discipline that focuses on achieving customer value and company pro*t "y managing activities' ABM dra$s on activity-"ased costing as a ma+or source of information' Calculating the Peror!ance o a Business Process Top Top !o calculate the performance of a "usiness process( you need to 0no$ $hat the $or08o$ is and $hat type of resources are involved in performing the $or08o$' 9ou need to have the follo$ing elements descri"ing the $or08o$ in place "efore you can start measuring# A description of the "usiness use case representing the "usiness process:see ,uidelines# Business ;se Case( and the sections on $or08o$' One or more activity diagrams descri"ing the $or08o$:see ,uidelines# Activity Diagram in the Business ;se-Case Model' !he realiation of that "usiness use case:see ,uidelines# Business ;se-Case Realiation' Basic Cost Drivers <or each activity state in an activity diagram( the "asic cost drivers are# Resources: determine $hat "usiness $or0ers and "usiness entities are participating( and ho$ many instances of each' !he allocation of a resource to a $or08o$ implies a certain cost' Cost rate: each "usiness $or0er or "usiness entity instance may have a cost per time in use' Duration: an activity occurs for a certain time( therefore a resource can either "e allocated for the duration of the activity( or for a *=ed amount of time' ver!ead: any *=ed costs that the invocation of a $or08o$ or an activity $ould incur' Additionally( for a transition you may need to determine the "uard #robability( $hich is the pro"a"ility for a transition to "e traversed' !his needs to "e determined for alternative threads such as outgoing transitions from a decision( and for conditional threads such as a conditional transition outgoing from a synchroniation "ar' Calculating the Cost o Peror!ing a "or#low A $or08o$ is descri"ed $ith a collection of activity states' <or each of those activity states( you must de*ne $hat the cost drivers are( in order to calculate the total cost for performing the activity' 1=ample# !he total cost of performing this activity is /num"er of resources/ > /resource cost/ > / duration/ ? /overhead cost/' @no$ing that the cost rate for using a customer representative is ABB per hour( the total cost for this activity is then C>ABB>B'D ? CBBEABB' !he total cost of performing the $or08o$ is the sum of the cost for each activity( although there is often an overhead associated $ith initiating the $or08o$' <or the $hole $or08o$( it may "e interesting to calculate the total duration or fre)uency' 1=ample# !he $or08o$ depicted in this activity graph has an overhead cost that needs to "e added to the cost of performing each activity' Concurrent Threads -f concurrent threads e=ist in an activity diagram( the duration of the longest thread is the relevant duration for all threads' Concurrent threads are sho$n using synchroniation "ars' 1=ample# !he total duration for these t$o concurrent threads is F minutes( $hich is the duration of the longest thread in this case' Alternative Threads -f alternative threads e=ist in an activity diagram( the cost for the alternative threads are calculated as the sum of the cost for each alternative( $eighted $ith the occurrence pro"a"ility for each alternative' Alternative threads are sho$n using decision icons' 1=ample# !he total calculated cost for a thread $ith alternatives is the $eighted cost of the alternative threads' Conditional Threads -f a conditional thread e=ists( the cost for that thread is added to the cost for its parallel threads( $eighted $ith the pro"a"ility of it occurring' A conditional thread is indicated $ith a guard condition on a transition' 1=ample# -f there is a conditional thread( its cost is *rst $eighted $ith the pro"a"ility of it occurring( and then added to the cost of its parallel threads' $ested Activity %raphs -f an activity has a su"-graph( the cost of that activity is the cost of the activities in the su"- graph' Identiying Areas o I!prove!ent TopTop Activity-"ased costing is often used to compare alternatives( such as proposed change versus current practice( or to compare di7erent proposed changes' !here are three 0inds of parameters to $or0 $ith to e=plore di7erences "et$een alternative 8o$s# Changing values of cost attri"utes $ithout changing the structure or realiation of the $or08o$G for e=ample( assuming shorter time durations' Changing structure of the $or08o$G for e=ample( changing from se)uential to concurrent e=ecution of activities' Changing $hat resources are used in the realiation of the $or08o$G for e=ample( merging resources to eliminate hand-o7s' !o compare these alternatives( you may create Hsi"lingH activity diagrams to sho$ the variations of the "usiness use case' Ihen changing $hat resources are used in the realiation of the $or08o$( you must also esta"lish Hsi"lingH realiations of the $or08o$s to correctly e=plore resource costs' Concepts: Business Architecture Ie de*ne "usiness architecture as an organied set of elements $ith clear relationships to one another( $hich together form a $hole de*ned "y its functionality' !he elements represent the organiational and "ehavioral structure of a "usiness 3system5( and sho$ a"stractions of the 0ey processes and structures of the "usiness' 3.DL4J5( 31R-BB5 !he intent of de*ning architecture is not to "e complete( "ut to cover the "readth of the organiation' Similarly to ho$ $e de*ne soft$are architecture( see Concepts# Soft$are Architecture( $e can tal0 a"out architectural vie$s of the "usiness' 1ach of these vie$s contains an architecturally signi*cant su"set of $hat $ould "e a complete de*nition' A set of vie$s could "e# Business process vie$:includes and outlines the 0ey "usiness processes of the "usiness( those that are the reason the "usiness e=ist' Organiation structure vie$:outlines the 0ey roles and responsi"ilities in the "usiness( as $ell as their grouping' Culture vie$:e=presses a vision of the organiationKs culture( and de*nes the mechanisms put in place to encourage that culture' Luman resource aspects vie$:discusses the mechanisms put in place to maintain and develop the s0ill set of your sta7' Domain vie$ %optional&:for organiations that handle a comple= set of information( it is often useful to de*ne 0ey mechanisms and patterns to "e applied to those information structures' -n simple cases( this may already "e clear from the organiation structure vie$' Patterns Concepts: Business Patterns Ie de*ne a "usiness pattern as generalied solutions that can "e implemented and applied in a pro"lem situation %a conte=t&( and there"y eliminate one or more of the inherent pro"lems' Patterns can "e considered prototypes for production' 31R-BB5 Patterns are part of ho$ you de*ne your "usiness architecture# !hey re8ect common solutions to common pro"lems' Patterns help maintain an architectural style throughout the organiation' !hey are a simple $ay of capturing e=periences' Ie present a fe$ patterns that can "e useful as a "aseline# Process evaluation pattern Process feed"ac0 pattern Activity interaction pattern Business event-result history pattern All of these patterns are "ased on the e=tensive pattern collection in 31R-BB5' Process &valuation Pattern Top Top Conte$t# !his pattern is a si"ling to the process feed"ac0 pattern' -t re8ects a need to plan for more strategic and long-term investments $hen improving a process' #roblem# !he process evaluation pattern can "e applied to all situations $here the "usiness process results must "e evaluated to provide a competitive edge' Manufacturing( mar0eting( and sales processes are e=amples of the di7erent "usiness processes that must "e evaluated each time they are e=ecuted' %olution# A solution to this pro"lem is to have an evaluation process in place that continuously monitors and suggests improvements( "oth long-term and short term( to a "usiness process' Participants of the process evaluation pattern &ist o' (artici(ants: aBusiness Actor:A consumer of the "usiness' Core Process:A "usiness process $hich has the primary purpose to ful*ll a need of the consumer' 1valuate Core Process%es&:A "usiness process $hit the primary purpose of monitoring one or more core processes to propose improvements to ma0e them more e6cient' Dynamic vie$ of the process evaluation pattern' <or each core "usiness process( a supporting "usiness process that evaluates and improves it should e=ist' !his evaluation process needs to interact $ith the "usiness actor involved in the "asic process' !his pattern has no static vie$' Process 'eed(ac# Pattern TopTop Conte$t# !he process feed"ac0 pattern can "e applied to all situations $here the "usiness process results must "e evaluated to provide a competitive edge' Manufacturing( mar0eting( and sales processes are e=amples of the di7erent "usiness processes that must "e evaluated each time they are e=ecuted' <or e=ample( if the sales process is evaluated each time itKs e=ecuted( the sales "udget can "e increased or decreased "ased on feed"ac0 from the sales channels' #roblem# A process starts $ith an input and ends $ith an output' !he process uses and consumes resources to create and re*ne other resources that "ecome the output' A process also has a certain goal to achieve( $hich can "e e=pressed in the num"er of resources that are output from the process' -f resources are not used e7ectively( it may "ecome too e=pensive to produce the outputs of the process( $hich $ould ena"le competitors to gain mar0et shares' %olution# A solution to this pro"lem is to measure the e7ectiveness of the process( and at each initiation of a ne$ instance of the process( perform a fe$ steps to evaluate ho$ the process can "e improved the ne=t time' Participants of the process feed"ac0 pattern &ist o' (artici(ants: aBusiness Ior0er:A role including the set of responsi"ilities needed to re*ne the process delivera"le' aDelivera"le:!his is the delivera"le of the process( $hich changes state as the "usiness $or0er manipulates it' Metrics of aDelivera"le:!his is the metrics collected to sho$ the state changes of the process delivera"le( and also ho$ the "usiness $or0er performs' Static vie$ of the process feed"ac0 pattern Dynamic vie$ of the process feed"ac0 pattern Activity Interaction Pattern Top Top Conte$t# !he activity interaction pattern can "e used $herever comple= interactions "et$een activities $ithin a "usiness process are modeled' #roblem# Activities may share resources $ith one another( typically "y $ay of data transmission' %olution# !he activity interaction pattern can "e used to model and organie comple= interactions "et$een "usiness resources' Participants of the activity interaction pattern &ist o' (artici(ants: aBusinessIor0er:One of the "usiness $or0ers participating in the realiation of the process' anotherBusinessIor0er:Another of the "usiness $or0ers participating in the realiation of the process' do!hing:Activity performed "y an instance of aBusinessIor0er' doOther!hing:Activity performed "y an instance of anotherBusinessIor0er' aDelivera"le:Ihat is produced or maintained "y the process' Dynamic vie$ of the activity interaction pattern:Resource A and resource B use the same shared o"+ect' !his pattern has no static vie$' Business &vent-Result )istory Pattern Top Top Conte$t# !he "usiness event-result history pattern is suita"le for pro"lem domains $here you need to maintain a history of "usiness events and their results' -t is most often used to model *nancial systems and enterprise resource planning %1RP& systems' #roblem# !he "usiness event-result history pattern is use to trac0 signi*cant "usiness events and then to connect these events to their results' Capturing the di7erent "usiness events( along $ith their results:such as decisions( contracts( statements( or products: helps you ma0e "etter "usiness decisions' !he goal of this pattern is to ena"le you to 0eep a record of all important "usiness events( $hich are typically descri"ed $ith attri"utes such as description( purpose( and result' %olution# ;sing the "usiness event-results history pattern ensures that models produced to trac0 important "usiness events and their causes are e=tensi"le' 1=tensi"le means that ne$ 0inds of events and causes can "e added at a later date to the same overall structure' ;sing this pattern ma0es it possi"le to record "usiness events and( at a later point in time( to analye these events and dra$ conclusions' !hese conclusions typically lead to activities or decisions in the "usiness( such as to discontinue a relationship $ith a customer or vendor "ecause of poor payment history' -f no record of "usiness events is maintained( no history is availa"le to learn from and the same mista0es may "e repeated over and over again' One potential pro"lem $ith this pattern is $hen too many lo$-level "usiness events are recorded( the amount of detail ma0es the record hard to analye and evaluate' 1vents should "e de*ned so theyKre easy to understand in a "usiness conte=tG for e=ample( order placed( product delivered( invoice paid( and so on' Participants of the "usiness event-result history pattern &ist o' (artici(ants: Business 1vent:!his "usiness entity descri"es signi*cant occurrences to the "usiness' 1=amples of attri"utes to a Business 1vent could "e date( priority( description( and type' Common types are delivery( contract signing( and purchase' Product:!his "usiness entity represents the delivera"les' Products can "e a"stract o"+ects( such as a service( "usiness e7ort or mar0et share or physical o"+ects such as soft$are and hard$are' Common attri"utes are identi*er and name' Common types of products are computer program( support( consultation( and installation' Party:!his "usiness entity may represent either individuals or companies' !he parties play a role in the conte=t of a Contract' !ypical roles are seller and "uyer' Party typically has the attri"utes name and address' Contract:!his "usiness entity represents a deal or a decision' !he Contract de*nes the circumstances of a delivery( $here the delivery is a Product' !he Contract is usually "et$een a seller and a "uyer( "ut it can also "e "et$een other parties' Common attri"utes are description( date and until-date' Contracts can "e associated $ith each otherG for e=ample( one contract can "e complimentary to another contract' !his is also sho$n $ith the recursive association' 1=amples of types of contracts are s0eleton contract or lease contract' Statement:A Statement e=presses a Contract' A Statement can e=press many contracts and a contract can "e stated many times' !ypical attri"utes are description and date' Statements can also "e associated $ith each other' !his is sho$n $ith the recursive association' 1=amples of types of statements are $ritten statements and ver"al statements' !he static vie$ of the "usiness event-result history pattern !his pattern has no dynamic vie$' Re*uire!ents: Contenido re)uirem2inMre)'htmre)uirem2inMre)'htm re)uirem2$fdMre)'htmre)uirem2$fdMre)'htm re)uire m2$fovMre)'htmre)uirem2$fovMre)'htm re)uirem2r)Mresov'htmre)uirem2r)Mresov'htm re)uire m2mdovMre)'htmre)uirem2mdovMre)'htm re)uirem2cosMre)'htmre)uirem2cosMre)'htm Disciplines > Requirements > Introduction Introduction to Re*uire!ents Purpose Relation to Other Disciplines Concepts Re)uirements Re)uirements Management !ypes of Re)uirements !racea"ility ;ser-Centered Design ;se-Case Nie$ Purpose TopTop !he purpose of the Re)uirements discipline is# !o esta"lish and maintain agreement $ith the customers and other sta0eholders on $hat the system should do' !o provide system developers $ith a "etter understanding of the system re)uirements' !o de*ne the "oundaries of %delimit& the system' !o provide a "asis for planning the technical contents of iterations' !o provide a "asis for estimating cost and time to develop the system' !o de*ne a user-interface for the system( focusing on the needs and goals of the users' !o achieve these goals( it is important( *rst of all( to understand the de*nition and scope of the pro"lem $hich $e are trying to solve $ith this system' !he Business Rules( Business ;se-Case Model and Business O"+ect Model developed during Business Modeling $ill serve as valua"le input to this e7ort' Sta0eholders are identi*ed and Sta0eholder Re)uests are elicited( gathered and analyed' A Nision document( a use-case model( use cases and Supplementary Speci*cation are developed to fully descri"e the system - )!at the system $ill do - in an e7ort that vie$s all sta0eholders( including customers and potential users( as important sources of information %in addition to system re)uirements&' Sta0eholder Re)uests are "oth actively elicited and gathered from e=isting sources to get a H$ish listH of $hat di7erent sta0eholders of the pro+ect %customers( users( product champions& e=pect or desire the system to include( together $ith information on ho$ each re)uest has "een considered "y the pro+ect' !he Nision document provides a complete vision for the soft$are system under development and supports the contract "et$een the funding authority and the development organiation' 1very pro+ect needs a source for capturing the e=pectations among sta0eholders' !he vision document is $ritten from the customers/ perspective( focusing on the essential features of the system and accepta"le levels of )uality' !he Nision should include a description of $hat features $ill "e included as $ell as those considered "ut not included' -t should also specify operational capacities %volumes( response times( accuracies&( user pro*les %$ho $ill "e using the system&( and inter- operational interfaces $ith entities outside the system "oundary( $here applica"le' !he Nision document provides the contractual "asis for the re)uirements visi"le to the sta0eholders' !he use-case model should serve as a communication medium and can serve as a contract "et$een the customer( the users( and the system developers on the functionality of the system( $hich allo$s# ' ' O ' ' O ' ' O i n d e = ' h t m + a v a s c r i p t # l o a d ! o p % & G + a v a s c r i p Customers and users to validate that the system $ill "ecome $hat they e=pected' System developers to "uild $hat is e=pected' !he use-case model consists of use cases and actors' 1ach use case in the model is descri"ed in detail( sho$ing step-"y-step ho$ the system interacts $ith the actors( and $hat the system does in the use case' ;se cases function as a unifying thread throughout the soft$are lifecycleG the same use-case model is used in system analysis( design( implementation( and testing' !he Supplementary Speci*cations are an important complement to the use-case model( "ecause together they capture all soft$are re)uirements %functional and nonfunctional& that need to "e descri"ed to serve as a complete soft$are re)uirements speci*cation' A complete de*nition of the soft$are re)uirements descri"ed in the use cases and Supplementary Speci*cations may "e pac0aged together to de*ne a Soft$are Re)uirements Speci*cation %SRS& for a particular HfeatureH or other su"system grouping' A Re)uirements Management Plan speci*es the information and control mechanisms $hich $ill "e collected and used for measuring( reporting( and controlling changes to the product re)uirements' Complementary to the a"ove mentioned artifacts( the follo$ing artifacts are also developed# ,lossary ;se-Case Story"oard ;ser--nterface Prototype !he ,lossary is important "ecause it de*nes a common terminology $hich is used consistently across the pro+ect or organiation' !he ;se-Case Story"oard and ;ser--nterface Prototype are all results of user-interface modeling and prototyping( $hich are done in parallel $ith other re)uirements activities' !hese artifacts provide important feed"ac0 mechanisms in later iterations for discovering un0no$n or unclear re)uirements' Relation to Other Disciplines TopTop !he Re)uirements discipline is related to other process disciplines' !he Business Modeling discipline provides Business Rules( a Business ;se- Case Model and a Business O"+ect Model( including a Domain Model and an organiational conte=t for the system' !he Analysis & Design discipline gets its primary input %the use-case model and the ,lossary& from Re)uirements' <la$s in the use-case model can "e discovered during analysis P designG change re)uests are then generated( and applied to the use-case model' !he *est discipline tests the system to verify the code against the ;se-Case Model' ;se Cases and Supplementary Speci*cations provide input on re)uirements used in planning and designing tests' !he Con+guration & C!ange Management discipline provides the change control mechanism for re)uirements' !he mechanism for proposing a change is to su"mit a Change Re)uest( $hich is revie$ed "y the Change Control Board' !he #ro,ect Management discipline plans the pro+ect and each iteration %descri"ed in an -teration Plan&' !he use-case model and Re)uirements Management Plan are important inputs to the iteration planning activities' !he Environment discipline develops and maintains the supporting artifacts that are used during re)uirements management and use-case modeling( such as the ;se-Case-Modeling ,uidelines and ;ser--nterface ,uidelines' t # l o a d ! o p % & G Rational Unified Process Re*uire!ents: Concepts Re)uirements Re)uirements Management !ypes of Re)uirements !racea"ility ;ser-Centered Design ;se-Case Nie$ Concepts: Re*uire!ents More information on this topic can "e found at# Concepts# Re)uirements Management Concepts# !ypes of Re)uirements Concepts# !racea"ility Concepts# ;ser-Centered Design Ihite Paper# Applying Re)uirements Management $ith ;se Cases A requirement is de*ned as Ha condition or capa"ility to $hich a system must conformH' !here are many di7erent 0inds of re)uirements' One $ay of categoriing them is descri"ed as the -.R#%/ model 3,RA4A5( using the acronym <;RPS to descri"e the ma+or categories of re)uirements $ith su"categories as sho$n "elo$' - unctionality . sa"ility R elia"ility # erformance % upporta"ility !he H?H in <;RPS? reminds you to include such re)uirements as# design constraints implementation re)uirements interface re)uirements physical re)uirements' %See also 3-111 Std QCB'CA'C44B5'& -unctional requirements specify actions that a system must "e a"le to perform( $ithout ta0ing physical constraints into consideration' !hese are often "est descri"ed in a use-case model and in use cases' <unctional re)uirements thus specify the input and output "ehavior of a system' Re)uirements that are not functional( such as the ones listed "elo$( are sometimes called non-'unctional requirements' Many re)uirements are non-functional( and descri"e only attri"utes of the system or attri"utes of the system environment' Although some of these may "e captured in use cases( those that cannot may "e speci*ed in Supplementary Speci*cations' .onfunctional re)uirements are those that address issues such as those descri"ed "elo$' A complete de*nition of the soft$are re)uirements( use cases( and Supplementary Speci*cations may "e pac0aged together to de*ne a %o't)are Requirements %(eci+cation (%R%) for a particular HfeatureH or other su"system grouping' 'unctionality TopTop <unctional re)uirements may include# feature sets capabilities security +sa(ility TopTop ;sa"ility re)uirements may include such su"categories as# human factors %see Concepts# ;ser-Centered Design& aesthetics consistency in the user interface %see ,uidelines# ;ser--nterface& online and conte=t-sensitive help $iards and agents user documentation training materials Relia(ility TopTop Relia"ility re)uirements to "e considered are# fre)uency and severity of failure recovera"ility predicta"ility accuracy mean time "et$een failure %M!B<& Peror!ance TopTop A performance re)uirement imposes conditions on functional re)uirements' <or e=ample( for a given action( it may specify performance parameters for# speed e6ciency availa"ility accuracy throughput response time recovery time resource usage ,upporta(ility TopTop Supporta"ility re)uirements may include# testa"ility e=tensi"ility adapta"ility maintaina"ility compati"ility con*gura"ility servicea"ility installa"ility localia"ility %internationaliation& Design Re*uire!ent TopTop A design re)uirement( often called a design constraint( speci*es or constrains the design of a system' I!ple!entation Re*uire!ent TopTop An implementation re)uirement speci*es or constrains the coding or construction of a system' 1=amples are# re)uired standards implementation languages policies for data"ase integrity resource limits operation environments Interace Re*uire!ent TopTop An interface re)uirement speci*es# an e=ternal item $ith $hich a system must interact constraints on formats( timings( or other factors used "y such an interaction Physical Re*uire!ent TopTop A physical re)uirement speci*es a physical characteristic that a system must possessG for e=ample( material shape sie $eight !his type of re)uirement can "e used to represent hard$are re)uirements( such as the physical net$or0 con*gurations re)uired' Concepts: Re*uire!ents Manage!ent Ihat is Re)uirements ManagementR Pro"lem analysis ;nderstanding sta0eholder needs De*ning the system Managing the scope of the pro+ect Re*ning the system de*nition Managing changing re)uirements More -nformation# Concepts# Re)uirements Concepts# !ypes of Re)uirements Concepts# !racea"ility Ihite Paper# Applying Re)uirements Management $ith ;se Cases "hat is Re*uire!ents Manage!ent- TopTop Re)uirements management is a systematic approach to *nding( documenting( organiing and trac0ing the changing re)uirements of a system' Ie de*ne a re)uirement as# A condition or capability to which the system must conform. Our formal de*nition of re)uirements management is that it is a systematic approach to eliciting( organiing( and documenting the re)uirements of the system( and esta"lishing and maintaining agreement "et$een the customer and the pro+ect team on the changing re)uirements of the system' @eys to e7ective re)uirements management include maintaining a clear statement of the re)uirements( along $ith applica"le attri"utes for each re)uirement type and tracea"ility to other re)uirements and other pro+ect artifacts' Collecting re)uirements may sound li0e a rather straightfor$ard tas0' -n real pro+ects( ho$ever( you $ill run into di6culties "ecause# Re)uirements are not al$ays o"vious( and can come from many sources' Re)uirements are not al$ays easy to e=press clearly in $ords' !here are many di7erent types of re)uirements at di7erent levels of detail' !he num"er of re)uirements can "ecome unmanagea"le if not controlled' Re)uirements are related to one another and also to other delivera"les of the soft$are engineering process' Re)uirements have uni)ue properties or property values' <or e=ample( they are neither e)ually important nor e)ually easy to meet' !here are many interested parties( $hich means re)uirements need to "e managed "y cross-functional groups of people' Re)uirements change' So( $hat s0ills do you need to develop in your organiation to help you manage these di6cultiesR Ie have learned that the follo$ing s0ills are important to master# Pro"lem analysis ;nderstanding sta0eholder needs De*ning the system Managing scope of the pro+ect Re*ning the system de*nition Managing changing re)uirements Pro(le! Analysis TopTop Pro"lem analysis is done to understand pro"lems( initial sta0eholder needs( and propose high-level solutions' -t is an act of reasoning and analysis to *nd Hthe pro"lem "ehind the pro"lemH' During pro"lem analysis( agreement is gained on the real pro"lem%s&( and $ho the sta0eholders are' Also( you de*ne $hat from a "usiness perspective are the "oundaries of the solution( as $ell as "usiness constraints on the solution' 9ou should also have analyed the "usiness case for the pro+ect so that there is a good understanding of $hat return is e=pected on the investment made in the system "eing "uilt' See also Ior08o$ Detail# Analye the Pro"lem' +nderstanding ,ta#eholder $eeds TopTop Re)uirements come from many sources( e=amples $ould "e customers( partners( end users( and domain e=perts' 9ou need to 0no$ ho$ to "est determine $hat the sources should "e( get access to those sources( and also ho$ to "est elicit information from them' !he individuals $ho provide the primary sources for this information are referred to as sta0eholders in the pro+ect' -f youKre developing an information system to "e used internally $ithin your company( you may include people $ith end user e=perience and "usiness domain e=pertise in your development team' Nery often you $ill start the discussions at a "usiness model level rather than a system level' -f youKre developing a product to "e sold to a mar0et place( you may ma0e e=tensive use of your mar0eting people to "etter understand the needs of customers in that mar0et' 1licitation activities may occur using techni)ues such as intervie$s( "rainstorming( conceptual prototyping( )uestionnaires( and competitive analysis' !he result of the elicitation $ould "e a list of re)uests or needs that are descri"ed te=tually and graphically( and that have "een given priority relative one another' See also Ior08o$ Detail# ;nderstand Sta0eholder .eeds' Deining the ,yste! TopTop !o de*ne the system means to translate and organie the understanding of sta0eholder needs into a meaningful description of the system to "e "uilt' 1arly in system de*nition( decisions are made on $hat constitutes a re)uirement( documentation format( language formality( degree of re)uirements speci*city %ho$ many and in $hat detail&( re)uest priority and estimated e7ort %t$o very di7erent valuations usually assigned "y di7erent people in separate e=ercises&( technical and management ris0s( and initial scope' Part of this activity may include early prototypes and design models directly related to the most important sta0eholder re)uests' !he outcome of system de*nition is a description of the system that is "oth natural language and graphical' See also Ior08o$ Detail# De*ne the System' Managing the ,cope o the Pro.ect TopTop !o e6ciently run a pro+ect( you need to carefully prioritie the re)uirements( "ased on input from all sta0eholders( and manage its scope' !oo many pro+ects su7er from developers $or0ing on so called H1aster eggsH %features the developer *nds interesting and challenging&( rather than early focusing on tas0s that mitigate a ris0 in the pro+ect or sta"ilie the architecture of the application' !o ma0e sure that you resolve or mitigate ris0s in a pro+ect as early as possi"le( you should develop your system incrementally( carefully choosing re)uirements to for each increment that mitigates 0no$n ris0s in the pro+ect' !o do so( you need to negotiate the scope %of each iteration& $ith the sta0eholders of the pro+ect' !his typically re)uires good s0ills in managing e=pectations of the output from the pro+ect in its di7erent phases' 9ou also need to have control of the sources of re)uirements( of ho$ the delivera"les of the pro+ect loo0( as $ell as the development process itself' See also Ior08o$ Detail# Manage the Scope of the System' Reining the ,yste! Deinition TopTop !he detailed de*nition of the system needs to "e presented in such a $ay that your sta0eholders can understand( agree to( and sign o7 on them' -t needs to cover not only functionality( "ut also compliance $ith any legal or regulatory re)uirements( usa"ility( relia"ility( performance( supporta"ility( and maintaina"ility' An error often committed is to "elieve that $hat you feel is comple= to "uild needs to have a comple= de*nition' !his leads to di6culties in e=plaining the purpose of the pro+ect and the system' People may "e impressed( "ut they $ill not give good input since they donKt understand' 9ou should put lots e7ort in understanding the audience for the documents you are producing to descri"e the system' 9ou may often see a need to produce di7erent 0inds of description for di7erent audiences' Ie have seen that the use-case methodology( often in com"ination $ith simple visual prototypes( is a very e6cient $ay of communicating the purpose of the system and de*ning the details of the system' ;se cases help put re)uirements into a conte=t( they tell a story of ho$ the system $ill "e used' Another component of the detailed de*nition of the system is to state ho$ the system should "e tested' !est plans and de*nitions of $hat tests to perform tells us $hat system capa"ilities $ill "e veri*ed' See also Ior08o$ Detail# Re*ne the System De*nition' Managing Changing Re*uire!ents TopTop .o matter ho$ careful you are a"out de*ning your re)uirements( there $ill al$ays "e things that change' Ihat ma0es changing re)uirements comple= to manage is not only that a changed re)uirement means that more or less time has to "e spent on implementing a particular ne$ feature( "ut also that a change to one re)uirement may have an impact on other re)uirements' 9ou need to ma0e sure that you give your re)uirements a structure that is resilient to changes( and that you use tracea"ility lin0s to represent dependencies "et$een re)uirements and other artifacts of the development lifecycle' Managing change include activities li0e esta"lishing a "aseline( determining $hich dependencies are important to trace( esta"lishing tracea"ility "et$een related items( and change control' See also Ior08o$ Detail# Manage Changing Re)uirements' Concepts: Traceability Introduction *raceability is t!e ability to trace a (ro,ect element to ot!er related (ro,ect elements0 es(ecially t!ose related to requirements1 #ro,ect elements involved in traceability are called traceability items1 *y(ical traceability items include di2erent ty(es o' requirements0 analysis and design model elements0 testing arti'acts (test cases0 test (rocedures0 etc1)0 and end-user su((ort documentation and training material0 as s!o)n in t!e +gure belo)1 *!e traceability !ierarc!y1 Eac! traceability item !as its o)n unique set o' associated attributes0 )!ic! is use'ul 'or trac3ing t!e status0 bene+t0 ris30 etc1 associated )it! eac! item1 Purpose of Traceability *!e (ur(ose o' establis!ing traceability is to !el(: .nderstand t!e source o' requirements Manage t!e sco(e o' t!e (ro,ect Manage c!anges to requirements Assess t!e (ro,ect im(act o' a c!ange in a requirement Assess t!e im(act o' a 'ailure o' a test on requirements (i1e1 i' test 'ails t!e requirement may not be satis+ed) 4eri'y t!at all requirements o' t!e system are 'ul+lled by t!e im(lementation1 4eri'y t!at t!e a((lication does only )!at it )as intended to do1 *raceability !el(s you understand and manage !o) in(ut to t!e requirements0 suc! as business rules and sta3e!older requests0 are translated into a set o' 3ey sta3e!older5user needs and system 'eatures0 as s(eci+ed in t!e 4ision document1 *!e use-case model0 in turn0 outlines t!e !o) t!ese 'eatures are translated to t!e 'unctionality o' t!e system1 *!e details o' !o) t!e system interacts )it! t!e outside )orld are ca(tured in use cases0 )it! ot!er im(ortant requirements (suc! as non-'unctional requirements0 design constraints0 etc1) in t!e %u((lementary %(eci+cations1 *raceability allo)s you to also 'ollo) !o) t!ese detailed s(eci+cations are translated into a design0 !o) it is tested0 and !o) it is documented 'or t!e user1 -or a large system0 use cases and %u((lementary %(eci+cations may be (ac3aged toget!er to de+ne a %o't)are Requirements %(eci+cation (%R%) 'or a (articular 6'eature6 or ot!er subsystem grou(ing1 A 3ey conce(t in !el(ing to manage c!anges in requirements is t!at o' a 6sus(ect6 traceability lin31 7!en a requirement (or ot!er traceability item) c!anges at eit!er end o' a traceability lin30 all lin3s associated )it! t!at requirement are mar3ed as 6sus(ect61 *!is 8ags t!e res(onsible role to revie) t!e c!ange and determine i' t!e associated items )ill need to c!ange also1 *!is conce(t also !el(s in analy9ing t!e im(act o' (otential c!anges1 *raceabilities may be set u( to !el( ans)er t!e 'ollo)ing sam(le set o' queries: %!o) me user needs t!at are not lin3ed to (roduct 'eatures1 %!o) me t!e status o' tests on all use cases in iteration :n1 %!o) me all su((lementary requirements lin3ed to tests )!ose status is untested1 %!o) me t!e results o' all tests t!at 'ailed0 in order o' criticality1 %!o) me t!e 'eatures sc!eduled 'or t!is release0 )!ic! user needs t!ey satis'y0 and t!eir status1 E$am(le: -or a Recycling Mac!ine system0 t!e 4ision document s(eci+es t!e 'ollo)ing 'eature: -EA*;<:*!e recycling mac!ine )ill allo) t!e addition o' ne) bottle ty(es1 *!is 'eature is traced to a use case 6Add =e) Bottle *y(e6: *!e use case Add =e) Bottle *y(e allo)s t!e (erator to teac! t!e Recycling Mac!ine to recogni9e ne) 3inds o' bottles1 *!is traceability !el(s us veri'y t!at all 'eatures !ave been accounted 'or in use cases and su((lementary s(eci+cations1 Typical Traceability *!e most im(ortant traceability items are: .ser5%ta3e!older =eeds ('rom 4ision0 may be 'urt!er traced to individual %ta3e!older Requests) #roduct -eature ('rom 4ision)1 %u((lementary Requirement ('rom %u((lementary %(eci+cations1) .se Case .se Case %ection (sections o' a detailed use case)1 Design Element ('rom t!e design model)1 *est Case (or ot!er element 'rom t!e test model)1 t!er elements0 suc! as Business Rules and >ssues may also be use'ul to trace1 A ty(ical traceability is s!o)n in t!e 'ollo)ing diagram: *!is diagram only s!o)s traceability to requirements1 t!er traceability may e$ist as )ell0 but is not s!o)n on t!is diagram: design elements trace do)n to im(lementation com(onents0 t!ere are test cases 'or design and im(lementation0 etc Concepts: Types o Re*uire!ents More -nformation# Concepts# Re)uirements Concepts# Re)uirements Management Concepts# !racea"ility Ihite Paper# Applying Re)uirements Management $ith ;se Cases !raditionally( re)uirements are loo0ed upon as statements of te=t *tting into one of the categories mentioned in Concepts# Re)uirements' 1ach re)uirement states Ha condition or capa"ility to $hich the system must conformH' !o perform e7ective re)uirements management( $e have learned that it helps to e=tend $hat $e maintain as re)uirements "eyond only the detailed Hsoft$are re)uirementsH' Ie introduce the notion of requirements ty(es to help separate the di7erent levels of a"straction and purposes of our re)uirements' Ie may $ant to 0eep trac0 of am"iguous H$ishesH( as $ell as formal re)uests( from our sta0eholders to ma0e sure $e 0no$ ho$ they are ta0en care of' !he Nision document helps us 0eep trac0 of 0ey Huser needsH and HfeaturesH of the system' !he use-case model is an e7ective $ay of e=pressing detailed functional Hsoft$are re)uirementsH( therefore use cases may need to "e trac0ed and maintained as re)uirements( as $ell as perhaps individual statements $ithin the use case properties $hich state Hconditions or capa"ilities to $hich the system must conformH' Supplementary Speci*cations may contain other Hsoft$are re)uirementsH( such as design constraints or legal or regulatory re)uirements on our system' <or a complete de*nition of the soft$are re)uirements( use cases and Supplementary Speci*cations may "e pac0aged together to de*ne a %o't)are Requirements %(eci+cation (%R%) for a particular HfeatureH or other su"system grouping' !he larger and more intricate the system developed( the more e=pressions( or types of re)uirements appear and the greater the volume of re)uirements' HBusiness rulesH and HvisionH statements for a pro+ect trace to Huser needsH( HfeaturesH or other Hproduct re)uirementsH' ;se cases or other forms of modeling and other Supplementary Speci*cations drive design re)uirements( $hich may "e further decomposed to functional and non-functional Hsoft$are re)uirementsH represented in analysis P design models and diagrams' Concepts: +se-Case /iew !o provide a "asis for planning the technical contents of iterations( an architectural vie$ called the use-case vie) is used in the Re)uirements discipline' !here is only one use-case vie$ of the system( $hich illustrates the use cases and scenarios that encompass architecturally signi*cant "ehavior( classes( or technical ris0s' !he use-case vie$ is re*ned and considered initially in each iteration' !he use-case vie$ sho$s an architecturally signi*cant su"set of the use-case model( a su"set of the use cases and actors' !he analysis( design( and implementation activities su"se)uent to re)uirements are centered on the notion of an arc!itecture' !he production and validation of that architecture is the main focus of the early iterations( especially during the 1la"oration phase' Architecture is represented "y a num"er of di7erent architectural vie$s( $hich in their essence are e=tracts illustrating the Harchitecturally signi*cantH elements of the models' !here are four additional vie$s# the &ogical 4ie)( #rocess 4ie)( De(loyment 4ie)( and >m(lementation 4ie)' !hese vie$s are handled in the Analysis P Design and -mplementation disciplines' !he architectural vie$s are documented in a %o't)are Arc!itecture Document' 9ou may add di7erent vie$s( such as a security vie$( to convey other speci*c aspects of the soft$are architecture' So( in essence( architectural vie$s can "e seen as a"stractions or simpli*cations of the models "uilt( in $hich you ma0e important characteristics more visi"le "y leaving the details aside' !he architecture is an important means for increasing the )uality of any model "uilt during system development' Concepts: +ser-Centered Design Topics Ihat is user-centered designR <ocus on users -ntegrated $ith design 1arly user testing -terative design Ihy user-centered designR Meeting user needs ;ser-interface design Legislation and standards ;ser-centered design in the R;P Conte=ts of use Scenarios( use cases and essential use cases 1ssential use cases in the R;P "hat is user-centered design- !here is no clear consensus on $hat constitutes user-centered design' Lo$ever( Sohn ,ould and his colleagues at -BM developed an approach in the C4FBKs called Design for Usability 3,O;FF5 $hich encompasses most commonly-accepted de*nitions' -t developed from practical e=perience on a num"er of interactive systems( most nota"ly -BMKs C4FT Olympic Messaging System 3,O;FJ5' !he approach has four main components as descri"ed "elo$' 'ocus on users ,ould suggests that developers should decide $ho the users $ill "e and to involve them at the earliest possi"le opportunity' Le suggests a num"er of $ays of "ecoming familiar $ith users( their tas0s and re)uirements# U !al0 $ith users U Nisit customer locations U O"serve users $or0ing U Nideotape users $or0ing U Learn a"out $or0 organiation U !ry it yourself U ,et users to thin0 aloud $hile $or0ing U Participative design U -nclude e=pert users on the design team U Perform tas0 analysis U Ma0e use of surveys and )uestionnaires U Develop testa"le goals -n the Rational ;ni*ed ProcessV %R;P&( $or0shops are used at several 0ey stages( "ut these must "e complemented "y the 0inds of activities ,ould descri"es if an accurate picture is to "e formed' %Part of the argument "ehind this is that people fre)uently descri"e $hat they do )uite di7erently from ho$ they do it' Commonly performed tas0s and seemingly unimportant details such as placement of $or0 or the e=istence of HmysteriousH scraps of paper are often forgotten - or omitted "ecause they are not Ho6ciallyH part of the current process'& Integrated with design ;sa"ility tas0s should "e performed in parallel early in development' !hese tas0s $ould include s0etching the user interface and drafting the user guides or online help' ,ould also ma0es the point that usa"ility should "e the responsi"ility of one group' An important feature of integrated design is that the overall approach W the frame$or0 W for detailed user-interface design is developed and tested at an early stage' !his is an important di7erence "et$een user-centered design and other purely incremental techni)ues' -t ensures that incremental design carried out in later phases *ts seamlessly into the frame$or0 and that the user interface is consistent in appearance( terminology and concept' Iithin the R;PX( this frame$or0 can "e esta"lished "y using a domain model to ensure that all terminology and concepts that $ill appear in the user interface are 0no$n and understood $ithin the "usiness in general and $ith users in particular' %!here $ill also "e su"sets of the domain model that $ill "e relevant only to speci*c groups of users' Care should "e ta0en to ensure that the domain model is organied so that these su"sets can "e easily identi*ed'& As user-interface design progresses in the re)uirements discipline( many of the domain classes $ill "e represented as "oundary classes in the interface' !he "oundary classes( and the relationships "et$een them( should "e consistent $ith the domain model and should "e represented consistently through all parts of the system under design' %!his not only assists users( "ut also improves reuse of user-interface components'& &arly user testing 1arly user testing means early prototyping( typically dra$ings and moc0ups descri"ed as lo$-*delity prototypes' Li-*delity prototypes $ill follo$ later in the process' Moc0ups can "e used in con+unction $ith use cases to $rite concrete scenarios of use for the system under design' !hese can ta0e the form narrative( illustrated narrative %using the moc0ups for illustration&( story"oards( $al0-throughs %$ith users& and the "asis of user focus groups' Ihile these approaches are unfamiliar to many soft$are developers( they are clearly more cost e7ective than the discovery of inappropriate design or misunderstood re)uirements once implementation is under $ay' Iterative design O"+ect-oriented development has "ecome synonymous $ith an iterative process' -terative design is $ell-suited to pro"lems that need a re*nement of understanding and have changing re)uirements' .ot surprisingly( iterative design is a 0ey component of user- centered design' !his is partly due to the changing needs of users over time( "ut also the inherent comple=ity of producing design solutions that can deal $ith diverse needs' .ote that in user-centered methods( iterative design ta0es place $ithin an integrated frame$or0' Ie deli"erately avoid incremental development( outside of an agreed frame$or0( that might lead to a Ypatch$or0Z solution' "hy user-centered design- Meeting user needs -nteractive systems rely on their a"ility to accommodate the needs of users for their success' !his means not only identifying diverse user communities "ut also recogniing the range of s0ills( e=perience and preferences of individual users' Ihile it is tempting for developers and managers to feel that they understand user needs( this is seldom the case in practice' Attention is fre)uently focused on ho$ users ought to perform tas0s rather than ho$ they prefer to perform them' -n many cases the issue of preference is much more than simply feeling in control( although that is an important issue in itself' Preference $ill also "e determined "y e=perience( a"ility and the conte=t of use' !hese issues are considered su6ciently important to the design process to $arrant an international standard( 3-SO C[TBJ5( entitled human-centred design processes for interactive systems' !he standard and related issues are discussed in general terms in the remainder of this paper' +ser-interace design ;sers understand and interact $ith a system through its user interface' !he concepts( images and terminology presented in the interface must "e appropriate to usersK needs' <or e=ample( a system that allo$s customers to "uy their o$n tic0ets $ould "e very di7erent to one used professionally "y tic0et sales sta7' !he main di7erences are not in the re)uirements or even the detailed use cases( "ut the characteristics of the users and the environments in $hich the systems might operate' !he user interface must also cater for a potentially $ide range of e=perience along at least t$o dimensions( computer and domain e=perience( as sho$n in <igure C "elo$' Computer e=perience includes not only general familiarity $ith computers( "ut also e=perience of the system under development' ;sers $ith little e=perience of either computers or the pro"lem domain( in the near left corner of the *gure( $ill re)uire a su"stantially di7erent approach in the user interface to e=pert users( sho$n here in the far right corner' -igure ;: *!e e2ects o' com(uter and domain e$(erience on ease o' learning versus ease o' use Be$are that it is not a forgone conclusion that ine=perienced users $ill "ecome e=perts over time' A num"er of factors may conspire to prevent this( for e=ample lo$ fre)uency of use( lo$ motivation or high comple=ity' Conversely some systems may have predominately e=pert users' <actors here might "e training( high fre)uency of use or high motivation %+o" dependence&' Some of these issues and their e7ects on user-interface design are sho$n in !a"le C' &o) ?ig! Com(uter e$(erience Simple )uestion and ans$er( simple form-*ll( $e" %hyper lin0ed& or menu interface style Comple= form-*ll( $e" %hyper lin0ed& or menu interface style %)uestion and ans$er or simple form- *ll $ould "e very frustrating to e=perienced users& Domain e$(erience Common terminology and concepts Domain-speci*c terminology and concepts *raining <ocus on ease of learning %consistent( predicta"le( memora"le& <ocus on ease of use %direct( customia"le( non- intrusive& -requency o' use 1asy to learn and remem"er( simple interface style 1asy to use( multiple shortcuts and techni)ues to allo$ user control Motivation Re$arding to use( po$erful $ithout seeming comple=' Sophisticated $ith many advanced and customia"le features' *able ;0 %ome 'actors a2ecting user-inter'ace design -nteractive systems must either "e designed to cater for an appropriate range of user e=perience and circumstances( or steps must "e ta0en to restrict the design universe' <or instance( training can "e used to reduce the re)uirement for ease of learning in a comple= system' Alternatively a system might "e reduced in its scope in order that it "etter meets the core re)uirements of its users %a suggestion made "y Alan Cooper in his "oo0 The Inmates Are Running the Asylum 3COO445&' 0egislation and standards As part of user-centered design( $e need to consider the s0ills and physical attri"utes of users' !hese issues are no$ "eing increasingly em"odied in legislation' !his is mostly directed at accommodating users $ith disa"ilities' Lo$ever( ma0ing systems accessi"le to a $ider range of users is generally seen as "ene*ting the user community as a $hole' !he ta"le "elo$ sho$s the relevant legislation and resources for many parts of the $orld# Descri(tion 7eb %ite A;S!RAL-A Disa"ility Discrimination Act http#22$$$'dea0in'edu'au2e=tern2rdlu2ddainde='html Disa"ility Rights http#22$$$'hreoc'gov'au2disa"ilityMrights2inde='html 1;ROP1 !reaty of Amsterdam http#22$$$'edf'unicall'"e2teu2en2inde='asp 1uropean Disa"ility <orum http#22$$$'edf'unicall'"e ;.-!1D @-.,DOM Disa"ility Discrimination Act http#22$$$'hmso'gov'u02acts2actsC44D2C44DBDB'htm .e$ Deal for Disa"led People http#22$$$'disa"ility'gov'u0 Digital Access Campaign http#22$$$'rni"'org'u02digital2$elcome'htm ;.-!1D .A!-O.S ;nited .ations Standard Rules on the 1)ualiation of Opportunities for Persons $ith Disa"ilities http#22$$$'un'org2esa2socdev2dissreBB'htm Social Development -nformation on the -nternet http#22unescap'org2sps2sdinfo2disa"lin0s'htm ;.-!1D S!A!1S Americans $ith Disa"ilities Act %ADA&# ;S Department of Sustice http#22$$$'usdo+'gov2crt2ada2 Section DBF of the Ior0force -nvestment Act# ;S Department of Sustice http#22$$$'usdo+'gov2crt2DBF2DBFhome'html ;S Access Board 1lectronic and -nformation !echnology Advisory Committee %1-!AAC& http#22$$$'access-"oard'gov Iorld Iide Ie" Consortium Ie" Accessi"ility Campaign http#22$$$'$['org2$ai2 O!L1R R1SO;RC1S Disa"ility-Related -nternet Resources http#22$$$'$e"a"le'com2 *able @a0 Disability-related legislation by country0 region or body Aside from legislation( user-centered design and user-interface design are increasingly "ecoming the su"+ect of standardiation as sho$n "elo$' Descri(tion 7eb %ite5%tandards A.S- $$$'ansi'org A.S- A.S--L<1S A.S--.SC A.S- and the Luman <actors and 1rgonomics Society have pu"lished a num"er of +oint standards' A.S- also has A.S--.SC \[QD $hich relates to the control and prevention of cumulative stress disorders %also 0no$n as repetitive strain in+ury or RS-&' A.S- is drafting standards concerning human computer interaction as part of the -nformation -nfrastructure Standards Panel %--SP& at http#22$e"'ansi'org2pu"lic2iisp2stdMneed2needcat'html ' -SO $$$'iso'ch -SO 4ATC A large series of standards mainly concerned $ith ergonomics of $or0stations( "ut also includes guidance on usa"ility %part CC&' Also the "asis for A.S--L<1S ABB( under development' -SO CBBJD# C44C 1rgonomic principles relating to mental $or0 load -SO CJBTC-C# C44D Cursor control for te=t editing -SO CCDFC Series in development dealing $ith icons and pointers' -SO C[TBJ# C444 Standard for human-centered design processes for interactive systems' *able @b0 A=%> and >% user inter'ace and user-centered design standards +ser-centered design in the R+P Developing systems appropriate to user needs means a signi*cant e7ort in re)uirements analysis' -n user-centered design( this e7ort is focused on end users' !hese are a su"set of the human Business Actors %for users outside of the "usiness& and Business Ior0ers found $hen $or0ing in the Business Modeling discipline' !hey are later descri"ed in greater detail in the Re)uirements discipline as Actors' %!he relationships "et$een Actors( Business Actors and Business Ior0ers is discussed in ,uideline# ,oing from Business Models to Systems'& Lo$ever( a su"stantial point of emphasis in ;ser-Centered design is that $e understand the re)uirements of the real people $ho $ill *ll the roles descri"ed in the artifacts mentioned a"ove' -n particular( $e must avoid designing hypothetical humans for $hom it is convenient to design soft$are systems' !he artifacts descri"ing end users must "e $ritten only after su"stantial( *rst-hand contact $ith users' -n user-centered design this *rst-hand contact is part of a process sometimes called contextual inquiry' Lugh Beyer and @aren Lolt"latt %in their "oo0 Contextual Design 3B194F5& descri"e the premise of conte=tual in)uiry as# H'''go $here the customer $or0s( o"serve the customer as he or she $or0s( and tal0 to the customer a"out the $or0'H %Some concrete e=amples of this have already "een listed under <ocus on ;sers'& !his approach is used not only to have a "etter understanding of system re)uirements( "ut also of the users themselves( their tas0s and environments' 1ach have their o$n attri"utes and ta0en together are referred to as the conte=t of use' !hey are detailed in the -SO standard for user-centered design( descri"ed "elo$' Conte1ts o use -SOKs !uman-centered design processes for interactive systems 3-SOC[TBJ5 identi*es the *rst step in design as understanding and specifying the conte=t of use' !he attri"utes suggested are# Context Attributes !as0s ,oals of use of the system( fre)uency and duration of performance( health and safety considerations( allocation of activities( operational steps "et$een human and technological resources' !as0s should not "e descri"ed solely in terms of the functions or features provided "y a product or system' ;sers %for each di7erent type or role& @no$ledge( s0ill( e=perience( education( training( physical attri"utes( ha"its( preferences( capa"ilities' 1nvironments Lard$are( soft$are( materialsG physical and social environments( relevant standards( technical environment( am"ient environment( legislative environment( social and cultural environment *able A: Conte$t o' use 'rom >% standard 'or user-centered design -t is useful to split the user conte=t into its t$o constituent parts %user type and role& and then to consider the relationships "et$een all four conte=ts# -igure @: Relations!i(s bet)een conte$ts <igure A sho$s that every tas" is performed in a role ta0en "y a user $ithin an environment' !hese conte=ts correspond to the R;P artifacts as sho$n in !a"le T' >% ;AB<C Conte$tt!e R.# Arti'act 1nvironments Ligh-level# Business Nision 3Section# Customer 1nvironment5( Sta0eholder Re)uests( Nision 3Section# ;ser 1nvironment5 ;sers Ligh-level# Business Nision 3Section# Customer Pro*les5( Sta0eholder Re)uests( Nision 3Section# ;ser Pro*les5 Roles Ligh-level# Business Actor %e=ternal users&( Business Ior0er %internal users& Detailed# Actor !as0s Ligh-level# Sta0eholder Re)uests( Nision 3Section# Product <eatures5 Detailed# ;se-Case Story"oard ;se Case *able B0 >% user-centered design standard conte$ts and t!eir t!e R.# arti'acts 1ach of these conte=ts could have a signi*cant impact on the design of an appropriate user interface' As a result $e are faced $ith a potentially large num"er of permutations' 1ven for a small system( there may "e A environments %e'g' o6ce and customer site&( [ types of user %sales novice( sales e=pert and management& and Q roles %telephone sales assistant( e=ternal sales representative( etc'&' !hat means up to [Q potential variations per tas0( although the set of realistic com"inations is usually much smaller' Clearly tas0s must "e descri"ed individually( "ut a single description is unli0ely to "e appropriate for all permutations' One approach is to factor the user and environment conte=ts into the role description' !his is the solution adopted "y Constantine and Loc0$ood 3CO.445' -t involves providing a separate Huser roleH for each signi*cant permutation of role( user and environment( then naming the resulting user role $ith a descriptive phrase( rather that a simple noun' Compare( for e=ample( the role YCustomerZ $ith the user roles YCasual CustomerZ( YIe" CustomerZ( YRegular CustomerZ and YAdvanced CustomerZ' 1ach user role description includes details of the role itself plus its users %referred to as role incum"ents& and environment' !his approach can "e adopted $ith the R;P "y choosing actors that correspond to user roles' ,cenarios2 use cases2 and essential use cases !he terms scenarios( use cases and essential use cases have a confusing degree of overlap and are used in di7erent design approaches to mean slightly di7erent things' <or e=ample( $ithin the R;P HscenarioH means a use-case instanceG simply a speci*c HpathH through the possi"le "asic and alternative 8o$s' Lo$ever( it is common to *nd user-centered and user- interface design methods descri"ing scenarios as stories of use( containing su"stantially more detail than +ust the 8o$ of events' Ihile this additional information may "e irrelevant in later design phases( it does form part of the understanding of users( tas0s and environments' Conse)uently( scenarios may "e used e=tensively %in story"oarding and role playing& in the Business Modeling discipline( "ut the focus moves to$ards use cases in the Re)uirements discipline' <igure [ sho$s the nature of this overlap' !he scale at the top incorporates a num"er of di7erent factors that tend to vary together' <or e=ample( as purpose moves more to$ards re)uirements( structure usually "ecomes more formal' 1ssential use cases appear to the right of generic use cases "ecause user roles ma0e them slightly more speci*c %see the preceding section& and they have a more formal structure' -igure A: verla( in conce(ts bet)een scenarios and use cases in user-centered design !he di7erences "et$een system use cases and essential use cases are "est illustrated "y e=ample' !a"le D sho$s a use case from Constantine and Loc0$ood/s Soft$are for ;se 3CO.445# .ser Action %ystem Res(onse insert card read magnetic strip re)uest pint enter P-. verify P-. display transaction option menu press 0ey display account menu press 0ey prompt for amount enter amount display amount press 0ey return card ta0e card dispense cash ta0e cash *able D: "eneric use case 'or getting cas! 'rom an A*M !his e=ample details the se)uence of events "et$een the actor and the system( $ith the vertical line "et$een the t$o columns representing the user interface' .otice that $hile Constantine and Loc0$ood recommend this style for essential use cases( this particular use case is not an essential one' !he reason is that it "ased on the syntactic detail of the interaction' !hat is( ho# the interaction ta0es place' An essential use case focuses on #hat the interaction is a"out %called the semantics&' !a"le Q is the essential version of the interaction' .ser >ntention %ystem Res(onsibility identify self verify identity o7er choices choose dispense cash ta0e cash *able E: Essential use case 'or getting cas! 'rom an A*M !his use case captures the essence of the getting cash interaction' !he ;ser Action and System Response headings have "een replaced "y ;ser -ntention and System Responsi"ility to re8ect the change in emphasis' ,ood interface design centers on user goals and intentionsG these are often hidden in conventional use cases' 1ssential use cases are particularly useful if# there are fe$ design constraints %e'g' the implied design constraint of using "an0 cards is false& the system might "e enhanced to use other means of identi*cation %such as some 0ind of secure internet access& there is a desire to create ;se Cases $ithout design constraints( for potential reuse in pro+ects that lac0 these constraints' Lo$ever( essential use cases do have their dra$"ac0s' Perfectly straightfor$ard use cases such as that in !a"le D can "e su"+ect to considera"le de"ate $hen it comes to distilling their essence' <or e=ample( does inserting a card identify the customer or the accountR -n most e=isting A!Ms( it is the later although Constantine and Loc0$ood have chosen to interpret this as identifying the customer' !his may have "een a deli"erate decision in light of ne$er technology such as retina scanning and *ngerprint identi*cation( or it may have "een an oversight' !he conse)uences in this case is an additional choice that has to "e made "y customers $ho hold more than one account' Another di6culty that essential use cases present is that they are not as suita"le for revie$ $ith end users and other sta0eholders "ecause of their a"stract nature' Part of this pro"lem stems from having to translate essential use cases "ac0 to a concrete form representing user actions' !his can "e done once a design model is availa"le "y $riting scenarios that descri"e the interaction in concrete terms %similar in concept to a ;se Case Realiation( although concerned $ith user-system interaction rather than internal o"+ect colla"oration&' -n summary( "uilding essential use cases may not a good idea if# the user interface technologies are intentionally highly constrained %e'g' the system must accept "an0 cards& the time to re)uired for the users to understand the more a"stract use cases is out$eighed "y the e=pected "ene*ts' &ssential use cases in the R+P !he R;P does not e=plicitly refer to essential use cases( "ut in the Activity# Model the ;ser -nterface( essential use cases are used as a starting point( then developed and augmented $ith usa"ility re)uirements to create use-case story"oards( as e=plained in ,uidelines# ;se- Case Story"oard' %tart by clari'ying t!e use case itsel' - not its user inter'ace1 Start "y 0eeping the description independent of the user interface( especially if the use case is une=plored' !hen( later on( as the use case is understood( the 8o$ of events - story"oard can "e augmented $ith user interface and usa"ility aspects' $from %uidelines& Use-Case 'toryboard( !his means removing all design or current implementation detail so that only the semantics - the meaning of the interaction - remain' !hen( as various design alternatives are e=plored( syntactic detail - ho$ the interaction ta0es place - is added to the essential use case as a type of realiation' %1ach alternative design is( in e7ect( a realiation of the same essential use case'& !hese use-case story"oards are used as input to the Activity# Prototype the ;ser -nterface to develop the user-interface prototypes' Re*uire!ents: "or#low Problem Topics Purpose Lo$ to Sta7 Ior0 ,uidelines Purpose Top Top !he purpose of this $or08o$ detail is to# ,ain agreement on the pro"lem "eing solved( -dentify sta0eholders( De*ne the system "oundaries( and -dentify constraints imposed on the system !he *rst step in any pro"lem analysis is to ma0e sure that all parties involved agree on $hat is the pro"lem that $e are trying to solve $ith our system' -n order to avoid misunderstandings( it is important to agree on common terminology $hich $ill "e used throughout the pro+ect' 1arly on( $e should "egin de*ning our pro+ect terms in a glossary $hich $ill "e maintained throughout the pro+ect lifecycle' -n order to fully understand the pro"lem%s& $e should "e addressing( it is very important to 0no$ $ho are our sta0eholders' .ote that some of these sta0eholders -- the users of the system -- $ill "e represented "y actors in our use-case model' !he Re)uirements Management Plan $ill provide guidance on the re)uirements artifacts that should "e developed( the types of re)uirements that should "e managed for the pro+ect( the re)uirements attri"utes that should "e collected and the re)uirements tracea"ility that $ill "e used in managing the product re)uirements' !he primary artifact in $hich $e document the pro"lem analysis information is the Nision document( $hich identi*es the high-level user or customer vie$ of the system to "e "uilt' -n the Nision( initial high-level re)uirements identify the 0ey features it is desired the appropriate solution $ill provide' !hese are typically e=pressed as a set of high-level features the system might possess in order to solve the most critical pro"lems' @ey sta0eholders should "e involved in gathering the set of features to "e considered( $hich might "e gathered in a Re)uirements Ior0shop' !he features should "e assigned attri"utes such as rationale( relative value or priority( source of re)uest and so on( so that dependencies can "egin to "e managed' !o determine the initial scope for our pro+ect( the "oundaries of the system must "e agreed upon' !he system analyst identi*es users and systems - represented "y actors - $hich $ill interact $ith the system' -f you have developed a domain model( a "usiness use-case model or a "usiness o"+ect model( these $ill "e 0ey input( along $ith the "usiness rules( to helping to perform this analysis' See also ,uidelines# ,oing from Business Models to Systems for more guidance' !his $or08o$ detail should "e revisited several times during inception and early ela"oration' !hen( throughout the lifecycle of the pro+ect( it should "e revisited as necessary $hile managing the inevita"le changes that $ill occur in our pro+ect( in order to ensure that $e continue to address the correct pro"lem%s&' )ow to ,ta Top Top !he pro+ect mem"ers involved in analying the pro"lem should "e e6cient facilitators and have e=perience in techni)ues for *nding the pro"lem "ehind the pro"lem' Of course( familiarity $ith the targeted technology is desira"le( "ut it is not essential' Active involvement form various sta0eholders to the pro+ect is re)uired' "or# %uidelines Top Top !he follo$ing are sample techni)ues that can "e applied to *nd the pro"lem "ehind the pro"lem# Brainstorming <ish"one diagrams Pareto diagrams See also# Re)uirements# Overvie$ Ihite Paper# Applying Re)uirements Management $ith ;se Cases ,uidelines# ,oing from Business Models to Systems "or#low Detail: +nderstand ,ta#eholder $eeds Topics Purpose Lo$ to Sta7 Ior0 ,uidelines Purpose !he purpose of this $or08o$ detail is to collect and elicit information from the sta0eholders of the pro+ect in order to understand $hat their needs really are' !he collected sta0eholder re)uests can "e regarded as a H$ish listH that $ill "e used as primary input to de*ning the high-level features of our system( as descri"ed in the Nision( $hich drive the speci*cation of the soft$are re)uirements( as descri"ed in the use-case model( use cases and supplementary speci*cations' !ypically( this activity is mainly performed during iterations in the inception and ela"oration phases( ho$ever sta0eholder re)uests should "e gathered throughout the pro+ect "y using Change Re)uests follo$ing the Change Re)uest Management Process' !he 0ey activity is to elicit sta0eholder re)uests using such input as "usiness rules( enhancement re)uests( intervie$s and re)uirements $or0shops' !he primary outputs are collection%s& of prioritied features and their critical attri"utes( $hich $ill "e used in de*ning the system and managing the scope of the system' !his information results in a re*nement of the Nision document( as $ell as a "etter understanding of the re)uirements attri"utes' Also( during this $or08o$ detail you may start discussing the functional re)uirements of the system in terms of its use cases and actors' !hose non-functional re)uirements( $hich do not *t easily into the use-case model( should "e documented in the Supplementary Speci*cations' Another important output is an updated ,lossary of terms to facilitate common voca"ulary among team mem"ers' )ow to ,ta Top Top !he pro+ect mem"ers involved in understanding sta0eholder needs should "e e6cient facilitators and have e=perience in eliciting information' Of course( familiarity $ith the targeted technology is desira"le( "ut it is not essential' "or# %uidelines Top Top !he follo$ing are sample techni)ues that can "e applied to ma0e sure you collect the correct and relevant information from the sta0eholders# -ntervie$s Re)uirements Ior0shop Brain-storming and idea reduction ;se-Case Ior0shop Story"oarding Role playing Revie$ of e=isting re)uirements See also# Re)uirements# Overvie$ Ihite Paper# Applying Re)uirements Management $ith ;se Cases Concepts# ;ser-Centered Design "or#low Detail: Deine the ,yste! Topics Purpose Lo$ to Sta7 Ior0 ,uidelines Purpose !he purpose of this $or08o$ detail is to# Align the pro+ect team in their understanding of the system' Perform a high-level analysis on the results of collecting sta0eholder re)uests' Re*ne the Nision to include the features to include in the system( along $ith appropriate attri"utes' Re*ne the use-case model( to include outlined use cases' More formally document the results in models and documents' Pro"lem Analysis and activities for ;nderstanding Sta0eholder .eeds create early iterations of 0ey system de*nitions( including the features de*ned in the Nision document( a *rst outline to the use-case model and the Re)uirements Attri"utes' -n De*ning the System you $ill focus on identifying actors and use cases more completely( and e=pand the glo"al non- functional re)uirements as de*ned in the Supplementary Speci*cations' -f you have developed a "usiness use-case model and "usiness o"+ect model( see also ,uidelines# ,oing from Business Models to Systems for more guidance' !ypically( this is primarily performed in iterations during the inception and ela"oration phases( ho$ever it may "e revisited as needed $hen managing scope and responding to changing re)uirements( as $ell as other changing conditions' )ow to ,ta Top Top All mem"ers of the pro+ect team should participate' "or# %uidelines Top Top !he follo$ing are sample techni)ues that can "e applied# Re)uirements Ior0shop ;se-Case Ior0shop Story"oarding "or#low Detail: Manage the ,cope o the ,yste! Topics Purpose Lo$ to Sta7 Ior0 ,uidelines Purpose !he purpose of this $or08o$ detail is to# Prioritie and re*ne input to the selection of features and re)uirements that are to "e included in the current iteration' De*ne the set of use cases %or scenarios& that represent some signi*cant( central functionality' De*ne $hich re)uirement attri"utes and tracea"ilities to maintain' !he scope of a pro+ect is de*ned "y the set of re)uirements allocated to it' Managing pro+ect scope to *t the availa"le resources %time( people( and money& is 0ey to managing successful pro+ects' Managing scope is a continuous activity that re)uires iterative or incremental development( $hich "rea0s pro+ect scope into smaller more managea"le pieces' ;sing re)uirement attri"utes( such as priority( e7ort( and ris0( as the "asis for negotiating the inclusion of a re)uirement is a particularly useful techni)ue for managing scope' <ocusing on the attri"utes rather than the re)uirements themselves helps desensitie negotiations that are other$ise contentious' -t is also helpful for team leaders to "e trained in negotiation s0ills and for the pro+ect to have a champion in the organiation( as $ell as on the customer side' Product2pro+ect champions should have the organiational po$er to refuse scope changes "eyond the availa"le resources or to e=pand resources to accommodate additional scope' Pro+ect scope should "e managed continuously throughout the pro+ect' A "etter understanding of system functionality is o"tained from identifying most actors and use cases' .on-functional re)uirements( $hich do not *t in the use-case model( should "e documented in the Supplementary Speci*cations' !he system analyst should determine values of priority( e7ort( cost( ris0 values etc'( from the appropriate sta0eholders( to collect in the repository of re)uirements attri"utes' !hese $ill "e used "y the Pro+ect Manager in planning the iterations and ena"les the soft$are architect to identify the architecturally signi*cant use cases( de*ning the use-case vie$ of the architecture in the Soft$are Architecture Document' )ow to ,ta Top Top !he people involved in this $or08o$ detail should all "e mem"ers of the architecture team' "or# %uidelines Top Top !he architecture team $ill lead a session to discuss ho$ to "est prioritie the re)uirements' Topics Purpose Lo$ to Sta7 Ior0 ,uidelines Re*uire!ents: Activity Overview Re*uire!ents: Artiact Overview !he roles and the artifacts developed in the Re)uirements discipline' Re*uire!ents: %uidelines Overview ;se Case Activity Diagram in the ;se-Case Model Actor ;se-Case Model Actor-,eneraliation Communicate-Association 1=tend-Relationship -nclude-Relationship ;se-Case-,eneraliation ;se-Case Diagram Re)uirements Management Plan ;se-Case Pac0age Soft$are Architecture Document Soft$are Re)uirements Speci*cation Boundary Class ;se-Case Story"oard ;ser -nterface %,eneral&