Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 92 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
92
Dung lượng
3,07 MB
Nội dung
Queensland University of Technology Faculty of Science and Technology IT28 Bachelor of Information Technology (Honors) Honors Thesis Cost-Aware Workflow Systems: Support for Cost Mining and Cost Reporting Wei Zhe Low (Keith) Principal Supervisor: Dr Moe Thandar Wynn Reviewer: Prof Arthur ter Hofstede Reviewer: Prof Colin Fidge Queensland University of Technology, November 2011 Abstract Cost-aware Workflow Systems: Support for Cost Mining and Cost Reporting Organizations nowadays face stronger and more aggressive competition Not only they need to operate seamlessly, a low operational cost must also be ensured to maintain their competitive advantage The ability to monitor the overall cost of business operations closely and effectively, and then make necessary changes to their operations quickly, is highly desirable for any organization In order to this, organizations enable business automation by making use of workflow management systems (WFMS) Process mining is used to mine the data models generated by a WFMS to gain insight into business processes Management accounting techniques are used to capture business operation costs that will be used to generate reports internal to the organization, where it can facilitate managers to make informed business decisions However, there is a lack of integration between WFMSs and management accounting, resulting in process mining not being able to support cost reporting for management accounting purposes This research aims to enable cost reporting by incorporating cost-related information into process mining This work improves upon the data model generated from the WFMS in accordance with literature review findings, and subsequently proposes an architecture to enable management accounting report generation via a process mining tool ProM This thesis presents a first implementation result by generating various types of management accounting cost reports The findings will enable process mining to be cost-aware, thus promoting more accurate and near real-time cost analytics of organizations i Acknowledgment First of all, I owe my deepest gratitude to my supervisor, Dr Moe Wynn for her patience, guidance and support throughout the course of this Honors research Her encouragement and unwavering faith greatly motivates me to my very best for this research I am also very grateful towards Dr Michael Adams, Dr Chun Ouyang, and Prof Arthur ter Hofstede who had supported me and my research in many ways Their valuable academic teachings and technical guidance were a big help for me to improve my work I would like to acknowledge Wiebe for his facilitation in the early stage of my research His guidance and support in establishing my research environment have proved very fruitful by saving a lot of time and energy I would also like to extend my gratitude towards my friends and colleagues within the BPM group Their support and companionship have made my moments within the BPM group more interesting and enjoyable It is my pleasure to thank the professors, lecturers, and counselors that helped me gain more knowledge about conducting research and writing a thesis Thanks to them, I have seen the other side of research-based academic, which is very different from what I used to experience back during college and university times I would also like to thank the members of the ProM forum for their help Their constructive comments and technical support have significantly sped up the progress of my research Last but not least, I would like to thank my family for their love and support Their willingness to spend a huge amount of money without a second thought to ensure that I receive the best possible education abroad has, and always will, touch my heart I also greatly appreciate my friends, both in Brisbane and back in Malaysia, who were very understanding and continuously provided encouragement during the period of my research I offer my regards and blessings to all of those that I forgot to mention, who supported me in any respect during the completion of the project This thesis would not have been possible if not for the support of a wonderful group of people I sincerely appreciate all the assistance and experience that I have gained this year Wei Zhe Low (Keith) November 2011 iii Contents Abstract i Acknowledgment iii Contents v List of Figures vii List of Tables ix Introduction 1.1 Research Problem 1.2 Research Objectives 1.3 Research Scope 1.4 Research Approach 1.5 Significance of Study 1.6 Limitations of Study 1.7 Research Outcomes 1.8 Thesis Outline Literature Review 2.1 Business Process Management 2.1.1 BPM Lifecycle 2.1.2 Process Modeling Languages 2.1.3 Workflow Analysis 2.1.4 Workflow Patterns 2.1.5 Modeling Tools 2.2 Management Accounting 2.2.1 Costing Levels Continuum Maturity Model 2.2.2 Management Accounting Techniques 2.2.3 Reporting Requirements 2.3 Process Mining 2.3.1 Event Log 2.3.2 Process Mining Tool 2.3.3 Cost-Annotated Event Log 2.4 Conclusion v 4 7 10 10 11 12 14 14 15 16 17 17 20 21 21 21 22 Solution Approach 3.1 Resource Cost Conceptualization 3.2 Cost Reporting Format 3.3 Functional Requirements 3.4 Technical Requirements 3.5 Cost Reporting Architecture in ProM 24 24 34 37 38 39 41 41 43 45 50 50 51 52 54 55 Conclusion 5.1 Deliverables 5.2 Future Work 57 58 59 Bibliography 61 A Cost-Annotated Event Log 65 B Data Model Schema B.1 Organizational Model Schema B.2 Cost Model Schema 66 66 70 C XSLT Report Template 74 Solution Implementation 4.1 Test Case Example 4.2 Cost Report Creation 4.3 Graphical Cost Reports 4.4 Tabular Report Output 4.4.1 Pilot Work 4.4.2 Customized Resource Cost Report 4.4.3 Filtered Resource Cost Report 4.4.4 Resource Idle Capacity Cost Report 4.5 Future Enhancements vi List of Figures 1.1 General cost mining architecture (adapted from Nauta’s thesis [14]) 2.1 2.2 2.3 2.4 The four phases of the BPM lifecycle [4] IFAC Costing Continuum’s Levels of Maturity [11] The allocation of resource costs to activities [23] An example of an ABC cost report where activity costs are assigned to individual products [23] An example of a TDABC cost report that calculates the cost based on the time consumed to perform an activity [12] Original costs that were committed by the organization [23] Cost of the activities that were utilized [23] An example of a RCA idle resource cost report calculated based on the committed cost and the allocated (utilized) cost [23] 11 16 18 19 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 Object-Role Modeling of resource cost elements The relationship between different organizational entities [22] An example of how resource class types are used in the cost model An example of how resource unit cost rates are used in the cost model An example of how resource capacities are used in the cost model The schema based on the organizational model from YAWL [22] An example of resource cost driver with multiple resource costs Schema of a resource cost driver An example of the most commonly used graphical report outputs An example of management accounting tabular cost report [40] An example of resource consumption cost report An example of resource idle capacity cost report Detailed cost mining and cost reporting architecture 26 27 28 29 31 32 34 34 35 36 36 36 40 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 A BPMN diagram of a phone repair process The resource perspective of the telephone repair company ProM plug-ins’ input and output screen An example of how graphical cost reports are displayed in ProM Resource cost report in a 2D pie chart Resource cost report in a 3D pie chart Resource cost report in a 2D bar chart Resource cost report in a 3D bar chart Resource cost report in a waterfall chart Resource cost report per trace in a multiple bar chart A tabular resource cost report A tabular resource cost per trace cost report 42 43 45 46 47 47 48 48 49 49 51 51 2.5 2.6 2.7 2.8 vii 18 18 19 19 4.13 4.14 4.15 4.16 An example screenshot of a customized resource cost report The intermediate screen in ProM for parameter definition Example screenshots of filtered resource cost report An example screenshot of a resource cost report where no filter parameter was specified 4.17 An example screenshot of an idle resource capacity cost report viii 52 53 54 54 55 [45] M.T Wynn, H.M.W Verbeek, W.M.P van der Aalst, A.H.M ter Hofstede, and D Edmond Business process verification - finally a reality! Business Process Management Journal, 15(1):74–92, 2009 64 Appendix A Cost-Annotated Event Log < f l o a t key=” c o s t : t y p e : A n a l y s i s Complexity ” v a l u e=” ”> < f l o a t key=” b0fac208 −2c f −4f e −baec−d0180aa21df2 ” v a l u e=” 0 0 0 0 0 0 0 ”/> < f l o a t key=”0 a959610 −047e −414c−b245−0f d c b e ” v a l u e=” ”/> < f l o a t key=” c o s t : t y p e : F a c i l i t i e s ” v a l u e=” ”> < f l o a t key=” d f e e −686c −48 e f −a7ac−dcb053408245 ” v a l u e=” ”/> < f l o a t key=” c o s t : t y p e : W a g e s T e s t e r ” v a l u e=” ”> < f l o a t key=”7 f769a2d −4729−4 c f f −988e −95 a a f ” v a l u e=” ”/> Listing A.1: An example of an event in an event log that is annotated with cost [14] 65 Appendix B Data Model Schema B.1 Organizational Model Schema 66 < x s : a t t r i b u t e name=” i d ” use=” r e q u i r e d ”/> < x s : a t t r i b u t e name=” i d ” use=” r e q u i r e d ”/> 67 < x s : a t t r i b u t e name=” i d ” use=” r e q u i r e d ”/> < x s : a t t r i b u t e name=” i d ” use=” r e q u i r e d ”/> < x s : a t t r i b u t e name=” i d ” use=” r e q u i r e d ”/> 68 < x s : a t t r i b u t e name=” i d ”/> < x s : a t t r i b u t e name=” i d ”/> 69 < x s : a t t r i b u t e name=” i d ”/> < x s : r e s t r i c t i o n base=” x s : s t r i n g ”> Listing B.1: The XML schema based on the organizational model from YAWL [22] B.2 Cost Model Schema 70 < x s : a t t r i b u t e name=” type ” use=” r e q u i r e d ”> < x s : r e s t r i c t i o n base=” x s : s t r i n g ”> < x s : a t t r i b u t e name=” i d ” type=” x s : I D ”/> < x s : a t t r i b u t e name=” type ” use=” r e q u i r e d ”> < x s : r e s t r i c t i o n base=” x s : s t r i n g ”> < x s : a t t r i b u t e name=”name” type=” x s : s t r i n g ” use=” r e q u i r e d ”/ > 71 < x s : a t t r i b u t e name=” i d ” type=” x s : I D ”/> < x s : a t t r i b u t e name=” i d ” type=” x s : I D ”/> < x s : a t t r i b u t e name=” type ” use=” r e q u i r e d ”> < x s : r e s t r i c t i o n base=” x s : s t r i n g ”> < x s : a t t r i b u t e name=”name” type=” x s : s t r i n g ” use=” r e q u i r e d ”/> < x s : a t t r i b u t e name=” v a l u e ” type=” x s : s t r i n g ”/> 72 < x s : r e s t r i c t i o n base=” x s : s t r i n g ”> < x s : r e s t r i c t i o n base=” x s : s t r i n g ”> Listing B.2: The XML schema of cost model (resource cost driver) [22] 73 Appendix C XSLT Report Template < x s l : s t y l e s h e e t version=” ” x m l n s : x s l=” h t t p : //www w3 o rg /1999/ XSL/ Transform ” x m l n s : x s=” h t t p : //www w3 o rg /2001/XMLSchema” x m l n s : f n=” h t t p : //www w3 o r g /2005/ xpath−f u n c t i o n s ”> < x s l : v a r i a b l e name=”GroupID”> < x s l : v a r i a b l e name=” DeptLowerCase ”> < x s l : f o r −each s e l e c t=” CostEnrichedLog / o r g d a t a / o r g g r o u p s / orggroup ”> < x s l : v a r i a b l e name=”GroupNameLowerCase”> < x s l : i f t e s t=”$GroupNameLowerCase = $ DeptLowerCase ”> < x s l : v a r i a b l e name=” P o s i t i o n I D ”> < x s l : f o r −each s e l e c t=” CostEnrichedLog / o r g d a t a / p o s i t i o n s / p o s i t i o n ”> < x s l : i f t e s t=” o r g g r o u p i d = $GroupID”> < x s l : v a r i a b l e name=” ParticipantName ”> < x s l : f o r −each s e l e c t=” CostEnrichedLog / o r g d a t a / 74 p a r t i c i p a n t s / p a r t i c i p a n t ”> < x s l : f o r −each s e l e c t=” CostEnrichedLog / o r g d a t a / p a r t i c i p a n t s / p a r t i c i p a n t ”> < x s l : i f t e s t=” p o s i t i o n s / p o s i t i o n = $ P o s i t i o n I D /accum”> Repair Company Department Cost Resource Total Cost Task Count Avg Cost p e r Task < x s l : f o r −each s e l e c t=” CostEnrichedLog / l o g ”> < x s l : c a l l −t e m p l a t e name=” t e s t ”> 1 0 0 0 This r e p o r t i s g e n e r a t e d from th e e v e n t l o g , c o s t model , and o r g a n i s a t i o n a l model t h a t i s a s s o c i a t e d with t he e v e n t 75 l o g : < x s l : f o r −each s e l e c t=” CostEnrichedLog / l o g / s t r i n g ”> < x s l : i f t e s t=”@key = ’ concept:name ’ ”> Start Date: < x s l : v a r i a b l e name=” s t a r t D a t e ”> < x s l : f o r −each s e l e c t=” CostEnrichedLog / l o g / t r a c e / e v e n t / date ”> < x s l : s o r t s e l e c t=” @value ” o r d e r=” a s c e n d i n g ” /> < x s l : i f t e s t=” p o s i t i o n ( ) =1”> End D a t e : < x s l : v a r i a b l e name=” endDate ”> < x s l : f o r −each s e l e c t=” CostEnrichedLog / l o g / t r a c e / e v e n t / date ”> < x s l : s o r t s e l e c t=” @value ” o r d e r=” d e s c e n d i n g ” /> < x s l : i f t e s t=” p o s i t i o n ( ) =1”> < x s l : v a r i a b l e name=” R e s o u r c e T o t a l ”> < x s l : f o r −each s e l e c t=” t r a c e / e v e n t ”> < x s l : i f t e s t=” s t r i n g /@key = ’ o r g : r e s o u r c e ’ and s t r i n g / @value = $ resourcename ”> 76 < x s l : v a r i a b l e name=” TaskCount ”> < x s l : f o r −each s e l e c t=” t r a c e / e v e n t ”> < x s l : i f t e s t=” s t r i n g /@key = ’ o r g : r e s o u r c e ’ and s t r i n g / @value = $ resourcename ”> < x s l : i f t e s t=” s t r i n g /@key = ’ l i f e c y c l e : t r a n s i t i o n ’ and s t r i n g / @value = ’ complete ’ ”> < x s l : i f t e s t=”$ i &l t ;= $ count ”> AUD AUD < x s l : i f t e s t=”$ i &l t ;= $ count ”> < x s l : c a l l −t e m p l a t e name=” t e s t ”> 77 < x s l : i f t e s t=”$ i = $ count ”> Total : AUD AUD Listing C.1: An example of XSLT report template, where it is designed to filter the cost report by department name 78