Business Processes and Requirements plus an overview of
Business Processes and Requirements plus an overview of some BU research in the area Professor Keith Phalp http://dec.bournemouth.ac.uk/staff/kphalp/ The BPR unit rationale Customers want systems to support their business processes. (We can argue about the b word). Developers build systems for clients Oh dear. The system doesnt seem to meet the clients needs. (It must be someones fault next slide).
This is a requirements problem, and very common. One reason is that the developers didnt understand the problem: or what they wanted or needed. Thats where the business process modelling comes in, and some other assorted ideas. Another problem is that they didn't really consider requirements (so we will review what requirements should be). Finally we consider how best to get the process knowledge to inform the specification, that is how to map from process model to specification. Will also justify why we need to spend the effort; why requirements matters. Software Systems Research Centre
PORE Who is at fault? Software Systems Research Centre PORE How bad is it? Chaos reports: 75% of projects failed or failed to deliver key functions. Why? Poor / no requirements engineering. 2004 JobServe report: only 16% of UK software projects are successful. Why? Poor / no analysis (requirements) skills. Robert Glass: Software Runaways: all attributed to requirements issues. Famous UK versions? And even if you get it right they want changes when the project is delivered! Software Systems Research Centre PORE
Size Really Does Matter Importance of getting the foundations right? All taken from: Bray, I An introduction to Requirements Engineering Software Systems Research Centre PORE What do I know My experiences.
Software Process modelling (91...) Business Process Modelling (94...) Consultancy, UK & Europe (plus short courses) Methods used more widely Process Oriented Requirements Engineering (taught here since 97 in various forms..) - many gone on to use in practice. Use case guidelines (2000 onwards...) Strategy and Process Oriented Requirements Methods, widely published from around 2005 onwards (BSCP 2006). Much of this part of the units covers methods that I have used directly (such as RADs), invented or co-authored (BSCP, mappings to use cases), and which has been used across many industries. Supervision of PhD which embedded requirement with MDA. Software Systems Research Centre PORE Impact Process approaches (BSCP) Enterprise Analysts Pty Ltd
Promise Point: boutique management, Japan NICTA Ltd Consultants NTT Data (largest SI in Japan), use of tool (based on method): estimated to save potentially Y10Ms of rework costs on one project alone NRI (2nd largest SI in Japan) Commonwealth Bank Australia Centrelink (Australian Benefits Agency): IT refresh across whole country delivered real business benefits, saving potentially $Ms in rework NICTA (new management system) -> saved over $150K (on initially budgeted
$250K project) Prickie.com (saved $100Ks for company directors) Use case guidelines various papers 2000-2012 Used in practice and taught to business analysts at major Bank Share traders to support IT Dept expansion when acquired by American Express Software Systems Research Centre PORE Some past projects
Process models (Role Activity Diagrams) are used to model the problem domain (and thus to inform requirements). Enactable process models to prototype behaviour. Guidelines for writing use case descriptions (specifications). To improve comprehension, and therefore ensure that all understand what to build. Augmented use cases to make dependencies among events clear. Enactable use cases to improve validation of specification. In-house tool supports guidelines and allows enactable use cases too. Process models mapped to (augmented) use case specification (EDUCATOR), such that process information can be represented and retained (REBNITA). Method to ensure that process models mapped to requirements, ensure that process knowledge not lost. Collaboration with NICTA- Australia) to align business strategy, context and process (B-SCP) with IT. VIDE project on extending accessible models to MDA tools MDA support and requirements with MDA MDA within automotive software engineering, automatic gearboxes. Software Systems Research Centre
PORE Role Activity Diagrams Mail Room Clerk System Open mail Enter Details Allocate reference number Create WIR For now, for brevity, we have omitted states from the diagram
No choice constructs shown here. Have included a System Role. Check agency ref Supervisor Clerk Send to Supervisor Credit checked Medical checked Check workload Despatch appropriate Response or documents Allocate work Enter details Software Systems Research Centre
PORE Role Activity Diagrams Original concepts in paper by Ould & Roberts (1986), book by Ould 1995 (a great read). Initially, promoted by Praxis & Coordination Systems (Roberts), and the DTI sponsored IOPTClub. Variants and extensions, e.g., PROCESS project (Southampton Uni, 94-97) produced families of models (mapping to CSP) and enactable models (RolEnact 98). Phalp, K.T., G.K. Abeysinghe, P. Henderson, and R.J. Walters, (1998), RolEnact: Enactable Models of Business Processes, Information and Software Technology, vol. 40, num 3. Recent resurgence of interest, with popular books by Keith Harrison Broninski and Martin Ould (both BCS). Still supported by many, e.g., see Venice Consulting (Martin Oulds site), for much of interest at: www.veniceconsulting.co.uk Software Systems Research Centre
PORE Software View This is against the purist approach, and a rather simplified (teaching) example. We (as software engineers) move towards specification. Need to ensure that we capture the system boundary (as with say a Yourdon Context Diagram). Need to ensure that, in moving to spec, we show cross boundary (problem to machine interactions). With a system RAD (usually will have different sub-system names) the interaction is between the roles (which will be actors) and the system role. This will correspond to use case communications or associations. Software Systems Research Centre System Enter
Details Allocate reference number Create WIR Check agency ref Send to Supervisor PORE A simplified use case System Enter details Mail Room Clerk
Work allocation Practical Supervisor Software Systems Research Centre Hence, RAD acts as a way to consider the problem domain (inform requirements). RAD (with system roles) allows one to discover or discuss the system boundary. Acts as a link between business view (intentions for system) and IT. Acts as a checklist for the specification. Gives a first cut list for the use case diagram communications. Of course the meat of the use case is in the description, which brings further considerations PORE Two sporting use
cases 1. The match reached fulltime 2. The referee blew his/her whistle 3. The ball crossed the goal-line 4. The goal was not given Alternatives 1. The goal was given 1. The match reached fulltime 2. The referee blew his/her whistle 3. The ball crossed the goal-line 4. The goal was given Alternatives 1. The goal was not given Someone who knows the the game. Software Systems Research Centre PORE Previous incarnation Software Systems Research Centre
PORE CP Style Rules Style 3 (contd.) The patient stands next to the doctor. He puts the prescription in his pocket. Who is he? Whose pocket is his? Write proper nouns / names instead: The doctor puts the prescription in the patients pocket. The GP puts the prescription in the customers pocket. This sentence is at fault because it uses synonyms (GP for doctor and customer for patient). Only use the agreed language of the domain since a synonym does not convey the same meaning. Software Systems Research Centre PORE Parallel: Standard RAD view Suppose our event is now Make smoothie, which requires that when we have fruit. We actually have both apples and oranges. For a use case we would be required to
choose that the gaining of apples and oranges occurs in some arbitrary sequence. That is: 1 Fruit Finder get apples 2 Fruit Finder get oranges get apples Get oranges has apples has oranges Check for both have both However, in reality one might gather these fruits independently and in any, often unknown order. Make smoothie Also within the Use Case description the dependencies are unclear Software Systems Research Centre
PORE Considering dependencies 1. 2. 3. 4. 5. 6. Client requests connection via Schedule Scheduler acknowledges connection Client sends network layout Scheduler creates network handler Scheduler registers network handler Client starts executing its tasks Software Systems Research Centre PORE Simple (single UC) Enaction Software Systems Research Centre
PORE An Enaction Events re-ordered. New order is in effect: 1, 3, 4, 5, 2, 6 Of course, states not written order really control invocation of events. Software Systems Research Centre PORE Three Notations Role1 before1 Role2 before2 interaction after1
Actor Keith after2 Event gives pen Software Systems Research Centre Interaction Role1.Interaction Me(before1 after1) Role2(before2 after2) End Interaction Keith.gives_pen Me (has_pen -> no_pen) Karl (no_pen -> has_pen) End pre post Actor 2 pre post has pen no pen Karl no pen has pen
PORE Some Future Directions Requirements within a Model Driven (MDA) framework. BU ran MDABIZ (TOOLS) in Zurich Recent PhD completion. Model driven in automotive software engineering an d model merging issues. Continuation of mapping themes (PM to Spec). Further work on Spec to Design (and tool support) Continuation of strategic level work (and collaboration). Examination of comprehension in requirements (a thorough study to challenge the assumption that things should be easy to understand). Supporting real industrial projects to ensure that business needs are met by software. Software Systems Research Centre PORE
In essence, he argues that a literal and historical interpretation of the intent requirement is not conclusive, but that from a teleological perspective it makes no difference whether one acts with a special intent or only dolus eventualis with regard...
UMBC CMSC 331 Java. JAVAMETHODS and CONSTRUCTORS. JAVA Classes. The . class. is the fundamental concept in JAVA (and other OOPLs) A class describes some data object(s), and the operations (or methods) that can be applied to those objects.
Cells on the fibers with diameter less than 1 micron, had focal adhesion points uniformly distributed along the cell body. On the control substrates focal adhesion points were concentrated along the cell periphery and nucleus. Fiber alignment increase cell proliferation...
Customer Service & AIDET. Example of using AIDET: You are a host/hostess taking a patient's (Ms. Kaczmarek) dinner tray into her room…. A. cknowledge-- "Good evening!" I. ntroduce-- "I'm Brittany, your hostess this evening." D. uration-- "I'm sorry to disturb...
Chapter 7 The Normal Probability Distribution 7.2 The Standard Normal Distribution Chapter 7 The Normal Probability Distribution 7.1 Properties of the Normal Distribution Chapter 7 The Normal Probability Distribution 7.2 The Standard Normal Distribution Find the Z-scores that separate the...
Why OK? Separate statutory authorization, plus presumably less problematic because not money (or intangibles) and not real estate. Integration & Incorporation Lists of Personal Property: Moor (W197-99) Upholds (under both FL & Delaware Law) odd provision requiring executor to sell...
Ready to download the document? Go ahead and hit continue!